:root{
  --navy-canvas: #081221;
  --navy-sidebar: #0a1526;
  --navy-bar: #0b192c;
  --navy-raised: #10243d;
  --navy-line: rgba(151, 179, 219, 0.18);
  --navy-line-strong: rgba(151, 179, 219, 0.32);
  --navy-ink: #eef3fb;
  --navy-ink-muted: #a8bad4;
  --surface: #ffffff;
  --surface-muted: #f4f7fb;
  --surface-line: #e2e8f1;
  --ink: #0d1a2b;
  --ink-soft: #3c4f66;
  --ink-muted: #55697f;
  --brand: #3d82f6;
  --brand-strong: #1d4ed8;
  --brand-ink: #1749b0;
  --brand-soft: #e8f0ff;
  --brand-line: #c3d8fb;
  --ok-ink: #0d6b45;
  --ok-soft: #e4f5ec;
  --ok-line: #b7e2cc;
  --warn-ink: #8a5206;
  --warn-soft: #fcf0dc;
  --warn-line: #f0d5a8;
  --danger-ink: #9d1c1c;
  --danger-soft: #fbe9e9;
  --danger-line: #f0c2c2;
  --neutral-ink: #45566c;
  --neutral-soft: #eef2f7;
  --neutral-line: #dbe3ed;
  --ok-on-dark: #4fd193;
  --warn-on-dark: #f0be5e;
  --danger-on-dark: #f2856c;
  --neutral-on-dark: #a8bad4;
  --focus: #7ab0ff;
  --radius: 10px;
  --radius-sm: 8px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(3, 10, 22, 0.55), 0 8px 24px -16px rgba(3, 10, 22, 0.7);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-lg: 22px;
  --text-xl: 26px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 14px;
  --space-4: 20px;
  --space-5: 28px;
  --sidebar-width: 264px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--surface-muted);color:var(--ink);
