:root {
  color-scheme: dark;
  --ink: #071314;
  --navigation: #0b2020;
  --canvas: #10282a;
  --surface: #163336;
  --elevated: #1d4143;
  --border: #315456;
  --text: #f2f6f2;
  --secondary: #b6c9c4;
  --metadata: #88aaa4;
  --accent: #49c6ad;
  --accent-soft: #b8e3d0;
  --intelligence: #e9bd70;
  --success: #74d69a;
  --attention: #efc06e;
  --warning: #ee996d;
  --critical: #ef7778;
  --stale: #bba17d;
  --unknown: #9aadb0;
  --historic: #8e9dba;
  --radius: 6px;
  --control: 38px;
  --rail: 228px;
  --bg: var(--ink);
  --panel: var(--surface);
  --panel-2: var(--elevated);
  --line: var(--border);
  --muted: var(--secondary);
  --good: var(--success);
  --warn: var(--warning);
  font: 14px/1.45 system-ui, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--ink); }
body { min-width: 320px; margin: 0; background: var(--ink); color: var(--text); }
body.astra2-shell { padding-left: var(--rail); }
body.astra-login { min-height: 100vh; }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(300px, .95fr) minmax(360px, 1.05fr); }
.login-identity { display: flex; flex-direction: column; justify-content: flex-end; min-height: 100vh; padding: clamp(32px, 6vw, 96px); border-right: 1px solid var(--border); background: var(--navigation); }
.login-logo { width: 88px; height: 88px; margin-bottom: auto; object-fit: contain; }
.login-identity h1 { margin: 9px 0 10px; font-size: 42px; text-transform: uppercase; }
.login-identity p { max-width: 26ch; margin-bottom: 0; color: var(--secondary); font-size: 18px; }
.login-access { width: min(100%, 490px); margin: auto; padding: 36px; }
.login-access h2 { margin: 9px 0 8px; font-size: 28px; }
.login-access p { color: var(--secondary); }
.login-action { width: 100%; justify-content: space-between; min-height: 46px; margin-top: 28px; padding-inline: 15px; }
a { color: var(--accent-soft); text-decoration: none; }
a:hover { color: var(--text); text-decoration: underline; }
button, input, select, textarea { font: inherit; }
button, .button, .button-link, .open-link, .filter-chip, .section-pill, .pagination-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: var(--control); padding: 7px 12px; border: 1px solid var(--border);
  border-radius: 4px; background: var(--elevated); color: var(--text);
  font-weight: 650; line-height: 1.2; cursor: pointer; text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
