:root{--color-deep-ink:#150E1C;--color-warm-ivory:#FAF7F2;--color-periwinkle:#8B9FE8;--color-champagne:#C9AA72;--color-champagne-hover:#B89460;--color-champagne-tint:#FDF8EF;--color-champagne-tint-border:#E8D9B0;--color-n50:#F5F1EB;--color-n100:#EDE8DF;--color-n200:#D6CFBF;--color-n300:#BFB6A4;--color-n400:#A89D8C;--color-n500:#8C7F6E;--color-n600:#6B5F50;--color-n700:#4E4438;--color-n800:#2E2520;--color-n900:#1A1410;--color-n950:#150E1C;--color-success:#1F7A52;--color-success-bg:#E4F3EC;--color-warning:#C47B1A;--color-warning-bg:#FDF0E0;--color-error:#C13030;--color-error-bg:#FDEAEA;--color-info:#3B5ED4;--color-info-bg:#EAF0FC;--bg:var(--color-warm-ivory);--surface:#FFFFFF;--surface-sunken:#F6F6F7;--fg:var(--color-deep-ink);--fg-muted:var(--color-n600);--fg-subtle:var(--color-n500);--accent:var(--color-champagne);--accent-hover:var(--color-champagne-hover);--accent-fg:var(--color-deep-ink);--border:#E1E3E5;--border-strong:#D6CFBF;--focus:var(--color-periwinkle);--font-ui:"Inter",system-ui,-apple-system,sans-serif;--font-display:"DM Serif Display",Georgia,serif;--r-control:8px;--r-card:12px;--ease:cubic-bezier(.4,0,.2,1);--t-fast:.15s;--t-normal:.2s;--t-slow:.3s;--shadow-card:none;--shadow-pop:0 8px 28px rgba(21,14,28,.16),0 2px 8px rgba(21,14,28,.08)}[data-theme=merchant]{--bg:var(--color-deep-ink);--surface:#1C1528;--surface-sunken:#0D0916;--fg:var(--color-warm-ivory);--fg-muted:var(--color-n400);--fg-subtle:var(--color-n500);--border:rgba(250,247,242,.1);--border-strong:rgba(250,247,242,.18)}*{box-sizing:border-box}body{font-family:var(--font-ui);color:var(--fg);background:var(--surface-sunken);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0}.t-display{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.15;letter-spacing:-.01em}.t-stat{font-family:var(--font-ui);font-weight:600;font-size:24px;line-height:1.1;letter-spacing:-.01em;color:var(--fg)}.t-h1{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}.t-h2{font-size:16px;font-weight:600;margin:0}.t-h3{font-size:13px;font-weight:600;margin:0}.t-sm{font-size:13px}.t-xs{font-size:12px}.t-muted{color:var(--fg-muted)}.t-subtle{color:var(--fg-subtle)}.t-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.t-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.stack>*+*{margin-top:16px}.stack-sm>*+*{margin-top:8px}.stack-lg>*+*{margin-top:24px}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grow{flex:1}.center{text-align:center}.wrap{flex-wrap:wrap}.gap-sm{gap:8px}.gap-lg{gap:24px}.field-label{font-size:13px;font-weight:500;margin-bottom:5px;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:16px 18px;box-shadow:var(--shadow-card)}.card-flush{padding:0;overflow:hidden}.card-title{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:12px}.btn{font-family:var(--font-ui);font-size:13px;font-weight:500;border-radius:var(--r-control);padding:8px 14px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:6px;transition:background var(--t-fast) var(--ease);white-space:nowrap;text-decoration:none}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-fg);font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--fg-muted);border-color:var(--border)}.btn-danger{background:var(--color-error);color:#fff;font-weight:600}.btn-block{width:100%;justify-content:center}.btn-lg{padding:11px 18px;font-size:14px}.btn-sm{padding:5px 10px;font-size:12px}.input,.select,.textarea{font-family:var(--font-ui);font-size:14px;color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-control);padding:8px 11px;width:100%}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge-xs{font-size:11px;padding:1px 7px;gap:3px}.badge-ink{background:var(--color-deep-ink);color:var(--color-champagne)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--surface-sunken);color:var(--fg-muted)}.chip-credit{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--color-champagne-tint);border:1px solid var(--color-champagne-tint-border);color:var(--color-deep-ink);font-size:12px;font-weight:600}.banner{border-radius:8px;padding:12px 14px;border:1px solid var(--border);background:var(--surface);display:flex;gap:10px;align-items:flex-start}.banner-title{font-size:13px;font-weight:600;margin-bottom:2px}.banner-body{font-size:12px;color:var(--fg-muted);line-height:1.5}.banner-success{background:var(--color-success-bg);border-color:#1f7a5242}.banner-warning{background:var(--color-warning-bg);border-color:#c47b1a47}.banner-error{background:var(--color-error-bg);border-color:#c1303042}.banner-info{background:var(--color-info-bg);border-color:#3b5ed43d}.banner-champagne{background:var(--color-champagne-tint);border-color:var(--color-champagne-tint-border)}.imagery{background:linear-gradient(135deg,#1c1528,#2a1f3d);border-radius:var(--r-card);display:flex;align-items:center;justify-content:center;color:var(--color-champagne);position:relative;overflow:hidden}.loader{width:44px;height:44px;display:inline-block}.loader svg{width:100%;height:100%;display:block}.loader .ghost{stroke:currentColor;opacity:.14}.loader .run{stroke:currentColor;stroke-dasharray:56 200;animation:diamond-run 1.1s cubic-bezier(.4,0,.6,1) infinite}@keyframes diamond-run{0%{stroke-dashoffset:56}to{stroke-dashoffset:-200}}.loader-sm{width:22px;height:22px}.loader-champagne{color:var(--accent)}.loader-ink{color:var(--color-deep-ink)}@media(prefers-reduced-motion:reduce){.loader .run{animation:none;stroke-dashoffset:0}}.meter{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent);border-radius:999px}.meter.warn>i{background:var(--color-warning)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:9px 14px;font-size:13px;font-weight:500;color:var(--fg-muted);cursor:pointer;border-bottom:2px solid transparent;text-decoration:none}.tab.active{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.app-frame{max-width:1040px;margin:0 auto;padding:24px 28px 64px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.crumbs{font-size:13px;color:var(--fg-muted);display:flex;align-items:center;gap:6px}.brandline{font-size:11px;color:var(--accent);font-weight:500;letter-spacing:.05em}.state-wrap{display:grid;place-items:center;min-height:360px;text-align:center}.state-inner{max-width:380px}.state-icon{width:52px;height:52px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;margin:0 auto 14px;font-size:22px;color:var(--accent)}@media(max-width:768px){.app-frame{padding:18px 16px 48px;max-width:100%}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.page-head{flex-wrap:wrap}.imagery{max-width:100%}}@media(max-width:390px){.app-frame{padding:14px 12px 40px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.t-display{font-size:26px}.t-stat{font-size:21px}.page-head{align-items:flex-start}}
