.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface-raised);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:232px;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:var(--text-lg);padding:var(--space-5) var(--space-5) var(--space-4)}.sidebar-brand .dot{color:var(--color-primary)}.sidebar-nav{padding:0 var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-section{flex-direction:column;gap:2px;display:flex}.nav-section+.nav-section{margin-top:var(--space-4)}.nav-section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 var(--space-3);margin-bottom:var(--space-1);font-weight:600}.nav-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-base);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);justify-content:space-between;align-items:center;display:flex}.nav-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.nav-item[data-active=true]{background:var(--color-primary-subtle);color:var(--color-primary-subtle-text);font-weight:600}.nav-count{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--surface-sunken);color:var(--text-secondary);border-radius:var(--radius-pill);padding:1px 8px}.nav-count[data-alert=true]{background:var(--bg-danger);color:var(--text-danger)}.sidebar-footer{border-top:1px solid var(--border);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--text-secondary)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface-raised);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.breadcrumb{font-size:var(--text-sm);color:var(--text-secondary)}.breadcrumb b{color:var(--text-primary);font-weight:600}.sync-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.sync-dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.sync-dot[data-state=stale]{background:var(--color-warning)}.sync-dot[data-state=failed]{background:var(--color-danger)}.page{padding:var(--space-6);width:100%;max-width:1200px;margin:0 auto}.page-head{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-start;display:flex}.page-head h1{font-size:var(--text-xl)}.page-head .sub{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-1)}.btn{align-items:center;gap:var(--space-2);font-size:var(--text-base);border-radius:var(--radius);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background var(--dur) var(--ease);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-sunken)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-sunken);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:#fff}.btn[disabled]{background:var(--surface-sunken);color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.btn-sm{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-head h3{font-size:var(--text-lg)}.card-head .sub{color:var(--text-secondary);font-size:var(--text-sm)}.stack>*+*{margin-top:var(--space-5)}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:720px){.form-row{grid-template-columns:1fr}}.section-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600}.stat-card{gap:var(--space-1);flex-direction:column;display:flex}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.metric-value{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:var(--text-2xl);font-variant-numeric:tabular-nums}.stat-sub{font-size:var(--text-sm);color:var(--text-muted)}.badge{font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-secondary);align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.badge[data-variant=success]{background:var(--bg-success);color:var(--text-success);border-color:var(--border-success)}.badge[data-variant=warning]{background:var(--bg-warning);color:var(--text-warning);border-color:var(--border-warning)}.badge[data-variant=danger]{background:var(--bg-danger);color:var(--text-danger);border-color:var(--border-danger)}.badge[data-variant=info]{background:var(--bg-info);color:var(--text-info);border-color:var(--border-info)}.badge[data-variant=primary]{background:var(--color-primary-subtle);color:var(--color-primary-subtle-text);border-color:var(--color-primary-border)}.tier-badge[data-tier=ready_to_work]{background:var(--tier-ready-bg);color:var(--tier-ready-text);border-color:var(--border-success)}.tier-badge[data-tier=near_completion]{background:var(--tier-near-bg);color:var(--tier-near-text);border-color:var(--border-info)}.tier-badge[data-tier=emerging_talent]{background:var(--tier-emerging-bg);color:var(--tier-emerging-text);border-color:var(--border-warning)}.tier-badge[data-tier=excluded]{background:var(--tier-excluded-bg);color:var(--tier-excluded-text)}.freshness-tag,.confidence-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.confidence-tag[data-confidence=confirmed]{color:var(--text-success)}.confidence-tag[data-confidence=inferred]{color:var(--text-warning)}.attention-strip{gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.attention-card{border-radius:var(--radius);padding:var(--space-3) var(--space-4);border:1px solid var(--border);background:var(--surface-raised);font-size:var(--text-sm);border-left-width:4px;flex:240px}.attention-card[data-variant=danger]{border-left-color:var(--color-danger)}.attention-card[data-variant=warning]{border-left-color:var(--color-warning)}.attention-card[data-variant=info]{border-left-color:var(--color-info)}.attention-card .title{font-weight:600}.attention-card .desc{color:var(--text-secondary)}.pipeline-spine{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.spine-stage{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);border-top:3px solid var(--color-primary)}.spine-stage h3{font-size:var(--text-md);margin-bottom:var(--space-2)}.spine-stats{gap:var(--space-5);display:flex}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--text-base);background:var(--surface-raised)}table.data th{text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-strong);background:var(--surface-raised);font-weight:600;position:sticky;top:0}table.data td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}table.data td.num,table.data th.num{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm)}table.data td.id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.tree{font-size:var(--text-base)}.tree-node{padding:var(--space-1) 0}.tree-row{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex}.tree-row:hover{background:var(--surface-sunken)}.tree-row[data-selected=true]{background:var(--color-primary-subtle);color:var(--color-primary-subtle-text)}.tree-children{margin-left:var(--space-5);border-left:1px solid var(--border);padding-left:var(--space-2)}.tree-toggle{width:16px;color:var(--text-muted);font-family:var(--font-mono)}.tree-kind{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary)}.empty-state h3{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-2)}.skeleton{background:var(--surface-sunken);border-radius:var(--radius-sm);animation:pulse 1.4s var(--ease) infinite;min-height:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-state{border:1px solid var(--border-danger);background:var(--bg-danger);color:var(--text-danger);border-radius:var(--radius);padding:var(--space-4);font-size:var(--text-sm)}.stale-banner{align-items:center;gap:var(--space-2);background:var(--bg-warning);color:var(--text-warning);border:1px solid var(--border-warning);border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);display:flex}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.input,.select{font-family:var(--font-sans);font-size:var(--text-base);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.input:focus,.select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-10);text-align:center;color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;transition:border-color var(--dur) var(--ease)}.dropzone:hover,.dropzone[data-active=true]{border-color:var(--color-primary)}.two-col{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:900px){.two-col,.grid-4,.grid-3,.pipeline-spine{grid-template-columns:1fr}}
