:root{--ink: #1f2430;--muted: #5b6472;--line: #e2e6ee;--bg: #f6f8fc;--card: #ffffff;--brand: #2c5fe0;--brand-ink: #1b3da3;--cap: #b3261e;--cap-bg: #fdeceb;--ok: #1a7f4b;--ok-bg: #e9f6ee;--warn: #8a5a00;--warn-bg: #fff4e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app{max-width:880px;margin:0 auto;padding:24px 20px 64px}.app h1{font-size:22px;margin:0}.tagline{color:var(--muted);margin:4px 0 20px;font-size:14px}.nav{display:flex;gap:8px;margin-bottom:16px}.stepper{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.stepper .pill{font-size:12px;font-family:inherit;padding:5px 10px;border-radius:999px;background:#eef1f7;color:var(--muted);border:1px solid var(--line);cursor:pointer}.stepper .pill:hover:not(:disabled):not(.active){border-color:var(--brand);color:var(--brand)}.stepper .pill:disabled{cursor:default;opacity:.55}.stepper .pill.active{background:var(--brand);color:#fff;border-color:var(--brand);cursor:default}.stepper .pill.done{background:var(--ok-bg);color:var(--ok);border-color:#bfe6cf}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:17px}.card .help{color:var(--muted);font-size:13px;margin:0 0 14px}.block{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}.block.capped{border-color:#f0e3c2;background:#fffdf5}.block .name{font-weight:600}.block .intent{color:var(--muted);font-size:13px;margin:3px 0 8px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;margin-right:6px;background:#eef1f7;color:var(--muted)}.block.archived{opacity:.6}.badge.trust{background:#eef1f7;color:var(--brand-ink)}.badge.cap{background:var(--warn-bg);color:var(--warn);border:1px solid #f0dca8}.badge.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #bfe6cf}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);padding:8px 14px;background:#fff}button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}button.primary:disabled{background:#aebfe8;border-color:#aebfe8;cursor:not-allowed}button.approve{background:var(--ok);color:#fff;border-color:var(--ok)}button.reject{background:#fff;color:var(--cap);border-color:var(--cap)}button.ghost{background:#fff}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}label.field{display:block;margin:10px 0;font-size:14px}label.field span{display:block;color:var(--muted);margin-bottom:4px}input[type=text]{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.summary{background:#f0f4ff;border:1px solid #d6e0fb;border-radius:10px;padding:12px 14px;margin:8px 0 4px}.summary .line{font-size:14px;margin:2px 0}.cap-line{color:var(--warn);font-weight:600}.refusal{background:var(--cap-bg);border:1px solid #f1c4c0;color:var(--cap);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:14px}.error{background:var(--cap-bg);border:1px solid #f1c4c0;color:var(--cap);border-radius:8px;padding:10px 12px;margin:10px 0;font-size:14px}.notice{background:var(--warn-bg);border:1px solid #f0dca8;color:var(--warn);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:14px}.checkpoint{border:2px solid var(--warn);background:var(--warn-bg);border-radius:12px;padding:16px}.checkpoint.cap{border-color:var(--cap);background:var(--cap-bg)}.checkpoint h3{margin:0 0 6px}.checkpoint .who{font-weight:600}.trace .rec{border-left:3px solid var(--line);padding:6px 0 6px 12px;margin-left:4px}.trace .rec.design{border-color:#9aa7c7}.trace .rec.build{border-color:#c7a99a}.trace .rec.run{border-color:var(--brand)}.trace .rec .ev{font-weight:600;font-size:14px}.trace .rec .meta{color:var(--muted);font-size:12px}.trace .rec .desc{font-size:13px}.meter .big{font-size:15px}.list{padding-left:18px;margin:6px 0}small.mono{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.dash-sub{color:var(--muted);font-size:13px;margin:0 0 12px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--card)}.tile .t-label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.tile .t-value{font-size:26px;font-weight:700;color:var(--ink);margin:4px 0 2px;line-height:1.1}.tile .t-value .t-unit{font-size:13px;font-weight:600;color:var(--muted);margin-left:6px}.tile .t-detail{color:var(--muted);font-size:12px;margin-top:4px}.tile .t-bd{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}.tile .t-bd .chip{font-size:11px;background:#eef1f7;color:var(--ink);border-radius:999px;padding:2px 8px}.tile.todo{border-style:dashed;background:#fafbfe}.tile.todo .t-value{color:var(--muted);font-size:15px;font-weight:600;font-style:italic}.tile.todo .t-needs{color:var(--muted);font-size:12px;margin-top:6px}.tile.todo .t-ref{font-size:11px;color:var(--brand-ink);margin-top:6px}.badge.todo{background:var(--warn-bg);color:var(--warn);border:1px solid #f0dca8}.dash-banner{font-size:13px;color:var(--ink);background:var(--ok-bg);border:1px solid #bfe6cf;border-radius:8px;padding:9px 12px;margin-bottom:14px}.dash-banner.tampered{background:var(--cap-bg);border-color:#f1c4c0;color:var(--cap)}
