:root{--color-primary:#1764b5;--color-primary-hover:#1459a6;--color-surface-header:#11263e;--color-success:#238b64;--color-success-bg:#dcf4e8;--color-success-text:#176443;--color-danger:#bd3932;--color-danger-bg:#fde5e4;--color-danger-text:#982d28;--color-warning-bg:#fff0d3;--color-warning-text:#79520c;--color-accent:#137d80;--color-accent-text:#146c76;--color-accent-bg:#edf8f7;--color-focus-ring:#e29a30;--color-border:#dbe2ec;--color-border-input:#b9c7d8;--color-text:#1b293d;--color-text-muted:#52647a;--color-surface:#edf1f5;--color-surface-panel:#ffffff;--color-secondary-bg:#e4ebf4;--color-secondary-text:#173654;--color-input-bg:#ffffff;--color-neutral-bg:#edf0f3;--color-surface-subtle:#f8fafb;--color-row-hover:#f7fafb;--dark-surface:#10161d;--dark-text:#e6edf5;--dark-border:#2c3946;--dark-muted:#a9b8c7;--radius-sm:5px;--radius-md:8px;--radius-lg:10px;--shadow-card:0 2px 8px #10294004;--shadow-card-strong:0 3px 10px #081b3014}
:root[data-theme=dark]{--color-primary:#2c66a8;--color-primary-hover:#4599e6;--color-success-bg:#153524;--color-success-text:#8fe6b8;--color-danger-bg:#3b1613;--color-danger-text:#ffb3ab;--color-warning-bg:#3a2708;--color-warning-text:#ffcf7a;--color-accent:#137d80;--color-accent-text:#8fd6d3;--color-accent-bg:#0f2e2e;--color-border:var(--dark-border);--color-border-input:#3a4b5c;--color-text:var(--dark-text);--color-text-muted:var(--dark-muted);--color-surface:var(--dark-surface);--color-surface-panel:#1a2430;--color-secondary-bg:#2b3742;--color-secondary-text:#d3dde6;--color-input-bg:#1e2833;--color-neutral-bg:#242e38;--color-surface-subtle:#212c37;--color-row-hover:#202b36}
*{box-sizing:border-box}body{margin:0;background:#f3f5f8;color:var(--color-text);font:15px/1.5 system-ui,sans-serif}header{display:flex;align-items:center;gap:36px;background:var(--color-surface-header);color:white;padding:18px 5%}a{color:var(--color-primary-hover);text-decoration:none}header a{color:#e2edfa}.brand{font-size:22px;font-weight:750}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:1px}nav{display:flex;gap:24px;flex:1}header form{margin:0}main{max-width:1180px;margin:36px auto;padding:0 24px;min-height:65vh}h1{font-size:28px;margin:0 0 8px}h2{font-size:18px}p.muted,small,.muted{color:var(--color-text-muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:26px 0}.card,.panel{background:var(--color-surface-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.card strong{display:block;font-size:30px;margin-top:12px}.table-wrap{overflow:auto;background:var(--color-surface-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px;border-bottom:1px solid #e5eaf0}th{font-size:12px;text-transform:uppercase;color:var(--color-text-muted)}button,.button{display:inline-block;border:0;border-radius:6px;background:var(--color-primary);color:white;padding:10px 16px;cursor:pointer;font:inherit}.secondary{background:var(--color-secondary-bg);color:var(--color-secondary-text)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block;font-weight:600;font-size:13px}input,select,textarea{display:block;width:100%;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);padding:10px;font:inherit;margin-top:6px;background:var(--color-input-bg);color:var(--color-text)}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}.wide{grid-column:1/-1}.actions{margin-top:24px;display:flex;gap:12px}.notice{padding:14px;background:var(--color-success-bg);border-left:4px solid var(--color-success)}.errors{padding:14px;background:var(--color-danger-bg);border-left:4px solid var(--color-danger)}.login{max-width:430px;margin:65px auto}.login label{margin:20px 0}footer{padding:24px;text-align:center;color:var(--color-text-muted);font-size:12px}.badge{background:#edf2f8;padding:3px 8px;border-radius:4px;font-size:12px}.badge+.badge{margin-left:6px}
.info-tip{position:relative;display:inline-flex;cursor:help;color:var(--color-text-muted);vertical-align:middle}
.info-tip .camera-icon{width:16px;height:16px}
.info-tip-bubble{display:none;position:absolute;top:22px;left:0;width:220px;background:var(--color-surface-header);color:#fff;padding:8px;border-radius:var(--radius-sm);z-index:4;font-size:12px;line-height:1.4;font-weight:400;text-transform:none}
.info-tip:hover .info-tip-bubble,.info-tip:focus .info-tip-bubble{display:block}
.recording-toggle{display:inline-flex}
.directory-actions .recording-toggle{margin-left:auto}
.recording-toggle-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-warning-text);border-radius:var(--radius-sm);background:transparent;color:var(--color-warning-text);padding:6px 10px;font-size:12px;font-weight:650;line-height:1.3;cursor:pointer;white-space:nowrap}
.recording-toggle-button .camera-icon{width:15px;height:15px}
.recording-toggle-button[data-recording-action=start]{border-color:var(--color-success-text);background:var(--color-success-bg);color:var(--color-success-text)}
.recording-toggle-button:hover:not(:disabled){background:var(--color-warning-bg)}
.recording-toggle-button[data-recording-action=start]:hover:not(:disabled){filter:brightness(0.96)}
.recording-toggle-button:disabled{opacity:.65;cursor:not-allowed;border-color:var(--color-border);background:var(--color-border);color:var(--color-text-muted)}
#recording-submit{background:var(--color-accent)}
.recording-control{margin:10px 0}
.recording-control .recording-toggle{display:flex}
.recording-pause-chips{border:0;margin:14px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.recording-pause-chips legend{font-size:12px;font-weight:600;padding:0 0 6px;width:100%}
.recording-pause-chip{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border-input);border-radius:999px;padding:0 14px;min-height:44px;font-size:13px;font-weight:500;cursor:pointer}
.recording-pause-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.recording-pause-chip:has(input:checked){border-color:var(--color-warning-text);background:var(--color-warning-bg);color:var(--color-warning-text);font-weight:650}
.recording-pause-chip:has(input:focus-visible){outline:3px solid var(--color-focus-ring);outline-offset:2px}
.badge[data-state=paused]{background:var(--color-warning-bg);color:var(--color-warning-text)}
.camera-thumbnail[data-recording-paused]{position:relative}
.camera-thumbnail[data-recording-paused] img{opacity:.5}
.camera-thumbnail[data-recording-paused]::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(45deg,var(--color-warning-text) 0,var(--color-warning-text) 2px,transparent 2px,transparent 10px);opacity:.25}
.badge[data-state=stopping],.badge[data-state=connecting],.badge[data-state=configuring],.badge[data-state=transitioning]{animation:recording-pulse 1.6s ease-in-out infinite}
@keyframes recording-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.badge[data-state=stopping],.badge[data-state=connecting],.badge[data-state=configuring],.badge[data-state=transitioning]{animation:none}}
.recording-history{margin-top:8px;font-size:12px}
.recording-history summary{min-height:44px;padding:11px 0;cursor:pointer}
.recording-history ul{list-style:none;margin:0;padding:0}
.recording-history li{padding:4px 0;overflow-wrap:anywhere}
@media(max-width:720px){.recording-toggle-button{min-height:44px}}.empty{padding:40px;text-align:center}code{font-size:12px;overflow-wrap:anywhere}@media(max-width:720px){header{flex-wrap:wrap;gap:12px}nav{gap:14px;flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.toolbar{align-items:start;gap:12px}main{padding:0 15px}}

.camera-icon{width:20px;height:20px;flex:none;vertical-align:middle}.camera-heading{display:flex;align-items:center;gap:10px;margin-top:8px}.camera-heading>.camera-icon{width:28px;height:28px;color:#276a91}.camera-statuses{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.camera-statuses .badge{display:inline-flex;align-items:center;gap:6px}.camera-statuses .muted,.camera-observed-at{font-size:12px}.camera-technical{margin:16px 0;border-top:1px solid var(--color-border)}.camera-technical-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}.camera-technical-strip>div{min-width:0}.camera-technical dt{font-size:12px;color:var(--color-text-muted)}.camera-technical dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.camera-technical summary{padding:8px 0;font-weight:600;font-size:13px}.camera-technical details p{font-size:12px}@media(max-width:720px){.camera-technical-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.camera-technical summary{min-height:44px}.camera-heading{align-items:flex-start}}
.camera-filters{display:grid;grid-template-columns:2fr 2fr 1.5fr auto;gap:14px;align-items:end;margin:10px 0 18px}
.filter-actions,.timeline-tools,.window-controls,.time-search{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.filter-actions{align-items:center}.filter-actions a{font-size:13px}.camera-card{margin-bottom:14px}.camera-card h2{margin:0}.camera-identity{margin-top:12px;font-size:12px;color:var(--color-text-muted)}
.timeline-tools{margin:16px 0}.time-search{margin-left:auto}.timeline-help{font-size:12px}.timeline-tools label{min-width:100px}.timeline-tools button{font-size:13px}
.operational-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.operational-cards .card strong{margin:4px 0 10px;font-variant-numeric:tabular-nums}.operational-cards .card a{font-size:13px}
.storage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-bottom:16px}.storage-grid h3{font-size:16px;margin:8px 0}.storage-progress{width:100%;height:12px;accent-color:#276a91}
.badge[data-state=online]{background:var(--color-success-bg);color:var(--color-success-text)}button:disabled{opacity:.5;cursor:not-allowed}summary{cursor:pointer}a:hover{text-decoration:underline}
main,main>*{min-width:0}h1,h2,h3,p,td,.badge{overflow-wrap:anywhere}input,select,textarea{min-width:0;max-width:100%}.toolbar>div,.form-grid>*,.cards>*{min-width:0}
@media(max-width:900px){.camera-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.timeline-tools{align-items:stretch}.time-search{margin-left:0}.window-controls{align-items:stretch}.timeline-labels{font-size:10px;font-variant-numeric:tabular-nums}.camera-filters{grid-template-columns:1fr}.filter-actions{gap:16px}.actions>form{max-width:100%}.actions button{max-width:100%}.table-wrap table{table-layout:fixed}.table-wrap th,.table-wrap td{padding:8px;font-size:12px;overflow-wrap:anywhere}.card span{font-size:13px}.time-search input{min-height:44px}.operational-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.playback-tabs{display:flex;gap:8px;border-bottom:1px solid var(--color-border);padding-bottom:14px;margin-bottom:20px}.playback-date{display:flex;align-items:end;gap:10px;margin-bottom:24px}.playback-date #clock{margin-left:auto;font-size:13px}#timeline{position:relative;height:46px;background:var(--color-border);border-radius:5px;cursor:crosshair;overflow:hidden}#timeline:focus{outline:2px solid var(--color-primary);outline-offset:3px}.recorded{position:absolute;top:5px;bottom:5px;background:var(--color-primary);min-width:2px;border-radius:2px}#selection-marker,#now-marker{position:absolute;top:0;bottom:0;width:2px;background:#ee9234;pointer-events:none}#now-marker{background:#c23b51;width:1px}.timeline-labels,.playback-summary{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted);margin:6px 0 16px}.legend{display:inline-block;width:10px;height:10px;background:var(--color-primary)}#player-shell{background:#08121e;border-radius:8px;overflow:hidden}#recording-player{display:block;width:100%;max-height:520px;min-height:240px;aspect-ratio:16/9}.player-controls{display:flex;gap:12px;align-items:center;padding:12px;color:#ecf3fc}.player-controls button{font-size:13px;padding:8px}.player-controls input{flex:1;min-width:70px;margin:0;padding:0}.player-controls output{font-variant-numeric:tabular-nums}.speed-label{display:flex;align-items:center;gap:6px;font-size:11px}.speed-label select{width:70px;margin:0;padding:5px}.available-list{margin-top:20px}.available-list button{margin:10px 8px 0 0;font-size:12px}#player-shell:fullscreen{display:flex;flex-direction:column;justify-content:center}#player-shell:fullscreen video{max-height:85vh}[hidden]{display:none!important}@media(max-width:720px){.player-controls,.playback-date{flex-wrap:wrap}.playback-date #clock{width:100%;margin:0}.speed-label{font-size:12px}.playback-summary{gap:12px}.playback{padding:14px}}

#live-player{display:block;background:#08121e;width:100%;max-height:600px;aspect-ratio:16/9;border-radius:8px}.live-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0;font-size:13px}#live-message[data-state=live]{color:var(--color-success-text)}#live-message[data-state=offline],#live-message[data-state=error]{color:#b43434}

header{padding:12px 4%;gap:26px}.brand{font-size:20px}nav{gap:8px}nav a{padding:8px 12px;border-radius:6px}nav a[aria-current=page]{background:#294967;color:#fff;font-weight:650}main{margin:24px auto}.toolbar{margin-bottom:16px}.toolbar p{margin:6px 0}h1{font-size:25px}.panel,.card{padding:20px}.cards{margin:20px 0}.actions{flex-wrap:wrap;margin-top:16px}.badge{display:inline-block;font-weight:600}.badge[data-state=recording]{background:var(--color-success-bg);color:var(--color-success-text)}.badge[data-state=error],.badge[data-state=offline]{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge[data-state=unknown]{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge[data-state=desired-on]{background:var(--color-success-bg);color:var(--color-success-text)}.badge[data-state=desired-off]{background:var(--color-border);color:var(--color-text-muted)}.speed-label select{font-size:14px;color:#1b293d}.period-controls{display:flex;gap:8px;margin:12px 0}.period-controls button{font-size:13px}.playback-tabs{padding-bottom:10px;margin-bottom:14px}.playback-date{margin-bottom:14px}.player-controls{gap:8px}.live-top{flex-wrap:wrap}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}
@media(max-width:720px){header{gap:10px;padding:10px 15px}header nav{order:3;flex-basis:100%;gap:4px}nav a{padding:8px;font-size:14px}header form{margin-left:auto}main{margin:18px auto}.toolbar{flex-wrap:wrap}.panel,.card{padding:14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card strong{font-size:24px}.player-controls button{min-height:44px}.player-controls input{flex-basis:60%}.speed-label{gap:8px}.playback-summary{flex-wrap:wrap}.period-controls{flex-wrap:wrap}#recording-player{min-height:0}.nodes-table{background:transparent;border:0}.nodes-table thead{display:none}.nodes-table table,.nodes-table tbody{display:block}.nodes-table tr{display:block;background:#fff;border:1px solid var(--color-border);border-radius:10px;margin-bottom:12px;padding:8px}.nodes-table td{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px;overflow-wrap:anywhere}.nodes-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted)}.nodes-table td:last-child{border:0}}

body{background:#eef2f7;color:#182c44}.muted,p.muted,small{color:var(--color-text-muted)}main{max-width:1280px;margin:20px auto}header{box-shadow:0 2px 12px #081b3020}.brand small{color:#c8d9ec}.panel,.card{padding:16px;border-color:#d5dfeb;box-shadow:var(--shadow-card)}.camera-title{margin-bottom:12px}.camera-title h1{margin:6px 0}.camera-title p{margin:0}.playback{padding:14px;margin-bottom:16px}.playback-tabs{position:relative;margin:0 0 12px;padding-bottom:10px}.playback-tabs button{flex:1;max-width:240px;min-height:44px;font-weight:650}.playback-tabs [aria-selected=true]{box-shadow:inset 0 -3px 0 #87bfff}#player-shell{margin-bottom:18px}.camera-card{padding:14px 16px}.camera-card .toolbar{margin-bottom:8px}.camera-card .camera-heading>.camera-icon{width:22px;height:22px}.camera-card .camera-statuses{gap:6px}.camera-observed-at{margin:6px 0 10px}.video-link{font-size:13px;padding:8px 12px}.camera-details{margin-top:12px}.camera-details>summary,.filter-disclosure>summary,.recording-actions summary{font-weight:600;font-size:13px;min-height:44px;padding:11px 0}.camera-technical{margin:0}.recording-actions>p{font-size:12px;margin:8px 0 0}.recording-actions .actions{margin-top:6px}.action-help{font-size:12px}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}.filter-disclosure{margin-bottom:8px}.filter-disclosure>summary{color:var(--color-primary-hover)}.customer-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.customer-search label{flex:1;max-width:460px}.customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}.customer-grid h2{margin:0 0 8px}.customer-counts{display:grid;gap:10px}.customer-counts>div{display:flex;justify-content:space-between;gap:12px}.customer-counts dt{font-size:13px}.customer-counts dd{margin:0;font-variant-numeric:tabular-nums;font-size:13px}.snapshot-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.snapshot-controls p{margin:6px 0}#dashboard-status[data-state=error]{color:var(--color-danger-text);font-weight:600}.dashboard-alerts{margin-bottom:14px}.dashboard-alerts h2{margin:0 0 8px}.dashboard-alerts article{border-top:1px solid var(--color-border);padding:12px 0}.dashboard-alerts article:last-child{padding-bottom:0}.dashboard-alerts h3{font-size:15px;margin:0 0 4px}.dashboard-alerts p{font-size:13px;margin:4px 0}.dashboard-alerts a{font-size:13px}.operational-cards{gap:12px}.operational-cards .card strong{font-size:26px}.skip-link{position:absolute;left:12px;top:-100px;z-index:20;background:var(--color-surface-panel);padding:12px}.skip-link:focus{top:10px}dialog{width:min(480px,calc(100vw - 28px));max-height:85dvh;overflow:auto;border:1px solid var(--color-border-input);border-radius:12px;padding:22px;background:var(--color-surface-panel);color:var(--color-text);box-shadow:0 20px 80px #08121e60}dialog::backdrop{background:#081b30aa}dialog h2{margin-top:0}dialog button{min-height:44px}.submission-status:not(:empty){position:fixed;bottom:16px;left:16px;right:16px;z-index:30;background:var(--color-surface-header);color:#fff;padding:14px;border-radius:8px}.menu-toggle{margin-left:auto}#main-content:focus{outline:none}
@media(max-width:720px){header{gap:8px}header .brand{font-size:18px}header form{margin-left:0}header nav{flex-direction:column;align-items:stretch}header nav a{min-height:44px;padding:10px 12px}main{margin:14px auto;padding:0 12px}.camera-card{padding:12px}.camera-statuses .badge{font-size:11px}.camera-statuses .camera-icon{width:16px;height:16px}.snapshot-controls{align-items:start;flex-wrap:wrap}.snapshot-controls button{min-height:44px}.customer-counts>div{flex-wrap:wrap}.customer-search{gap:8px}.customer-search label{flex-basis:100%;max-width:none}.operational-cards .card strong{font-size:25px}.playback-tabs button{max-width:none}.camera-title h1{font-size:22px}.recording-actions button,.filter-actions button,.video-link{min-height:44px}.customer-grid{grid-template-columns:1fr}.playback-date{margin-top:16px}.live-top{gap:8px}.player-controls{padding:8px}dialog{padding:18px}}

.camera-thumbnail{margin:0;max-width:320px;min-width:0;background:var(--color-surface-header);color:#d6e8fb;border:1px solid #294967;border-radius:8px;overflow:hidden}.camera-thumbnail>div{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;text-align:center;font-size:11px}.camera-thumbnail img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#08121e;display:block}.camera-thumbnail figcaption{font-size:10px;padding:6px 8px;color:#d6e8fb}.camera-thumbnail time{display:block;font-variant-numeric:tabular-nums}.camera-card-preview{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.camera-card-preview>.camera-thumbnail{width:176px}.camera-card-preview>div{flex:1;min-width:180px}.favorite-button{font-size:12px;min-height:44px;margin:4px}.favorite-button[aria-pressed=true]{background:#daeafd;color:#164d88}.preferences-panel{margin-bottom:18px}.preferences-panel h2{margin:0}.preference-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preference-columns h3{font-size:15px}.preference-columns ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.preference-columns li{padding:12px;background:#f1f5fa;border:1px solid var(--color-border);border-radius:8px;overflow-wrap:anywhere}.preference-columns li p{margin:6px 0;font-size:12px}.preference-columns li button,.preference-columns li a{margin:6px 8px 0 0;font-size:12px;min-height:44px}.preference-columns li a{display:inline-flex;align-items:center}.preference-columns .camera-thumbnail{width:160px}.preferences-panel [data-preference-status],[data-preference-status]{font-size:12px;color:var(--color-text-muted)}.mosaic-save{margin:16px 0}.mosaic-save h2{margin:0 0 8px}#mosaic-save-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}#mosaic-save-form label{flex:1;min-width:180px}.timezone-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}.timezone-controls label{min-width:220px;flex:1}.timezone-controls button{min-height:44px}.camera-diagnostics{margin-top:12px;border-top:1px solid var(--color-border)}.camera-diagnostics>summary{min-height:44px;padding:12px 0;font-weight:600}.live-telemetry{background:var(--color-surface-header);color:#e4effb;border-radius:8px;padding:16px}.live-telemetry h3{font-size:15px;margin:0 0 8px}.live-telemetry dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:8px 16px;margin:12px 0;font-size:13px}.live-telemetry dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.live-telemetry dt{color:#b7d3ef}.live-telemetry p,.live-telemetry .muted{font-size:12px;color:#cfdfef}.live-telemetry #live-bitrate{font-weight:700;font-size:20px;color:#8dd4ff}
@media(max-width:720px){.preference-columns{grid-template-columns:1fr;gap:12px}.camera-card-preview{gap:10px}.camera-card-preview>.camera-thumbnail{width:128px}.camera-card-preview>div{min-width:140px}.timezone-controls{align-items:stretch}.timezone-controls label{min-width:0;flex-basis:100%}.live-telemetry{padding:12px}.live-telemetry dl{grid-template-columns:1fr 1.2fr;gap:8px;font-size:12px}.live-telemetry #live-bitrate{font-size:17px}.preference-columns li button{max-width:100%;white-space:normal}}

.camera-card-preview{display:grid;grid-template-columns:176px minmax(0,1fr);align-items:start;gap:16px}.camera-card-preview>div{min-width:0}.camera-card-preview>.camera-thumbnail{width:100%}.camera-thumbnail{box-shadow:var(--shadow-card-strong)}.camera-thumbnail>div{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.camera-thumbnail figcaption{font-size:11px;line-height:1.5;border-top:1px solid #294967;overflow-wrap:anywhere}.camera-thumbnail img{max-width:100%}.camera-card h2{font-size:17px;line-height:1.4}.camera-card .camera-statuses{align-items:start}.camera-card-preview .actions{margin-top:10px;gap:8px}.camera-card .video-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.active-filters>a{overflow-wrap:anywhere}.camera-card .favorite-button{margin:0}.camera-card:focus-within{border-color:var(--color-primary)}
@media(max-width:720px){.camera-card-preview{grid-template-columns:128px minmax(0,1fr);gap:12px}.camera-card-preview>.camera-thumbnail{width:100%}.camera-card-preview>div{min-width:0}.camera-thumbnail>div{padding:8px}.camera-card-preview .actions{align-items:stretch;flex-direction:column}.camera-card-preview .actions>*{max-width:100%}.camera-card .video-link{white-space:normal}}
@media(max-width:390px){.camera-card-preview{grid-template-columns:minmax(0,1fr)}.camera-card-preview>.camera-thumbnail{width:100%;max-width:320px}.camera-card-preview .actions{flex-direction:row;flex-wrap:wrap}}
.camera-catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;margin-bottom:16px}.camera-catalog>.camera-card{min-width:0;margin:0}.camera-catalog>.empty{grid-column:1/-1}.camera-catalog .camera-card-preview{grid-template-columns:minmax(0,144px) minmax(0,1fr);gap:12px}.camera-catalog .camera-card-preview>.camera-thumbnail{max-width:144px}.camera-catalog .camera-card-preview>div>p{margin:0 0 8px}.camera-catalog .video-link,.camera-catalog .favorite-button{max-width:100%;white-space:normal;margin-bottom:6px}.camera-catalog .camera-details{margin-top:4px}.timezone-help{font-size:12px;margin:8px 0}.timezone-help>summary{min-height:44px;padding:11px 0}
@media(min-width:1101px){.camera-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.camera-catalog .camera-card-preview{grid-template-columns:minmax(0,1fr)}}
.camera-identity-summary { font-size: 11px; font-weight: 400; line-height: 1.35; text-transform: none; margin-top: 4px; }
.identity-compact { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; }
.identity-compact>span { display: inline-flex; align-items: center; gap: 3px; }
.identity-compact .camera-icon { width: 14px; height: 14px; flex: none; }
.identity-history>summary { cursor: pointer; font-size: 11px; font-weight: 400; padding: 2px 0; }
.identity-history p { margin: 4px 0; font-size: 11px; }
.camera-card .camera-statuses{padding:10px 0;gap:8px;border-block:1px solid #e3e8ec}
.camera-card .camera-identity-summary{margin:12px 0;color:#526171;font-size:12px;line-height:1.5}
.camera-card .identity-compact{gap:6px 12px}.camera-card .identity-history>summary{padding:8px 0;font-size:12px}
.camera-card .camera-observed-at{line-height:1.6}.camera-card .camera-details{border-top:1px solid #e3e8ec;margin-top:12px}
.camera-card .camera-technical-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.camera-card .camera-technical-strip dt{font-weight:400}.camera-card .camera-technical-strip dd{font-size:13px}
.camera-catalog .camera-card-preview{grid-template-columns:144px minmax(0,1fr);align-items:start}
.camera-catalog .camera-card-preview>.camera-thumbnail{width:100%;max-width:144px;box-shadow:none}
.camera-catalog .camera-thumbnail>div{padding:6px;font-size:10px;gap:4px}
.camera-catalog .camera-thumbnail>div svg{width:20px;height:20px;flex-shrink:0}
.camera-catalog .camera-card-preview>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.camera-catalog .camera-card-preview>div>p{flex-basis:100%;font-size:12px}
.camera-catalog .camera-card-preview .video-link,.camera-catalog .camera-card-preview .favorite-button{margin:0}
.catalog-summary{font-size:13px;margin:16px 0}
@media(max-width:720px){.camera-catalog .camera-card-preview{grid-template-columns:112px minmax(0,1fr);gap:10px}.camera-catalog .camera-card-preview>.camera-thumbnail{max-width:112px}.camera-catalog .camera-thumbnail figcaption{padding:5px;font-size:10px}}
@media (max-width: 720px) { .identity-history>summary { min-height: 44px; padding: 12px 0; } }
