@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { color-scheme: light; --ink:#123152; --muted:#60758a; --line:#d7e5f2; --paper:#ffffff; --cream:#eef6ff; --gold:#2f78c4; --gold-dark:#15518c; --shadow:0 28px 80px rgba(75,61,42,.12); }
* { box-sizing:border-box; }
body { margin:0; font-family:Manrope, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; color:var(--ink); background:radial-gradient(circle at 12% -10%, #fff 0, transparent 34%), linear-gradient(135deg,#f4f9ff 0%,#e7f2fc 100%); min-height:100vh; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
.shell { max-width:1280px; min-height:100vh; margin:0 auto; padding:28px 38px 20px; display:flex; flex-direction:column; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:4px 0 28px; }
.brand { display:flex; gap:12px; align-items:center; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; background:#123152; color:#9ed0ff; border-radius:12px; font-size:22px; font-weight:800; transform:rotate(-8deg); box-shadow:5px 5px 0 #c8e3fb; }
.brand strong { display:block; letter-spacing:-.03em; font-size:16px; }.brand span { display:block; color:var(--muted); font-size:10px; letter-spacing:.14em; text-transform:uppercase; margin-top:2px; }
.top-actions { display:flex; gap:12px; align-items:center; }.secure { color:#60758a; font-size:11px; }.secure i { width:7px; height:7px; display:inline-block; margin-right:6px; background:#5d9c6a; border-radius:50%; }.mode-switch { border:1px solid var(--line); color:var(--gold-dark); background:#f5faff; padding:9px 13px; border-radius:999px; font-size:12px; font-weight:700; }
.layout { flex:1; display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:center; padding:30px 0 54px; }
.hero { padding:0 10px 20px 0; }.eyebrow,.kicker { color:var(--gold); font:500 11px/1 DM Mono, monospace; letter-spacing:.18em; }.hero h1 { margin:20px 0 18px; font-size:clamp(36px,4.5vw,61px); letter-spacing:-.065em; line-height:1.06; font-weight:800; }.hero h1 em { color:var(--gold-dark); font-style:normal; }.hero p { max-width:455px; color:#60758a; font-size:15px; line-height:1.8; }.promise-row { display:flex; gap:20px; margin:34px 0; color:#60758a; font-size:11px; }.promise-row b { color:#2d78bf; margin-right:6px; font:500 11px DM Mono,monospace; }.notice { max-width:480px; display:flex; gap:13px; padding:15px 17px; border:1px solid #d4e5f3; background:rgba(248,252,255,.86); border-radius:16px; }.notice-icon { width:27px; height:27px; display:grid; place-items:center; border:1px solid #a9cdef; border-radius:8px; color:var(--gold-dark); font-size:12px; }.notice strong,.notice span { display:block; }.notice strong { font-size:12px; margin-bottom:4px; }.notice span { color:#67819a; font-size:11px; line-height:1.5; }
.card-panel { background:rgba(255,255,255,.96); border:1px solid rgba(198,220,238,.8); border-radius:26px; box-shadow:var(--shadow); overflow:hidden; }.stepper { display:grid; grid-template-columns:repeat(4,1fr); padding:21px 28px; border-bottom:1px solid var(--line); background:#f8fbff; }.step { color:#8196aa; display:flex; align-items:center; gap:8px; font-size:10px; }.step span { width:23px; height:23px; display:grid; place-items:center; border:1px solid #c8dceb; border-radius:50%; font:500 10px DM Mono,monospace; }.step.active { color:var(--ink); font-weight:700; }.step.active span { color:#fff; background:var(--gold); border-color:var(--gold); }.step.done { color:#477caf; }.step.done span { color:#fff; background:#5689c2; border-color:#5689c2; }.form-body { padding:32px 36px 35px; min-height:478px; }.section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:26px; }.section-title h2 { margin:10px 0 8px; font-size:24px; letter-spacing:-.04em; }.section-title p { margin:0; color:var(--muted); font-size:12px; }.lock-tag,.privacy-tag { color:#7f6c4b; border:1px solid #c9dff1; background:#eef6ff; padding:7px 10px; border-radius:999px; font-size:10px; white-space:nowrap; }.privacy-tag { color:#4c8765; border-color:#cde7d3; background:#eef9f2; }.field-label { display:block; margin:0 0 9px; font-size:11px; font-weight:700; }.input-wrap { display:flex; align-items:center; border:1px solid #c8dbea; background:#ffffff; border-radius:13px; padding:0 14px; transition:.2s; }.input-wrap:focus-within { border-color:#2f78c4; box-shadow:0 0 0 4px rgba(47,120,196,.1); }.input-wrap input { width:100%; height:53px; border:0; outline:0; background:transparent; color:var(--ink); font:500 14px DM Mono,monospace; text-transform:uppercase; }.input-wrap span { color:#6f99bf; font:500 10px DM Mono,monospace; }.field-hint { margin-top:8px; color:#7e93a7; font-size:10px; }.field-hint.warning { color:#2f78c4; }.preview-card { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:22px; padding:17px; background:#eef6fd; border:1px solid #d9e9f6; border-radius:15px; }.preview-card span,.preview-card strong { display:block; }.preview-card span { color:#7890a5; font-size:10px; margin-bottom:7px; }.preview-card strong { font-size:12px; }.actions { display:flex; justify-content:flex-end; gap:10px; margin-top:28px; }.actions.split { justify-content:space-between; }.primary,.secondary { border:0; border-radius:12px; min-height:45px; padding:0 18px; font-size:12px; font-weight:800; }.primary { color:#fff; background:#15518c; box-shadow:0 8px 18px rgba(21,81,140,.13); }.primary:hover { background:#1c5b98; }.primary b { margin-left:18px; color:#b9e0ff; font-size:16px; }.secondary { color:#5a7188; border:1px solid var(--line); background:#ffffff; }.safe-copy { display:flex; gap:7px; align-items:center; margin-top:20px; color:#7890a5; font-size:10px; }.safe-copy span { color:#4c8765; font-weight:800; }.locked-line { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid #d9e8f4; border-radius:14px; background:#f5faff; }.locked-line .check { width:25px; height:25px; display:grid; place-items:center; background:#6d906c; border-radius:50%; color:#fff; font-size:12px; }.locked-line strong,.locked-line small { display:block; }.locked-line strong { font-size:12px; }.locked-line small { color:#7189a0; margin-top:4px; font-size:10px; }.text-btn { margin-left:auto; border:0; background:transparent; color:var(--gold-dark); font-size:11px; font-weight:700; }
textarea { width:100%; min-height:190px; resize:vertical; border:1px solid #c8dbea; border-radius:13px; padding:15px; outline:0; color:#555149; background:#ffffff; font:12px/1.6 DM Mono,monospace; }.result-box { padding:17px; background:#eff7fd; border:1px solid #d8e8f4; border-radius:16px; }.result-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:15px; border-bottom:1px solid #dceaf6; color:#7890a5; font-size:10px; }.result-head code { color:#5d584e; font:500 11px DM Mono,monospace; }.timeline { padding-top:10px; }.timeline-item { display:flex; align-items:center; gap:11px; padding:10px 0; color:#91a6b9; font-size:11px; }.timeline-item span { width:18px; height:18px; display:grid; place-items:center; border:1px solid #c8dceb; border-radius:50%; font-size:10px; }.timeline-item.complete { color:#676257; }.timeline-item.complete span { color:#fff; border-color:#5c9f76; background:#5c9f76; }.timeline-item.current { color:#403d36; font-weight:700; }.timeline-item.current span { border-color:#2f78c4; }.timeline-item.current i { width:6px; height:6px; border-radius:50%; background:#2f78c4; }.status-pill { border-radius:999px; padding:8px 10px; font-size:10px; white-space:nowrap; }.status-pill.loading { color:#2f78c4; background:#eaf4ff; }.status-pill.success { color:#4f8056; background:#e9f4e9; }.status-pill.review { color:#b05c5c; background:#fff0f0; }.poll-note { display:flex; align-items:center; justify-content:center; gap:8px; color:#7890a5; font-size:10px; margin-top:24px; }.spinner { width:12px; height:12px; border:2px solid #d6e5f2; border-top-color:#2f78c4; border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin {to{transform:rotate(360deg)}}
footer { display:flex; justify-content:space-between; color:#8298ab; font-size:10px; padding-top:10px; }
@media (max-width:880px) { .shell { padding:20px 18px 16px; }.layout { grid-template-columns:1fr; gap:24px; padding-top:15px; }.hero { padding:0; }.hero h1 { font-size:42px; }.promise-row { margin:24px 0; }.card-panel { border-radius:20px; }.form-body { padding:27px 22px 28px; }.stepper { padding:17px 16px; }.step label { display:none; }.step { justify-content:center; }.preview-card { grid-template-columns:1fr; }.top-actions .secure { display:none; } footer { gap:10px; flex-direction:column; } }
.confirm-card { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:17px; background:#eef6fd; border:1px solid #d9e9f6; border-radius:15px; }
.confirm-card span,.confirm-card strong { display:block; }
.confirm-card span { color:#7890a5; font-size:10px; margin-bottom:7px; }
.confirm-card strong { font-size:12px; }
.confirm-check { display:flex; gap:10px; align-items:flex-start; margin-top:22px; color:#6e685e; font-size:11px; line-height:1.6; cursor:pointer; }
.confirm-check input { width:16px; height:16px; accent-color:#2f78c4; margin:1px 0 0; }
.primary:disabled { opacity:.42; cursor:not-allowed; box-shadow:none; }
.poll-warning { margin-top:14px; padding:10px 12px; color:#b05c5c; background:#fff0f0; border:1px solid #f1caca; border-radius:10px; font-size:10px; text-align:center; }
@media (max-width:880px) { .confirm-card { grid-template-columns:1fr; } }
.lookup-card { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; padding:15px; background:#fff3eb; border:1px solid #efd2c2; border-radius:14px; }
.lookup-card.lookup-good { background:#eef9f2; border-color:#d2e2cf; }
.lookup-card span,.lookup-card strong { display:block; }
.lookup-card span { color:#9a8d83; font-size:10px; margin-bottom:6px; }
.lookup-card strong { color:#a15353; font-size:11px; line-height:1.4; }
.lookup-good strong { color:#3f8158; }
@media (max-width:880px) { .lookup-card { grid-template-columns:1fr; } }
.nav-tabs { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; background:#eef6fd; }
.nav-tab { border:0; background:transparent; color:#7189a0; padding:7px 13px; border-radius:999px; font-size:11px; font-weight:700; }
.nav-tab.active { color:#15518c; background:#ffffff; box-shadow:0 2px 8px rgba(80,65,42,.1); }
.lookup-layout .lookup-panel { max-width:640px; width:100%; justify-self:end; }
.lookup-standalone { margin-top:24px; }
@media (max-width:880px) { .top-actions { gap:7px; }.nav-tab { padding:7px 9px; }.lookup-layout .lookup-panel { max-width:none; } }
