:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f8;color:#172026;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;min-width:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e39c25;outline-offset:3px}a{color:#075e76;font-weight:700;text-decoration:none}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);max-width:100vw;min-height:100vh;overflow-x:hidden}.sidebar{background:#101820;color:#e7edf1;display:flex;flex-direction:column;gap:18px;min-width:0;padding:22px}.brand{align-items:center;display:flex;gap:12px;min-height:46px}.brand svg{color:#30c7a2}.brand strong,.brand span{display:block}.brand span,.token-field label,.device-row small,.eyebrow{color:#81909b;font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.token-field{display:grid;gap:8px;max-width:100%}.token-field small{color:#a9b6be;font-size:.76rem;line-height:1.45}.token-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr}.token-actions button{background:#23313d;border:1px solid #3d4f5c;border-radius:8px;color:#f7fbfd;font-weight:800;min-height:38px}.token-field input,.message-field textarea{border:1px solid #c8d2d9;border-radius:8px;color:#172026;outline:none;padding:11px 12px;max-width:100%;width:100%}.token-field input{background:#f8fbfc}.token-field input:focus,.message-field textarea:focus{border-color:#147d93;box-shadow:0 0 0 3px #147d9326}.secondary-action,.primary-action,.danger-action,.icon-action,.command-grid button{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:40px}.secondary-action{background:#23313d;color:#f7fbfd;width:100%}.primary-action{background:#116d7f;color:#fff;padding:0 14px}.danger-action{background:#b42318;color:#fff;padding:0 14px}.icon-action{background:#fff;border:1px solid #d6dee4;color:#172026;height:40px;width:40px}.device-list{display:grid;gap:8px;overflow:auto}.device-row{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#d7e1e7;display:grid;gap:10px;grid-template-columns:20px minmax(0,1fr) 18px;min-height:58px;max-width:100%;padding:10px;text-align:left}.device-row strong,.device-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-row.active{background:#20303b;border-color:#38606b}.device-row svg:last-child{color:#ffb020}.sidebar-footer{border-top:1px solid #2a3945;display:grid;gap:7px;margin-top:auto;padding-top:16px}.sidebar-footer a{color:#7de1c8}.sidebar-footer span{color:#9cabb5;font-size:.78rem;line-height:1.4}.workspace{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between}.topbar h1,.panel-heading h2,.empty-workspace h2{letter-spacing:0;margin:0}.topbar h1{font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.05}.topbar-actions{display:flex;gap:10px;min-width:fit-content}.error-banner{background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;color:#7a1712;padding:12px 14px}.notice-banner{background:#ecfdf5;border:1px solid #a7e4d2;border-radius:8px;color:#075c4a;padding:12px 14px}.offline-alert{display:flex;align-items:flex-start;gap:14px;background:#fff3ee;color:#792b1c;border:1px solid #edb0a1;border-left:5px solid #c43e2d;border-radius:12px;padding:16px 20px;margin:0 0 18px;line-height:1.5}.offline-alert svg{flex:0 0 auto;margin-top:3px}.offline-alert strong,.offline-alert span{display:block}.offline-alert span{font-size:.9rem;margin-top:5px}.emergency-action{margin:14px 0 18px}.emergency-action button{width:100%;border:1px solid #9a251b;border-radius:10px;padding:15px;color:#fff;background:#a92d24;font-weight:800;display:flex;gap:10px;justify-content:center;align-items:center}.emergency-action button:disabled{background:#7e4b47}.emergency-action p{color:#556471;font-size:.83rem;line-height:1.5}.status-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.status-tile,.panel{background:#fff;border:1px solid #dbe3e8;border-radius:8px;box-shadow:0 10px 28px #1018200f}.status-tile{display:grid;gap:6px;min-height:112px;padding:16px}.status-tile svg{color:#637381}.status-tile.ok svg{color:#0f8f73}.status-tile.danger svg{color:#c5332a}.status-tile.warning svg{color:#b7791f}.status-tile span{color:#667783;font-size:.86rem;font-weight:700}.status-tile strong{font-size:1.35rem;overflow-wrap:anywhere}.recovery-summary{align-items:center;background:#fff;border:1px solid #dbe3e8;border-left:5px solid #0f8f73;border-radius:8px;display:flex;gap:18px;justify-content:space-between;padding:14px 16px}.recovery-summary.recovering{border-left-color:#b7791f}.recovery-summary.degraded,.recovery-summary.stale{border-left-color:#d92d20}.recovery-summary strong,.recovery-summary small{display:block}.recovery-summary strong{font-size:1.2rem;margin-top:3px}.recovery-summary small{color:#667783;margin-top:4px}.recovery-issues{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.recovery-issues span{background:#eef5f6;border-radius:999px;color:#31444d;font-size:.78rem;font-weight:700;padding:6px 9px}.content-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.panel{min-width:0;padding:18px}.panel-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.panel-heading svg{color:#4a6f7a}.map-frame,.empty-map,.map-consent{border:0;border-radius:8px;height:360px;width:100%}.map-frame{background:#dbe3e8}.empty-map{align-items:center;background:#edf2f5;color:#667783;display:flex;flex-direction:column;gap:10px;justify-content:center}.map-consent{align-items:center;background:#edf2f5;color:#53636e;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:24px;text-align:center}.map-consent span{line-height:1.5;max-width:520px}.map-consent button{background:#116d7f;border:0;border-radius:8px;color:#fff;font-weight:800;min-height:40px;padding:0 14px}.location-meta{align-items:center;color:#45525c;display:flex;font-weight:700;justify-content:space-between;margin-top:12px}.location-meta>div{display:grid;gap:5px}.location-meta small{color:#667783;font-weight:600}.freshness-badge{border-radius:999px;display:inline-block;font-size:.76rem;font-weight:800;padding:3px 7px}.freshness-badge.fresh{background:#dff7ee;color:#08705a}.freshness-badge.aging{background:#fff5df;color:#785600}.freshness-badge.stale{background:#fff1f0;color:#9c241d}.freshness-badge.unknown{background:#edf2f5;color:#53636e}.map-disclosure{color:#667783;font-size:.78rem;line-height:1.45;margin:12px 0 0}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.message-field{display:grid;gap:8px}.message-field span{color:#667783;font-size:.88rem;font-weight:800}.message-field textarea{min-height:118px;resize:vertical}.command-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.command-grid button{background:#eef5f6;color:#173943;min-height:46px}.command-grid button:nth-child(3){background:#fff5df;color:#674900}.command-grid button:nth-child(4){background:#edf1f7;color:#28364a}.timeline-panel{min-height:240px}.timeline{display:grid;gap:10px}.timeline-item{border:1px solid #e1e7eb;border-radius:8px;display:grid;gap:12px;grid-template-columns:14px minmax(0,1fr);padding:12px}.timeline-dot{background:#7b8790;border-radius:999px;height:10px;margin-top:7px;width:10px}.timeline-item.warning .timeline-dot{background:#b7791f}.timeline-item.critical .timeline-dot{background:#d92d20}.timeline-item header{align-items:center;display:flex;gap:12px;justify-content:space-between}.timeline-item strong{overflow-wrap:anywhere}.timeline-item time,.timeline-item p,.timeline-item small{color:#667783}.timeline-item p{margin:4px 0 0;text-transform:capitalize}.empty-state,.empty-workspace{align-items:center;color:#667783;display:flex;justify-content:center}.empty-state{min-height:130px}.empty-workspace{background:#fff;border:1px solid #dbe3e8;border-radius:8px;flex:1;flex-direction:column;gap:14px;min-height:420px}@media(max-width:1020px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.device-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.content-grid,.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.workspace,.sidebar{max-width:100vw;padding:16px;width:100%}.topbar,.topbar-actions,.location-meta,.timeline-item header,.recovery-summary{align-items:stretch;flex-direction:column}.content-grid,.status-grid,.command-grid{grid-template-columns:1fr}.map-frame,.empty-map,.map-consent{height:300px}}.evidence-disclosure{color:#667783;margin:-4px 0 14px}.evidence-list{display:grid;gap:10px}.evidence-card{align-items:center;border:1px solid #e1e7eb;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px}.evidence-card div{display:grid;gap:5px;min-width:0}.evidence-card small,.evidence-card code{color:#667783;overflow-wrap:anywhere}.evidence-actions{display:flex!important;flex:0 0 auto;gap:8px!important}.evidence-card button{align-items:center;background:#eef5f6;border:0;border-radius:8px;color:#173943;display:inline-flex;flex:0 0 auto;font-weight:800;gap:7px;min-height:40px;padding:0 12px}.evidence-card button.delete-action{background:#fff1f0;color:#9c241d}.danger-zone{align-items:end;border-color:#efb2ad;display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) minmax(260px,.8fr) auto}.danger-zone h2{margin:3px 0 0}.danger-zone p{color:#667783;line-height:1.5;margin:8px 0 0}.delete-confirmation{display:grid;gap:7px}.delete-confirmation span{color:#53636e;font-size:.82rem;font-weight:700}.delete-confirmation code{overflow-wrap:anywhere}.delete-confirmation input{border:1px solid #d4a09c;border-radius:8px;min-height:42px;padding:8px 10px;width:100%}.delete-device-action{align-items:center;background:#b42318;border:0;border-radius:8px;color:#fff;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:42px;padding:0 14px}@media(max-width:680px){.evidence-card{align-items:stretch;flex-direction:column}.evidence-actions{flex-direction:column}}@media(max-width:1100px){.danger-zone{align-items:stretch;grid-template-columns:1fr}}.workspace-tabs{align-items:center;background:#e8eef2;border-radius:10px;display:flex;gap:4px;padding:4px;width:fit-content}.workspace-tabs button{align-items:center;background:transparent;border:0;border-radius:7px;color:#52636e;display:inline-flex;font-weight:800;gap:8px;min-height:40px;padding:0 14px}.workspace-tabs button.active{background:#fff;box-shadow:0 2px 8px #1018201a;color:#0b6376}.safety-workspace{display:grid;gap:18px}.safety-disclosure{align-items:flex-start;background:#edf8f5;border:1px solid #afdace;border-left:5px solid #0f8f73;border-radius:10px;color:#124f43;display:flex;gap:14px;padding:16px 18px}.safety-disclosure svg{flex:0 0 auto}.safety-disclosure strong{display:block}.safety-disclosure p{line-height:1.5;margin:4px 0 0}.safety-summary{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.safety-summary>div{background:#fff;border:1px solid #dbe3e8;border-radius:8px;display:grid;gap:6px;grid-template-columns:auto 1fr;min-height:100px;padding:16px}.safety-summary svg{color:#4a6f7a;grid-row:1 / span 2;margin-right:7px}.safety-summary span{color:#667783;font-size:.84rem;font-weight:800}.safety-summary strong{font-size:1.35rem;overflow-wrap:anywhere}.safety-summary .urgent{background:#fff1f0;border-color:#e8aaa5}.safety-summary .urgent svg,.safety-summary .urgent strong{color:#b42318}.safety-summary .safe svg{color:#0f8f73}.safety-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(330px,.9fr) minmax(400px,1.1fr)}.safety-form{background:#f6f9fa;border:1px solid #dce5e9;border-radius:8px;display:grid;gap:10px;padding:13px}.safety-form label,.incident-toolbar label{display:grid;gap:6px}.safety-form label>span,.incident-toolbar label>span{color:#53636e;font-size:.8rem;font-weight:800}.safety-form input,.safety-form select,.incident-toolbar select{background:#fff;border:1px solid #c8d2d9;border-radius:8px;color:#172026;min-height:42px;padding:8px 10px;width:100%}.safety-form button,.incident-toolbar button,.incident-actions button,.invite-secret button,.subtle-danger{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;gap:7px;justify-content:center;min-height:42px;padding:0 12px}.safety-form button,.incident-actions>button{background:#116d7f;color:#fff}.safety-form p,.safety-help{color:#667783;font-size:.82rem;line-height:1.5;margin:0}.circle-selector{display:grid;gap:8px;margin-top:14px}.circle-selector>button{background:#fff;border:1px solid #dbe3e8;border-radius:8px;color:#253740;display:grid;gap:3px;padding:11px 12px;text-align:left}.circle-selector>button.active{background:#eaf6f4;border-color:#58a997}.circle-selector small,.circle-members small,.circle-invitations small,.incident-detail small,.safety-audit-list small{color:#667783}.circle-detail{border-top:1px solid #dbe3e8;display:grid;gap:16px;margin-top:16px;padding-top:16px}.circle-detail h3,.incident-detail h3,.incident-detail h4{margin:0 0 9px}.circle-members,.circle-invitations{display:grid;gap:8px}.membership-note{color:#667783;font-size:.8rem;line-height:1.45;margin:-3px 0 3px}.circle-members article,.circle-invitations article{align-items:center;border:1px solid #e1e7eb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px}.circle-members article>div,.circle-invitations article>div{display:grid;gap:3px;min-width:0}.circle-members small,.circle-invitations small{overflow-wrap:anywhere}button.subtle-danger{background:#fff1f0;color:#9c241d;flex:0 0 auto;min-height:36px}.invite-secret{align-items:flex-start;background:#fff8e8;border:1px solid #e7c675;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.invite-secret>svg{color:#9a6700;margin-top:2px}.invite-secret p{color:#6b5a33;font-size:.8rem;margin:3px 0 7px}.invite-secret code{background:#fffc;border-radius:4px;display:block;overflow-wrap:anywhere;padding:7px;-webkit-user-select:all;user-select:all}.invite-secret button{background:#695218;color:#fff}.invite-secret-actions{display:grid;gap:6px}.invite-secret-actions button:last-child{background:#fff;border:1px solid #8d7229;color:#59450f}.compact-empty{align-items:center;background:#f6f9fa;border:1px dashed #cbd6dc;border-radius:8px;color:#667783;display:flex;justify-content:center;min-height:72px;padding:12px;text-align:center}.circle-danger-zone{background:#fff7f6;border:1px solid #efb2ad;border-radius:8px;display:grid;gap:10px;padding:12px}.circle-danger-zone p{color:#667783;font-size:.8rem;line-height:1.45;margin:4px 0 0}.circle-danger-zone code{display:block;margin-top:5px;overflow-wrap:anywhere}.circle-danger-zone input{border:1px solid #d4a09c;border-radius:8px;min-height:40px;padding:8px 10px}.circle-danger-zone button{align-items:center;background:#b42318;border:0;border-radius:8px;color:#fff;display:inline-flex;font-weight:800;gap:7px;justify-content:center;min-height:42px}.incident-toolbar{align-items:end;display:flex;gap:10px;justify-content:space-between}.incident-toolbar label{min-width:150px}.incident-toolbar button{background:#eef5f6;color:#173943}.incidents-panel>.safety-help{margin:12px 0}.incident-list{display:grid;gap:8px}.incident-list>button{align-items:center;background:#fff;border:1px solid #dbe3e8;border-left:4px solid #7b8790;border-radius:8px;color:#253740;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:11px;text-align:left}.incident-list>button.active{border-left-color:#c5332a}.incident-list>button.resolved{border-left-color:#0f8f73}.incident-list>button.expired{border-left-color:#8b6f47}.incident-list>button.active-selection{background:#f1f7f8;border-color:#6faeba}.incident-list>button span{display:grid;gap:3px;min-width:0}.incident-list>button small{color:#667783;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.incident-list>button em,.incident-state{border-radius:999px;font-size:.72rem;font-style:normal;font-weight:900;padding:4px 7px;text-transform:uppercase}.incident-list>button.active em,.incident-detail.active .incident-state{background:#fee4e2;color:#a52219}.incident-list>button.resolved em,.incident-detail.resolved .incident-state{background:#dff7ee;color:#08705a}.incident-list>button.expired em,.incident-detail.expired .incident-state{background:#f2ede5;color:#725b39}.incident-detail{border:1px solid #dbe3e8;border-radius:10px;margin-top:14px;overflow:hidden}.incident-detail>header{align-items:flex-start;background:#f6f9fa;display:flex;gap:14px;justify-content:space-between;padding:14px}.incident-detail.active>header{background:#fff1f0}.incident-detail>header h3{margin:8px 0 4px}.incident-detail.active>header>svg{color:#b42318}.incident-detail.resolved>header>svg{color:#0f8f73}.incident-facts{display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr))}.incident-facts>div{background:#f8fafb;display:grid;gap:4px;padding:12px}.incident-facts svg{color:#4a6f7a}.incident-facts span{color:#667783;font-size:.78rem;font-weight:800}.incident-facts strong{overflow-wrap:anywhere}.incident-map-link{border-top:1px solid #e1e7eb;display:grid;gap:3px;padding:12px}.incident-actions{align-items:center;border-top:1px solid #e1e7eb;display:flex;gap:10px;justify-content:space-between;padding:12px}.resolved-copy{color:#08705a;font-weight:800}.resolution-boundary{color:#667783;font-size:.8rem;line-height:1.45;max-width:380px;text-align:right}.acknowledgement-list,.recipient-list,.incident-updates{border-top:1px solid #e1e7eb;padding:12px}.acknowledgement-list>div,.incident-updates article{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:7px 0}.acknowledgement-list time{color:#667783;font-size:.8rem}.acknowledgement-list p,.recipient-list p,.incident-updates p{color:#667783;margin:5px 0}.recipient-list>div{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:7px 0}.recipient-list small{color:#667783;text-align:right}.incident-updates article{align-items:flex-start;justify-content:flex-start}.incident-updates article>div{display:grid;gap:3px}.safety-audit-panel>.safety-help{margin:-5px 0 12px}.safety-audit-list{display:grid;gap:7px}.safety-audit-list article{align-items:center;border:1px solid #e1e7eb;border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.safety-audit-list article>div{display:grid;gap:3px}.safety-audit-list time{color:#667783;font-size:.8rem}.audit-dot{background:#4a6f7a;border-radius:999px;height:9px;width:9px}@media(max-width:1100px){.safety-grid{grid-template-columns:1fr}}@media(max-width:680px){.workspace-tabs,.workspace-tabs button,.incident-toolbar,.incident-actions{align-items:stretch;flex-direction:column;width:100%}.resolution-boundary{max-width:none;text-align:left}.safety-summary,.incident-facts{grid-template-columns:1fr}.invite-secret{grid-template-columns:auto minmax(0,1fr)}.invite-secret button{grid-column:1 / -1}.circle-members article,.circle-invitations article,.incident-detail>header,.acknowledgement-list>div{align-items:stretch;flex-direction:column}.incident-list>button,.safety-audit-list article{grid-template-columns:auto minmax(0,1fr)}.incident-list>button em,.safety-audit-list time{grid-column:2;justify-self:start}}
