:root{
  --bg:#090b0e;
  --panel:#111419;
  --panel2:#171a20;
  --ink:#f4f5f6;
  --muted:#a7adb6;
  --line:#2a3038;
  --maroon:#7b1734;
  --maroon2:#991d42;
  --maroon-dark:#4e0d20;
  --paper:#f3f1ed;
  --paper2:#e8e5df;
  --admin-ink:#17191d;
  --green:#2f8f61;
  --red:#b84646;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#050608;color:var(--ink);font-family:"Segoe UI",Arial,Tahoma,sans-serif;overflow:hidden}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
.app-shell{width:100vw;height:100vh;background:var(--bg);position:relative}
.screen{position:absolute;inset:0;display:none}
.screen.active{display:flex}

/* shared */
.school-logo{width:100%;height:100%;object-fit:contain}
.lang-switch{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.lang-switch>span{opacity:.35}
.lang-option{border:0;background:transparent;color:#878e98;padding:5px 3px;font-weight:800}
.lang-option.active{color:#fff;border-bottom:2px solid var(--maroon2)}
html[dir="rtl"] .lang-switch{direction:ltr}
.primary-btn,.secondary-btn,.outline-btn,.text-btn,.mini-btn,.file-btn{border:0;transition:.18s ease}
.primary-btn{background:var(--maroon);color:#fff;padding:15px 22px;font-weight:800;letter-spacing:.015em;display:inline-flex;align-items:center;gap:11px}
.primary-btn:hover{background:var(--maroon2);transform:translateY(-1px)}
.primary-btn.compact{padding:11px 16px;font-size:13px}
.secondary-btn{background:transparent;color:#fff;border:1px solid #464c55;padding:14px 20px;font-weight:700}
.secondary-btn:hover{border-color:#7d8490;background:#15181d}
.text-btn{background:transparent;color:#d4d7dc;padding:8px 0;font-weight:700;border-bottom:1px solid transparent}
.text-btn:hover{border-bottom-color:#767d87}
.text-btn.light{color:#353941}.text-btn.danger{color:#9a2d42}
.outline-btn{background:transparent;color:#292d34;border:1px solid #a7a29a;padding:10px 14px;font-weight:700}
.outline-btn:hover{background:#fff;border-color:#746f68}
.play-mark{font-size:12px}

/* home */
.start-screen{padding:40px 52px 32px;flex-direction:column;background:linear-gradient(115deg,#0b0d10 0%,#0b0d10 57%,#13161b 100%)}
.start-screen:after{content:"";position:absolute;right:-17vw;top:-38vh;width:52vw;height:145vh;border-left:1px solid rgba(255,255,255,.055);transform:rotate(18deg);pointer-events:none}
.topline{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;gap:24px}
.brand-lockup,.station-mark{display:flex;align-items:center;gap:14px}.logo-wrap{width:62px;height:62px;background:#fff;display:grid;place-items:center;padding:5px}
.eyebrow{font-size:15px;font-weight:850;letter-spacing:.095em}.brand-ar{font-family:Tahoma,Arial,sans-serif;font-size:13px;color:#b9bec6;margin-top:5px}
.start-actions{display:flex;align-items:center;gap:22px}.date-chip{font-size:12px;color:#c1c6cd;letter-spacing:.08em;border-top:1px solid #4c5158;padding-top:8px;min-width:180px;text-align:right}
.hero{flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:7vw;align-items:center;position:relative;z-index:1}
.hero-copy{max-width:760px}.section-kicker,.admin-kicker{font-size:12px;font-weight:850;letter-spacing:.16em;color:#d5a4b2}
.hero h1{font-size:clamp(48px,6.4vw,96px);line-height:.96;letter-spacing:-.045em;margin:16px 0 22px;max-width:820px}
.hero p{font-size:18px;line-height:1.65;color:#aeb4bd;max-width:690px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;align-items:center}.hint{font-size:12px;color:#777f89;margin-top:16px}
.program-card{border-top:4px solid var(--maroon);background:#111419;padding:22px 24px 8px;box-shadow:0 22px 70px rgba(0,0,0,.25)}
.program-heading{font-size:11px;font-weight:850;letter-spacing:.15em;color:#aeb4bd;padding-bottom:14px;border-bottom:1px solid #2d3239}.program-card ol{list-style:none;margin:0;padding:0}.program-card li{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid #262b32;padding:16px 0}.program-card li span{color:#7d8490;font-size:12px;font-weight:800}.program-card li strong{font-size:14px}.program-card li small{font-size:11px;color:#818894;text-align:right;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maroon-rule{height:4px;background:linear-gradient(90deg,var(--maroon) 0 32%,#252a31 32% 100%);position:relative;z-index:2}

/* admin */
.admin-screen{background:var(--paper);color:var(--admin-ink);flex-direction:column;overflow:auto}
.admin-header{min-height:94px;background:#15181c;color:#fff;padding:18px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:8;border-bottom:4px solid var(--maroon)}
.admin-header h2{margin:5px 0 0;font-size:26px;letter-spacing:-.02em}.admin-header-actions{display:flex;align-items:center;gap:16px}.admin-header .lang-option.active{color:#fff}.admin-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:30px;padding:30px 34px 60px;max-width:1500px;width:100%;margin:0 auto}.admin-sidebar{display:flex;flex-direction:column;gap:16px}.admin-panel{background:#fff;border:1px solid #d8d4cc;padding:18px}.field-label{display:block;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px;color:#343840}.field-input{width:100%;border:1px solid #bbb6ae;background:#fff;padding:11px 12px;color:#16181b;outline:none;border-radius:0}.field-input:focus{border-color:var(--maroon);box-shadow:0 0 0 2px rgba(123,23,52,.09)}.textarea{resize:vertical;line-height:1.55}.field-help{font-size:12px;line-height:1.55;color:#666b72;margin:9px 0 0}.local-ai-panel{border-left:4px solid var(--maroon)}.status-line{display:flex;align-items:center;gap:9px;font-size:13px}.status-dot{width:9px;height:9px;background:#9a9da3;border-radius:50%;display:inline-block}.status-dot.ok{background:var(--green)}.status-dot.bad{background:var(--red)}
.segments-editor{min-width:0}.segments-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:2px 0 16px}.segments-toolbar h3{margin:5px 0 0;font-size:27px;letter-spacing:-.025em}.segments-toolbar .admin-kicker{color:#7b1734}.segment-editor-list{display:flex;flex-direction:column;gap:14px}.segment-editor-card{background:#fff;border:1px solid #d5d1c9}.segment-card-top{display:grid;grid-template-columns:52px 1fr auto;align-items:center;border-bottom:1px solid #dedad3;min-height:52px}.segment-number{height:100%;display:grid;place-items:center;background:#1d2025;color:#fff;font-size:12px;font-weight:850;letter-spacing:.08em}.segment-card-title{font-size:14px;font-weight:850;padding:0 15px}.segment-card-actions{display:flex;align-items:center;gap:5px;padding:7px}.mini-btn{min-width:34px;height:34px;background:#eeece8;color:#34373d;font-size:12px;font-weight:750;padding:0 10px}.mini-btn:hover{background:#e0ddd7}.mini-btn.remove{color:#99283f}.segment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}.segment-fields label{display:block;font-size:11px;font-weight:800;color:#5c6068;margin:0 0 7px}.segment-fields .wide{grid-column:1/-1}.video-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.file-btn{background:#25292f;color:#fff;padding:11px 14px;font-size:12px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center}.file-btn:hover{background:#3a3f47}.file-btn input{display:none}.caption-tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px}.caption-language{width:auto;min-width:140px}.ai-btn{background:var(--maroon);color:#fff;border:0;padding:10px 14px;font-size:12px;font-weight:850}.ai-btn:hover{background:var(--maroon2)}.caption-status{font-size:12px;color:#666c74}.caption-editor{min-height:150px;font-family:Consolas,"Courier New",monospace;font-size:12px;direction:ltr;text-align:left}.empty-segments{border:1px dashed #b9b4ab;padding:34px;color:#666;background:#f8f7f4;text-align:center}

/* countdown */
.countdown-screen{background:#080a0d;align-items:center;justify-content:center;flex-direction:column;text-align:center}.countdown-screen:before,.countdown-screen:after{content:"";position:absolute;left:0;right:0;height:1px;background:#232830}.countdown-screen:before{top:22%}.countdown-screen:after{bottom:22%}.broadcast-back{position:absolute;top:24px;left:28px;z-index:20;background:rgba(10,12,15,.7);border:1px solid #3f454d;color:#d7dbe0;padding:10px 13px;font-size:12px;font-weight:800;backdrop-filter:blur(5px)}.broadcast-back:hover{background:#191d23}.countdown-brand{display:flex;flex-direction:column;align-items:center;gap:16px;z-index:2}.school-logo.large{width:112px;height:112px;background:#fff;padding:7px}.countdown-school{font-size:13px;letter-spacing:.17em;font-weight:800;color:#c7ccd2}.countdown-number{font-size:clamp(120px,22vw,310px);font-weight:850;line-height:.8;letter-spacing:-.08em;margin:34px 0;color:#f5f5f5;z-index:2}.countdown-number.pulse{animation:countPulse .7s ease}.countdown-label{font-size:15px;letter-spacing:.25em;font-weight:850;color:#d5d9de;z-index:2}.countdown-line{width:170px;height:4px;background:var(--maroon);margin-top:18px;z-index:2}@keyframes countPulse{0%{opacity:.25;transform:scale(.91)}100%{opacity:1;transform:scale(1)}}

/* broadcast */
.broadcast-screen{background:#030405;align-items:center;justify-content:center}.broadcast-frame{width:100vw;height:100vh;display:grid;grid-template-rows:68px minmax(0,1fr) 46px 26px;background:#080a0d}.broadcast-header{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #22272e;background:#0d1014}.station-mark{gap:10px}.school-logo.tiny{width:40px;height:40px;background:#fff;padding:3px}.station-mark>div{display:flex;flex-direction:column}.station-mark strong{font-size:12px;letter-spacing:.09em}.station-mark span{font-size:9px;color:#8f969f;letter-spacing:.12em;margin-top:3px}.header-right{display:flex;align-items:center;gap:18px}.segment-label{font-size:11px;font-weight:850;letter-spacing:.12em;color:#d4d8dd}.onair{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:850;letter-spacing:.11em;background:#7b1734;padding:7px 10px}.onair i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12)}.video-stage{position:relative;overflow:hidden;background:#000}.video-stage video{width:100%;height:100%;object-fit:contain;background:#000;display:block}.video-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 20%,transparent 66%,rgba(0,0,0,.38))}.lower-third{position:absolute;left:44px;bottom:58px;display:flex;min-width:380px;max-width:65vw;transform:translateX(-125%);opacity:0;transition:.45s cubic-bezier(.2,.8,.2,1);box-shadow:0 12px 32px rgba(0,0,0,.24)}.lower-third.show{transform:translateX(0);opacity:1}.lower-accent{width:8px;background:var(--maroon)}.lower-copy{background:rgba(12,14,17,.94);padding:12px 19px 11px;border-top:1px solid rgba(255,255,255,.1);min-width:330px}.student-name{font-size:21px;font-weight:850;letter-spacing:.015em}.student-meta{font-size:10px;font-weight:800;letter-spacing:.12em;color:#bbc0c7;margin-top:5px}.caption-box{position:absolute;left:50%;bottom:34px;transform:translate(-50%,10px);background:rgba(0,0,0,.79);color:#fff;padding:9px 14px;font-size:clamp(16px,1.7vw,25px);font-weight:650;line-height:1.3;text-align:center;max-width:78%;opacity:0;transition:.15s ease;box-shadow:0 4px 18px rgba(0,0,0,.25);direction:auto}.caption-box.show{opacity:1;transform:translate(-50%,0)}.ticker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;background:#f2f2f1;color:#17191c;border-top:4px solid var(--maroon);overflow:hidden}.ticker-label{background:#181b20;color:#fff;font-size:10px;font-weight:850;letter-spacing:.13em;padding:0 20px;display:flex;align-items:center}.ticker-window{overflow:hidden;display:flex;align-items:center}.ticker-track{font-size:13px;font-weight:700;white-space:nowrap;display:inline-block;min-width:max-content;padding-left:100%;animation:tickerMove 34s linear infinite}.clock{display:flex;align-items:center;padding:0 18px;font-size:12px;font-weight:850;background:#deddda;border-left:1px solid #c7c4be}@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-100%)}}.progress-row{display:grid;grid-template-columns:56px 1fr 62px;gap:10px;align-items:center;padding:0 20px;background:#090b0e;color:#7f8791;font-size:10px}.progress-track{height:2px;background:#262b31}.progress-bar{height:100%;width:0;background:var(--maroon);transition:width .15s linear}.remaining-time{text-align:right}.live-back{top:78px;left:16px;opacity:.2}.live-back:hover{opacity:1}

/* closing */
.closing-screen{background:#090b0e;align-items:center;justify-content:center;flex-direction:column;text-align:center}.closing-logo{width:130px;height:130px;background:#fff;padding:8px}.closing-rule{height:4px;width:120px;background:var(--maroon);margin:28px 0}.closing-screen h2{font-size:clamp(45px,6vw,82px);letter-spacing:-.045em;margin:0}.closing-screen p{font-size:12px;letter-spacing:.16em;color:#a6acb4;margin-top:16px}.closing-actions{display:flex;gap:10px;margin-top:30px}

/* rtl */
html[dir="rtl"] body{font-family:Tahoma,"Segoe UI",Arial,sans-serif}.rtl .date-chip{text-align:left}.rtl .hero,.rtl .admin-body{direction:rtl}.rtl .program-card li{grid-template-columns:auto 1fr 40px}.rtl .program-card li span{grid-column:3}.rtl .program-card li small{text-align:left}.rtl .broadcast-back{left:auto;right:28px}.rtl .live-back{left:auto;right:16px}.rtl .lower-third{left:auto;right:44px;transform:translateX(125%);flex-direction:row-reverse}.rtl .lower-third.show{transform:translateX(0)}.rtl .ticker-track{padding-left:0;padding-right:100%;animation-name:tickerMoveRtl}.rtl .clock{border-left:0;border-right:1px solid #c7c4be}.rtl .segment-card-actions{direction:ltr}@keyframes tickerMoveRtl{from{transform:translateX(0)}to{transform:translateX(100%)}}

@media (max-width:900px){
  .start-screen{padding:24px}.topline{align-items:flex-start}.start-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.date-chip{display:none}.hero{grid-template-columns:1fr;gap:30px;overflow:auto;padding:45px 0}.hero h1{font-size:52px}.program-card{max-width:620px}.admin-body{grid-template-columns:1fr;padding:20px}.admin-header{align-items:flex-start;flex-direction:column}.admin-header-actions{flex-wrap:wrap}.segment-fields{grid-template-columns:1fr}.video-input-row{grid-template-columns:1fr}.ticker{grid-template-columns:auto 1fr}.clock{display:none}.lower-third{left:20px;right:20px;max-width:none;min-width:0}.rtl .lower-third{right:20px;left:20px}.caption-box{max-width:92%}
}

/* v5 shared-school additions */
.sync-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.14);font-size:9px;font-weight:800;letter-spacing:.09em;color:#8e959e;background:rgba(255,255,255,.02)}
.sync-pill.live{color:#d8dce1}.sync-pill.offline{color:#a2a6ab}.sync-dot{width:6px;height:6px;border-radius:50%;background:#777}.sync-pill.live .sync-dot{background:#2fb36d;box-shadow:0 0 0 3px rgba(47,179,109,.12)}.sync-pill.offline .sync-dot{background:#b15151}
.save-state{font-size:11px;color:#777;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-note .status-line{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#999}.status-dot.ok{background:#249f5c}.status-dot.bad{background:#a94e4e}
.youtube-player{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:1}.youtube-player.show{display:block}.youtube-player iframe{width:100%!important;height:100%!important;border:0;display:block}.video-stage video{display:none}.video-stage video.show{display:block}.cloudflare-player{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:1}.cloudflare-player.show{display:block}.cloudflare-player iframe{width:100%;height:100%;border:0;display:block}.video-vignette{z-index:2}.lower-third{z-index:4}.caption-box{z-index:5}.media-message{display:none;position:absolute;z-index:6;left:50%;top:50%;transform:translate(-50%,-50%);max-width:70%;padding:14px 18px;background:rgba(5,7,10,.9);border-left:4px solid var(--maroon);font-size:14px;font-weight:700;line-height:1.45;text-align:center}.media-message.show{display:block}
.modal-shell{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(4,5,7,.76);backdrop-filter:blur(8px)}.modal-shell.show{display:flex}.modal-card{position:relative;width:min(440px,100%);background:#f2f0eb;color:#17191c;border-top:5px solid var(--maroon);padding:34px 34px 30px;box-shadow:0 30px 90px rgba(0,0,0,.42)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#666;font-size:26px;line-height:1}.modal-card h2{font-size:34px;letter-spacing:-.04em;margin:8px 0 8px}.modal-copy{font-size:13px;line-height:1.6;color:#666;margin:0 0 24px}.login-field{margin:0 0 15px}.login-field label{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f605f}.login-field input{width:100%;height:44px;border:1px solid #c8c5bf;background:#fff;padding:0 12px;font:inherit;outline:none}.login-field input:focus{border-color:var(--maroon);box-shadow:0 0 0 2px rgba(122,23,50,.08)}.modal-submit{width:100%;margin-top:5px}.login-error{min-height:20px;font-size:12px;color:#971c39;margin:3px 0 8px}.setup-hint{margin:14px 0 0;font-size:11px;line-height:1.5;color:#76736e}
html[dir="rtl"] .modal-close{right:auto;left:16px}html[dir="rtl"] .modal-card{text-align:right}html[dir="rtl"] .media-message{border-left:0;border-right:4px solid var(--maroon)}
@media(max-width:1050px){.sync-pill{display:none}}


/* v6 demo reset */
.reset-demo-btn{padding:9px 12px;border-color:#8f3d50;color:#8d243d;background:transparent;font-size:12px}
.reset-demo-btn:hover{background:#f5e9ec;border-color:#7b1734}
.reset-card{border-top-color:#7b1734}
.reset-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.reset-cancel{color:#333;border-color:#b7b2aa;background:transparent;padding:11px 16px}
.reset-cancel:hover{background:#e7e3dc}
.reset-confirm{background:#7b1734;padding:11px 16px}
html[dir="rtl"] .reset-actions{flex-direction:row-reverse}
