.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}.page-kicker{margin:0 0 7px;color:#5f8399;font:10px monospace;letter-spacing:1.6px;text-transform:uppercase}.page-title{margin:0;font-size:28px;letter-spacing:-1px}.page-subtitle{margin:8px 0 0;color:var(--muted);font-size:13px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(145deg,rgba(14,34,52,.92),rgba(9,22,35,.88));border:1px solid rgba(70,131,157,.25);border-radius:14px;box-shadow:0 20px 55px #02070d55;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 13px}.card-title{margin:0;font-size:16px}.metric-card{padding:17px 19px;min-height:112px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#7899aa;font-size:11px}.metric-top i{font-style:normal;font-size:18px;color:#5a91a9}.metric-value{margin-top:14px;font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.metric-label{margin-top:8px;color:#587789;font-size:10px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:rgba(15,36,54,.7);color:#b7dce7;font:600 12px inherit;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.button:hover{background:#123d55;border-color:#32758e;transform:translateY(-1px)}.button.primary{border-color:#2c9aae;background:linear-gradient(135deg,#2ac7dd,#287de2);color:#eaffff;box-shadow:0 8px 25px #159dc833}.button.danger{border-color:#874151;background:#4a2132;color:#ffd5da}.button.icon-button{width:40px;height:40px;padding:0}.button:disabled{cursor:not-allowed;opacity:.52;transform:none}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(116,151,166,.22);border-radius:999px;padding:6px 10px;color:#9db9c4;background:#102a37;font-size:10px;white-space:nowrap}.chip.safe{color:#8de8bb;background:#123b33;border-color:#1d735b}.chip.warning{color:#f9d479;background:#49391d;border-color:#80632d}.chip.danger{color:#ff9da6;background:#4a2132;border-color:#874151}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}.table-wrap th{padding:13px 18px;border-bottom:1px solid rgba(70,131,157,.26);color:#668797;font-size:10px;font-weight:600;white-space:nowrap}.table-wrap td{padding:15px 18px;border-bottom:1px solid rgba(38,77,96,.5);color:#c3dce4;font-size:12px;white-space:nowrap}.table-wrap tbody tr:hover{background:rgba(29,77,101,.2)}.table-wrap tbody tr:last-child td{border-bottom:0}.data-cell-muted{color:#7897a7!important}.empty-state{padding:44px 18px;text-align:center;color:#7493a3;font-size:12px}.error-state{margin:0 20px 18px;padding:11px 13px;border:1px solid #85434d;border-radius:9px;background:#3e202a;color:#ffb8be;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 20px 20px}.form-field{display:grid;gap:7px}.form-field label{color:#96b3bf;font-size:11px}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:40px;border:1px solid #2d5a70;border-radius:8px;background:#091b2a;color:#d7edf4;padding:9px 11px;font:12px inherit;outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #42d9f522}.form-field small{color:#597b8d;font-size:10px}.section-divider{height:1px;margin:2px 20px 18px;background:var(--line)}.drawer-backdrop{position:fixed;inset:0;background:#02070dbb;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,92vw);padding:25px 24px;background:#0b1b2a;border-left:1px solid #2c596c;box-shadow:-20px 0 60px #02070d88;z-index:21;transform:translateX(100%);transition:transform .22s;overflow:auto}.drawer.is-open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.drawer h3{margin:0;font-size:19px}.drawer-close{border:0;background:transparent;color:#7fa7b5;font-size:22px;cursor:pointer}.detail-list{display:grid;gap:0;border-top:1px solid var(--line)}.detail-list div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(38,77,96,.5);font-size:12px}.detail-list span{color:#698999}.detail-list strong{color:#d6edf4;text-align:right}.toast{position:fixed;right:24px;bottom:24px;z-index:40;max-width:320px;padding:12px 15px;border:1px solid #2d718d;border-radius:9px;background:#123d55;color:#dff8ff;font-size:12px;box-shadow:0 12px 32px #02070d88;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .18s,transform .18s}.toast.is-visible{opacity:1;transform:translateY(0)}.toast[data-kind="error"]{border-color:#874151;background:#4a2132}.bar-chart{display:grid;gap:13px;padding:4px 20px 20px}.bar-row{display:grid;grid-template-columns:78px 1fr 34px;align-items:center;gap:10px;color:#90aebb;font-size:11px}.bar-track{height:8px;background:#173344;border-radius:8px;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:var(--cyan);min-width:3px}.bar-fill.warning{background:var(--yellow)}.bar-fill.danger{background:#f06b73}.bar-fill.safe{background:var(--green)}.trend-chart{display:flex;align-items:flex-end;gap:10px;height:165px;padding:20px}.trend-col{display:grid;justify-items:center;gap:8px;flex:1;height:100%;grid-template-rows:1fr auto}.trend-bar-wrap{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.trend-bar{width:min(28px,70%);height:var(--height);min-height:4px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--cyan),#2376aa)}.trend-col span{color:#638395;font-size:10px}.status-line{display:flex;align-items:center;gap:9px;color:#94b7c2;font-size:11px}.quick-action{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid rgba(70,131,157,.25);border-radius:11px;background:rgba(8,24,38,.56);color:#cce6ed;text-decoration:none;transition:border-color .18s,background .18s}.quick-action:hover{border-color:#32758e;background:#103148}.quick-action strong{font-size:12px}.quick-action .muted{margin-top:4px}.quick-action>span:last-child{margin-left:auto;color:#5d8497}.quick-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#123d52;color:var(--cyan);font-size:18px}.mobile-brand{display:none;text-decoration:none;color:#dff8ff;align-items:center;gap:8px}.bottom-nav{display:none}.monitor-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:16px}.list-stack{display:grid;gap:9px;padding:0 20px 20px}.list-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid rgba(38,77,96,.5)}.list-row:last-child{border-bottom:0}.list-row>div:nth-child(2){min-width:0;flex:1}.list-row strong{display:block;color:#d2ecf4;font-size:12px}.list-row small{display:block;margin-top:4px;color:#648596;font-size:10px}.list-row .row-value{color:#d9eff5;font-size:12px;font-weight:700}.risk-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.risk-dot.warning{background:var(--yellow);box-shadow:0 0 10px var(--yellow)}.risk-dot.danger{background:#f06b73;box-shadow:0 0 10px #f06b73}.filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:0 20px 18px}.filter-row .form-field{min-width:140px;flex:1}.filter-row .button{height:40px}.record-severity{font-size:11px;font-weight:700}.record-severity.mild{color:var(--green)}.record-severity.medium{color:var(--yellow)}.record-severity.heavy{color:#ff9da6}.text-button{border:0;background:transparent;color:#83dff0;cursor:pointer;font:inherit;padding:5px}.switch{position:relative;width:38px;height:22px;display:inline-block}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:999px;background:#284352;cursor:pointer;transition:.2s}.switch span:before{content:"";position:absolute;width:16px;height:16px;top:3px;left:3px;border-radius:50%;background:#a7c2cb;transition:.2s}.switch input:checked+span{background:#1d8065}.switch input:checked+span:before{transform:translateX(16px);background:#e7fff5}.source-badge{margin-left:8px}.page-actions{display:flex;align-items:center;gap:9px;justify-content:flex-end;padding:0 20px 18px}@media(max-width:1000px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-hero{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{display:none}.topbar{height:auto;padding:18px 14px;align-items:flex-start;gap:15px;flex-direction:column}.top-actions{width:100%;justify-content:space-between;gap:10px}.mobile-brand{display:flex}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.page-title{font-size:23px}.page-header{margin-bottom:18px}.bottom-nav{position:fixed;display:flex;left:0;right:0;bottom:0;z-index:15;justify-content:space-around;padding:8px 5px;background:#08131fef;border-top:1px solid #1c3a50}.bottom-nav a{display:grid;justify-items:center;gap:3px;min-width:48px;padding:4px;color:#6f91a0;text-decoration:none;font-size:10px}.bottom-nav a.active{color:var(--cyan)}.bottom-nav a i{font-size:20px;font-style:normal}.content{padding-bottom:80px}.filter-row{padding:0 14px 16px}.filter-row .form-field{min-width:calc(50% - 5px)}.filter-row .button{width:100%}.table-wrap table{min-width:680px}.toast{right:14px;bottom:72px;left:14px;max-width:none}.drawer{width:100%}}

.user-account{position:relative;flex:0 0 auto}
.user-account .avatar{border:0;cursor:pointer;font:700 12px Manrope,'Noto Sans SC',sans-serif}
.user-menu{position:absolute;top:42px;right:0;z-index:30;width:190px;padding:13px;border:1px solid #285268;border-radius:8px;background:#091a29;box-shadow:0 18px 40px #02070dcc}
.user-menu[hidden]{display:none}
.user-menu span,.user-menu strong{display:block}
.user-menu span{color:#668899;font-size:9px}
.user-menu strong{margin-top:5px;overflow:hidden;color:#d9eef5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.user-menu button{width:100%;margin-top:12px;padding:9px 10px;border:1px solid #6c3947;border-radius:6px;background:#341d28;color:#ffb6bf;font:600 11px inherit;cursor:pointer}
.user-menu button:hover{background:#482332}

.danger-button{border-color:rgba(255,101,118,.55);color:#ff9da6}
.event-tools{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.monitor-hero{grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr)}
.monitor-hero .hero-monitor .camera-stage{height:clamp(430px,42vw,560px)!important}
.camera-panel .camera-stage{height:clamp(430px,55vh,620px)}
@media(max-width:760px){.monitor-hero{grid-template-columns:1fr}.event-tools .button{flex:1 1 auto}.table-wrap{overflow-x:auto}.table-wrap table{min-width:860px}.page-header .toolbar{width:100%;max-width:calc(100vw - 28px);display:flex;flex-direction:column;align-items:stretch;gap:8px;overflow:hidden}.page-header .toolbar .button{width:100%;max-width:100%;min-width:0;padding-left:8px;padding-right:8px;white-space:normal;text-align:center}}
@media(max-width:700px){.monitor-hero .hero-monitor .camera-stage{height:360px!important}.camera-panel .camera-stage{height:320px}}
