:root { color-scheme: light; --action:#B64B0B; --ink:#282936; --muted:#686868; --bg:#F6F6F4; --surface:#fff; --border:#D9D9D4; --danger:#B42318; --success:#1E654D; --warning:#8A4B08; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
button.secondary:hover { color:var(--ink); background:var(--bg); }
body { margin:0; color:var(--ink); background:var(--bg); font-size:16px; }
button, input, select { font:inherit; }
button, select, input { min-height:44px; border-radius:4px; }
button { border:1px solid var(--action); background:var(--action); color:#fff; padding:0 16px; cursor:pointer; font-weight:650; }
button:hover { background:#903b09; }
button.secondary { color:var(--ink); background:var(--surface); border-color:var(--muted); }
button:disabled, input:disabled, select:disabled { cursor:not-allowed; opacity:.55; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline:3px solid var(--action); outline-offset:2px; }
.demo-banner { position:sticky; top:0; z-index:5; min-height:32px; padding:6px 16px; background:#282936; color:#fff; text-align:center; font-size:13px; font-weight:700; letter-spacing:.02em; }
.site-header { min-height:64px; display:flex; align-items:center; gap:16px; padding:10px 24px; background:var(--surface); border-bottom:1px solid var(--border); }
.brand { color:var(--action); text-decoration:none; font-family:Georgia,serif; font-size:24px; letter-spacing:.08em; white-space:nowrap; }
.brand img { display:block; width:132px; height:auto; max-height:38px; object-fit:contain; }
.session-context { display:flex; gap:10px; align-items:baseline; flex:1; color:var(--muted); }
.session-context strong { color:var(--ink); }
main { max-width:1440px; margin:0 auto; padding:24px; }
.panel { margin:0 0 24px; padding:24px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.persona-panel { max-width:720px; margin:48px auto; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:28px; line-height:1.2; } h2 { font-size:22px; line-height:1.25; margin-bottom:0; } h3 { font-size:16px; margin-top:20px; }
.eyebrow { margin-bottom:4px; color:var(--muted); font-size:14px; font-weight:700; }
.button-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nav-toggle { display:none; }.app-nav { display:flex; flex-wrap:wrap; gap:16px; margin:0 0 24px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.app-nav a { color:var(--action); font-weight:700; }
.workspace-head { display:flex; justify-content:space-between; gap:16px; align-items:end; margin:0 0 24px; }
.branch-control { display:grid; gap:4px; min-width:180px; color:var(--muted); font-size:14px; font-weight:700; }
.branch-control select { color:var(--ink); border:1px solid var(--muted); background:#fff; padding:0 10px; }
.section-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:12px; }
.form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:16px 0; }
.form-grid label { display:grid; gap:6px; color:var(--ink); font-size:14px; font-weight:700; }
.form-grid input,.form-grid select { width:100%; border:1px solid var(--muted); background:#fff; color:var(--ink); padding:0 10px; }
.helper,.empty { color:var(--muted); font-size:14px; }
.export-format { display:grid; gap:4px; color:var(--muted); font-size:14px; font-weight:700; }.export-format select { min-height:44px; border:1px solid var(--muted); background:#fff; color:var(--ink); padding:0 10px; }
.feedback { min-height:24px; margin:0 0 12px; font-weight:650; }
.feedback.error { color:var(--danger); }.feedback.success { color:var(--success); }.feedback.warning { color:var(--warning); }
.state-label { padding:4px 8px; border:1px solid var(--border); border-radius:4px; color:var(--muted); font-size:14px; }
.table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--border); border-radius:4px; }
table { width:100%; border-collapse:collapse; min-width:980px; } th,td { min-height:48px; padding:11px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; } th { color:#41414c; background:#fafaf8; font-size:14px; } td { font-size:14px; } tr:last-child td { border-bottom:0; } .number { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
td button { min-height:34px; padding:0 10px; font-size:13px; }.detail { position:fixed; inset:0; z-index:10; display:grid; place-items:end; background:rgb(40 41 54 / .35); }.detail-card { width:min(560px,100%); height:100%; overflow:auto; padding:24px; background:#fff; box-shadow:-8px 0 24px rgb(0 0 0 / .15); }.close { float:right; } dl { display:grid; grid-template-columns:minmax(120px,.8fr) 1fr; gap:8px 16px; } dt { color:var(--muted); } dd { margin:0; font-variant-numeric:tabular-nums; word-break:break-word; }
@media (min-width:768px) { .nav-toggle { display:none; } }
@media (min-width:1200px) { #app { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,1fr); gap:24px; align-items:start; } #app-content { display:contents; } #app-content > .app-nav,#app-content > .workspace-head,#entry { grid-column:1 / -1; } #ledger { grid-column:1; grid-row:4; margin:0; } #managers { grid-column:1; grid-row:5; margin:0; } #detail { position:static; inset:auto; grid-column:2; grid-row:4 / span 2; display:block; min-width:0; background:transparent; } .detail-card { width:100%; height:auto; max-height:calc(100vh - 128px); border:1px solid var(--border); border-radius:8px; box-shadow:none; } }
@media (max-width:767px) { .site-header,main,.panel { padding-left:16px; padding-right:16px; }.site-header { flex-wrap:wrap; }.nav-toggle { display:inline-flex; }.session-context { order:3; flex-basis:100%; }.workspace-head { align-items:stretch; flex-direction:column; }.form-grid { grid-template-columns:1fr; }.app-nav { gap:10px; font-size:14px; }.panel { padding-top:20px; padding-bottom:20px; } }
@media (max-width:1199px) { #app,#app-content,.workspace-head,.panel { min-width:0; } #managers table { min-width:620px; } }
th { white-space:nowrap; }
td button { white-space:nowrap; }
#detail-title { overflow-wrap:anywhere; }
@media (min-width:1200px) {
  #app:has(#detail[hidden]) #ledger, #app:has(#detail[hidden]) #managers { grid-column:1 / -1; }
}
@media (min-width:1200px) { #inspection-performance { grid-column:1 / -1; grid-row:6; margin:0; } #inspection-draft { grid-column:1 / -1; grid-row:7; margin:0; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
