/* TVMax identity and responsive application surfaces. Projection geometry lives in app.css. */
:root{color-scheme:dark;--canvas:#080f19;--surface:#101c2b;--line:#253448;--muted:#a0b1c6;--accent:#5eead4;--ink:#edf5ff}
.standby-logo{width:clamp(56px,12vmin,120px);height:auto;margin-bottom:24px}
body{color:var(--ink);font-family:Segoe UI,system-ui,sans-serif}
.dashboard,.admin-page{background:var(--canvas)}
.brand-mark{background:none;box-shadow:none;border-radius:0;flex:none;width:42px;height:42px}.brand-mark.big{width:84px;height:84px;border-radius:0}
.brand b{font-size:23px;letter-spacing:-1px}.brand small{color:var(--muted);font-size:11px;letter-spacing:.02em}
.topbar{background:#0c1522f5;border-color:var(--line);gap:16px;padding-inline:24px}.top-actions{align-items:center}.status{color:var(--muted)}.dot{background:var(--accent);box-shadow:0 0 0 4px #5eead414}
.btn{font-family:inherit;min-height:42px;background:#19283b;border-color:#304158;border-radius:10px;transition:background .16s,border-color .16s}.btn:hover{transform:none;background:#23374d;border-color:#52708b}.btn.primary,.round.main{background:var(--accent);border-color:var(--accent);color:#062b29}.btn.primary:hover,.round.main:hover{background:#99f6e4}.btn.small{min-height:36px}.btn:disabled{cursor:not-allowed}
.input{font:inherit;font-size:14px;background:#0a1421;border-color:#304158;border-radius:9px;min-height:42px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5eead415}input[type=range],input[type=checkbox]{accent-color:var(--accent)}input[type=checkbox]{width:19px;height:19px;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.panel{background:var(--surface);border-color:var(--line);border-radius:18px}.panel h2{font-size:20px;letter-spacing:-.5px}.eyebrow{color:var(--accent);letter-spacing:.14em;font-size:10px}.hint{color:var(--muted);line-height:1.55}
.hero-panel{background:linear-gradient(115deg,#142b38,#111c2d 75%);border-color:#2b4352;box-shadow:none}.hero-panel>div:first-child{min-width:0}.hero-panel h1{font-size:clamp(23px,2.4vw,32px);letter-spacing:-.8px}.hero-panel p{color:#b1c1d3}#nowLabel{overflow-wrap:anywhere;font-size:14px}#commandStatus{max-height:60px;overflow:auto}
.transport{flex-shrink:0}.transport .round{border-radius:13px;background:#1c2d40;border-color:#354b60;height:68px;width:76px}.transport .round.main{background:var(--accent);color:#062b29}.round small{font-size:11px}.round.danger{color:#fda4af}.round.danger[aria-pressed=true]{background:#562738}.hero-panel .playback-status{border-radius:20px}
.dropzone{background:#0d1928;border-color:#3a546a;padding:16px}.dropzone b{color:#d7e6f5;font-size:14px}.dropzone span{color:var(--muted);line-height:1.5}.dropzone.drag{background:#153c3b;border-color:var(--accent)}
.queue-tools{gap:10px}.queue-tabs{padding:4px;background:#0a1421;border-radius:12px}.queue-tabs .btn{border-color:transparent;background:transparent}.queue-tabs button[aria-pressed=true],.account-tabs button[aria-pressed=true]{background:#1b403f;border-color:#37766f;color:#a5f3e4}
.queue-card.item,.archived-card{background:#142233;border-color:#2a3b50;border-radius:13px;padding:16px}.queue-card.item.playing{background:#132c34;border-color:#4bb4a5;box-shadow:inset 3px 0 var(--accent)}.queue-card-top{gap:12px}.queue-index{color:#91a5bc}.queue-thumb{width:80px;height:54px;border:1px solid #ffffff10;border-radius:8px}.item-title b{font-size:15px}.queue-card-top small{font-size:11px;color:var(--muted);text-transform:none}.item-status{display:inline-block;color:var(--accent);margin-top:3px;font-weight:600}.queue-card-actions{margin:14px 0}.queue-card-actions .archive-item{color:#fbbfa4;background:transparent}
.queue-timing{padding-top:12px;border-top:1px solid #ffffff0c}.queue-timing label,.queue-schedule label{font-size:12px;color:#b6c6d9}.queue-total{color:#b6c6d9}.queue-card details{border-top:1px solid #ffffff0c;padding-top:10px}.queue-card summary{padding:6px 0;color:#c2d3e7;font-weight:600}.queue-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.queue-schedule label{min-width:0}.schedule-actions{display:flex;gap:8px;flex-wrap:wrap}.schedule-status{margin:10px 0}.queue-schedule .input{font-size:13px;width:100%;max-width:100%}
.field{color:#b6c6d9;font-size:13px}.field>.input{margin-top:7px}.switch-row{color:#c0cee0;padding:14px 0}.grid>aside .panel-head{padding-bottom:14px;border-bottom:1px solid var(--line)}
.landing,.login-wrap{background:radial-gradient(ellipse at 10% 0%,#123e47 0,transparent 48%),radial-gradient(ellipse at 100% 95%,#142c50,transparent 50%),var(--canvas);min-height:100dvh;padding:clamp(16px,4vw,48px)}
.landing-card,.login-card{background:#101c2beb;border-color:#304457;box-shadow:0 30px 90px #0004;padding:clamp(24px,5vw,48px);border-radius:24px}.landing-card{width:min(100%,1000px)}.landing-card h1{max-width:780px;line-height:1.07;font-size:clamp(36px,6.5vw,72px);margin-top:42px}.landing-card p{max-width:630px;color:#b4c5da}.landing-kicker{display:inline-flex;align-items:center;gap:9px;border:1px solid #375d64;background:#15343a;color:#a7f3d0;padding:8px 12px;border-radius:24px;margin-top:36px;font-size:12px}.landing-kicker+h1{margin-top:20px}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.landing-features b{font-size:14px;color:#dcf9f4}.landing-features span{display:block;margin-top:8px;font-size:13px;color:var(--muted);line-height:1.6}
.account-card{width:min(560px,100%)}.account-card h1{letter-spacing:-.6px}.account-card p{color:#b4c5da}.account-tabs{gap:6px}.account-tabs .btn{flex:1}.form-error{line-height:1.5}.modal-card{background:var(--surface);border-color:var(--line)}.toast{max-width:min(520px,calc(100vw - 32px));overflow-wrap:anywhere;box-shadow:0 10px 35px #0007;background:#1a3640;border-color:#427a78}
.admin-shell{max-width:1250px}.admin-shell h1{letter-spacing:-1px}.user-card{border-color:var(--line)}.audit-card{background:#142233;border-color:var(--line)}.audit-card pre{line-height:1.6}.empty-screen,.standby-screen{background:radial-gradient(ellipse at 50% 25%,#183e49,#091422 60%,#050c14)}.empty-screen{text-align:center;padding:24px}.empty-screen p{color:#a7bbd2}.standby-card .standby-brand{color:var(--accent)}
@media(min-width:1001px) and (min-height:760px){.dashboard .shell{width:min(1600px,calc(100% - 40px))}.dashboard .grid{grid-template-columns:minmax(0,1fr) 310px}.queue-panel .playlist{min-height:0;flex:1 1 0}.queue-panel>.hint{max-width:100%}}
@media(max-width:1100px){.topbar .status{display:none}.session-name{max-width:100px}}
@media(max-width:1000px){.hero-panel{position:static}.shell{margin-bottom:24px}.grid{gap:16px}.panel{padding:18px}.queue-panel .playlist{height:60dvh;max-height:720px}.topbar{position:relative}.queue-panel>.hint{font-size:12px}.grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.grid>aside>.panel-head,.grid>aside>.hint,.grid>aside>.wide{grid-column:1/-1}}
@media(max-width:640px){.topbar{padding:14px 16px;height:auto;flex-wrap:wrap;align-items:center;gap:12px}.topbar .brand small{display:block}.topbar .brand b{font-size:22px}.top-actions{width:100%;display:flex;gap:8px}.top-actions .btn{flex:1;text-align:center;padding:9px 7px}.session-name{display:none}.shell{width:calc(100% - 24px)}.hero-panel{padding:20px;gap:20px}.transport{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.transport .round{width:100%;min-width:0}#playPause{min-width:0}.panel{padding:14px}.panel-head{gap:14px}.panel-actions{width:100%}.panel-actions .btn{flex:1}.queue-card.item{padding:12px}.queue-thumb{width:58px;height:46px}.queue-card-actions .btn{min-height:40px}.queue-tools>.input{min-width:0}.queue-schedule{grid-template-columns:1fr}.queue-schedule input{min-width:0}.queue-total{width:100%;padding:0}.queue-timing{gap:10px}.schedule-actions .btn{flex:1}.queue-panel .playlist{min-height:220px}.grid>aside{display:block}.landing-actions{flex-direction:column}.landing-actions .btn{text-align:center}.landing-features{grid-template-columns:1fr;gap:22px}.landing-card p{font-size:16px}.user-card{grid-template-columns:minmax(0,1fr)}.user-info,.user-actions{grid-column:auto}.log-filters label{min-width:0;flex-basis:100%}.admin-shell{width:calc(100% - 24px);margin-top:22px}.toast{right:16px;bottom:16px}.account-tabs .btn{font-size:12px;padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.btn,.round,.toast{transition:none}}

/* Full queue, with page scrolling and a paginated archive grid. */
body.dashboard.presenter-ready{height:auto;min-height:100dvh;overflow:auto}
.dashboard.presenter-ready .shell{height:auto;display:block;margin:20px auto 40px}
.dashboard.presenter-ready .grid{overflow:visible;grid-template-rows:auto;align-items:start}
.dashboard.presenter-ready .grid>aside{overflow:visible;max-height:none}
.dashboard.presenter-ready .queue-panel{overflow:visible}
.dashboard.presenter-ready .queue-panel .playlist{height:auto;min-height:0;max-height:none;overflow:visible;flex:none;padding:0;scrollbar-gutter:auto;touch-action:auto}
#archiveList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.archived-card{display:flex;flex-direction:column;gap:12px}.archived-card .restore-item{margin-top:auto;align-self:start}
.archive-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:13px;color:var(--muted)}
.archive-pagination[hidden]{display:none}.archive-pagination label{display:flex;align-items:center;gap:10px}.archive-pagination select{width:auto}
@media(max-width:640px){#archiveList{grid-template-columns:1fr}.archive-pagination{align-items:flex-start;flex-direction:column}}
