/* =========================================================
   SOC CONSOLE
   ========================================================= */
body.in-console { overflow: hidden; height: 100%; }
.console { position: fixed; inset: 0; z-index: 50; display: grid; grid-template-columns: 264px 1fr; grid-template-rows: 60px 1fr; background: var(--color-bg); color: var(--color-text); font-size: var(--text-sm); }
.console[hidden] { display: none; }
.console.entering { animation: console-in 400ms var(--ease-out); }
@keyframes console-in { from { opacity: 0; transform: scale(0.995); } }
@media (max-width: 900px) { .console { grid-template-columns: minmax(0, 1fr); } }

/* Sidebar */
.c-sidebar { grid-row: 1 / -1; display: flex; flex-direction: column; background: var(--color-surface-offset); border-right: 1px solid var(--color-border); overflow-y: auto; overscroll-behavior: contain; }
.c-brand { display: flex; align-items: center; gap: var(--space-3); height: 60px; padding-inline: var(--space-5); border-bottom: 1px solid var(--color-border); }
.c-brand .logo { width: 26px; height: 26px; }
.c-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.c-brand-text .wordmark { font-size: var(--text-sm); }
.c-brand-text > span:last-child { font-family: var(--font-mono); font-size: 11px; color: var(--color-text-faint); letter-spacing: 0.08em; text-transform: uppercase; }
.c-nav { display: flex; flex-direction: column; padding: var(--space-4) var(--space-3); gap: 2px; }
.c-nav-group { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-faint); padding: var(--space-3) var(--space-3) var(--space-1); }
.c-nav-link { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); color: var(--color-text-muted); min-height: 44px; border-left: 2px solid transparent; transition: background var(--transition-interactive), color var(--transition-interactive); }
.c-nav-link:hover { background: var(--color-surface-2); color: var(--color-text); }
.c-nav-link[aria-current] { background: var(--color-surface); color: var(--color-text); border-left-color: var(--color-primary); }
.c-nav-link .c-ico { font-family: var(--font-mono); color: var(--color-amber); text-align: center; }
.c-nav-link small { font-family: var(--font-mono); font-size: 11px; color: var(--color-text-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-nav-link .c-count { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); background: var(--color-surface-2); padding: 0 6px; border-radius: var(--radius-sm); }
.c-nav-link[aria-current] .c-count { color: var(--color-primary); }
.c-nav-link span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.c-sidebar-foot { margin-top: auto; padding: var(--space-4) var(--space-3) var(--space-5); border-top: 1px solid var(--color-border); }
.c-hint { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); padding: var(--space-3); }
@media (max-width: 900px) {
  .c-sidebar { position: fixed; inset: 0 auto 0 0; width: min(84vw, 300px); z-index: 60; transform: translateX(-100%); transition: transform 300ms var(--ease-out); box-shadow: var(--shadow-lg); }
  .console.nav-open .c-sidebar { transform: none; }
  .c-scrim { position: fixed; inset: 0; background: rgba(4,7,10,0.6); z-index: 55; }
  .c-scrim[hidden] { display: none; }
}
@media (min-width: 901px) { .c-scrim { display: none !important; } }

