:root{--bg: #f5f6f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e7e9ee;--border-strong: #cfd4dd;--text: #0f172a;--text-2: #475569;--muted: #64748b;--dim: #94a3b8;--primary: #aa322f;--primary-700: #8f2a27;--primary-050: #fbecec;--link: #2563eb;--link-050: #eff4ff;--ok: #16a34a;--ok-bg: #dcfce7;--warn: #b45309;--warn-bg: #fef3c7;--bad: #dc2626;--bad-bg: #fee2e2;--ring: 0 0 0 3px rgba(170, 50, 47, .26);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .05);--shadow-lg: 0 20px 40px -12px rgba(15, 23, 42, .25);--radius: 12px;--radius-sm: 8px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","ss01"}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}::selection{background:var(--primary-050);color:var(--primary-700)}h1{font-size:1.45rem;font-weight:680;letter-spacing:-.01em;margin:0 0 4px}h2{font-size:1.05rem;font-weight:640;letter-spacing:-.01em}h3{font-size:.95rem;font-weight:640;margin:0 0 10px}a{color:var(--link);text-decoration:none}.proof-link{color:var(--link);cursor:pointer;font-weight:500}.proof-link:hover{text-decoration:underline}.muted{color:var(--muted);font-size:.85rem}.center{text-align:center}.num{text-align:right;font-variant-numeric:tabular-nums}*:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}*{scrollbar-width:thin;scrollbar-color:#cbd2dc transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#aeb6c4;background-clip:content-box}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.page{padding:4px;animation:fadeUp .25s ease both}.page>h1{margin-top:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section{padding:18px 20px;margin-bottom:16px}.section h3{margin-top:0;color:var(--text)}button{font-family:inherit}button.primary{background:linear-gradient(180deg,var(--primary),var(--primary-700));color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow-sm);transition:filter .15s,transform .05s,box-shadow .15s}button.primary:hover:not(:disabled){filter:brightness(1.07);box-shadow:var(--shadow-md)}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{opacity:.55;cursor:not-allowed}button.link,.link{background:none;border:none;color:var(--link);cursor:pointer;padding:6px 8px;border-radius:6px;font-size:.9rem;font-weight:500;transition:background .12s,color .12s}button.link:hover:not(:disabled){background:var(--link-050)}button.link:disabled{color:var(--dim);cursor:not-allowed}.link.danger{color:var(--bad)}.link.danger:hover{background:var(--bad-bg)}.btn-cancel{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2);padding:9px 16px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:background .12s}.btn-cancel:hover{background:var(--surface-2)}.btn-submit{background:linear-gradient(180deg,var(--primary),var(--primary-700));color:#fff;border:none;padding:9px 16px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}.btn-submit:hover{filter:brightness(1.07)}input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.92rem;background:var(--surface);color:var(--text);transition:border-color .12s,box-shadow .12s}input::placeholder{color:var(--dim)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}input:read-only{background:var(--surface-2);color:var(--muted)}label{display:block;font-size:.8rem;font-weight:600;color:var(--text-2);margin-top:14px}label>input,label>select{margin-top:6px}.field-err{display:block;color:var(--bad);font-size:.75rem;margin-top:4px}.error{color:var(--bad);background:var(--bad-bg);border:1px solid #fca5a5;padding:9px 12px;border-radius:var(--radius-sm);margin-top:12px;font-size:.85rem}.chip{font-size:.72rem;font-weight:600;background:var(--primary-050);color:var(--primary-700);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}.fi-select{background:none;border:none;color:var(--primary-700);font:inherit;font-weight:600;font-size:.72rem;cursor:pointer;padding:0 2px 0 0}.fi-select:focus{outline:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:-2px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#eaeefb 0%,var(--bg) 55%)}.login-card{width:380px;max-width:100%;padding:32px 28px;animation:pop .3s ease both}.login-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.login-header h1{background:linear-gradient(90deg,var(--primary),#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.login-card .primary{width:100%;margin-top:20px;padding:11px}.password-row{display:flex;gap:8px;align-items:stretch}.password-row .link{white-space:nowrap;border:1px solid var(--border)}.layout{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;background:#ffffffd9;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);padding:12px 24px}.brand{font-weight:720;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;font-size:1.05rem}.nav{display:flex;gap:4px;flex:1}.nav a{color:var(--muted);padding:7px 12px;border-radius:8px;font-weight:550;font-size:.88rem;transition:background .12s,color .12s}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{color:var(--primary-700);background:var(--primary-050)}.user{display:flex;align-items:center;gap:12px}.content{padding:28px 24px;max-width:1320px;margin:0 auto}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:fadeUp .3s ease both}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dim)}.stat.ok:before{background:var(--ok)}.stat.warn:before{background:var(--warn)}.stat.bad:before{background:var(--bad)}.stat-value{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat.ok .stat-value{color:var(--ok)}.stat.warn .stat-value{color:var(--warn)}.stat.bad .stat-value{color:var(--bad)}.stat .muted{display:block;margin-top:2px;font-size:.78rem;letter-spacing:.01em}.stat.rate .stat-value{color:var(--link)}.toolbar{margin-bottom:14px;max-width:520px}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);position:sticky;top:0;z-index:1}tbody tr{transition:background .1s}tbody tr:last-child td{border-bottom:none}tr.row-click{cursor:pointer}tr.row-click:hover{background:var(--primary-050)}.row-actions{display:flex;gap:4px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:#eef1f5;color:var(--text-2)}.id-cell{white-space:normal;max-width:140px;font-family:var(--mono);font-size:.76rem;line-height:1.35;color:var(--text-2)}.status-pending{background:var(--warn-bg);color:var(--warn)}.status-completed{background:var(--primary-050);color:var(--primary-700)}.status-successful{background:var(--ok-bg);color:var(--ok)}.status-failed{background:var(--bad-bg);color:var(--bad)}.outcome-compliant{background:var(--ok-bg);color:var(--ok)}.outcome-inconclusive{background:var(--warn-bg);color:var(--warn)}.outcome-uncompliant{background:var(--bad-bg);color:var(--bad)}.paginator{display:flex;align-items:center;gap:14px;margin-top:14px;justify-content:flex-end;font-size:.85rem;color:var(--muted)}.paginator label{display:flex;align-items:center;gap:6px;margin:0}.paginator select{width:auto;padding:5px 8px}.banner{padding:11px 16px;border-radius:var(--radius-sm);margin-bottom:18px;font-size:.88rem;animation:fadeUp .25s ease both}.banner.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #86efac}.actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:18px}.loading-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--muted)}.checks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:18px 0}.check-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;transition:box-shadow .15s,transform .1s;animation:fadeUp .3s ease both}.check-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.check-icon{color:var(--primary);flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;background:var(--primary-050);border-radius:10px}.transaction-checks .check-card{align-items:center}.transaction-checks .check-icon{color:var(--ok);background:none;width:auto;height:auto;font-size:1.7rem}.transaction-checks .checks-grid{grid-template-columns:repeat(2,1fr)}.transaction-checks .use-case{font-weight:700}.form-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}.radio-row{display:flex;gap:10px;flex-wrap:wrap}.radio{display:inline-flex;align-items:center;gap:7px;color:var(--text);padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s,background .12s;font-size:.88rem}.radio:hover{background:var(--surface-2)}.radio:has(input:checked){border-color:var(--primary);background:var(--primary-050);color:var(--primary-700);font-weight:600}.radio.block{display:flex;margin-top:8px}.radio input{width:auto;accent-color:var(--primary)}.js-head{display:flex;justify-content:space-between;align-items:center}.jurisdiction-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.req{color:var(--bad);margin-left:2px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:999px;cursor:pointer;font-size:.83rem;color:var(--text-2);transition:all .12s;-webkit-user-select:none;user-select:none}.chip-toggle:hover{border-color:var(--primary)}.chip-toggle.on{background:var(--primary-050);border-color:var(--primary);color:var(--primary-700);font-weight:600}.chip-toggle input{width:auto;accent-color:var(--primary)}.threshold-row{display:flex;gap:12px}.preview{position:sticky;top:84px;padding:18px 20px;background:linear-gradient(180deg,var(--surface),var(--surface-2))}.preview p{color:var(--text-2);line-height:1.6}.preview-list{margin-top:10px}.preview-list ul{margin:4px 0 0;padding-left:18px;color:var(--text-2)}.overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeUp .15s ease}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:420px;max-width:96vw;padding:26px;animation:pop .2s ease both}.modal h2{margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal .field{margin-bottom:12px}.modal .actions{margin-top:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 22px}.detail-grid .muted{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;margin-bottom:2px}.participant{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.participant h3{margin-bottom:8px}.badge{margin-left:8px;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.modal.card{width:min(1040px,96vw);max-height:86vh;overflow-y:auto}.section-title{display:block;font-weight:600;font-size:.95rem;margin:4px 0 10px}.status-section{margin:8px 0 4px}.status-row{display:flex;align-items:center;gap:8px}.status-label{font-weight:600}.status-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.status-dot.dot-compliant{background:var(--ok)}.status-dot.dot-failed{background:var(--bad)}.status-dot.dot-pending{background:var(--warn)}.status-pill{margin-left:8px;font-size:.85rem}.status-pill.check-compliant{color:var(--ok)}.status-pill.check-pending{color:var(--warn)}.check-status-cell{display:inline-flex;align-items:center;gap:5px;font-weight:600}.check-status-cell .check-icon{font-size:.95rem}.check-status-cell.check-compliant{color:var(--ok)}.check-status-cell.check-failed{color:var(--bad)}.check-status-cell.check-pending{color:var(--warn)}.no-value{color:var(--muted)}.check-status-container{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.checks-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.check-item{font-size:.85rem}.empty-checks{padding:14px;text-align:center}.rfi-section{display:flex;align-items:center;gap:8px}.rfi-btn{background:var(--link);color:#fff;border:none;padding:4px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.78rem;cursor:pointer}.rfi-btn:hover{filter:brightness(1.07)}.rfi-group-title{display:block;font-weight:700;margin:12px 0 6px}.rfi-help{color:var(--muted);font-size:.85rem}.status-badge{padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600}.status-badge.status-pending{background:var(--warn-bg);color:var(--warn)}.status-badge.status-responded{background:var(--ok-bg);color:var(--ok)}.proof-blob{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;max-height:320px;overflow:auto;font-size:.78rem;white-space:pre-wrap;word-break:break-word}.proof-anatomy{width:100%;border-collapse:collapse;font-size:.82rem;margin:4px 0 8px}.proof-anatomy td{padding:4px 0;border-bottom:1px solid var(--border);vertical-align:top;font-family:var(--font-mono, monospace)}.proof-anatomy td:first-child{font-family:inherit;width:38%}@media(max-width:980px){.form-cols,.form-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.preview{position:static}.content{padding:20px 16px}}