font:var(--text-base)/1.55 var(--font)}
a{color:var(--brand-ink)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#04101f;
padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-weight:600;z-index:10}
.skip:focus{left:var(--space-3);top:var(--space-3)}
.shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}
.sidebar{background:var(--navy-sidebar);border-right:1px solid var(--navy-line);
padding:var(--space-4) 0;color:var(--navy-ink)}
.sidebar h1{font-size:var(--text-base);margin:0 var(--space-4) 4px;letter-spacing:.02em;
display:flex;align-items:center;gap:10px}
.sidebar .brand-sub{display:block;margin:0 var(--space-4) 18px;color:var(--navy-ink-muted);
font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}
.sidebar a{display:flex;align-items:center;gap:10px;padding:8px var(--space-4);
color:var(--navy-ink-muted);text-decoration:none;font-size:14px}
.sidebar a .icon{flex:none;opacity:.85}
.sidebar a:hover{background:var(--navy-raised);color:var(--navy-ink)}
.sidebar a[aria-current=page]{background:var(--navy-raised);color:var(--navy-ink);
box-shadow:inset 3px 0 0 var(--brand)}
.nav-group{margin:0 0 var(--space-3)}
.nav-group-label{display:block;padding:4px var(--space-4) 6px;color:var(--navy-ink-muted);
font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}
.bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);
padding:10px 32px;background:var(--navy-bar);border-bottom:1px solid var(--navy-line);
color:var(--navy-ink)}
.bar .who{display:inline-flex;align-items:center;gap:8px;color:var(--navy-ink-muted);
font-size:var(--text-sm)}
.bar .who strong{color:var(--navy-ink);font-weight:600}
.bar .tag{color:var(--neutral-on-dark);border-color:var(--navy-line-strong);background:transparent}
.bar .tag.ok{color:var(--ok-on-dark);border-color:var(--ok-on-dark)}
.bar .tag.warn{color:var(--warn-on-dark);border-color:var(--warn-on-dark)}
.bar .tag.bad{color:var(--danger-on-dark);border-color:var(--danger-on-dark)}
.bar-side{display:flex;align-items:center;gap:var(--space-3)}
main{padding:var(--space-5) 32px;max-width:1160px}
h2{margin:0 0 6px;font-size:var(--text-lg);letter-spacing:-.01em}
h3{margin:var(--space-5) 0 8px;font-size:var(--text-base)}
.sub{color:var(--ink-muted);margin:0 0 var(--space-4)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
gap:var(--space-3);margin:0 0 var(--space-4)}
.card{background:var(--surface);border:1px solid var(--surface-line);
border-radius:var(--radius);padding:14px 16px;box-shadow:0 1px 2px rgba(13,26,43,.04)}
.card .n{font-size:var(--text-xl);font-weight:650;letter-spacing:-.01em}
.card .l{color:var(--ink-muted);font-size:var(--text-sm);margin-top:2px}
.panel{background:var(--surface);border:1px solid var(--surface-line);
border-radius:var(--radius);padding:var(--space-4);margin:0 0 var(--space-4)}
table{width:100%;border-collapse:collapse;background:var(--surface);
border:1px solid var(--surface-line);border-radius:var(--radius);overflow:hidden}
caption{text-align:left;color:var(--ink-muted);font-size:var(--text-sm);
padding:0 0 var(--space-2)}
th,td{text-align:left;padding:9px var(--space-3);border-bottom:1px solid var(--surface-line);
font-size:14px;vertical-align:top}
th{color:var(--ink-muted);font-weight:600;font-size:var(--text-xs);
text-transform:uppercase;letter-spacing:.04em;background:var(--surface-muted)}
tr:last-child td{border-bottom:none}
.empty{background:var(--surface);border:1px dashed var(--surface-line);
border-radius:var(--radius);padding:26px;color:var(--ink-muted)}
.empty strong{color:var(--ink);display:block;margin-bottom:6px;font-size:var(--text-base)}
.tag{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-pill);
font-size:var(--text-xs);border:1px solid var(--neutral-line);color:var(--neutral-ink);
background:var(--neutral-soft);white-space:nowrap}
.tag.ok{color:var(--ok-ink);border-color:var(--ok-line);background:var(--ok-soft)}
.tag.warn{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-soft)}
.tag.bad{color:var(--danger-ink);border-color:var(--danger-line);background:var(--danger-soft)}
form.inline{display:inline}
button{font:inherit;background:var(--brand-strong);color:#ffffff;border:0;
border-radius:7px;padding:var(--space-2) var(--space-3);cursor:pointer;font-weight:600}
button:hover{background:var(--brand-ink)}
button.ghost{background:transparent;color:var(--navy-ink-muted);
border:1px solid var(--navy-line-strong)}
button.danger{background:var(--danger-ink)}
.login{max-width:380px;margin:12vh auto;padding:26px;background:var(--surface);
border:1px solid var(--surface-line);border-radius:12px;
box-shadow:0 1px 2px rgba(13,26,43,.05),0 16px 40px -24px rgba(13,26,43,.25)}
label{display:block;margin:var(--space-3) 0 5px;color:var(--ink-soft);
font-size:var(--text-sm);font-weight:600}
input,select,textarea{width:100%;padding:9px 12px;border-radius:7px;
border:1px solid var(--surface-line);background:var(--surface);
color:var(--ink);font:inherit}
input[readonly]{background:var(--surface-muted);color:var(--ink-soft)}
.url-field input{font-family:var(--mono);font-size:var(--text-sm)}
.field-hint{color:var(--ink-muted);font-size:var(--text-sm);margin:0 0 var(--space-1)}
.submit-row{margin:var(--space-4) 0 0}
.err{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger-ink);
padding:10px 12px;border-radius:7px;margin-top:var(--space-3);font-size:14px}
.field-error{color:var(--danger-ink);font-size:var(--text-sm);margin:var(--space-1) 0 0}
.note{color:var(--ink-muted);font-size:var(--text-sm);margin-top:14px}
.flash{background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok-ink);
padding:9px 12px;border-radius:7px;margin:0 0 var(--space-3)}
.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;
margin:0 0 var(--space-4);padding:var(--space-3);background:var(--surface);
border:1px solid var(--surface-line);border-radius:var(--radius)}
.filters .field{flex:1 1 150px}
.filters label{margin-top:0}
.pager{display:flex;gap:var(--space-2);margin:var(--space-3) 0 0;align-items:center}
.page-link{display:inline-block;padding:6px var(--space-3);border-radius:var(--radius-sm);
border:1px solid var(--surface-line);color:var(--brand-ink);text-decoration:none;
font-size:var(--text-sm);background:var(--surface)}
.page-link.disabled{color:var(--ink-muted);border-style:dashed;cursor:default}
.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}
.tab-link{display:inline-flex;align-items:center;gap:6px;padding:6px var(--space-3);
border-radius:var(--radius-pill);border:1px solid var(--surface-line);
color:var(--ink-soft);text-decoration:none;font-size:var(--text-sm);background:var(--surface)}
.tab-link.current{background:var(--brand-soft);border-color:var(--brand-line);
color:var(--brand-ink);font-weight:600}
.tab-count{background:var(--surface-muted);border-radius:var(--radius-pill);
padding:0 7px;font-size:var(--text-xs);color:var(--ink-muted)}
.tab-link.current .tab-count{background:#ffffff}
.check-grid{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);
margin:var(--space-2) 0 0}
.check-field{display:inline-flex;align-items:center;gap:7px}
.check-field input{width:auto}
.check-field label{margin:0;font-weight:500;color:var(--ink)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:0 var(--space-4)}
.split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-4)}
.mail-preview{background:var(--surface);border:1px solid var(--surface-line);
border-radius:var(--radius);padding:var(--space-4)}
.mail-preview .subject{font-weight:650;margin:0 0 var(--space-2)}
.mail-preview .body{white-space:pre-wrap;font-size:14px;color:var(--ink-soft)}
.attn{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-2)}
.attn li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);
border:1px solid var(--warn-line);border-left:3px solid var(--warn-ink);
border-radius:var(--radius-sm);padding:10px var(--space-3);font-size:14px}
.attn .icon{color:var(--warn-ink);flex:none;margin-top:1px}
.timeline{list-style:none;margin:0;padding:0;background:var(--surface);
border:1px solid var(--surface-line);border-radius:var(--radius)}
.timeline li{display:flex;justify-content:space-between;gap:var(--space-3);
padding:9px var(--space-3);border-bottom:1px solid var(--surface-line);font-size:14px}
.timeline li:last-child{border-bottom:none}
.timeline .when{color:var(--ink-muted);font-size:var(--text-sm);white-space:nowrap}
.actions-cell a{margin-right:10px;font-size:var(--text-sm)}
details.raw{margin:var(--space-3) 0 0}
details.raw summary{cursor:pointer;color:var(--ink-muted);font-size:var(--text-sm)}
@media (max-width: 960px){
.shell{grid-template-columns:1fr}
.sidebar{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) var(--space-3);
border-right:0;border-bottom:1px solid var(--navy-line)}
.sidebar h1{margin:0 var(--space-3) 0 0;align-self:center;white-space:nowrap}
.sidebar .brand-sub{display:none}
.sidebar a{padding:var(--space-2) var(--space-3);white-space:nowrap;border-radius:var(--radius-sm)}
.sidebar a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--brand)}
.nav-group{display:flex;gap:var(--space-2);margin:0}
.nav-group-label{display:none}
main{padding:var(--space-4)}
.bar{padding:10px var(--space-4)}
.split{grid-template-columns:1fr}
}
@media (max-width: 620px){
.cards{grid-template-columns:1fr 1fr}
.filters .field{flex:1 1 100%}
.bar .who span.role{display:none}
}