/* Topbar */
.c-topbar { grid-column: 2; min-width: 0; display: flex; align-items: center; gap: var(--space-3); padding-inline: var(--space-4); border-bottom: 1px solid var(--color-border); background: var(--color-surface-offset); }
@media (max-width: 900px) { .c-topbar { grid-column: 1; } }
.c-menu { display: none; }
@media (max-width: 900px) { .c-menu { display: inline-grid; } }
.cmd { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--space-2); max-width: 640px; height: 40px; padding-inline: var(--space-3); border: 1px solid var(--color-border); background: var(--color-bg); border-radius: var(--radius-sm); font-family: var(--font-mono); transition: border-color var(--transition-interactive); }
.cmd:focus-within { border-color: var(--color-primary); }
.cmd-prompt { color: var(--color-primary); }
.cmd input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; font-family: var(--font-mono); font-size: var(--text-sm); color: var(--color-text); }
.cmd input::placeholder { color: var(--color-text-faint); }
.cmd kbd { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); border: 1px solid var(--color-border); padding: 0 6px; border-radius: 3px; }
.c-top-actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); }
.c-top-actions .icon-btn { width: 40px; height: 40px; }
.badge-analyst { display: none; flex-direction: column; line-height: 1.15; padding: 4px var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); min-width: 130px; }
@media (min-width: 640px) { .badge-analyst { display: flex; } }
.badge-tier { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-primary); font-weight: 600; }
.badge-flags { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.badge-analyst.bump { animation: bump 500ms var(--ease-out); }
@keyframes bump { 30% { transform: scale(1.06); border-color: var(--color-primary); } }

/* Main */
.c-main { grid-column: 2; min-width: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: clamp(var(--space-4), 2.5vw, var(--space-8)); scroll-behavior: smooth; }
@media (max-width: 900px) { .c-main { grid-column: 1; } }
.c-view { display: grid; gap: var(--space-6); min-width: 0; max-width: 1400px; margin-inline: auto; animation: view-in 300ms var(--ease-out); }
@keyframes view-in { from { opacity: 0; } }
.c-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: var(--space-4); }
.c-head h1 { font-size: var(--text-xl); font-weight: 700; letter-spacing: -0.01em; }
.c-head .crumbs { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); margin-bottom: var(--space-2); }
.c-head .crumbs a:hover { color: var(--color-primary); }
.c-head p { color: var(--color-text-muted); max-width: 70ch; margin-top: var(--space-2); }
.c-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* Cards */
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-5); display: grid; gap: var(--space-4); align-content: start; min-width: 0; }
.card-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.card-head h2, .card-head h3 { font-size: var(--text-base); font-weight: 700; }
.card-head .meta { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.grid-kpi { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
@media (min-width: 1100px) { .grid-kpi { grid-template-columns: repeat(5, 1fr); } }
.kpi { gap: var(--space-2); cursor: pointer; transition: border-color var(--transition-interactive), transform var(--transition-interactive); text-align: left; }
.kpi:hover { border-color: var(--color-primary); transform: translateY(-1px); }
.kpi .lbl { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-faint); }
.kpi .val { font-family: var(--font-mono); font-size: var(--text-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
.kpi .val.hi { color: var(--color-high); } .kpi .val.ok { color: var(--color-primary); } .kpi .val.am { color: var(--color-amber); }
.kpi .sub { font-size: var(--text-xs); color: var(--color-text-muted); }
.grid-2 { display: grid; gap: var(--space-4); } @media (min-width: 1000px) { .grid-2 { grid-template-columns: 1.6fr 1fr; } }
.grid-2b { display: grid; gap: var(--space-4); } @media (min-width: 1000px) { .grid-2b { grid-template-columns: 1fr 1fr; } }
.grid-3 { display: grid; gap: var(--space-4); } @media (min-width: 1000px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } }

/* Chart */
.chart { width: 100%; height: 160px; }
.chart .cbar { fill: var(--color-primary); opacity: 0.75; transform-origin: bottom; animation: grow 700ms var(--ease-out) backwards; }
.chart .cbar.hi { fill: var(--color-high); } .chart .cbar.me { fill: var(--color-amber); }
@keyframes grow { from { transform: scaleY(0); } }
.chart .axis { stroke: var(--color-border); }
.chart text { fill: var(--color-text-faint); font-family: var(--font-mono); font-size: 10px; }
.legend { display: flex; flex-wrap: wrap; gap: var(--space-4); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); }
.legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 6px; background: var(--c, var(--color-primary)); }

