:root{--bg:#0a0c10;--panel:#11151b;--panel2:#151a22;--line:#272e38;--text:#f4f7fb;--muted:#9099a7;--accent:#e6ff4b;--accent2:#cfe832;--good:#75e6a7;--danger:#ff7d7d}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#1a2029 0,#0a0c10 33%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.shell{max-width:1200px;margin:auto;padding:28px 22px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--muted);font-weight:800}.topbar h1{font-size:26px;margin:5px 0 0}.topbar h1 span{font-size:12px;color:#111;background:var(--accent);border-radius:999px;padding:6px 9px;vertical-align:middle}.status{font-size:13px;color:#b6beca;display:flex;gap:8px;align-items:center}.status i{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 16px var(--good)}.card{background:linear-gradient(145deg,rgba(21,26,34,.98),rgba(13,16,21,.98));border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 50px rgba(0,0,0,.22)}.hero{padding:26px;display:flex;gap:24px;align-items:flex-end;justify-content:space-between}.badge{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#111;background:var(--accent);padding:7px 10px;border-radius:999px}.hero h2{font-size:31px;line-height:1.05;margin:16px 0 9px;max-width:650px}.hero p{color:var(--muted);max-width:720px;margin:0;line-height:1.5}.flow{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#d3d9e2;font-size:11px;font-weight:900}.flow b{color:var(--accent)}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.camera{padding:20px;position:relative;overflow:hidden}.camera.optional{border-style:dashed}.cam-head{display:flex;justify-content:space-between;align-items:center}.cam-head strong{font-size:12px;letter-spacing:.14em}.pill{font-size:9px;font-weight:900;padding:5px 8px;border-radius:99px;background:#28303b;color:#cfd6df}.pill.future{background:rgba(230,255,75,.12);color:var(--accent)}.camera h3{font-size:21px;margin:20px 0 3px}.camera p{color:var(--muted);font-size:13px;margin:0 0 18px}.pick,.primary,.secondary,.upload{border:0;border-radius:11px;font-weight:850;cursor:pointer;transition:.15s}.pick{display:block;width:100%;padding:12px;background:#f3f5f8;color:#0d1014}.pick:hover{transform:translateY(-1px)}.upload{display:block;text-align:center;color:#aab2bd;font-size:11px;padding:10px}.upload input{display:none}.media-info{min-height:72px;margin-top:8px;background:#0b0e12;border:1px solid #202630;border-radius:12px;padding:11px;font-size:11px;color:#aab3bf;line-height:1.5;word-break:break-all}.media-info strong{color:#fff}.offset{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:14px;padding-top:13px;font-size:12px;color:var(--muted)}.offset strong{color:var(--accent)}.workbench,.preview{margin-top:15px;padding:22px}.work-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.work-title h2{font-size:20px;margin:4px 0 0}.work-title select{background:#0b0e12;color:#d8dee7;border:1px solid var(--line);padding:10px;border-radius:10px}.primary{width:100%;margin-top:18px;padding:15px;background:var(--accent);color:#090b0e;letter-spacing:.04em}.primary:disabled{opacity:.45;cursor:wait}.result{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#0b0e12;font-size:13px}.muted{color:var(--muted)}.result.good{border-color:rgba(117,230,167,.35);color:#dffbed}.result.error{border-color:rgba(255,125,125,.45);color:#ffd7d7}.secondary{padding:10px 13px;background:#242b35;color:#eef2f7}.timeline{margin-top:18px;display:grid;gap:9px}.timeline div{display:flex;align-items:center;gap:12px;background:#0b0e12;border:1px solid #202630;border-radius:10px;padding:11px}.timeline span{width:58px;font-size:10px;font-weight:900;color:var(--accent)}.timeline em{font-style:normal;color:#aab2bd;font-size:12px}.footnote{color:#747e8c;font-size:11px;margin:16px 2px 0}@media(max-width:850px){.camera-grid{grid-template-columns:1fr}.hero{display:block}.flow{margin-top:22px;overflow:auto}.topbar{align-items:flex-start}.status{margin-top:8px}.hero h2{font-size:27px}}
.storage-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.storage-steps>div{border:1px solid #2b3240;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px;background:#11151d}.storage-steps span{color:#8e98aa;font-size:13px}.policy-row{display:flex;gap:18px;align-items:end;justify-content:space-between;margin:15px 0}.policy-row label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#aab3c2}.safe-note{max-width:520px;color:#8e98aa;font-size:13px}.actions-row{display:flex;gap:10px;flex-wrap:wrap}.danger{background:#34181b;color:#ffb9bf;border:1px solid #713038;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}.danger:disabled,.primary:disabled,.secondary:disabled{opacity:.38;cursor:not-allowed}.managed{color:#75d99b}.external{color:#e4b86a}.storage select{min-width:170px}@media(max-width:760px){.storage-steps{grid-template-columns:1fr}.policy-row{align-items:stretch;flex-direction:column}}
.context{margin-top:15px;padding:22px}.context-intro{color:var(--muted);font-size:13px;line-height:1.5}.context-grid{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:end;margin-top:16px}.context-grid label{display:flex;flex-direction:column;gap:7px;color:#aab3c2;font-size:12px}.context-grid input,.title-proposal input{background:#0b0e12;color:#eef2f7;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit}.title-proposal{margin-top:14px;padding:16px;border-radius:14px;background:#0b0e12;border:1px solid #202630}.title-proposal>span{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:9px}.title-proposal input{width:100%;font-size:16px;font-weight:750}.title-proposal input.needs-confirm{border-color:rgba(255,125,125,.55)}.course-meta{margin-top:8px;color:#8e98aa;font-size:12px}.context .secondary{min-height:42px}@media(max-width:900px){.context-grid{grid-template-columns:1fr 1fr}.context-grid .secondary{width:100%}}@media(max-width:560px){.context-grid{grid-template-columns:1fr}}

.multicam{margin-top:15px;padding:22px}
.timecode{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);font-weight:800}
.angle-switcher{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.angle{border:1px solid var(--line);background:#171c24;color:#d8dee7;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}
.angle.active{background:var(--accent);color:#0a0c10;border-color:var(--accent)}
.angle:disabled{opacity:.3;cursor:not-allowed}.angle.auto{margin-left:auto}
.program-stage{min-height:360px;background:#050608;border:1px solid #262d37;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.program-stage .monitor{width:100%;height:100%;min-height:360px;border:0;border-radius:0}
.program-stage video{width:100%;height:100%;max-height:66vh;object-fit:contain;background:#000}
.thumb-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.monitor{position:relative;background:#07090c;border:1px solid #252c36;border-radius:12px;overflow:hidden;min-height:120px}
.monitor video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000}
.monitor-label{position:absolute;z-index:2;left:8px;top:8px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.12);padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em}
.monitor.unavailable{opacity:.25}.transport{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;margin-top:14px}
.transport input{width:100%}.segment-names{display:block;margin-top:4px;color:#727d8c;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.thumb-stage{grid-template-columns:1fr}.program-stage{min-height:220px}.transport{grid-template-columns:auto auto 1fr}.transport #duration-label{grid-column:1/-1}.angle.auto{margin-left:0}}

.proxybar{margin-top:15px;padding:20px}.proxybar p{color:var(--muted);max-width:900px}.proxy-label{color:var(--accent);font-weight:800}

.multicam{position:relative}.player-lock{display:flex;position:absolute;z-index:20;inset:0;background:rgba(5,7,9,.90);backdrop-filter:blur(3px);border-radius:inherit;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:30px}.player-lock strong{color:var(--accent);font-size:20px}.player-lock span{color:var(--muted)}.multicam.locked .program-stage,.multicam.locked .thumb-stage,.multicam.locked .transport,.multicam.locked .angle-switcher{pointer-events:none;filter:blur(1px);opacity:.25}.client-shell{max-width:1200px;margin:0 auto;padding:24px}.client-header{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.client-header h1{margin:4px 0 0}.client-player{padding:20px}.client-video-wrap{background:#000;border-radius:16px;overflow:hidden}.client-video-wrap video{display:block;width:100%;max-height:75vh;background:#000}.client-meta{display:flex;justify-content:space-between;padding:12px 4px;color:var(--muted);font-family:ui-monospace,monospace}.client-note{color:var(--muted);font-size:12px;text-align:center}.actions-row{flex-wrap:wrap}

.hidden{display:none!important}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#1a2029,#090b0e 55%)}.auth-card{width:min(460px,100%);padding:28px}.auth-card h1{margin:16px 0 8px}.auth-card p{color:var(--muted);line-height:1.5}.auth-card label{display:flex;flex-direction:column;gap:7px;margin-top:14px;color:#b7c0cc;font-size:13px}.auth-card input{background:#080a0d;border:1px solid var(--line);color:white;border-radius:10px;padding:13px;font:inherit}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.auth-user{font-size:11px;color:var(--muted)}.tiny-btn{border:1px solid var(--line);background:#171c24;color:#dce2ea;border-radius:9px;padding:7px 10px;cursor:pointer}.cloud{margin-top:15px;padding:22px}.cloud-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}.cloud-grid>div{background:#0b0e12;border:1px solid #202630;border-radius:14px;padding:15px}.cloud-subtitle{font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:10px}.user-picker{max-height:230px;overflow:auto;display:grid;gap:7px;margin-bottom:10px}.user-check{display:flex;gap:10px;align-items:center;padding:9px;border:1px solid #252d38;border-radius:10px;background:#11161d}.user-check span{display:flex;flex-direction:column}.user-check small{color:var(--muted)}.error-text{color:#ffb2b2}.client-library{margin-bottom:16px}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.session-card{padding:18px}.session-card h2{font-size:18px;margin:7px 0}.session-card p,.session-card small{color:var(--muted)}.session-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.session-tags span{font-size:10px;padding:6px 8px;border-radius:999px;background:#222a34;color:#cbd4de}.empty-library{padding:35px;text-align:center}.empty-library p{color:var(--muted)}
@media(max-width:760px){.cloud-grid{grid-template-columns:1fr}.top-actions{justify-content:flex-start}.client-header{align-items:flex-start;flex-direction:column}}

.small-action{margin-top:10px}
.manual-sync{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#11161e}
.manual-sync summary{cursor:pointer;font-weight:800;color:#dce3ec}
.manual-sync-grid{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.manual-sync-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}
.manual-sync-grid input{background:#0b0f14;border:1px solid var(--line);color:white;border-radius:8px;padding:9px}
.tiny-note{font-size:10px;color:var(--muted);margin:9px 0 0}
@media(max-width:900px){.manual-sync-grid{grid-template-columns:1fr 1fr}.manual-sync-grid button{grid-column:1/-1}}

.qa-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0;color:var(--muted);font-size:11px}
.active-toggle{border-color:rgba(197,255,0,.65)!important;color:var(--accent)!important}
.transport input[type="range"]{height:24px;cursor:ew-resize;touch-action:pan-x;accent-color:var(--accent)}
.scrub-row{display:flex;align-items:center;gap:10px;margin-top:6px;color:var(--muted);font-size:11px}
.scrub-row strong{color:var(--accent);font-family:ui-monospace,monospace}
.scrub-help{margin-left:auto}
.cloud-field{display:flex;flex-direction:column;gap:6px;color:#aab3c2;font-size:12px;margin:9px 0}
.cloud-field input,.cloud-field select{background:#0b0e12;color:#eef2f7;border:1px solid var(--line);border-radius:9px;padding:10px}
.publish-title{margin-top:16px}
.client-account{padding:18px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.client-account h2{margin:4px 0 0}.client-account .result{margin:0;min-width:260px}
.session-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.access-badge{font-size:9px;font-weight:900;letter-spacing:.08em;border:1px solid var(--line);padding:5px 7px;border-radius:999px;color:var(--accent)}
.access-line{font-size:11px;color:#c8d0db;margin:8px 0 2px}
.paywall-dialog{width:min(520px,calc(100% - 30px));background:#0c1016;color:#eef2f7;border:1px solid #343d49;border-radius:18px;padding:26px}
.paywall-dialog::backdrop{background:rgba(0,0,0,.72)}
.paywall-close{float:right}.paywall-price{font-size:26px;font-weight:900;color:var(--accent);margin:18px 0}
@media(max-width:760px){.qa-toolbar,.client-account{align-items:flex-start;flex-direction:column}.scrub-help{display:none}.client-account .result{min-width:0;width:100%}}

.protection-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin:14px 0}
.protection-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px}
.protection-grid select{background:#0b0e12;color:#eef2f7;border:1px solid var(--line);border-radius:9px;padding:10px}
.protection-grid .check-label{flex-direction:row;align-items:center;background:#0d1219;border:1px solid var(--line);border-radius:10px;padding:12px}
.device-registry{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.device-user{padding:10px;border:1px solid var(--line);border-radius:10px;margin:7px 0;background:#0b0f14}
.secure-pill{border:1px solid rgba(197,255,0,.45);color:var(--accent);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}
.link-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.offline-body{min-height:100vh;background:#070a0e}
.offline-main{max-width:1200px;margin:0 auto;padding:20px}
.protected-video-wrap{position:relative;background:#000;border-radius:14px;overflow:hidden;aspect-ratio:16/9}
.protected-video-wrap video{width:100%;height:100%;object-fit:contain;background:#000}
.dynamic-watermark{position:absolute;z-index:4;left:6%;top:7%;pointer-events:none;user-select:none;color:rgba(255,255,255,.62);font-weight:900;font-size:clamp(11px,1.4vw,18px);letter-spacing:.06em;text-shadow:0 1px 5px #000;transition:left .8s ease,top .8s ease}
.offline-controls{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:9px;align-items:center;margin-top:12px}
.offline-controls input[type=range]{width:100%;accent-color:var(--accent)}
.download-progress{margin-top:10px}
@media(max-width:760px){
  .protection-grid{grid-template-columns:1fr}
  .offline-controls{grid-template-columns:auto auto 1fr}
  .offline-controls #offline-time{grid-column:1/2}
  .offline-controls #offline-fullscreen{grid-column:2/4}
}

.access-explainer{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid rgba(197,255,0,.28);background:rgba(197,255,0,.04);border-radius:10px;margin-bottom:12px}
.access-explainer strong{color:var(--accent);font-size:12px}.access-explainer span{color:var(--muted);font-size:11px;line-height:1.45}
.access-options{display:flex;flex-direction:column;gap:8px}
.access-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0d1219;cursor:pointer}
.access-option input{margin-top:3px;transform:scale(1.15)}
.access-option span{display:flex;flex-direction:column;gap:3px}.access-option strong{font-size:12px}.access-option small{font-size:10px;color:var(--muted)}
.access-option:has(input:checked){border-color:rgba(197,255,0,.55);background:rgba(197,255,0,.045)}
.access-option:has(input:disabled){opacity:.45;cursor:not-allowed}
.access-settings{margin:-2px 0 2px 32px;padding:10px;border-left:2px solid rgba(197,255,0,.25)}
.access-settings label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}
.access-settings input{background:#0b0e12;color:#eef2f7;border:1px solid var(--line);border-radius:9px;padding:10px}
.access-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}

.public-demo-admin{border-color:rgba(255,188,0,.20)}
.demo-admin-grid{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(150px,.5fr) minmax(260px,1.1fr);gap:12px;align-items:end}
.demo-admin-time{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0d1219}
.demo-admin-time span{font-size:9px;color:var(--muted);font-weight:900;letter-spacing:.13em}
.demo-admin-time strong{font-size:22px;color:var(--accent);font-variant-numeric:tabular-nums}
.demo-admin-time small{font-size:9px;color:var(--muted)}
.demo-admin-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px}
.demo-admin-grid select{background:#0b0e12;color:#eef2f7;border:1px solid var(--line);border-radius:9px;padding:11px}
@media(max-width:800px){.demo-admin-grid{grid-template-columns:1fr}}

.speed-switcher{display:flex;gap:6px;align-items:center}
.offline-speed.active{border-color:#ffbc00!important;color:#ffbc00!important}
.offline-player-section,.client-player{max-width:1450px;margin:0 auto}
.protected-video-wrap{background:#050608}
#offline-video{width:100%;max-height:72vh;background:#000}
.offline-controls{flex-wrap:wrap}
.client-player:is(:fullscreen,:-webkit-full-screen){width:100%;height:100%;max-width:none;margin:0;padding:12px;border:0;border-radius:0;background:#050608;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px;overflow:hidden;box-sizing:border-box}
.client-player:is(:fullscreen,:-webkit-full-screen) #offline-back{display:none}
.client-player:is(:fullscreen,:-webkit-full-screen) .protected-video-wrap{min-height:0;height:100%;aspect-ratio:auto;border-radius:0}
.client-player:is(:fullscreen,:-webkit-full-screen) #offline-video{height:100%;max-height:none;object-fit:contain}
.client-player:is(:fullscreen,:-webkit-full-screen) .offline-controls{margin:0;grid-template-columns:auto auto minmax(0,1fr) auto auto auto}
.client-player:is(:fullscreen,:-webkit-full-screen) #offline-seek{min-width:0}
@media(max-width:760px){.client-player:is(:fullscreen,:-webkit-full-screen) .offline-controls{grid-template-columns:auto auto minmax(0,1fr)}.client-player:is(:fullscreen,:-webkit-full-screen) #offline-status{display:none}}
.offline-controls #offline-seek{min-width:240px;flex:1}
@media(max-width:700px){
  .offline-controls #offline-seek{order:10;flex-basis:100%;min-width:0}
  .speed-switcher{margin-left:auto}
}
/* Admin: one page at a time, existing controls and handlers preserved. */
.admin-step-nav{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 12px}
.admin-step-nav button{flex:1;min-width:120px;padding:14px;border:1px solid #475569;border-radius:10px;background:#17212b;color:#fff;cursor:pointer}
.admin-step-nav button.active{background:var(--accent);border-color:var(--accent);color:#0a0c10}
.admin-step-hint{margin:0 0 18px;color:#b9c4d2}
.admin-step-page[hidden],.admin-step-footer button[hidden]{display:none!important}
.admin-step-page>section{margin-bottom:20px}
.admin-step-footer{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:22px 0}
.optional-access{margin-top:24px}.optional-access summary{cursor:pointer;color:#b9c4d2}
.admin-step-footer .primary{width:auto;margin-top:0}.admin-step-footer .result:empty{display:none}

.mmt-admin-logo{display:block;width:140px;height:140px;object-fit:contain;margin:0 auto 20px}.mmt-header-logo{width:70px;height:70px;object-fit:contain;margin-right:16px}.topbar:has(.mmt-header-logo)>div:first-of-type{margin-right:auto}
/* Full panorama lives in the video; the canvas renders an interactive view. */
.panorama360-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:1}
.panorama360-canvas[hidden]{display:none!important}
.panorama360-canvas:active{cursor:grabbing}
.protected-video-wrap,.monitor{position:relative}
.is-panorama360 .dynamic-watermark,.is-panorama360 .monitor-label{z-index:3;pointer-events:none}
