:root{--bg: #0d0d0d;--surface: #161616;--surface-2: #1e1e1e;--border: #2a2a2a;--text: #e0e0e0;--muted: #888;--accent: #a78bfa;--accent-dim: rgba(167, 139, 250, .15);--ok: #4ade80;--error: #f87171;--warn: #fbbf24;--mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--mono);font-size:13px;border:none}input,select{font-family:var(--mono);font-size:13px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:6px 10px;width:100%}input:focus,select:focus{outline:1px solid var(--accent)}.section-title{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:1rem;letter-spacing:.04em}.callout{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);padding:.75rem 1rem;color:var(--muted);font-size:.82rem;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);padding:1rem;margin-bottom:1rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:2px;font-size:.75rem;font-weight:600;letter-spacing:.04em}.badge-success{color:var(--ok);background:#4ade801a;border:1px solid rgba(74,222,128,.3)}.badge-danger{color:var(--error);background:#f871711a;border:1px solid rgba(248,113,113,.3)}.badge-info{color:var(--accent);background:var(--accent-dim);border:1px solid rgba(167,139,250,.3)}.error-msg{color:var(--error);font-size:.82rem;padding:.5rem .75rem;background:#f8717114;border:1px solid rgba(248,113,113,.25)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}section table{width:100%;border-collapse:collapse}section th{text-align:left;color:var(--muted);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem;border-bottom:1px solid var(--border)}section td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}section tr:last-child td{border-bottom:none}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:8px 16px}button.secondary:hover{border-color:var(--accent);color:var(--accent)}button.primary{background:var(--accent);color:#0d0d0d;padding:8px 18px;font-weight:600;letter-spacing:.04em}button.primary:hover:not(:disabled){opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}.stepper{border:1px solid var(--border);background:var(--surface)}.stepper-nav{display:flex;border-bottom:1px solid var(--border);overflow-x:auto}.stepper-nav-item{flex:1;min-width:120px;padding:10px 14px;background:none;color:var(--muted);border-right:1px solid var(--border);border-bottom:2px solid transparent;text-align:left;font-size:11px;letter-spacing:.05em;transition:color .15s,border-color .15s}.stepper-nav-item:last-child{border-right:none}.stepper-nav-item.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-dim)}.stepper-nav-item.completed{color:var(--ok);cursor:pointer}.stepper-nav-item.completed:hover{background:var(--accent-dim)}.stepper-nav-item.locked{cursor:not-allowed;color:var(--muted)}.step-num{font-size:10px;color:#aaa;margin-bottom:2px}.step-label{font-size:12px;font-weight:600}.stepper-body{padding:20px}.stepper-title{font-size:14px;color:var(--accent);margin-bottom:16px}.form-group{margin-bottom:12px}.form-label{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}.form-input{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:7px 10px;font-family:var(--mono);font-size:12px}.form-input:focus{outline:1px solid var(--accent)}.form-input[readonly]{color:var(--muted);cursor:default}.form-input[readonly]:focus{outline:none}.btn{padding:8px 18px;font-family:var(--mono);font-size:12px;font-weight:600;border:none;cursor:pointer;letter-spacing:.04em}.btn-primary{background:var(--accent);color:#0d0d0d}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-approve{background:var(--ok);color:#0d0d0d;margin-right:10px}.btn-approve:hover:not(:disabled){opacity:.85}.btn-deny{background:var(--error);color:#0d0d0d}.btn-deny:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.result-box{margin-top:16px;border:1px solid var(--border);background:#111;padding:12px}.result-box-title{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.result-row{display:flex;gap:12px;margin-bottom:4px;font-size:12px}.result-key{color:var(--muted);flex-shrink:0;min-width:130px}.result-value{color:var(--text);word-break:break-all}.result-value.ok{color:var(--ok)}.result-value.error{color:var(--error)}.result-value.warn{color:var(--warn)}.severity-LOW{color:var(--ok)}.severity-MEDIUM{color:var(--warn)}.severity-HIGH{color:var(--error)}.severity-CRITICAL{color:var(--error);font-weight:700}.error-banner{background:#f871711f;border:1px solid var(--error);color:var(--error);padding:8px 12px;margin-top:12px;font-size:12px}.info-banner{background:var(--accent-dim);border:1px solid var(--border);color:var(--muted);padding:8px 12px;margin-top:12px;font-size:12px;border-left:2px solid var(--accent)}.info-banner strong{color:var(--text)}.sigchain-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:12px}.sigchain-table th{text-align:left;color:var(--muted);padding:4px 8px;border-bottom:1px solid var(--border);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.sigchain-table td{padding:5px 8px;border-bottom:1px solid var(--border);color:var(--text);word-break:break-all}.sigchain-table tr:last-child td{border-bottom:none}.head-hash{font-size:11px;color:var(--ok);background:#4ade8014;border:1px solid rgba(74,222,128,.25);padding:8px 12px;margin-bottom:12px;word-break:break-all}.head-hash-label{font-size:10px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.08em}.loading-text{color:var(--muted);font-size:12px;padding:12px 0}.denied-banner{background:#f8717114;border:1px solid rgba(248,113,113,.3);border-left:3px solid var(--error);padding:10px 14px;margin-top:12px;font-size:12px;color:var(--muted)}.denied-banner strong{color:var(--error);display:block;margin-bottom:4px}.scalar-launch-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#0d0d0d;padding:10px 22px;font-family:var(--mono);font-size:13px;font-weight:600;border:none;cursor:pointer;letter-spacing:.04em}.scalar-launch-btn:hover{opacity:.85}.scalar-loading{color:var(--muted);font-size:12px;padding:20px;border:1px solid var(--border)}.scalar-wrapper{border:1px solid var(--border);background:var(--bg);overflow:hidden}.app{max-width:860px;margin:0 auto;padding:24px 20px 64px}.app-header{margin-bottom:36px}.app-header-row{display:flex;align-items:baseline;gap:12px}.api-status{font-size:10px;font-family:var(--mono);padding:2px 7px;border-radius:2px;letter-spacing:.06em;text-transform:uppercase}.api-online{color:var(--ok);border:1px solid var(--ok)}.api-offline{color:var(--error);border:1px solid var(--error)}.app-title{font-size:20px;color:var(--accent);letter-spacing:.08em;margin-bottom:4px}.app-tagline{color:var(--muted);font-size:12px}.section{margin-bottom:48px}.section-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid var(--border)}.section-sub{font-size:12px;color:var(--muted);margin-bottom:16px}.app-footer{margin-top:48px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:16px}.app-footer a{color:var(--muted)}.app-footer a:hover{color:var(--accent)}
