:root{--ink: #163A43;--graphite: #20292C;--slate: #3C5A63;--stamp: #C2412B;--stamp-dark: #A33520;--manila: #EFE9DD;--paper: #FBF9F4;--paper-edge: #D8CFBC;--ok: #2E6B4F;--warn: #8A6D1A;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--r: 6px}*{box-sizing:border-box}body{margin:0;background:var(--manila);font-family:var(--sans);color:var(--graphite)}#root{max-width:720px;margin:0 auto;min-height:100vh}.bar{background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:8px;padding:10px 14px}.bar b{font:600 14px var(--sans)}.bar .sp{flex:1}.logo{width:20px;height:20px;flex:none;transform:rotate(-7deg);background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160"><circle cx="80" cy="80" r="70" fill="none" stroke="%23C2412B" stroke-width="18"/><polyline points="49,85 71,107 115,46" fill="none" stroke="%23C2412B" stroke-width="15" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat}.chip{font:10px var(--mono);border:1px solid rgba(251,249,244,.4);border-radius:999px;padding:2px 8px;white-space:nowrap}.chip-mini{display:inline-block;font:9px var(--mono);letter-spacing:.05em;border:1px solid;border-radius:999px;padding:1px 6px;margin-left:6px;vertical-align:1px}.chip-mini.auto{color:var(--slate);border-color:var(--paper-edge);background:var(--manila)}.chip-mini.note{color:var(--stamp);border-color:var(--stamp);background:#fbf3f0}.chip-mini.reset{color:var(--slate);border-color:var(--paper-edge);background:none;cursor:pointer}.chip-mini.reset:hover{color:var(--stamp);border-color:var(--stamp)}.chip-mini.needed{color:var(--warn);border-color:var(--warn);background:#fbf6e4}.field.needed .inp,.field.needed .seg{border-color:var(--warn)}.pillgap{font-style:normal;color:var(--warn);font-weight:700}.mic{position:absolute;right:8px;bottom:10px;font:12px var(--sans);border:1px solid var(--paper-edge);border-radius:999px;padding:4px 10px;background:var(--paper);color:var(--slate);cursor:pointer}.mic.on{border-color:var(--stamp);color:var(--stamp);background:#fbf3f0;animation:micpulse 1.2s ease-in-out infinite}@keyframes micpulse{0%,to{box-shadow:0 0 #c2412b40}50%{box-shadow:0 0 0 5px #c2412b00}}.chip.red{border-color:var(--stamp);color:#f5c5ba}.body{padding:16px 14px 24px}.eyebrow{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--stamp);margin:0 0 6px}h1.t,h3.t{font:700 19px var(--sans);color:var(--ink);margin:0 0 6px}p.sub{font:13px/1.45 var(--sans);color:var(--slate);margin:0 0 14px}.card{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--r);padding:12px;margin-bottom:10px}.btn{display:block;width:100%;text-align:center;font:600 14px var(--sans);border-radius:var(--r);padding:11px;border:none;margin-top:6px;cursor:pointer}.btn.primary{background:var(--stamp);color:#fff}.btn.primary:disabled,.btn.locked{background:#b9b2a4;color:#f4f1e9;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.btn.quiet{background:transparent;color:var(--slate);font-weight:500;padding:8px}.field{margin-bottom:12px}.field label{display:block;font:600 12px var(--sans);color:var(--ink);margin-bottom:4px}.field .lit{font:10px var(--mono);color:var(--slate);display:block;margin-bottom:4px}.inp{width:100%;background:#fff;border:1px solid var(--paper-edge);border-radius:4px;padding:9px 10px;font:13px var(--sans);color:var(--graphite)}.inp.mono{font:13px var(--mono)}textarea.inp{min-height:64px;resize:vertical}.helpbox{background:#f2ede1;border-left:3px solid var(--slate);font:12px/1.5 var(--sans);color:var(--graphite);padding:8px 10px;border-radius:0 4px 4px 0;margin:6px 0 10px}.helpbox b{font:10px var(--mono);color:var(--slate);display:block;letter-spacing:.08em}.help-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;border:1.2px solid var(--slate);border-radius:50%;color:var(--slate);font:700 10px var(--sans);line-height:1;margin-left:2px;cursor:pointer;background:var(--paper);padding:0}.help-dot:hover{border-color:var(--ink);color:var(--ink)}.seg{display:flex;border:1.5px solid var(--ink);border-radius:var(--r);overflow:hidden;margin:4px 0}.seg button{flex:1;text-align:center;font:12px var(--sans);padding:8px 4px;color:var(--ink);border:none;border-right:1.5px solid var(--ink);background:transparent;cursor:pointer}.seg button:last-child{border-right:none}.seg button.on{background:var(--ink);color:var(--paper);font-weight:600}.checkrow{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--paper-edge)}.checkrow:last-child{border-bottom:none}.reveal{margin:2px 0 4px 25px;padding:10px 10px 4px;background:#f5f1e7;border:1px dashed var(--paper-edge);border-radius:4px}.steps{display:flex;gap:5px;margin:0 0 14px}.steps i{flex:1;height:4px;border-radius:2px;background:#d8cfbc}.steps i.on{background:var(--stamp)}.listrow{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--paper-edge);font:13px var(--sans)}.listrow:last-child{border-bottom:none}.status{font:9px var(--mono);letter-spacing:.08em;padding:3px 7px;border-radius:3px;text-transform:uppercase}.status.draft{background:#e4dcc9;color:var(--slate)}.status.ready{background:#dce7e2;color:var(--ok)}.status.signed{border:1.5px solid var(--stamp);color:var(--stamp);transform:rotate(-3deg);font-weight:700}.banner{display:flex;gap:8px;font:12px/1.4 var(--sans);padding:9px 11px;border-radius:4px;margin-bottom:10px;align-items:flex-start}.banner.warn{background:#f3e9ce;color:#6b5410;border:1px solid #E0CF9C}.banner.err{background:#f4ddd6;color:var(--stamp-dark);border:1px solid #E2B4A6}.banner.info{background:#e2e9e7;color:var(--ink);border:1px solid #C4D2CE}.code{font:700 15px var(--mono);letter-spacing:.14em;text-align:center;background:#fff;border:1.5px dashed var(--stamp);border-radius:var(--r);padding:14px 6px;color:var(--ink);margin:10px 0}.sigpad{background:#fff;border:1.5px dashed var(--slate);border-radius:var(--r);margin:8px 0;touch-action:none}.progress-pills{display:flex;gap:6px;font:10px var(--mono);margin-bottom:12px;flex-wrap:wrap}.progress-pills span{padding:4px 9px;border-radius:999px;border:1px solid var(--slate);color:var(--slate)}.progress-pills .cur{background:var(--ink);border-color:var(--ink);color:var(--paper)}.progress-pills .done{border-color:var(--ok);color:var(--ok)}.ivcard{display:block;width:100%;text-align:left;background:var(--paper);border:1.5px solid var(--paper-edge);border-radius:var(--r);padding:12px;margin-bottom:8px;cursor:pointer;font-family:var(--sans)}.ivcard b{display:flex;align-items:center;gap:8px;font:600 14px var(--sans);color:var(--ink);margin-bottom:3px}.ivcard b:before{content:"";flex:0 0 auto;width:15px;height:15px;border:1.5px solid var(--slate);border-radius:3px;background:#fff}.ivcard span{display:block;font:12px/1.4 var(--sans);color:var(--slate);margin-left:23px}.ivcard.unusual{border-style:dashed}.ivcard.unusual b,.ivcard.unusual>span:not(.ivnote){opacity:.65}.ivcard .ivnote{font:11px/1.4 var(--mono);color:var(--warn);margin-top:5px}.ivcard.unusual.on b,.ivcard.unusual.on>span:not(.ivnote){opacity:1}.ivcard.on{border-color:var(--stamp);background:#fbf3f0}.ivcard.on b:before{border-color:var(--stamp);background:var(--stamp);box-shadow:inset 0 0 0 2.5px #fbf3f0}.stampmark{width:120px;height:120px;border:5px solid var(--stamp);border-radius:50%;margin:14px auto;position:relative;transform:rotate(-8deg)}.stampmark:after{content:"SIGNED";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--stamp);font:800 18px var(--mono);letter-spacing:.1em}
