:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:#dbe3e9;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0e171e}*{box-sizing:border-box}html{background:radial-gradient(circle at 85% -10%,#2e597440,#0000 34rem),#0e171e;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.cad-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 56px}.demo-banner{color:#ffe1a3;letter-spacing:.08em;text-align:center;text-transform:uppercase;background:#513b15;border:2px solid #e4b34e;border-radius:6px;gap:3px;margin-bottom:18px;padding:14px 18px;font-size:.82rem;font-weight:700;display:grid}.demo-banner strong{color:#fff1cf;letter-spacing:.13em;font-size:1.05rem}.demo-banner span{line-height:1.4}.demo-callout{color:#8ea0ab;justify-content:center;align-items:center;gap:10px;margin:-4px 0 24px;font-size:.82rem;display:flex}.demo-callout a{color:#9fd5f3;font-family:var(--font-mono);font-weight:700;text-decoration:none}.demo-callout a:hover{color:#c8ebff;text-decoration:underline}.cad-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.cad-header__eyebrow{color:#6fa8ca;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:700}.cad-header h1{color:#f4f7fa;margin:0;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}.cad-header__connection{color:#8495a3;font-family:var(--font-mono);text-transform:capitalize;align-items:center;gap:8px;margin:0;font-size:.78rem;display:inline-flex}.cad-header__actions{align-items:center;gap:16px;display:flex}.cad-header__connection span{background:currentColor;border-radius:50%;width:7px;height:7px}.cad-header__connection--connected,.cad-header__connection--healthy{color:#72dca7}.cad-header__connection--connecting,.cad-header__connection--reconnecting,.cad-header__connection--checking{color:#efbe62}.cad-header__connection--disconnected,.cad-header__connection--unhealthy{color:#e87878}.connection-notice{color:#f0d59d;text-align:center;background:#2d281d;border:1px solid #6f5629;border-radius:8px;align-content:center;justify-items:center;min-height:220px;padding:32px;display:grid}.connection-notice--disconnected{color:#f0b0b0;background:#2e2020;border-color:#713d3d}.connection-notice h2{color:inherit;margin:0 0 8px;font-size:1.2rem}.connection-notice p{color:#a9b3ba;margin:0}.cad-dashboard{grid-template-columns:minmax(0,2fr) minmax(310px,1fr);align-items:start;gap:20px;margin-top:20px;display:grid}.cad-dashboard__incident,.cad-dashboard__activity{gap:20px;display:grid}.cad-dashboard__activity{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.cad-dashboard__standby{text-align:center;align-content:center;justify-items:center;min-height:180px;display:grid}.cad-dashboard__standby p{color:#e5edf2;margin:0 0 6px;font-size:1.05rem;font-weight:700}.cad-dashboard__standby span{color:#8495a3}.site-footer{color:#657682;border-top:1px solid #253541;justify-content:space-between;gap:16px;margin-top:44px;padding-top:16px;font-size:.72rem;display:flex}.site-footer nav{gap:14px;display:flex}.site-footer a,.legal-page a,.legal-back-link{color:#8096a5;text-decoration:none}.site-footer a:hover,.legal-page a:hover,.legal-back-link:hover{color:#b8c8d2;text-decoration:underline}.site-footer p{margin:0}.legal-shell{width:min(720px,100% - 32px);margin:0 auto;padding:40px 0 32px}.legal-back-link{margin-bottom:24px;font-size:.8rem;display:inline-block}.legal-page{color:#b8c5cd;background:#17222a;border:1px solid #2b3d49;border-radius:8px;padding:clamp(24px,5vw,44px);line-height:1.65}.legal-page h1,.legal-page h2{color:#edf3f6}.legal-page h1{margin:0;font-size:clamp(1.8rem,5vw,2.4rem)}.legal-page h2{margin:28px 0 6px;font-size:1rem}.legal-page p{margin:12px 0 0}.legal-page__date{color:#718592;font-size:.78rem}@media (width<=960px){.cad-dashboard{grid-template-columns:1fr}.cad-dashboard aside{grid-row:1}}@media (width<=720px){.cad-dashboard__activity{grid-template-columns:1fr}}@media (width<=640px){.cad-shell{width:min(100% - 20px,1180px);padding-top:12px}.cad-header{flex-direction:column;align-items:flex-start;gap:8px}.cad-header__actions{justify-content:space-between;align-items:flex-start;width:100%}.demo-callout{text-align:center;flex-direction:column;align-items:center;gap:4px}.site-footer{flex-direction:column;align-items:flex-start}}.active-call{background:#17222b;border:1px solid #324452;border-radius:8px;overflow:hidden;box-shadow:0 18px 48px #00000038}.active-call__header{background:#1d2a34;border-bottom:1px solid #324452;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.active-call__title{align-items:center;gap:10px;display:flex}.active-call__pulse{background:#4fd18b;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #4fd18b1f}.active-call__pulse--waiting{background:#728592;box-shadow:0 0 0 4px #7285921f}.active-call__pulse--disconnected{background:#f0a35e;box-shadow:0 0 0 4px #f0a35e24}.active-call h2{color:#f4f7fa;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1rem}.active-call__incident{color:#9babb7;font-family:var(--font-mono);font-size:.8rem}.active-call__incident strong{color:#f4f7fa;margin-left:8px;font-size:.95rem}.active-call__details{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.active-call__field{border-right:1px solid #2a3b48;min-width:0;padding:22px 20px 24px}.active-call__field:last-child{border-right:0}.active-call dt{color:#7890a0;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.7rem;font-weight:700}.active-call dd{color:#f4f7fa;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;font-weight:650;overflow:hidden}.active-call__badge{min-height:26px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;display:inline-flex}.active-call__badge--priority{color:#ffd5a1;background:#623c17}.active-call__badge--status{color:#a7f3cb;background:#174c39}.active-call__badge--disconnected{color:#ffd5a1;background:#623c17}@media (width<=760px){.active-call__details{grid-template-columns:repeat(2,minmax(0,1fr))}.active-call__field:nth-child(2),.active-call__field:nth-child(2n){border-right:0}.active-call__field:nth-child(-n+4){border-bottom:1px solid #2a3b48}.active-call__field:last-child{border-bottom:0;grid-column:1/-1}}@media (width<=480px){.active-call__header{flex-direction:column;align-items:flex-start}.active-call__details{grid-template-columns:1fr}.active-call__field,.active-call__field:nth-child(2){border-bottom:1px solid #2a3b48;border-right:0}.active-call__field:last-child{border-bottom:0;grid-column:auto}}.connection-indicators{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.connection-indicator{background:#151f27;border:1px solid #2b3d4a;border-radius:6px;grid-template-columns:9px 1fr;align-items:center;gap:2px 9px;padding:12px 14px;display:grid}.connection-indicator__dot{background:#687985;border-radius:50%;grid-row:1/span 2;width:8px;height:8px}.connection-indicator__label{color:#8396a3;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:700}.connection-indicator strong{color:#dce6ec;font-family:var(--font-mono);font-size:.76rem}.connection-indicator--connected .connection-indicator__dot{background:#72dca7}.connection-indicator--disconnected .connection-indicator__dot,.connection-indicator--failed .connection-indicator__dot{background:#e87878}.connection-indicator--pending .connection-indicator__dot{background:#efbe62}@media (width<=760px){.connection-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline{gap:4px;margin:0;padding:0;list-style:none;display:grid}.timeline__event{color:#8193a0;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:42px;display:grid}.timeline__marker{width:24px;height:24px;font-family:var(--font-mono);border:1px solid #50616c;border-radius:50%;place-items:center;font-size:.7rem;display:grid}.timeline__event--complete{color:#e5edf2}.timeline__event--complete .timeline__marker{color:#091a12;background:#72dca7;border-color:#3ea675}.timeline__state{font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem}.incident-details__grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.incident-details__field{border-bottom:1px solid #263744;border-right:1px solid #263744;min-width:0;padding:17px 18px}.incident-details__field:nth-child(2n){border-right:0}.incident-details__field--wide{border-right:0;grid-column:1/-1}.incident-details__field:last-child{border-bottom:0}.incident-details dt{color:#78909f;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:700}.incident-details dd{color:#e6edf1;margin:0;line-height:1.45}.incident-details__empty{color:#748896;font-style:italic}@media (width<=560px){.incident-details__grid{grid-template-columns:1fr}.incident-details__field,.incident-details__field:nth-child(2n){border-right:0;grid-column:auto}}.log-viewer-button,.log-viewer__toolbar button,.log-viewer__toolbar a{color:#cce6f4;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#1b303d;border:1px solid #486376;border-radius:5px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:.74rem;font-weight:800;text-decoration:none;display:inline-flex}.log-viewer-button:disabled,.log-viewer__toolbar button:disabled{opacity:.45;cursor:not-allowed}.log-viewer-backdrop{z-index:100;background:#02080cc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.log-viewer{background:#101a21;border:1px solid #3b5363;border-radius:8px;grid-template-rows:auto auto auto minmax(0,1fr);width:min(1200px,100%);height:min(820px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 30px 90px #0000008c}.log-viewer__header{background:#19252e;border-bottom:1px solid #2b3d4a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.log-viewer__header p,.log-viewer__header h2{margin:0}.log-viewer__header p{color:#78909f;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.log-viewer__header h2{color:#f0f5f8;margin-top:3px;font-size:1.15rem}.log-viewer__close{color:#b9c9d2;cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:1.8rem}.log-viewer__toolbar{border-bottom:1px solid #293b47;grid-template-columns:150px minmax(240px,1fr) auto auto;gap:10px;padding:12px 16px;display:grid}.log-viewer__toolbar input,.log-viewer__toolbar select{color:#dce6ec;background:#111c23;border:1px solid #3a505f;border-radius:5px;min-width:0;min-height:36px;padding:0 10px}.log-viewer__summary{color:#7f929f;font-family:var(--font-mono);justify-content:space-between;gap:16px;padding:8px 16px;font-size:.7rem;display:flex}.log-viewer__summary strong{color:#efbe62}.log-viewer__entries{background:#263744;align-content:start;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.log-entry{background:#121d24;border-left:4px solid #557184;padding:11px 15px}.log-entry--warning{border-left-color:#efbe62}.log-entry--error,.log-entry--fatal{border-left-color:#e87878}.log-entry__summary{color:#8295a2;font-family:var(--font-mono);grid-template-columns:110px 90px minmax(0,1fr);gap:10px;font-size:.7rem;display:grid}.log-entry__level{text-transform:uppercase;font-weight:800}.log-entry__category{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log-entry p{color:#e0e8ed;font-family:var(--font-mono);margin:5px 0 0;font-size:.78rem;line-height:1.45}.log-entry details{color:#8fa2ae;margin-top:7px;font-size:.75rem}.log-entry pre{color:#bfd0da;white-space:pre-wrap;background:#0b1318;padding:10px;overflow:auto}@media (width<=720px){.log-viewer-backdrop{padding:8px}.log-viewer{height:calc(100vh - 16px)}.log-viewer__toolbar{grid-template-columns:1fr 1fr}.log-viewer__toolbar input{grid-area:1/1/auto/-1}.log-entry__summary{grid-template-columns:auto auto}.log-entry__category{grid-column:1/-1}}.jurisdiction{background:#172731;border:1px solid #36546a;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:14px 18px;display:flex}.jurisdiction>div:first-child{gap:3px;display:grid}.jurisdiction span,.jurisdiction label{color:#8fa2af;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.jurisdiction strong{color:#f2f7fa;font-size:1.05rem}.jurisdiction button{color:#cce9fa;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#203d4e;border:1px solid #517d99;border-radius:5px;min-height:34px;padding:0 13px;font-size:.72rem;font-weight:800}.jurisdiction button:hover:not(:disabled){background:#294d62;border-color:#78afd0}.jurisdiction button:disabled{opacity:.45;cursor:not-allowed}.jurisdiction--editing{grid-template-columns:minmax(180px,1fr) minmax(100px,.35fr) auto;display:grid}.jurisdiction--editing label{gap:5px;display:grid}.jurisdiction--editing input{color:#f4f7fa;min-height:36px;font:inherit;background:#101a20;border:1px solid #496777;border-radius:4px;padding:0 10px}.jurisdiction__actions{align-self:end;gap:8px!important;display:flex!important}.jurisdiction .jurisdiction__cancel{color:#c4cdd2;background:#283238;border-color:#59656c}.jurisdiction--editing>span{color:#f09a9a;text-transform:none;grid-column:1/-1}@media (width<=640px){.jurisdiction--editing{grid-template-columns:1fr}}.reset-demo{justify-items:end;gap:6px;display:grid}.reset-demo__button{color:#ffe2ae;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#473119;border:1px solid #a66f31;border-radius:5px;min-height:36px;padding:0 15px;font-size:.74rem;font-weight:800}.reset-demo__button:hover:not(:disabled){background:#583d1e;border-color:#e0a552}.reset-demo__button:focus-visible{outline-offset:2px;outline:2px solid #e6b662}.reset-demo__button:disabled{opacity:.45;cursor:not-allowed}.reset-demo__error{color:#f09a9a;text-align:right;max-width:290px;font-size:.72rem}.transcript{gap:14px;margin:0;padding:0;list-style:none;display:grid}.transcript,.transcript__empty{padding:18px}.transcript__empty{color:#748896;text-align:center;margin:0}.transcript__entry{border-left:3px solid #54758a;padding-left:12px}.transcript__entry--dispatcher{border-color:#72a8ca}.transcript__entry--caller{border-color:#d8a53f}.transcript__speaker{color:#8fa5b3;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.transcript__entry p{color:#e5edf2;margin:3px 0 0;line-height:1.5}.panel{background:#151f27;border:1px solid #2b3d4a;border-radius:8px;overflow:hidden;box-shadow:0 14px 38px #00000029}.panel__header{background:#1b2730;border-bottom:1px solid #2b3d4a;justify-content:space-between;align-items:center;min-height:48px;padding:0 18px;display:flex}.panel__header h2{color:#eef3f6;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.8rem}.panel__meta{color:#78909f;font-family:var(--font-mono);text-transform:uppercase;font-size:.7rem}.unit-groups{background:#263744;gap:1px;display:grid}.unit-group{background:#151f27;padding:15px 16px 16px}.unit-group__title{color:#91a6b4;letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;margin:0 0 10px;font-size:.7rem;display:flex}.unit-group__title span{color:#617887;font-family:var(--font-mono)}.unit-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.unit{background:#19252e;border:1px solid #2a3b47;border-radius:5px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.unit__id{color:#f0f5f8;font-family:var(--font-mono);font-weight:800}.unit__type{color:#9eb0bc;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.unit__status{color:#77dca9;font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:6px;font-size:.65rem;display:inline-flex}.unit__status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.unit__status--dispatched{color:#f0b65d}.unit-list__empty{color:#748896;text-align:center;padding:28px 18px}
