@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{
  --bg:#f6f7f4;--panel:#ffffff;--panel2:#f9faf7;--text:#172019;--muted:#687169;--line:#dfe5dc;
  --accent:#116a52;--accent2:#d8b866;--danger:#b42318;--warn:#9a6700;--ok:#087443;
  --shadow:0 14px 34px rgba(22,32,25,.08);--r:16px;--r2:11px;--top:62px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,#eef5ea 0,#f6f7f4 38%,#f7f8f5 100%);color:var(--text);font-family:Manrope,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45;padding-bottom:74px}
a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}code{background:#edf2ea;border:1px solid var(--line);border-radius:8px;padding:2px 6px;font-size:12px}.muted{color:var(--muted)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-weight:800;font-size:11px;color:var(--accent);margin:0 0 4px}.lead{font-size:clamp(15px,2vw,18px);color:var(--muted);max-width:620px}.mt{margin-top:10px}hr{border:0;border-top:1px solid var(--line);margin:12px 0}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap{gap:8px}.wide{width:100%}.inline-form{display:inline-flex;margin:0 3px 3px 0}.topbar{position:sticky;top:0;z-index:30;min-height:var(--top);display:flex;gap:12px;align-items:center;padding:10px clamp(12px,3vw,26px);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,229,220,.85)}.brand{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--text);white-space:nowrap}.brand img{width:30px;height:30px;object-fit:contain}.brand-text{font-size:19px;letter-spacing:-.04em}.brand-text span{font-size:12px;vertical-align:super}.nav-tabs{display:flex;align-items:center;gap:5px;flex:1;overflow:auto}.nav-tab,.bt{border:1px solid transparent;border-radius:999px;padding:7px 10px;color:#28342c;font-size:13px;font-weight:800;white-space:nowrap}.nav-tab.active,.nav-tab:hover,.bt.active{background:#eef5ea;border-color:#d6e3d3;color:var(--accent)}.top-actions{display:flex;gap:6px;align-items:center}.page-shell{width:min(1180px,calc(100% - 24px));margin:18px auto}.page-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:8px 0 14px}.compact-head h1{margin:.1em 0;font-size:clamp(22px,3vw,34px);letter-spacing:-.055em;line-height:1}.hero{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;align-items:center;min-height:340px}.hero.mini h1{font-size:clamp(36px,7vw,76px);letter-spacing:-.075em;line-height:.92;margin:0}.hero-card{min-height:180px;display:flex;flex-wrap:wrap;align-content:center;gap:8px}.center-card{min-height:60vh;display:grid;place-items:center}.auth-card{width:min(430px,100%)}.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px}.small-card{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:rgba(255,255,255,.78);box-shadow:var(--shadow)}.card h3{margin:0 0 9px;font-size:15px;letter-spacing:-.025em}.grid{display:grid;gap:12px}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tight{gap:9px}.metric{padding:13px}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:800}.metric strong{font-size:clamp(19px,3vw,30px);letter-spacing:-.06em}.status-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef0ed;border:1px solid #dde3dc;color:#465048;font-size:11px;font-weight:900;white-space:nowrap}.badge.ok{background:#e7f8ef;color:var(--ok);border-color:#c4ecd4}.badge.warn,.badge.lock{background:#fff6db;color:var(--warn);border-color:#f1ddb1}.status-frame,.flash{width:min(1180px,calc(100% - 24px));margin:10px auto 0;border:1px solid;border-radius:12px;padding:8px 11px;font-size:13px;font-weight:800}.status-frame.bad,.flash.bad{background:#fff0ee;border-color:#fac5c0;color:var(--danger)}.status-frame.warn,.flash.warn{background:#fff8e8;border-color:#f3d89a;color:#735000}.flash.ok{background:#e8fff2;border-color:#c3efd5;color:#07633a}.compact-inline{margin-bottom:12px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;outline:none;color:var(--text);font-size:13px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#9acbb8;box-shadow:0 0 0 3px rgba(17,106,82,.1)}label{font-size:12px;font-weight:900;color:#354039}.stack-form{display:grid;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:11px;background:linear-gradient(180deg,#167b61,#0f604c);color:white;padding:9px 12px;min-height:36px;font-weight:900;cursor:pointer;box-shadow:0 9px 20px rgba(17,106,82,.18);font-size:13px}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn.danger{background:#b42318;color:#fff}.btn.tiny{padding:6px 9px;min-height:29px;border-radius:9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.dash-tabs{display:grid;gap:10px}.tab-strip{display:flex;gap:6px;overflow:auto;padding:4px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:14px;position:sticky;top:72px;z-index:10}.tab-btn{border:0;background:transparent;border-radius:10px;padding:7px 10px;font-weight:900;color:#3c463f;white-space:nowrap;cursor:pointer;font-size:12.5px}.tab-btn.active{background:#14231b;color:white}.tab-panel{display:none}.tab-panel.active{display:block}.list{display:grid;gap:7px}.list-row,.mini-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 9px}.link-row{color:var(--text)}.list-row small,.mini-row small{color:var(--muted);font-size:11px}.money{font-weight:900}.money.pos{color:var(--ok)}.money.neg{color:var(--danger)}.empty{color:var(--muted);font-size:13px;margin:6px 0}.table-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:12.5px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:0 8px}td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}.detail-list{display:grid;grid-template-columns:110px 1fr;gap:6px;margin:0}.detail-list dt{color:var(--muted);font-weight:900}.detail-list dd{margin:0;word-break:break-word}.command-copy{display:flex;gap:8px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;margin:8px 0}.command-copy code{flex:1;overflow:auto;white-space:nowrap}.live-status{font-weight:900;color:var(--accent)}.search-results{display:grid;gap:8px;margin-top:10px}.user-result{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fff}.user-result img{width:36px;height:36px;border-radius:50%}.user-result .actions{margin-left:auto;display:flex;gap:5px}.chat-list{display:grid;gap:8px;max-height:58vh;overflow:auto}.chat-msg{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px}.chat-msg small{display:block;color:var(--muted);font-size:11px}.chat-msg p{white-space:pre-wrap;margin:6px 0 0}.inline-search{display:flex;gap:8px;margin-bottom:8px}.inline-search input{flex:1}.mini-line{font-size:12px;border-bottom:1px solid var(--line);padding:5px 0;margin:0}.bottom-tabs{position:fixed;z-index:40;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:5px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;padding:6px;box-shadow:var(--shadow)}.bt{font-size:12px;padding:7px 10px}.modal-backdrop{position:fixed;inset:0;background:rgba(17,25,20,.45);display:none;place-items:center;z-index:80;padding:14px}.modal-backdrop.show{display:grid}.modal-card{background:#fff;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);padding:14px;width:min(420px,100%)}.modal-card h3{margin-top:0}.modal-card.compact{display:grid;gap:8px}.nav-tabs::-webkit-scrollbar,.tab-strip::-webkit-scrollbar{height:0}.top-actions .btn{white-space:nowrap}.sync-pill{display:inline-flex;align-items:center;height:29px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 9px;font-size:11px;font-weight:900;color:var(--muted);white-space:nowrap}.sync-pill.ok{background:#e7f8ef;color:var(--ok);border-color:#c4ecd4}.sync-pill.warn{background:#fff6db;color:var(--warn);border-color:#f1ddb1}
@media (max-width:900px){.hero,.cards-2,.cards-3,.cards-4{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.status-pills{justify-content:flex-start}.topbar{gap:8px}.top-actions{display:none}.brand-text{font-size:17px}.nav-tab{font-size:12px;padding:6px 8px}.page-shell{width:min(100% - 18px,1180px);margin-top:12px}.card{padding:12px}.tab-strip{top:61px}.detail-list{grid-template-columns:1fr}.hero{min-height:auto;padding-top:22px}.hero.mini h1{font-size:44px}}
@media (max-width:520px){body{font-size:13px}.topbar{padding:9px}.nav-tabs{justify-content:flex-start}.bottom-tabs{width:calc(100% - 16px);justify-content:space-around;bottom:7px}.bt{padding:7px 8px}.metric strong{font-size:23px}.command-copy{align-items:stretch;flex-direction:column}.inline-search{flex-direction:column}.user-result{align-items:flex-start}.user-result .actions{margin-left:0}.row:not(.wrap){flex-wrap:wrap}td,th{white-space:nowrap}.hero.mini h1{font-size:38px}.lead{font-size:14px}}

html[data-theme="dark"]{
  --bg:#0c1210;--panel:#121a16;--panel2:#16211c;--text:#edf5ef;--muted:#aab7ae;--line:#293730;
  --accent:#66d6b2;--accent2:#d8b866;--danger:#ff8d86;--warn:#ffd06a;--ok:#74e2a3;
  --shadow:0 14px 34px rgba(0,0,0,.35);
}
html[data-theme="dark"] body{background:radial-gradient(circle at top left,#17251f 0,#0c1210 42%,#0b0f0d 100%);transition:background .28s ease,color .28s ease}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .tab-strip,html[data-theme="dark"] .bottom-tabs{background:rgba(18,26,22,.88);border-color:var(--line)}
html[data-theme="dark"] .card,html[data-theme="dark"] .small-card,html[data-theme="dark"] .modal-card{background:linear-gradient(180deg,var(--panel),var(--panel2));border-color:var(--line)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .list-row,html[data-theme="dark"] .mini-row,html[data-theme="dark"] td,html[data-theme="dark"] .chat-msg,html[data-theme="dark"] .user-result,html[data-theme="dark"] .sync-pill,html[data-theme="dark"] .btn.ghost{background:#101815;color:var(--text);border-color:var(--line)}
html[data-theme="dark"] .nav-tab,html[data-theme="dark"] .bt{color:#dfe8e1}html[data-theme="dark"] .nav-tab.active,html[data-theme="dark"] .nav-tab:hover,html[data-theme="dark"] .bt.active{background:#1c3028;color:var(--accent);border-color:#315446}html[data-theme="dark"] code{background:#111b16;border-color:var(--line);color:#e9f2ec}
body,.topbar,.card,.small-card,input,select,textarea,.bottom-tabs,.tab-strip,.modal-card{transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease}
.segmented{display:inline-flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);flex-wrap:wrap}.seg-btn{border:0;border-radius:10px;background:transparent;color:var(--text);padding:7px 10px;font-size:12px;font-weight:900;cursor:pointer}.seg-btn.active{background:var(--text);color:var(--panel)}.compact-dl{font-size:13px}.tiny-input{width:90px;min-width:80px;padding:6px 8px;border-radius:9px}.pick-loan-user{width:100%;text-align:left;cursor:pointer}.pick-loan-user:hover{border-color:#9acbb8;transform:translateY(-1px)}
@media (max-width:520px){.segmented{width:100%}.seg-btn{flex:1}.tiny-input{width:100%;margin-bottom:4px}}
.tiny-copy{font-size:11.5px;line-height:1.35;margin:-2px 0 2px}.field-label{margin-bottom:-3px}
.status-frame.ok{background:#e8fff2;border-color:#c3efd5;color:#07633a}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:var(--text)}.check-row input{width:auto}.mt{margin-top:10px}.gap{gap:7px}.row.wrap{display:flex;flex-wrap:wrap}.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.2);transform:none!important}body.hide-balances [data-money]{filter:blur(7px);user-select:none}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{transition:none!important;animation:none!important}body.cozy-density .card{padding:17px}body.cozy-density .btn{min-height:40px}.metric small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:2px}.status-frame a{font-weight:900;text-decoration:underline}.compact-dl dd{min-width:0}.inline-form .tiny-input{margin-right:4px}@media(max-width:720px){.quick-grid{grid-template-columns:1fr}.inline-form .tiny-input{width:100%;margin:3px 0}.cards-4.tight{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.cards-4.tight{grid-template-columns:1fr}}

/* polish pass: cleaner spacing + premium motion */
.page-shell{margin-top:16px}.tab-panel.active{display:grid;gap:13px}.grid + .grid{margin-top:0}.card,.small-card,.list-row,.mini-row,.user-result,.tool-card{position:relative;overflow:hidden;transform:translateZ(0);will-change:transform,opacity}.card::before,.tool-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at var(--mx,20%) var(--my,0%),rgba(102,214,178,.16),transparent 42%);opacity:0;transition:opacity .35s ease;pointer-events:none}.card:hover::before,.tool-card:hover::before{opacity:1}.card:hover,.tool-card:hover,.list-row:hover,.user-result:hover{transform:translateY(-2px);border-color:rgba(102,214,178,.34);box-shadow:0 18px 44px rgba(9,25,17,.13)}.metric.card{min-height:89px;display:grid;align-content:center}.metric.card strong{line-height:.98}.tab-strip{gap:7px;padding:5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(9,25,17,.05)}.tab-btn{position:relative;overflow:hidden;transition:transform .18s ease,background .22s ease,color .22s ease,opacity .22s ease}.tab-btn:not(.active){opacity:.72}.tab-btn:hover{opacity:1;transform:translateY(-1px)}.tab-btn.active{background:linear-gradient(135deg,#0f2018,#183528);box-shadow:0 10px 26px rgba(11,35,25,.18)}.btn,.seg-btn{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .22s ease,filter .22s ease,background .22s ease}.btn:hover{box-shadow:0 12px 26px rgba(17,106,82,.22)}.btn.ghost:hover{box-shadow:0 10px 24px rgba(9,25,17,.08)}.btn::after,.tab-btn::after,.seg-btn::after{content:"";position:absolute;left:var(--rx,50%);top:var(--ry,50%);width:0;height:0;border-radius:50%;background:rgba(255,255,255,.34);transform:translate(-50%,-50%);pointer-events:none}.rippling::after{animation:ripple .52s ease-out}.status-pills .badge.ok{animation:softPulse 4.5s ease-in-out infinite}.flash,.status-frame{animation:toastIn .34s cubic-bezier(.2,.9,.2,1)}.list-row{transition:transform .18s ease,border-color .22s ease,box-shadow .22s ease;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86))}.timeline-list{position:relative}.timeline-row::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px rgba(17,106,82,.12);margin-right:2px;flex:0 0 7px}.tool-card{display:grid;gap:4px;min-height:86px;border:1px solid var(--line);border-radius:var(--r);padding:13px;background:linear-gradient(145deg,var(--panel),var(--panel2));box-shadow:var(--shadow);color:var(--text)}.tool-card span{font-size:11px;font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.tool-card strong{font-size:14px;letter-spacing:-.02em}.feature-strip{margin-top:0}.meter{height:12px;border-radius:999px;background:rgba(128,140,132,.18);overflow:hidden;display:flex;border:1px solid var(--line)}.meter span{display:block;height:100%;min-width:0;transition:width .6s cubic-bezier(.2,.8,.2,1)}.meter span:nth-child(1){background:linear-gradient(90deg,#22a77f,#66d6b2)}.meter span:nth-child(2){background:linear-gradient(90deg,#d8b866,#f0d98f)}.meter span:nth-child(3){background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px;font-weight:800}.mini-stats b{color:var(--text)}time{font-variant-numeric:tabular-nums}.card.is-visible,.tool-card.is-visible,.list-row.is-visible,.metric.is-visible,.user-result.is-visible{animation:cardIn .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--stagger,0ms)}.tab-panel.active .card,.tab-panel.active .tool-card,.tab-panel.active .list-row{animation:cardIn .36s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--stagger,0ms)}.hero-card{animation:floaty 7s ease-in-out infinite}.brand img{filter:drop-shadow(0 7px 14px rgba(0,0,0,.18));transition:transform .35s ease}.brand:hover img{transform:rotate(-4deg) scale(1.06)}
@keyframes cardIn{from{opacity:.001;transform:translateY(10px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes toastIn{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes softPulse{0%,100%{box-shadow:0 0 0 0 rgba(8,116,67,0)}50%{box-shadow:0 0 0 5px rgba(8,116,67,.08)}}@keyframes ripple{to{width:220px;height:220px;opacity:0}}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@supports (view-transition-name: root){::view-transition-old(root){animation:fadeOut .16s ease both}::view-transition-new(root){animation:fadeIn .22s ease both}@keyframes fadeOut{to{opacity:.75;filter:blur(2px)}}@keyframes fadeIn{from{opacity:.75;filter:blur(2px)}}}
html[data-theme="dark"] .list-row,html[data-theme="dark"] .mini-row{background:linear-gradient(180deg,#101815,#0f1713)}html[data-theme="dark"] .card:hover,html[data-theme="dark"] .tool-card:hover{box-shadow:0 18px 44px rgba(0,0,0,.42);border-color:rgba(102,214,178,.36)}html[data-theme="dark"] .tab-btn.active{background:linear-gradient(135deg,#d7c27b,#70dfba);color:#08110d}html[data-theme="dark"] .tool-card{background:linear-gradient(145deg,var(--panel),var(--panel2))}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-card{animation:none!important}}body.reduce-motion .hero-card{animation:none!important}.reduce-motion .card,.reduce-motion .tool-card,.reduce-motion .list-row,.reduce-motion .user-result{transform:none!important;filter:none!important}
@media(max-width:720px){.tab-panel.active{gap:10px}.metric.card{min-height:76px}.feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card{min-height:74px}}@media(max-width:430px){.feature-strip{grid-template-columns:1fr}.tab-strip{gap:4px}.tab-btn{padding:7px 9px}}

/* public/login copy refresh + fuller banking dashboard */
.public-hero{align-items:center;min-height:330px}.hero-actions{margin-top:18px}.bank-preview{display:grid;gap:12px;padding:20px;min-height:180px;background:linear-gradient(145deg,rgba(21,34,28,.92),rgba(13,20,17,.92));border-color:rgba(102,214,178,.28)}.preview-topline{font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preview-grid span{display:flex;align-items:center;gap:7px;border:1px solid rgba(102,214,178,.22);background:rgba(255,255,255,.055);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.preview-grid span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px rgba(102,214,178,.7)}.bank-preview p{margin:0;color:var(--muted);font-size:13px}.public-feature-row .feature-card{min-height:126px}.feature-card h3{letter-spacing:-.025em}.feature-card p{font-size:14px;line-height:1.45}.login-shell{min-height:calc(100vh - 210px)}.upgraded-auth{width:min(460px,100%);padding:24px 18px}.upgraded-auth h1{margin:2px 0 8px}.auth-actions{display:grid;gap:10px;margin:18px 0 14px}.auth-actions .btn{justify-content:center;min-height:42px}.auth-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.auth-mini-grid span{border:1px solid var(--line);border-radius:999px;padding:7px 8px;text-align:center;font-size:11.5px;font-weight:900;color:var(--muted);background:rgba(255,255,255,.5)}

.banking-strip{margin-top:0}.mini-bank-card{min-height:108px}.mini-bank-card p{margin-bottom:0;color:var(--muted);line-height:1.45}.card-showcase{overflow:hidden}.virtual-card{position:relative;border-radius:22px;padding:18px;min-height:184px;color:#f7fff9;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.28),transparent 32%),linear-gradient(135deg,#0b1813 0%,#13745c 45%,#111b16 100%);box-shadow:0 22px 46px rgba(6,55,38,.32),inset 0 1px 0 rgba(255,255,255,.3);display:grid;align-content:space-between;isolation:isolate}.virtual-card::before{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.24) 48%,transparent 62%);transform:translateX(-42%) rotate(8deg);animation:cardShine 7s ease-in-out infinite;z-index:-1}.virtual-card::after{content:"";position:absolute;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.26),rgba(255,255,255,.04));box-shadow:-22px 0 0 rgba(255,255,255,.10)}.vc-top,.vc-bottom{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;opacity:.92}.vc-number{font-size:clamp(22px,3vw,32px);font-weight:950;letter-spacing:.08em;text-shadow:0 2px 10px rgba(0,0,0,.22)}.control-list{display:grid;gap:8px}.control-list div,.limit-grid div{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.48);border-radius:14px;padding:10px 11px}.control-list strong,.limit-grid b{font-size:12px}.control-list span,.limit-grid span{font-size:12px;color:var(--muted);font-weight:850;text-align:right}.big-balance{font-size:32px;line-height:1;font-weight:950;letter-spacing:-.05em;margin:4px 0 9px}.limit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.limit-grid div{display:grid;justify-items:start}.limit-grid span{text-align:left}.feature-strip .tool-card{min-height:94px}.tool-card:hover strong{transform:translateX(2px)}.tool-card strong{transition:transform .18s ease}.tab-strip.compact-tabs{overflow:auto;scrollbar-width:thin}.tab-strip.compact-tabs::-webkit-scrollbar{height:5px}.tab-strip.compact-tabs::-webkit-scrollbar-thumb{background:rgba(102,214,178,.35);border-radius:999px}

html[data-theme="dark"] .auth-mini-grid span,html[data-theme="dark"] .control-list div,html[data-theme="dark"] .limit-grid div{background:rgba(255,255,255,.045)}html[data-theme="dark"] .bank-preview{background:linear-gradient(145deg,rgba(16,28,22,.96),rgba(8,13,11,.96))}html[data-theme="dark"] .virtual-card{background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.23),transparent 32%),linear-gradient(135deg,#09120f 0%,#0b7c61 45%,#0f1814 100%)}
@keyframes cardShine{0%,45%{transform:translateX(-55%) rotate(8deg);opacity:0}58%{opacity:1}75%,100%{transform:translateX(55%) rotate(8deg);opacity:0}}
@media(max-width:820px){.preview-grid,.auth-mini-grid{grid-template-columns:1fr}.limit-grid{grid-template-columns:1fr}.public-hero{min-height:auto}.virtual-card{min-height:160px}}@media(max-width:520px){.upgraded-auth{padding:20px 14px}.public-feature-row .feature-card{min-height:auto}.vc-number{letter-spacing:.04em}.control-list div{align-items:flex-start;flex-direction:column}.control-list span{text-align:left}.hero-actions .btn{width:100%}}
body.reduce-motion .virtual-card::before{animation:none!important}

/* Ascent credit score / bank feature layer */
.credit-mini small{display:block;color:var(--muted);font-size:11px;font-weight:900;margin-top:2px}.credit-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:13px;padding:8px 10px;margin:8px 0 10px;font-size:12px}.credit-inline b{color:var(--accent)}.credit-inline span{font-weight:900;color:var(--muted)}.credit-score-card{display:grid;place-items:start;gap:8px}.score-orb{--score:0%;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:2px auto 8px;background:conic-gradient(var(--accent) var(--score),rgba(128,140,132,.18) 0);box-shadow:0 18px 42px rgba(17,106,82,.18);position:relative;animation:scorePop .52s cubic-bezier(.2,.9,.2,1) both}.score-orb::before{content:"";position:absolute;inset:12px;border-radius:50%;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line)}.score-orb span,.score-orb small{position:relative;z-index:1}.score-orb span{font-size:38px;line-height:.9;font-weight:950;letter-spacing:-.07em}.score-orb small{align-self:start;margin-top:-42px;color:var(--muted);font-weight:900}.factor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.factor-card{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);padding:10px;display:grid;gap:4px;min-height:88px}.factor-card strong{font-size:12px}.factor-card span{font-weight:950}.factor-card small{color:var(--muted);font-weight:850}.factor-card.good{border-color:#bfe9d2;background:rgba(8,116,67,.08)}.factor-card.warn{border-color:#efd99d;background:rgba(154,103,0,.08)}.factor-card.bad{border-color:#f4b5ae;background:rgba(180,35,24,.08)}@keyframes scorePop{from{opacity:0;transform:scale(.92) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}html[data-theme="dark"] .credit-inline,html[data-theme="dark"] .factor-card{background:rgba(255,255,255,.045)}html[data-theme="dark"] .score-orb::before{background:linear-gradient(180deg,var(--panel),var(--panel2))}@media(max-width:820px){.factor-grid{grid-template-columns:1fr}.score-orb{width:128px;height:128px}.score-orb span{font-size:32px}.score-orb small{margin-top:-36px}}


/* Upgraded circular Ascent credit score UI */
.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.premium-credit-card{overflow:hidden;position:relative}.premium-credit-card::after{content:"";position:absolute;inset:-35% auto auto -40%;width:140px;height:260px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(20deg);animation:creditSweep 5.8s ease-in-out infinite;pointer-events:none}.score-ring-wrap{display:grid;place-items:center;width:100%;gap:7px}.score-ring,.mini-score-ring{--score:0%;--tier:#0e8f69;background:conic-gradient(var(--tier) var(--score),rgba(126,139,132,.18) 0)}.score-ring{width:176px;height:176px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 20px 45px rgba(17,106,82,.20),inset 0 0 0 1px rgba(255,255,255,.35);animation:scorePop .58s cubic-bezier(.2,.9,.2,1) both,scoreGlow 3.8s ease-in-out infinite}.score-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:inset 0 12px 30px rgba(255,255,255,.24)}.score-ring-core{position:relative;z-index:1;display:grid;place-items:center;text-align:center}.score-number{font-size:43px;font-weight:950;line-height:.88;letter-spacing:-.08em}.score-ring-core small{color:var(--muted);font-weight:900;margin-top:3px}.score-ring-core em{font-style:normal;font-size:11px;font-weight:950;color:var(--accent);margin-top:5px;text-transform:uppercase;letter-spacing:.08em}.score-scale{width:160px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:900}.tier-excellent{--tier:#078447}.tier-very-good{--tier:#0e8f69}.tier-good{--tier:#178bd5}.tier-fair{--tier:#c7951a}.tier-limited{--tier:#d06b21}.tier-risk{--tier:#bc342b}.tier-badge{border-color:color-mix(in srgb,var(--tier) 45%,var(--line));background:color-mix(in srgb,var(--tier) 10%,transparent);color:var(--text)}.credit-score-text{max-width:34ch;text-align:center;margin-inline:auto}.credit-mini-ring{align-items:center}.mini-score-ring{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:2px auto 0;position:relative;box-shadow:0 10px 22px rgba(17,106,82,.14)}.mini-score-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--panel);border:1px solid var(--line)}.mini-score-ring strong{position:relative;z-index:1;font-size:17px;letter-spacing:-.05em}.score-change-panel{transition:opacity .22s ease,transform .22s ease,max-height .28s ease;margin-top:10px}.score-change-panel.is-hidden{display:none}.compact-timeline{display:grid;gap:8px}.timeline-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.52);border-radius:14px;padding:9px 11px}.timeline-item b{font-size:13px;color:var(--accent)}.timeline-item span{font-weight:900;font-size:12px}.timeline-item small{color:var(--muted);font-weight:800}.factor-grid-upgraded .factor-card{transition:transform .18s ease,box-shadow .18s ease}.factor-grid-upgraded .factor-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,20,16,.08)}@keyframes creditSweep{0%,55%{transform:translateX(-40px) rotate(20deg);opacity:0}65%{opacity:1}80%,100%{transform:translateX(520px) rotate(20deg);opacity:0}}@keyframes scoreGlow{0%,100%{filter:saturate(1)}50%{filter:saturate(1.18)}}html[data-theme="dark"] .timeline-item{background:rgba(255,255,255,.045)}html[data-theme="dark"] .score-ring::before,html[data-theme="dark"] .mini-score-ring::before{background:linear-gradient(180deg,var(--panel),var(--panel2))}body.reduce-motion .premium-credit-card::after,body.reduce-motion .score-ring{animation:none!important}@media(max-width:820px){.score-ring{width:142px;height:142px}.score-number{font-size:34px}.score-scale{width:132px}.timeline-item{grid-template-columns:1fr}.credit-score-text{text-align:left}.premium-credit-card{place-items:stretch}}

/* Real SVG credit ring + spacing cleanup */
.credit-layout{grid-template-columns:minmax(250px,.9fr) minmax(230px,1fr) minmax(230px,1fr);align-items:stretch}.credit-score-card{place-items:stretch;text-align:center;gap:12px}.score-ring-wrap{gap:8px}.score-meter{--tier:#0e8f69;position:relative;width:196px;height:196px;margin:4px auto 2px;display:grid;place-items:center;isolation:isolate;filter:drop-shadow(0 18px 32px rgba(17,106,82,.18));animation:scorePop .48s cubic-bezier(.2,.9,.2,1) both}.score-meter-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.meter-halo{fill:none;stroke:color-mix(in srgb,var(--tier) 14%,transparent);stroke-width:13;filter:blur(.2px)}.meter-track{fill:none;stroke:rgba(127,140,132,.18);stroke-width:13;stroke-linecap:round}.meter-progress{fill:none;stroke:var(--tier);stroke-width:13;stroke-linecap:round;transition:stroke-dashoffset .95s cubic-bezier(.19,1,.22,1),stroke .25s ease;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--tier) 34%,transparent))}.score-meter::before{content:"";position:absolute;inset:29px;border-radius:50%;background:radial-gradient(circle at 38% 24%,rgba(255,255,255,.9),transparent 34%),linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:inset 0 12px 34px rgba(255,255,255,.35),0 10px 25px rgba(18,28,21,.06);z-index:-1}.score-ring-core{position:relative;z-index:2;display:grid;place-items:center;text-align:center;gap:3px}.score-number{font-size:48px;font-weight:950;line-height:.88;letter-spacing:-.08em}.score-ring-core small{font-size:12px;color:var(--muted);font-weight:900}.score-ring-core em{font-style:normal;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.1em;color:var(--tier)}.score-scale{width:190px;margin:0 auto;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;font-weight:900}.mini-score-ring-svg{--tier:#0e8f69;position:relative;width:58px;height:58px;margin:3px auto 1px;display:grid;place-items:center}.mini-score-ring-svg svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.mini-score-ring-svg .ring-track{fill:none;stroke:rgba(127,140,132,.2);stroke-width:7}.mini-score-ring-svg .ring-progress{fill:none;stroke:var(--tier);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.19,1,.22,1);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tier) 38%,transparent))}.mini-score-ring-svg::before{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line)}.mini-score-ring-svg strong{position:relative;z-index:2;font-size:17px;font-weight:950;letter-spacing:-.05em}.premium-credit-card{background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--tier) 12%,transparent),transparent 43%),linear-gradient(180deg,var(--panel),var(--panel2))}.premium-credit-card .btn{margin-inline:auto}.credit-score-text{max-width:38ch;text-align:center;margin:2px auto 0;line-height:1.55}.score-change-panel{padding:16px}.timeline-list{gap:10px}.timeline-item{grid-template-columns:minmax(60px,auto) 1fr auto;gap:12px;line-height:1.35}.timeline-item span{font-size:12.5px}.factor-grid{gap:10px}.factor-card{padding:12px;line-height:1.32}.factor-card strong{font-size:12.2px}.factor-card span{font-size:13px}.detail-list{gap:8px 12px;align-items:start}.detail-list dt{line-height:1.35}.detail-list dd{line-height:1.42;min-width:0}.compact-dl{grid-template-columns:minmax(108px,.8fr) 1fr}.card p{margin:6px 0 0;line-height:1.55}.card .muted{line-height:1.55}.quick-grid{gap:8px}.list-row,.mini-row{line-height:1.35}.card-title-row h3{margin:0}.card-title-row{margin-bottom:6px}.status-pills{row-gap:6px}.tab-panel{animation:panelFade .2s ease both}.tier-excellent{--tier:#078447}.tier-very-good{--tier:#0e8f69}.tier-good{--tier:#178bd5}.tier-fair{--tier:#c7951a}.tier-limited{--tier:#d06b21}.tier-risk{--tier:#bc342b}html[data-theme="dark"] .score-meter::before,html[data-theme="dark"] .mini-score-ring-svg::before{background:linear-gradient(180deg,var(--panel),var(--panel2));box-shadow:inset 0 12px 34px rgba(255,255,255,.05),0 10px 25px rgba(0,0,0,.2)}html[data-theme="dark"] .meter-track,html[data-theme="dark"] .mini-score-ring-svg .ring-track{stroke:rgba(255,255,255,.12)}body.reduce-motion .score-meter,body.reduce-motion .meter-progress,body.reduce-motion .mini-score-ring-svg .ring-progress{animation:none!important;transition:none!important}@media(max-width:900px){.credit-layout{grid-template-columns:1fr}.score-meter{width:174px;height:174px}.score-number{font-size:42px}.score-scale{width:170px}.timeline-item{grid-template-columns:1fr}.credit-score-text{text-align:center}.compact-dl,.detail-list{grid-template-columns:1fr}.detail-list dt{margin-top:2px}.detail-list dd{padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--line) 74%,transparent)}}@media(max-width:520px){.score-meter{width:158px;height:158px}.score-number{font-size:37px}.score-ring-core small{font-size:11px}.score-scale{width:150px}.credit-score-card{text-align:left}.credit-score-card .card-title-row,.credit-score-card .credit-score-text{text-align:left}.premium-credit-card .btn{margin-inline:0}.mini-score-ring-svg{margin-left:0}.metric.credit-mini{text-align:left}.metric.credit-mini small{margin-left:0}}

/* Final UI polish: visible credit rings + spacing repair */
.score-meter,.mini-score-ring-svg{--score-color:#13a77b;--tier:var(--score-color)!important;color:var(--text)}
.score-meter.tier-excellent,.mini-score-ring-svg.tier-excellent{--score-color:#14a65f!important}.score-meter.tier-very-good,.mini-score-ring-svg.tier-very-good{--score-color:#13a77b!important}.score-meter.tier-good,.mini-score-ring-svg.tier-good{--score-color:#2f8fe8!important}.score-meter.tier-fair,.mini-score-ring-svg.tier-fair{--score-color:#d69a18!important}.score-meter.tier-limited,.mini-score-ring-svg.tier-limited{--score-color:#e27722!important}.score-meter.tier-risk,.mini-score-ring-svg.tier-risk{--score-color:#df4237!important}
.score-meter .meter-progress{stroke:var(--score-color)!important;filter:drop-shadow(0 0 12px rgba(19,167,123,.38))}.score-meter .meter-halo{stroke:var(--score-color)!important;opacity:.14}.score-meter .meter-track{stroke:rgba(124,139,132,.24)!important}.mini-score-ring-svg .ring-progress{stroke:var(--score-color)!important;filter:drop-shadow(0 0 8px rgba(19,167,123,.35))}.mini-score-ring-svg .ring-track{stroke:rgba(124,139,132,.24)!important}
.score-meter{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.16),transparent 60%);border-radius:50%}.score-meter::after{content:"";position:absolute;inset:22px;border-radius:50%;border:1px solid rgba(255,255,255,.28);box-shadow:0 0 0 7px rgba(255,255,255,.04);pointer-events:none}.score-ring-core{min-width:104px;min-height:86px;padding-top:4px}.score-ring-core .score-number{display:block;margin-bottom:2px}.score-ring-core small,.score-ring-core em{display:block;line-height:1.15}.mini-score-ring-svg{background:transparent;border-radius:50%}.mini-score-ring-svg strong{line-height:1}
.premium-credit-card{gap:14px!important;padding:16px!important}.premium-credit-card .card-title-row{margin-bottom:2px}.premium-credit-card .score-ring-wrap{margin:4px 0 2px}.credit-score-text{max-width:45ch!important;line-height:1.58!important;margin:4px auto 2px!important}.score-scale{line-height:1.2}.factor-card{display:flex;flex-direction:column;justify-content:space-between}.factor-card strong,.factor-card span,.factor-card small{display:block;line-height:1.35}.score-change-panel .timeline-item{padding:10px 12px!important}.timeline-item b,.timeline-item span,.timeline-item small{line-height:1.35}
.login-shell{min-height:calc(100vh - 170px);padding:clamp(18px,4vw,42px) 0;align-items:center}.upgraded-auth{display:grid;gap:14px;width:min(480px,100%);padding:clamp(20px,4vw,28px)!important}.upgraded-auth .eyebrow{margin:0}.upgraded-auth h1{margin:0!important;line-height:1.02;letter-spacing:-.055em}.upgraded-auth > .muted{margin:0;line-height:1.55;max-width:38ch}.auth-actions{display:grid!important;grid-template-columns:1fr;gap:11px!important;margin:4px 0 2px!important}.auth-actions .btn{width:100%;min-height:44px;padding:10px 14px}.auth-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin-top:2px!important}.auth-mini-grid span{display:flex;align-items:center;justify-content:center;min-height:34px;line-height:1.22;padding:8px 9px!important;white-space:normal}.hero-actions{display:flex;flex-wrap:wrap;gap:10px!important;margin-top:18px}.hero-actions .btn{min-width:150px}.public-feature-row{align-items:stretch}.feature-card{display:grid;align-content:start;gap:7px}.feature-card h3{margin:0!important;line-height:1.2}.feature-card p{margin:0!important;line-height:1.55!important}.bank-preview{gap:14px}.preview-grid{gap:9px}.preview-grid span{min-height:35px;line-height:1.2;white-space:normal}.bank-preview p{line-height:1.5!important}
.card{line-height:1.42}.card h3{line-height:1.22;margin-bottom:10px}.card p,.card .muted,.empty{line-height:1.56}.detail-list{gap:8px 13px!important}.detail-list dt,.detail-list dd{line-height:1.38}.list-row,.mini-row{align-items:flex-start;line-height:1.38}.list-row span,.mini-row span{min-width:0}.list-row small,.mini-row small{display:inline-block;margin-top:2px;line-height:1.35}.quick-grid{gap:9px!important}.quick-grid .btn{white-space:normal;text-align:center}.tool-card{line-height:1.25}.tool-card span,.tool-card strong{display:block}.tab-btn{line-height:1.15}.status-frame,.flash{line-height:1.42}.badge{line-height:1.1}.command-copy{align-items:flex-start}.command-copy code{line-height:1.35}.stack-form{gap:9px}.stack-form label{line-height:1.25}input,select,textarea{line-height:1.35}.metric span,.metric small{line-height:1.25}.metric strong{line-height:1.05}.settings-grid .card,.banking-strip .card,.feature-strip .tool-card{min-width:0}
html[data-theme="dark"] .score-meter .meter-track,html[data-theme="dark"] .mini-score-ring-svg .ring-track{stroke:rgba(255,255,255,.18)!important}html[data-theme="dark"] .score-meter::after{border-color:rgba(255,255,255,.11);box-shadow:0 0 0 7px rgba(255,255,255,.025)}html[data-theme="dark"] .upgraded-auth,html[data-theme="dark"] .small-card{background:linear-gradient(180deg,var(--panel),var(--panel2))}
@media(max-width:720px){.upgraded-auth{width:100%}.auth-mini-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%;min-width:0}.preview-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.status-pills{justify-content:flex-start}.detail-list{grid-template-columns:1fr!important}.detail-list dd{padding-bottom:6px}.credit-layout{gap:12px}.score-meter{width:168px!important;height:168px!important}.score-ring-core .score-number{font-size:38px!important}.score-scale{width:156px!important}.premium-credit-card{text-align:left}.credit-score-text{text-align:left!important}.premium-credit-card .btn{margin-left:0!important}}

/* Ascent card + operator/support controls */
.empty-card-state{display:grid;gap:8px;place-items:start;padding:18px;border:1px dashed var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.22));margin:10px 0 14px}.empty-card-state strong{font-size:18px;letter-spacing:-.03em}.premium-vc{position:relative;overflow:hidden;min-height:190px;padding:18px;border-radius:22px;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.42),transparent 24%),linear-gradient(135deg,#101a15,#183f31 52%,#c7a76a);color:#fff;box-shadow:0 24px 55px rgba(21,38,30,.22);display:flex;flex-direction:column;justify-content:space-between}.premium-vc::after{content:"";position:absolute;inset:-45% -20% auto auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(3px)}.premium-vc.is-frozen{filter:saturate(.65);background:linear-gradient(135deg,#202729,#4b565b)}.vc-top,.vc-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.09em;opacity:.92}.vc-number{position:relative;z-index:1;font-size:clamp(22px,3vw,30px);font-weight:950;letter-spacing:.08em;word-spacing:.28em;text-shadow:0 2px 16px rgba(0,0,0,.24)}.control-list{display:grid;gap:8px}.control-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.control-list span{text-align:right;min-width:0}.gap{gap:8px}.wrap{flex-wrap:wrap}.field-label{font-size:12px;font-weight:900;color:var(--muted)}.priority-high,.priority-urgent{font-weight:900}.support-tool-grid{display:grid;gap:9px}.feature-pause-list{display:grid;gap:8px}.feature-pause-list .mini-row{border:1px solid var(--line);border-radius:14px;padding:10px}@media(max-width:620px){.premium-vc{min-height:170px}.vc-top,.vc-bottom{font-size:10.5px}.vc-number{font-size:19px;word-spacing:.16em}.control-list>div{display:grid}.control-list span{text-align:left}.empty-card-state{padding:14px}}


/* Ascent card flip UI */
.card-flip-wrap{
  perspective:1200px;
  width:min(100%,420px);
  margin:10px auto 0;
  outline:none;
}
.card-flip-wrap:focus-visible{filter:drop-shadow(0 0 0.65rem rgba(64,224,180,.35));}
.card-flip-wrap:hover .card-flip,
.card-flip-wrap:focus-visible .card-flip{
  transform:rotateY(180deg);
}
.virtual-card.premium-vc.card-flip{
  position:relative;
  min-height:220px;
  padding:0;
  overflow:visible;
  border-radius:24px;
  background:transparent;
  box-shadow:none;
  transform-style:preserve-3d;
  transition:transform .72s cubic-bezier(.2,.8,.2,1);
  color:#17201b;
}
.virtual-card.premium-vc.card-flip::after{display:none;}
.card-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:24px;
  padding:19px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 26px 60px rgba(12,25,18,.23), inset 0 1px 0 rgba(255,255,255,.75);
  background-image:
    linear-gradient(110deg,rgba(255,255,255,.70),rgba(255,255,255,.36) 44%,rgba(219,226,231,.52)),
    url('/img/ascent-card-art.jpg?v=75');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.card-face::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.10) 48%,rgba(192,201,208,.32));
  pointer-events:none;
}
.card-face>*{position:relative;z-index:1;}
.card-back{
  transform:rotateY(180deg);
  padding:20px 0 18px;
  color:#141a18;
}
.card-back .vc-back-brand,.card-back .vc-back-bottom,.card-back .vc-signature-row{margin-inline:19px;}
.vc-top,.vc-bottom{
  text-transform:none!important;
  letter-spacing:.01em!important;
  font-size:12px!important;
  color:#17201b;
  opacity:.94;
}
.vc-top span:first-child{font-size:17px;font-weight:950;letter-spacing:-.03em;}
.vc-number{
  color:#121918;
  text-shadow:0 1px 18px rgba(255,255,255,.55);
  letter-spacing:.075em;
  word-spacing:.22em;
}
.vc-magstripe{
  height:48px;
  width:100%;
  margin:14px 0 18px;
  background:linear-gradient(180deg,#070808,#171918 55%,#050606);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.22);
}
.vc-signature-row{
  min-height:38px;
  border-radius:11px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.9) 0 6px,rgba(222,226,226,.9) 6px 12px);
  border:1px solid rgba(20,26,24,.12);
  font-size:11px;
  font-weight:850;
}
.vc-signature-row strong{
  border-radius:8px;
  padding:6px 8px;
  color:#0e1512;
  background:rgba(255,255,255,.92);
  letter-spacing:.08em;
}
.vc-back-brand{font-size:18px;font-weight:950;letter-spacing:-.03em;}
.vc-back-bottom{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:900;color:#1b2420;}
.card-hover-hint{text-align:center;margin-top:9px;}
.premium-vc.is-frozen .card-face{filter:saturate(.38) brightness(.88);}
html[data-theme="dark"] .card-face{border-color:rgba(255,255,255,.55);}
@media(max-width:620px){
  .virtual-card.premium-vc.card-flip{min-height:190px;}
  .card-face{padding:16px;border-radius:20px;}
  .card-back{padding:17px 0 15px;}
  .vc-number{font-size:18px;word-spacing:.14em;}
  .vc-magstripe{height:42px;margin:12px 0 14px;}
  .vc-signature-row{display:grid;gap:6px;align-items:start;}
}
body.reduce-motion .card-flip{transition:none!important;}
body.reduce-motion .card-flip-wrap:hover .card-flip,body.reduce-motion .card-flip-wrap:focus-visible .card-flip{transform:none;}

/* Final Ascent card sizing + private numbered card UI */
.card-flip-wrap{
  width:min(100%,356px)!important;
  max-width:356px!important;
  margin:10px auto 0!important;
  aspect-ratio:85.6 / 53.98;
}
.virtual-card.premium-vc.card-flip{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:85.6 / 53.98!important;
  border-radius:18px!important;
}
.card-face{
  border-radius:18px!important;
  padding:15px 16px!important;
  background-image:
    linear-gradient(110deg,rgba(255,255,255,.78),rgba(255,255,255,.34) 43%,rgba(220,227,233,.55)),
    url('/img/ascent-card-art.jpg?v=75')!important;
  background-size:cover!important;
  background-position:center!important;
}
.card-face::before{
  background:linear-gradient(180deg,rgba(255,255,255,.50),rgba(255,255,255,.08) 48%,rgba(190,199,207,.29))!important;
}
.vc-top,.vc-bottom{
  font-size:10.8px!important;
  text-transform:none!important;
  letter-spacing:.005em!important;
}
.vc-top span:first-child{
  font-size:15px!important;
}
.vc-number{
  font-size:clamp(18px,2.35vw,24px)!important;
  letter-spacing:.065em!important;
  word-spacing:.16em!important;
  line-height:1.08!important;
}
.card-back{
  padding:14px 0 13px!important;
}
.card-back .vc-back-brand,.card-back .vc-back-bottom,.card-back .vc-signature-row{
  margin-inline:16px!important;
}
.vc-magstripe{
  height:39px!important;
  margin:10px 0 13px!important;
}
.vc-signature-row{
  min-height:34px!important;
  padding:7px 9px!important;
  font-size:10px!important;
}
.vc-signature-row strong{
  padding:5px 7px!important;
  font-size:10.5px!important;
}
.vc-back-brand{
  font-size:15px!important;
}
.vc-back-bottom{
  font-size:10px!important;
}
@media(max-width:520px){
  .card-flip-wrap{width:min(100%,330px)!important;max-width:330px!important;}
  .card-face{padding:13px!important;border-radius:17px!important;}
  .virtual-card.premium-vc.card-flip{border-radius:17px!important;}
  .vc-number{font-size:17px!important;word-spacing:.09em!important;}
  .vc-magstripe{height:35px!important;margin:9px 0 10px!important;}
}


/* Final logo theme switch + Ascent card fix */
.brand .brand-logo{width:30px;height:30px;object-fit:contain;transition:opacity .22s ease,filter .22s ease,transform .22s ease;}
.brand .brand-logo-dark{display:none;filter:drop-shadow(0 0 8px rgba(255,255,255,.28));}
html[data-theme="dark"] .brand .brand-logo-light{display:none!important;}
html[data-theme="dark"] .brand .brand-logo-dark{display:block!important;}
html[data-theme="light"] .brand .brand-logo-light{display:block!important;}
html[data-theme="light"] .brand .brand-logo-dark{display:none!important;}

.card-flip-wrap{
  width:min(100%,340px)!important;
  max-width:340px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1400px!important;
  margin:12px auto 0!important;
  display:block!important;
  border-radius:18px!important;
}
.virtual-card.premium-vc.card-flip{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:85.6/53.98!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  display:block!important;
  transform-style:preserve-3d!important;
  transform:rotateY(0deg)!important;
  transition:transform .78s cubic-bezier(.2,.78,.16,1)!important;
  will-change:transform;
}
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:rotateY(180deg)!important;
}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:18px!important;
  padding:15px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  background:url('/img/ascent-card-art.jpg?v=75') center/cover no-repeat!important;
  border:1px solid rgba(255,255,255,.92)!important;
  box-shadow:0 24px 58px rgba(8,18,14,.26),inset 0 1px 0 rgba(255,255,255,.85)!important;
  color:#151d1a!important;
}
.card-face::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.03) 48%,rgba(188,198,207,.16))!important;pointer-events:none!important;}
.card-face>*{position:relative!important;z-index:2!important;}
.card-front{transform:rotateY(0deg)!important;}
.card-back{transform:rotateY(180deg)!important;padding:14px 0 13px!important;}
.card-back .vc-back-brand,.card-back .vc-back-bottom,.card-back .vc-signature-row{margin-inline:16px!important;}
.card-back .vc-back-brand{font-size:15px!important;font-weight:950!important;letter-spacing:-.03em!important;color:#101815!important;}
.vc-top,.vc-bottom{display:flex!important;justify-content:space-between!important;gap:12px!important;text-transform:none!important;letter-spacing:.01em!important;font-size:10.8px!important;font-weight:900!important;color:#111a17!important;text-shadow:0 1px 12px rgba(255,255,255,.75)!important;opacity:1!important;}
.vc-top span:first-child{font-size:15px!important;font-weight:950!important;letter-spacing:-.03em!important;}
.vc-number{font-size:clamp(17px,2.25vw,23px)!important;line-height:1.08!important;letter-spacing:.065em!important;word-spacing:.14em!important;color:#111a17!important;text-shadow:0 1px 18px rgba(255,255,255,.85)!important;font-weight:950!important;}
.vc-magstripe{height:38px!important;width:100%!important;margin:9px 0 12px!important;background:linear-gradient(180deg,#050606,#171918 58%,#040505)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 20px rgba(0,0,0,.24)!important;}
.vc-signature-row{min-height:34px!important;border-radius:10px!important;padding:7px 9px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;background:repeating-linear-gradient(135deg,rgba(255,255,255,.92) 0 6px,rgba(224,229,231,.92) 6px 12px)!important;border:1px solid rgba(20,26,24,.14)!important;font-size:10px!important;font-weight:850!important;color:#111a17!important;}
.vc-signature-row strong{border-radius:8px!important;padding:5px 7px!important;color:#0e1512!important;background:rgba(255,255,255,.94)!important;letter-spacing:.08em!important;font-size:10.5px!important;white-space:nowrap!important;}
.vc-back-bottom{display:flex!important;justify-content:space-between!important;gap:12px!important;font-size:10px!important;font-weight:900!important;color:#111a17!important;}
.virtual-card.premium-vc.card-flip::before,.virtual-card.premium-vc.card-flip::after{display:none!important;}
.premium-vc.is-frozen .card-face{filter:saturate(.42) brightness(.9)!important;}
body.reduce-motion .card-flip{transition:transform .78s cubic-bezier(.2,.78,.16,1)!important;}
body.reduce-motion .card-flip-wrap:hover .card-flip,
body.reduce-motion .card-flip-wrap:focus .card-flip,
body.reduce-motion .card-flip-wrap:focus-visible .card-flip,
body.reduce-motion .card-flip-wrap:focus-within .card-flip{transform:rotateY(180deg)!important;}
@media(max-width:520px){.card-flip-wrap{width:min(100%,318px)!important;max-width:318px!important}.card-face{padding:13px!important;border-radius:16px!important}.virtual-card.premium-vc.card-flip{border-radius:16px!important}.vc-number{font-size:16px!important;word-spacing:.08em!important}.vc-magstripe{height:34px!important;margin:8px 0 9px!important}.vc-signature-row{display:grid!important;gap:5px!important}}

/* Final card readability + true front/back flip fix */
.card-flip-wrap{
  width:min(100%,382px)!important;
  max-width:382px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1600px!important;
  margin:12px auto 0!important;
  border-radius:20px!important;
}
.virtual-card.premium-vc.card-flip{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:85.6/53.98!important;
  transform-style:preserve-3d!important;
  transition:transform .82s cubic-bezier(.19,1,.22,1)!important;
  transform:rotateY(0deg)!important;
  background:transparent!important;
  overflow:visible!important;
}
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:rotateY(180deg)!important;
}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 46%,rgba(187,199,209,.14)),url('/img/ascent-card-art.jpg?v=75')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 24px 58px rgba(8,18,14,.26),inset 0 1px 0 rgba(255,255,255,.82)!important;
  color:#101815!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  transition:opacity .22s ease!important;
}
.card-face::before{display:none!important;}
.card-front{
  transform:rotateY(0deg) translateZ(1px)!important;
  opacity:1!important;
  padding:17px 18px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.card-back{
  transform:rotateY(180deg) translateZ(1px)!important;
  opacity:0!important;
  padding:15px 0 14px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front{opacity:0!important;}
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back{opacity:1!important;}
.vc-top,.vc-bottom{
  font-size:11.4px!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:.005em!important;
  line-height:1.25!important;
  color:#101815!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
.vc-top span:first-child{font-size:16px!important;font-weight:950!important;letter-spacing:-.035em!important;}
.vc-number{
  width:100%!important;
  white-space:nowrap!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:clamp(20px,2.35vw,26px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  word-spacing:.12em!important;
  color:#111a17!important;
  text-shadow:0 1px 18px rgba(255,255,255,.88)!important;
}
.card-back .vc-back-brand{
  margin:0 17px 9px!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  color:#101815!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
.vc-magstripe{
  display:block!important;
  height:42px!important;
  width:100%!important;
  flex:0 0 auto!important;
  margin:8px 0 14px!important;
  background:linear-gradient(180deg,#050605 0%,#181b19 54%,#030403 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 18px rgba(0,0,0,.26)!important;
}
.vc-signature-row{
  margin:0 17px 12px!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 7px,rgba(224,230,233,.96) 7px 14px)!important;
  border:1px solid rgba(15,22,19,.16)!important;
  color:#101815!important;
  font-size:10.5px!important;
  font-weight:850!important;
}
.vc-signature-row strong{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  border-radius:8px!important;
  padding:5px 8px!important;
  background:rgba(255,255,255,.96)!important;
  color:#0f1714!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.vc-back-bottom{
  margin:0 17px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  color:#101815!important;
  font-size:10.6px!important;
  line-height:1.25!important;
  font-weight:900!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
@media(max-width:520px){
  .card-flip-wrap{width:min(100%,342px)!important;max-width:342px!important;border-radius:18px!important;}
  .card-face{border-radius:18px!important;}
  .card-front{padding:14px 15px!important;}
  .card-back{padding:13px 0!important;}
  .vc-number{font-size:18px!important;letter-spacing:.015em!important;word-spacing:.08em!important;}
  .vc-magstripe{height:36px!important;margin:7px 0 10px!important;}
  .vc-signature-row{margin-inline:14px!important;display:flex!important;}
  .card-back .vc-back-brand,.vc-back-bottom{margin-inline:14px!important;}
}


/* FINAL card flip + back-side security fields fix */
.card-flip-wrap{
  width:min(100%,356px)!important;
  max-width:356px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1500px!important;
  border-radius:18px!important;
}
.virtual-card.premium-vc.card-flip{
  transform:none!important;
  transition:none!important;
  transform-style:preserve-3d!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:none!important;
}
.card-face{
  inset:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.02) 48%,rgba(190,200,210,.14)),url('/img/ascent-card-art.jpg?v=75')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  transition:transform .76s cubic-bezier(.2,.85,.18,1),opacity .22s ease!important;
  box-shadow:0 22px 52px rgba(8,18,14,.24),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.card-front{
  z-index:2!important;
  opacity:1!important;
  transform:rotateY(0deg)!important;
  padding:15px 16px 14px!important;
}
.card-back{
  z-index:1!important;
  opacity:0!important;
  transform:rotateY(-180deg)!important;
  padding:14px 0 12px!important;
  justify-content:flex-start!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front{
  z-index:1!important;
  opacity:0!important;
  transform:rotateY(180deg)!important;
}
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back{
  z-index:2!important;
  opacity:1!important;
  transform:rotateY(0deg)!important;
}
.vc-top,.vc-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#101815!important;
  text-transform:none!important;
  letter-spacing:.004em!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.18!important;
  text-shadow:0 1px 15px rgba(255,255,255,.85)!important;
}
.vc-top span:first-child{font-size:16px!important;font-weight:950!important;letter-spacing:-.035em!important;}
.vc-top span:last-child{font-size:10.7px!important;font-weight:950!important;white-space:nowrap!important;}
.vc-number{
  width:100%!important;
  white-space:nowrap!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:clamp(23px,2.65vw,28px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.006em!important;
  word-spacing:.055em!important;
  transform:scaleX(1.015)!important;
  transform-origin:left center!important;
  color:#0f1714!important;
  text-shadow:0 1px 18px rgba(255,255,255,.9)!important;
}
.card-back .vc-back-brand{
  margin:0 16px 8px!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  color:#101815!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
.vc-magstripe{
  display:block!important;
  width:100%!important;
  height:42px!important;
  margin:7px 0 13px!important;
  background:linear-gradient(180deg,#030403 0%,#161917 52%,#030403 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.28)!important;
}
.vc-back-details{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 16px 10px!important;
}
.vc-signature-row{
  margin:0!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 7px,rgba(225,231,234,.96) 7px 14px)!important;
  border:1px solid rgba(15,22,19,.16)!important;
  color:#101815!important;
  font-size:10px!important;
  font-weight:850!important;
}
.vc-secure-fields{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.vc-secure-fields span{
  min-width:54px!important;
  display:grid!important;
  gap:1px!important;
  padding:6px 8px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(15,22,19,.13)!important;
  color:#101815!important;
  box-shadow:0 7px 18px rgba(10,17,14,.08)!important;
}
.vc-secure-fields small{font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:rgba(16,24,21,.65)!important;line-height:1!important;}
.vc-secure-fields strong{font-size:12px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:.07em!important;color:#101815!important;}
.vc-back-bottom{
  margin:0 16px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#101815!important;
  font-size:10.3px!important;
  line-height:1.22!important;
  font-weight:900!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
@media(max-width:520px){
  .card-flip-wrap{width:min(100%,330px)!important;max-width:330px!important;}
  .card-front{padding:13px 14px!important;}
  .card-back{padding-top:12px!important;}
  .vc-number{font-size:20px!important;letter-spacing:0!important;word-spacing:.035em!important;transform:none!important;}
  .vc-magstripe{height:36px!important;margin:7px 0 9px!important;}
  .vc-back-details{grid-template-columns:1fr!important;margin-inline:14px!important;gap:6px!important;}
  .vc-secure-fields{justify-content:space-between!important;}
  .card-back .vc-back-brand,.vc-back-bottom{margin-inline:14px!important;}
}


/* Final Ascent card flip + real separate back side */
.card-flip-wrap{
  width:min(100%,340px)!important;
  max-width:340px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1400px!important;
  border-radius:18px!important;
  overflow:visible!important;
}
.virtual-card.premium-vc.card-flip{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform-style:preserve-3d!important;
  transition:transform .82s cubic-bezier(.2,.88,.18,1)!important;
  transform:rotateY(0deg)!important;
}
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:rotateY(180deg)!important;
}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  transition:none!important;
  opacity:1!important;
  box-shadow:0 22px 52px rgba(8,18,14,.24),inset 0 1px 0 rgba(255,255,255,.86)!important;
  color:#101815!important;
}
.card-front{
  z-index:2!important;
  transform:rotateY(0deg)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  padding:15px 16px 14px!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 48%,rgba(190,200,210,.13)),url('/img/ascent-card-art.jpg?v=75')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.card-back{
  z-index:1!important;
  transform:rotateY(180deg)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  padding:14px 0 12px!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.02) 50%,rgba(190,200,210,.18)),url('/img/ascent-card-art.jpg?v=75')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front,
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back{
  opacity:1!important;
}
.card-face::before,
.card-face::after,
.virtual-card.premium-vc.card-flip::before,
.virtual-card.premium-vc.card-flip::after{display:none!important;content:none!important;}
.vc-top,.vc-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#101815!important;
  text-transform:none!important;
  letter-spacing:.004em!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.18!important;
  text-shadow:0 1px 15px rgba(255,255,255,.85)!important;
}
.vc-top span:first-child{font-size:16px!important;font-weight:950!important;letter-spacing:-.035em!important;}
.vc-top span:last-child{font-size:10.7px!important;font-weight:950!important;white-space:nowrap!important;}
.vc-number{
  width:100%!important;
  white-space:nowrap!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  font-size:clamp(24px,2.85vw,30px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.002em!important;
  word-spacing:.045em!important;
  transform:scaleX(1.02)!important;
  transform-origin:left center!important;
  color:#0f1714!important;
  text-shadow:0 1px 18px rgba(255,255,255,.9)!important;
}
.card-back .vc-back-brand{
  display:block!important;
  margin:0 16px 9px!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  color:#101815!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
.vc-magstripe{
  display:block!important;
  width:100%!important;
  height:42px!important;
  margin:7px 0 12px!important;
  background:linear-gradient(180deg,#030403 0%,#161917 52%,#030403 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.28)!important;
}
.vc-back-details{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 16px 10px!important;
}
.vc-signature-row{
  margin:0!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 7px,rgba(225,231,234,.96) 7px 14px)!important;
  border:1px solid rgba(15,22,19,.16)!important;
  color:#101815!important;
  font-size:10px!important;
  font-weight:850!important;
}
.vc-secure-fields{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
.vc-secure-fields span{
  min-width:54px!important;
  display:grid!important;
  gap:1px!important;
  padding:6px 8px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(15,22,19,.13)!important;
  color:#101815!important;
  box-shadow:0 7px 18px rgba(10,17,14,.08)!important;
}
.vc-secure-fields small{font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:rgba(16,24,21,.65)!important;line-height:1!important;}
.vc-secure-fields strong{font-size:12px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:.07em!important;color:#101815!important;}
.vc-back-bottom{
  margin:0 16px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#101815!important;
  font-size:10.3px!important;
  line-height:1.22!important;
  font-weight:900!important;
  text-shadow:0 1px 14px rgba(255,255,255,.82)!important;
}
@media(max-width:520px){
  .card-flip-wrap{width:min(100%,330px)!important;max-width:330px!important;}
  .card-front{padding:13px 14px!important;}
  .card-back{padding-top:12px!important;}
  .vc-number{font-size:20px!important;letter-spacing:0!important;word-spacing:.035em!important;transform:none!important;}
  .vc-magstripe{height:36px!important;margin:7px 0 9px!important;}
  .vc-back-details{grid-template-columns:1fr!important;margin-inline:14px!important;gap:6px!important;}
  .vc-secure-fields{justify-content:space-between!important;}
  .card-back .vc-back-brand,.vc-back-bottom{margin-inline:14px!important;}
}


/* Final hard override: real two-face Ascent card flip, no mirrored front side */
.card-flip-wrap{
  width:min(100%,340px)!important;
  max-width:340px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1400px!important;
  -webkit-perspective:1400px!important;
  border-radius:18px!important;
  overflow:visible!important;
  contain:layout paint!important;
}
.virtual-card.premium-vc.card-flip{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  -webkit-transform:none!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  transition:none!important;
  will-change:auto!important;
}
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:none!important;
  -webkit-transform:none!important;
}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:18px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  box-sizing:border-box!important;
  color:#101815!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  transition:transform .78s cubic-bezier(.2,.85,.18,1), box-shadow .25s ease!important;
  will-change:transform!important;
  opacity:1!important;
  box-shadow:0 22px 52px rgba(8,18,14,.24),inset 0 1px 0 rgba(255,255,255,.86)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.card-front{
  z-index:2!important;
  justify-content:space-between!important;
  padding:15px 16px 14px!important;
  transform:rotateY(0deg) translateZ(.8px)!important;
  -webkit-transform:rotateY(0deg) translateZ(.8px)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 48%,rgba(190,200,210,.13)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-back{
  z-index:1!important;
  justify-content:flex-start!important;
  padding:14px 0 12px!important;
  transform:rotateY(180deg) translateZ(.8px)!important;
  -webkit-transform:rotateY(180deg) translateZ(.8px)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.17),rgba(255,255,255,.02) 50%,rgba(190,200,210,.18)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front{
  z-index:1!important;
  transform:rotateY(-180deg) translateZ(.8px)!important;
  -webkit-transform:rotateY(-180deg) translateZ(.8px)!important;
}
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back{
  z-index:3!important;
  transform:rotateY(0deg) translateZ(.8px)!important;
  -webkit-transform:rotateY(0deg) translateZ(.8px)!important;
}
.card-face::before,.card-face::after,.virtual-card.premium-vc.card-flip::before,.virtual-card.premium-vc.card-flip::after{display:none!important;content:none!important;}
.vc-magstripe{display:block!important;width:100%!important;height:42px!important;margin:7px 0 12px!important;background:linear-gradient(180deg,#030403 0%,#161917 52%,#030403 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.28)!important;}
.vc-back-details{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;margin:0 16px 10px!important;}
.vc-signature-row{margin:0!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:8px 10px!important;border-radius:10px!important;background:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 7px,rgba(225,231,234,.96) 7px 14px)!important;border:1px solid rgba(15,22,19,.16)!important;color:#101815!important;font-size:10px!important;font-weight:850!important;}
.vc-secure-fields{display:flex!important;align-items:center!important;gap:6px!important;}
.vc-secure-fields span{min-width:54px!important;display:grid!important;gap:1px!important;padding:6px 8px!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(15,22,19,.13)!important;color:#101815!important;box-shadow:0 7px 18px rgba(10,17,14,.08)!important;}
.vc-secure-fields small{font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:rgba(16,24,21,.65)!important;line-height:1!important;}
.vc-secure-fields strong{font-size:12px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:.07em!important;color:#101815!important;}
.feature-hub-card{margin-top:12px;overflow:hidden;}
.feature-hub-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:12px;}
.bank-feature-tile{position:relative;min-height:104px;border:1px solid var(--line);border-radius:16px;padding:11px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 93%,transparent),color-mix(in srgb,var(--panel2) 95%,transparent));box-shadow:0 12px 28px rgba(13,20,16,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.bank-feature-tile:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(13,20,16,.1);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));}
.bank-feature-tile span{display:inline-grid;place-items:center;width:28px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:950;font-size:11px;margin-bottom:8px;}
.bank-feature-tile strong{display:block;font-size:12.7px;line-height:1.18;margin-bottom:5px;}
.bank-feature-tile small{display:block;color:var(--muted);font-size:11.2px;line-height:1.32;font-weight:750;}
@media(max-width:1100px){.feature-hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:680px){.feature-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bank-feature-tile{min-height:112px;}.card-flip-wrap{max-width:330px!important;}}
@media(max-width:420px){.feature-hub-grid{grid-template-columns:1fr;}.card-flip-wrap{max-width:318px!important;}.vc-number{font-size:20px!important;}}


/* FINAL CARD FIX: separate front/back frames + clean Card money spacing */
.card-money-list{display:grid!important;gap:10px!important;margin-top:10px!important;}
.card-money-list>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;min-height:44px!important;padding:11px 13px!important;border-radius:15px!important;}
.card-money-list strong{font-size:12.5px!important;line-height:1.25!important;white-space:normal!important;color:var(--text)!important;}
.card-money-list span{font-size:13px!important;line-height:1.25!important;font-weight:950!important;text-align:right!important;color:var(--muted)!important;white-space:nowrap!important;}

.card-flip-wrap{
  position:relative!important;
  width:min(100%,340px)!important;
  max-width:340px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1600px!important;
  -webkit-perspective:1600px!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  border-radius:18px!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.virtual-card.premium-vc.card-flip{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:block!important;
  transform:none!important;
  -webkit-transform:none!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}
.virtual-card.premium-vc.card-flip::before,.virtual-card.premium-vc.card-flip::after{display:none!important;content:none!important;}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  color:#101815!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 18px 42px rgba(4,9,7,.24),inset 0 1px 0 rgba(255,255,255,.8)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  transition:transform .72s cubic-bezier(.2,.8,.16,1), opacity .18s ease, visibility .18s ease!important;
  will-change:transform,opacity!important;
}
.card-front{
  z-index:2!important;
  opacity:1!important;
  visibility:visible!important;
  justify-content:space-between!important;
  padding:15px 16px 14px!important;
  transform:rotateY(0deg)!important;
  -webkit-transform:rotateY(0deg)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 48%,rgba(190,200,210,.14)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-back{
  z-index:1!important;
  opacity:0!important;
  visibility:hidden!important;
  justify-content:flex-start!important;
  padding:14px 0 12px!important;
  transform:rotateY(180deg)!important;
  -webkit-transform:rotateY(180deg)!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.03) 50%,rgba(190,200,210,.19)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front,
.card-flip-wrap.is-flipped .card-front{
  z-index:1!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:rotateY(-180deg)!important;
  -webkit-transform:rotateY(-180deg)!important;
}
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back,
.card-flip-wrap.is-flipped .card-back{
  z-index:3!important;
  opacity:1!important;
  visibility:visible!important;
  transform:rotateY(0deg)!important;
  -webkit-transform:rotateY(0deg)!important;
}
.card-face::before,.card-face::after{display:none!important;content:none!important;}
.vc-top,.vc-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:none!important;line-height:1.2!important;color:#101815!important;opacity:.92!important;}
.vc-number{font-size:clamp(20px,2.4vw,24px)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:.015em!important;word-spacing:.12em!important;color:#101815!important;text-shadow:0 1px 0 rgba(255,255,255,.58)!important;white-space:nowrap!important;}
.vc-back-brand{margin:0 16px 6px!important;font-size:12px!important;font-weight:950!important;color:#101815!important;line-height:1.2!important;}
.vc-magstripe{display:block!important;width:100%!important;height:40px!important;margin:4px 0 12px!important;background:linear-gradient(180deg,#010201 0%,#171b18 50%,#010201 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.28)!important;}
.vc-back-details{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;margin:0 16px 10px!important;}
.vc-signature-row{margin:0!important;min-height:32px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:8px 10px!important;border-radius:10px!important;background:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 7px,rgba(226,232,235,.96) 7px 14px)!important;border:1px solid rgba(15,22,19,.16)!important;color:#101815!important;font-size:10px!important;font-weight:850!important;line-height:1.2!important;}
.vc-secure-fields{display:flex!important;align-items:center!important;gap:6px!important;}
.vc-secure-fields span{min-width:54px!important;display:grid!important;gap:2px!important;padding:6px 8px!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(15,22,19,.13)!important;color:#101815!important;box-shadow:0 7px 18px rgba(10,17,14,.08)!important;}
.vc-secure-fields small{font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:rgba(16,24,21,.65)!important;line-height:1!important;}
.vc-secure-fields strong{font-size:12px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:.07em!important;color:#101815!important;}
.vc-back-bottom{margin:auto 16px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:10px!important;font-weight:850!important;line-height:1.2!important;color:rgba(16,24,21,.78)!important;}
@media(max-width:520px){
  .card-flip-wrap{max-width:318px!important;}
  .vc-number{font-size:19px!important;word-spacing:.08em!important;}
  .card-money-list>div{grid-template-columns:1fr!important;gap:5px!important;align-items:start!important;}
  .card-money-list span{text-align:left!important;white-space:normal!important;}
  .vc-back-details{grid-template-columns:1fr!important;}
}

/* ABSOLUTE FINAL CARD FLIP OVERRIDE: no container mirror, two separate faces */
.card-flip-wrap{
  position:relative!important;
  width:min(100%,340px)!important;
  max-width:340px!important;
  aspect-ratio:85.6/53.98!important;
  perspective:1400px!important;
  -webkit-perspective:1400px!important;
  border-radius:18px!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.virtual-card.premium-vc.card-flip,
.card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
.card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip,
.card-flip-wrap.is-flipped .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:hover .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-visible .virtual-card.premium-vc.card-flip,
body.reduce-motion .card-flip-wrap:focus-within .virtual-card.premium-vc.card-flip{
  transform:none!important;
  -webkit-transform:none!important;
  rotate:0deg!important;
  transform-style:flat!important;
  -webkit-transform-style:flat!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:block!important;
}
.virtual-card.premium-vc.card-flip::before,
.virtual-card.premium-vc.card-flip::after{display:none!important;content:none!important;}
.card-face{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  color:#101815!important;
  border:1px solid rgba(255,255,255,.74)!important;
  box-shadow:0 20px 44px rgba(5,10,8,.24), inset 0 1px 0 rgba(255,255,255,.86)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transition:transform .58s cubic-bezier(.2,.85,.16,1), opacity .2s ease, visibility .2s ease!important;
  will-change:transform,opacity!important;
}
.card-front{
  z-index:2!important;
  opacity:1!important;
  visibility:visible!important;
  padding:15px 16px 14px!important;
  justify-content:space-between!important;
  transform:rotateY(0deg)!important;
  -webkit-transform:rotateY(0deg)!important;
  transform-origin:center center!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 50%,rgba(190,200,210,.13)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-back{
  z-index:1!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  padding:14px 0 12px!important;
  justify-content:flex-start!important;
  transform:rotateY(92deg)!important;
  -webkit-transform:rotateY(92deg)!important;
  transform-origin:center center!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.04) 52%,rgba(190,200,210,.18)),url('/img/ascent-card-art.jpg?v=75')!important;
}
.card-flip-wrap:hover .card-front,
.card-flip-wrap:focus .card-front,
.card-flip-wrap:focus-visible .card-front,
.card-flip-wrap:focus-within .card-front,
.card-flip-wrap.is-flipped .card-front{
  z-index:1!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:rotateY(-92deg)!important;
  -webkit-transform:rotateY(-92deg)!important;
}
.card-flip-wrap:hover .card-back,
.card-flip-wrap:focus .card-back,
.card-flip-wrap:focus-visible .card-back,
.card-flip-wrap:focus-within .card-back,
.card-flip-wrap.is-flipped .card-back{
  z-index:4!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:rotateY(0deg)!important;
  -webkit-transform:rotateY(0deg)!important;
}
.card-face::before,.card-face::after{display:none!important;content:none!important;}
.card-back .vc-top,
.card-back .vc-number,
.card-back .vc-bottom{display:none!important;}
.card-front .vc-back-brand,
.card-front .vc-magstripe,
.card-front .vc-back-details,
.card-front .vc-back-bottom{display:none!important;}
.vc-top,.vc-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:none!important;line-height:1.2!important;color:#101815!important;opacity:.92!important;}
.vc-number{font-size:clamp(21px,2.5vw,25px)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:.018em!important;word-spacing:.11em!important;color:#101815!important;text-shadow:0 1px 0 rgba(255,255,255,.62)!important;white-space:nowrap!important;}
.card-back .vc-back-brand{display:block!important;margin:0 16px 6px!important;font-size:12px!important;font-weight:950!important;color:#101815!important;line-height:1.2!important;}
.card-back .vc-magstripe{display:block!important;width:100%!important;height:42px!important;margin:4px 0 12px!important;background:linear-gradient(180deg,#000 0%,#191d1a 48%,#000 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 8px 18px rgba(0,0,0,.30)!important;}
.card-back .vc-back-details{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;margin:0 16px 10px!important;}
.card-back .vc-signature-row{margin:0!important;min-height:32px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:8px 10px!important;border-radius:10px!important;background:repeating-linear-gradient(135deg,rgba(255,255,255,.97) 0 7px,rgba(226,232,235,.97) 7px 14px)!important;border:1px solid rgba(15,22,19,.16)!important;color:#101815!important;font-size:10px!important;font-weight:850!important;line-height:1.2!important;}
.card-back .vc-secure-fields{display:flex!important;align-items:center!important;gap:6px!important;}
.card-back .vc-secure-fields span{min-width:54px!important;display:grid!important;gap:2px!important;padding:6px 8px!important;border-radius:10px!important;background:rgba(255,255,255,.95)!important;border:1px solid rgba(15,22,19,.14)!important;color:#101815!important;box-shadow:0 7px 18px rgba(10,17,14,.08)!important;}
.card-back .vc-secure-fields small{font-size:8.5px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:950!important;color:rgba(16,24,21,.65)!important;line-height:1!important;}
.card-back .vc-secure-fields strong{font-size:12px!important;line-height:1.1!important;font-weight:950!important;letter-spacing:.07em!important;color:#101815!important;}
.card-back .vc-back-bottom{display:flex!important;margin:auto 16px 0!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:10px!important;font-weight:850!important;line-height:1.2!important;color:rgba(16,24,21,.78)!important;}
@media(max-width:520px){
  .card-flip-wrap{max-width:318px!important;}
  .vc-number{font-size:19px!important;word-spacing:.07em!important;}
  .card-back .vc-back-details{grid-template-columns:1fr!important;}
}


/* The v200 card-flip layer that used to sit here (a light "ascent-card-art.jpg"
   face behind a wall of !important) was removed. The card is now defined once,
   in THE CARD layer at the end of this file. */
.compact-frame{margin:8px 0 10px!important;padding:9px 11px!important;border-radius:14px!important;font-size:12px!important;line-height:1.35!important;}

/* Merchant API / checkout */
.checkout-shell{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:22px 10px}.checkout-frame{width:min(520px,100%);background:#fff;color:#102019;border:1px solid rgba(16,32,25,.12);border-radius:28px;box-shadow:0 28px 80px rgba(11,19,15,.20);padding:24px;display:grid;gap:16px}.checkout-brandline{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-logo{font-weight:950;letter-spacing:-.04em}.checkout-cost{text-align:center;padding:18px;border-radius:22px;background:linear-gradient(180deg,#f7fbf8,#edf5f0);border:1px solid rgba(16,32,25,.08)}.checkout-cost span{display:block;color:#5c6b62;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.checkout-cost strong{display:block;font-size:44px;line-height:1;font-weight:950;letter-spacing:-.08em;margin:8px 0;color:#0e1712}.checkout-cost p{margin:0 0 4px}.checkout-cost small{display:block;color:#66756c;font-weight:750;line-height:1.5}.checkout-methods{display:grid;gap:12px}.checkout-method-card{border:1px solid rgba(16,32,25,.12);border-radius:20px;padding:14px;background:#fbfdfb;display:grid;gap:9px}.checkout-method-card h3{margin:0}.checkout-method-card p{margin:0;color:#5f6d65;line-height:1.45}.checkout-method-card select,.checkout-method-card input{background:white}.split-method{background:linear-gradient(180deg,#fbfdfb,#f1f7f3)}.code-block{background:rgba(11,19,15,.92);color:#eafff2;border-radius:16px;padding:14px;overflow:auto;font-size:12px;line-height:1.55}.clean-list{margin:0;padding-left:18px;line-height:1.7;color:var(--muted);font-weight:750}.clean-list li{margin:5px 0}html[data-theme="dark"] .checkout-frame{background:#f8fbf8;color:#102019}html[data-theme="dark"] .checkout-frame .muted,html[data-theme="dark"] .checkout-frame .tiny-copy{color:#617068}@media(max-width:620px){.checkout-frame{border-radius:22px;padding:18px}.checkout-cost strong{font-size:36px}}

/* Cleaner merchant checkout */
.checkout-frame-upgraded{gap:18px;position:relative;overflow:hidden}.checkout-frame-upgraded::before{content:"";position:absolute;inset:-80px -80px auto auto;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(17,132,93,.16),transparent 68%);pointer-events:none}.checkout-note{line-height:1.6;text-align:center}.checkout-pay-form{position:relative;z-index:1;border:1px solid rgba(16,32,25,.12);border-radius:24px;background:linear-gradient(180deg,#ffffff,#f6faf7);padding:16px;display:grid;gap:14px;box-shadow:0 16px 36px rgba(11,19,15,.07)}.checkout-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.checkout-option-head h3{margin:0}.checkout-option-head p{margin:4px 0 0;color:#5f6d65;line-height:1.45;font-weight:750}.checkout-field{display:grid;gap:7px;font-weight:900;color:#26342b}.checkout-pay-form select,.checkout-pay-form input{width:100%;border:1px solid rgba(16,32,25,.14);border-radius:14px;background:#fff;color:#102019;padding:11px 12px;font:inherit;font-weight:800;outline:none}.checkout-pay-form select:focus,.checkout-pay-form input:focus{border-color:rgba(14,143,105,.55);box-shadow:0 0 0 4px rgba(14,143,105,.12)}.checkout-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-balance-card{border:1px solid rgba(16,32,25,.10);background:#f7fbf8;border-radius:18px;padding:12px;display:grid;gap:5px}.checkout-balance-card small{font-weight:900;color:#66756c;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.checkout-balance-card strong{font-size:20px;letter-spacing:-.04em}.checkout-card-picker,.checkout-split-fields{display:grid;gap:10px}.checkout-pay-btn{min-height:44px}.checkout-privacy{text-align:center;margin:0}.checkout-frame .btn + .btn{margin-top:8px}html[data-theme="dark"] .checkout-pay-form{background:linear-gradient(180deg,#ffffff,#f6faf7);color:#102019}html[data-theme="dark"] .checkout-option-head p,html[data-theme="dark"] .checkout-pay-form .muted{color:#617068}@media(max-width:620px){.checkout-pay-form{padding:14px;border-radius:20px}.checkout-option-head{display:grid}.checkout-balance-grid{grid-template-columns:1fr}.checkout-pay-form select,.checkout-pay-form input{padding:10px 11px}}

.badge.bad{background:#fff0ee;color:var(--danger);border-color:#fac5c0}

/* Ascent 63 polish: cleaner status chips, more spacing, routed dashboard tabs, send fee preview, pagination */
.page-shell{padding-bottom:88px}.card{padding:18px}.grid{gap:16px}.compact-head{margin-bottom:18px}.tab-strip{gap:10px;padding:8px}.tab-btn{padding:11px 15px}.card-title-row{gap:12px;align-items:center}.stack-form{gap:12px}.stack-form label{font-weight:800;letter-spacing:.01em}.small-card,.step-card{min-height:120px}.api-steps{margin-bottom:16px}.api-hero .badge{align-self:flex-start}.step-card{position:relative;overflow:hidden}.step-card .step-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;margin-bottom:10px;font-weight:900;background:rgba(90,230,174,.15);border:1px solid rgba(90,230,174,.34)}.step-card p{margin-top:8px}.merchant-grid{align-items:start}.merchant-access-card .compact-form{margin-top:16px}.access-summary{align-items:center;gap:10px}.status-frame{padding:14px 16px;margin:12px 0;border-radius:16px;line-height:1.45}.status-frame.compact-frame{display:flex;flex-wrap:wrap}.badge{padding:7px 10px;border-width:1px;border-style:solid;font-weight:850;letter-spacing:.01em}.badge.strong{box-shadow:0 6px 18px rgba(0,0,0,.12)}.badge.info{background:rgba(70,160,255,.14);border-color:rgba(70,160,255,.45);color:#b9dcff}.badge.subtle{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#d8e4dc}.status-frame.warn,.flash.warn{background:#fff4d1;border-color:#f1b629;color:#4d3400}.status-frame.warn code{background:rgba(86,58,0,.12);color:#3b2800}.badge.warn{background:#fff0bc;border-color:#ebb13b;color:#5a3a00}.status-frame.ok,.flash.ok{background:#dcffe8;border-color:#38c87b;color:#053f24}.badge.ok{background:#dbffe9;border-color:#39c879;color:#064126}.status-frame.bad,.flash.bad{background:#ffe3df;border-color:#e05749;color:#5b0d06}.badge.lock,.badge.bad{background:#ffe3df;border-color:#e05749;color:#5b0d06}.warn-text{color:#ffce6b;font-weight:700}.people-money-grid{align-items:start}.send-action-card hr{margin:22px 0;border:0;border-top:1px solid var(--line)}.fee-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid rgba(90,230,174,.28);background:rgba(90,230,174,.08);border-radius:16px}.fee-preview div{display:flex;flex-direction:column;gap:4px;min-width:0}.fee-preview span{font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.fee-preview strong{font-size:1.08rem}.fee-preview.is-empty strong{color:var(--muted)}.mini-note{font-size:.88rem}.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;color:var(--muted);font-size:.9rem}.pager:empty{display:none}.pager span{font-weight:800}.timeline-list .list-row[hidden]{display:none!important}.list-row{gap:14px}.timeline-row{padding:12px 0}.table-scroll table{border-spacing:0 7px}.table-scroll th{padding:0 10px 7px}.table-scroll td{padding:10px}.compact-list{gap:0}.btn,.tab-btn,.seg-btn{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.btn:hover,.tab-btn:hover,.seg-btn:hover{transform:translateY(-1px)}.card,.tool-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card:hover,.tool-card:hover{transform:translateY(-2px)}
html[data-theme="dark"] .status-frame.warn,html[data-theme="dark"] .flash.warn{background:rgba(255,196,68,.15);border-color:rgba(255,196,68,.55);color:#ffe8a6}html[data-theme="dark"] .status-frame.warn code{background:rgba(255,232,166,.12);color:#fff2c8}html[data-theme="dark"] .badge.warn{background:rgba(255,196,68,.18);border-color:rgba(255,196,68,.62);color:#ffe8a6}html[data-theme="dark"] .status-frame.ok,html[data-theme="dark"] .flash.ok{background:rgba(47,210,121,.14);border-color:rgba(47,210,121,.5);color:#bfffd8}html[data-theme="dark"] .badge.ok{background:rgba(47,210,121,.16);border-color:rgba(47,210,121,.55);color:#bfffd8}html[data-theme="dark"] .status-frame.bad,html[data-theme="dark"] .flash.bad{background:rgba(230,80,67,.16);border-color:rgba(230,80,67,.55);color:#ffd0cb}html[data-theme="dark"] .badge.lock,html[data-theme="dark"] .badge.bad{background:rgba(230,80,67,.18);border-color:rgba(230,80,67,.58);color:#ffd0cb}
@media (max-width:720px){.fee-preview{grid-template-columns:1fr}.api-steps{grid-template-columns:1fr}.pager{justify-content:center}.card{padding:15px}}
body.reduce-motion .btn,body.reduce-motion .tab-btn,body.reduce-motion .seg-btn,body.reduce-motion .card,body.reduce-motion .tool-card{transition:none!important}body.reduce-motion .btn:hover,body.reduce-motion .tab-btn:hover,body.reduce-motion .seg-btn:hover,body.reduce-motion .card:hover,body.reduce-motion .tool-card:hover{transform:none!important}

/* Ascent 64 polish: cleaner bank UI, centered alerts, clearer history, softer animations */
:root{
  --surface-glow:rgba(90,230,174,.10);
  --surface-glow-strong:rgba(90,230,174,.18);
}
body{
  background:
    radial-gradient(circle at 12% -10%,rgba(89,210,164,.20),transparent 34%),
    radial-gradient(circle at 88% 8%,rgba(216,184,102,.10),transparent 28%),
    linear-gradient(180deg,var(--bg),var(--bg));
}
.page-shell{
  width:min(1180px,calc(100% - 32px));
}
.status-frame,.flash{
  width:min(1180px,calc(100% - 32px));
  margin:12px auto 0;
  padding:13px 16px;
  border-radius:16px;
  display:block;
  box-shadow:0 14px 34px rgba(8,18,13,.10);
}
.page-shell > .status-frame,
.card .status-frame,
.tab-panel .status-frame,
.merchant-access-card .status-frame,
.checkout-frame .status-frame{
  width:100%;
  margin:10px 0 0;
  box-shadow:none;
}
.status-frame.compact-inline{
  width:100%;
  margin:10px 0 14px;
}
.bank-alert{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
}
.bank-alert .alert-icon{
  width:26px;
  height:26px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  flex:0 0 26px;
  background:rgba(255,196,68,.22);
  border:1px solid rgba(255,196,68,.45);
  line-height:1;
}
.card{
  border-radius:20px;
  padding:18px;
}
.card h3{font-size:15.5px;}
.no-margin{margin:0!important;}
.mini-link{
  font-size:12px;
  font-weight:900;
  color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:999px;
  padding:5px 8px;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}
.history-card{padding:20px;}
.history-title-row{
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);
  margin-bottom:10px;
}
.clean-timeline{
  gap:9px!important;
  padding-top:2px;
}
.clean-transaction-row{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  min-height:62px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent))!important;
}
.clean-transaction-row::before{display:none!important;}
.tx-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--accent);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent),0 0 20px color-mix(in srgb,var(--accent) 25%,transparent);
}
.clean-transaction-row.is-debit .tx-dot{
  background:var(--danger);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 14%,transparent),0 0 20px color-mix(in srgb,var(--danger) 22%,transparent);
}
.tx-main{
  min-width:0;
  display:grid;
  gap:4px;
  justify-items:start;
  text-align:left;
}
.tx-main strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.25;
}
.tx-main small{
  display:flex!important;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
  margin:0!important;
}
.tx-type{
  color:var(--muted);
  font-weight:900;
}
.tx-amount{
  justify-self:end;
  text-align:right;
  font-size:14px;
  min-width:max-content;
}
.pager{
  justify-content:center!important;
  padding-top:8px;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.pager .btn{min-width:68px;}
.tab-strip{
  border-radius:18px;
  background:color-mix(in srgb,var(--panel) 78%,transparent);
  backdrop-filter:blur(16px);
}
.tab-btn.active{
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#07100c));
  color:#fff;
}
.badge{
  min-height:28px;
  align-items:center;
  justify-content:center;
}
.badge.subtle{
  background:color-mix(in srgb,var(--panel) 88%,transparent)!important;
  border-color:color-mix(in srgb,var(--line) 92%,transparent)!important;
  color:var(--text)!important;
}
.fee-preview{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.fee-preview strong{letter-spacing:-.02em;}
.step-card,.tool-card,.bank-feature-tile,.metric.card{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease;
}
.step-card:hover,.tool-card:hover,.bank-feature-tile:hover,.metric.card:hover{
  transform:translateY(-2px);
  filter:saturate(1.04);
}
.card::after,
.tool-card::after,
.step-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.17) 50%,rgba(255,255,255,.05) 58%,transparent 100%);
  transform:translateX(-120%);
  opacity:0;
}
.card:hover::after,
.tool-card:hover::after,
.step-card:hover::after{
  animation:bankSheen .85s ease both;
}
@keyframes bankSheen{
  0%{transform:translateX(-120%);opacity:0;}
  20%{opacity:1;}
  100%{transform:translateX(120%);opacity:0;}
}
html[data-theme="dark"] .clean-transaction-row{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025))!important;
}
html[data-theme="dark"] .status-frame,
html[data-theme="dark"] .flash{
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}
html[data-theme="dark"] .page-shell > .status-frame,
html[data-theme="dark"] .card .status-frame,
html[data-theme="dark"] .tab-panel .status-frame,
html[data-theme="dark"] .merchant-access-card .status-frame,
html[data-theme="dark"] .checkout-frame .status-frame{
  box-shadow:none;
}
html[data-theme="dark"] .mini-link{
  background:rgba(90,230,174,.10);
  border-color:rgba(90,230,174,.24);
}
@media(max-width:720px){
  .page-shell{width:min(100% - 20px,1180px);}
  .clean-transaction-row{grid-template-columns:14px minmax(0,1fr);align-items:start!important;}
  .tx-amount{grid-column:2;justify-self:start;text-align:left;margin-top:2px;}
  .history-title-row{display:grid;gap:10px;}
  .status-frame,.flash{width:min(100% - 20px,1180px);}
}
body.reduce-motion .card::after,
body.reduce-motion .tool-card::after,
body.reduce-motion .step-card::after,
body.reduce-motion .card:hover::after,
body.reduce-motion .tool-card:hover::after,
body.reduce-motion .step-card:hover::after{
  animation:none!important;
  display:none!important;
}

/* Ascent 65: restore thinner tab strips */
.tab-strip,
.tab-strip.compact-tabs{
  gap:6px!important;
  padding:4px 6px!important;
  border-radius:14px!important;
  min-height:44px;
  align-items:center;
}
.tab-btn{
  padding:7px 13px!important;
  min-height:34px!important;
  border-radius:11px!important;
  line-height:1.1!important;
}
.tab-btn.active{
  box-shadow:0 8px 18px rgba(90,230,174,.12);
}
@media(max-width:720px){
  .tab-strip,.tab-strip.compact-tabs{padding:4px!important;gap:5px!important;min-height:42px;}
  .tab-btn{padding:7px 10px!important;min-height:32px!important;}
}

/* Ascent 66: transaction history layout fix only */
.clean-timeline{
  display:grid!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
}
.clean-timeline .clean-transaction-row,
.history-card .clean-transaction-row,
.card .clean-transaction-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-height:48px!important;
  padding:9px 12px!important;
  border-radius:13px!important;
  text-align:left!important;
}
.clean-timeline .clean-transaction-row::before,
.history-card .clean-transaction-row::before{
  display:none!important;
  content:none!important;
}
.clean-timeline .tx-dot,
.history-card .tx-dot{
  flex:0 0 8px!important;
  width:8px!important;
  height:8px!important;
  margin:0!important;
  align-self:center!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent),0 0 14px color-mix(in srgb,var(--accent) 20%,transparent)!important;
}
.clean-timeline .clean-transaction-row.is-debit .tx-dot,
.history-card .clean-transaction-row.is-debit .tx-dot{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 13%,transparent),0 0 14px color-mix(in srgb,var(--danger) 18%,transparent)!important;
}
.clean-timeline .tx-main,
.history-card .tx-main,
.card .clean-transaction-row .tx-main{
  flex:1 1 auto!important;
  min-width:0!important;
  display:block!important;
  justify-self:auto!important;
  justify-items:stretch!important;
  text-align:left!important;
  margin:0!important;
}
.clean-timeline .tx-main strong,
.history-card .tx-main strong,
.card .clean-transaction-row .tx-main strong{
  display:block!important;
  max-width:100%!important;
  margin:0 0 2px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.22!important;
  font-size:13.5px!important;
  text-align:left!important;
}
.clean-timeline .tx-main small,
.history-card .tx-main small,
.card .clean-transaction-row .tx-main small{
  display:block!important;
  margin:0!important;
  line-height:1.25!important;
  font-size:11px!important;
  text-align:left!important;
  color:var(--muted)!important;
}
.clean-timeline .tx-type,
.history-card .tx-type{
  font-weight:850!important;
}
.clean-timeline .tx-amount,
.history-card .tx-amount,
.card .clean-transaction-row .tx-amount{
  flex:0 0 auto!important;
  margin-left:auto!important;
  align-self:center!important;
  justify-self:auto!important;
  min-width:74px!important;
  text-align:right!important;
  font-size:13.5px!important;
  line-height:1.2!important;
}
@media(max-width:720px){
  .clean-timeline .clean-transaction-row,
  .history-card .clean-transaction-row,
  .card .clean-transaction-row{
    display:grid!important;
    grid-template-columns:8px minmax(0,1fr) auto!important;
    gap:9px!important;
    min-height:46px!important;
    padding:9px 10px!important;
  }
  .clean-timeline .tx-amount,
  .history-card .tx-amount,
  .card .clean-transaction-row .tx-amount{
    grid-column:auto!important;
    margin-left:0!important;
    min-width:auto!important;
    font-size:13px!important;
  }
}

/* Ascent 67: rebuilt transaction history styles - unique classes so old list styles cannot break it */
.ascent-tx-list{
  display:grid!important;
  gap:8px!important;
  margin:10px 0 0!important;
  padding:0!important;
}
.ascent-tx-list [hidden]{display:none!important;}
.ascent-tx-row{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
  min-height:58px!important;
  width:100%!important;
  padding:10px 14px!important;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent)!important;
  border-radius:15px!important;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel2) 98%,transparent))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  text-align:left!important;
  overflow:hidden!important;
  transform:none!important;
}
.ascent-tx-row:hover{
  border-color:color-mix(in srgb,var(--accent) 34%,var(--line))!important;
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(0,0,0,.08)!important;
}
.ascent-tx-mark{
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1!important;
  background:color-mix(in srgb,var(--accent) 14%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)!important;
  color:var(--accent)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 8%,transparent)!important;
}
.ascent-tx-row.tx-debit .ascent-tx-mark{
  background:color-mix(in srgb,var(--danger) 13%,transparent)!important;
  border-color:color-mix(in srgb,var(--danger) 34%,transparent)!important;
  color:var(--danger)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 8%,transparent)!important;
}
.ascent-tx-body{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
  text-align:left!important;
  justify-items:start!important;
}
.ascent-tx-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  color:var(--text)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.22!important;
  letter-spacing:-.015em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-align:left!important;
}
.ascent-tx-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  min-width:0!important;
  color:var(--muted)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:left!important;
}
.ascent-tx-value{
  justify-self:end!important;
  align-self:center!important;
  min-width:86px!important;
  text-align:right!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}
.ascent-tx-value.pos{color:var(--ok)!important;}
.ascent-tx-value.neg{color:var(--danger)!important;}
html[data-theme="dark"] .ascent-tx-row{
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.022))!important;
  border-color:rgba(255,255,255,.10)!important;
}
html[data-theme="dark"] .ascent-tx-row:hover{
  border-color:rgba(90,230,174,.28)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.20)!important;
}
.history-card .ascent-tx-list{margin-top:12px!important;}
.history-card .pager{
  margin-top:12px!important;
  padding-top:10px!important;
  border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
}
@media(max-width:720px){
  .ascent-tx-row{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:64px!important;
    padding:10px 12px!important;
  }
  .ascent-tx-mark{width:26px!important;height:26px!important;font-size:14px!important;}
  .ascent-tx-value{
    grid-column:2!important;
    justify-self:start!important;
    text-align:left!important;
    min-width:0!important;
    margin-top:2px!important;
  }
  .ascent-tx-title{white-space:normal!important;}
}


/* Ascent 68: transaction list full remake + cache-busted in layout. */
.tx-remake-list{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:14px!important;width:100%!important;}
.tx-remake-list [hidden]{display:none!important;}
.tx-remake-row{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease!important;}
.tx-remake-row:hover{transform:translateY(-1px)!important;border-color:rgba(90,230,174,.26)!important;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028))!important;box-shadow:0 14px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.075)!important;}
.tx-remake-title,.tx-remake-main,.tx-remake-meta{text-align:left!important;}
.tx-remake-amount{text-align:right!important;}
@media(max-width:720px){
  .tx-remake-row{grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;min-height:72px!important;padding:12px!important;}
  .tx-remake-icon{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:16px!important;}
  .tx-remake-title{white-space:normal!important;font-size:14px!important;}
  .tx-remake-amount{grid-column:2!important;justify-self:start!important;text-align:left!important;min-width:0!important;font-size:14px!important;margin-top:1px!important;}
}

/* Ascent 72: banking desk polish, new staff/operator/API states, extra motion */
.bank-notice{position:relative;overflow:hidden;animation:noticePop .36s cubic-bezier(.2,.9,.2,1);}
.bank-notice::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.10) 45%,transparent 70%);transform:translateX(-120%);animation:noticeSheen 2.8s ease-in-out infinite;pointer-events:none;}
@keyframes noticePop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes noticeSheen{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.staff-hero,.api-hero{position:relative;overflow:hidden;}
.staff-hero::before,.api-hero::before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 68%);filter:blur(2px);pointer-events:none;animation:slowPulse 5.8s ease-in-out infinite;}
@keyframes slowPulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.78;transform:scale(1.05)}}
.staff-metrics .metric,.staff-action-card,.api-key-admin-row,.staff-customer-row{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.staff-metrics .metric:hover,.staff-action-card:hover,.api-key-admin-row:hover,.staff-customer-row:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 16px 34px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.07);}
.staff-desk .tab-panel{animation:deskFade .2s ease both;}
@keyframes deskFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.merchant-key-admin-list{gap:10px;}
.api-key-admin-row{align-items:flex-start;gap:14px;}
.api-key-actions{display:grid;gap:8px;justify-items:end;min-width:min(390px,100%);}
.api-key-actions .inline-form{justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.staff-note-form{justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:560px;}
.staff-ticket-list .link-row{position:relative;overflow:hidden;}
.staff-ticket-list .link-row::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:var(--accent);opacity:.45;}
.bad-text{color:var(--danger)!important;font-weight:850;}
.warn-text{font-weight:850;}
.badge.strong{box-shadow:inset 0 1px 0 rgba(255,255,255,.16);}
@media(max-width:820px){
  .api-key-admin-row,.staff-customer-row{display:grid!important;grid-template-columns:1fr!important;}
  .api-key-actions,.staff-note-form{justify-items:start;max-width:100%;}
  .api-key-actions .inline-form,.staff-note-form{justify-content:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  .bank-notice,.bank-notice::after,.staff-hero::before,.api-hero::before,.staff-desk .tab-panel{animation:none!important;}
}

/* Ascent 73: full spacing + clarity pass across dashboard, API, staff, operator, support, checkout. */
:root{
  --s1:6px;
  --s2:10px;
  --s3:14px;
  --s4:18px;
  --s5:24px;
  --frame-pad:11px 13px;
}

/* Let pages breathe without making the UI giant. */
.page-shell{display:block;}
.page-shell > * + *{margin-top:var(--s3);}
.page-head{margin-bottom:var(--s4)!important;}
.page-head .muted{max-width:760px;}
.page-head .status-pills{align-self:flex-start;margin-top:2px;}
.dash-tabs{gap:var(--s3)!important;}
.tab-panel.active{animation:panelRise .18s ease both;}
@keyframes panelRise{from{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Cards: consistent inside spacing on every page. */
.card,.small-card,.metric,.tool-card,.staff-action-card,.merchant-access-card,.checkout-frame,.auth-card{
  min-width:0;
}
.card{padding:var(--s3)!important;}
.small-card{padding:var(--s3)!important;}
.card > *:first-child,.small-card > *:first-child{margin-top:0!important;}
.card > *:last-child,.small-card > *:last-child{margin-bottom:0!important;}
.card > * + *,.small-card > * + *{margin-top:var(--s2);}
.card h3,.small-card h3{margin:0!important;line-height:1.22;}
.card p,.small-card p{margin:0;}
.card .muted + .stack-form,.card .muted + form,.card p + .stack-form,.card p + form{margin-top:var(--s3)!important;}
.card .status-frame,.card .flash{width:100%;margin:var(--s2) 0 0!important;}
.card .btn:not(.tiny),.small-card .btn:not(.tiny){margin-top:2px;}
.card .empty{margin-top:var(--s2)!important;}

/* Title rows and top controls: stop buttons kissing titles/text. */
.card-title-row,.section-title-row,.title-row{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:var(--s3)!important;
  flex-wrap:wrap!important;
  margin:0 0 var(--s3)!important;
}
.card-title-row h3,.section-title-row h3,.title-row h3{margin:0!important;}
.card-title-row .btn,.section-title-row .btn,.title-row .btn{margin:0!important;}
.status-pills{gap:8px!important;align-items:center;}

/* Forms and buttons: clear gaps across staff/operator/API/support. */
.stack-form,.compact-form{display:grid!important;gap:var(--s2)!important;align-items:start!important;}
.stack-form > label,.compact-form > label{display:grid;gap:5px;}
.inline-form{display:inline-flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin:0 6px 6px 0!important;vertical-align:top;}
.inline-form input:not([type="hidden"]),.inline-form select,.inline-form textarea{min-width:130px;}
.inline-search{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 var(--s2)!important;}
.inline-search input{flex:1 1 220px;min-width:min(240px,100%);}
.row.gap,.hero-actions,.quick-grid,.actions,.top-actions{gap:9px!important;}
.quick-grid{display:flex;flex-wrap:wrap;align-items:center;}
.quick-grid .btn{margin:0!important;}
.btn{white-space:nowrap;}
.btn.wide{width:100%;}

/* Notice/frames: no more cramped frame -> button / frame -> frame spacing. */
.status-frame,.flash{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:var(--frame-pad)!important;
  line-height:1.45!important;
}
.status-frame a,.flash a{font-weight:900;}
.status-frame + .status-frame,.status-frame + .btn,.status-frame + a.btn,.status-frame + form,.status-frame + .row,.compact-frame + .btn,.compact-frame + a.btn,.compact-frame + .row{margin-top:var(--s2)!important;}
.compact-inline{margin:0 0 var(--s3)!important;}
.bank-alert{justify-content:center;text-align:left;}
.alert-icon{flex:0 0 auto;line-height:1.25;}

/* Lists, rows, and queue cards: readable spacing without the bulky broken look. */
.list,.compact-list,.stack-list,.control-list,.feature-pause-list,.support-tool-grid,.merchant-key-admin-list{display:grid!important;gap:9px!important;}
.list-row,.mini-row{
  padding:10px 12px!important;
  gap:12px!important;
  align-items:flex-start!important;
}
.list-row > span,.mini-row > span{min-width:0;}
.list-row form,.mini-row form{flex:0 0 auto;}
.list-row .badge,.mini-row .badge{margin-left:0;}
.link-row:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:0 8px 18px rgba(0,0,0,.055);transform:translateY(-1px);}
.staff-ticket-list .link-row,.support-tool-grid .mini-row{padding-left:15px!important;}

/* Tables: better row height, action button spacing, readable cells. */
.table-scroll{margin-top:var(--s2)!important;border-radius:14px;}
table{border-spacing:0 8px!important;}
th{padding:0 10px 2px!important;}
td{padding:10px!important;vertical-align:middle!important;}
td .inline-form{margin:0 5px 5px 0!important;}
td .btn.tiny{min-height:28px;}

/* Details and command/copy lines. */
.detail-list{gap:8px 14px!important;margin-top:var(--s2)!important;}
.detail-list dt{line-height:1.3;}
.detail-list dd{line-height:1.38;}
.command-copy,.copy-line{display:flex!important;align-items:center!important;gap:8px!important;margin:var(--s2) 0!important;}
.command-copy code,.copy-line code{min-width:0;overflow:auto;}

/* Merchant/API page spacing. */
.api-steps{margin-bottom:var(--s4)!important;}
.step-card{display:grid;gap:7px;align-content:start;}
.step-num{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:950;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);}
.merchant-grid{gap:var(--s4)!important;align-items:start;}
.access-summary{display:grid!important;gap:7px!important;}
.merchant-key-admin-list,.api-key-admin-row{margin-top:var(--s2)!important;}
.api-key-admin-row{padding:12px!important;}
.api-key-actions{gap:9px!important;}
.api-key-actions textarea{min-height:42px;}

/* Staff/operator desks need stronger grouping. */
.staff-desk .tab-panel.active,.operator-desk .tab-panel.active{padding-top:2px;}
.staff-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px!important;}
.staff-action-card .btn{margin-top:auto!important;}
.staff-customer-row{align-items:flex-start!important;}
.staff-note-form{display:flex!important;gap:8px!important;align-items:flex-start!important;}
.staff-note-form textarea{flex:1 1 230px;min-height:40px;}
.control-list>div{padding:11px 0!important;gap:14px!important;}

/* Checkout / login / support pages: vertical action rhythm. */
.checkout-shell{padding:22px 0;}
.checkout-frame{display:grid;gap:var(--s3)!important;}
.checkout-frame .btn{margin-top:0!important;}
.checkout-actions,.checkout-frame .row{gap:9px!important;}
.chat-list{gap:10px!important;}
.chat-msg{padding:11px 12px!important;}
.chat-msg p{line-height:1.55!important;}

/* Add subtle polished bank motion, with reduced-motion respected. */
.card,.small-card,.list-row,.mini-row,.btn,.status-frame,.table-scroll table tr td{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.card:hover,.small-card:hover{border-color:color-mix(in srgb,var(--accent) 20%,var(--line));}
.btn:hover{box-shadow:0 10px 22px rgba(17,106,82,.16);}
.card::selection,.small-card::selection{background:color-mix(in srgb,var(--accent) 22%,transparent);}
body.reduce-motion .card,body.reduce-motion .small-card,body.reduce-motion .list-row,body.reduce-motion .mini-row,body.reduce-motion .btn,body.reduce-motion .tab-panel.active{transition:none!important;animation:none!important;transform:none!important;}

@media(max-width:900px){
  .card{padding:12px!important;}
  .page-head{gap:10px!important;}
  .card-title-row{gap:10px!important;}
  .inline-search{align-items:stretch!important;}
  .inline-search input,.inline-search .btn{width:100%;}
  .status-frame,.flash{width:min(100%,calc(100vw - 18px));}
}
@media(max-width:640px){
  .page-shell > * + *{margin-top:12px;}
  .cards-2,.cards-3,.cards-4{gap:10px!important;}
  .list-row,.mini-row{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;}
  .list-row form,.mini-row form,.inline-form{width:100%;}
  .inline-form .btn,.inline-form input:not([type="hidden"]),.inline-form select,.inline-form textarea{width:100%;}
  .command-copy,.copy-line{align-items:stretch!important;flex-direction:column!important;}
  .status-frame,.flash{font-size:12.5px;}
}

/* v74 banking safety polish */
.action-stack{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-start}
.action-stack .inline-form{margin:0}
.action-stack .btn.tiny{white-space:nowrap}
.table-scroll small{line-height:1.35}


/* =====================================================================
   ARCHSTONE
   ---------------------------------------------------------------------
   An archstone is the wedge at the crown of an arch: the one piece the
   whole structure loads onto. That is the design, not a metaphor bolted
   on afterwards.

   Materials come from a banking hall rather than a dashboard - granite,
   mortar, brass fittings, oxidised copper. Depth comes from rules and
   surface value, never from blur: a soft shadow under every card is the
   single thing that made the old build read as a template.

   ONE arch on the page, over the balance. Everything else is square cut,
   so the curve still means something by the time you reach it. Money is
   set in tabular numerals a size up from its surroundings, because the
   figures are the content and the labels are not.
   ===================================================================== */

:root{
  --bg:#EDEBE5; --panel:#F7F6F2; --panel2:#F1EFE9; --text:#1D2321; --muted:#5E6A63;
  --line:#D3CFC5; --accent:#7A6021; --accent2:#B08D3F;
  --danger:#A4453A; --warn:#8A6318; --ok:#3E6A5B;
  --brass:#B08D3F; --verdigris:#4E7C6B; --sanguine:#A4453A;
  --shadow:none; --r:3px; --r2:2px;
  --display:Spectral,Georgia,'Times New Roman',serif;
  --ui:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html[data-theme="dark"]{
  --bg:#161B19; --panel:#1D2321; --panel2:#232B28; --text:#E4E1D8; --muted:#9AA49D;
  --line:#333C38; --accent:#C9A85C; --accent2:#B08D3F;
  --danger:#D08078; --warn:#D6AF62; --ok:#7FB3A0;
  --brass:#C9A85C; --verdigris:#7FB3A0; --sanguine:#D08078;
  --shadow:none;
}

/* ---- ground ---- */
body,html[data-theme="dark"] body{
  background:var(--bg); font-family:var(--ui); font-size:14.5px; line-height:1.55;
}
h1,h2,h3,h4,.brand-text,.big-balance,.metric strong,.score-number{
  font-family:var(--display); font-weight:600; letter-spacing:-.01em;
}
h1{letter-spacing:-.02em}
.lead,.muted{font-family:var(--ui)}

/* Money is the content. Tabular figures so columns of it line up, and a
   size up from the label above it. No monospace: this is a bank, not a
   terminal, and Plex's own lining figures are already even. */
.big-balance,.metric strong,td,.money,[data-money],.mini-stats b,
.limit-grid b,.control-list strong,.checkout-cost,.due-display,
.annual-display,.rate-display,.cap-display,.interest-display,.pack-display{
  font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1;
}
.big-balance{font-size:clamp(30px,4.4vw,44px);letter-spacing:-.03em;line-height:1;margin:6px 0 10px}
.metric strong{letter-spacing:-.02em}

/* ---- masonry: rules and surface, no blur ---- */
.card,.small-card,.tool-card,.modal-card,.list-row,.mini-row,.user-result,
.chat-msg,.factor-card,.control-list div,.limit-grid div,.auth-mini-grid span,
.credit-inline,.bank-preview{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--r); box-shadow:none;
}
/* The lintel: one brass hairline across the top of a panel, the way a
   stone course is capped. It replaces the shadow as the thing that lifts
   a card off the page. */
.card,.tool-card,.modal-card{border-top:2px solid var(--brass)}
.card::before,.tool-card::before{display:none}
.card:hover,.tool-card:hover,.list-row:hover,.user-result:hover{
  transform:none; box-shadow:none; border-color:var(--brass);
}
.card,.small-card,.list-row,.mini-row,.user-result,.tool-card{overflow:visible}

/* ---- THE ARCH -------------------------------------------------------
   The available-balance panel, and only that one. Its head is a true
   semicircular arch struck on the panel width, with the brass keystone
   sitting at the crown. Everything else on the page is square cut, which
   is what lets this read as deliberate rather than as a rounded corner. */
.card:has(> .big-balance[data-balance="checking"]){
  border-top:0; border-radius:9999px 9999px var(--r) var(--r) / 46% 46% var(--r) var(--r);
  padding-top:56px; text-align:center; position:relative;
  background:var(--panel2); border-color:var(--brass);
}
.card:has(> .big-balance[data-balance="checking"])::after{
  content:""; position:absolute; top:-1px; left:50%; width:26px; height:19px;
  transform:translateX(-50%);
  background:var(--brass);
  clip-path:polygon(22% 0, 78% 0, 100% 100%, 0 100%);
}
.card:has(> .big-balance[data-balance="checking"]) h3{
  color:var(--muted); font-family:var(--ui); font-weight:600; font-size:13px;
}

/* ---- brass is for things you can act on, nothing else ---- */
.btn{
  background:var(--brass); color:#1D2321; border:1px solid var(--brass);
  border-radius:var(--r2); box-shadow:none; font-family:var(--ui);
  font-weight:600; letter-spacing:0;
}
.btn:hover{background:#9C7C35; border-color:#9C7C35; transform:none; box-shadow:none}
.btn.ghost{background:transparent; color:var(--text); border-color:var(--line)}
.btn.ghost:hover{background:var(--panel2); border-color:var(--brass); box-shadow:none}
.btn.danger{background:var(--sanguine); border-color:var(--sanguine); color:#fff}
.btn::after,.tab-btn::after,.seg-btn::after{display:none}
a{color:var(--accent)}
.live-status{color:var(--brass)}

/* ---- navigation: a course of stone, not pills ---- */
.topbar{
  background:var(--panel); border-bottom:1px solid var(--line);
  backdrop-filter:none; box-shadow:none;
}
.brand-text{font-size:19px;letter-spacing:-.01em;font-weight:600}
.nav-tab,.bt{
  border:0; border-radius:0; border-bottom:2px solid transparent;
  padding:8px 2px; margin-right:16px; font-weight:500; font-size:13.5px;
  color:var(--muted); background:none;
}
.nav-tab:hover,.bt:hover{background:none; color:var(--text); border-bottom-color:var(--line)}
.nav-tab.active,.bt.active{background:none; color:var(--text); border-bottom-color:var(--brass)}
.tab-strip{
  background:none; border:0; border-bottom:1px solid var(--line);
  border-radius:0; padding:0; box-shadow:none; gap:18px;
}
.tab-btn{
  border-radius:0; border-bottom:2px solid transparent; background:none;
  color:var(--muted); font-weight:500; padding:8px 0; opacity:1;
}
.tab-btn:hover{background:none; transform:none; color:var(--text)}
.tab-btn.active{background:none; color:var(--text); border-bottom-color:var(--brass); box-shadow:none}
html[data-theme="dark"] .tab-btn.active{background:none; color:var(--text)}
.bottom-tabs{background:var(--panel); border-color:var(--line); border-radius:var(--r); box-shadow:none; backdrop-filter:none}
.segmented{border-radius:var(--r); background:var(--panel2)}
.seg-btn{border-radius:var(--r2)}
.seg-btn.active{background:var(--brass); color:#1D2321}

/* ---- ledger ---- */
table{border-spacing:0}
th{
  font-family:var(--ui); font-size:11.5px; font-weight:600; color:var(--muted);
  text-transform:none; letter-spacing:0; padding:6px 8px;
  border-bottom:1px solid var(--line);
}
td{background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:9px 8px}
td:first-child,td:last-child{border-radius:0; border-left:0; border-right:0}
.money.pos,.badge.ok{color:var(--verdigris)}
.money.neg{color:var(--sanguine)}

/* ---- fields ---- */
input,select,textarea{border-radius:var(--r2); background:var(--panel); border-color:var(--line)}
input:focus,select:focus,textarea:focus{border-color:var(--brass); box-shadow:0 0 0 2px rgba(176,141,63,.22)}
label,.field-label{font-family:var(--ui); font-weight:600; font-size:12.5px; color:var(--muted)}

/* ---- notices ---- */
.badge{border-radius:var(--r2); font-weight:600; background:var(--panel2); border-color:var(--line); color:var(--muted)}
.badge.ok{background:rgba(78,124,107,.14); border-color:rgba(78,124,107,.4); color:var(--verdigris)}
.badge.warn,.badge.lock{background:rgba(176,141,63,.14); border-color:rgba(176,141,63,.42); color:var(--accent)}
.status-frame,.flash{border-radius:var(--r); font-weight:500; border-left-width:3px}
.flash.ok,.status-frame.ok{background:rgba(78,124,107,.1); border-color:var(--verdigris); color:var(--verdigris)}
.status-frame.bad,.flash.bad{background:rgba(164,69,58,.1); border-color:var(--sanguine); color:var(--sanguine)}
.status-frame.warn,.flash.warn{background:rgba(176,141,63,.12); border-color:var(--brass); color:var(--accent)}

/* ---- eyebrow: sentence case, not a tracked-out all-caps label ---- */
.eyebrow{
  text-transform:none; letter-spacing:0; font-weight:600; font-size:12.5px;
  color:var(--muted); font-family:var(--ui);
}
.preview-topline,.tool-card span{text-transform:none; letter-spacing:0; font-weight:600; color:var(--muted)}

/* ---- meters read as a stacked course ---- */
.meter{border-radius:0; height:8px; border-color:var(--line)}
.meter span:nth-child(1){background:var(--verdigris)}
.meter span:nth-child(2){background:var(--brass)}
.meter span:nth-child(3){background:var(--line)}

/* ---- the card art keeps its own identity, restated in brass ---- */
.virtual-card{
  border-radius:var(--r); box-shadow:none; color:#EDEBE5;
  background:linear-gradient(150deg,#232B28 0%,#1D2321 58%,#141917 100%);
  border:1px solid var(--brass);
}
.virtual-card::before,.virtual-card::after{display:none}
.vc-top,.vc-bottom{text-transform:none; letter-spacing:.02em; font-weight:500}
.vc-number{font-family:var(--display); letter-spacing:.06em; font-variant-numeric:tabular-nums}

/* ---- restraint: the old build animated everything on every load ---- */
.card,.tool-card,.list-row,.metric,.user-result,
.tab-panel.active .card,.tab-panel.active .tool-card,.tab-panel.active .list-row{
  animation:none !important;
}
.hero-card{animation:none}
.status-pills .badge.ok{animation:none}
.brand:hover img{transform:none}
.card,.small-card,input,select,textarea,.modal-card,.tab-strip,.topbar{transition:border-color .15s ease}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* A browser without :has() gets a square panel rather than a broken one:
   the arch is the flourish, and the balance still reads without it. */
@supports not (selector(:has(*))){
  .card > .big-balance[data-balance="checking"]{text-align:center}
}

/* ---- the mark -------------------------------------------------------
   A colonnade over the wordmark, at 1.49:1. The old rule forced it into
   a 30px square, which squashed the columns; height is set and width is
   left to follow so the proportions hold at any size. Two files rather
   than a CSS filter: the artwork ships in near-whites for a dark ground,
   and inverting it in the browser would grey the whole mark instead of
   restating it in granite. */
.brand-logo{height:26px;width:auto;object-fit:contain;filter:none;transition:none}
.brand-logo-dark{filter:none}
.brand{gap:11px}
.brand-text{font-family:var(--display);font-weight:600}
.brand-text span{font-size:11px;vertical-align:super;color:var(--brass)}
.mini-logo{height:22px;width:auto}
@media (max-width:520px){.brand-logo{height:22px}}

/* ---- the mark, standing alone --------------------------------------
   The wordmark is drawn INTO the artwork, so the text beside it was the
   name twice. With the type gone the mark has to carry the header on its
   own, so it takes the height the two of them used to occupy together.
   The link keeps its aria-label, which is now the only accessible name
   it has. */
.brand-logo{height:40px}
.brand{gap:0}
@media (max-width:900px){.brand-logo{height:34px}}
@media (max-width:520px){.brand-logo{height:29px}}

/* ---- mark sizing, properly this time -------------------------------
   The base sheet sets `.brand img{width:30px;height:30px}`, which is a
   more specific selector than `.brand-logo` and was quietly winning:
   the mark kept the 30px square the old icon was drawn for, so a 1.49:1
   colonnade was being squeezed into it. Matching that selector, and
   clearing width so the aspect ratio decides it. The top bar grows to
   suit rather than the mark shrinking to fit. */
:root{--top:78px}
.topbar .brand img,.brand img.brand-logo{
  height:52px; width:auto; max-width:none; object-fit:contain;
  filter:none; transition:none;
}
@media (max-width:900px){
  :root{--top:70px}
  .topbar .brand img,.brand img.brand-logo{height:44px}
}
@media (max-width:520px){
  :root{--top:60px}
  .topbar .brand img,.brand img.brand-logo{height:36px}
}

/* The replacement artwork is 2.80:1 rather than 1.49:1, so at the same
   height it is nearly twice as wide. Height comes down a little to keep
   the lockup from crowding the tabs, and the top bar with it. */
:root{--top:70px}
.topbar .brand img,.brand img.brand-logo{height:44px}
@media (max-width:900px){
  :root{--top:62px}
  .topbar .brand img,.brand img.brand-logo{height:36px}
}
@media (max-width:520px){
  :root{--top:56px}
  .topbar .brand img,.brand img.brand-logo{height:30px}
}

/* Air between the mark and the first tab. The lockup ends in the wordmark's
   final letterform, so without a gap the nav reads as a continuation of it. */
.topbar .brand{margin-right:28px}
@media (max-width:900px){.topbar .brand{margin-right:18px}}
@media (max-width:520px){.topbar .brand{margin-right:12px}}

/* =====================================================================
   THE CARD
   ---------------------------------------------------------------------
   A card is an object, not a UI panel, so it is the one place on the
   page allowed a face of its own. The front is the printed face itself
   (img/archstone-card-art.svg), built on the same construction as the
   Del Rey Bank ReyCard art: rounded body, radial glow, two hairline
   sweeps, issuer lockup top left, network block bottom right. Only the
   data that varies per holder is drawn over it in HTML.

   The flip stays. It answers something the holder asked for (show me the
   security code) and shows what changed, which is the kind of motion
   worth keeping; the ambient sheen that used to sweep across it did not
   answer anything and is gone.
   ===================================================================== */
.ascent-card-scene{
  /* The art's own proportion, so the printed face is never stretched. */
  max-width:352px !important; width:100%; aspect-ratio:215.19/129.93; perspective:1100px;
  margin:2px 0 12px;
}
.ascent-card-inner{
  position:relative; width:100%; height:100%; transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.ascent-card-scene:hover .ascent-card-inner,
.ascent-card-scene:focus-visible .ascent-card-inner,
.ascent-card-scene.is-flipped .ascent-card-inner{transform:rotateY(180deg)}
.ascent-card-scene:focus-visible{outline:2px solid var(--brass); outline-offset:6px; border-radius:2px}

.ascent-card-face{
  position:absolute; inset:0; backface-visibility:hidden;
  border-radius:18px; border:0; box-shadow:none; overflow:hidden;
  color:#E4E1D8;
}
/* The front is the printed card. The issuer lockup and the network block
   are in the art, so nothing here repeats them. */
.ascent-card-front{
  background:#090C0B url("/img/archstone-card-art.svg") center/cover no-repeat;
}
/* The back is the same object turned over: same glow, no print. */
.ascent-card-back{
  transform:rotateY(180deg);
  background:#090C0B radial-gradient(88% 118% at 50% 50%, #2F5044 0%, #090C0B 100%);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:20px 22px !important;
}

/* --- what is stamped on the front ------------------------------------ */
/* The number is the object's identity, so it gets the display face and
   room to breathe. Tabular figures keep the four groups even. */
.acard-number{
  position:absolute; left:7%; right:7%; top:48%;
  font-family:var(--display) !important; font-size:23px !important; font-weight:600;
  letter-spacing:.10em !important; word-spacing:.22em !important;
  font-variant-numeric:tabular-nums; color:#F1EFE9;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
/* Bottom left, clear of the network block on the right. */
.acard-holder{
  position:absolute; left:7%; bottom:8%; max-width:48%;
  font-family:var(--ui); line-height:1.25;
}
.acard-holder small{
  display:block; font-size:8px; letter-spacing:.16em; text-transform:uppercase;
  color:#A9B3AC; margin-bottom:2px;
}
.acard-holder span{
  display:block; font-size:12.5px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:#F1EFE9; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; text-shadow:0 1px 2px rgba(0,0,0,.55);
}

.acard-back-bottom{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  font-family:var(--ui); font-size:11px; font-weight:500; color:#9AA49D;
  letter-spacing:.02em;
}

.acard-back-brand{font-family:var(--display); font-size:13px; color:#9AA49D}
/* A real stripe: a solid band edge to edge, not a rounded grey rectangle. */
.acard-stripe{
  height:38px; background:#0B0E0D; margin:10px -22px;
  border-top:1px solid #333C38; border-bottom:1px solid #333C38;
}
.acard-back-body{display:flex; justify-content:space-between; align-items:flex-end; gap:16px}
.acard-signature{
  flex:1; background:var(--mortar,#C9C6BC); background:#C9C6BC; color:#1D2321;
  font-family:var(--ui); font-size:10.5px; padding:7px 9px; border-radius:2px;
}
.acard-secure-fields{display:flex; gap:16px; text-align:right}
.acard-secure-fields small{display:block; font-size:9.5px; color:#9AA49D; letter-spacing:.06em}
.acard-secure-fields strong{
  font-family:var(--display); font-size:15px; color:#F1EFE9;
  font-variant-numeric:tabular-nums; letter-spacing:.04em;
}

/* Frozen is a state of the object, so it shows on the object: the brass
   goes cold and the face desaturates. A badge alone is easy to miss when
   the card in front of you looks perfectly usable. */
.ascent-card-scene.is-frozen .ascent-card-face{filter:saturate(.2) brightness(.78)}

.card-title-row{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px}
.card-hover-hint{margin:0 0 10px !important; text-align:left !important; color:var(--muted); max-width:352px}
.card-money-list div{border-radius:var(--r2)}

/* No card yet: an uncut blank rather than a dashed placeholder box. */
.empty-card-state{
  border:1px solid var(--line); border-left:2px solid var(--brass); border-radius:var(--r);
  background:var(--panel2); padding:18px 20px; margin-bottom:12px;
}
.empty-card-state strong{font-family:var(--display); font-size:16px; display:block; margin-bottom:4px}
.empty-card-state p{margin:0; color:var(--muted); font-size:14px; max-width:52ch}

@media (prefers-reduced-motion:reduce){
  .ascent-card-inner{transition:none}
}
/* The face is printed art, so the type over it has to shrink with the card
   rather than with the viewport alone. */
@media (max-width:520px){
  .ascent-card-scene{max-width:100% !important}
  .acard-number{font-size:20px !important; letter-spacing:.07em !important}
  .acard-holder span{font-size:11.5px}
}
@media (max-width:360px){
  .acard-number{font-size:17px !important; letter-spacing:.05em !important; word-spacing:.14em !important}
  .acard-holder small{font-size:7.5px}
  .acard-holder span{font-size:10.5px}
}

/* =====================================================================
   THE STEP-UP
   ---------------------------------------------------------------------
   A held charge is a question with a clock on it, so it sits at the top
   of the cards panel and is edged in sanguine: the one place in this
   interface allowed to be loud, because ignoring it has a cost.
   ===================================================================== */
.approval-card{border-left:2px solid var(--sanguine,#A4453A) !important; margin-bottom:16px}
.approval-list{list-style:none; margin:14px 0 10px; padding:0; display:grid; gap:0}
.approval-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:14px 0; border-top:1px solid var(--line);
}
.approval-row:first-child{border-top:0}
.approval-what{display:flex; flex-direction:column; gap:3px; min-width:0}
.approval-what strong{font-family:var(--display); font-size:19px; letter-spacing:-.01em}
.approval-what span{font-size:14px}
.approval-what small{color:var(--muted); font-size:12.5px; line-height:1.5}
.approval-actions{display:flex; gap:8px; flex-shrink:0}
.approval-actions form{margin:0}
@media (max-width:620px){
  .approval-row{flex-direction:column; gap:10px}
  .approval-actions{width:100%}
  .approval-actions form{flex:1}
  .approval-actions button{width:100%}
}

/* =====================================================================
   DISPUTES
   ---------------------------------------------------------------------
   A claim is an argument between two banks with a clock on it, so both
   sides of it are laid out as a statement plus the answer that is owed.
   ===================================================================== */
.rc-charges{display:grid; gap:0; margin-top:6px}
.rc-charge{padding:14px 0; border-top:1px solid var(--line)}
.rc-charge:first-child{border-top:0}
.rc-charge-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px}
.rc-charge-head strong{font-family:var(--display); font-size:17px; display:block}
.rc-charge-head span{font-size:14px}
.rc-charge-head small{display:block; color:var(--muted); font-size:12px; margin-top:2px}
.rc-dispute{margin-top:8px}
.rc-dispute > summary{
  cursor:pointer; font-size:13px; color:var(--muted); list-style:none;
  border-bottom:1px solid transparent; display:inline-block; padding:2px 0;
}
.rc-dispute > summary::-webkit-details-marker{display:none}
.rc-dispute > summary::before{content:"› "; color:var(--brass)}
.rc-dispute[open] > summary::before{content:"⌄ "}
.rc-dispute > summary:hover{color:var(--ink); border-bottom-color:var(--brass)}
.rc-dispute-form{display:grid; gap:9px; margin-top:12px; max-width:46rem}
.rc-dispute-form label{font-size:13px; font-weight:600}
.rc-dispute-form button{justify-self:start}

.dispute-card{border-left:2px solid var(--brass) !important}
.dispute-list{display:grid; gap:0; margin-top:6px}
.dispute-row{padding:16px 0; border-top:1px solid var(--line)}
.dispute-row:first-child{border-top:0}
.dispute-row.is-open{
  border-left:2px solid var(--sanguine,#A4453A); padding-left:14px; margin-left:-16px;
}
.dispute-head{display:flex; align-items:center; justify-content:space-between; gap:16px}
.dispute-head strong{font-family:var(--display); font-size:19px; margin-right:10px}
.dispute-role{font-size:14px; color:var(--muted)}
.dispute-meta{display:block; color:var(--muted); font-size:12px; margin-top:4px; line-height:1.6}
.dispute-quote{
  margin:9px 0 0; padding:9px 12px; border-left:2px solid var(--line);
  background:var(--panel2); font-size:14px; line-height:1.5;
}
.dispute-actions{display:grid; gap:9px; margin-top:12px; max-width:46rem}
.dispute-buttons{display:flex; gap:8px; flex-wrap:wrap}
@media (max-width:620px){
  .rc-charge-head,.dispute-head{flex-direction:column; gap:8px; align-items:flex-start}
  .dispute-buttons button{width:100%}
}
.rc-withdraw{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px}
.rc-withdraw .tiny-copy{margin:0}

/* A count on the tab, so a held payment is visible from any panel. */
.tab-dot{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:17px; height:17px; margin-left:7px; padding:0 5px;
  border-radius:9px; background:var(--sanguine,#A4453A); color:#F6F4EE;
  font-family:var(--ui); font-size:11px; font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums; vertical-align:middle;
}
.overview-approval{margin-bottom:16px}
.overview-approval .btn{margin-top:4px}

/* =====================================================================
   NETWORK SETUP
   ---------------------------------------------------------------------
   Joining a card network is a sequence, not a form, so it is drawn as
   one: three steps, each saying what it is for and whether it is done.
   ===================================================================== */
.setup-card{margin-bottom:16px}
.setup-steps{list-style:none; counter-reset:none; margin:14px 0 0; padding:0; display:grid; gap:0}
.setup-step{padding:18px 0 18px 16px; border-top:1px solid var(--line); border-left:2px solid var(--line)}
.setup-step:first-child{border-top:0}
.setup-step.is-done{border-left-color:var(--verdigris,#4E7C6B)}
.setup-head{display:flex; align-items:center; justify-content:space-between; gap:14px}
.setup-head h4{margin:0; font-family:var(--display); font-size:16px; font-weight:600}
.setup-step > p.muted{margin:6px 0 0; max-width:64ch; line-height:1.55}
.setup-fact{display:flex; align-items:baseline; gap:10px; margin-top:8px; font-size:13px; flex-wrap:wrap}
.setup-fact > span:first-child{color:var(--muted); min-width:150px}
.setup-fact code{font-size:12.5px; word-break:break-all}
.setup-form{display:grid; gap:10px; margin-top:12px; max-width:44rem}
.setup-form label{display:grid; gap:5px; font-size:13px; font-weight:600}
.setup-form input{font-weight:400}
.setup-form button{justify-self:start}
.setup-form .tiny-copy{margin:0}
.setup-events{margin-top:16px; border-top:1px solid var(--line); padding-top:12px}
.setup-events > summary{cursor:pointer; font-size:13px; color:var(--muted); list-style:none}
.setup-events > summary::-webkit-details-marker{display:none}
.setup-events > summary::before{content:"› "; color:var(--brass)}
.setup-events[open] > summary::before{content:"⌄ "}
.setup-eventlist{display:flex; flex-wrap:wrap; gap:6px; margin:10px 0}
.setup-eventlist code{font-size:12px; padding:3px 7px; background:var(--panel2); border:1px solid var(--line); border-radius:2px}
@media (max-width:620px){ .setup-fact > span:first-child{min-width:0; width:100%} }
.setup-howto{margin:10px 0 4px; padding-left:20px; color:var(--muted); font-size:13.5px; line-height:1.65; max-width:64ch}
.setup-howto li{margin:3px 0}
.setup-howto strong{color:var(--ink)}
/* An outbound link earns a mark: the reader should know before clicking that
   this one leaves the bank. */
.nav-tab__out{font-size:.72em; margin-left:3px; opacity:.6; vertical-align:super}
.visually-hidden{position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}
