:root{--color-navy:#0b2545;--color-navy-dark:#071a33;--color-white:#fff;--color-orange:#f5821f;--color-orange-dark:#d96c0f;--color-bg:#f4f6f9;--color-surface:#fff;--color-border:#e0e4ea;--color-text:#1a2333;--color-text-muted:#5a6478;--color-quiet:#2e7d32;--color-quiet-bg:#e8f5e9;--color-warning:#f5821f;--color-warning-bg:#fff1e0;--color-approaching:#1565c0;--color-approaching-bg:#e3f0fd;--color-critical:#c62828;--color-critical-bg:#fdecea;--color-down:#6a1b9a;--color-down-bg:#f3e5f5;--color-grey:#5f6778;--color-grey-bg:#eef0f4;--color-blueprint-grid:#0b25450d;--radius:8px;--shadow:0 1px 3px #0b25451a;--ease-enter:cubic-bezier(0, 0, .38, .9);--ease-standard:cubic-bezier(.2, 0, .38, .9);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--color-navy:#0e2742;--color-navy-dark:#081b2f;--color-bg:#121a27;--color-surface:#1a2433;--color-border:#2a3648;--color-text:#e8ecf3;--color-text-muted:#9aa6ba;--color-quiet:#5bb561;--color-quiet-bg:#16301b;--color-warning:#f59b45;--color-warning-bg:#35250f;--color-approaching:#5b9ce8;--color-approaching-bg:#10243c;--color-critical:#ef5350;--color-critical-bg:#3a1716;--color-down:#ba68c8;--color-down-bg:#2b1833;--color-grey:#8d97a9;--color-grey-bg:#222b3a;--color-blueprint-grid:#ffffff0f;--shadow:0 1px 3px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .btn-outline{color:var(--color-orange);border-color:#f5821f73}:root[data-theme=dark] .btn-outline:hover:not(:disabled){border-color:var(--color-orange);background:#f5821f1a}:root[data-theme=dark] .btn-outline:disabled{color:var(--color-text-muted);border-color:var(--color-border)}:root[data-theme=dark] .blueprint-img{filter:invert(.88)hue-rotate(180deg)}:root[data-theme=dark] .floor-pin-panel{background:var(--color-surface);color:var(--color-text)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3{margin:0 0 .5rem}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem}.btn{border-radius:var(--radius);border:none;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-orange);color:var(--color-white)}.btn-primary:hover{background:var(--color-orange-dark)}.btn-outline{color:var(--color-navy);border:1px solid var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-navy)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.7rem .6rem;font-size:.92rem}th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.status-badge{border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-quiet{background:var(--color-quiet-bg);color:var(--color-quiet)}.status-warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-approaching_critical{background:var(--color-approaching-bg);color:var(--color-approaching)}.status-critical{background:var(--color-critical-bg);color:var(--color-critical)}.status-turned_off{background:var(--color-grey-bg);color:var(--color-grey)}.app-shell-sidebar{min-height:100vh;display:flex}.sidebar{background:var(--color-navy);width:240px;color:var(--color-white);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-bg-logo{opacity:.1;pointer-events:none;z-index:0;background-position:top;background-repeat:no-repeat;background-size:180%;position:absolute;inset:0}.sidebar-header{z-index:1;border-bottom:1px solid #ffffff1f;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;display:flex;position:relative}.sidebar-logo{object-fit:cover;object-position:top;background:#ffffff14;border-radius:8px;width:44px;height:44px}.sidebar-logo-fallback{background:var(--color-orange);width:44px;height:44px;color:var(--color-white);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.sidebar-brand{letter-spacing:.02em;font-size:1.05rem;font-weight:700}.sidebar-brand span{color:var(--color-orange)}.sidebar-auth{z-index:1;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1.1rem 1.1rem;font-size:.8rem;display:flex;position:relative}.sidebar-auth-status{color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;gap:.1rem;display:flex;overflow:hidden}.sidebar-auth-role{text-transform:uppercase;letter-spacing:.04em;color:#ffffff80;font-size:.7rem}.sidebar-auth-link{color:var(--color-orange);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.8rem;font-weight:600}.sidebar-auth-link:hover{color:var(--color-white)}.sidebar-nav{z-index:1;flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex;position:relative}.sidebar-link{border-radius:var(--radius);color:#ffffffbf;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.9rem;font-weight:500;display:flex}.sidebar-link svg{flex-shrink:0}.sidebar-link:hover{color:var(--color-white);background:#ffffff14}.sidebar-link-active{color:var(--color-white);background:var(--color-orange)}.sidebar-link-active:hover{background:var(--color-orange-dark)}.sidebar-content{flex:1;min-width:0;position:relative;overflow:hidden}.content-bg-logo{opacity:.05;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:min(70%,760px);position:absolute;inset:0}.sidebar-content-inner{z-index:1;position:relative}.page-subtitle{color:var(--color-text-muted);margin-top:-.25rem;margin-bottom:1.5rem}.hero{background:var(--color-navy);color:var(--color-white);text-align:center;border:none}.hero h1{font-size:2rem}.brand-orange{color:var(--color-orange)}.hero-legend{flex-wrap:wrap;gap:.75rem 2rem;margin:1.5rem 0;display:flex}.legend-item{color:var(--color-text-muted);align-items:center;gap:.6rem;font-size:.9rem;display:flex}.fetch-error{background:var(--color-critical-bg);color:var(--color-critical);border-radius:var(--radius);margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem}.incidents-empty{color:var(--color-text-muted);text-align:center}.incidents-message{color:var(--color-text-muted);max-width:280px;font-size:.85rem}.zone-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.zone-card{border-top:4px solid var(--color-border)}.zone-card-quiet{border-top-color:var(--color-quiet)}.zone-card-warning{border-top-color:var(--color-warning)}.zone-card-approaching_critical{border-top-color:var(--color-approaching)}.zone-card-critical{border-top-color:var(--color-critical)}.zone-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.zone-level{color:var(--color-navy);font-size:2rem;font-weight:700}.sparkline{width:100%;height:40px;margin:.5rem 0;display:block}.sparkline-empty{height:40px;color:var(--color-text-muted);align-items:center;margin:.5rem 0;font-size:.8rem;display:flex}.zone-thresholds{color:var(--color-text-muted);margin-top:.4rem;font-size:.8rem}.admin-tabs{border-bottom:1px solid var(--color-border);gap:.4rem;margin-bottom:1.5rem;display:flex}.admin-tab{color:var(--color-text-muted);border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.admin-tab:hover{color:var(--color-navy)}.admin-tab-active{color:var(--color-navy);border-bottom-color:var(--color-orange)}.admin-tab-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.admin-tab-note{color:var(--color-text-muted);font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.home-preview-empty{color:var(--color-text-muted);font-size:.85rem}.map-list{flex-direction:column;gap:.75rem;display:flex}.map-building{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.85rem 1rem;display:block}.map-building:hover{opacity:.85}.map-building-list{width:100%}.map-building-quiet{border-color:var(--color-quiet);background:var(--color-quiet-bg)}.map-building-warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.map-building-critical{border-color:var(--color-critical);background:var(--color-critical-bg)}.map-building-turned_off{border-style:dashed;border-color:var(--color-grey);background:var(--color-grey-bg)}.map-building-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.map-building-name{font-size:.9rem;font-weight:600}.map-building-level{color:var(--color-text-muted);font-size:.8rem}.map-building-open-hint{color:var(--color-text-muted)}.map-back-link{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem;display:inline-block}.map-back-link:hover{color:var(--color-navy)}.map-building-page-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1.25rem;display:grid}.map-building-page-title{text-align:center;color:var(--color-navy);margin:0;font-size:1.5rem}.map-chip{white-space:nowrap;border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;justify-self:start;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.85rem;display:inline-flex}.map-chip-viewing{justify-self:end}.map-chip-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.map-chip-value{font-weight:600}.map-chip-quiet{border-color:var(--color-quiet);background:var(--color-quiet-bg)}.map-chip-warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.map-chip-critical{border-color:var(--color-critical);background:var(--color-critical-bg)}.map-chip-turned_off{border-style:dashed;border-color:var(--color-grey);background:var(--color-grey-bg)}.map-building-page-body{gap:1.25rem;display:flex}.map-floor-picker{flex-direction:column;flex-shrink:0;gap:.6rem;width:84px;display:flex}.map-floor-picker-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:.72rem;font-weight:700}.map-floor-btn{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);height:64px;color:var(--color-navy);font-size:1.35rem;font-weight:700;position:relative}.map-floor-btn:hover{opacity:.85}.map-floor-btn-quiet{border-color:var(--color-quiet);background:var(--color-quiet-bg);color:var(--color-quiet)}.map-floor-btn-warning{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning)}.map-floor-btn-critical{border-color:var(--color-critical);background:var(--color-critical-bg);color:var(--color-critical)}.map-floor-btn-turned_off{border-style:dashed;border-color:var(--color-grey);background:var(--color-grey-bg);color:var(--color-grey)}.map-floor-btn-active{outline:3px solid var(--color-navy);outline-offset:2px}.map-floor-loudest-mark{background:var(--color-white);width:24px;height:24px;box-shadow:var(--shadow);border:2px solid;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-9px;right:-9px}.map-floor-loudest-mark-warning{color:var(--color-warning)}.map-floor-loudest-mark-critical{color:var(--color-critical)}.map-blueprint{border:2px dashed var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);background-image:linear-gradient(var(--color-blueprint-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-blueprint-grid) 1px, transparent 1px);background-size:24px 24px;flex:1;justify-content:center;align-items:center;min-width:0;min-height:440px;display:flex;overflow:hidden}.map-blueprint-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:.4rem;padding:1.5rem;font-size:.85rem;display:flex}.map-blueprint-empty strong{color:var(--color-navy);font-size:1.05rem}.map-blueprint-empty code{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:.05rem .35rem}@media (width<=1100px){.map-building-page-top{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.map-building-page-title{flex-basis:100%;order:-1}}.manual-incident-card{border-color:var(--color-orange);margin-bottom:1.5rem}.manual-incident-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.manual-incident-header h2{margin:0;font-size:1.1rem}.manual-incident-field{margin-bottom:1rem}.manual-incident-field label{color:var(--color-text-muted);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.manual-incident-field select,.manual-incident-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);padding:.55rem .7rem;font-family:inherit;font-size:.9rem}.manual-incident-field textarea{resize:vertical}.btn-danger{background:var(--color-critical);color:var(--color-white);border:1px solid var(--color-critical)}.btn-danger:hover{filter:brightness(1.08)}.disturbance-btn{text-align:center;width:100%;margin-top:.6rem;text-decoration:none;display:block}.disturbance-btn-compact{white-space:nowrap;width:auto;margin-top:0;padding:.25rem .6rem;font-size:.75rem}.manual-incident-location{grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:1rem;display:grid}.manual-incident-actions{justify-content:flex-end;margin-top:1rem;display:flex}@media (width<=760px){.btn-danger{background:var(--color-critical);color:var(--color-white);border:1px solid var(--color-critical)}.btn-danger:hover{filter:brightness(1.08)}.disturbance-btn{text-align:center;width:100%;margin-top:.6rem;text-decoration:none;display:block}.disturbance-btn-compact{white-space:nowrap;width:auto;margin-top:0;padding:.25rem .6rem;font-size:.75rem}.manual-incident-location{grid-template-columns:1fr}}.create-user-form{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:720px;display:grid}.create-user-form .manual-incident-actions{grid-column:1/-1;justify-content:flex-start}.create-user-success{background:var(--color-quiet-bg);color:var(--color-quiet);border-radius:var(--radius);margin:0 0 1rem;padding:.7rem .9rem;font-size:.9rem}.field-help{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.75rem}@media (width<=760px){.create-user-form{grid-template-columns:1fr}}.manual-incident-empty{color:var(--color-text-muted);margin:.4rem 0 0;font-size:.85rem}.login-page{background:var(--color-navy);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{text-align:center;width:100%;max-width:360px}.login-brand{margin-bottom:.4rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.9rem}.login-hint{color:var(--color-text-muted);margin:-1rem 0 1.5rem;font-size:.8rem;line-height:1.5}.login-form{text-align:left;flex-direction:column;gap:.4rem;display:flex}.login-form label{color:var(--color-text-muted);margin-top:.5rem;font-size:.8rem;font-weight:600}.login-form input{border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem .75rem;font-size:.95rem}.login-form .btn{justify-content:center;margin-top:1.25rem}.auth-checking{background:var(--color-navy);min-height:100vh;color:var(--color-white);justify-content:center;align-items:center;font-size:.95rem;display:flex}.floor-pin{cursor:pointer;z-index:2;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.floor-pin-dot{border:2px solid var(--color-white);border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 1px 4px #00000073}.floor-pin-quiet .floor-pin-dot{background:var(--color-quiet)}.floor-pin-warning .floor-pin-dot{background:var(--color-warning)}.floor-pin-approaching_critical .floor-pin-dot{background:var(--color-approaching)}.floor-pin-critical .floor-pin-dot{background:var(--color-critical)}.floor-pin-turned_off .floor-pin-dot{background:var(--color-grey);opacity:.55;width:10px;height:10px}.floor-pin-open .floor-pin-dot,.floor-pin:hover .floor-pin-dot{transform:scale(1.35)}.floor-pin-pulsing .floor-pin-dot{animation:1.4s ease-in-out infinite pin-pulse}@keyframes pin-pulse{0%,to{box-shadow:0 0 #c62828a6}50%{box-shadow:0 0 0 9px #c6282800}}.floor-pin-panel{z-index:5;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;cursor:default;width:230px;padding:.7rem .8rem;line-height:1.5;position:absolute;box-shadow:0 6px 20px #0000002e}.floor-pin-panel-head{justify-content:space-between;align-items:flex-start;gap:.5rem;font-size:.88rem;display:flex}.floor-pin-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.1rem;line-height:1}.floor-pin-panel-zone{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.72rem}.floor-pin-panel-level{align-items:center;gap:.5rem;margin:.35rem 0;font-size:1.1rem;font-weight:700;display:flex}.floor-pin-panel-meta{color:var(--color-text-muted);font-size:.7rem}.floor-pin-panel-link{color:var(--color-navy);margin-top:.5rem;font-size:.78rem;display:inline-block}.theme-choices{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.theme-choice{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-surface);align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.9rem;display:flex}.theme-choice-active{border-color:var(--color-orange);box-shadow:0 0 0 1px var(--color-orange)}.theme-choice input{margin:0}.theme-swatch{border:1px solid var(--color-border);border-radius:4px;width:20px;height:20px;display:inline-block}.theme-swatch-light{background:#f4f6f9}.theme-swatch-dark{background:#121a27}.theme-swatch-system{background:linear-gradient(135deg,#f4f6f9 50%,#121a27 50%)}.account-facts{grid-template-columns:max-content 1fr;gap:.4rem 1.2rem;margin:0 0 .8rem;font-size:.9rem;display:grid}.account-facts dt{color:var(--color-text-muted)}.account-facts dd{margin:0;font-weight:600}.zone-group-row td{background:var(--color-bg);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.zone-code{color:var(--color-text-muted);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem}.zone-nosensor{color:var(--color-grey);font-size:.75rem}.zone-edit-input{width:5.5rem;padding:.25rem .4rem;font-size:.85rem}.zone-edit-actions{gap:.35rem;display:flex}.btn-small{padding:.25rem .6rem;font-size:.78rem}.ranking-row{border-bottom:1px solid var(--color-border);grid-template-columns:2rem 1fr auto;align-items:center;gap:.7rem;padding:.55rem 0;display:grid}.ranking-row:last-child{border-bottom:none}.ranking-rank{color:var(--color-text-muted);font-weight:700}.ranking-name{font-size:.9rem}.ranking-zone{color:var(--color-text-muted);font-size:.72rem;display:block}.ranking-level{font-variant-numeric:tabular-nums;font-weight:700}.ranking-bar{background:var(--color-border);border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.ranking-bar span{background:var(--color-orange);height:100%;display:block}.blueprint-viewer{flex-direction:column;gap:.5rem;width:100%;display:flex}.blueprint-frame{border-radius:var(--radius);background:var(--color-bg);touch-action:none;justify-content:center;align-items:center;min-height:420px;display:flex;position:relative;overflow:hidden}.blueprint-frame-zoomed{cursor:grab}.blueprint-frame-zoomed:active{cursor:grabbing}.blueprint-stage{will-change:transform;line-height:0;position:relative}.blueprint-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:70vh;display:block}.blueprint-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.blueprint-zoom-level{font-variant-numeric:tabular-nums;color:var(--color-text-muted);text-align:center;min-width:3.2rem;font-size:.78rem}.blueprint-hint{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.blueprint-stage .floor-pin{transform:translate(-50%,-50%)}.building-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;display:flex}.building-tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.85rem;display:flex}.building-tab:hover{border-color:var(--color-orange)}.building-tab-active{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-white)}.building-tab-count{background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;padding:.05rem .4rem;font-size:.72rem}.building-tab-active .building-tab-count{color:var(--color-white);background:#ffffff2e}:root[data-theme=dark] .building-tab-active{background:var(--color-orange);border-color:var(--color-orange);color:#1a1206}.zone-card-where{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin-top:.15rem;font-size:.68rem;font-weight:500;display:block}.status-unspecified_issue{background:var(--color-grey-bg);color:var(--color-grey);outline:1px dashed var(--color-grey)}.map-building-unspecified_issue,.map-chip-unspecified_issue,.map-floor-btn-unspecified_issue{border-color:var(--color-grey);background:var(--color-grey-bg);border-style:dashed}.map-floor-btn-unspecified_issue{color:var(--color-grey)}.floor-pin-unspecified_issue .floor-pin-dot{background:var(--color-grey);outline:2px dashed var(--color-surface)}.zone-card-unspecified_issue{border-left:4px dashed var(--color-grey)}.sidebar-menu{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sidebar-menu-toggle{color:var(--color-white);border-radius:var(--radius);background:#ffffff1a;border:1px solid #ffffff40;margin-left:auto;padding:.35rem .75rem;font-size:.85rem;display:none}.sidebar-status{color:#ffffffbf;border-top:1px solid #ffffff1f;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.6rem 1.1rem;font-size:.78rem;display:flex}.live-dot{background:#9aa6ba;border-radius:50%;width:8px;height:8px}.live-dot-on{background:#5bb561}.sidebar-sound{color:var(--color-white);background:0 0;border:1px solid #ffffff40;border-radius:999px;margin-left:auto;padding:.15rem .6rem;font-size:.75rem}.live-stamp{color:var(--color-text-muted);margin:-.75rem 0 1rem;font-size:.8rem}.live-stamp-lost{color:var(--color-critical);font-weight:600}@media (width<=768px){.app-shell-sidebar{flex-direction:column}.sidebar{z-index:50;width:100%;height:auto;position:sticky;top:0;overflow:visible}.sidebar-bg-logo{display:none}.sidebar-header{padding:.6rem 1rem}.sidebar-logo,.sidebar-logo-fallback{width:34px;height:34px}.sidebar-menu-toggle{display:block}.sidebar-menu{display:none}.sidebar-open{z-index:150}.sidebar-open .sidebar-menu{background:var(--color-navy);max-height:calc(100vh - 56px);display:flex;overflow-y:auto}.sidebar-nav{padding:.5rem .75rem}.page{padding:1.25rem 1rem 3rem}}.table-scroll{overflow-x:auto}.chip{white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.05rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.chip-ok{background:var(--color-quiet-bg);color:var(--color-quiet)}.chip-info{background:var(--color-approaching-bg);color:var(--color-approaching)}.chip-wait{background:var(--color-warning-bg);color:var(--color-warning)}.chip-bad{background:var(--color-critical-bg);color:var(--color-critical)}.chip-plain{background:var(--color-grey-bg);color:var(--color-text-muted)}.incident-center{z-index:100;flex-direction:column;gap:.6rem;width:min(420px,100vw - 2rem);max-height:calc(100vh - 2rem);display:flex;position:fixed;top:1rem;right:1rem;overflow-y:auto}.incident-card{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-critical);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:0 6px 24px #00000040}.incident-card-sent{border-color:var(--color-orange)}.incident-card-head{justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.incident-card-head span{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem}.incident-card-message{white-space:pre-line;margin:.4rem 0 .6rem;font-size:.85rem}.incident-card-actions{flex-wrap:wrap;gap:.4rem;display:flex}.incident-center-sound,.incident-center-mute{align-self:flex-end}.incident-center-mute{color:var(--color-text-muted);background:0 0;border:none;font-size:.75rem;text-decoration:underline}@keyframes attention-flash{0%,50%,to{color:#1a2333;background:#fff}25%,75%{background:var(--color-critical);color:#fff}}.attention-flash .incident-card{animation:incident-in .2s var(--ease-enter), attention-flash 1.6s linear 1}@media (prefers-reduced-motion:reduce){.attention-flash .incident-card{animation:fade-in .2s var(--ease-enter);outline:4px solid var(--color-critical)}}@media (width<=768px){.incident-center{width:calc(100vw - 1rem);top:64px;right:.5rem}}.dialog-backdrop{z-index:200;background:#071a338c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);width:min(480px,100%);max-height:calc(100vh - 2rem);padding:1.25rem 1.4rem;overflow-y:auto;box-shadow:0 10px 40px #00000059}.dialog h2{font-size:1.1rem}.dialog-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.dispatch-status ul{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.dispatch-heads-up{background:var(--color-warning-bg);color:var(--color-text);border-left:4px solid var(--color-warning);border-radius:var(--radius);padding:.5rem .75rem;font-size:.85rem}.manual-incident-recipients{border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;gap:.5rem 1.25rem;margin:1rem 0;padding:.6rem .9rem;display:flex}.recipient-option{align-items:center;gap:.35rem;font-size:.9rem;display:flex}.sent-incident-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.sent-incident-head{font-size:.85rem}.sent-incident-message{white-space:pre-line;color:var(--color-text-muted);margin:.3rem 0;font-size:.85rem}.shift-form{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.status-down{background:var(--color-down-bg);color:var(--color-down)}.map-building-down,.map-chip-down,.map-floor-btn-down{border-color:var(--color-down);background:var(--color-down-bg)}.map-floor-btn-down{color:var(--color-down)}.floor-pin-down .floor-pin-dot{background:var(--color-down)}.zone-card-down{border-top-color:var(--color-down)}.system-banner{border-radius:var(--radius);border:1px solid var(--color-critical);background:var(--color-critical-bg);color:var(--color-critical);margin-bottom:1rem;padding:.75rem 1rem;font-weight:600}.manual-incident-first-line{color:var(--color-text-muted);margin:.25rem 0 .5rem;font-size:.85rem}.incidents-notes{color:var(--color-text-muted);white-space:pre-line;margin-top:.25rem;font-size:.8rem}.incident-card-timer{margin:.25rem 0 .5rem;font-size:.8rem;font-weight:600}.dispatch-page-message{white-space:pre-line;font-size:1.05rem}.dispatch-page-ack{justify-content:center;width:100%;padding:.9rem;font-size:1.05rem}.dispatch-replies{margin-top:.5rem}.dispatch-reply-who{color:var(--color-text-muted);font-size:.8rem}.dispatch-reply-body{white-space:pre-line;margin:.15rem 0 .5rem}.history-picker select{max-width:100%;margin-left:.5rem;padding:.35rem .5rem}.history-chart{background:var(--color-grey-bg);border-radius:var(--radius);width:100%;height:180px;display:block}.history-bar{fill:var(--color-navy)}:root[data-theme=dark] .history-bar{fill:var(--color-approaching)}.history-offline{fill:var(--color-grey);opacity:.35}.history-day-line{stroke:var(--color-border);stroke-width:.3px}.history-axis{color:var(--color-text-muted);justify-content:space-between;margin-top:.25rem;font-size:.8rem;display:flex}.history-offline-list{margin:0;padding-left:1.2rem;line-height:1.6}.panel-failed{color:var(--color-text-muted)}.reconnecting-banner{border-radius:var(--radius);border:1px solid var(--color-grey);background:var(--color-grey-bg);color:var(--color-text);margin-bottom:1rem;padding:.6rem 1rem}@media (width<=600px){.incident-center{max-height:calc(100vh - 80px)}.incident-card-actions .btn{flex:1;justify-content:center;min-height:44px}.dispatch-page h1{font-size:1.4rem}.dispatch-status li{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}table.stack-on-phone thead{display:none}table.stack-on-phone tr{border-bottom:1px solid var(--color-border);padding:.6rem 0;display:block}table.stack-on-phone td{text-align:right;border:none;justify-content:space-between;gap:.75rem;padding:.2rem 0;display:flex}table.stack-on-phone td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);text-align:left;font-weight:600}table.stack-on-phone td:empty{display:none}}.history-section-title{margin:1.5rem 0 .75rem;font-size:1.15rem}@media (width<=768px){.map-building-page-body{flex-direction:column}.map-floor-picker{flex-flow:wrap;width:100%}.map-floor-picker-title{text-align:left;width:100%}.map-floor-btn{flex:1;height:48px}}@keyframes fade-in{0%{opacity:0}}@keyframes tab-in{0%{opacity:0;transform:translate(-8px)}}@keyframes incident-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}.page{animation:fade-in .12s var(--ease-enter)}.page:has(>.admin-tabs){animation:none}.admin-tab-content{animation:tab-in .18s var(--ease-enter)}.incident-card{animation:incident-in .2s var(--ease-enter)}.dialog-backdrop{animation:fade-in .2s var(--ease-enter)}.dialog{animation:dialog-in .2s var(--ease-enter)}.zone-card .dialog-backdrop,.zone-card .dialog{animation:none}.zone-card{transition:border-top-color .2s var(--ease-standard)}.status-badge{transition:background-color .2s var(--ease-standard), color .2s var(--ease-standard)}.btn{transition:transform .16s var(--ease-standard)}.btn:not(:disabled):active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.admin-tab-content,.incident-card,.dialog{animation-name:fade-in}.btn{transition:none}.btn:not(:disabled):active{transform:none}}
