@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{color:#dce8ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-app:#070f1c;--bg-shell:#0a1324;--bg-sidebar:#0a1324e6;--bg-panel:#0e182ae6;--bg-panel-strong:#131f35f0;--bg-card:#111d32b8;--bg-card-soft:#0c1526c2;--bg-card-strong:#1d345f57;--bg-input:#0b1526e6;--bg-active:#2e5dc452;--text-primary:#f4f8ff;--text-secondary:#dce8ff;--text-muted:#8da2c7;--text-soft:#6f86aa;--accent:#4f8cff;--accent-strong:#7cb5ff;--accent-soft:#4f8cff24;--success:#3bd28d;--warning:#f4bf49;--danger:#ff6f78;--border:#7b9ddc2e;--border-strong:#7b9ddc47;--shadow-lg:0 28px 80px #0208157a;--shadow-md:0 14px 34px #030a185c;--radius-panel:28px;--radius-card:22px;--radius-pill:999px;--focus-ring:0 0 0 3px #64a3ff2e;background:radial-gradient(circle at 0 0,#4576ff38,#0000 24%),radial-gradient(circle at 100% 0,#284caa2e,#0000 28%),linear-gradient(#07101f 0%,#091222 34%,#080f1c 68%,#060b15 100%);font-family:Manrope,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--text-secondary);background:radial-gradient(circle at 0 0,#5589ff1f,#0000 20%),linear-gradient(#07101f 0%,#091222 40%,#060c15 100%);margin:0}body,button,input,textarea,select{font-family:Manrope,sans-serif}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}button,input,select,textarea{color:inherit}::selection{color:var(--text-primary);background:#5f95ff4d}.app-shell{background:linear-gradient(#0a1221cc,#0a12218c),radial-gradient(circle at 0 0,#4770ef14,#0000 24%);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.app-main{min-width:0;padding:1.25rem 1.25rem 1.25rem 0}.sidebar{flex-direction:column;justify-content:space-between;gap:.8rem;min-height:100vh;padding:1.25rem 0 1.25rem 1.25rem;display:flex;position:sticky;top:0}.sidebar-top,.sidebar-bottom,.sidebar-nav,.stack,.hero-meta,.sidebar-status,.sidebar-activity,.sidebar-user-copy,.user-trigger-copy,.user-dropdown-meta{gap:.8rem;display:grid}.sidebar-top{align-content:start}.sidebar-bottom{align-content:end}.sidebar-brand{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.sidebar-brand-mark,.sidebar-link-icon,.user-avatar{letter-spacing:.08em;border-radius:18px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.sidebar-brand-mark{width:46px;height:46px;color:var(--text-primary);background:linear-gradient(145deg,#6692ffeb,#3761cde6),radial-gradient(circle at 0 0,#ffffff4d,#0000 45%);box-shadow:inset 0 1px #ffffff38}.sidebar-brand-copy{gap:.18rem;display:grid}.sidebar-brand h1{font-size:1.15rem;line-height:1.15}.sidebar-group-label{color:var(--text-soft);letter-spacing:.22em;text-transform:uppercase;padding-left:.25rem;font-size:.68rem;font-weight:700}.sidebar-nav{gap:.38rem}.sidebar-link{background:#0b1323b3;border:1px solid #0000;border-radius:16px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.65rem;min-height:44px;padding:.58rem .72rem;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;display:grid}.sidebar-link:hover{border-color:var(--border);background:#101c30e6;transform:translate(2px);box-shadow:0 12px 24px #040c1c3d}.sidebar-link.active{background:linear-gradient(#192b4ff5,#111f39f5),radial-gradient(circle at 0 0,#6691ff38,#0000 48%);border-color:#6e9bff6b;box-shadow:inset 0 1px #ffffff0a,0 18px 32px #060e1f47}.sidebar-link-icon{width:34px;height:34px;color:var(--accent-strong);background:#111e35c2;border:1px solid #8fb1eb1f;border-radius:12px;font-size:.64rem}.sidebar-link.active .sidebar-link-icon{color:var(--text-primary);background:#284884c7;border-color:#91bbff47}.sidebar-link-copy{min-width:0;display:block}.sidebar-link-topline{justify-content:space-between;align-items:center;gap:.45rem;display:flex}.sidebar-link-label{color:var(--text-primary);font-size:.88rem;font-weight:700;line-height:1.2}.sidebar-link-copy small{color:var(--text-soft)}.sidebar-link-dot{background:var(--danger);border-radius:999px;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #ff6f7826}.sidebar-status-row,.section-head,.incident-head,.row,.page-header-badges,.button-row,.actions,.tabs,.filter-row{flex-wrap:wrap;gap:.75rem;display:flex}.sidebar-status-row,.section-head,.incident-head,.row{justify-content:space-between;align-items:center}.sidebar-status-row strong,.sidebar-activity strong,.row strong,h1,h2{color:var(--text-primary)}.sidebar-activity strong{font-size:.98rem;line-height:1.45;display:block}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;padding-right:19rem;display:flex;overflow:visible}.page-header-copy,.page-header-meta{gap:.9rem;display:grid}.page-header-copy{flex:520px;min-width:0}.page-header-meta{place-items:stretch end;width:auto;position:absolute;top:1.1rem;right:1.1rem;overflow:visible}.user-avatar{width:40px;height:40px;color:var(--text-primary);background:linear-gradient(160deg,#5f8cffeb,#4459d7d1),radial-gradient(circle at 0 0,#ffffff38,#0000 44%)}.user-menu{z-index:5;width:224px;max-width:224px;position:relative}.user-trigger{width:100%;min-width:0;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-md);background:linear-gradient(#121e34f0,#0b1221fa),radial-gradient(circle at 0 0,#598aff1a,#0000 40%);border:1px solid #7b9ddc33;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.42rem .52rem .42rem .42rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.user-trigger:hover,.user-trigger.open{border-color:#8eb6fa4d}.user-trigger-copy{justify-items:start;gap:.08rem;min-width:0}.user-trigger-copy strong{font-size:.92rem;line-height:1.2}.user-trigger-copy span{color:var(--text-muted);white-space:nowrap;font-size:.76rem;line-height:1.2}.user-trigger-chevron{width:14px;color:var(--text-soft);justify-content:center;align-items:center;font-size:.9rem;line-height:1;transition:transform .15s;display:inline-flex;transform:rotate(0)}.user-trigger-chevron.open{transform:rotate(180deg)}.user-dropdown.panel{z-index:9999;gap:0;padding:.95rem;display:grid;position:absolute;box-shadow:0 26px 50px #01081480}.user-dropdown-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.user-dropdown .secondary-button{width:100%;margin-top:.9rem}.app-loading-shell,.login-screen{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{gap:1.25rem;width:min(100%,540px);display:grid}.auth-mode-switch{gap:.75rem;margin-top:1rem;display:flex}.auth-mode-switch>*{flex:1 1 0}.auth-inline-actions{justify-content:flex-start;display:flex}.auth-helper,.feedback{background:#0c1627d1;border:1px solid #7fa1e02e;border-radius:18px;padding:.85rem .95rem}.feedback.error{color:#ffd8db;background:#4c152257;border-color:#ff798142}.shell{gap:1.25rem;padding-top:1.1rem;display:grid}.shell-content{min-width:0}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.detail-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start}.forms-grid{align-items:start}.panel{border-radius:var(--radius-panel);border:1px solid var(--border);box-shadow:var(--shadow-lg);background:linear-gradient(#131f35f2,#0a1221fa),radial-gradient(circle at 0 0,#4d83ff24,#0000 42%);padding:1.3rem;position:relative;overflow:hidden}.panel:before{content:"";pointer-events:none;background:linear-gradient(#ffffff08,#0000 18%);position:absolute;inset:0}.page-header.panel,.page-header.panel:before,.page-header-meta{overflow:visible}.hero{grid-template-columns:minmax(0,1.7fr) minmax(240px,.9fr);align-items:end;gap:1rem;display:grid}.overview-hero{min-height:190px}.eyebrow{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700}.lead{max-width:62ch;color:var(--text-secondary);line-height:1.65}.muted,.caption,small{color:var(--text-muted)}.caption{font-size:.9rem}.stats{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}.stat{background:linear-gradient(#15233cf0,#0c1424fa),radial-gradient(circle at 100% 0,#6695ff29,#0000 42%);align-content:space-between;gap:.7rem;min-height:146px;display:grid}.stat strong{font-size:clamp(2rem,4vw,2.85rem);line-height:1}.metric-card{border-color:#7ca0e233}.panel>.section-head+.table,.panel>.section-head+.stack,.panel>.section-head+.plain-list,.panel>.section-head+.filters-grid,.panel>.section-head+.form,.panel>.section-head+.stack-form{margin-top:1rem}.section-head h2{font-size:1.15rem}.plain-list,.table,.stack{margin:0;padding:0;list-style:none}.plain-list li,.row,.incident-card,.route-card,.compact-card,.micro-card,.incident-select-card{border-radius:var(--radius-card);box-shadow:var(--shadow-md);background:linear-gradient(#0f182aeb,#0b1221f5),radial-gradient(circle at 0 0,#598aff14,#0000 44%);border:1px solid #81a1db24}.plain-list{gap:.75rem;display:grid}.plain-list li{padding:1rem 1.1rem}.table,.section-stack{gap:.8rem;display:grid}.row{align-items:center;padding:1rem 1.1rem}.row>span,.row>div{min-width:0}.row small{margin-top:.2rem;display:block}.chat-stats-line{color:var(--text-soft);margin-top:.38rem;line-height:1.5}.stack{gap:.8rem}.form,.stack-form{gap:.85rem;margin-top:1rem;display:grid}.form label,.stack-form label,.filters-grid label{color:var(--text-secondary);gap:.38rem;display:grid}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:.25rem;display:grid}.form input,.stack-form input,.filters-grid input,.filters-grid select,.form select,.form textarea,.route-card select,.route-card textarea{background:var(--bg-input);width:100%;color:var(--text-primary);border:1px solid #7b9ddc38;border-radius:16px;padding:.9rem 1rem;transition:border-color .14s,box-shadow .14s,background .14s}.form input:focus,.stack-form input:focus,.filters-grid input:focus,.filters-grid select:focus,.form select:focus,.form textarea:focus,.route-card select:focus,.route-card textarea:focus{box-shadow:var(--focus-ring);background:#0d182bf5;border-color:#77a8ff70;outline:none}.form textarea,.route-card textarea{resize:vertical;min-height:112px}.checkbox{color:var(--text-secondary);align-items:center;gap:.7rem;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.actions{justify-content:flex-end;margin-left:auto}.button-row{align-items:center}.badge,.status{border-radius:var(--radius-pill);white-space:nowrap;background:#121d32b8;border:1px solid #ffffff17;justify-content:center;align-items:center;gap:.4rem;min-height:32px;padding:.3rem .78rem;font-size:.82rem;font-weight:700;display:inline-flex}.primary-button,.secondary-button,.tab-button,.incident-select-card{color:var(--text-primary);border:1px solid #7b9ddc38;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s,opacity .15s}.primary-button,.secondary-button,.tab-button{border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.1rem;display:inline-flex}.primary-button{background:linear-gradient(135deg,#538afff5,#3259d6f5);box-shadow:0 14px 28px #2653be47}.secondary-button,.tab-button{background:#16233ae6}.primary-button:hover,.secondary-button:hover,.tab-button:hover,.incident-select-card:hover{border-color:#94b7f152;transform:translateY(-1px);box-shadow:0 12px 28px #050c1a42}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.68;box-shadow:none;transform:none}.tab-button.active,.active-card{background:linear-gradient(#243d6ef0,#172543f5),radial-gradient(circle at 0 0,#6fa6ff29,#0000 42%);border-color:#68abff6b}.incident-select-card{border-radius:var(--radius-card);text-align:left;cursor:pointer;background:linear-gradient(#101a2ef0,#0b1221fa),radial-gradient(circle at 0 0,#5487ff14,#0000 44%);gap:.55rem;width:100%;padding:1rem 1.05rem;display:grid}.badge.api,.status.ok{color:#90f3be;background:#3bd28d1f;border-color:#3bd28d33}.badge.fallback,.status.warn,.stat.warning{color:#ffd983;background:#f4bf491f;border-color:#f4bf4933}.badge.neutral,.badge.loading{color:#c8dcff;background:#6f8dbf29;border-color:#89a3d233}.status.danger,.stat.danger{color:#ffbdc2;background:#ff6f781f;border-color:#ff6f7833}.incident-card,.route-card{gap:.75rem;padding:1rem 1.1rem;display:grid}.warning-card{background:linear-gradient(#3a2b1185,#1b140975),linear-gradient(#0f182aeb,#0b1221f5);border-color:#f4bf4947}.entity-card{position:relative;overflow:hidden}.entity-card:before{content:"";background:#7cb5ffbf;border-radius:4px;width:4px;position:absolute;inset:0 auto 0 0}.entity-card-danger:before{background:#ff6f78cc}.entity-card-resident:before{background:#f4bf49d9}.entity-card-history:before{background:#3bd28dd1}.entity-form-card{padding:1rem 1.05rem}.compact-stack{gap:.65rem}.compact-card{gap:.35rem;padding:.85rem .95rem;display:grid}.micro-card{gap:.38rem;padding:.8rem .9rem;display:grid}.feedback{color:var(--text-secondary)}.feedback code,.caption code,.plain-list code,small code{color:#cbe0ff;background:#5f84d024;border-radius:10px;padding:.14rem .38rem;font-family:JetBrains Mono,monospace;font-size:.82em;display:inline-block}.plain-list a,.caption a,.lead a,.feedback a{color:var(--accent-strong)}@media (width<=1180px){.app-shell{grid-template-columns:232px minmax(0,1fr)}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:1rem 1rem 0;position:static}.app-main{padding:1rem}.sidebar-bottom{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start}.shell{padding-top:1rem}.hero,.detail-grid{grid-template-columns:1fr}}@media (width<=720px){.panel{border-radius:22px;padding:1rem}.sidebar-link{grid-template-columns:32px minmax(0,1fr);min-height:40px;padding:.52rem .65rem}.sidebar-link-icon{border-radius:11px;width:32px;height:32px;font-size:.62rem}.stats,.grid,.filters-grid{grid-template-columns:1fr}.row,.section-head,.incident-head{align-items:flex-start}.actions{justify-content:flex-start;width:100%;margin-left:0}.button-row,.filter-row{width:100%}.page-header{flex-direction:column;padding-right:1rem}.page-header-meta{flex:auto;justify-items:start;width:100%;position:static}.user-menu{max-width:min(320px,100%)}.user-trigger,.user-dropdown{width:100%;min-width:0}.button-row>*,.filter-row>*,.actions>*{flex:100%}}
