:root{color-scheme:dark;font-family:Segoe UI,Arial,sans-serif;background:#0b1018;color:#e9edf3;font-size:14px}*{box-sizing:border-box}body{margin:0}header{height:90px;border-bottom:1px solid #27303c;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#101721}.brand{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:2px}.brand-mark{font-size:35px;color:#7ce5c6}.brand small{display:block;font-size:9px;color:#8998ad;letter-spacing:3px;margin-top:6px}.header-right{display:flex;align-items:center;gap:22px;color:#90a0b6}.pill{font-size:10px;letter-spacing:1px;border:1px solid #34594e;border-radius:20px;color:#8bdbc1;padding:7px 11px}main{max-width:1500px;padding:40px 4vw;margin:auto}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:#7fe2c4}h1{font-size:34px;letter-spacing:-1px;margin:12px 0}p{color:#8f9db0;line-height:1.65}.intro p{margin:0}button{background:#1d2a39;color:#dce6f3;border:1px solid #354354;border-radius:7px;padding:12px 17px;cursor:pointer;font-weight:650}button:hover:enabled{background:#2b3c50}button:disabled{opacity:.4;cursor:not-allowed}button.primary,#login button{background:#91e6c9;color:#102b26;border-color:#91e6c9}button.record{background:#29303c}button.record.active{background:#a63142;border-color:#ed5b6b;color:white}button:focus-visible,input:focus-visible{outline:2px solid #8ce6ca;outline-offset:3px}#notice{margin-top:25px;background:#15212b;border:1px solid #2b3b4c;border-left:3px solid #7ad6bd;padding:13px 16px;border-radius:5px;color:#b0bdcd}#login{margin-top:20px;padding:20px;background:#141d29;border:1px solid #2b3748;border-radius:8px;max-width:650px}label{display:block;margin-bottom:10px}#login>div{display:flex;gap:10px}input{width:100%;min-width:0;background:#0c131d;border:1px solid #354354;border-radius:6px;padding:12px;color:white}small{color:#8796aa}#login small{display:block;margin-top:12px;line-height:1.5}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0;border:1px solid #293545;border-radius:9px;background:#111a26}.summary>div{padding:23px;border-right:1px solid #293545;min-width:0}.summary>div:last-child{border:0}.summary span{font-size:22px;font-weight:650;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary small{display:block;font-size:9px;letter-spacing:1.8px;margin-top:8px}.radios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.radio{border:1px solid #2a3646;background:#121c29;border-radius:10px;overflow:hidden}.card-head{padding:20px;display:flex;justify-content:space-between;align-items:center}.card-head h2{font-size:16px;margin:0;letter-spacing:1px}.badge{font-size:10px;letter-spacing:1px;color:#8493a8}.badge.live{color:#91e6c9}.viewport{aspect-ratio:16/9;background:radial-gradient(ellipse at center,#182536,#0c141f 75%);position:relative;display:grid;place-items:center;border-block:1px solid #273343}.viewport video{width:100%;height:100%;position:absolute;object-fit:contain}.placeholder{text-align:center;z-index:1;color:#8190a5}.placeholder b{display:block;font-size:28px;font-weight:300;margin-bottom:12px;color:#566e87}.placeholder small{display:block;margin-top:8px}.overlay{position:absolute;bottom:12px;left:14px;color:#b6c7d7;font-size:10px;background:#0b1018d9;padding:7px;border-radius:4px;z-index:2}.controls{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px;border-bottom:1px solid #293545}.controls button{font-size:12px;padding:10px 12px}.controls .record{margin-left:auto}.details{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.details small{display:block;font-size:9px;letter-spacing:1px;margin-bottom:6px}.details span{font-size:12px;color:#b7c4d4}.details .location{grid-column:1/-1}.footnote{display:flex;align-items:center;gap:13px;margin:22px 0}.footnote p{font-size:12px}.dot{width:7px;height:7px;background:#7edec0;border-radius:100%;flex-shrink:0}footer{padding:22px 4vw;border-top:1px solid #253040;display:flex;justify-content:space-between;color:#667b93;font-size:10px;letter-spacing:1px}#saved{color:#9ce3cb;line-height:2;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:780px){.radios{grid-template-columns:1fr}.intro{align-items:flex-start;flex-direction:column}.summary{grid-template-columns:1fr 1fr}.summary>div{border-bottom:1px solid #293545}h1{font-size:27px}.header-right{gap:8px}#clock{display:none}#login>div{flex-direction:column}}
.fleet-panel{margin:24px 0;background:#111a26;border:1px solid #293545;border-radius:9px;padding:22px}.fleet-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.fleet-heading h2{margin:0;font-size:18px}.fleet-heading span{color:#8ce6ca;font-size:12px}.fleet-panel label{font-size:11px;color:#94a7bd}.fleet-panel input{max-width:420px}.fleet-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:18px;text-align:left}th{font-size:10px;letter-spacing:1px;color:#8a9aaf;text-transform:uppercase}td,th{padding:14px 10px;border-bottom:1px solid #283545}td{font-size:13px}td small{display:block;margin-top:4px}.fleet-state{color:#91e6c9}.fleet-state.offline{color:#8a9aaf}.fleet-row.selected{background:#192c35}.empty-view{padding:35px;text-align:center;border:1px dashed #344354;border-radius:8px}.fleet-row button{font-size:12px;white-space:nowrap}

.release-panel{margin:20px 0;padding:16px;border:1px solid #293545;border-radius:8px}.release-panel a{color:#91e6c9;margin-left:16px}.release-panel small{display:block;margin-top:10px}.update-app{margin-top:10px}.app-version{font-weight:600}.update-status{max-width:230px;overflow-wrap:anywhere}

/* Fleet console: independently scrollable roster and a persistent video panel. */
header{height:66px;padding-inline:24px}main{max-width:1920px;padding:22px 24px}h1{font-size:26px;margin:6px 0}.intro p{font-size:12px}#notice{margin-top:14px;padding:10px 14px}.summary{margin:16px 0}.summary>div{padding:12px 16px}.summary span{font-size:19px}.summary small{margin-top:4px}
.operations-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);gap:20px;align-items:start}.fleet-column,.viewer-column{min-width:0}.fleet-panel{margin:0;padding:16px}.fleet-heading{margin-bottom:12px}.fleet-panel input{max-width:none}.fleet-scroll{max-height:calc(100dvh - 350px);min-height:240px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}table{table-layout:fixed;margin-top:12px}th{position:sticky;top:0;background:#111a26;z-index:1;font-size:9px;letter-spacing:.5px}td,th{padding:10px 6px;overflow-wrap:anywhere}td{font-size:12px}th:nth-child(1){width:20%}th:nth-child(2){width:12%}th:nth-child(3){width:10%}th:nth-child(4){width:15%}th:nth-child(5){width:18%}th:nth-child(6){width:25%}.fleet-row button{font-size:11px;padding:8px 6px;white-space:normal;max-width:100%}.fleet-row small{font-size:10px}.update-app{margin-top:6px}.release-panel{margin:12px 0 0;padding:12px;font-size:12px}.release-panel a{display:inline-block;margin:6px 0}.release-panel small{margin-top:4px}
.viewer-column{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;scrollbar-gutter:stable}.viewer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.viewer-heading h2{margin:0;font-size:18px}.viewer-heading span{font-size:12px;color:#91e6c9}.radios{grid-template-columns:1fr;gap:14px}.empty-view{margin:0;min-height:240px;display:grid;place-content:center;padding:24px}.card-head{padding:12px 16px}.controls{padding:12px;gap:6px}.details{padding:12px;gap:10px}.details .location{font-size:11px}.footnote{margin:12px 0}footer{padding:16px 24px}
@media(max-width:1050px){.operations-layout{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}main{padding:18px 14px}.fleet-panel{padding:12px}.fleet-scroll th:nth-child(4),.fleet-scroll td:nth-child(4){display:none}.fleet-scroll th:nth-child(1){width:23%}.fleet-scroll th:nth-child(2){width:14%}.fleet-scroll th:nth-child(3){width:12%}.fleet-scroll th:nth-child(5){width:23%}.fleet-scroll th:nth-child(6){width:28%}}
@media(max-width:780px){.operations-layout{display:flex;flex-direction:column}.viewer-column{order:-1;width:100%;position:static;max-height:none;overflow:visible}.fleet-column{width:100%}.fleet-scroll{max-height:65dvh;min-height:200px}.summary>div{padding:12px}.intro{gap:12px}header{padding-inline:14px}.empty-view{min-height:130px}.viewer-heading{margin-top:4px}}

.viewer-column .viewport{max-height:55dvh}.summary small{letter-spacing:.8px}.intro h1{font-size:24px}.intro #folder{font-size:12px;padding:10px}.summary>div{padding:12px 10px}
