:root{--bg:#f7f8fa;--surface:#fff;--surface-2:#f2f4f7;--border:#e3e7ee;--border-strong:#cdd4e0;--text:#131a26;--text-dim:#5b6577;--text-faint:#8a94a6;--accent:#2f5bd7;--accent-hover:#2447b0;--accent-soft:#e8eefc;--good:#0f7a4a;--good-soft:#e3f5ec;--warn:#8a5a00;--warn-soft:#fdf1dc;--bad:#b3261e;--bad-soft:#fdeceb;--radius:10px;--radius-lg:14px;--shadow:0 1px 2px #1018280d, 0 4px 16px #1018280f;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0d1017;--surface:#151a23;--surface-2:#1c222d;--border:#262e3b;--border-strong:#38424f;--text:#e8ecf3;--text-dim:#a3adbe;--text-faint:#77839a;--accent:#6f95f5;--accent-hover:#87a8ff;--accent-soft:#1a2540;--good:#4ade9b;--good-soft:#10291f;--warn:#e0aa54;--warn-soft:#2a2113;--bad:#f2857e;--bad-soft:#2d1817;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000047}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.015em;margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem;font-weight:650}h2{font-size:1.15rem;font-weight:620}h3{font-size:.95rem;font-weight:600}p{margin:0 0 1rem}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.02em;font-size:1.05rem;font-weight:660}.brand:hover{text-decoration:none}.brand span{color:var(--accent)}.topnav{gap:1.15rem;margin-left:auto;font-size:.9rem;display:flex}.topnav a{color:var(--text-dim)}.topnav a:hover,.topnav a.active{color:var(--text);text-decoration:none}.page{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 5rem}.page-narrow{max-width:720px}.page-head{margin-bottom:1.5rem}.page-head p{color:var(--text-dim);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.card+.card{margin-top:1rem}.card-tight{padding:1rem}.row{align-items:center;gap:1rem;display:flex}.row-between{justify-content:space-between;align-items:center;gap:1rem;display:flex}.stack{flex-direction:column;gap:1rem;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=720px){.grid-2{grid-template-columns:1fr}}label{color:var(--text-dim);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=number],select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;color:var(--text);font:inherit;padding:.6rem .7rem;font-size:.92rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.btn{border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.05rem;font-size:.92rem;font-weight:560;transition:background .12s,opacity .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--text-dim);background:0 0;border-color:#0000;padding:.5rem .6rem}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--bad);border-color:var(--border-strong);background:0 0}.btn-danger:hover:not(:disabled){background:var(--bad-soft)}.btn-lg{padding:.75rem 1.4rem;font-size:1rem}.dropzone{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-dim);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1.5rem;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone strong{color:var(--text);font-size:1.02rem}.badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-size:.74rem;font-weight:620;display:inline-flex}.badge-sent{background:var(--accent-soft);color:var(--accent)}.badge-completed{background:var(--good-soft);color:var(--good)}.badge-declined{background:var(--bad-soft);color:var(--bad)}.badge-draft,.badge-voided{background:var(--surface-2);color:var(--text-dim)}.notice{border-radius:var(--radius);border:1px solid #0000;padding:.8rem 1rem;font-size:.9rem}.notice-good{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb, var(--good) 25%, transparent)}.notice-warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.notice-bad{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 25%, transparent)}.notice-info{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.notice p:last-child{margin-bottom:0}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:.85rem}.mono{font-family:var(--mono);word-break:break-all;font-size:.82rem}.pdf-wrap{justify-content:center;width:100%;display:flex}.pdf-stage{box-shadow:var(--shadow);border-radius:6px;line-height:0;position:relative;overflow:hidden}.pdf-canvas{background:#fff;display:block}.pdf-loading{background:var(--surface);color:var(--text-dim);place-items:center;font-size:.9rem;line-height:1.6;display:grid;position:absolute;inset:0}.field-box{cursor:move;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);touch-action:none;border-radius:4px;position:absolute}.field-box:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.field-box.is-readonly{cursor:default;border-style:dashed}.field-box-label{background:var(--accent);color:#fff;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:640;line-height:1.5;position:absolute;top:-1.45rem;left:-2px}.field-box-handle{background:var(--surface);border:2px solid var(--accent);cursor:nwse-resize;border-radius:3px;width:13px;height:13px;position:absolute;bottom:-6px;right:-6px}.page-nav{color:var(--text-dim);justify-content:center;align-items:center;gap:.75rem;margin-top:.9rem;font-size:.88rem;display:flex}.sig-pad-wrap{width:100%;margin-bottom:.5rem;position:relative}.sig-pad{background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:var(--radius);cursor:crosshair;touch-action:none;width:100%;display:block}.sig-guide{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 1.25rem 2.4rem;display:flex;position:absolute;inset:0}.sig-guide-line{border-top:1px solid var(--border-strong);width:100%}.sig-guide-hint{color:var(--text-faint);letter-spacing:.02em;font-size:.8rem;position:absolute;bottom:.8rem}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:.55rem .7rem;font-size:.74rem;font-weight:640}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.7rem}.table tr:last-child td{border-bottom:none}.table-rows tr:hover td{background:var(--surface-2)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--border);grid-template-columns:1.4rem 1fr;gap:.8rem;padding:.65rem 0;display:grid}.timeline li:last-child{border-bottom:none}.timeline .dot{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-top:.45rem}.timeline .evt-type{font-size:.9rem;font-weight:600}.timeline .evt-meta{color:var(--text-dim);font-size:.82rem}.empty{text-align:center;color:var(--text-dim);padding:3.5rem 1.5rem}.empty h2{color:var(--text)}.spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.copy-field{align-items:stretch;gap:.5rem;display:flex}.copy-field input{font-family:var(--mono);font-size:.8rem}