/* Tables */
.table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
thead th { position: sticky; top: 0; z-index: 1; background: var(--color-surface-2); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-faint); text-align: left; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-border); white-space: nowrap; }
tbody td { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-divider); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr.row-link { cursor: pointer; transition: background var(--transition-interactive); }
tbody tr.row-link:hover { background: var(--color-surface-2); }
tbody tr.row-link:focus-visible { outline-offset: -2px; }
td.mono, .mono { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); white-space: nowrap; }
td .title { font-weight: 500; display: block; }
td .subtitle { font-size: var(--text-xs); color: var(--color-text-muted); display: block; margin-top: 2px; }
.status { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); }
.status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--color-text-faint); }
.status.resolved::before, .status.closed::before { background: var(--color-primary); }
.status.active::before { background: var(--color-amber); }
.filters { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.filters .lbl { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); margin-right: var(--space-2); }
.pill { font-family: var(--font-mono); font-size: var(--text-xs); padding: 6px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text-muted); min-height: 32px; transition: all var(--transition-interactive); }
.pill:hover { border-color: var(--color-border-strong); color: var(--color-text); }
.pill[aria-pressed="true"] { background: var(--color-primary-highlight); border-color: var(--color-primary); color: var(--color-primary); }
.empty { padding: var(--space-10); text-align: center; color: var(--color-text-muted); font-family: var(--font-mono); font-size: var(--text-sm); border: 1px dashed var(--color-border-strong); border-radius: var(--radius-md); }

