/* Speaking programme component theme. ELP styles are unaffected. */
.speaking-programme{--navy:#6f2c13;--navy2:#8e391b;--ink:#302820;--gold:#c44b19;--gold2:#f5a765;--paper:#fbf6ef;--muted:#70665d;--line:#eaded0;--green:#b44215;background:var(--paper);line-height:1.6}
.speaking-programme .app-shell{grid-template-columns:270px minmax(0,1fr)}
.speaking-programme .sidebar{background:linear-gradient(170deg,#7c3014,#452718);padding:24px 18px;overflow:auto}
.speaking-programme .brand{display:block;text-align:center;padding-bottom:18px}.speaking-programme .brand img{width:210px;max-width:100%;background:#fff;border-radius:12px;padding:7px}.speaking-programme .brand span{display:block;margin-top:12px;font-size:10px;color:#ffe0c4;letter-spacing:.1em}
.speaking-programme .nav-link{font-size:13px;min-height:48px;align-items:center}.speaking-programme .nav-link small{display:block;color:#f3cead}.speaking-programme .nav-link.active{background:#ac4b25;box-shadow:inset 3px 0 #ffd2a7}.programme-switch{color:#ffe0c4;padding:16px 10px;font-size:12px;text-decoration:none;margin-top:18px}.speaking-programme .sidebar blockquote{font-size:17px;color:#ffe4ce;margin-top:20px}
.speaking-programme .topbar{height:auto;min-height:80px;gap:12px;padding:14px 28px}.speaking-programme .programme-pill{display:flex;flex-direction:column;color:var(--ink)}.programme-pill strong{letter-spacing:.08em;text-transform:uppercase;font-size:12px}.programme-pill span{font-size:11px;margin-top:5px;color:var(--muted)}
.speaking-programme .hero,.speaking-programme .page-hero{background:linear-gradient(115deg,#9c3b17,#753016);color:#fff}.speaking-programme .hero{display:block;min-height:300px}.speaking-programme .hero-copy{padding:40px;max-width:820px}.speaking-programme .hero h1{font-size:52px;line-height:1.08}.speaking-programme .hero p,.speaking-programme .page-hero p{color:#ffe5d0}.speaking-programme .btn-gold{background:#ffe0b8;color:#58230f}.speaking-programme .btn-primary{background:#a43e18;color:white}.speaking-programme .eyebrow{color:#ffe1c6}.speaking-programme .eyebrow.dark{color:#9c3915}.speaking-programme .page-hero h1{font-size:40px;line-height:1.12}.speaking-programme .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-programme .module-card{min-height:170px}.speaking-programme .module-card.complete{border-color:#b44215;background:#fff8ee}.speaking-programme .dashboard-grid{grid-template-columns:minmax(0,1fr) 260px}.speaking-programme .progress-ring{background:conic-gradient(var(--green) var(--progress,0deg),#efe1d3 0deg)}
.speaking-programme .week-layout{grid-template-columns:minmax(0,1fr) 280px}.speaking-programme .week-side{position:sticky;top:100px;align-self:start}.speaking-programme .card{padding:24px}.speaking-programme .card h2{margin-top:0;font-family:'Playfair Display',serif;font-size:26px}.speaking-programme .card h3{margin-top:0}.speaking-programme .card p{margin:8px 0 14px}.speaking-programme .week-main{gap:20px}.speaking-programme .flow{grid-template-columns:repeat(3,1fr)}.speaking-programme .flow div{padding:16px}.study-ribbon{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.study-ribbon a{background:#fff3e3;color:#7c3014;border:1px solid #ead5bd;border-radius:999px;padding:9px 16px;text-decoration:none;font-size:13px;font-weight:700}
.study-lesson{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.study-lesson summary{cursor:pointer;font-weight:700;line-height:1.5;list-style-position:outside;margin-left:18px}.study-lesson summary small{font-weight:400;color:var(--muted)}.lesson-body{padding:12px 0}.worked-example{background:#fff3e4;border-left:3px solid #bf4b1c;border-radius:8px;padding:16px;margin:14px 0}.worked-example strong{display:block;color:#873213}.practice-prompt{font-weight:600;color:#6f2c13}.speaking-programme label.field{display:block;font-weight:600;margin:16px 0}.speaking-programme textarea,.speaking-programme input[type=text],.speaking-programme input[type=date],.speaking-programme input[type=url],.speaking-programme select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d7c7b6;border-radius:10px;background:#fff;color:var(--ink);font-weight:400}.speaking-programme textarea{min-height:105px;resize:vertical}.speaking-programme input[type=checkbox]{accent-color:#a43e18;width:18px;height:18px;flex-shrink:0}.speaking-programme .check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px}.speaking-programme .check input{margin-top:4px}.practice-days{display:grid;gap:10px}.practice-day{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffcf7}.practice-day p{font-size:14px}.week-footer{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:24px}.muted{color:var(--muted);font-size:13px}.speaking-status{padding:9px 28px;background:#fff8ee;color:#744129;font-size:12px;border-bottom:1px solid var(--line)}.speaking-status.error{background:#fff0ee;color:#9b3022}.speaking-programme button:disabled,.speaking-programme textarea:disabled{opacity:.6;cursor:not-allowed}.speaking-programme :focus-visible{outline:3px solid #d76832;outline-offset:3px}.rating-grid{display:grid;gap:14px}.rating-row{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}.rating-row select{margin:0}.rating-row small{display:block;font-weight:400;color:var(--muted)}.comparison{width:100%;border-collapse:collapse}.comparison td,.comparison th{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.table-scroll{overflow:auto}.timer-display{font-size:44px;font-weight:700;display:block;margin:10px 0}.timer-controls{display:flex;gap:8px;flex-wrap:wrap}.timer-controls button{padding:9px 12px}.skip-link{position:fixed;left:12px;top:-80px;z-index:999999;background:#fff;padding:10px;color:#6f2c13}.skip-link:focus{top:12px}.speaking-programme .wrv-auth-visual{background:radial-gradient(circle at 28% 28%,#e98b4c,transparent 45%),linear-gradient(150deg,#b95123,#542413)}.speaking-programme .wrv-auth-visual:after{background:#72351d}.speaking-programme .wrv-auth-submit,.speaking-programme .wrv-role-toggle button.active{background:#a43e18}.speaking-programme .wrv-client-mode button.active,.speaking-programme .wrv-auth-link{color:#9c3b17}.speaking-programme .wrv-auth-panel{background:#fbf3e7}.speaking-programme .wrv-auth-copy .kicker{color:#ffe0b8}.speaking-programme .wrv-sync-chip{margin:0;background:#fff0dd;color:#773312}.speaking-programme .wrv-auth-copy p{color:#ffe7d4}.speaking-programme .wrv-auth-copy h1{font-size:58px}.coach-readout{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#fff8ee;border-radius:10px;min-height:50px}.admin-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.admin-controls select{width:auto;max-width:100%}
@media(max-width:1150px){.speaking-programme .week-layout,.speaking-programme .dashboard-grid{grid-template-columns:1fr}.speaking-programme .week-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-programme .topbar{padding:12px 20px;flex-wrap:wrap}.speaking-programme .programme-pill strong{letter-spacing:.02em}}
@media(max-width:780px){.speaking-programme .app-shell{grid-template-columns:1fr}.speaking-programme .sidebar{position:fixed;left:-280px;width:270px;z-index:95}.speaking-programme .sidebar.open{left:0}.speaking-programme .view{padding:16px}.speaking-programme .hero-copy{padding:28px}.speaking-programme .hero h1,.speaking-programme .page-hero h1{font-size:34px}.speaking-programme .hero{min-height:0}.speaking-programme .module-grid,.speaking-programme .flow,.speaking-programme .week-side{grid-template-columns:1fr}.speaking-programme .card{padding:20px}.speaking-programme .programme-pill{display:none}.speaking-programme .user-chip{flex-wrap:wrap;font-size:12px}.rating-row{grid-template-columns:1fr}.speaking-programme .page-hero{padding:25px}.speaking-status{padding:9px 16px}.speaking-programme .menu-btn{margin-left:auto}.comparison td,.comparison th{padding:9px}}

.facilitator-tab.active{background:#a43e18;color:#fff}.facilitator-weeks{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.facilitator-view[hidden],[data-course-panel][hidden]{display:none!important}

.speaking-video-card{margin-bottom:20px}.speaking-video-card video{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:#271b15;border-radius:12px;margin:16px 0}
