:root{--sidebar:#16181d;--ground:#f3f2ee;--card:#fff;--border:#e2e0da;--ink:#1b1d22;--muted:#5f6368;--accent:#0b6e6e;--green:#1e7a4b;--amber:#b45309;--red:#b3261e;--purple:#5b3fb3;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px}a{color:var(--accent)}.shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);color:#e8e6e1;flex:none;width:220px;padding:20px 16px}.sidebar .brand{margin-bottom:24px;font-weight:600}.sidebar .who{color:#a7a9ad;margin-bottom:16px;font-size:13px}.sidebar a{color:#e8e6e1;padding:6px 0;text-decoration:none;display:block}.main{flex:1;min-width:0;padding:28px 32px}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:18px;padding:18px 20px}h1{margin:0 0 18px;font-size:22px;font-weight:600}h2{margin:0 0 12px;font-size:16px;font-weight:600}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}th{color:var(--muted);font-weight:500}.ref{font-family:var(--mono)}.pill{border:1px solid;border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.pill.received{color:var(--muted)}.pill.draft{color:var(--amber)}.pill.approved,.pill.sent{color:var(--green)}.pill.failed{color:var(--red)}.muted{color:var(--muted)}pre.body{white-space:pre-wrap;font-family:var(--mono);background:var(--ground);border-radius:6px;padding:12px;font-size:13px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:8px 16px}button.secondary{color:var(--accent);background:0 0}button:disabled{opacity:.5;cursor:not-allowed}.notice{border:1px solid var(--border);background:#fff;border-radius:6px;padding:10px 14px}.notice.error{border-color:var(--red);color:var(--red)}.narrow{max-width:460px;margin:12vh auto}@media (max-width:720px){.shell{flex-direction:column}.sidebar{width:auto}.main{padding:16px}}td.actions form{margin:0 6px 6px 0;display:inline-block}td.actions a{margin-right:6px}details summary{cursor:pointer;margin-top:6px}.grid{grid-template-columns:180px 1fr;gap:6px 16px;display:grid}.check{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr;gap:4px 8px;padding:10px 0;display:grid}.check .evidence{font-family:var(--mono);color:var(--muted);white-space:pre-wrap;grid-column:2;font-size:12px}.outcome{border:1px solid var(--border);border-radius:6px;margin:12px 0;padding:10px 14px}.outcome.valid{border-color:var(--green);color:var(--green)}.outcome.deficient{border-color:var(--amber);color:var(--amber)}.outcome.rejected{border-color:var(--red);color:var(--red)}label.field{margin:8px 0;display:block}label.field input,label.field textarea,label.field select{width:100%;font:inherit;border:1px solid var(--border);border-radius:6px;margin-top:4px;padding:6px 8px;display:block}textarea{font-family:var(--mono)!important;font-size:13px!important}.two{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:900px){.two{grid-template-columns:1fr}}ol.steps{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}ol.steps li{border:1px solid var(--border);color:var(--muted);border-radius:12px;padding:2px 10px;font-size:13px}ol.steps li.current{border-color:var(--accent);color:var(--accent);font-weight:600}.badge{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-block}.badge.green{color:var(--green);background:#e8f3ec}.badge.amber{color:var(--amber);background:#fbf1e6}.badge.red{color:var(--red);background:#fbeceb}.badge.purple{color:var(--purple);background:#efebf8}.badge.grey{color:var(--muted);background:#f1f0ec}.topbar{justify-content:flex-end;margin:-8px 0 12px;display:flex}.sidebar a.active{color:#fff;font-weight:600}.kpis{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}.kpi{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.kpi .value{font-size:26px;font-weight:600}.kpi .label{color:var(--muted);font-size:13px}.kpi .sub{color:var(--muted);margin-top:4px;font-size:12px}.cols{grid-template-columns:2fr 1fr;gap:18px;display:grid}.checklist li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;list-style:none;display:flex}.checklist{margin:0;padding:0}.checklist li .badge{white-space:nowrap;flex-shrink:0}.clockbar{height:100px;margin:18px 8px 8px;position:relative}.clockbar .track{background:var(--border);border-radius:3px;height:6px;position:absolute;top:38px;left:0;right:0}.clockbar .fill{background:var(--purple);border-radius:3px;height:6px;position:absolute;top:38px;left:0}.clockbar .mark{text-align:center;white-space:nowrap;font-size:12px;line-height:14px;position:absolute;top:0;transform:translate(-50%)}.clockbar .mark:after{content:"";background:var(--ink);width:2px;height:10px;margin:2px auto 0;display:block}.clockbar .mark.start{text-align:left;transform:translate(-1px)}.clockbar .mark.start:after{margin-left:0}.clockbar .mark.below{top:36px}.clockbar .mark.below:after{display:none}.clockbar .mark.below:before{content:"";background:var(--ink);width:2px;height:14px;margin:0 auto 2px;display:block}.clockbar .mark.below.second:before{height:32px}.clockbar .mark.today:before{background:var(--purple)}.clockbar .mark.below.second{text-align:left;transform:translate(-1px)}.clockbar .mark.below.second:before{margin-left:0}@media (max-width:720px){.clockbar .mark .long{display:none}}.tiles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tile{border:1px solid var(--border);border-radius:8px;padding:12px 14px}@media (max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.cols,.tiles{grid-template-columns:1fr}.cols.side-first>:last-child{order:-1}}tr.urgent td{background:#fbeceb}tr.urgent td:first-child{box-shadow:inset 3px 0 0 var(--red)}.checklist li.urgent,div.urgent{border-left:3px solid var(--red);padding-left:10px}.stage-banner{z-index:100;color:#fff;text-align:center;letter-spacing:.02em;background:#b45309;padding:6px 12px;font-weight:600;position:sticky;top:0}
