:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#17233c;background:#f5f7fb;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button svg,a svg{width:19px;height:19px;flex-shrink:0}button{transition:background .15s,transform .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8999ff;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1px;font-weight:650;line-height:1.2}h2{font-size:20px;font-weight:650;letter-spacing:-.4px}h3{font-size:16px;font-weight:650}.muted{color:#798399;line-height:1.65}.eyebrow{color:#929aab;font-size:10px;letter-spacing:1.7px;font-weight:700}.brand{display:flex;align-items:center;font-size:25px;font-weight:700;letter-spacing:-1px;position:relative;padding-bottom:15px;gap:10px}.brand>svg{width:33px;height:33px;color:#8390ff}.brand>span{position:absolute;left:44px;top:29px;font-size:9px;letter-spacing:2px;font-weight:500;color:#a5afc8}.sidebar{position:fixed;width:248px;inset:0 auto 0 0;background:#14213b;color:#cbd3e4;padding:30px 20px 0;display:flex;flex-direction:column;z-index:5}.sidebar .brand{color:white;margin:0 12px 36px}.workspace{display:flex;gap:10px;padding:13px 8px;border-top:1px solid #2a3650;border-bottom:1px solid #2a3650;margin-bottom:30px;align-items:center}.workspace-mark{background:#35456a;border-radius:10px;display:grid;place-items:center;width:34px;height:34px;font-weight:700;color:#d3dcff}.workspace strong{font-size:12px;color:#e6eaf4}.workspace small{display:block;margin-top:5px;font-size:10px;color:#92a0ba}.nav-label{font-size:9px;letter-spacing:1.1px;color:#7b8ca9;padding-left:12px;margin-bottom:12px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:none;color:#99a9c3;width:100%;padding:13px 14px;margin:4px 0;border-radius:9px;text-align:left}.nav-item.active{background:#4e5fea;color:white;box-shadow:0 4px 15px #0d184533}.nav-item:not(.active):hover{background:#24334e;color:white}.nav-item b{margin-left:auto;background:#ffffff20;border-radius:5px;padding:2px 6px;font-size:10px}.sidebar-note{margin-top:auto;background:#1d2d49;border:1px solid #2b3b56;padding:17px;border-radius:12px}.sidebar-note>svg{width:25px;height:25px;color:#91a0ff;margin-bottom:12px}.sidebar-note strong{display:block;font-size:12px;line-height:1.6;color:#e0e7f8}.sidebar-note p{font-size:11px;line-height:1.7;margin:6px 0 15px;color:#9cabc6}.sidebar-note>span{font-size:9px;color:#8e9cbb}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid #2a3851;margin-top:24px;padding:20px 0}.avatar{background:#46577d;color:#e6ebfa;display:grid;place-items:center;width:34px;height:34px;border-radius:50%}.profile strong{font-size:11px;display:block}.profile small{font-size:10px;color:#8595b0;display:block;margin-top:4px}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#7a89a4}.icon-btn:hover{background:#e8edf6;color:#3e4b6b}.profile .icon-btn{margin-left:auto}.main-wrap{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:78px;border-bottom:1px solid #e6eaf1;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px;color:#8b94a6}.breadcrumb{color:#44516c;margin-left:13px}.local-status{display:flex;gap:7px;align-items:center;font-size:11px}.local-status i{width:6px;height:6px;background:#23a987;border-radius:50%}.content{padding:36px 38px 12px;max-width:1500px;width:100%;margin:auto auto 0;flex:1}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.page-title h1{margin:9px 0 8px}.primary,.secondary{border-radius:8px;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:12px;font-weight:600}.primary{background:#5264ef;border:1px solid #5264ef;color:white}.primary:hover{background:#4051d7}.secondary{border:1px solid #dce2ed;background:white;color:#54617b}.secondary:hover{background:#f0f3fc}.demo-banner{border:1px solid #dde4f9;background:#edf1ff;color:#687797;border-radius:8px;padding:12px 14px;display:flex;gap:11px;align-items:center;font-size:11px;line-height:1.6}.demo-tag{font-size:9px;letter-spacing:.8px;font-weight:700;color:#5969be;background:#dce3ff;padding:4px 7px;border-radius:4px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:24px 0 30px}.stats>div{background:white;border:1px solid #e6eaf2;border-radius:12px;padding:20px;display:flex;align-items:center;gap:14px}.stat-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:22px;height:22px}.blue{background:#edf0ff;color:#6171df}.green{background:#e7f6f0;color:#28a580}.amber{background:#fff3e6;color:#d19441}.stats small{display:block;font-size:11px;color:#8993a7;margin-bottom:7px}.stats strong{font-size:25px;display:flex;gap:10px;align-items:baseline;font-weight:650}.stats em{font-size:10px;font-style:normal;font-weight:400;color:#95a0b3}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.tabs{display:flex;gap:5px;background:#eaeef5;padding:4px;border-radius:8px}.tabs button{border:0;background:none;color:#8993a6;padding:9px 13px;font-size:11px;border-radius:6px;white-space:nowrap}.tabs .selected{background:white;color:#334563;box-shadow:0 2px 5px #2632560a;font-weight:600}.search{display:flex;gap:9px;align-items:center;color:#99a3b4}.search svg{width:17px;height:17px}.search input{border:0;background:transparent;outline:none;font-size:11px;width:190px;color:#43516c}.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.camera-card{background:white;border:1px solid #e2e7f0;border-radius:13px;overflow:hidden;box-shadow:0 4px 12px #1c305004}.camera-preview{border:0;display:block;width:100%;aspect-ratio:1.65;background:#24364a;position:relative;color:white;overflow:hidden}.camera-preview img{width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.7);transition:transform .3s}.camera-preview:hover img{transform:scale(1.03)}.camera-preview.offline{background:linear-gradient(140deg,#273346,#152034)}.preview-status{position:absolute;top:12px;left:12px;background:#122032bd;backdrop-filter:blur(5px);padding:5px 8px;border-radius:5px;display:flex;align-items:center;gap:6px;font-size:9px}.preview-status i,.dot{width:5px;height:5px;background:#54d4a0;border-radius:50%;display:inline-block}.preview-status.offline i,.dot.offline{background:#e7ae64}.preview-label{position:absolute;bottom:12px;left:13px;font-size:10px;color:#d5deed}.play-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffff20;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;width:44px;height:44px}.play-circle svg{width:21px;height:21px}.camera-info{padding:17px 18px 5px}.camera-info>small{color:#95a0b3;display:flex;gap:5px;align-items:center;font-size:10px}.camera-info>small svg{width:12px;height:12px}.camera-info h3{margin:10px 0 6px}.camera-info p{font-size:11px;color:#8993a5}.camera-foot{border-top:1px solid #edf0f5;margin-top:17px;display:flex;align-items:center;justify-content:space-between;padding:6px 0;color:#9aa4b5;font-size:9px}.bottom-note{border:1px solid #e4e9f2;border-radius:11px;margin:28px 0 10px;padding:21px;display:flex;align-items:center;gap:15px;background:#f9fbff}.bottom-note>span{background:#edf1fb;display:grid;place-items:center;border-radius:10px;min-width:39px;height:39px;color:#7c8bb6}.bottom-note>span svg{width:21px;height:21px}.bottom-note h3{font-size:13px}.bottom-note p{font-size:11px;color:#8c96a9;margin-top:5px;line-height:1.5}.text-btn{background:none;border:0;color:#5365d9;font-size:11px;display:inline-flex;align-items:center;gap:5px;padding:8px 0;cursor:pointer}.text-btn:hover{color:#273daf}.bottom-note .text-btn{margin-left:auto;white-space:nowrap}footer{padding:24px 38px;display:flex;justify-content:space-between;font-size:10px;color:#99a4b5}footer span{color:#a4adbd}.panel,.site-card{background:white;border:1px solid #e3e8f1;border-radius:12px;padding:25px}.site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px}.site-card h2{margin:18px 0 8px}.site-cameras{margin:24px 0 15px}.site-cameras button{border:0;border-top:1px solid #edf0f5;background:none;width:100%;display:flex;align-items:center;gap:10px;padding:15px 0;text-align:left;color:#4d5b76;font-size:12px}.site-cameras svg{margin-left:auto;width:16px}.site-card>small{font-size:11px;color:#94a0b3}.service-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:25px;align-items:start}.panel>h2{margin-bottom:15px}.panel>.stat-icon{margin-bottom:18px}.panel>p{font-size:12px}.count{font-size:12px;background:#edf0f6;color:#8591a8;border-radius:5px;padding:3px 7px;margin-left:7px}.empty{padding:45px 20px;text-align:center;color:#93a0b5;font-size:14px}.empty p{font-size:12px;margin-top:8px}.camera-grid>.empty{grid-column:1/-1}form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5f6d86;margin:21px 0}input,select,textarea{border:1px solid #dfe5ef;background:#fbfcfe;padding:11px 12px;border-radius:7px;color:#36445e;max-width:100%}textarea{resize:vertical;line-height:1.6}.ticket{border-top:1px solid #e8edf5;padding:20px 0}.ticket>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.ticket-id{font-size:10px;color:#98a1b1}.ticket h3{margin:14px 0 9px;font-size:14px}.ticket p{font-size:12px;color:#6f7b90;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.badge{display:inline-flex;font-size:10px;border-radius:5px;padding:5px 8px;background:#edf0f7;color:#7885a0}.badge.open{background:#fff2e1;color:#bf8837}.badge.in_progress{background:#eaf0ff;color:#5b75c2}.badge.closed{background:#e6f6ef;color:#379b77}.status-select{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#92a0b3;margin-top:15px}.status-select select{font-size:11px;padding:7px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-heading .muted{font-size:11px}.audit-table{overflow:auto}.audit-row{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:20px;border-top:1px solid #edf0f6;padding:17px 0;min-width:500px;font-size:11px;color:#8490a4;align-items:center}.audit-row strong{font-size:12px;font-weight:500;color:#4c5c78;display:block}.audit-row small{display:block;font-size:10px;margin-top:5px}.audit-head{border-top:0;color:#a2aabd;font-size:10px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.login-story{background:radial-gradient(ellipse at 110% 70%,#3b4f8c,transparent 65%),#15233e;color:white;padding:45px 60px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.login-story:after{content:'';width:200px;height:200px;border:1px solid #ffffff12;position:absolute;right:0;bottom:100px;border-radius:50%;box-shadow:0 0 0 40px #ffffff05,0 0 0 80px #ffffff03}.login-story .eyebrow{color:#8b9ac6}.login-story h1{font-size:68px;line-height:1.07;letter-spacing:-3px;margin:23px 0}.login-story p{font-size:15px;line-height:1.9;color:#a8b7d6}.story-foot{display:flex;justify-content:space-between;font-size:10px;color:#90a0bf}.login-form{padding:70px 65px;max-width:600px;align-self:center;justify-self:center;width:100%}.pill{display:inline-flex;font-size:10px;color:#6a7ac1;background:#f0f3ff;border-radius:20px;padding:7px 12px;margin-bottom:24px}.login-form h2{font-size:29px;margin-bottom:12px}.login-form>.muted{font-size:13px;margin-bottom:28px}.account{width:100%;display:flex;align-items:center;text-align:left;gap:14px;background:white;border:1px solid #e0e5ef;border-radius:10px;padding:17px;margin-bottom:12px;color:#34425e}.account:hover{background:#f6f8ff;border-color:#c3cdf5}.account-icon{background:#edf1ff;border-radius:9px;padding:10px;display:grid;place-items:center;color:#6678d6}.account>svg{margin-left:auto;color:#9aa7be;width:16px}.account strong{font-size:12px}.account small{font-size:10px;display:block;margin-top:5px;color:#94a0b3}details{margin-top:25px;color:#8995aa;font-size:11px}summary{cursor:pointer}.login-note{border-top:1px solid #edf0f4;margin-top:30px;padding-top:20px;display:flex;gap:10px;align-items:start;font-size:10px;line-height:1.8;color:#94a0b3}.login-note svg{width:22px;min-width:22px;color:#98a8c8}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#18253e;color:white;box-shadow:0 5px 30px #18253e30;padding:14px 23px;border-radius:10px;z-index:99;max-width:90vw;pointer-events:none;transition:.2s;font-size:12px}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:16px;padding:28px;width:min(1050px,94vw);max-height:92vh;overflow:auto;color:#1d2b45;box-shadow:0 25px 100px #0b183845}dialog::backdrop{background:#10203eb8;backdrop-filter:blur(4px)}.player-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.player-heading h2{margin-top:7px}.player-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:26px}.video-box{background:#111d30;border-radius:10px;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}.video-box video{width:100%;height:100%;max-height:45vh}.video-empty{text-align:center;padding:30px;color:#d0dbeb}.video-empty svg{width:35px;height:35px;margin-bottom:16px;color:#7c90b6}.video-empty p{margin-top:10px;font-size:12px;color:#90a0bd;line-height:1.6}.video-disclaimer{display:flex;gap:9px;align-items:center;margin:12px 0 26px}.video-disclaimer p{font-size:10px;color:#8d9ab0;line-height:1.6}.archive-box{border:1px solid #e6ebf3;border-radius:9px;padding:18px}.archive-box>h3{display:flex;align-items:center;gap:7px;font-size:14px}.archive-box>h3 svg{width:18px}.archive-box>.muted{font-size:11px;margin:10px 0 15px}#archive-results{font-size:11px;color:#8c9bb2}.archive-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f6f8fd;padding:12px;border-radius:7px}.archive-item>span svg{width:22px}.archive-item strong{display:block;font-size:11px;color:#5d6d88}.archive-item small{display:block;font-size:9px;margin-top:5px}.archive-item .text-btn{font-size:10px}.archive-item .text-btn:first-of-type{margin-left:auto}.player-aside h3{margin:20px 0 12px;font-size:13px}dl{margin:0}dt{color:#9aa5b7;font-size:10px;margin-top:15px}dd{margin:5px 0 0;font-size:12px;color:#5b6b85}.access-box{background:#f5f7fc;border:1px solid #e7ecf5;border-radius:9px;padding:15px;margin:25px 0 16px}.access-box>svg{width:22px;height:22px;color:#879bc4}.access-box h3{margin:10px 0}.access-box p{font-size:11px;color:#8796ad;line-height:1.7;margin-bottom:12px}.full{width:100%}.loading{padding:60px;color:#8e9bb1}
@media(min-width:1500px){.content{margin-top:0}.camera-grid{gap:26px}.camera-preview{aspect-ratio:1.8}}
@media(max-width:1100px){.sidebar{width:210px;padding:26px 14px 0}.main-wrap{margin-left:210px}.content{padding:28px 25px 12px}.topbar{padding:0 25px}.stats>div{padding:16px;gap:10px}.stats em{display:none}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-note{padding:12px}.workspace strong{font-size:11px}.profile strong{font-size:10px}.login-story{padding:35px}.login-story h1{font-size:55px}.login-form{padding:45px 35px}.bottom-note{flex-wrap:wrap}.bottom-note .text-btn{margin-left:54px}.player-grid{grid-template-columns:minmax(0,1fr) 210px}.service-layout{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.sidebar{position:static;width:100%;padding:17px 18px 10px;display:block}.sidebar .brand{font-size:22px;margin:0 0 12px}.sidebar .brand>span{top:26px}.workspace,.nav-label,.sidebar-note,.profile{display:none}.sidebar nav{display:flex;gap:4px;overflow:auto}.nav-item{width:auto;white-space:nowrap;padding:10px;font-size:10px;gap:6px;margin:0;flex-shrink:0}.nav-item svg{width:16px;height:16px}.main-wrap{margin:0}.topbar{height:48px;padding:0 18px;font-size:10px}.breadcrumb{margin-left:5px}.local-status{font-size:9px}.content{padding:24px 18px 10px}.page-title{align-items:start;margin-bottom:18px}.page-title h1{font-size:27px}.page-title .muted{font-size:11px}.page-title .secondary{padding:9px;font-size:10px;margin-top:15px}.eyebrow{font-size:9px}.demo-banner{font-size:10px;align-items:start}.stats{gap:8px;margin:17px 0}.stats>div{padding:12px 10px;gap:8px;align-items:start}.stat-icon{width:30px;height:30px;border-radius:8px}.stat-icon svg{width:17px;height:17px}.stats small{font-size:8px;line-height:1.5;margin-bottom:5px}.stats strong{font-size:21px}.toolbar{align-items:stretch;flex-direction:column;gap:14px}.tabs{align-self:start}.tabs button{padding:9px 12px}.search{background:white;border:1px solid #e3e8f1;padding:11px;border-radius:8px}.search input{width:100%}.camera-grid{grid-template-columns:1fr;gap:18px}.camera-preview{aspect-ratio:1.8}.camera-info{padding:17px 18px 5px}.camera-info h3{font-size:17px}.camera-info p{font-size:12px}.preview-status{font-size:10px}.camera-foot{font-size:10px}.bottom-note{padding:16px;gap:10px}.bottom-note>div{flex:1}.bottom-note .text-btn{margin-left:49px}.bottom-note p{font-size:10px}.site-grid,.service-layout{grid-template-columns:1fr}.panel,.site-card{padding:20px}.panel-heading h2{font-size:17px}footer{padding:20px 18px;line-height:1.8;flex-direction:column;gap:4px}.login{grid-template-columns:1fr}.login-story{padding:26px 24px}.login-story>.brand{margin-bottom:32px}.login-story h1{font-size:42px;line-height:1.1;margin:15px 0}.login-story h1 br:nth-of-type(2){display:none}.login-story p{font-size:12px}.story-foot{display:none}.login-form{padding:30px 24px}.login-form h2{font-size:26px}.player-grid{grid-template-columns:1fr}.player-aside{border-top:1px solid #e5eaf2;padding-top:15px}dialog{padding:20px;width:96vw;border-radius:12px;max-height:94vh}.video-box video{max-height:none}.archive-item{gap:10px}.archive-item .text-btn:first-of-type{margin-left:0}.video-disclaimer{align-items:start}.player-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:4px}.player-aside dd{align-self:center}.access-box{margin:18px 0}.player-heading h2{font-size:20px}.account{padding:15px}.login-story:after{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.archive-box h3 svg{width:19px;height:19px;flex-shrink:0}.archive-box .panel-heading{gap:12px;flex-wrap:wrap}.archive-box .archive-item{flex-wrap:wrap}.archive-box #archive-results,.archive-box #original-results{max-height:300px;overflow:auto}.archive-item>span svg{width:20px;height:20px}.video-box video{width:100%;aspect-ratio:16/9}.preview-label{max-width:90%}
.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:24px;align-items:start}.settings-camera{padding:18px 0;border-bottom:1px solid #e7ecf5}.settings-camera small{display:block;color:#798399;margin-top:7px;overflow-wrap:anywhere}.settings-camera>div:last-child{display:flex;gap:14px;margin-top:10px}.connection-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-label{display:flex;align-items:center;gap:9px}.checkbox-label input{width:auto}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-defaults{padding:14px;background:#f5f7fc;border-radius:9px;line-height:1.7;color:#65718b;margin:18px 0}#connection-result{margin-top:15px}#check-video{width:100%;margin-top:14px;background:#14213b;border-radius:10px}#check-video[hidden]{display:none}@media(max-width:1000px){.settings-layout{grid-template-columns:1fr}.connection-fields{grid-template-columns:1fr}}
.panel form label.checkbox-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px}.panel form label.checkbox-label input{width:16px;margin:0;flex:none}
.archive-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.archive-controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#65718b}.archive-controls input,.archive-controls select{padding:9px;border:1px solid #dce2ee;border-radius:7px;background:white;min-width:100px;color:#17233c}.archive-controls button{min-height:38px}.archive-zone{font-size:11px;margin:12px 0}.archive-track{height:42px;background:#e4e8ef;border-radius:7px;position:relative;overflow:hidden}#archive-bands{position:absolute;inset:0}.archive-band{position:absolute;top:7px;bottom:7px;background:#2baf86;min-width:2px}#archive-marker{position:absolute;top:0;bottom:0;width:2px;background:#475ded;pointer-events:none;z-index:2}#archive-scrubber{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:3}.archive-track:focus-within{outline:3px solid #8999ff;outline-offset:3px}.archive-ticks{display:flex;justify-content:space-between;font-size:10px;color:#798399;margin-top:7px}.archive-legend{display:flex;gap:15px;font-size:11px;color:#798399;margin-top:12px}.archive-legend span:first-child{color:#218362}.archive-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}#archive-info{font-size:12px;margin-top:12px}.archive-actions [hidden]{display:none}.archive-box #archive-results{max-height:none;overflow:visible}
.archive-track{overflow:visible}#archive-selection{position:absolute;top:0;bottom:0;pointer-events:none;background:rgba(75,94,238,.2);border:2px solid #4b5eee;z-index:2}#archive-selection[hidden]{display:none}.archive-bound{position:absolute;inset:0;width:100%;height:100%;margin:0;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;z-index:4}.archive-bound::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:24px;border:2px solid white;border-radius:3px;background:#475ded;cursor:ew-resize;pointer-events:auto;box-shadow:0 1px 5px #475ded66}.archive-bound-start{transform:translateY(-10px)}.archive-bound-end{transform:translateY(10px)}.archive-bound:focus-visible{outline:2px solid #8999ff;outline-offset:3px}.archive-bound[hidden]{display:none}.archive-export-box{border-top:1px solid #e4e8ef;margin-top:20px;padding-top:18px}.archive-export-box h3{margin-bottom:8px}.archive-export-box>.muted{font-size:12px;line-height:1.6;margin:10px 0}.archive-export-box #export-download{display:inline-flex;margin-top:8px}.archive-export-box #export-download[hidden]{display:none}
#export-job{margin-top:14px;padding:14px;background:#f3f6fb;border-radius:10px}#export-progress{width:100%;height:18px;accent-color:#475ded}#export-file[hidden],#export-cancel[hidden],#export-job[hidden]{display:none}#export-job .primary{display:inline-flex;margin:8px}
.archive-preview{margin:12px 0;padding:10px;border-radius:10px;background:#f3f6fb;min-height:44px}.archive-preview img{width:240px;max-width:100%;border-radius:8px}.archive-preview figcaption{font-size:12px;color:#596781}.archive-preview img[hidden]{display:none}#archive-bookmark-markers{position:relative;height:24px}.bookmark-marker{position:absolute;transform:translateX(-50%);color:#b96600;background:transparent;border:0;padding:2px;cursor:pointer}.archive-notes{border-top:1px solid #e4e8ef;padding-top:16px;margin-top:20px}.archive-notes label{display:block;margin:8px 0}.archive-notes input,.archive-notes textarea{width:100%}.archive-actions{flex-wrap:wrap}
.saved-material{border-top:1px solid #dfe5ef;padding:18px 0}.saved-video{width:100%;max-height:60vh;background:#111;border-radius:10px}.saved-material .archive-actions{display:flex;gap:10px;flex-wrap:wrap}.saved-material p{overflow-wrap:anywhere}@media(max-width:700px){.archive-controls{display:grid;grid-template-columns:1fr 1fr}.archive-controls input{min-width:0;width:100%}.archive-notes .archive-actions{display:grid}.archive-notes button{width:100%}.player-grid{display:block}.player-aside{margin-top:18px}.archive-preview img{width:100%}}
.mosaic-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.mosaic-single{grid-template-columns:1fr}.mosaic-tile{border:1px solid #dfe5ef;border-radius:12px;padding:12px;min-width:0}.mosaic-tile video{width:100%;aspect-ratio:4/3;max-height:65vh;background:#111827;display:block;margin:10px 0}.mosaic-tile select{max-width:100%}@media(max-width:700px){.mosaic-grid{grid-template-columns:1fr}}
.archive-track #archive-bookmark-markers{position:absolute;top:-25px;left:0;width:100%;height:24px;pointer-events:none;z-index:5}.archive-track .bookmark-marker{pointer-events:auto;font-size:18px}.archive-track{margin-top:32px}
.mosaic-tile .text-btn{margin-right:12px;margin-bottom:8px}.mosaic-tile label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#accounts-panel form{display:grid;gap:12px;max-width:560px;margin:18px 0 28px}#accounts-panel label{display:grid;gap:6px}#accounts-panel input,#accounts-panel select{width:100%}#accounts-panel h2{margin-top:24px}#accounts-panel #logout-all{margin-bottom:20px}
#device-settings{margin-bottom:24px}#device-settings form{display:grid;gap:12px;max-width:800px}#device-settings label{display:grid;gap:6px}#device-settings input,#device-settings select{width:100%;min-width:0}#device-settings output{display:block;font-size:22px;letter-spacing:1px;overflow-wrap:anywhere;margin-top:10px}#device-settings .settings-camera>div:last-child{display:flex;flex-wrap:wrap;gap:8px;max-width:360px}#device-settings .muted{line-height:1.6}

.camera-control-result{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:320px;overflow:auto}

.live-quality{display:inline-flex;gap:10px;align-items:center;margin:12px}.share-row{border-top:1px solid #e2e8f0;padding:8px 0}.share-row p{margin:6px 0}#camera-shares textarea{width:100%;box-sizing:border-box;overflow-wrap:anywhere;resize:vertical;font-size:12px}#camera-shares label{display:block;margin:12px 0}

/* Phone controls share the existing desktop state and authorization. */
.mobile-menu-toggle,.player-mobile-nav{display:none}
.archive-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.archive-presets [aria-pressed="true"]{background:#e6ebff;border-color:#5264ef;color:#263aa8}
#export-parts .settings-camera>div{display:block;min-width:0}
#export-parts progress{display:block;width:100%;margin:12px 0;accent-color:#5264ef}
#export-parts .archive-actions{display:flex;flex-wrap:wrap}
@media(max-width:720px),(max-width:920px) and (pointer:coarse){
 :root{font-size:15px}html,body{max-width:100%;min-width:0}html:has(dialog[open]){overflow:hidden}
 button,.primary,.secondary,.text-btn,.icon-btn,summary{min-height:44px}
 .icon-btn{min-width:44px;flex-shrink:0}input:not([type="range"]):not([type="checkbox"]),select,textarea{font-size:16px;min-height:44px;min-width:0;max-width:100%;box-sizing:border-box}
 input[type="checkbox"]{width:22px;height:22px}.checkbox-label{min-height:44px}
 .sidebar{position:relative;width:100%;display:block;padding:16px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
 .main-wrap{margin-left:0}.camera-grid{grid-template-columns:minmax(0,1fr)}
 .sidebar .brand{margin:0;max-width:calc(100% - 145px)}
 .mobile-menu-toggle{display:inline-flex;position:absolute;top:16px;right:max(16px,env(safe-area-inset-right));background:#243650;color:#fff;border-color:#465874;font-size:13px}
 .sidebar nav{display:none}.sidebar.mobile-open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:16px;overflow:visible}
 .sidebar .nav-item{width:100%;font-size:13px;white-space:normal;text-align:left;min-width:0;padding:10px;min-height:44px}
 .sidebar.mobile-open .profile{display:flex;margin-top:12px;padding:12px 0 0}.profile strong{font-size:13px}.profile small{font-size:12px}
 .topbar{height:auto;min-height:44px;gap:8px;padding:10px 16px}.topbar>span{min-width:0;overflow-wrap:anywhere}.local-status{flex-shrink:0}
 .content{padding:20px 16px 12px;min-width:0}.page-title{gap:10px}.page-title h1{font-size:25px}.page-title .secondary{font-size:12px;flex-shrink:0;margin-top:8px}
 .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats>div{display:block;padding:10px}.stats .stat-icon{display:none}.stats small{font-size:11px}.stats strong{font-size:23px}
 .tabs{max-width:100%;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.tabs button{font-size:12px;padding:8px 4px;white-space:normal}.search input{font-size:16px}
 .panel,.site-card{padding:16px;min-width:0}.settings-layout,.service-layout,.site-grid{grid-template-columns:minmax(0,1fr)}.settings-camera>div:last-child{flex-wrap:wrap;min-width:0}
 .camera-info p,.camera-info small,.muted{overflow-wrap:anywhere}.bottom-note{align-items:start}.bottom-note>div{min-width:0}.bottom-note .text-btn{margin-left:0;white-space:normal}
 .login-story{padding:22px 20px}.login-story h1{font-size:32px}.login-story>.brand{margin-bottom:10px}.login-story p{font-size:14px}.login-form{padding:24px 20px}.login-form .primary{width:100%}
 dialog#player{--player-head:calc(72px + env(safe-area-inset-top));position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;padding:0 12px max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .player-heading{position:sticky;top:0;height:var(--player-head);background:#fff;z-index:12;margin:0 -12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));min-height:72px;gap:12px}
 .player-heading>div{min-width:0}.player-heading h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:18px;overflow-wrap:anywhere;margin-top:4px}.player-heading .eyebrow{font-size:10px}
 .player-mobile-nav{position:sticky;top:var(--player-head);z-index:11;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 0;background:#fff;margin-bottom:12px}
 .player-mobile-nav button{border:1px solid #d9e0ed;border-radius:8px;background:#f3f6fb;color:#3d4d68;font-size:14px;font-weight:600}.player-mobile-nav .selected{background:#5264ef;border-color:#5264ef;color:#fff}
 .player-grid{display:block;min-width:0}.player-grid>div,.player-aside{min-width:0}.video-box,.archive-box,.archive-export-box{scroll-margin-top:140px}
 .video-box{width:100%;border-radius:8px}.video-box video{object-fit:contain;max-height:65dvh}.video-box iframe{max-width:100%;max-height:65dvh}
 .video-disclaimer{margin-bottom:12px;align-items:start}.video-disclaimer p{font-size:13px;color:#53617a}.live-quality{display:grid;gap:6px;margin:12px 0 18px;font-size:14px;color:#40506b}.live-quality select{width:100%;min-width:0}
 #watch-live{width:100%}.archive-box{padding:12px;min-width:0}.archive-box>.muted{font-size:13px;color:#596881}.archive-box .panel-heading h3{font-size:15px}
 .archive-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.archive-controls label{min-width:0;font-size:14px;color:#4b5a74}.archive-controls input,.archive-controls select{width:100%;min-width:0}.archive-controls button{width:100%}
 .archive-actions{gap:8px}.archive-actions button,.archive-actions a{font-size:14px;padding:10px 12px;justify-content:center;line-height:1.4;text-align:center}.archive-actions label{display:flex;align-items:center;gap:8px;min-width:0}
 .archive-zone,.archive-ticks,.archive-legend{font-size:12px}.archive-zone{overflow-wrap:anywhere}.archive-track{height:48px;margin-top:58px;margin-bottom:26px;touch-action:pan-y}
 .archive-bound-start{transform:translateY(-24px)}.archive-bound-end{transform:translateY(24px)}.archive-bound::-webkit-slider-thumb{width:44px;height:44px;border-radius:8px}.archive-bound::-moz-range-thumb{width:40px;height:40px;border-radius:8px;background:#475ded;pointer-events:auto}
 .archive-track #archive-bookmark-markers{top:-56px;height:44px}.bookmark-marker{min-width:44px;min-height:44px}
 .archive-preview{padding:8px}.archive-preview figcaption,#archive-info,#export-info{font-size:13px;color:#4d5e78}
 .archive-export-box .archive-controls{grid-template-columns:minmax(0,1fr)}.archive-export-box>label{display:grid;gap:8px;font-size:14px}.archive-export-box>label select{width:100%}
 .archive-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.archive-presets button{padding:8px 4px;font-size:14px}#export-download{width:100%;min-height:48px}
 #export-parts .settings-camera{border:1px solid #dce3f0;border-radius:10px;padding:14px;margin-top:12px;background:#f8faff}#export-parts strong{font-size:15px;line-height:1.5}#export-parts small{font-size:13px;line-height:1.6;color:#52617a}#export-parts p{font-size:14px;line-height:1.6;color:#445570}#export-parts .archive-actions{display:grid;grid-template-columns:1fr}#export-parts .archive-actions>*{width:100%;white-space:normal}
 .archive-notes .archive-actions{display:grid;grid-template-columns:1fr}.player-aside dl{gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.player-aside dd{overflow-wrap:anywhere}.access-box p{font-size:13px;color:#536581}.access-box summary{display:flex;align-items:center;font-size:14px;color:#344765}
 #camera-clock-settings label,#camera-shares label{display:grid;gap:8px}#camera-clock-settings input,#camera-clock-settings select,#camera-shares select{width:100%}#camera-shares textarea{font-size:16px}
 #toast{max-width:calc(100vw - 24px);white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:380px){.archive-controls{grid-template-columns:minmax(0,1fr)}.player-heading h2{font-size:16px}.topbar .local-status{display:none}.stats small{font-size:10px}.stats>div{padding:8px}.mobile-menu-toggle{font-size:12px;padding:8px}.sidebar .brand{font-size:20px}}
@media(max-width:920px) and (max-height:500px) and (orientation:landscape){dialog#player{max-height:100dvh;--player-head:56px}.video-box video{max-height:65dvh}.player-heading{min-height:56px;padding-top:6px;padding-bottom:6px}.player-mobile-nav{top:var(--player-head)}.video-box,.archive-box,.archive-export-box{scroll-margin-top:120px}}

@media(max-width:720px),(max-width:920px) and (pointer:coarse){.muted,.stats small,.camera-info>small,.camera-info p{color:#59677e}.player-heading .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.player-aside .badge{font-size:12px}.archive-presets button{white-space:nowrap}}

@media(max-width:720px),(max-width:920px) and (pointer:coarse){#export-parts strong{color:#243751}}

[data-new-client-fields][hidden],[data-user-new-fields][hidden],[data-camera-web-link][hidden]{display:none!important}#camera-web-settings p{margin:12px 0}#camera-web-settings a{white-space:normal;text-align:center}
.native-settings-form{border-top:1px solid #dce3f0;padding-top:14px;margin-top:18px;min-width:0}.native-settings-form h4{font-size:14px;color:#263c5c}.native-settings-form label{display:grid;gap:7px;margin:12px 0;font-size:14px;color:#344765}.native-settings-form input{width:100%;min-height:44px;font-size:16px}.native-settings-form .native-checkbox{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:44px;text-align:left}.native-settings-form .native-checkbox input{width:22px;height:22px;min-height:22px;flex:none}.native-settings-form p{overflow-wrap:anywhere;line-height:1.6}#camera-native-settings [data-native-status]{overflow-wrap:anywhere}

/* PWA install UI lives outside the rendered cabinet; no video or account data offline. */
.pwa-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:20px;padding:24px;color:#14283e;box-sizing:border-box}.pwa-dialog::backdrop{background:rgba(13,27,52,.5)}.pwa-dialog h2{margin:0;font-size:24px}.pwa-dialog li{margin:10px 0;line-height:1.5}.pwa-dialog p{line-height:1.6}.pwa-dialog button{min-height:44px}.pwa-dialog [data-pwa-confirm]{margin:8px 0}.pwa-network{position:fixed;inset:0 0 auto;z-index:10000;background:#fff3cd;color:#664d03;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;text-align:center;font-size:14px}[hidden]{display:none!important}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}
