:root{color-scheme:light;--ink:#202322;--muted:#707773;--line:#e1e6e2;--bg:#f5f7f4;--green:#24594a;--gold:#ae8744;--radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,input,select,textarea{min-height:44px}input,select,textarea{width:100%;border:1px solid #d5ddd6;border-radius:9px;background:#fff;padding:10px 12px;color:var(--ink)}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--green)}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}fieldset{border:0;padding:0;margin:0;min-width:0}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:550;letter-spacing:-.6px;margin-bottom:6px}h2{font-size:19px;font-weight:600;margin-bottom:4px}h3{font-size:16px;margin-bottom:6px}small,.muted{color:var(--muted)}small{display:block;font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:650;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d5ddd6;border-radius:9px;padding:10px 16px;background:white;color:var(--ink);font-weight:550;white-space:normal;min-height:44px}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.dark{background:#202522;border-color:#202522;color:white}.btn.soft{background:#edf3ee;border-color:transparent;color:var(--green)}.btn.danger{color:#aa332c;background:#fff5f4}.btn.small{font-size:12px;padding:8px 12px}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.full{width:100%}.badge{display:inline-block;border-radius:7px;background:#edf2ee;padding:5px 10px;color:var(--green);font-size:12px;font-weight:600;white-space:nowrap}.badge.draft,.badge.wait{background:#fff3d9;color:#886322}.badge.active{background:#dcf0e5;color:#246243}.badge.completed{background:#e7ebf7;color:#465b91}.badge.gray{background:#f0f1ef;color:#737a75}.sidebar{position:fixed;left:0;top:0;bottom:48px;width:220px;padding:32px 20px;display:flex;flex-direction:column;background:#1d2220;color:white}.brand{font-size:22px;letter-spacing:4px;line-height:1.4}.brand small{color:#a5b4a9;letter-spacing:2px;margin-top:8px}.sidebar nav{display:grid;gap:7px;margin-top:38px}.nav-item{border:0;text-align:left;color:#b9c6bd;background:transparent;border-radius:10px;padding:12px 14px;min-height:46px}.nav-item.active{background:#343e37;color:#fff}.side-foot{margin-top:auto;color:#9baaa0;font-size:12px;border-top:1px solid #38423b;padding-top:18px}.workspace{margin-left:220px;min-height:100vh;padding-bottom:74px}.topbar{height:78px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.identity{display:flex;gap:10px;align-items:center}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#eef1eb;border-radius:50%;font-size:12px;font-weight:600}.content{max-width:1560px;margin:0 auto;padding:32px 36px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.heading .muted{margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.stat{background:white;padding:20px;border:1px solid var(--line);border-radius:var(--radius)}.stat .value{font-size:32px;font-weight:550;line-height:1.4;margin:6px 0}.stat .value span{font-size:17px;color:#8a958c}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.panel-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-body{padding:24px}.panel-head p{margin:4px 0 0}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}.course-card h2{font-size:21px;margin:8px 0;line-height:1.35;overflow-wrap:anywhere}.course-card .meta{display:grid;gap:5px;color:var(--muted)}.course-card .card-foot{padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}.course-card .counts{display:flex;gap:14px;color:#617367;font-size:12px}.empty{padding:40px;text-align:center;color:var(--muted)}.empty h2{color:var(--ink)}.banner{padding:16px 20px;background:#fff4db;border:1px solid #efdcaa;border-radius:12px;margin-bottom:20px;color:#765b28}.banner.success{background:#eaf4ee;border-color:#cbded0;color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:13px;font-weight:550}label input,label select,label textarea{margin-top:7px;font-weight:400}label small{font-weight:400;margin-top:5px}.resource-row{display:grid;grid-template-columns:40px minmax(140px,2fr) minmax(150px,1fr) minmax(80px,.6fr);gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.resource-row.instructor-row{grid-template-columns:40px minmax(140px,2fr) minmax(150px,1fr)}.resource-index{font-size:13px;color:#7b897e;padding-bottom:12px}.section-title{margin:24px 0 6px;font-size:16px;font-weight:600}.form-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.table-scroll{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-weight:550;color:#637167;background:#f7f9f6;white-space:nowrap}td small{margin-top:3px}tr:last-child td{border-bottom:0}.schedule-table td,.schedule-table th{min-width:125px}.schedule-table th:first-child,.schedule-table td:first-child{position:sticky;left:0;z-index:1;background:#f7f9f6;min-width:150px}.slot{border:0;border-radius:7px;padding:8px 10px;width:100%;text-align:left;min-height:44px;background:#f0f3ef;font-size:12px}.slot.now{background:#dceddf;color:#24583b}.car-row{display:grid;grid-template-columns:32px minmax(100px,1fr) minmax(110px,1.3fr) auto;gap:14px;align-items:center;padding:17px 24px;border-bottom:1px solid var(--line)}.car-row:last-child{border:0}.car-num{font-size:12px;background:#edf2ee;padding:7px;border-radius:7px;text-align:center}.group-members{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.member{min-width:44px;border:1px solid var(--line);background:#f5f8f4;border-radius:50%;height:44px;font-size:12px}.check-list{display:grid;gap:12px}.check-item{display:flex;align-items:center;gap:12px;font-weight:400}.check-item input{flex:0 0 20px}.toolbar{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.toolbar input{max-width:340px}.driver-name{font-size:32px;line-height:1.2;margin:24px 0 10px;overflow-wrap:anywhere}.driver-avatar{width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:#edf3ee;font-size:22px;margin-top:24px}.drive-action{width:100%;min-height:64px;font-size:20px;margin-top:24px}.next-driver{background:#f7f9f6;border-top:1px solid var(--line);padding:20px 24px}.progress-cards{display:grid;gap:16px}.progress-person{padding:18px;border:1px solid var(--line);border-radius:12px}.vehicle-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin-top:12px}.vehicle-chip{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#f7f9f6;font-size:12px;text-align:left}.vehicle-chip.complete{background:#e1f1e5;border-color:#aacdb5;color:#236b3a}.vehicle-chip.driving{background:#fff2d6;border-color:#dfc478;color:#86611c}.vehicle-chip.assigned{background:#e9eef9;border-color:#bdcbed}.vehicle-chip.excluded{opacity:.5}.vehicle-chip small{font-size:10px}.log-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.log-row:last-child{border:0}.syncbar{position:fixed;bottom:0;left:0;right:0;background:#202823;color:#d7e1d9;padding:10px 20px;z-index:50;font-size:12px;min-height:46px;display:flex;justify-content:space-between;gap:12px;align-items:center}.syncbar .dot{width:7px;height:7px;background:#e2b859;border-radius:50%;display:inline-block;margin-right:8px}.syncbar .dot.online{background:#93cba6}.syncbar a{color:#e5eee6}.toast{position:fixed;bottom:64px;left:50%;transform:translateX(-50%);max-width:min(90vw,680px);padding:14px 22px;background:#243d2d;color:white;border-radius:10px;z-index:300;box-shadow:0 8px 24px #0002;font-size:14px}.toast:empty{display:none}dialog{border:1px solid var(--line);border-radius:20px;padding:0;width:650px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink)}dialog::backdrop{background:#101c16a8;backdrop-filter:blur(3px)}.dialog-body{padding:28px}.dialog-body h2{font-size:24px;margin-bottom:8px}.dialog-foot{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.form-error{color:#a53930;font-size:13px;margin-top:14px}.form-error:empty{display:none}.login{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:#1d2922;color:white;padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:460px;height:460px;bottom:-290px;right:-160px;border:1px solid #506348;border-radius:50%;box-shadow:0 0 0 100px #2c3b292b,0 0 0 200px #2c3b2918}.login-story h1{font-size:44px;line-height:1.15;max-width:520px;margin:30px 0 20px;color:#f1f6ed}.login-story p{color:#b2c2b6;max-width:390px;font-size:16px}.login-side{display:grid;place-items:center;padding:32px}.login-form{width:100%;max-width:360px}.login-form h2{font-size:26px;margin-bottom:8px}.login-form label{margin-top:20px}.login-form button{margin-top:26px}.setup-note{font-size:12px;color:#727e75;margin:14px 0}.display-mode{background:#111a15;color:#f2f6ee}.display-mode .sidebar{display:none}.display-mode .workspace{margin-left:0}.display-mode .topbar{background:#19241d;color:#f2f6ee;border-color:#344237}.display-mode .muted,.display-mode small{color:#a7b7aa}.display-mode .content{max-width:none}.display-mode .heading{align-items:center}.display-mode .panel,.display-mode .stat{background:#1b2920;border-color:#344536}.display-mode .panel-head{border-color:#344536}.display-mode .badge{background:#344d3b;color:#c6e6cb}.tv-clock{font-size:34px;letter-spacing:2px;font-variant-numeric:tabular-nums}.tv-cars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:22px 0}.tv-car{background:#1e3024;border:1px solid #405746;border-radius:14px;padding:22px;min-height:240px}.tv-car.driving{border-color:#bfa759;background:#3b3521}.tv-car.complete{border-color:#79a389;background:#233d2b}.tv-car.idle{opacity:.65}.tv-car h2{font-size:18px;color:#b2c5b7}.tv-car .name{font-size:26px;font-weight:550;line-height:1.25;margin:24px 0 10px}.tv-car .timer{margin-top:24px;font-size:15px;color:#c7d8c9}.tv-next-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #344536;padding:12px 0}.tv-note{font-size:12px;color:#9cae9f;padding-top:12px}.mono{font-family:Consolas,monospace;background:#eef3ed;padding:10px;border-radius:8px;word-break:break-all}.steps{display:grid;gap:14px;margin:12px 0}.steps .step{display:flex;gap:12px;align-items:flex-start}.step-dot{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:50%;background:#f0eee4;color:#9b8048;font-size:12px}.step.done .step-dot{background:#e1eee4;color:#376343}
/* YM Communication: black surfaces, orange-red actions, semantic status colors. */
:root{color-scheme:dark;--ink:#f4f4f4;--muted:#aaa;--line:#343434;--bg:#0c0c0c;--green:#fa5538;--gold:#ff8b6b;--surface:#191919;--radius:16px}
body{background:var(--bg)}
input,select,textarea{background:#111;border-color:#454545;color:var(--ink)}
input::placeholder,textarea::placeholder{color:#999}
input[type=checkbox]{accent-color:var(--green)}
.btn{background:#272727;border-color:#4b4b4b;color:#f4f4f4;text-decoration:none;transition:background .15s,border-color .15s}
.btn:not(:disabled):hover{background:#373737;border-color:#777}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:not(:disabled):hover{background:#e54126;border-color:#e54126}
.btn.soft{background:#38201b;color:#ffab91;border-color:#65342a}
.btn.soft:not(:disabled):hover{background:#50271e;border-color:#b14a34}
.btn.dark{background:#bd3d25;border-color:#ed654b;color:#fff}
.btn.danger{color:#ffb0a0;background:#39201e;border-color:#794139}
.badge{background:#20352c;color:#a4e1bd}
.badge.draft,.badge.wait{background:#392e1c;color:#f1c77d}
.badge.active{background:#173b2c;color:#8de0b3}
.badge.completed{background:#25324e;color:#adc8ff}
.badge.gray{background:#303030;color:#c1c1c1}
.sidebar{background:#080808;border-right:1px solid #292929}
.brand{letter-spacing:1.8px}
.brand-logo{display:block;width:150px;max-width:100%;height:108px;object-fit:contain;object-position:left center}
.brand small{color:#aaa;font-size:9px;letter-spacing:1.8px}
.sidebar nav{margin-top:26px}
.nav-item{color:#bdbdbd}
.nav-item:not(.active):hover{background:#202020;color:#fff}
.nav-item.active{background:#3d211a;color:#ffb397;box-shadow:inset 3px 0 0 var(--green)}
.side-foot{color:#aaa;border-color:#333}
.topbar{background:#121212}
.avatar{background:#3b241f;color:#ffb59b}
.stat,.panel,.course-card{background:var(--surface)}
.course-card .counts{color:#b7b7b7}
.course-card:hover{border-color:#575757}
.stat .value span{color:#a7a7a7}
.banner{background:#332a1b;border-color:#685332;color:#f1ce8f}
.banner small{color:inherit}
.banner.success{background:#19342a;border-color:#376c53;color:#afe2c3}
.resource-index,.setup-note{color:#aaa}
th,.schedule-table th:first-child,.schedule-table td:first-child{background:#222;color:#ccc}
.slot{background:#292929;color:#ddd}
.slot.now{background:#46271e;color:#ffc5af}
.car-num{background:#342620;color:#ffbfa5}
.member{background:#272727;color:#eee}
.driver-avatar{background:#3a241e;color:#ffb59b}
.next-driver,.vehicle-chip{background:#232323;color:#ddd}
.vehicle-chip.complete{background:#173b2a;border-color:#357553;color:#a8e5be}
.vehicle-chip.driving{background:#47271b;border-color:#b5623c;color:#ffd0a5}
.vehicle-chip.assigned{background:#24344d;border-color:#486a9f;color:#b9d2ff}
.syncbar{background:#080808;border-top:1px solid #333;color:#ccc}
.syncbar .dot{background:#ff976e}.syncbar .dot.online{background:#74d6a1}
.toast{background:#3d241b;border:1px solid #ad573c;color:#ffe0d4;box-shadow:0 8px 24px #0008}
dialog{background:#191919;color:var(--ink)}
dialog::backdrop{background:#000b}
.form-error{color:#ffab96}
.login-story{background:radial-gradient(ellipse at 10% 0%,#48231a 0%,#161110 40%,#080808 80%);padding-top:5vw}
.login-logo{display:block;width:200px;height:142px;object-fit:contain;object-position:left center;margin-bottom:24px}
.login-story:after{border-color:#593124;box-shadow:0 0 0 100px #44241830,0 0 0 200px #44241818}
.login-story h1{color:#fff}.login-story p{color:#bbb}
.login-side{background:#101010}
.mono{background:#282828;color:#eee}
.step-dot{background:#3b2e1e;color:#ebc185}.step.done .step-dot{background:#1e392a;color:#a2deb8}
.display-mode{background:#080808;color:#f4f4f4}
.display-mode .topbar{background:#111;border-color:#333}
.display-mode .muted,.display-mode small{color:#bcbcbc}
.display-mode .panel,.display-mode .stat{background:#191919;border-color:#383838}
.display-mode .panel-head{border-color:#383838}
.display-mode .badge{background:#333;color:#eee}
.tv-car{background:#1c1c1c;border-color:#444}
.tv-car.driving{border-color:#fa5538;background:#3b211a}
.tv-car.complete{border-color:#4c9c6b;background:#1b3526}
.tv-car h2,.tv-car .timer{color:#ccc}
.tv-next-row{border-color:#383838}.tv-note{color:#aaa}
.session-editor{margin-top:26px;border-top:1px solid var(--line);padding-top:4px}
.session-details{margin-top:18px}
.session-row{padding:18px;background:#131313;border:1px solid #3b3b3b;border-radius:12px;margin-bottom:14px}
.session-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.session-hint{margin-top:12px;color:#e8c18d}
@media(max-width:767px){.brand{display:flex;gap:18px;align-items:center}.brand-logo{width:100px;height:72px}.brand small{display:block;max-width:130px;font-size:9px}.sidebar{padding-top:12px;padding-bottom:12px;border-bottom:1px solid #333}.sidebar nav{margin-top:12px}.login-logo{width:132px;height:94px;margin-bottom:16px}.login-story{padding-top:26px}.session-row{padding:14px}}
@media(min-width:1700px){.tv-car .name{font-size:34px}.tv-car{min-height:300px}.tv-car .timer{font-size:20px}}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:minmax(0,1fr)}.content{padding:26px}.sidebar{width:190px}.workspace{margin-left:190px}.topbar{padding:0 26px}.car-row{grid-template-columns:30px minmax(120px,1fr) minmax(140px,1.2fr) auto}}
@media(max-width:767px){h1{font-size:25px}.sidebar{position:static;width:auto;padding:18px 20px;display:block}.brand{font-size:17px}.brand small,.side-foot{display:none}.sidebar nav{display:flex;overflow-x:auto;margin-top:16px;gap:4px}.nav-item{white-space:nowrap;font-size:12px;padding:8px 12px;min-height:44px}.workspace{margin-left:0}.topbar{height:auto;min-height:66px;padding:12px 18px;flex-wrap:wrap;font-size:12px}.topbar .identity small{display:none}.content{padding:22px 16px}.heading{align-items:flex-start;flex-direction:column;gap:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px}.stat .value{font-size:26px}.cards{grid-template-columns:1fr}.course-card{padding:22px}.form-grid{grid-template-columns:1fr}.resource-row,.resource-row.instructor-row{grid-template-columns:1fr;gap:8px;align-items:start}.resource-index{padding:0;margin-top:4px;font-weight:600}.panel-head,.panel-body,.toolbar{padding:18px}.car-row{padding:18px;grid-template-columns:30px minmax(0,1fr)}.car-row .car-person,.car-row .car-button{grid-column:2}.car-row .btn{width:100%}.driver-name{font-size:28px}.syncbar{font-size:11px;padding:10px 12px}.login{grid-template-columns:1fr}.login-story{padding:34px 26px}.login-story h1{font-size:30px;margin:16px 0}.login-story p{font-size:14px;margin:0}.login-story .eyebrow{font-size:10px}.login-side{padding:32px 24px}.dialog-body{padding:22px}.display-mode .topbar{display:none}.tv-cars{grid-template-columns:1fr}.tv-clock{font-size:26px}.tv-car{min-height:220px}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.toolbar input{max-width:none}.btn{padding:10px 13px}.heading .flex{flex-wrap:wrap}.stats small{font-size:11px}}

.tv-brand{display:flex;align-items:center;gap:24px;margin-bottom:24px}.tv-brand img{width:110px;height:78px;object-fit:contain}.tv-brand span{font-size:11px;letter-spacing:2px;color:#bcbcbc}
