@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&family=Noto+Serif+SC:wght@600;700&display=swap");:root{--canvas:#eeeff1;--paper:#ffffff;--ink:#0b0b0e;--ink-hover:#1a1a20;--graphite:#5c5f66;--hairline:#e3e5e9;--hairline-strong:#d5d8de;--lime:#d8ff36;--lime-hover:#c7ee2a;--violet:#7a5bff;--violet-soft:rgba(122,91,255,0.12);--success:#21875a;--success-soft:#e9f7f0;--error:#c83f45;--error-soft:#fff0f0;--warning:#b56c13;--warning-soft:#fff7e9;--font-display:"Instrument Serif","Times New Roman",serif;--font-title:"Noto Serif SC","Songti SC","STSong",serif;--font-ui:"Inter","Microsoft YaHei",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;--shadow-raised:0 1px 2px rgba(11,11,14,0.04),0 12px 28px -16px rgba(11,11,14,0.18);--shadow-halo:0 1px 2px rgba(11,11,14,0.04),0 24px 60px -24px rgba(11,11,14,0.22)}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{color:var(--ink);background:var(--canvas);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--graphite)}.brand{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:5px 14px 5px 6px;border-radius:999px;background:var(--ink);color:white;font-size:13px;font-weight:700;letter-spacing:-.01em}.brand-mark{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--lime);color:var(--ink);font-family:var(--font-display);font-size:16px;font-style:italic;font-weight:700}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2fe695;box-shadow:0 0 10px rgba(47,230,149,.8);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(47,230,149,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(47,230,149,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(47,230,149,0)}}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:600;transition:all .16s ease;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:var(--ink-hover)}.button-accent{background:var(--lime);color:var(--ink);font-weight:700;box-shadow:inset 0 1px rgba(255,255,255,.45)}.button-accent:hover{background:var(--lime-hover)}.button-ghost{border-color:var(--hairline-strong);background:var(--paper);color:var(--ink)}.button-ghost:hover{background:#f8f9fa;border-color:var(--ink)}.button-danger{border-color:#f1c8ca;background:var(--error-soft);color:var(--error)}.button-danger:hover{background:#ffe3e4}.button-small{min-height:34px;padding:0 14px;font-size:12px}.icon-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--hairline);border-radius:999px;background:white;color:var(--graphite);transition:all .15s ease}.icon-button:hover{color:var(--ink);border-color:var(--graphite);background:#f9f9fb}.field{display:grid;grid-gap:7px;gap:7px}.field label{color:var(--graphite);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.input,.select,.textarea{width:100%;min-height:44px;border:1px solid var(--hairline);border-radius:12px;background:var(--paper);color:var(--ink);padding:0 14px;transition:all .16s ease;font-size:14px}.textarea{min-height:84px;padding-block:10px;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--hairline-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px var(--lime)}.input-pill{border-radius:999px}.field-error,.form-error{color:var(--error);font-size:12px}.login-shell{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:32px}.login-grid{position:absolute;inset:0;opacity:.36;background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 45%,black,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,black,transparent 72%)}.login-card{position:relative;width:min(100%,980px);min-height:600px;display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--hairline);border-radius:28px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow-halo)}.login-editorial{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px;background:var(--ink);color:white}.merchant-login-kicker{display:block;margin-top:36px;color:rgba(255,255,255,.6);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.login-heading{margin-top:18px;font-family:var(--font-display);font-size:clamp(34px,4vw,46px);font-weight:400;line-height:1.15;letter-spacing:-.02em}.login-heading em{font-style:italic;color:var(--lime);display:block}.login-copy{margin-top:20px;font-size:14px;line-height:1.6;max-width:360px}.login-copy,.login-note{color:rgba(255,255,255,.7)}.login-note{display:flex;align-items:center;gap:10px;font-size:12px}.login-form-panel{display:flex;flex-direction:column;justify-content:center;padding:48px 42px;background:var(--paper)}.merchant-login-form-kicker{display:block;color:var(--graphite);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.login-form-panel h1{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}.login-form-panel p{color:var(--graphite);font-size:13px;margin-bottom:28px;line-height:1.5}.form-stack{display:flex;flex-direction:column;gap:18px}.login-security-note{display:flex;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px dashed var(--hairline);color:var(--graphite);font-size:12px}.app-frame{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh;background:var(--canvas)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:24px 16px;background:var(--ink);color:white;z-index:50}.shell-context{display:inline-flex;align-items:center;gap:8px;margin:16px 0 24px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:11px;font-weight:500}.nav-section{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.nav-section-title{color:rgba(255,255,255,.4);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;color:rgba(255,255,255,.7);font-size:13px;font-weight:500;transition:all .14s ease}.nav-link:hover{background:rgba(255,255,255,.08);color:white}.nav-link-active{background:var(--lime);color:var(--ink);font-weight:700}.nav-link-active:hover{background:var(--lime-hover);color:var(--ink)}.sidebar-user{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.sidebar-user-info{display:flex;flex-direction:column;gap:2px}.sidebar-user-name{font-size:12px;font-weight:600;color:white}.sidebar-user-role{font-size:10px;color:var(--lime);text-transform:uppercase;font-weight:700}.main-shell{padding:28px 36px 64px;display:flex;flex-direction:column;gap:24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-heading-left h1{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.page-heading-left p{color:var(--graphite);font-size:13px;margin-top:4px}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px;gap:16px}.dashboard-metric{padding:20px 22px;border:1px solid var(--hairline);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-raised);display:flex;flex-direction:column;gap:8px}.dashboard-metric-header{display:flex;align-items:center;justify-content:space-between;color:var(--graphite);font-size:12px;font-weight:600}.dashboard-metric-value{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.dashboard-metric-hint{font-size:11px;color:var(--graphite)}.table-filter-bar{justify-content:space-between;padding:10px 16px;background:var(--paper);border-radius:16px 16px 0 0;border:1px solid var(--hairline);border-bottom:none;overflow-x:auto}.filter-group,.table-filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.filter-group{flex-shrink:0}.filter-input{height:34px!important;min-height:34px!important;font-size:12px!important;padding:0 10px 0 32px!important;border-radius:8px!important;background:#fbfbfc!important;border:1px solid var(--hairline)!important;transition:all .12s ease}.filter-input:focus{border-color:var(--ink)!important;background:#ffffff!important}.filter-select{height:34px!important;min-height:34px!important;font-size:12px!important;padding:0 24px 0 8px!important;border-radius:8px!important;background:#fbfbfc!important;border:1px solid var(--hairline)!important;cursor:pointer;white-space:nowrap}.data-wrap{position:relative;border:1px solid var(--hairline);border-radius:0 0 16px 16px;background:var(--paper);box-shadow:var(--shadow-raised);overflow-x:auto}.data-wrap:has(+.table-pagination-bar){border-bottom:none;border-radius:0;box-shadow:none}.data-table th{padding:8px;color:var(--graphite);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#f8f9fa;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table td,.data-table th{border-bottom:1px solid var(--hairline);white-space:nowrap}.data-table td{padding:7px 8px;color:var(--ink);vertical-align:middle;height:46px}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;table-layout:auto}.data-table td.col-select,.data-table th.col-select{width:3%;min-width:40px;text-align:center;padding:8px 4px!important}.data-table td.col-card-info,.data-table th.col-card-info{width:15.5%;min-width:195px;padding-left:8px!important;padding-right:5px!important}.data-table td.col-holder-name,.data-table th.col-holder-name{width:8%;min-width:95px;padding-left:5px!important;padding-right:6px!important}.data-table td.col-country,.data-table th.col-country{width:5%;min-width:60px;padding-left:5px!important;padding-right:5px!important}.data-table td.col-issuer,.data-table th.col-issuer{width:9%;min-width:105px;padding-left:6px!important;padding-right:6px!important}.data-table td.col-brand,.data-table th.col-brand{width:4%;min-width:48px;padding-left:4px!important;padding-right:4px!important;text-align:center}.data-table td.col-funding,.data-table th.col-funding{width:6%;min-width:70px;padding-left:5px!important;padding-right:6px!important}.data-table td.col-channel,.data-table th.col-channel{width:11%;min-width:135px;padding-left:5px!important;padding-right:5px!important}.data-table td.col-usage-status,.data-table th.col-usage-status{width:7%;min-width:80px;padding-left:5px!important;padding-right:6px!important}.data-table td.col-status,.data-table th.col-status{width:8.5%;min-width:100px;padding-left:6px!important;padding-right:6px!important}.data-table td.col-scenarios,.data-table th.col-scenarios{width:7.5%;min-width:90px;padding-left:6px!important;padding-right:6px!important}.data-table td.col-remarks,.data-table th.col-remarks{width:7%;min-width:88px;padding-left:6px!important;padding-right:6px!important}.data-table td.col-actions,.data-table th.col-actions{width:8.5%;min-width:105px;padding-left:6px!important;padding-right:8px!important;text-align:right}.data-table td.col-street,.data-table th.col-street{min-width:130px;padding:7px!important}.data-table td.col-city,.data-table th.col-city{min-width:80px;padding:7px!important}.data-table td.col-state,.data-table th.col-state{min-width:55px;padding:7px 6px!important}.data-table td.col-zip-code,.data-table th.col-zip-code{min-width:68px;padding:7px 6px!important}.data-table td.col-issuer,.data-table th.col-issuer{min-width:110px;padding:7px!important}.data-table td.col-ip,.data-table td.col-phone,.data-table th.col-ip,.data-table th.col-phone{min-width:95px;padding:7px 6px!important}.data-table td.col-created-at,.data-table th.col-created-at{min-width:100px;padding:7px 6px!important}.data-table tr:hover td{background:#f9fafb}.data-table tr:last-child td{border-bottom:none}.align-right{text-align:right}.table-secondary{color:var(--graphite);font-size:11px;display:block;margin-top:1px}.table-actions{gap:5px}.copy-chip-btn,.table-actions{display:inline-flex;align-items:center}.copy-chip-btn{justify-content:center;width:22px;height:22px;border-radius:5px;border:1px solid var(--hairline);background:#ffffff;color:var(--graphite);cursor:pointer;transition:all .12s ease;flex-shrink:0}.copy-chip-btn:hover{background:#f3f4f6;color:var(--ink);border-color:var(--graphite)}.brand-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:20px;border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.08);font-size:9px;font-weight:800;letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.brand-logo-visa{background:#1434cb;color:#ffffff}.brand-logo-mc{background:#1a1e24;color:#ffffff}.brand-logo-amex{background:#006fcf;color:#ffffff}.brand-logo-discover{background:#ff6000;color:#ffffff}.brand-logo-unionpay{background:#e5292c;color:#ffffff}.brand-logo-other{background:#f3f4f6;color:#4b5563;border:1px solid #d1d5db}.card-pan-success{color:#15803d!important}.card-pan-warning{color:#ea580c!important}.card-pan-danger{color:#dc2626!important}.card-pan-neutral{color:#0b0b0e!important}.country-flag-wrap{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.country-flag-svg{display:inline-block;width:20px;height:14px;border-radius:2px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.12);flex-shrink:0;vertical-align:middle}.status-badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.badge-usage-unused{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.badge-usage-used{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.badge-status-success{background:var(--success-soft);color:var(--success);border:1px solid rgba(33,135,90,.25)}.badge-status-warning{background:#fff7ed;color:#ea580c;border:1px solid rgba(234,88,12,.3)}.badge-status-danger{background:var(--error-soft);color:var(--error);border:1px solid rgba(200,63,69,.25)}.badge-status-neutral{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}.scenario-view-pill-btn{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s ease;border:1px solid #e2e4e8;background:#fbfbfc;color:#4b5563;white-space:nowrap}.scenario-view-pill-btn:hover{background:#f0f2f5;border-color:#cbd5e1;color:#111827}.scenario-view-pill-active{background:#eff6ff;border-color:#bfdbfe;color:#2563eb;font-weight:700}.scenario-view-pill-active:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.modal-backdrop{position:fixed;inset:0;background:rgba(11,11,14,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;z-index:100;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{width:min(100%,720px);max-height:90vh;display:flex;flex-direction:column;border-radius:24px;background:var(--paper);box-shadow:var(--shadow-halo);border:1px solid var(--hairline);overflow:hidden;animation:scaleUp .18s cubic-bezier(.16,1,.3,1)}@keyframes scaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--hairline)}.modal-header h2{font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-body{padding:24px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:18px 28px;border-top:1px solid var(--hairline);background:#fafafc}.modal-tabs{display:flex;border-bottom:1px solid var(--hairline);margin-bottom:8px}.modal-tab{padding:10px 18px;font-size:13px;font-weight:600;color:var(--graphite);border-bottom:2px solid transparent;cursor:pointer;transition:all .14s ease}.modal-tab:hover{color:var(--ink)}.modal-tab-active{color:var(--ink);border-bottom-color:var(--ink)}@media (max-width:900px){.app-frame{grid-template-columns:1fr}.sidebar{display:none}.login-card{grid-template-columns:1fr}.login-editorial{min-height:280px;padding:32px}.main-shell{padding:20px}}.table-pagination-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 20px;background:#fafafc;border:1px solid var(--hairline);border-radius:0 0 16px 16px;box-shadow:var(--shadow-raised);font-size:13px;color:var(--graphite)}.pagination-left{display:flex;align-items:center;gap:16px}.pagination-info{font-size:12px;color:var(--graphite)}.pagination-info strong{color:var(--ink);font-weight:700}.pagination-size-selector{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--graphite)}.pagination-select{height:30px;padding:0 28px 0 10px;font-size:12px;font-weight:600;color:var(--ink);background-color:#fff;border:1px solid var(--hairline);border-radius:8px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;transition:all .14s ease}.pagination-select:hover{border-color:#cbd5e1}.pagination-select:focus{border-color:var(--ink)}.pagination-right{display:flex;align-items:center;gap:16px}.pagination-nav{display:flex;align-items:center;gap:4px}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--hairline);background:#fff;border-radius:8px;color:var(--graphite);cursor:pointer;transition:all .14s ease}.pagination-btn:hover:not(:disabled){background:#f1f3f5;color:var(--ink);border-color:#cbd5e1}.pagination-btn:disabled{opacity:.35;cursor:not-allowed;background:transparent}.pagination-num-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid transparent;background:transparent;border-radius:8px;font-size:12px;font-weight:600;color:var(--graphite);cursor:pointer;transition:all .14s ease}.pagination-num-btn:hover{background:#f1f3f5;color:var(--ink)}.pagination-num-btn-active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important;font-weight:700}.pagination-ellipsis{display:inline-flex;justify-content:center;width:24px;height:30px}.pagination-ellipsis,.pagination-jump{align-items:center;font-size:12px;color:var(--graphite)}.pagination-jump{display:flex;gap:6px}.pagination-jump-input{width:44px;height:30px;text-align:center;border:1px solid var(--hairline);background:#fff;border-radius:8px;font-size:12px;color:var(--ink);outline:none;transition:all .14s ease}.pagination-jump-input:focus{border-color:var(--ink)}.pagination-jump-btn{height:30px;padding:0 10px;border:1px solid var(--hairline);background:#fff;border-radius:8px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .14s ease}.pagination-jump-btn:hover{background:#f1f3f5;border-color:#cbd5e1}