:root{color-scheme:light;--magenta: #ff1f6b;--violet: #6c2bd9;--violet-deep: #4a1d93;--grad: linear-gradient(135deg, #ff1f6b, #6c2bd9);--grad-rail: linear-gradient(165deg, #ff1f6b 0%, #6c2bd9 62%, #5a23b6 100%);--accent: #ff7a00;--accent-ink: #b85900;--ink: #1a1030;--ink-2: #4a4160;--ink-3: #6e6683;--bg: #efeaf6;--surface: #fdfbff;--surface-2: #f7f3fc;--line: #efe9f7;--line-2: #f5f1fa;--good: #12b76a;--good-bg: #e6f7ef;--warn-bg: #fff3e8;--bad: #e5484d;--bad-bg: #fdecec;--rail-ink: rgba(255, 255, 255, .95);--rail-ink-2: rgba(255, 255, 255, .66);--radius: 14px;--radius-sm: 10px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--font: "Readex Pro", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.tnum{font-variant-numeric:tabular-nums}i.ph,i[class^=ph-],i[class*=" ph-"]{line-height:1}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.rail{background:var(--grad-rail);color:var(--rail-ink);display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-5) var(--s-4);position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-6)}.brand .word{font-weight:700;font-size:22px;letter-spacing:-.02em;color:#fff}.brand .sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--rail-ink-2);font-weight:600}.nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:var(--s-3);width:100%;text-align:start;padding:11px var(--s-3);border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);color:var(--rail-ink-2);font:inherit;font-weight:500;transition:background .15s,color .15s}.nav-item i{font-size:18px}.nav-item:hover{color:#fff;background:#ffffff1f}.nav-item.on{color:#fff;background:#ffffff2e}.nav-item.on i{color:var(--accent)}.rail .spacer{flex:1}.rail-foot{border-top:1px solid rgba(255,255,255,.16);padding-top:var(--s-3)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);padding:var(--s-6) var(--s-6) var(--s-4);border-bottom:1px solid var(--line)}.topbar h1{font-weight:700;font-size:25px;letter-spacing:-.02em;margin:0}.topbar .lede{color:var(--ink-3);font-size:13px;margin-top:4px}.content{padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-5);max-width:1160px;width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 30px -24px #34145a59}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--line-2)}.panel-head h2{font-weight:700;font-size:15px;letter-spacing:-.01em;margin:0}.panel-head .meta{font-size:12px;color:var(--ink-3)}.panel-body{padding:var(--s-5)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-3);font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}.btn{font:inherit;font-weight:700;font-size:13px;border-radius:var(--radius-sm);padding:10px 15px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:filter .15s,background .15s,border-color .15s,color .15s}.btn.primary{background:var(--grad);color:#fff;box-shadow:0 10px 22px -12px #6c2bd9b3}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--violet);font-weight:600}.btn.ghost:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--violet) 35%,var(--line))}.btn.sm{padding:7px 12px;font-size:12.5px}.btn.rail-out{color:var(--rail-ink-2);background:none;border:none;padding:11px var(--s-3);border-radius:var(--radius-sm);font-weight:600}.btn.rail-out:hover{color:#fff;background:#ffffff1f}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.badge.good{color:var(--good);background:var(--good-bg)}.badge.warn{color:var(--accent-ink);background:var(--warn-bg)}.badge.bad{color:var(--bad);background:var(--bad-bg)}.badge.neutral{color:var(--ink-2);background:var(--surface-2)}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600;padding:0 var(--s-4) var(--s-3);white-space:nowrap}.table thead th.r{text-align:right}.table tbody td{padding:13px var(--s-4);border-top:1px solid var(--line-2);vertical-align:middle}.table tbody tr{transition:background .12s}.table tbody tr:hover td{background:var(--surface-2)}.table td.r{text-align:right;font-variant-numeric:tabular-nums}.cell-title{font-weight:600}.cell-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.row-dim td{opacity:.5}.table thead th:first-child,.table tbody td:first-child{padding-left:var(--s-5)}.table thead th:last-child,.table tbody td:last-child{padding-right:var(--s-5)}.panel>.tablewrap{padding-top:var(--s-4);padding-bottom:var(--s-2)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--s-4)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--ink-2)}.req{font-size:11px;font-weight:600;color:var(--ink-3)}.input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%}.input::placeholder{color:var(--ink-3)}.input:focus{outline:2px solid color-mix(in srgb,var(--violet) 40%,transparent);outline-offset:1px;border-color:var(--violet)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .input{padding-right:60px}.reveal{position:absolute;right:6px;border:0;background:transparent;color:var(--ink-3);font:inherit;font-size:12px;font-weight:600;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.reveal:hover{color:var(--violet)}.figures{display:flex;flex-wrap:wrap;gap:var(--s-7)}.figure .n{font-weight:700;font-size:32px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.figure .n.accent{color:var(--violet)}.figure .l{font-size:12px;color:var(--ink-3);margin-top:7px}.funnel{display:flex;flex-direction:column;gap:var(--s-2)}.funnel-row .cap{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.funnel-row .cap .name{font-size:12.5px;font-weight:600;color:var(--ink-2)}.funnel-row .cap .val{font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}.funnel-track{height:32px;border-radius:9px;background:var(--surface-2);overflow:hidden}.funnel-fill{height:100%;border-radius:9px;min-width:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.funnel-fill.v1{background:#c9b6ee}.funnel-fill.v2{background:#9b6be3}.funnel-fill.v3{background:var(--violet)}.funnel-conv{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);padding:4px 0 4px 2px}.funnel-conv b{color:var(--violet);font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:var(--s-3)}.bar-row{display:grid;grid-template-columns:116px minmax(0,1fr) 40px;align-items:center;gap:var(--s-4)}.bar-row .lab{font-size:13px;color:var(--ink-2);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#9b6be3,var(--violet));border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}.bar-row .v{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;text-align:right}.split{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-2)}.split .a{background:var(--violet)}.split .b{background:var(--accent)}.legend{display:flex;gap:var(--s-5);margin-top:var(--s-3);font-size:12.5px;color:var(--ink-2)}.legend .k{display:flex;align-items:center;gap:7px}.legend .sw{width:10px;height:10px;border-radius:3px}.empty{text-align:center;padding:var(--s-7) var(--s-5);color:var(--ink-3)}.empty i{font-size:30px;color:color-mix(in srgb,var(--violet) 22%,var(--line));display:block;margin-bottom:var(--s-3)}.error{color:var(--bad);font-size:13px}.hint{font-size:12.5px;color:var(--accent-ink);background:var(--warn-bg);padding:8px 12px;border-radius:var(--radius-sm)}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--s-5);background:radial-gradient(120% 80% at 50% -10%,#f3ecfb 0%,var(--bg) 55%)}.auth-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3);box-shadow:0 24px 60px -30px #34145a66}.auth-brand{font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--violet)}.auth-brand span{color:var(--ink-3);font-weight:600}.auth .lede{color:var(--ink-3);font-size:13px;margin:-4px 0 var(--s-2)}@media (max-width: 860px){.app{grid-template-columns:1fr}.rail{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);overflow-x:auto;z-index:5}.brand{padding:0 var(--s-3) 0 0}.brand .sub{display:none}.nav{flex-direction:row}.rail .spacer,.nav-item span{display:none}.grid-2{grid-template-columns:1fr}.content{padding:var(--s-4)}.topbar{padding:var(--s-5) var(--s-4) var(--s-3)}}.narrow{max-width:560px}.scan{position:relative;background:#1a1030;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 3}.scan video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.scan .note{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#ffffffb8;font-size:13px;text-align:center;padding:var(--s-5);line-height:1.6}.scan .frame{position:absolute;top:15%;right:15%;bottom:15%;left:15%;border:3px solid rgba(255,255,255,.85);border-radius:20px}.codebig{font-size:1.7rem;letter-spacing:.26em;text-align:center;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace}.result{border-radius:var(--radius);padding:var(--s-5);margin-top:var(--s-4);display:flex;flex-direction:column;gap:6px}.result.ok{background:var(--good-bg);border:1px solid color-mix(in srgb,var(--good) 45%,transparent)}.result.bad{background:var(--bad-bg);border:1px solid color-mix(in srgb,var(--bad) 45%,transparent)}.result .big{font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:8px}.result.ok .big{color:var(--good)}.result.bad .big{color:var(--bad)}.result .rmeta{color:var(--ink-2);font-size:.9rem}.result .rmeta strong{color:var(--ink)}.result .rcode{font-family:IBM Plex Mono,ui-monospace,monospace;letter-spacing:.16em;font-weight:700}.result .actions{margin-top:var(--s-2);display:flex;gap:var(--s-2)}.seg{display:inline-flex;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{font:inherit;font-weight:600;font-size:12.5px;border:none;background:none;color:var(--ink-3);padding:7px 15px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.seg button.on{background:var(--surface);color:var(--violet);box-shadow:0 3px 8px -4px #34145a59}.minibar{width:62px;height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden;display:inline-block;vertical-align:middle}.minibar>i{display:block;height:100%;background:linear-gradient(90deg,#9b6be3,var(--violet));border-radius:999px}