/* Detail (incident / article) */
.detail-grid { display: grid; gap: var(--space-4); align-items: start; }
@media (min-width: 1100px) { .detail-grid { grid-template-columns: minmax(0, 1fr) 320px; } .detail-side { position: sticky; top: 0; } }
.detail-side { display: grid; gap: var(--space-4); }
.kv { display: grid; gap: var(--space-2); min-width: 0; }
.kv > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--space-3); font-size: var(--text-sm); padding-block: var(--space-2); border-bottom: 1px solid var(--color-divider); }
.kv > div:last-child { border-bottom: 0; }
.kv dt { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); text-transform: uppercase; letter-spacing: 0.08em; padding-top: 3px; }
.kv dd { color: var(--color-text); overflow-wrap: anywhere; min-width: 0; }
.kv .mono { white-space: normal; }
.kv dd .tag-row { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.prose { max-width: 76ch; font-size: var(--text-base); line-height: 1.7; color: var(--color-text); }
.prose > * + * { margin-top: var(--space-5); }
.prose h2 { font-family: var(--font-body); font-size: var(--text-lg); font-weight: 700; letter-spacing: 0; margin-top: var(--space-10); padding-top: var(--space-5); border-top: 1px solid var(--color-divider); }
.prose h3 { font-size: var(--text-base); font-weight: 700; margin-top: var(--space-8); }
.prose h1 { font-size: var(--text-lg); font-weight: 700; }
.prose p, .prose li { color: var(--color-text-muted); }
.prose strong { color: var(--color-text); }
.prose a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.prose ul { list-style: disc; padding-left: 1.4em; } .prose ol { list-style: decimal; padding-left: 1.4em; }
.prose li + li { margin-top: var(--space-2); }
.prose blockquote { border-left: 2px solid var(--color-amber); padding: var(--space-3) var(--space-5); background: var(--color-amber-highlight); color: var(--color-text); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.prose pre { background: #070a0e; color: #cfd8e3; border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-4); overflow-x: auto; font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.6; max-height: 520px; }
[data-theme='light'] .prose pre { background: #0f1620; }
.prose code { font-family: var(--font-mono); font-size: 0.9em; }
.prose :not(pre) > code { background: var(--color-surface-2); border: 1px solid var(--color-border); padding: 1px 5px; border-radius: 3px; color: var(--color-text); }
.prose img { border: 1px solid var(--color-border); border-radius: var(--radius-sm); margin-block: var(--space-6); background: #fff; }
.prose table { font-size: var(--text-sm); border: 1px solid var(--color-border); } .prose td, .prose th { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-divider); }
.prose hr { border: 0; border-top: 1px solid var(--color-border); }
.evidence-note { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.step-flow { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.step-flow .step { font-family: var(--font-mono); font-size: var(--text-xs); border: 1px solid var(--color-border); padding: 6px 10px; border-radius: var(--radius-sm); background: var(--color-surface-2); color: var(--color-text-muted); position: relative; transition: all 300ms var(--ease-out); }
.step-flow .step.done { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-highlight); }
.step-flow .step.running { border-color: var(--color-amber); color: var(--color-amber); }
.step-flow .arrow { color: var(--color-text-faint); font-family: var(--font-mono); }
.step-flow.vertical { flex-direction: column; align-items: stretch; }
.step-flow.vertical .step { display: flex; justify-content: space-between; gap: var(--space-3); }
.step-flow.vertical .step::after { content: attr(data-state); color: var(--color-text-faint); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.step-flow.vertical .step.done::after { content: 'Succeeded'; color: var(--color-primary); }
.step-flow.vertical .step.running::after { content: 'Running…'; color: var(--color-amber); }
.step-flow.vertical .arrow { display: none; }

/* Hunting */
.editor { display: grid; gap: var(--space-3); }
.editor textarea { width: 100%; min-height: 120px; resize: vertical; background: #070a0e; color: #cfe3da; border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-4); font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1.6; tab-size: 2; }
[data-theme='light'] .editor textarea { background: #0f1620; }
.editor textarea:focus { outline: 2px solid var(--color-primary); outline-offset: 0; }
.editor-bar { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; justify-content: space-between; }
.result-meta { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.result-meta.err { color: var(--color-high); }
.query-list { display: grid; gap: var(--space-2); }
.query-list button { text-align: left; font-family: var(--font-mono); font-size: var(--text-xs); padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text-muted); background: var(--color-surface-2); line-height: 1.5; transition: border-color var(--transition-interactive), color var(--transition-interactive); }
.query-list button:hover { border-color: var(--color-primary); color: var(--color-text); }
.query-list button strong { display: block; color: var(--color-text); font-weight: 600; margin-bottom: 2px; font-family: var(--font-body); font-size: var(--text-sm); }
.bar-cell { display: grid; grid-template-columns: 1fr 36px; gap: var(--space-2); align-items: center; min-width: 160px; }
.bar { height: 6px; background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: 3px; overflow: hidden; }
.bar span { display: block; height: 100%; background: var(--color-primary); width: var(--w, 0%); transition: width 700ms var(--ease-out); }
.skill-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.skill { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); display: grid; gap: var(--space-2); }
.skill .nm { font-weight: 600; display: flex; justify-content: space-between; gap: var(--space-2); }
.skill .nm span { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-primary); }
.skill .nt { font-size: var(--text-xs); color: var(--color-text-muted); }

/* Entities */
.entity-card { display: grid; gap: var(--space-5); grid-template-columns: auto 1fr; align-items: start; }
@media (max-width: 640px) { .entity-card { grid-template-columns: 1fr; } }
.avatar { width: 112px; height: 112px; object-fit: cover; border-radius: var(--radius-md); border: 1px solid var(--color-border-strong); }
.entity-name { font-family: var(--font-display); font-size: var(--text-xl); letter-spacing: -0.01em; }
.entity-role { color: var(--color-text-muted); margin-top: var(--space-1); }
.tag-row { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.exp { display: grid; gap: var(--space-3); padding-block: var(--space-4); border-top: 1px solid var(--color-divider); }
.exp:first-of-type { border-top: 0; padding-top: 0; }
.exp-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); align-items: baseline; }
.exp-head h3 { font-size: var(--text-base); font-weight: 700; }
.exp-head .mono { white-space: normal; }
.exp ul { list-style: none; display: grid; gap: var(--space-2); }
.exp li { position: relative; padding-left: var(--space-5); color: var(--color-text-muted); font-size: var(--text-sm); }
.exp li::before { content: '›'; position: absolute; left: 0; color: var(--color-primary); font-family: var(--font-mono); }
.activity { display: grid; gap: 0; }
.activity li { display: grid; grid-template-columns: 64px 1fr; gap: var(--space-4); padding-block: var(--space-3); border-bottom: 1px solid var(--color-divider); font-size: var(--text-sm); }
.activity li:last-child { border-bottom: 0; }
.activity .mono { padding-top: 2px; }
.activity strong { display: block; font-weight: 600; } .activity span { color: var(--color-text-muted); font-size: var(--text-xs); }

/* Compliance */
.score { display: grid; grid-template-columns: auto 1fr; gap: var(--space-5); align-items: center; }
.ring { width: 120px; height: 120px; }
.ring circle { fill: none; stroke-width: 10; }
.ring .track { stroke: var(--color-surface-2); } .ring .val { stroke: var(--color-primary); stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset 900ms var(--ease-out); }
.ring text { fill: var(--color-text); font-family: var(--font-mono); font-size: 22px; font-weight: 600; text-anchor: middle; }
.control { display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); align-items: center; }
.control strong { font-weight: 600; display: block; }
.control span { font-size: var(--text-xs); color: var(--color-text-muted); }
.control .status { white-space: nowrap; }

/* Intel (blog) */
.article-list { display: grid; gap: var(--space-3); }
.article { display: grid; gap: var(--space-2); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); cursor: pointer; transition: border-color var(--transition-interactive), transform var(--transition-interactive); text-align: left; }
.article:hover { border-color: var(--color-primary); transform: translateY(-1px); }
.article .meta { display: flex; flex-wrap: wrap; gap: var(--space-3); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.article h3 { font-size: var(--text-base); font-weight: 700; }
.article p { color: var(--color-text-muted); font-size: var(--text-sm); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.article .tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.article.featured-article { grid-column: 1 / -1; }
.article-grid { display: grid; gap: var(--space-3); } @media (min-width: 900px) { .article-grid { grid-template-columns: 1fr 1fr; } }
.toc { display: grid; gap: var(--space-1); }
.toc a { font-size: var(--text-xs); color: var(--color-text-muted); padding: 4px 0 4px var(--space-3); border-left: 1px solid var(--color-border); transition: color var(--transition-interactive), border-color var(--transition-interactive); }
.toc a:hover { color: var(--color-primary); border-left-color: var(--color-primary); }

/* Escalate */
.escalate-grid { display: grid; gap: var(--space-4); } @media (min-width: 1000px) { .escalate-grid { grid-template-columns: 1.1fr 1fr; } }
.contact-list { display: grid; gap: var(--space-2); }
.contact-list a, .contact-list button { display: grid; grid-template-columns: 110px 1fr auto; gap: var(--space-3); align-items: center; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-2); text-align: left; transition: border-color var(--transition-interactive); font-size: var(--text-sm); }
.contact-list a:hover, .contact-list button:hover { border-color: var(--color-primary); }
.contact-list .lbl { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); letter-spacing: 0.1em; text-transform: uppercase; }
.contact-list .arr { color: var(--color-primary); font-family: var(--font-mono); }
.contact-list .val { overflow-wrap: anywhere; font-weight: 500; }
@media (max-width: 560px) { .contact-list a, .contact-list button { grid-template-columns: 1fr auto; } .contact-list .lbl { grid-column: 1 / -1; } }
.ticket { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); background: #070a0e; border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-4); line-height: 1.7; white-space: pre-wrap; }
[data-theme='light'] .ticket { background: #0f1620; color: #b8c4cf; }
.ticket .k { color: var(--color-amber); } .ticket .v { color: #cfe3da; }

/* Onboarding steps */
.onb-steps { display: grid; gap: var(--space-3); }
.onb-steps li { display: grid; grid-template-columns: minmax(auto, 200px) 1fr; overflow-wrap: anywhere; gap: var(--space-4); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-2); font-size: var(--text-sm); }
.onb-steps strong { display: block; }
.onb-steps p { color: var(--color-text-muted); margin-top: 2px; }
.brief-grid { display: grid; gap: var(--space-4); grid-template-columns: auto 1fr; align-items: start; }
.brief-grid .avatar { width: 80px; height: 80px; }
.brief-skills { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.brief-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* Print CV */
@media print {
  .boot, .landing, .c-sidebar, .c-topbar, .toast, .modal, .detail-side, .c-actions { display: none !important; }
  body, body.in-console { overflow: visible !important; background: #fff; color: #000; }
  .console { position: static; display: block; }
  .c-main { overflow: visible; padding: 0; }
  .card { border: 0; padding: 0; break-inside: avoid; }
  a[href]::after { content: ' (' attr(href) ')'; font-size: 10px; color: #555; }
}

.card > * { min-width: 0; }
.chip { white-space: nowrap; }
.tag-row .chip { flex: 0 0 auto; }
.prose img { max-width: 100%; height: auto; }
.prose pre { max-width: 100%; overflow-x: auto; }
.table-wrap.compact th:nth-child(3), .table-wrap.compact td:nth-child(3) { width: 46%; }

.c-view > * { min-width: 0; }
@media (max-width: 560px) { .c-topbar { gap: var(--space-2); padding-inline: var(--space-3); } .cmd kbd { display: none; } #quick-brief { padding-inline: var(--space-3); } .grid-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kpi .val { font-size: var(--text-lg); } }

/* Admin */
.adm-form { display: grid; gap: var(--space-3); }
.adm-form label { display: grid; gap: 6px; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); letter-spacing: 0.06em; text-transform: uppercase; }
.adm-form input, .adm-form select, .adm-form textarea { width: 100%; min-height: 40px; padding: var(--space-2) var(--space-3); background: var(--color-bg); color: var(--color-text); border: 1px solid var(--color-border-strong); border-radius: var(--radius-sm); font-family: var(--font-body); font-size: var(--text-sm); text-transform: none; letter-spacing: 0; }
.adm-form textarea { font-family: var(--font-mono); font-size: var(--text-xs); min-height: 120px; resize: vertical; line-height: 1.6; }
.adm-form textarea.tall { min-height: 360px; }
.adm-form input:focus, .adm-form select:focus, .adm-form textarea:focus { outline: 2px solid var(--color-primary); outline-offset: 0; border-color: transparent; }
.adm-form .row { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.adm-form .check { display: flex; align-items: center; gap: var(--space-2); text-transform: none; font-size: var(--text-sm); color: var(--color-text-muted); letter-spacing: 0; }
.adm-form .check input { width: auto; min-height: 0; }
.adm-cats { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.adm-bar { position: sticky; top: calc(-1 * clamp(var(--space-4), 2.5vw, var(--space-8))); z-index: 3; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--color-surface-2); border: 1px solid var(--color-border-strong); border-radius: var(--radius-md); }
.adm-bar .who { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); margin-right: auto; }
.adm-bar .dirty { color: var(--color-amber); }
.adm-list { display: grid; gap: var(--space-2); }
.adm-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-2); }
.adm-item strong { display: block; font-size: var(--text-sm); }
.adm-item small { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); }
.adm-item .acts { display: flex; gap: var(--space-2); }
.adm-grid-row { display: grid; gap: var(--space-2); grid-template-columns: 1.8fr 1.5fr 0.55fr 0.5fr 2fr auto; align-items: center; }
.adm-grid-row.cert { grid-template-columns: 2fr 1.2fr 0.7fr 1fr auto; }
@media (max-width: 760px) { .adm-grid-row, .adm-grid-row.cert { grid-template-columns: 1fr 1fr; } }
.btn-danger { border-color: color-mix(in oklab, var(--color-high) 60%, transparent); color: var(--color-high); background: transparent; }
.btn-danger:hover { background: color-mix(in oklab, var(--color-high) 14%, transparent); }
.adm-note { font-size: var(--text-sm); color: var(--color-text-muted); }
.adm-note code { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-primary); }
.adm-err { color: var(--color-high); font-family: var(--font-mono); font-size: var(--text-xs); min-height: 1em; }
.c-view[data-adm-view] { animation: none; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; box-shadow: none; }
.adm-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin: var(--space-4) 0; padding: var(--space-4); border: 1px dashed var(--color-border); border-radius: var(--radius-sm); list-style: decimal inside; font-family: var(--font-mono); color: var(--color-text-muted); }
.adm-codes code { color: var(--color-text); font-size: var(--text-sm); letter-spacing: 0.04em; }
.adm-acts { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.adm-form .chk input { width: 18px; height: 18px; padding: 0; flex: none; margin: 0; accent-color: var(--color-primary); }
.adm-form .chk { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: var(--space-2); text-transform: none; letter-spacing: 0; font-size: var(--text-sm); color: var(--color-text); }
.linkish { background: none; border: 0; padding: 0; color: var(--color-primary); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 520px) { .adm-codes { grid-template-columns: 1fr; } }
