:root{--v4-navy:#0b1634;--v4-blue:#315bea;--v4-cyan:#13b8a6;--v4-bg:#f4f7fb;--v4-line:#dfe6f0;--v4-text:#12213f;--v4-muted:#66748d}
body{background:var(--v4-bg);color:var(--v4-text)}
.app-shell{grid-template-columns:270px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#071329 0%,#0d1c3b 58%,#10264e 100%);border-right:0;box-shadow:12px 0 36px rgba(13,28,59,.12)}
.sidebar .brand-row{margin:4px 4px 18px;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.045)}
.sidebar .brand-row h2,.sidebar .brand-row p{color:#fff}.sidebar .brand-row p{opacity:.62}
.v4-nav{gap:4px;overflow:auto;padding-right:3px}.v4-nav .nav-section{display:block;padding:17px 13px 6px;color:#7f91b9;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.v4-nav button{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px;border-radius:12px;color:#bdc9e2;font-weight:700;text-align:left}
.v4-nav button:before{content:attr(data-icon);display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.06);color:#9fafff;font-size:14px;font-weight:900}
.v4-nav button>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v4-nav button small{color:#8191af;font-size:9px;font-weight:800;text-transform:uppercase}
.v4-nav button:hover{background:rgba(255,255,255,.07);color:#fff}.v4-nav button.active{background:linear-gradient(135deg,#315bea,#4e6cf0);color:#fff;box-shadow:0 10px 24px rgba(49,91,234,.34)}
.v4-nav button.active:before{background:rgba(255,255,255,.18);color:#fff}.v4-nav button.active small{color:#dfe5ff}.sidebar-footer button{border-color:rgba(255,255,255,.14);color:#d6def0}
.main{min-width:0}.topbar{min-height:74px;padding:0 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--v4-line)}.topbar h1{font-size:21px;color:var(--v4-navy)}
.content{max-width:1500px;width:100%;padding:28px 30px 48px;margin:0 auto}
.v4-page-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;margin-bottom:20px;padding:28px 30px;border-radius:24px;background:radial-gradient(circle at 80% 0,rgba(19,184,166,.22),transparent 38%),linear-gradient(135deg,#0b1733,#183d7a);color:#fff;box-shadow:0 18px 45px rgba(13,34,73,.18);overflow:hidden}
.v4-page-hero.compact{grid-template-columns:1fr}.v4-page-hero h2{margin:5px 0 7px;color:#fff;font-size:clamp(24px,3vw,38px);letter-spacing:-.035em}.v4-page-hero p{margin:0;max-width:760px;color:#c7d6f2}.v4-page-hero .eyebrow{color:#6ff2dd}.v4-page-hero .primary{background:#fff;color:#17346d;box-shadow:none}.v4-page-hero .primary:disabled{opacity:.5}
.v4-capacity{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:105px;min-height:84px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08)}.v4-capacity strong{font-size:26px}.v4-capacity span{color:#b9c9e6;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.v4-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.v4-info-grid article{display:flex;gap:14px;align-items:center;padding:17px 18px;border:1px solid var(--v4-line);border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(25,48,84,.05)}.v4-info-grid article>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#eef2ff;color:#315bea;font-size:13px;font-weight:900}.v4-info-grid strong,.v4-info-grid small{display:block}.v4-info-grid small{margin-top:3px;color:var(--v4-muted);line-height:1.35}
.v4-list-card{overflow:hidden;border:1px solid var(--v4-line);border-radius:22px}.v4-list-card .card-head{padding:20px 22px}
.v4-merchant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;background:#f8faff}
.v4-merchant-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #dce4f1;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(17,38,75,.055)}.v4-merchant-card.is-off{opacity:.72}.v4-merchant-card header{display:flex;justify-content:space-between;gap:16px}.v4-merchant-card h3{margin:9px 0 4px;font-size:19px}.v4-merchant-card code{color:#62708a;font-size:12px}.v4-priority{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f0f3ff;color:#385ce2;font-size:12px;font-weight:900}
.v4-owner{padding:11px 13px;border-radius:12px;background:#f4f7fc}.v4-owner span,.v4-owner strong,.v4-owner small{display:block}.v4-owner span,.v4-merchant-facts span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#8290a8}.v4-owner small{margin-top:3px;color:#71809a}
.v4-merchant-facts{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:10px}.v4-merchant-facts>div{min-width:0;padding:11px;border:1px solid #e5eaf3;border-radius:12px}.v4-merchant-facts strong,.v4-merchant-facts small{display:block;margin-top:5px}.v4-merchant-facts strong{font-size:12px;overflow-wrap:anywhere}.v4-merchant-facts small{color:#74829b;font-size:10px}.v4-merchant-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.v4-merchant-card footer button{min-width:105px}
.v4-create-card{max-width:850px;margin:0 auto;border-radius:22px}.v4-create-card .card-body{padding:28px}.v4-amount-field input{min-height:64px;font-size:26px;font-weight:800}.v4-lock-note{display:flex;gap:10px;align-items:center;padding:14px 16px;border:1px solid #bce8de;border-radius:13px;background:#effcf8;color:#146a5d}.v4-lock-note strong,.v4-lock-note span{display:block}.v4-lock-note span{font-size:12px;color:#4b776f}
.v4-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v4-settings-grid .card{margin:0;border-radius:20px;overflow:hidden}.v4-settings-grid .card-head{padding:20px 22px}.v4-settings-grid .card-body{padding:22px}.v4-stack{display:flex;flex-direction:column;gap:16px}.v4-stack>p{margin:0;line-height:1.7}.v4-stack .login-form{gap:15px}.v4-example{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid #dbe3f2;border-radius:13px;background:#f7f9fd}.v4-example span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#72809a}.v4-example code{overflow-wrap:anywhere;color:#284b9a}.v4-settings-grid .code-block{max-height:420px;overflow:auto;white-space:pre-wrap}
.v4-offer-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:20px;padding:19px 24px;border-radius:18px;background:linear-gradient(120deg,#ff6a2b,#ec2f67 56%,#7b32dc);color:#fff;box-shadow:0 16px 38px rgba(213,50,95,.23)}.v4-offer-hero>span{padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em}.v4-offer-hero strong{font-size:23px}.v4-offer-hero small{color:#ffe8ee}.v4-old-price{margin:8px 0 -3px;color:#8894a8;font-size:16px;text-decoration:line-through;text-decoration-thickness:2px}
.modal-card{border-radius:22px;box-shadow:0 25px 80px rgba(6,20,48,.3)}.form-section-title{border-radius:12px}.card,.stat,.route-designer{border-color:var(--v4-line);box-shadow:0 8px 24px rgba(25,48,84,.045)}
@media(max-width:1050px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.v4-merchant-grid{grid-template-columns:1fr}.v4-settings-grid{grid-template-columns:1fr}.content{padding:22px}.v4-page-hero{grid-template-columns:1fr auto}.v4-page-hero .primary{grid-column:1/-1;width:100%}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:1000;top:0;bottom:0;left:0;width:min(86vw,310px);transform:translateX(-105%);transition:.22s ease}.sidebar.open{transform:translateX(0);box-shadow:20px 0 70px rgba(5,17,40,.4)}.topbar{min-height:66px;padding:0 15px}.mobile-menu{display:inline-flex}.content{padding:15px 12px 34px}.v4-page-hero{grid-template-columns:1fr;padding:22px 19px;border-radius:19px}.v4-page-hero .v4-capacity{position:absolute;opacity:0;pointer-events:none}.v4-page-hero h2{font-size:27px}.v4-info-grid{grid-template-columns:1fr;gap:9px}.v4-info-grid article{padding:13px}.v4-merchant-grid{padding:10px}.v4-merchant-card{padding:16px}.v4-merchant-facts{grid-template-columns:1fr 1fr}.v4-merchant-facts>div:last-child{grid-column:1/-1}.v4-merchant-card footer{display:grid;grid-template-columns:1fr 1fr}.v4-merchant-card footer button{width:100%;min-width:0}.v4-create-card .card-body,.v4-settings-grid .card-body{padding:17px}.v4-settings-grid{gap:13px}.v4-lock-note{align-items:flex-start}.v4-offer-hero{grid-template-columns:1fr;gap:9px;padding:18px}.v4-offer-hero strong{font-size:21px}.modal-card{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:18px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.topbar-user{max-width:42vw;overflow:hidden}.topbar-user strong,.topbar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:410px){.v4-merchant-facts{grid-template-columns:1fr}.v4-merchant-facts>div:last-child{grid-column:auto}.topbar h1{font-size:17px}.v4-page-hero{padding:19px 16px}.v4-page-hero h2{font-size:24px}}

/* V4.1 authentication experience */
.auth-offer-strip{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin:0 0 22px;padding:14px 16px;border:1px solid #d9d5ff;border-radius:15px;background:linear-gradient(135deg,#f5f3ff 0%,#eefbf7 100%);box-shadow:0 10px 28px rgba(69,59,180,.08)}
.auth-offer-strip>span{grid-row:1/3;align-self:stretch;display:grid;place-items:center;padding:7px 9px;border-radius:10px;background:#5b54df;color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em;text-align:center}
.auth-offer-strip strong{color:#1c2640;font-size:14px;line-height:1.25}
.auth-offer-strip small{color:#68758a;font-size:10px;line-height:1.35}
.signup-offer{margin-top:-5px;margin-bottom:20px}
.auth-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 12px;margin-top:18px;padding-top:17px;border-top:1px solid #edf0f5;color:#657188;font-size:10px;font-weight:700}
.auth-form-wrap{padding:6px 0}.login-auth-wrap{width:min(455px,100%)}.signup-auth-wrap{width:min(620px,100%)}
.signup-auth-layout .auth-form-panel{align-items:start;overflow-y:auto}.signup-auth-layout .auth-form-wrap{margin:auto}
.auth-main-form input,.signup-form-grid input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-main-form input:hover,.signup-form-grid input:hover{border-color:#cdd3df;background:#fff}
.auth-submit{box-shadow:0 10px 24px rgba(90,75,225,.18)}
.auth-brand-content:after{content:"SECURE API · DYNAMIC QR · SIGNED WEBHOOK";display:inline-flex;margin-top:24px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#dfe2ff;font-size:9px;font-weight:900;letter-spacing:.11em}
@media(max-width:800px){.auth-form-panel{place-items:start center;padding-top:max(30px,env(safe-area-inset-top));padding-bottom:max(34px,env(safe-area-inset-bottom))}.auth-form-wrap{margin:auto}.auth-heading{margin-bottom:20px}.auth-heading h1{font-size:34px}.auth-offer-strip{margin-bottom:18px}.auth-trust-row{padding-bottom:4px}}
@media(max-width:440px){.auth-form-panel{padding-left:17px;padding-right:17px}.auth-back-home{margin-bottom:30px}.auth-heading h1{font-size:31px}.auth-heading p{font-size:13px;line-height:1.55}.auth-offer-strip{grid-template-columns:1fr;gap:6px;padding:12px}.auth-offer-strip>span{grid-row:auto;display:inline-flex;width:max-content;padding:6px 8px}.auth-offer-strip strong{font-size:13px}.auth-method-tabs{margin-bottom:18px}.auth-main-form,.signup-form-grid{gap:14px}.auth-main-form input,.signup-form-grid input{min-height:48px}.auth-trust-row{justify-content:flex-start}.consent-check span{font-size:11px;line-height:1.5}}

/* V4.2 merchant directory */
.merchant-directory-head{gap:16px}.merchant-result-count{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#eef3ff;color:#315bea;font-size:12px}
.merchant-directory-filters{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:12px;padding:0 22px 20px}.merchant-directory-filters label{display:grid;gap:6px}.merchant-directory-filters label>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#72809a;text-transform:uppercase}.merchant-directory-filters input,.merchant-directory-filters select{width:100%;min-height:46px;padding:0 13px;border:1px solid #d9e1ee;border-radius:12px;background:#fff;color:#17213a;font:inherit}.merchant-directory-filters input:focus,.merchant-directory-filters select:focus{outline:0;border-color:#5374ee;box-shadow:0 0 0 3px rgba(83,116,238,.13)}
.merchant-owner-group{border-top:1px solid #e5eaf3}.merchant-owner-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;background:linear-gradient(135deg,#f5f8ff,#f1fbf8)}.merchant-owner-heading span{font-size:9px;font-weight:900;letter-spacing:.12em;color:#64748b}.merchant-owner-heading h3{margin:4px 0 2px;color:#14213d}.merchant-owner-heading small{color:#6f7d95}.merchant-owner-heading>strong{padding:8px 11px;border-radius:10px;background:#fff;color:#315bea;font-size:12px;box-shadow:0 4px 12px rgba(35,62,118,.07)}.merchant-empty{display:grid;gap:6px;min-height:180px;place-content:center;text-align:center}.merchant-empty strong{font-size:18px}.merchant-empty span{color:#74829b}
@media(max-width:760px){.merchant-directory-head{align-items:flex-start}.merchant-directory-filters{grid-template-columns:1fr;padding:0 14px 16px}.merchant-owner-heading{align-items:flex-start;padding:15px 14px}.merchant-owner-heading>strong{white-space:nowrap}.merchant-owner-group .v4-merchant-grid{padding:10px}}
