:root,[data-theme=dark]{--bg: #0d1410;--shell: #091009;--surface: #131a14;--surface-raised: #1a2319;--surface-soft: #1f2b1e;--border: #2a3828;--text: #f4f0e8;--muted: #8fa094;--subtle: #607060;--normal: #20c997;--warning: #ffb020;--critical: #f04438;--offline: #607060;--info: #4dabf7;--cyan: #C9A84C;--gold: #C9A84C;--gold-bright: #E8C96B;--gold-dim: color-mix(in srgb, #C9A84C 30%, transparent);--emerald: #0D5C3A;--shadow: rgba(0, 0, 0, .44);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{--bg: #f2ede4;--shell: #faf7f0;--surface: #faf7f0;--surface-raised: #f0ebe0;--surface-soft: #e8e0d0;--border: #c8bfa8;--text: #1a1408;--muted: #5c5040;--subtle: #8a7a60;--normal: #0e9b74;--warning: #c27a00;--critical: #c0392b;--offline: #8a7a60;--info: #2176ae;--cyan: #9a6f1e;--gold: #9a6f1e;--gold-bright: #c9a84c;--gold-dim: color-mix(in srgb, #9a6f1e 25%, transparent);--emerald: #0D5C3A;--shadow: rgba(0, 0, 0, .12);--badge-bg: rgba(0, 0, 0, .55);--badge-border: rgba(0, 0, 0, .3);--tile-stat-bg: rgba(0, 0, 0, .5);--tile-overlay-top: rgba(0, 0, 0, .38);--tile-overlay-mid: rgba(0, 0, 0, 0);--tile-overlay-bot: rgba(0, 0, 0, .52)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,textarea{font:inherit}button{color:inherit}@property --donut-s1{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --donut-s2{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --donut-s3{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.pill{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);white-space:nowrap;cursor:pointer}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #ffffff0a}.normal{color:var(--normal)}.warning{color:var(--warning)}.critical{color:var(--critical)}.offline{color:var(--offline)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 22px var(--shadow)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-header h2{margin:0;font-size:15px;letter-spacing:0;display:flex;align-items:center;gap:7px}.section-header h2:before{content:"";display:inline-block;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;opacity:.7}.legend span{color:var(--muted);font-size:12px}.panel{padding:14px}.panel.no-shadow{box-shadow:none}.severity{display:inline-flex;justify-content:center;min-width:62px;border-radius:999px;padding:4px 8px;border:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.severity.normal{color:var(--normal)}.severity.warning,.severity.review{color:var(--warning)}.severity.critical{color:var(--critical)}.severity.offline{color:var(--offline)}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:var(--surface)}td{color:var(--text)}.ok{color:var(--normal)}.warn{color:var(--warning)}@media(max-width:1120px){.dashboard-layout{grid-template-columns:1fr;align-items:start}.events-col,.events-col .panel{flex:none}.events-col .event-list{max-height:340px;flex:none}}@media(max-width:1180px){.dashboard-layout{grid-template-columns:1fr}.charts-row{grid-template-columns:repeat(2,minmax(210px,1fr))}.detail-layout{grid-template-columns:1fr}.insight-rail{grid-template-columns:repeat(2,minmax(0,1fr));position:static;max-height:none;overflow-y:visible}.camera-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:920px){.kpi-strip,.camera-grid,.insight-rail,.needs-attention-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.events-col .event-list{max-height:280px}}@media(max-width:620px){.kpi-strip,.camera-grid,.insight-rail,.charts-row,.donut-grid{grid-template-columns:1fr}.insight-rail .legend div{grid-template-columns:minmax(112px,42%) minmax(0,1fr)}.camera-tile{aspect-ratio:1.1 / 1}.section-header{align-items:flex-start;flex-direction:column}.dashboard-tools{align-items:flex-start;flex-wrap:wrap}.needs-attention-strip{grid-template-columns:1fr}.attention-row{grid-template-columns:64px minmax(0,1fr)}.attention-row time{display:none}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s,background .15s}.icon-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--text) 30%,transparent);background:var(--surface-soft)}.event-list::-webkit-scrollbar,.insight-rail::-webkit-scrollbar,.events-col .event-list::-webkit-scrollbar{width:4px;height:4px}.event-list::-webkit-scrollbar-track,.insight-rail::-webkit-scrollbar-track,.events-col .event-list::-webkit-scrollbar-track{background:transparent}.event-list::-webkit-scrollbar-thumb,.insight-rail::-webkit-scrollbar-thumb,.events-col .event-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 40%,transparent);border-radius:999px}.event-list::-webkit-scrollbar-thumb:hover,.insight-rail::-webkit-scrollbar-thumb:hover,.events-col .event-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gold) 70%,transparent)}.event-list,.insight-rail,.events-col .event-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 50%,transparent) transparent}.lang-ar p,.lang-ar h1,.lang-ar h2,.lang-ar h3,.lang-ar h4,.lang-ar h5,.lang-ar h6,.lang-ar textarea,.lang-ar input:not([type=checkbox]):not([type=radio]),.lang-ar .nav-label,.lang-ar .operator-name,.lang-ar .operator-unit,.lang-ar .settings-row-label,.lang-ar .settings-row-hint,.lang-ar .settings-group-label,.lang-ar .settings-footer span,.lang-ar .pinned-label b,.lang-ar .pinned-label span,.lang-ar .alert-meta b,.lang-ar .alert-meta span,.lang-ar .event-copy b,.lang-ar .event-copy span,.lang-ar .scope-chip,.lang-ar .prompt-chip,.lang-ar td,.lang-ar th,.lang-ar .events-empty b,.lang-ar .events-empty p{direction:rtl;text-align:right}.lang-ar .plate-en,.lang-ar .raw-value,.lang-ar code,.lang-ar .camera-id,.lang-ar .incident-id,.lang-ar .time-display,.lang-ar .vp-time,.lang-ar .vp-scrubber{direction:ltr;text-align:left}