button:hover, .button:hover, .button-link:hover, .open-link:hover, .filter-chip:hover,
.section-pill:hover, .pagination-link:hover { background: #265052; border-color: var(--accent); color: var(--text); text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
button[type="submit"], .primary-action { background: var(--accent); color: var(--ink); border-color: var(--accent); }
button[type="submit"]:hover, .primary-action:hover { background: var(--accent-soft); color: var(--ink); }
button.secondary, .button.secondary, .button-link.secondary { background: transparent; color: var(--secondary); }
button.danger-button { border-color: var(--critical); background: transparent; color: var(--critical); }
button.danger-button:hover { background: rgba(239, 119, 120, .12); }
input, select, textarea { min-height: var(--control); max-width: 100%; padding: 8px 11px; border: 1px solid var(--border); border-radius: 4px; background: var(--ink); color: var(--text); }
input::placeholder, textarea::placeholder { color: var(--metadata); }
label { color: var(--secondary); font-size: 12px; font-weight: 650; }
label input, label select, label textarea { display: block; width: 100%; margin-top: 5px; }
form { min-width: 0; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: 25px; line-height: 1.16; font-weight: 740; }
h2 { font-size: 17px; line-height: 1.3; }
h3 { font-size: 14px; }
small, .small, .muted, .subtle, .helper-text, .meta, .reason-detail { color: var(--secondary); }
.small, .subtle, .meta, .reason-detail { font-size: 12px; }
.eyebrow, .brand-kicker, .section-title, .label, .player-kicker { color: var(--metadata); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.danger, .bad, .peak { color: var(--critical); }
.warn { color: var(--attention); }
.good, .ok, .open { color: var(--success); }
.historic { color: var(--historic); }
.shell, .container, .page { width: min(100%, 1520px); margin: 0 auto; padding: 24px 28px 56px; }
.card, .panel, .hero-card, .stat, .feedback, .notice { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.card, .panel { margin-bottom: 14px; }
.card .card, .panel .panel { background: var(--canvas); }
.hero, .top, .page-topbar, .brand-row, .page-head-actions, .page-topbar-actions,
.top-actions, .actions, .action-row, .filter-bar, .filters, .row-actions,
.incident-head, .meta-row, .pager, .pagination-bar, .pagination-links,
.chip-row, .tab-row, .section-nav, .quick-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.hero, .top, .page-topbar { justify-content: space-between; margin-bottom: 18px; padding: 0 0 16px; border-bottom: 1px solid var(--border); }
.hero .hero-card { border: 0; background: transparent; padding: 0; margin: 0; }
.brand-mark img, .brand-link img { width: 42px; height: 42px; object-fit: contain; }
.brand-lockup, .brand-link, .brand-row { display: flex; align-items: center; gap: 11px; }
.brand-name, .brand-title { font-size: 18px; font-weight: 750; }
.grid, .stats, .stats-grid, .summary-grid, .primary-grid, .triage-grid, .hero-summary-grid,
.hero-summary, .hero-meta, .combat-overview, .evidence { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.summary-card, .stat { padding: 12px 14px; margin: 0; }
.value, .stat strong { display: block; font-size: 20px; font-weight: 740; font-variant-numeric: tabular-nums; }
.filter-bar, .filters { margin-bottom: 15px; }
.filter-chip.active, .section-pill.active, .pagination-link.active { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.table-wrap, .player-table, .results-block, .timeline { min-width: 0; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 10px 11px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border); }
th { color: var(--metadata); font-size: 11px; font-weight: 750; text-transform: uppercase; white-space: nowrap; background: var(--navigation); }
tbody tr:hover td { background: rgba(73, 198, 173, .06); }
td { overflow-wrap: anywhere; }
.badge, .pill, .case-chip, .status-pill, .risk-pill, .signal-chip { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 7px; border: 1px solid var(--border); border-radius: 3px; color: var(--secondary); background: var(--canvas); font-size: 11px; font-weight: 700; }
.badge.danger, .status-pill.banned, .risk-pill.high { color: var(--critical); border-color: var(--critical); }
.badge.ok, .status-pill.clear { color: var(--success); border-color: var(--success); }
.feedback, .notice { margin: 10px 0 16px; border-left: 3px solid var(--attention); background: var(--canvas); }
.empty { padding: 36px 20px; text-align: center; color: var(--secondary); }
details > summary { cursor: pointer; }
.pager, .pagination-bar { justify-content: center; margin: 18px 0; }
.pagination-bar { justify-content: space-between; }
.timeline { max-height: 420px; overflow-y: auto; }
.timeline-row { display: grid; grid-template-columns: 165px minmax(0, 1fr) auto; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.evidence { grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.25fr); margin-top: 15px; }
.astra-command-rail { position: fixed; inset: 0 auto 0 0; z-index: 30; width: var(--rail); display: flex; flex-direction: column; overflow-y: auto; border-right: 1px solid var(--border); background: var(--navigation); }
.astra-rail-brand { display: flex; align-items: center; gap: 10px; min-height: 68px; padding: 12px 17px; border-bottom: 1px solid var(--border); color: var(--text); }
.astra-rail-mark { display: grid; place-items: center; width: 39px; height: 39px; flex: 0 0 39px; }
.astra-rail-mark img { width: 100%; height: 100%; object-fit: contain; }
.astra-rail-brand strong { display: block; font-size: 16px; }
.astra-rail-brand small { display: block; font-size: 10px; }
.astra-rail-search { padding: 16px 12px 8px; }
.astra-rail-search label { display: block; margin-bottom: 5px; }
.astra-rail-search div { display: flex; }
.astra-rail-search input { width: 100%; min-width: 0; border-radius: 4px 0 0 4px; }
.astra-rail-search button { padding: 0 8px; border-radius: 0 4px 4px 0; font-size: 11px; }
.astra-rail-nav { display: grid; gap: 2px; padding: 8px; }
.astra-rail-section { padding: 14px 9px 4px; color: var(--metadata); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.astra-rail-nav a { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 6px 10px; border-left: 3px solid transparent; border-radius: 3px; color: var(--secondary); }
.astra-rail-nav a:hover { background: var(--surface); color: var(--text); text-decoration: none; }
.astra-rail-nav a.active { border-left-color: var(--accent); background: var(--surface); color: var(--text); }
.astra-nav-glyph { width: 25px; color: var(--metadata); font-size: 10px; font-weight: 800; }
.astra-rail-foot { margin-top: auto; padding: 14px; border-top: 1px solid var(--border); color: var(--metadata); font-size: 11px; }
.astra-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--success); }
.astra-mobile-command { display: none; }
.command-centre-masthead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 1.1fr); align-items: end; gap: 20px; }
.command-centre-masthead .hero-copy { margin-top: 12px; }
.top-search form { display: flex; align-items: center; gap: 6px; }
.top-search input { flex: 1; min-width: 0; min-height: 44px; }
.command-centre-actions { grid-column: 1 / -1; }
.investigation-bar { margin-bottom: 18px; padding: 15px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--navigation); }
.investigation-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; align-items: end; }
.investigation-actions { display: flex; gap: 8px; align-items: center; }
.investigation-field input, .investigation-field select { width: 100%; }
.current-wipe { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.current-wipe strong { font-size: 14px; }
.astra-mobile-brand img { display: block; width: 30px; height: 30px; object-fit: contain; }
:is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.investigation-field { min-width: 0; }
.investigation-field input, .investigation-field select { width: 100%; }
.investigation-field label { display: block; margin-bottom: 5px; }
.investigation-tools { justify-content: space-between; margin-top: 10px; }
.summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 18px; }
.summary-card { background: var(--navigation); }
.summary-card .value { font-size: 18px; }
.priority-card, .lead-item, .recent-view-card, .event-card { padding: 14px; margin-bottom: 9px; border-left: 3px solid var(--intelligence); background: var(--surface); }
.priority-card > .priority-actions, .lead-item .actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.player-table .player-name { font-weight: 730; }
.player-table .row-actions { min-width: 145px; }
.player-table .row-actions form { display: inline-flex; }
.results-block { margin-bottom: 18px; }
.player-dossier .page-topbar { align-items: center; }
.player-dossier .page-topbar-actions { justify-content: flex-end; }
.dossier-identity-band { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; border-left: 4px solid var(--accent); background: var(--navigation); }
.dossier-identity-band { margin-bottom: 18px; padding: 19px; }
.dossier-return { display: inline-block; margin-top: 5px; font-weight: 700; }
.player-dossier .page-topbar-actions > a:first-child { display: none; }
.dossier-identity-band .action-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.dossier-identity-band .action-row form { display: inline-flex; }
.dossier-identity-band .danger-button { color: var(--critical); border-color: var(--critical); background: transparent; }
.dossier-identity-band .safe-button { color: var(--success); border-color: var(--success); background: transparent; }
.dossier-identity-band .hero-summary { margin-top: 15px; }
.dossier-identity-band .hero-meta { align-content: start; }
.dossier-identity-band .chip-row { margin: 7px 0; }
.dossier-identity-band .linked-overview { margin-top: 14px; }
.dossier-identity-band .hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.dossier-identity-band .hero-summary { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
.dossier-identity-band .hero-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dossier-identity-band .hero-stat, .dossier-identity-band .meta-card { padding: 9px 11px; border-left: 1px solid var(--border); background: var(--surface); }
.dossier-identity-band .helper-text { margin: 12px 0; }
.player-shell { display: grid; grid-template-columns: minmax(260px, 300px) minmax(0, 1fr); gap: 16px; }
.player-shell > *, .player-dossier .tab-shell { min-width: 0; }
.player-shell .form-grid, .quick-case-grid, .log-filter-form { display: grid; gap: 9px; }
.quick-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; }
.quick-case-grid button { width: 100%; }
.player-shell textarea { width: 100%; min-height: 72px; }
.tab-shell { padding: 0; }
.panel-context { margin-bottom: 12px; padding: 7px 11px; border-left: 3px solid var(--accent); background: var(--navigation); color: var(--accent-soft); font-size: 12px; font-weight: 750; }
.panel-context.historic { border-left-color: var(--historic); color: var(--historic); }
.log-filter-card { margin: 12px 0 16px; padding: 12px; border: 1px solid var(--border); background: var(--navigation); }
.log-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: end; margin: 9px 0; }
.log-filter-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.panel-shell { min-height: 80px; }
.panel-loading { padding: 24px; color: var(--secondary); }
.tab-row, .section-nav { margin-bottom: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.tab-pill { min-height: 34px; padding: 6px 10px; border: 1px solid transparent; background: transparent; color: var(--secondary); }
.tab-pill.active, .tab-pill[aria-selected="true"] { border-bottom-color: var(--accent); color: var(--accent-soft); }
.linked-overview-item, .panel-note, .hero-stat, .meta-card, .combat-overview-card { padding: 10px; border: 1px solid var(--border); background: var(--canvas); }
.linked-overview-list, .stack { display: grid; gap: 10px; }
.linked-overview-head, .linked-overview-item-head, .hero-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.ops-masthead { align-items: flex-end; }
.ops-centre .stats-grid, .codelock-ledger .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.event-card { border-left-color: var(--accent); }
.event-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.codelock-ledger .panel { margin-bottom: 14px; }
.codelock-ledger .raw { max-width: 360px; overflow-wrap: anywhere; }
.codelock-ledger .nowrap { white-space: nowrap; }
.operational-health > .grid { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
.operational-health .metric { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.operational-health .health-command-status { border-left: 4px solid var(--attention); }
.operational-health .health-command-status { margin-bottom: 20px; padding: 16px 18px; background: var(--navigation); }
.health-command-status p { margin: 5px 0 0; }
.operational-health .status.bad { color: var(--critical); }
.operational-health .status.ok { color: var(--success); }
.operational-health .status.warn { color: var(--warning); }
.filters label { min-width: 140px; flex: 1; }
.ops-filter-form, .filter-grid, .stack-form, .role-grid, .metric-strip, .pill-wrap, .toolbar, .bulk-bar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.stack-form { display: grid; align-items: stretch; }
.ops-filter-field, .filter-grid > div, .bulk-bar > .field { flex: 1 1 145px; }
.ops-filter-field label { display: block; margin-bottom: 5px; }
.ops-filter-field input, .filter-grid select, .filter-grid input { width: 100%; }
.role-grid { align-items: center; }
.role-option { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--border); }
.role-option input { min-height: auto; }
.pill-wrap { margin-top: 10px; }
.account-identity { max-width: 660px; padding: 18px 0; border-top: 3px solid var(--accent); }
.summary-badge { padding: 9px 12px; border: 1px solid var(--border); background: var(--canvas); }
.wipe-management > section { margin-bottom: 25px; }
.wipe-management .wipe-confirm { padding: 18px; border: 1px solid var(--warning); border-left: 4px solid var(--warning); background: var(--navigation); }
.wipe-comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.wipe-comparison div { padding: 9px 0; border-top: 1px solid var(--border); }
.wipe-comparison dt { color: var(--metadata); font-size: 11px; text-transform: uppercase; }
.wipe-comparison dd { margin: 4px 0 0; font-weight: 700; }
.wipe-proposal .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wipe-proposal textarea { min-height: 70px; }
.workspace-section { min-width: 0; margin-bottom: 22px; }
.workspace-heading { margin: 20px 0 12px; }
.summary-section { margin: 26px 0; padding-top: 14px; border-top: 1px solid var(--border); }
.recent-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.triage-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.priority-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 12px; }
.priority-list .priority-card { margin-bottom: 0; }
.priority-top { flex-wrap: wrap; }
.focus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.focus-tile { padding: 10px; border-top: 1px solid var(--border); }
.review-server-group { margin: 9px 0; border: 1px solid var(--border); }
.review-server-group > summary { padding: 10px; background: var(--navigation); }
.review-server-body { padding: 10px; overflow-x: auto; }
.historic-priority-panel { margin-top: 14px; padding: 10px; border: 1px solid var(--border); color: var(--historic); }
.priority-top, .event-top, .section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.priority-name, .recent-view-name, .event-title { font-size: 15px; font-weight: 740; }
.priority-summary, .event-meta { margin: 10px 0; }
.signal-stack { display: flex; flex-wrap: wrap; gap: 4px; }
.section-head { margin-bottom: 12px; }
.search-icon { color: var(--metadata); }
.group-cap-workspace details.card { border-left: 3px solid var(--attention); }
.group-cap-workspace details.card > summary { list-style-position: inside; }
.group-cap-workspace .empty { border: 1px dashed var(--border); }
.investigation-search-form { margin-bottom: 24px; }
.investigation-search-form label { display: block; margin-bottom: 6px; }
.investigation-search-form > div { display: flex; max-width: 840px; gap: 6px; }
.investigation-search-form input { flex: 1; min-width: 0; min-height: 46px; }
.search-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.search-category { min-width: 0; border-top: 2px solid var(--border); padding-top: 10px; }
.search-hit { position: relative; padding: 10px 0; border-bottom: 1px solid var(--border); }
.search-hit .button-link { float: right; }
.search-hit > div { margin-top: 4px; }
.incident-head { width: 100%; justify-content: space-between; }
.meta-row { margin: 12px 0; }
.stats .stat strong { margin-top: 4px; }
.brand-row { margin-bottom: 18px; }
.astra-toast { position: fixed; right: 18px; bottom: 18px; z-index: 100; padding: 9px 13px; border: 1px solid var(--accent); border-radius: 4px; background: var(--navigation); color: var(--text); opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.astra-toast.show { opacity: 1; }
@media (max-width: 1200px) {
  .command-centre-masthead { grid-template-columns: 1fr; }
  .operational-health > .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .triage-grid { grid-template-columns: 1fr; }
  .triage-grid .workspace-section { grid-row: auto; }
}
@media (max-width: 1100px) {
  :root { --rail: 64px; }
  .astra-rail-brand { padding: 12px; }
  .astra-rail-brand > span:last-child, .astra-rail-section, .astra-rail-nav a > span:last-child,
  .astra-rail-foot, .astra-rail-search label, .astra-rail-search input { display: none; }
  .astra-rail-search { padding: 8px; }
  .astra-rail-search button { width: 100%; border-radius: 4px; }
  .astra-rail-nav a { justify-content: center; }
  .astra-nav-glyph { width: auto; }
}
@media (max-width: 760px) {
  .login-layout { grid-template-columns: 1fr; }
  .login-identity { min-height: 250px; padding: 28px 24px; border-right: 0; border-bottom: 1px solid var(--border); }
  .login-logo { width: 58px; height: 58px; margin-bottom: 24px; }
  .login-identity h1 { font-size: 42px; }
  .login-identity p { font-size: 15px; }
  .login-access { padding: 36px 24px 54px; }
  body.astra2-shell { padding-left: 0; padding-top: 54px; }
  .astra-command-rail { display: none; }
  .astra-mobile-command { position: fixed; inset: 0 0 auto; z-index: 30; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; height: 54px; padding: 7px 10px; border-bottom: 1px solid var(--border); background: var(--navigation); }
  .astra-mobile-command form { display: flex; min-width: 0; }
  .astra-mobile-command input { width: 100%; min-width: 0; }
  .astra-mobile-command button { padding: 0 8px; }
  .astra-mobile-command a:last-child { display: none; }
  .shell, .container, .page { padding: 16px 12px 38px; }
  .hero, .top, .page-topbar { align-items: flex-start; }
  .evidence { grid-template-columns: 1fr; }
  .timeline-row { grid-template-columns: 1fr; gap: 3px; }
  .summary-grid, .stats, .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dossier-identity-band, .player-shell { grid-template-columns: 1fr; }
  .log-filter-form, .quick-case-grid { grid-template-columns: 1fr; }
  .operational-health > .grid { grid-template-columns: 1fr; }
  .wipe-proposal .grid { grid-template-columns: 1fr; }
  .search-categories { grid-template-columns: 1fr; }
  table { overflow-x: auto; }
}

/* One ledger DOM becomes labelled records when its workspace is constrained. */
.shell, .page, .container, .player-table, .table-wrap, .workspace-section, .panel,
.staff-management > .card { container-type: inline-size; }
.triage-grid > .results-block { grid-column: 1 / -1; }
.results-block:focus { outline: none; }
td { overflow-wrap: break-word; word-break: normal; }
button, .button, .button-link, .open-link, .pagination-link,
.badge, .pill, .case-chip, .status-pill, .risk-pill, .signal-chip, .tag { white-space: nowrap; }
.player-name, .record-name { display: block; font-size: 15px; font-weight: 700; overflow-wrap: break-word; word-break: normal; }
.identity-id, .ledger-id, .record-timestamp, .stamp { white-space: nowrap; font-variant-numeric: tabular-nums; }
.identity-id { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; color: var(--metadata); font-size: 12px; }
.pill-wrap .pill, .pill-wrap .tag { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.pill-wrap .pill a, .pill-wrap .tag a { white-space: nowrap; }
.players-table td:first-child { min-width: 170px; }
.players-table td:nth-child(3) { min-width: 190px; }
.players-table td:nth-child(4) { min-width: 165px; }
.astra-ledger td.row-actions { display: table-cell; min-width: 110px; }
.astra-ledger td.row-actions > * { display: inline-block; margin: 0 3px 5px 0; }
.astra-ledger td.row-actions button, .astra-ledger td.row-actions a { padding: 6px 9px; }
.signal-details { margin-top: 8px; }
summary { cursor: pointer; }
.signal-details summary, .role-editor summary, .destructive-actions summary { color: var(--accent); font-size: 13px; padding: 7px 0; }
.staff-management { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.staff-create > summary { font-weight: 650; }
.staff-create .stack-form { max-width: 650px; margin-top: 18px; }
.staff-ledger td:first-child { min-width: 190px; }
.staff-ledger td:nth-child(2) { min-width: 210px; }
.role-editor { margin-top: 6px; }
.role-editor .role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin-top: 8px; }
.role-option { display: flex; align-items: center; gap: 8px; white-space: nowrap; padding: 7px 0; }
.role-option input[type=checkbox] { display: inline-block; width: 16px; height: 16px; min-height: 0; margin: 0; flex: 0 0 16px; }
.destructive-actions { margin-top: 10px; padding-top: 3px; border-top: 1px solid var(--border); }
.destructive-actions .danger-button { margin-top: 8px; }
.ops-view-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
@container (max-width: 1100px) {
  .astra-ledger, .astra-ledger tbody { display: block; width: 100%; }
  .astra-ledger tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; padding: 18px 0; border-bottom: 1px solid var(--border); }
  .astra-ledger tr.ledger-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; border: 0; }
  .astra-ledger td, .astra-ledger td.row-actions { display: block; width: auto; min-width: 0; max-width: 100%; border: 0; padding: 0; }
  .astra-ledger td::before { content: attr(data-label); display: block; margin-bottom: 5px; font-size: 11px; font-weight: 650; color: var(--metadata); }
  .astra-ledger td:first-child, .astra-ledger .ledger-actions, .astra-ledger .ledger-full { grid-column: 1 / -1; }
  .astra-ledger td:first-child::before { display: none; }
  .astra-ledger .ledger-actions > * { display: inline-block; margin-right: 5px; }
  .astra-ledger .ledger-id { overflow: hidden; text-overflow: ellipsis; }
  .players-table .player-name { font-size: 17px; }
  .staff-ledger .record-name { font-size: 17px; }
  .staff-ledger .destructive-actions { margin-left: 12px; border: 0; }
}
@container (max-width: 540px) {
  .astra-ledger tr { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .record-timestamp { white-space: normal; overflow-wrap: normal; }
  .layout, .two-col, .grid-2 { grid-template-columns: minmax(0, 1fr); }
}
