:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f3;--text: #16191d;--muted: #5b636e;--border: #d8dce2;--accent: #1f5fbf;--accent-text: #ffffff;--ok: #1d7a46;--warn: #9a6200;--danger: #b3261e;--focus: #1f5fbf55;--radius: 8px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #111418;--surface: #1a1e24;--surface-2: #232830;--text: #e8eaee;--muted: #9aa3ae;--border: #2f3640;--accent: #6ea0f0;--accent-text: #0d1117;--ok: #5cc98b;--warn: #e0a84a;--danger: #f2817a;--focus: #6ea0f055;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}h1,h2,h3{line-height:1.2;margin:0 0 12px}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}.topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-weight:700;letter-spacing:.02em}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{padding:6px 10px;border-radius:var(--radius);text-decoration:none;color:var(--text)}.topbar nav a[aria-current=page]{background:var(--surface-2);font-weight:600}.spacer{flex:1}.who{color:var(--muted);font-size:14px}main{max-width:1100px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:13px}.table-wrap{overflow-x:auto}label{display:grid;gap:4px;font-size:13px;color:var(--muted)}input,select,button{font:inherit;color:var(--text)}input,select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);min-width:0}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:1px}button{padding:7px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.danger{color:var(--danger)}button:disabled{opacity:.55;cursor:default}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.form-row>label{flex:1 1 160px}.check{display:flex;align-items:center;gap:6px;color:var(--text)}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);margin:0 4px 4px 0;white-space:nowrap}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.danger{color:var(--danger)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px}td.mono{white-space:nowrap}.error{color:var(--danger);margin:8px 0}.notice{color:var(--ok);margin:8px 0}.tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.login{max-width:380px;margin:10vh auto}.login form{display:grid;gap:12px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.shell{display:flex;flex-direction:column;height:100dvh}.shell>.topbar{flex:none}main.wide{max-width:none;margin:0;width:100%;padding:0;flex:1;min-height:0}.console{display:flex;flex-direction:column;height:100%;min-height:0}.console-toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.console-toolbar .pill{margin:0}label.inline{display:flex;align-items:center;gap:6px}.seg{display:inline-flex}.seg button{border-radius:0;padding:5px 10px}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.console-grid{flex:1;min-height:0;display:grid}.console-tabs{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 16px 0}.console-tabs .tabs{margin-bottom:8px}.console-tabs .pane{flex:1;border:1px solid var(--border);border-radius:var(--radius)}.pane{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--border)}.console-grid>.pane:first-child{border-left:0}.pane-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.pane-head h2{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex:1}.pane-body{flex:1;min-height:0;overflow:auto;padding:12px}.splitter{cursor:col-resize;background:var(--border);touch-action:none}.splitter:hover,.splitter:focus-visible{background:var(--accent);outline:none}.picker{position:relative;font-size:13px}.picker summary{cursor:pointer;color:var(--accent)}.picker-list{position:absolute;right:0;z-index:5;min-width:220px;max-height:50vh;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;box-shadow:0 6px 20px #0003;display:grid;gap:6px}.tiles{--tile-min: 220px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr));align-content:start;min-height:100%}.tiles.size-s{--tile-min: 160px}.tiles.size-l{--tile-min: 300px}.tile{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:grid;gap:6px;cursor:grab}.tile header{display:flex;align-items:center;gap:8px}.tile h3{margin:0;flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile .owner{font-size:12px;color:var(--muted)}.tile .activity{min-height:1.45em;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile footer{display:flex;gap:6px;flex-wrap:wrap}.tile footer button{padding:4px 9px;font-size:13px}.tile footer button[aria-pressed=true]:not(.primary){border-color:var(--ok);color:var(--ok)}.tiles.size-s .tile footer button{padding:3px 7px;font-size:12px}.tiles.size-l .tile h3{font-size:18px}.tiles.size-l .tile .activity{font-size:16px}.tile.target{border-left-color:var(--accent)}.tile.rx{border-color:var(--ok);border-left-color:var(--ok);box-shadow:0 0 0 1px var(--ok) inset}.tile.tx{border-color:var(--danger);border-left-color:var(--danger);box-shadow:0 0 0 1px var(--danger) inset}.tile.off{opacity:.7}.state{font-size:11px;font-weight:700;letter-spacing:.06em;padding:1px 7px;border-radius:4px;background:var(--surface-2);color:var(--muted)}.state.rx{background:var(--ok);color:var(--surface)}.state.tx{background:var(--danger);color:var(--surface)}.logpanel{display:grid;gap:16px}.logpanel h3{font-size:13px;color:var(--muted);margin-bottom:0}.logpanel textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px;resize:vertical;margin-bottom:6px}.logpanel textarea:focus-visible{outline:3px solid var(--focus)}.draft-note{font-size:12px;color:var(--warn);margin-bottom:6px}.logpanel ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;font-size:14px}.logpanel li{padding:4px 6px;border-radius:4px;background:var(--surface);border:1px solid var(--border)}.txlog li.live{border-color:var(--ok)}.txlog li.denied{color:var(--muted)}button.link{border:0;background:none;color:var(--accent);padding:0 4px;font-size:13px;float:right}.situation{display:grid;gap:10px}.placeholder{border:1px dashed var(--border);border-radius:var(--radius);padding:24px 12px;text-align:center;color:var(--muted)}.pttbar{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.ptt{display:grid;min-width:240px;padding:10px 20px;border-radius:10px;border:2px solid var(--accent);background:var(--surface-2);text-align:left;-webkit-user-select:none;user-select:none;touch-action:none}.ptt-label{font-weight:800;letter-spacing:.08em}.ptt-target{font-size:13px;color:var(--muted)}.pttbar.requesting .ptt{border-color:var(--warn)}.pttbar.granted .ptt{background:var(--danger);border-color:var(--danger);color:var(--surface)}.pttbar.granted .ptt-target{color:var(--surface)}.pttbar.denied .ptt{border-color:var(--danger)}.ptt-status{font-weight:600}.pttbar.denied .ptt-status,.pttbar.granted .ptt-status{color:var(--danger)}@media(max-width:600px){.ptt{flex:1;min-width:0}}.picker-row{display:flex;align-items:center;gap:4px}.picker-row .check{flex:1}.picker-row button{padding:1px 8px}.tiles.stack{grid-template-columns:minmax(0,1fr);gap:6px}.tiles.stack .tile{grid-template-columns:minmax(150px,1fr) minmax(0,2fr) auto;align-items:center;column-gap:14px;row-gap:0;padding:6px 12px}.tiles.stack .tile header{grid-column:1}.tiles.stack .tile .owner{grid-column:1}.tiles.stack .tile .activity{grid-column:2;grid-row:1 / span 2}.tiles.stack .tile footer{grid-column:3;grid-row:1 / span 2;flex-wrap:nowrap}@media(max-width:600px){.tiles.stack .tile{grid-template-columns:minmax(0,1fr) auto}.tiles.stack .tile .activity{grid-column:1;grid-row:auto}.tiles.stack .tile footer{grid-column:2;grid-row:1 / span 3}}.console-grid{display:flex}.layout-col{display:flex;flex-direction:column;min-width:0;min-height:0}.layout-cell{display:flex;flex-direction:column;min-height:80px}.layout-cell>.pane{flex:1;border-left:0}.splitter.col{flex:0 0 6px}.splitter.row{flex:0 0 6px;cursor:row-resize}.pane.editing{outline:2px dashed var(--accent);outline-offset:-3px}.pane-edit{display:inline-flex;gap:4px}.pane-edit button{padding:1px 8px}.layout-editbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;font-size:13px}.layout-editbar input{width:180px}ol.txlog{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}ol.txlog li{padding:4px 6px;border-radius:4px;background:var(--surface);border:1px solid var(--border)}.incident-log{display:grid;gap:8px}.incident-bar,.incident-new{display:flex;gap:6px;flex-wrap:wrap}.incident-bar select,.incident-new input{flex:1 1 180px}.brand{text-transform:uppercase;font-weight:800;letter-spacing:.04em}.brand-accent{color:#2fa4ff}.login-page{--login-navy: #07111f;--login-slate: #13213a;--login-line: #ffffff1f;--login-text: #e8eef7;--login-muted: #9fb0c6;--logo-blue: #2fa4ff;max-width:none;margin:0;min-height:100dvh;padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;background:var(--login-navy);color:var(--login-text)}.login-stack{width:100%;max-width:640px;display:flex;flex-direction:column;align-items:center;gap:16px}.login-banner{display:block;width:100%;max-height:min(30dvh,240px);object-fit:contain;height:auto;border-radius:var(--radius)}.login-page .card.login{width:100%;max-width:380px;margin:0;background:var(--login-slate);border:1px solid var(--login-line);border-radius:12px;box-shadow:0 10px 30px #0008;color:var(--login-text)}.login-page .card.login .muted,.login-page .card.login label{color:var(--login-muted)}.login-page .card.login input{background:var(--login-navy);border-color:var(--login-line);color:var(--login-text)}.login-page .card.login button.primary{background:var(--logo-blue);border-color:var(--logo-blue);color:#04121f}.login-page .card.login button.primary:hover:not(:disabled){filter:brightness(1.08)}.login-page .error{color:#ff8f87}.login-footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:13px;color:var(--login-muted)}.login-footer a{color:var(--logo-blue)}.grant-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
