@media(max-width:560px){.table-row{grid-template-columns:65px minmax(30px,1fr) auto auto;gap:5px}.table-row strong{overflow-wrap:anywhere}}.table-action{padding:5px 7px;color:var(--teal);border:1px solid #c8d8d0;border-radius:3px;background:#fff;font-size:9px;font-weight:700}.table-action:hover{border-color:var(--teal);background:#eef5f1}:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#172522;background:#f1f4f1;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172522;--muted: #697773;--line: #d8dfda;--paper: #fbfcfa;--canvas: #f1f4f1;--forest: #183c36;--forest-deep: #101d1c;--teal: #087d71;--lime: #d1ed64;--amber: #b66a12;--red: #b23b35;--focus: #075fe4}@media(max-width:560px){:root .key-talkgroups label{min-width:min(100%,180px)}:root .new-key-reveal{align-items:stretch;flex-direction:column}:root .new-key-reveal .icon-button{align-self:end}}@media(max-width:560px){:root .settings-page .table-row{grid-template-columns:65px minmax(30px,1fr) auto auto;gap:5px}:root .settings-page .table-row strong{overflow-wrap:anywhere}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:inherit}.app-shell{min-height:100vh}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:10px 14px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;background:var(--forest-deep);color:#fff;border-bottom:1px solid #33524d}.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:210px;color:#fff;font-size:14px;font-weight:800;letter-spacing:.08em;text-decoration:none}.brand-light{color:#a9c3bb;font-weight:500}.brand-mark{width:32px;height:32px;display:grid;place-items:center;color:var(--lime);border:1px solid #54766f;border-radius:7px}.topbar-center{display:flex;align-items:center;gap:9px;color:#b4c2bc;font:600 10px/1 IBM Plex Mono,Consolas,monospace;letter-spacing:.09em}.topbar-center strong{color:var(--lime);font-weight:700}.live-indicator{width:7px;height:7px;display:inline-block;border-radius:50%;background:#83d87b;box-shadow:0 0 0 3px #83d87b22}.service-indicator-off{width:7px;height:7px;display:inline-block;border-radius:50%;background:#ed7268;box-shadow:0 0 0 3px #ed726822}.account{display:flex;align-items:center;gap:12px}.account-email{max-width:190px;overflow:hidden;color:#d3ddd8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-role{color:var(--lime);font:700 10px IBM Plex Mono,Consolas,monospace;text-transform:uppercase}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;color:inherit;border:1px solid transparent;border-radius:5px;background:transparent}.icon-button:hover{background:#ffffff12;border-color:#ffffff24}.workspace{min-height:calc(100vh - 64px);display:grid;grid-template-columns:218px minmax(0,1fr)}.rail{position:sticky;top:0;height:calc(100vh - 64px);display:flex;flex-direction:column;gap:7px;padding:21px 12px 16px;color:#e4ece7;background:var(--forest)}.rail-button{width:100%;min-height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;color:#c2d0ca;text-align:left;border:1px solid transparent;border-radius:5px;background:transparent;font-size:12px}.rail-button svg{flex:0 0 auto}.rail-button span{flex:1}.rail-button b{min-width:23px;padding:3px 5px;color:#f4f6ee;text-align:center;border-radius:3px;background:#ffffff19;font:600 11px IBM Plex Mono,Consolas,monospace}.rail-button:hover{color:#fff;background:#ffffff0c}.rail-button.active{color:#fff;border-color:#49726a;background:#ffffff13;box-shadow:inset 3px 0 var(--lime)}.rail-button.active svg{color:var(--lime)}.rail-foot{margin-top:auto;padding:14px 8px 0;border-top:1px solid #ffffff20}.service-state{display:flex;align-items:center;gap:9px;padding:8px 4px}.service-state>span{width:7px;height:7px;border-radius:50%;background:#82d979}.service-state>span.offline{background:#ed7268}.service-state div{display:grid;gap:4px}.service-state strong,.service-state small{font-size:9px}.service-state strong{letter-spacing:.08em}.service-state small{color:#a7bbb3}.rail-foot>p{margin:12px 4px 0;color:#8fa69e;font:9px IBM Plex Mono,Consolas,monospace;letter-spacing:.08em}.main-area{min-width:0;padding:26px 28px 46px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 7px;color:var(--teal);font:700 10px IBM Plex Mono,Consolas,monospace;letter-spacing:.09em}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:0;font-size:25px;line-height:1.15;font-weight:700;letter-spacing:0}h2{font-size:17px}h3{font-size:14px}.heading-actions{display:flex;align-items:center;gap:17px}.sync-stamp{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}.primary,.secondary,.approve-button,.reject-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;border-radius:4px;font-size:11px;font-weight:700}.primary{color:#fff;border:1px solid var(--forest);background:var(--forest)}.primary:hover{background:#24564d}.secondary{color:var(--ink);border:1px solid #bbc7c0;background:var(--paper)}.secondary:hover{border-color:var(--teal);background:#f4f8f5}.approve-button{color:#143d2b;border:1px solid #adce67;background:#d8ee8a}.approve-button:hover{background:#c9e66d}.reject-button{color:#922e29;border:1px solid #e2b7b2;background:#fff9f8}.reject-button:hover{background:#fcecea}.metrics-row{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));margin-bottom:17px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}.metrics-row>div{min-height:67px;display:grid;align-content:center;gap:6px;padding:10px 16px;border-right:1px solid var(--line)}.metrics-row>div:last-child{border-right:0}.metrics-row span{color:var(--muted);font:700 9px IBM Plex Mono,Consolas,monospace;letter-spacing:.05em}.metrics-row strong{font:700 20px IBM Plex Mono,Consolas,monospace}.content-grid{min-height:660px;display:grid;grid-template-columns:minmax(310px,.85fr) minmax(430px,1.4fr);border:1px solid var(--line);border-radius:5px;background:var(--paper);overflow:hidden}.incident-list{min-width:0;border-right:1px solid var(--line)}.list-tools{display:grid;grid-template-columns:1fr 140px;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.search-box{grid-column:1 / -1;height:35px;display:flex;align-items:center;gap:8px;padding:0 9px;color:#74817c;border:1px solid var(--line);border-radius:4px;background:#fff}.search-box input{width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;font-size:11px}.list-tools select,.editor-grid select,.editor-grid input,.modal input,.modal select,.inline-form input{min-width:0;height:35px;padding:0 8px;color:var(--ink);border:1px solid var(--line);border-radius:4px;background:#fff;font-size:11px}.list-tools select{width:100%}.list-count{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#71807b;border-bottom:1px solid #e9eeea;font:700 9px IBM Plex Mono,Consolas,monospace;letter-spacing:.04em}.incident-items{max-height:calc(100vh - 340px);min-height:290px;overflow:auto}.incident-row{width:100%;min-height:91px;display:flex;align-items:start;gap:10px;padding:13px 12px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid #e8ede9;background:transparent}.incident-row:hover{background:#f5f8f5}.incident-row.selected{background:#edf4f0;box-shadow:inset 3px 0 var(--teal)}.status-marker{width:7px;height:7px;flex:0 0 7px;margin-top:5px;border-radius:50%;background:#8b9993}.status-marker.draft{background:#d28b23}.status-marker.processing{background:#2089a0}.status-marker.approved{background:#16856e}.status-marker.published{background:#78917e}.status-marker.publish_failed,.status-marker.publish_unknown{background:#bd4239}.incident-copy{min-width:0;flex:1;display:grid;gap:6px}.incident-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.incident-line strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.incident-subline{overflow:hidden;color:#61716b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.incident-subline span{padding:0 3px;color:#9ba6a1}.incident-time{display:flex;align-items:center;gap:4px;color:#86918c;font-size:9px}.row-chevron{flex:0 0 auto;margin-top:2px;color:#94a19b}.status-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:19px;padding:0 6px;color:#53625d;border-radius:3px;background:#e8eeea;font:600 9px IBM Plex Mono,Consolas,monospace;white-space:nowrap}.status-pill.draft{color:#78450d;background:#f9edcf}.status-pill.processing,.status-pill.publish_queued{color:#126172;background:#def1f3}.status-pill.approved{color:#0c6454;background:#d9eee5}.status-pill.published{color:#385b43;background:#e2eddf}.status-pill.rejected,.status-pill.publish_failed,.status-pill.publish_unknown{color:#8c302a;background:#f8e4e0}.detail-panel{min-width:0;padding:20px 22px 24px}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--line)}.detail-header h2{margin-bottom:5px;font-size:18px}.detail-time{margin:0;color:var(--muted);font-size:10px}.status-pill.large{min-height:23px;padding:0 8px}.detail-section{padding:17px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:13px}.section-heading h2,.section-heading h3{display:flex;align-items:center;gap:7px;margin:0 0 5px}.section-heading h3{font-size:13px}.section-heading p{margin:0;color:var(--muted);font-size:10px}.section-heading.compact{align-items:center}.text-link{color:var(--teal);font-size:10px;font-weight:700}audio{width:100%;height:36px}.no-audio{padding:12px;color:var(--muted);border:1px dashed #cbd5cf;border-radius:4px;font-size:11px}.upload-control{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--teal);font-size:10px;font-weight:700;cursor:pointer}.upload-control input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-fieldset{min-width:0;margin:0;padding:0;border:0}.editor-grid label,.modal label,.inline-form label{display:grid;gap:5px;color:#53615c;font-size:10px;font-weight:700}.editor-grid input,.editor-grid select{width:100%;font-size:11px}.editor-grid .audio-share-option{display:flex;align-items:center;gap:8px}.editor-grid .audio-share-option input{width:16px;min-width:16px;height:16px;margin:0;padding:0}.editor-grid input:disabled,.editor-grid select:disabled{color:#54615c;background:#f1f4f1}.span-two{grid-column:1 / -1}.post-preview{margin-top:14px;padding:12px 14px;border:1px solid #ccd8d1;border-left:3px solid var(--teal);border-radius:3px;background:#f3f7f4}.preview-label{display:flex;justify-content:space-between;color:#60716a;font:700 9px IBM Plex Mono,Consolas,monospace;letter-spacing:.04em}.post-preview pre{margin:11px 0 0;overflow-wrap:anywhere;color:#172522;font:600 12px/1.65 IBM Plex Sans,Segoe UI,sans-serif;white-space:pre-wrap}.preview-image{display:block;max-width:100%;max-height:140px;margin-top:12px;object-fit:contain;object-position:left}.audio-public-link{display:inline-flex;align-items:center;gap:4px;margin-top:10px;color:var(--teal);font-size:10px;font-weight:700}.review-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px;margin-top:13px}.published-id{color:#587165;font:10px IBM Plex Mono,Consolas,monospace}details summary{display:flex;align-items:center;gap:8px;color:#34443e;font-size:11px;font-weight:700;cursor:pointer}.count-badge{padding:2px 6px;border-radius:9px;background:#e9efeb;font-size:9px}.internal-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:15px}.internal-grid h4{margin-bottom:7px;font-size:10px}.internal-grid pre,.transcript-text{max-height:180px;overflow:auto;padding:10px;color:#46534e;border-radius:3px;background:#f0f3f1;font:10px/1.5 IBM Plex Mono,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.audit-list{display:grid;gap:0;margin-top:12px}.audit-list>div{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:9px 0;border-bottom:1px solid #e7ece8;font-size:10px}.audit-list time{color:var(--muted);font-size:9px}.audit-list details{grid-column:1 / -1}.audit-list pre{max-height:160px;overflow:auto;padding:8px;color:#46534e;background:#f0f3f1;font:9px/1.45 IBM Plex Mono,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.full-audit details{grid-column:2 / -1}.detail-empty,.empty-list{display:grid;justify-items:center;align-content:center;min-height:360px;padding:30px;color:var(--muted);text-align:center}.detail-empty h2{margin-bottom:8px;color:var(--ink)}.detail-empty>p:last-child{max-width:280px;margin:0;font-size:11px;line-height:1.6}.empty-symbol{width:55px;height:55px;display:grid;place-items:center;margin-bottom:16px;color:var(--teal);border:1px solid #c8d9d0;border-radius:50%;background:#edf4ef}.empty-list{min-height:190px;gap:8px;font-size:11px}.empty-list strong{color:#34443e}.empty-list span{max-width:220px;line-height:1.5}.warning-banner{display:flex;align-items:start;gap:9px;margin-top:14px;padding:10px;color:#8e352d;border:1px solid #e6c3bc;border-radius:4px;background:#fff4f1;font-size:11px}.reconcile-panel{margin-top:12px;padding:11px;border:1px solid #e2c8a5;border-radius:4px;background:#fffaf1}.reconcile-panel .warning-banner{margin:0 0 10px}.reconcile-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-bottom:8px}.reconcile-form label{flex:1;display:grid;gap:5px;color:#5d5141;font-size:10px;font-weight:700}.reconcile-form input{min-width:160px;height:35px;padding:0 8px;border:1px solid #ddcfb7;border-radius:4px;background:#fff}.settings-page{max-width:1100px}.settings-section{margin:0 0 18px;padding:19px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}.settings-section .section-heading h2{margin:0 0 5px;font-size:14px}.settings-section .section-heading p{margin:0;color:var(--muted);font-size:10px}.inline-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:15px 0}.inline-form label{min-width:150px;flex:1}.inline-form input{width:100%}.image-form label:first-child{flex:1.4}.data-table{border-top:1px solid var(--line)}.table-row{display:grid;grid-template-columns:150px minmax(80px,1fr) auto auto;gap:8px;align-items:center;min-height:43px;border-bottom:1px solid #e9eeea;font-size:11px}.table-row code{color:var(--muted);font-size:10px}.status-text{color:#717c77;font-size:10px}.status-text.good{color:#08705e}.image-bank{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.image-bank-item{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e1e7e3;border-radius:4px}.image-swatch{width:34px;height:34px;display:grid;place-items:center;color:var(--teal);border-radius:3px;background:#e3eee8}.image-bank-item>div:nth-child(2){flex:1;display:grid;gap:4px}.image-bank-item strong{font-size:10px}.image-bank-item small{color:var(--muted);font-size:9px}.receiver-key-form{align-items:end}.key-talkgroups{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:7px 14px;margin:0;padding:10px;border:1px solid var(--line);border-radius:4px}.key-talkgroups legend{padding:0 5px;color:#53615c;font-size:10px;font-weight:700}.key-talkgroups label{min-width:160px;display:flex;align-items:center;gap:6px;font-size:10px}.key-talkgroups input{width:15px;height:15px;accent-color:var(--teal)}.key-talkgroups code{margin-left:auto;color:var(--muted);font-size:9px}.new-key-reveal{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px;border:1px solid #b7d2c2;border-radius:4px;background:#eff8f1}.new-key-reveal>div{display:grid;gap:4px}.new-key-reveal strong{font-size:10px}.new-key-reveal small{color:var(--muted);font-size:9px}.new-key-reveal code{min-width:0;flex:1;overflow-wrap:anywhere;color:#174a3d;font-size:10px}.radio-key-list{border-top:1px solid var(--line)}.radio-key-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #e9eeea}.radio-key-row>div{flex:1;display:grid;gap:4px}.radio-key-row strong{font-size:11px}.radio-key-row small{color:var(--muted);font-size:9px}.settings-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.role-chip{padding:5px 8px;color:#44554e;border:1px solid var(--line);border-radius:3px;font:700 9px IBM Plex Mono,Consolas,monospace}.full-audit>div{grid-template-columns:10px 1fr 180px auto;align-items:center}.audit-dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}.full-audit time{white-space:nowrap}.toast{position:fixed;z-index:10;right:22px;bottom:20px;max-width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:14px;padding:11px 13px;color:#fff;border-radius:4px;background:#172d28;box-shadow:0 8px 24px #101d1c30;font-size:11px}.toast button{display:grid;place-items:center;padding:3px;color:#fff;border:0;background:transparent}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 80% 15%,#2a6256 0%,transparent 38%),linear-gradient(135deg,#101d1c,#19352f 62%,#345b4e)}.login-panel{width:min(100%,390px);padding:30px;border:1px solid #d8e0da;border-radius:6px;background:var(--paper);box-shadow:0 22px 60px #0a191633;animation:enter .35s ease-out both}.login-panel .brand-lockup{margin-bottom:35px;color:var(--forest-deep)}.login-panel .brand-mark{color:var(--teal);border-color:#a8beb4}.login-panel .brand-light{color:#698078}.login-panel h1{margin-bottom:8px}.muted{color:var(--muted);font-size:12px}.login-panel label,.modal label{display:grid;gap:6px;margin:16px 0;color:#34443e;font-size:11px;font-weight:700}.login-panel input{height:40px;padding:0 10px;border:1px solid #cbd5cf;border-radius:4px;background:#fff}.full-width{width:100%;margin-top:4px}.form-error{color:#a13830;font-size:11px}.modal-backdrop{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0b1916a8}.modal{width:min(100%,520px);max-height:90vh;overflow:auto;padding:21px;border-radius:5px;background:var(--paper);box-shadow:0 18px 60px #07110f50}.modal-heading{display:flex;justify-content:space-between;align-items:start}.modal-heading h2{margin:0}.modal-heading .icon-button{color:var(--ink)}.modal form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.modal form>label:first-child,.modal-actions{grid-column:1 / -1}.modal input,.modal select{width:100%;height:39px}.modal-actions{display:flex;justify-content:end;gap:8px;margin-top:8px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(forced-colors:active){.status-pill,.status-marker,.live-indicator,.service-indicator-off,.service-state>span{forced-color-adjust:none;border:1px solid CanvasText}.primary,.secondary,.approve-button,.reject-button,.table-action{border:1px solid ButtonText}.incident-row.selected{outline:2px solid Highlight;outline-offset:-2px}}@media(max-width:1100px){.workspace{grid-template-columns:176px minmax(0,1fr)}.content-grid{grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr)}.main-area{padding:22px 18px 36px}.account-email{display:none}}@media(max-width:820px){.workspace{display:block}.rail{position:sticky;z-index:3;top:0;height:auto;flex-direction:row;overflow-x:auto;padding:7px 10px}.rail-button{width:auto;flex:0 0 auto;min-height:38px}.rail-button span{white-space:nowrap}.rail-foot{display:none}.content-grid{grid-template-columns:1fr}.incident-list{border-right:0;border-bottom:1px solid var(--line)}.incident-items{max-height:310px}.detail-panel{min-height:420px}.metrics-row>div{padding:9px 10px}.metrics-row span{font-size:8px}.topbar{padding:0 15px}.brand-lockup{min-width:0}.main-area{padding:20px 14px 32px}}@media(max-width:560px){.topbar{height:58px}.topbar-center{font-size:0;gap:0}.topbar-center strong{font-size:9px}.workspace{min-height:calc(100vh - 58px)}.brand-lockup{font-size:12px}.account{gap:5px}.account-role{font-size:9px}.main-area{padding:17px 10px 28px}.page-heading{align-items:start;flex-direction:column;gap:12px}.heading-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.metrics-row{grid-template-columns:repeat(2,1fr)}.metrics-row>div:nth-child(2){border-right:0}.metrics-row>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.content-grid{min-height:unset}.detail-panel{padding:17px 13px}.detail-header{flex-direction:column}.list-tools{grid-template-columns:1fr 1fr}.search-box{grid-column:1 / -1}.editor-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.review-actions{justify-content:stretch}.review-actions button{flex:1}.internal-grid{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}.inline-form label{width:100%}.inline-form button{align-self:start}.table-row{grid-template-columns:90px 1fr auto;gap:7px}.full-audit>div{grid-template-columns:10px 1fr auto}.full-audit>div>span:nth-of-type(2){grid-column:2}.full-audit time{grid-column:2 / -1}.modal form{grid-template-columns:1fr}.modal form>label:first-child,.modal-actions{grid-column:auto}.sync-stamp{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
