:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--ink:#111827;--muted:#667085;--soft:#98a2b3;--line:#e7eaf0;--sidebar:#0b1020;--sidebar-2:#121a31;--primary:#635bff;--primary-2:#7c72ff;--primary-soft:#efefff;--success:#039855;--success-soft:#ecfdf3;--warning:#d97706;--warning-soft:#fff7ed;--danger:#d92d20;--danger-soft:#fef3f2;--shadow:0 12px 34px rgba(15,23,42,.07);--sidebar-w:248px;--radius:18px;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:var(--font);font-size:14px;background:radial-gradient(circle at 75% -10%,rgba(99,91,255,.06),transparent 30%),var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:linear-gradient(180deg,#0a0f1f 0%,#0b1123 55%,#0c1326 100%);color:#fff;padding:20px 14px 16px;z-index:50;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05)}.brand-wrap{height:48px;display:flex;align-items:center;gap:11px;padding:0 8px 12px}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:16px;background:linear-gradient(145deg,var(--primary-2),#4b43da);box-shadow:0 10px 30px rgba(99,91,255,.28)}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:15px;letter-spacing:.1px}.brand-copy strong span{color:inherit}.brand-copy small{font-size:9.5px;color:#7f8aa5;margin-top:2px}.merchant-card{margin:9px 4px 12px;padding:11px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);border-radius:14px;display:flex;gap:9px;align-items:center}.merchant-avatar,.avatar-btn{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:800}.merchant-copy{min-width:0;display:flex;flex-direction:column}.merchant-copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merchant-copy span{font-size:8.5px;color:#91a0bd;margin-top:3px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#32d583;box-shadow:0 0 0 3px rgba(50,213,131,.08);margin-right:4px}.nav-list{overflow-y:auto;padding:0 4px 16px;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.nav-label{color:#596985;text-transform:uppercase;font-size:8px;font-weight:800;letter-spacing:1.15px;padding:14px 10px 6px}.nav-item{width:100%;height:37px;border:0;background:transparent;color:#91a0bd;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 10px;cursor:pointer;text-align:left;font-size:10.5px;font-weight:650;transition:.16s}.nav-item:hover{background:rgba(255,255,255,.05);color:#eef2ff}.nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(99,91,255,.22),rgba(99,91,255,.08));box-shadow:inset 2px 0 0 #8982ff}.nav-icon{width:17px;text-align:center;font-size:13px;color:inherit}.nav-count{margin-left:auto;min-width:20px;padding:2px 5px;border-radius:7px;background:rgba(255,255,255,.08);color:#bec8dc;font-size:8px;text-align:center}.nav-count.warn{background:rgba(245,158,11,.14);color:#fbbf24}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.06);padding:14px 4px 0}.quota-mini{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);padding:11px;border-radius:13px}.quota-mini-head{display:flex;justify-content:space-between;font-size:8.5px;color:#8290aa}.quota-mini-head strong{color:#fff;font-size:9.5px}.progress{height:7px;background:#eef1f5;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#8c84ff);border-radius:inherit}.progress.slim{height:5px;background:rgba(255,255,255,.08);margin:9px 0}.text-link{border:0;background:transparent;padding:0;color:#9f99ff;font-size:8.5px;font-weight:700;cursor:pointer}.version-line{display:flex;align-items:center;gap:6px;color:#5f6c86;font-size:8px;padding:11px 4px 0}.version-line b{margin-left:auto;color:#7f8aa5}.status-dot{width:6px;height:6px;border-radius:50%;background:#32d583}.main-shell{margin-left:var(--sidebar-w);min-height:100vh}.topbar{height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(245,247,251,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,234,240,.8)}.topbar-left{display:flex;align-items:center;gap:12px}.eyebrow{display:block;color:#98a2b3;font-size:8px;font-weight:850;letter-spacing:1.05px;text-transform:uppercase;margin-bottom:3px}.topbar h1{margin:0;font-size:19px;line-height:1.15;letter-spacing:-.35px}.topbar-right{display:flex;align-items:center;gap:9px}.menu-btn{display:none}.system-status,.lab-link{height:34px;border:1px solid var(--line);background:#fff;color:#475467;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:7px;text-decoration:none;font-size:9px;font-weight:700;cursor:pointer}.system-status i{width:7px;height:7px;border-radius:50%;background:#f59e0b}.system-status.online i{background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.08)}.avatar-btn{border:0;width:34px;height:34px;cursor:pointer}.content{max-width:1500px;margin:0 auto;padding:28px 30px 46px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.hero h2{margin:0 0 6px;font-size:23px;letter-spacing:-.55px}.hero p{margin:0;color:var(--muted);font-size:11px;line-height:1.65;max-width:680px}.hero-actions{display:flex;gap:8px;flex-shrink:0}.btn{height:36px;border:1px solid #d9dde5;background:#fff;color:#344054;border-radius:10px;padding:0 13px;font-size:9.5px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;transition:.16s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(15,23,42,.06)}.btn.primary{background:linear-gradient(180deg,#6d64ff,#5b53ef);border-color:#5b53ef;color:#fff;box-shadow:0 7px 18px rgba(99,91,255,.18)}.btn.ghost{background:transparent}.btn.small{height:31px;padding:0 10px;font-size:8.5px}.btn.danger{border-color:#fecdca;color:#b42318;background:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.02);min-width:0}.stat-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.stat-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f4f3ff;color:#5f57ef;font-size:13px}.stat-trend{font-size:8px;font-weight:800;color:#027a48;background:#ecfdf3;border-radius:8px;padding:4px 6px}.stat-trend.neutral{color:#475467;background:#f2f4f7}.stat-trend.warn{color:#b54708;background:#fffaeb}.stat-label{font-size:9px;color:#667085;font-weight:650}.stat-value{font-size:23px;font-weight:820;letter-spacing:-.7px;margin:4px 0}.stat-foot{color:#98a2b3;font-size:8.5px}.grid-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:16px;margin-bottom:16px}.stack{display:grid;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(15,23,42,.02);overflow:hidden}.panel-head{min-height:58px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f0f2f5}.panel-title{font-size:11px;margin:0;font-weight:800}.panel-subtitle{font-size:8.5px;color:#98a2b3;margin-top:4px}.panel-body{padding:16px}.chart-box{height:220px;position:relative;padding:16px 4px 25px}.chart-grid{position:absolute;left:4px;right:4px;top:16px;bottom:25px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-grid i{height:1px;background:#f0f2f5}.chart-bars{position:absolute;left:10px;right:10px;top:18px;bottom:28px;display:flex;align-items:flex-end;gap:7px}.chart-col{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.chart-col i{width:min(18px,68%);min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#7b73ff,#625af6);opacity:.94;transition:.2s}.chart-col:hover i{filter:brightness(.93)}.chart-col span{position:absolute;bottom:-20px;font-size:7.5px;color:#98a2b3;white-space:nowrap}.legend{display:flex;align-items:center;gap:6px;font-size:8px;color:#98a2b3}.legend i{width:7px;height:7px;border-radius:3px;background:#665ef6}.usage-card{background:linear-gradient(145deg,#11182d 0%,#151e37 65%,#1d2544 100%);color:#fff;border-radius:18px;padding:17px;box-shadow:0 12px 25px rgba(15,23,42,.12);position:relative;overflow:hidden}.usage-card:after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(99,91,255,.2);right:-70px;top:-65px;filter:blur(5px)}.usage-head,.usage-foot{display:flex;justify-content:space-between;gap:10px;position:relative;z-index:1}.usage-head small{display:block;color:#8896b3;font-size:8px}.usage-head strong{display:block;font-size:11px;margin-top:4px}.plan-badge{height:22px;padding:0 8px;border-radius:8px;display:flex;align-items:center;font-size:7px;font-weight:850;color:#a7f3d0;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.14)}.usage-number{position:relative;z-index:1;font-size:31px;font-weight:850;letter-spacing:-1px;margin:20px 0 10px}.usage-number span{font-size:10px;color:#8f9db8;font-weight:650;letter-spacing:0}.usage-card .progress{position:relative;z-index:1;background:rgba(255,255,255,.08)}.usage-foot{font-size:8px;color:#8290aa;margin-top:8px}.system-list,.provider-list{display:grid;gap:0}.system-row,.provider-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2f5}.system-row:last-child,.provider-row:last-child{border:0}.system-icon,.provider-logo{width:31px;height:31px;border-radius:10px;background:#f4f6f9;display:grid;place-items:center;font-size:9px;font-weight:800;color:#475467;flex:0 0 auto}.system-copy,.provider-copy{min-width:0;flex:1}.system-copy strong,.provider-copy strong{display:block;font-size:9.5px}.system-copy span,.provider-copy span{display:block;color:#98a2b3;font-size:8px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state{font-size:7.5px;font-weight:800;color:#027a48;background:#ecfdf3;padding:4px 6px;border-radius:7px}.state.warn{color:#b54708;background:#fffaeb}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{text-align:left;padding:10px 14px;background:#fafbfc;color:#98a2b3;font-size:7.5px;text-transform:uppercase;letter-spacing:.55px;border-bottom:1px solid #eef0f3}.data-table td{padding:12px 14px;border-bottom:1px solid #f0f2f5;font-size:9px;color:#475467;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfbfd}.data-table .main-cell strong{display:block;color:#1d2939;font-size:9.5px}.data-table .main-cell span{display:block;color:#98a2b3;font-size:7.7px;margin-top:3px}.amount-cell{color:#101828!important;font-weight:800}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;border-radius:8px;padding:0 7px;font-size:7.5px;font-weight:800;text-transform:capitalize}.badge:before{content:"";width:5px;height:5px;border-radius:50%}.badge.paid{background:var(--success-soft);color:#027a48}.badge.paid:before{background:#12b76a}.badge.pending{background:#fffaeb;color:#b54708}.badge.pending:before{background:#f79009}.badge.expired{background:#f2f4f7;color:#667085}.badge.expired:before{background:#98a2b3}.badge.failed{background:var(--danger-soft);color:#b42318}.badge.failed:before{background:#f04438}.link-btn{border:0;background:transparent;color:#5e56ee;font-size:8.5px;font-weight:800;cursor:pointer;padding:4px}.filters{padding:12px 14px;border-bottom:1px solid #eef0f3;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.input,.select,.textarea{height:36px;border:1px solid #dfe3ea;border-radius:10px;background:#fff;color:#344054;padding:0 11px;outline:none;font-size:9.5px;transition:.15s}.input:focus,.select:focus,.textarea:focus{border-color:#aaa5ff;box-shadow:0 0 0 3px rgba(99,91,255,.08)}.input.search{min-width:260px}.textarea{height:88px;padding-top:10px;resize:vertical}.field label{display:block;font-size:8px;color:#667085;font-weight:750;margin-bottom:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.callout{border:1px solid #e5e7eb;border-radius:13px;padding:12px 13px;font-size:8.8px;line-height:1.55;color:#475467;background:#fbfcfe}.callout.info{background:#f5f7ff;border-color:#e0e1ff;color:#4b47a9}.callout.success{background:#f0fdf4;border-color:#d1fadf;color:#067647}.callout.warn{background:#fffaf0;border-color:#fedf89;color:#93370d}.payment-result{display:grid;gap:10px}.result-amount{padding:18px;background:linear-gradient(145deg,#f5f5ff,#f9f9ff);border:1px solid #e3e2ff;border-radius:15px;text-align:center}.result-amount small{display:block;color:#6d6aa8;font-size:8px}.result-amount strong{display:block;color:#5149db;font-size:28px;letter-spacing:-.8px;margin:5px 0}.result-amount span{font-size:8px;color:#8a87b7}.info-list{display:grid}.info-line{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #f0f2f5;font-size:9px}.info-line:last-child{border:0}.info-line span{color:#98a2b3}.info-line strong{color:#344054}.empty-state{padding:38px 20px;text-align:center}.empty-icon{width:44px;height:44px;border-radius:14px;background:#f4f3ff;color:#635bff;display:grid;place-items:center;margin:0 auto 12px;font-size:18px}.empty-state h3{margin:0 0 6px;font-size:12px}.empty-state p{margin:0 auto;color:#98a2b3;font-size:9px;line-height:1.6;max-width:420px}.mobile-list{display:none}.mobile-card{padding:12px 0;border-bottom:1px solid #eef0f3;display:flex;align-items:flex-start;gap:9px}.mobile-card:last-child{border:0}.mobile-card-icon{width:31px;height:31px;border-radius:10px;background:#f4f6f9;display:grid;place-items:center;font-size:10px}.mobile-card-main{flex:1;min-width:0}.mobile-card-main strong{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-main span{font-size:7.8px;color:#98a2b3;display:block;margin-top:3px}.mobile-card-side{text-align:right}.mobile-card-side strong{display:block;font-size:9.5px}.mobile-card-side small{display:block;margin-top:4px}.page-loading{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667085}.page-loading strong{font-size:11px;margin-top:10px}.page-loading small{font-size:8.5px;color:#98a2b3;margin-top:4px}.spinner{width:25px;height:25px;border:2px solid #e4e7ec;border-top-color:#635bff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:22px;bottom:22px;min-width:290px;max-width:390px;background:#101828;color:#fff;border-radius:13px;padding:11px 13px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 45px rgba(15,23,42,.2);z-index:120;transform:translateY(100px);opacity:0;transition:.22s}.toast.show{transform:none;opacity:1}.toast-icon{width:28px;height:28px;border-radius:9px;background:#039855;display:grid;place-items:center;font-weight:850}.toast strong{font-size:9.5px;display:block}.toast span{font-size:8px;color:#c5cedb;display:block;margin-top:2px}.modal-backdrop{position:fixed;inset:0;background:rgba(9,14,28,.48);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;transition:.18s}.modal-backdrop.show{opacity:1;visibility:visible}.modal{width:min(620px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:19px;box-shadow:0 25px 80px rgba(2,6,23,.28);transform:translateY(8px) scale(.99);transition:.18s}.modal-backdrop.show .modal{transform:none}.modal-head{padding:17px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eef0f3}.modal-head h2{font-size:15px;margin:0}.modal-close{width:31px;height:31px;border:1px solid #e4e7ec;background:#fff;border-radius:9px;color:#667085;font-size:18px;cursor:pointer}.modal-body{padding:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-card{background:#f9fafb;border:1px solid #eef0f3;border-radius:12px;padding:11px}.detail-card small{display:block;color:#98a2b3;font-size:7.5px;margin-bottom:4px}.detail-card strong{font-size:9.5px;word-break:break-word}.detail-card.full{grid-column:1/-1}.mobile-nav,.scrim{display:none}.section-tabs{display:flex;gap:5px;padding:5px;background:#f4f6f8;border-radius:10px;width:max-content}.section-tabs button{height:28px;border:0;background:transparent;color:#667085;border-radius:7px;padding:0 9px;font-size:8px;font-weight:750;cursor:pointer}.section-tabs button.active{background:#fff;color:#344054;box-shadow:0 1px 3px rgba(15,23,42,.08)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:#98a2b3}.nowrap{white-space:nowrap}.danger-text{color:#b42318}.success-text{color:#027a48}.provider-pill{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:22px;padding:0 6px;border-radius:7px;background:#f2f4f7;color:#475467;font-size:7.5px;font-weight:800}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric-box{background:#fafbfc;border:1px solid #eef0f3;border-radius:12px;padding:11px}.metric-box span{display:block;font-size:7.5px;color:#98a2b3}.metric-box strong{display:block;font-size:14px;margin-top:4px}.generic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.feature-card{padding:16px;border:1px solid var(--line);background:#fff;border-radius:16px}.feature-card .feature-icon{width:36px;height:36px;border-radius:11px;background:#f4f3ff;color:#635bff;display:grid;place-items:center;margin-bottom:12px}.feature-card h3{font-size:11px;margin:0 0 6px}.feature-card p{font-size:8.5px;line-height:1.6;color:#98a2b3;margin:0}.code{background:#0f172a;color:#dbe4f0;border-radius:13px;padding:13px;font:8.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto;white-space:pre}.endpoint{display:flex;gap:8px;align-items:center;font:9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#475467}.method{background:#ecfdf3;color:#027a48;border-radius:7px;padding:4px 6px;font:800 7.5px var(--font)}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-main{grid-template-columns:1fr}.generic-grid{grid-template-columns:1fr 1fr}}@media(max-width:820px){:root{--sidebar-w:280px}.sidebar{transform:translateX(-105%);transition:.22s ease;box-shadow:25px 0 70px rgba(2,6,23,.3)}.sidebar.open{transform:translateX(0)}.scrim{display:block;position:fixed;inset:0;border:0;background:rgba(2,6,23,.45);z-index:45;opacity:0;visibility:hidden;transition:.2s}.scrim.show{opacity:1;visibility:visible}.main-shell{margin-left:0;padding-bottom:68px}.topbar{height:66px;padding:0 14px}.menu-btn{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:13px}.topbar h1{font-size:17px}.system-status span,.lab-link{display:none}.system-status{padding:0;width:34px;justify-content:center}.avatar-btn{width:34px;height:34px}.content{padding:18px 13px 30px}.hero{margin-bottom:15px}.hero h2{font-size:20px}.hero p{font-size:9.5px}.hero-actions{gap:6px}.hero-actions .btn:not(.primary){display:none}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-card-top{margin-bottom:11px}.stat-value{font-size:20px}.grid-main,.stack{gap:11px}.panel{border-radius:15px}.panel-head{padding:12px 13px}.panel-body{padding:13px}.desktop-only{display:none}.mobile-list{display:block}.mobile-nav{position:fixed;display:flex;left:0;right:0;bottom:0;height:64px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:40;padding:5px 6px max(5px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{flex:1;border:0;background:transparent;color:#98a2b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:15px}.mobile-nav small{font-size:7px;font-weight:700}.mobile-nav button.active{color:#5d55ec}.mobile-nav .mobile-primary span{width:34px;height:34px;background:#625af6;color:#fff;border-radius:11px;display:grid;place-items:center;margin-top:-17px;box-shadow:0 9px 20px rgba(99,91,255,.28)}.mobile-nav .mobile-primary small{margin-top:1px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip .metric-box:last-child{grid-column:1/-1}.toast{left:12px;right:12px;bottom:77px;min-width:0}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;border-radius:20px 20px 0 0;max-height:88vh}.input.search{min-width:0;flex:1}.filters .select{flex:1}.generic-grid{grid-template-columns:1fr}}@media(max-width:500px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:122px}.stat-trend{font-size:7px}.hero{display:block}.hero-actions{margin-top:12px}.hero-actions .btn.primary{width:100%}.chart-box{height:190px}.detail-grid{grid-template-columns:1fr}.detail-card.full{grid-column:auto}.metric-strip{grid-template-columns:1fr 1fr}.filters{padding:10px}.filters .btn{width:100%}.input.search{width:100%;flex-basis:100%}.usage-number{font-size:28px}}
/* PATCH 002: authentication + admin */
[hidden]{display:none!important}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#f5f7fb}.auth-visual{position:relative;overflow:hidden;padding:54px;background:linear-gradient(150deg,#090f20 0%,#111936 56%,#171c42 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.auth-visual:before{width:420px;height:420px;right:-160px;top:-130px;background:radial-gradient(circle,rgba(99,91,255,.4),rgba(99,91,255,0) 65%)}.auth-visual:after{width:360px;height:360px;left:-120px;bottom:-140px;background:radial-gradient(circle,rgba(50,213,131,.12),rgba(50,213,131,0) 70%)}.auth-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.auth-brand .brand-mark{width:44px;height:44px;border-radius:14px}.auth-brand strong{font-size:19px}.auth-brand span{color:#aaa6ff}.auth-hero{position:relative;z-index:2;max-width:600px}.auth-kicker{display:inline-flex;padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05);font-size:10px;color:#b9c3d7;letter-spacing:.8px;text-transform:uppercase;font-weight:800}.auth-hero h1{font-size:46px;line-height:1.02;letter-spacing:-1.6px;margin:18px 0 16px}.auth-hero p{font-size:14px;line-height:1.8;color:#98a5c0;max-width:520px}.auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.auth-feature{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(255,255,255,.035)}.auth-feature b{display:block;font-size:11px;margin-bottom:5px}.auth-feature span{font-size:9px;color:#8391ad;line-height:1.5}.auth-foot{position:relative;z-index:2;color:#677590;font-size:9px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:min(440px,100%);background:#fff;border:1px solid #e5e8ee;border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.10);padding:30px}.login-card h2{margin:0;font-size:25px;letter-spacing:-.5px}.login-card>p{margin:9px 0 22px;color:#7b8495;font-size:11px;line-height:1.65}.login-form{display:grid;gap:13px}.login-form .field label{font-size:var(--font-size-ui)}.input.password{letter-spacing:.4px}.login-submit{width:100%;height:43px}.dev-accounts{margin-top:18px;border-top:1px solid #eceef2;padding-top:16px}.dev-accounts-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.dev-accounts-head strong{font-size:9px;color:#475467}.dev-accounts-head span{font-size:8px;color:#98a2b3}.dev-account{width:100%;border:1px solid #e8eaf0;background:#fbfcfd;border-radius:12px;padding:10px 11px;text-align:left;cursor:pointer;margin-top:7px;display:flex;align-items:center;gap:10px}.dev-account:hover{border-color:#cbc8ff;background:#f8f7ff}.dev-account i{width:29px;height:29px;border-radius:9px;background:#efefff;color:#5f57e9;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900}.dev-account div{min-width:0}.dev-account strong{font-size:9px;display:block}.dev-account span{font-size:7.5px;color:#98a2b3;display:block;margin-top:2px}.login-error{display:none;padding:10px 11px;border-radius:11px;background:#fef3f2;color:#b42318;font-size:9px;line-height:1.5}.login-error.show{display:block}.impersonation-banner{display:none;position:sticky;top:72px;z-index:29;margin:0;padding:8px 28px;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;align-items:center;justify-content:space-between;font-size:9px}.impersonation-banner.show{display:flex}.impersonation-banner strong{font-size:10px}.impersonation-banner button{border:1px solid #fdba74;background:#fff;border-radius:8px;padding:6px 9px;color:#9a3412;font-size:8px;font-weight:800;cursor:pointer}.role-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:8px;background:#f2f4f7;color:#475467;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.5px}.role-chip.admin{background:#eef2ff;color:#4338ca}.top-account{position:relative}.account-menu{position:absolute;right:0;top:43px;width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.12);padding:8px;z-index:70}.account-menu .account-summary{padding:9px 10px 11px;border-bottom:1px solid #eef0f3;margin-bottom:5px}.account-menu .account-summary strong{font-size:9.5px;display:block}.account-menu .account-summary span{font-size:7.5px;color:#98a2b3;display:block;margin-top:3px}.account-menu button{width:100%;height:34px;border:0;background:transparent;text-align:left;padding:0 10px;border-radius:8px;font-size:8.5px;color:#475467;cursor:pointer}.account-menu button:hover{background:#f5f7fb}.account-menu button.danger{color:#b42318}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.admin-kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:0 6px 18px rgba(15,23,42,.03)}.admin-kpi span{font-size:8px;color:#98a2b3}.admin-kpi strong{display:block;font-size:24px;margin-top:7px;letter-spacing:-.6px}.admin-kpi small{display:block;font-size:8px;color:#667085;margin-top:5px}.merchant-row-actions{display:flex;gap:6px;justify-content:flex-end}.btn.tiny{height:27px;padding:0 8px;font-size:7.5px;border-radius:8px}.btn.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.btn.danger{border-color:#fecaca;background:#fff1f2;color:#b42318}.create-merchant-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.create-merchant-grid .full{grid-column:1/-1}.api-key-reveal{padding:13px;border:1px dashed #c7d2fe;background:#eef2ff;border-radius:12px;margin-top:12px}.api-key-reveal small{display:block;color:#6366f1;font-size:8px}.api-key-reveal code{display:block;font-size:9px;word-break:break-all;margin-top:6px;color:#3730a3}.security-card{display:grid;grid-template-columns:1fr 1fr;gap:14px}.security-block{border:1px solid #e8eaf0;border-radius:14px;padding:15px}.security-block h3{font-size:11px;margin:0 0 6px}.security-block p{font-size:8.5px;color:#98a2b3;line-height:1.6;margin:0 0 12px}.session-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef0f3}.session-row:last-child{border-bottom:0}.session-row strong{font-size:8.5px}.session-row span{font-size:7.5px;color:#98a2b3;display:block;margin-top:2px}.audit-meta{font-size:7.5px;color:#98a2b3;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-empty{padding:34px;text-align:center;color:#98a2b3;font-size:9px}.admin-nav-badge{margin-left:auto;font-size:7px;color:#818cf8;background:rgba(99,102,241,.12);padding:3px 6px;border-radius:6px}.danger-zone{border:1px solid #fecaca;background:#fffafa;border-radius:14px;padding:14px}.danger-zone strong{font-size:10px;color:#b42318}.danger-zone p{font-size:8px;color:#9f6662}.login-note{margin-top:12px;padding:9px 10px;border-radius:10px;background:#f8fafc;color:#667085;font-size:8px;line-height:1.6}.auth-loading{min-height:100vh;display:grid;place-items:center;background:#f5f7fb;color:#667085}.auth-loading>div{text-align:center}.auth-loading .spinner{margin:auto auto 10px}.version-line b.patch2{color:#a5b4fc}
@media(max-width:1100px){.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.auth-feature-grid{grid-template-columns:1fr}.auth-feature:nth-child(3){display:none}}@media(max-width:820px){.auth-screen{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:20px}.login-card{padding:24px;border-radius:20px}.impersonation-banner{top:66px;padding:8px 14px}.admin-kpi-grid{grid-template-columns:1fr 1fr}.create-merchant-grid,.security-card{grid-template-columns:1fr}.create-merchant-grid .full{grid-column:auto}}@media(max-width:500px){.admin-kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.admin-kpi{padding:13px}.admin-kpi strong{font-size:20px}.login-card{border-radius:18px;padding:20px}.merchant-row-actions{justify-content:flex-start;flex-wrap:wrap}}
/* PATCH 003: QRIS Management + Merchant Payment Configuration */
.version-line b.patch3{color:#c4b5fd}.qris-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.qris-summary>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 1px 2px rgba(15,23,42,.02)}.qris-summary span{display:block;font-size:8px;color:#98a2b3}.qris-summary strong{display:block;font-size:15px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qris-summary small{display:block;font-size:7.5px;color:#667085;margin-top:5px;line-height:1.5}.qris-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px}.qris-list{display:grid;gap:12px}.qris-card{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e8eaf0;border-radius:16px;padding:12px;background:#fff;position:relative}.qris-card.default{border-color:#c7d2fe;box-shadow:0 8px 22px rgba(99,91,255,.06)}.qris-card-preview{width:108px;height:108px;border:1px solid #eef0f3;border-radius:14px;background:#fafbfc;display:grid;place-items:center;overflow:hidden}.qris-card-preview img{width:100%;height:100%;object-fit:contain;padding:6px;background:#fff}.qris-placeholder{text-align:center;color:#667085}.qris-placeholder span{display:block;font-size:30px;color:#635bff}.qris-placeholder small{font-size:7px}.qris-card-main{min-width:0}.qris-card-title{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.qris-card-title strong{display:block;font-size:11px}.qris-card-title span{display:block;font-size:8px;color:#98a2b3;margin-top:3px}.default-chip{font-size:6.5px;letter-spacing:.6px;color:#4f46e5;background:#eef2ff;border:1px solid #dfe3ff;padding:4px 6px;border-radius:7px}.qris-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:11px;color:#667085;font-size:8px}.qris-meta span{position:relative}.qris-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.qris-textarea{min-height:92px;resize:vertical;line-height:1.5}.field label span{font-weight:500;color:#98a2b3}.qris-upload-preview{margin-top:8px;min-height:70px;border:1px dashed #d0d5dd;border-radius:12px;background:#fafbfc;display:flex;align-items:center;gap:10px;padding:9px;color:#98a2b3;font-size:8px}.qris-upload-preview img{width:70px;height:70px;object-fit:contain;background:#fff;border:1px solid #eef0f3;border-radius:9px}.qris-upload-preview.current{background:#fff}.toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.toggle-line{display:flex;align-items:flex-start;gap:9px;border:1px solid #e8eaf0;border-radius:13px;padding:11px 12px;background:#fbfcfd;cursor:pointer}.toggle-line input{margin-top:2px;accent-color:#635bff}.toggle-line span{min-width:0}.toggle-line b{display:block;font-size:9px}.toggle-line small{display:block;color:#98a2b3;font-size:7.5px;line-height:1.45;margin-top:3px}.checkout-qris-mini{margin-top:11px;padding:10px;border:1px solid #e8eaf0;border-radius:13px;display:flex;align-items:center;gap:11px;background:#fbfcfd}.checkout-qris-mini img,.mini-qris-placeholder{width:54px;height:54px;border-radius:9px;border:1px solid #e5e7eb;background:#fff;object-fit:contain;padding:4px}.mini-qris-placeholder{display:grid;place-items:center;color:#635bff;font-size:21px}.checkout-qris-mini small,.checkout-qris-mini span{display:block;font-size:7.5px;color:#98a2b3}.checkout-qris-mini strong{display:block;font-size:10px;margin:3px 0}.payment-qris-preview{display:flex;justify-content:center;margin-bottom:12px}.payment-qris-preview img{width:160px;height:160px;object-fit:contain;border:1px solid #e8eaf0;border-radius:14px;background:#fff;padding:7px}.reason-chip{display:inline-flex;padding:4px 6px;border-radius:7px;background:#fff7ed;color:#b54708;font-size:7px;font-weight:800;letter-spacing:.25px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.qris-card>.state{align-self:start}
@media(max-width:1150px){.qris-summary{grid-template-columns:repeat(2,1fr)}.qris-layout{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr 1fr}.qris-card{grid-template-columns:90px minmax(0,1fr) auto}.qris-card-preview{width:90px;height:90px}}
@media(max-width:820px){.qris-summary{grid-template-columns:1fr 1fr}.toggle-grid{grid-template-columns:1fr}.qris-card{grid-template-columns:78px minmax(0,1fr)}.qris-card-preview{width:78px;height:78px}.qris-card>.state{position:absolute;right:10px;top:10px}.qris-card-title{padding-right:62px}.qris-card-actions{grid-column:1/-1}.qris-layout{gap:11px}}
@media(max-width:500px){.qris-summary{grid-template-columns:1fr 1fr;gap:9px}.qris-summary>div{padding:12px}.qris-summary strong{font-size:12px}.qris-card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px}.qris-card-preview{width:64px;height:64px}.qris-meta{display:grid;gap:4px}.qris-card-actions .btn{flex:1}.payment-qris-preview img{width:145px;height:145px}}

/* PATCH 003B — QRIS auto detect + verified checkout */
.verify-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.06em;white-space:nowrap}.verify-chip.ok{background:#eafbf4;color:#087c55;border:1px solid #ccf2e2}.verify-chip.warn{background:#fff5e7;color:#a15c09;border:1px solid #f7dfb4}.qris-title-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.qris-card.verified{border-color:#d9eee5}.qris-card.unverified{border-color:#f2dfba;background:#fffdf8}.official-name-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin-top:9px;padding:9px 11px;border:1px solid #daf0e6;background:#f8fffb;border-radius:10px}.official-name-row span{font-size:8px;color:#6f8179;text-transform:uppercase;letter-spacing:.06em}.official-name-row strong{font-size:10px;color:#143b2e}.official-name-row small{grid-column:2;font-size:8px;color:#7b8a84}.qris-verify-box{display:flex;align-items:center;gap:12px;margin:14px 0;padding:12px 13px;border-radius:12px;border:1px solid #e5e8ef;background:#fbfcfe;min-height:64px}.qris-verify-box .verify-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f1efff;color:#6556e8;font-weight:900;flex:0 0 auto}.qris-verify-box>div:not(.verify-icon):not(.verify-clean-qr):not(.verify-crop){display:flex;flex-direction:column;gap:2px}.qris-verify-box strong{font-size:10px}.qris-verify-box span{font-size:9px;color:#687386;line-height:1.45}.qris-verify-box small{font-size:8px;color:#8b93a3}.qris-verify-box.loading{border-color:#ded9ff;background:#faf9ff}.qris-verify-box.success{border-color:#cfeedd;background:#f7fffb}.qris-verify-box.success .verify-icon{background:#0b9b69;color:#fff}.qris-verify-box.error{border-color:#f1d5d3;background:#fff9f8}.qris-verify-box.error .verify-icon{background:#d92d20;color:#fff}.verify-clean-qr{width:76px;height:76px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:6px;flex:0 0 auto}.verify-clean-qr img{width:100%;height:100%;object-fit:contain}.verify-copy{flex:1!important}.verify-crop{display:flex!important;flex-direction:column!important;align-items:center;gap:3px!important;margin-left:auto}.verify-crop img{width:56px;height:56px;object-fit:cover;border-radius:9px;border:1px solid #e4e7ec}.verify-crop small{font-size:7px!important}.verify-upload img{max-height:130px}.input.locked{background:#f6f7fa;color:#4b5567}.checkout-link-box{margin-top:12px;padding:12px;border:1px solid #dedbf9;background:#faf9ff;border-radius:12px}.checkout-link-box small{display:block;font-size:8px;color:#6f7690;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.checkout-link-box code{display:block;overflow:auto;white-space:nowrap;padding:8px 9px;border-radius:8px;background:#fff;border:1px solid #eceaf9;color:#5145cd;font-size:9px}.checkout-link-actions{display:flex;gap:8px;margin-top:9px}.payment-qris-preview.clean{position:relative}.payment-qris-preview.clean .verify-chip{position:absolute;right:5px;top:5px}.patch3{white-space:nowrap}
@media(max-width:700px){.qris-verify-box{align-items:flex-start;flex-wrap:wrap}.verify-crop{margin-left:0}.official-name-row{grid-template-columns:1fr}.official-name-row small{grid-column:1}.checkout-link-actions{flex-direction:column}.checkout-link-actions .btn{width:100%;text-align:center}}

/* PATCH 004 — API Keys + Public Payment API */
.version-line b.patch4{color:#93c5fd}.api-key-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px}.api-key-list{display:grid;gap:10px}.api-key-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e8eaf0;border-radius:14px;padding:13px;background:#fff}.api-key-card.revoked{background:#fafafa;opacity:.72}.api-key-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.api-key-title strong{display:block;font-size:10.5px}.api-key-title span:not(.env-chip){display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8px;color:#667085;margin-top:4px}.env-chip{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.06em}.env-chip.live{color:#067647;background:#ecfdf3;border:1px solid #c7f0dc}.env-chip.test{color:#5145cd;background:#f4f3ff;border:1px solid #dedbf9}.env-chip.local{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec}.api-key-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px;color:#98a2b3;font-size:7.5px}.api-key-meta b{color:#475467}.api-key-actions{display:flex;align-items:center;justify-content:flex-end}.secret-reveal{margin-bottom:16px;border:1px solid #b7e7d2;background:linear-gradient(135deg,#f5fffa,#fbfffd);border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(3,152,85,.06)}.secret-reveal>div:first-child span{display:block;color:#067647;font-size:7px;font-weight:900;letter-spacing:.1em}.secret-reveal>div:first-child strong{display:block;font-size:13px;margin-top:3px}.secret-reveal code{display:block;margin-top:11px;padding:11px 12px;border:1px solid #d5efe2;border-radius:10px;background:#fff;color:#125c43;font-size:10px;overflow:auto;white-space:nowrap}.secret-actions{display:flex;gap:8px;margin-top:10px}.secret-reveal>small{display:block;color:#667085;font-size:7.5px;margin-top:9px}.api-doc-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.api-endpoint{padding:10px 11px;background:#f8fafc;border:1px solid #e7eaf0;border-radius:10px;margin-bottom:12px;overflow:auto}.api-endpoint code{font-size:9px;color:#344054}.code-block{margin:12px 0 0;background:#101828;color:#d0d5dd;border-radius:12px;padding:14px;overflow:auto;font-size:8.5px;line-height:1.65}.code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.doc-heading{margin:16px 0 8px;font-size:9px}.method-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 7px;border-radius:7px;font-size:7px;font-weight:900;letter-spacing:.04em}.method-chip.post{color:#175cd3;background:#eff8ff}.method-chip.get{color:#067647;background:#ecfdf3}.method-chip.patch,.method-chip.put{color:#b54708;background:#fffaeb}.method-chip.delete{color:#b42318;background:#fef3f2}.http-status{display:inline-flex;padding:4px 6px;border-radius:7px;font-size:7.5px;font-weight:800}.http-status.ok{color:#067647;background:#ecfdf3}.http-status.bad{color:#b42318;background:#fef3f2}.flow-steps{display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:auto;padding-bottom:4px}.flow-steps>div{min-width:130px;border:1px solid #e8eaf0;background:#fbfcfd;border-radius:12px;padding:11px}.flow-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#efefff;color:#5145cd;font-size:8px;margin-bottom:7px}.flow-steps span{font-size:8px;line-height:1.45;color:#475467}.flow-steps i{font-style:normal;color:#98a2b3}.api-key-reveal{margin-top:12px}
@media(max-width:1050px){.api-key-layout,.api-doc-grid{grid-template-columns:1fr}}@media(max-width:700px){.api-key-card{grid-template-columns:1fr}.api-key-actions{justify-content:flex-start}.api-key-title{align-items:flex-start}.secret-actions{flex-direction:column}.secret-actions .btn{width:100%}.flow-steps{align-items:stretch}.flow-steps i{display:none}}


/* PATCH 014.5B — compact professional typography + official branding */
:root{
  --font-size-base:12.8px;
  --font-size-small:10.5px;
  --font-size-ui:11.8px;
  --font-size-nav:11.8px;
  --font-size-btn:11.8px;
  --font-size-card-title:13.5px;
  --font-size-page-title:24px;
  --font-size-meta:10.5px;
  --font-size-badge:10px;
  --font-size-stat:26px;
  --font-size-section-label:9.5px;
  --brand-navy:#0a1628;
  --brand-magenta:#e6195e;
  --brand-cyan:#00a5e0;
}
html{font-size:13px}
body{font-size:var(--font-size-base);line-height:1.5}
.brand-wrap{height:auto;gap:10px;padding:6px 8px 10px;background:rgba(255,255,255,.95);border-radius:12px;margin:0 4px 8px}
.brand-mark{width:32px;height:32px;border-radius:9px;overflow:hidden;background:transparent;box-shadow:none;flex-shrink:0}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{font-size:15px;letter-spacing:-.02em;color:var(--brand-navy)}
.brand-basuni{color:var(--brand-navy)}
.brand-pay{color:var(--brand-cyan)}
.brand-copy strong span.brand-basuni{color:var(--brand-navy)}
.brand-copy strong span.brand-pay{color:var(--brand-cyan)}
.brand-copy small{font-size:9px;color:#667085;margin-top:1px}
.auth-brand .brand-mark{width:40px;height:40px;border-radius:12px}
.auth-brand .brand-mark img{width:100%;height:100%;display:block}
.auth-brand strong{font-size:18px;letter-spacing:-.03em}
.auth-brand .brand-basuni{color:#fff}
.auth-brand .brand-pay{color:var(--brand-cyan)}
.auth-hero p{font-size:13px}
.auth-feature b{font-size:10.5px}
.auth-feature span,.auth-foot{font-size:9.5px}
.login-card h2{font-size:22px}
.login-card p,.login-note{font-size:11.5px}
.dev-account strong{font-size:11.5px}
.dev-account span{font-size:10.5px}
.auth-kicker{font-size:8px;padding:4px 7px}
.sidebar{padding:14px 10px 12px}
.nav-label{font-size:var(--font-size-section-label);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:6px;padding:14px 8px 4px;font-weight:700}
.nav-section-icon{width:13px;height:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.55}
.nav-section-icon svg{width:12px;height:12px;display:block;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nav-item{font-size:var(--font-size-nav);min-height:32px;padding:6px 8px}
.nav-icon{width:20px;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-icon svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nav-count{font-size:var(--font-size-badge);padding:2px 6px}
.merchant-card{margin:6px 4px 8px;padding:8px;border-radius:10px}
.merchant-avatar,.avatar-btn{width:26px;height:26px;border-radius:8px;font-size:8px}
.merchant-copy strong{font-size:11.5px}
.merchant-copy span,.quota-mini-head span,.version-line{font-size:var(--font-size-meta)}
.quota-mini-head strong{font-size:11.5px}
.text-link{font-size:var(--font-size-meta)}
.topbar{min-height:52px;padding:8px 20px}
.eyebrow{font-size:var(--font-size-meta);letter-spacing:.1em}
.topbar h1{font-size:var(--font-size-page-title)}
.role-chip,.system-status,.state,.plan-badge,.provider-pill,.env-chip,.badge{font-size:var(--font-size-badge);padding:4px 8px}
.system-status span{font-size:var(--font-size-meta)}
.hero h2{font-size:var(--font-size-page-title);line-height:1.15}
.hero p{font-size:var(--font-size-base);line-height:1.6}
.panel-title{font-size:var(--font-size-card-title)}
.panel-subtitle{font-size:var(--font-size-meta)}
.panel-body{font-size:var(--font-size-base)}
.btn{font-size:var(--font-size-btn);padding:7px 11px;min-height:32px}
.btn.small{font-size:var(--font-size-meta);padding:5px 9px}
.btn.tiny{font-size:var(--font-size-meta);padding:4px 8px}
.input,.select,textarea{font-size:var(--font-size-ui);min-height:34px}
.field label{font-size:var(--font-size-ui)}
.field label span{font-size:var(--font-size-meta)}
.data-table th{font-size:var(--font-size-meta);padding:10px 12px}
.data-table td{font-size:var(--font-size-ui);padding:10px 12px}
.main-cell strong{font-size:var(--font-size-base)}
.main-cell span,.muted,.api-key-meta,.provider-copy span,.info-line span{font-size:var(--font-size-meta)}
.amount-cell{font-size:var(--font-size-base)}
.link-btn{font-size:var(--font-size-ui)}
.stats-grid{gap:10px}
.stat-card{padding:14px 14px 12px;min-height:130px}
.stat-card-top{align-items:flex-start}
.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#5149db;background:#eef2ff;border:1px solid #dfe3ff;font-size:0}
.stat-icon svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.stat-trend{font-size:var(--font-size-badge);padding:4px 8px}
.stat-label{font-size:var(--font-size-base);margin-top:10px;font-weight:750;color:#202939}
.stat-value{font-size:var(--font-size-stat);line-height:1.05;margin-top:4px}
.stat-foot{font-size:var(--font-size-meta);line-height:1.4;margin-top:6px}
.api-key-card{padding:12px}
.api-key-title strong{font-size:var(--font-size-base)}
.api-key-title span:not(.env-chip){font-size:var(--font-size-meta)}
.api-key-meta{gap:6px 12px}
.qris-summary span{font-size:var(--font-size-meta)}
.qris-summary strong{font-size:var(--font-size-card-title)}
.qris-summary small{font-size:var(--font-size-meta)}
.qris-card-title strong{font-size:var(--font-size-base)}
.qris-card-title span,.qris-meta{font-size:var(--font-size-meta)}
.checkout-qris-mini small{font-size:var(--font-size-meta)}
.checkout-qris-mini strong{font-size:var(--font-size-base)}
.checkout-qris-mini span{font-size:var(--font-size-meta)}
.mobile-card-main strong{font-size:var(--font-size-base)}
.mobile-card-main span,.mobile-card-side small{font-size:var(--font-size-meta)}
.toast strong{font-size:var(--font-size-ui)}
.toast span{font-size:var(--font-size-meta)}
.modal h2{font-size:18px}
.modal .eyebrow{font-size:var(--font-size-badge)}
.content{padding:16px 20px}
/* PATCH 014.5C — page-specific typography consistency fixes */
.stat-value{font-weight:600;letter-spacing:-.5px}
.admin-kpi strong{font-weight:600;letter-spacing:-.4px}
.usage-number{font-weight:600;letter-spacing:-.6px}
.metric-box strong{font-weight:600}
.amount-cell{font-weight:600!important}
.result-amount strong{font-weight:600}
.quota-mini-head strong{font-weight:600}
.session-row{padding:8px 0}
.session-row strong{font-size:var(--font-size-ui)}
.session-row span{font-size:var(--font-size-meta)}
.session-row .state{font-size:var(--font-size-badge)}
.security-block h3{font-size:var(--font-size-card-title)}
.security-block p{font-size:var(--font-size-base);line-height:1.55}
.security-block .field label{font-size:var(--font-size-ui)}
.provider-row .provider-logo{font-size:var(--font-size-meta);width:28px;height:28px}
.provider-copy strong{font-size:var(--font-size-ui)}
.provider-copy span{font-size:var(--font-size-meta)}
.method-chip{display:inline-flex;align-items:center;padding:2px 6px;border-radius:5px;font-size:var(--font-size-badge);font-weight:800;font-family:ui-monospace,Consolas,monospace;text-transform:uppercase}
.method-chip.get{background:#ecfdf3;color:#027a48}
.method-chip.post{background:#eff6ff;color:#1d4ed8}
.method-chip.put{background:#fffbeb;color:#b45309}
.method-chip.delete{background:#fef2f2;color:#b91c1c}
.http-status{display:inline-flex;padding:2px 6px;border-radius:5px;font-size:var(--font-size-badge);font-weight:700;font-family:ui-monospace,Consolas,monospace}
.http-status.ok{background:#ecfdf3;color:#027a48}
.http-status.bad{background:#fef2f2;color:#b42318}
.reason-chip{display:inline-flex;padding:2px 8px;border-radius:6px;font-size:var(--font-size-badge);font-weight:700;background:#f2f4f7;color:#475467;font-family:ui-monospace,Consolas,monospace}
.info-line{font-size:var(--font-size-ui);padding:8px 0}
.info-line span{font-size:var(--font-size-meta)}
.info-line strong{font-size:var(--font-size-ui)}
.info-line strong.mono{font-size:var(--font-size-meta);font-family:ui-monospace,Consolas,monospace}
.callout{font-size:var(--font-size-base);line-height:1.55;padding:10px 12px}
.callout b{font-size:var(--font-size-ui)}
.callout code{font-size:var(--font-size-meta);font-family:ui-monospace,Consolas,monospace}
.code-block{font-size:var(--font-size-meta);line-height:1.6;padding:12px;border-radius:10px;background:#0f172a;color:#dbe4f0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto;white-space:pre}
.code-block code{font-size:inherit}
.api-endpoint{margin-bottom:10px}
.api-endpoint code{font-size:var(--font-size-ui);font-family:ui-monospace,Consolas,monospace;background:#f1f5f9;padding:4px 8px;border-radius:6px;color:#334155}
.doc-heading{font-size:var(--font-size-base);font-weight:700;margin:14px 0 8px;color:#344054}
.flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--font-size-ui)}
.flow-steps div{display:flex;align-items:center;gap:5px}
.flow-steps b{width:22px;height:22px;border-radius:7px;background:#eef2ff;color:#4f46e5;display:inline-grid;place-items:center;font-size:var(--font-size-badge);flex-shrink:0}
.flow-steps i{color:#98a2b3;font-style:normal;font-size:var(--font-size-meta)}
.flow-steps span{font-size:var(--font-size-ui)}
.api-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:1100px){.api-doc-grid{grid-template-columns:1fr}}
.api-key-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:1100px){.api-key-layout{grid-template-columns:1fr}}
.secret-reveal{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:14px;margin-bottom:14px}
.secret-reveal span{font-size:var(--font-size-badge);font-weight:800;color:#b45309;text-transform:uppercase;letter-spacing:.08em}
.secret-reveal strong{display:block;font-size:var(--font-size-base);margin-top:3px;color:#92400e}
.secret-reveal code{display:block;font-size:var(--font-size-ui);font-family:ui-monospace,Consolas,monospace;background:#fef3c7;padding:8px;border-radius:8px;margin:8px 0;word-break:break-all;color:#78350f}
.secret-reveal small{font-size:var(--font-size-meta);color:#92400e;margin-top:6px;display:block}
.secret-actions{display:flex;gap:6px;margin:8px 0 4px}
.env-chip{display:inline-flex;padding:2px 6px;border-radius:5px;font-size:var(--font-size-badge);font-weight:800;text-transform:uppercase}
.env-chip.live{background:#ecfdf3;color:#027a48}
.env-chip.test{background:#fffbeb;color:#b45309}
.toggle-line{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-ui);cursor:pointer}
.toggle-line b{font-size:var(--font-size-ui)}
.toggle-line small{display:block;font-size:var(--font-size-meta);color:#667085;margin-top:2px}
.empty-state h3{font-size:var(--font-size-card-title)}
.empty-state p{font-size:var(--font-size-base)}
.empty-icon{font-size:var(--font-size-page-title);width:40px;height:40px;border-radius:12px}
.admin-empty{font-size:var(--font-size-base);color:#98a2b3}
.detail-card small{font-size:var(--font-size-meta)}
.detail-card strong{font-size:var(--font-size-ui)}
.audit-meta{font-size:var(--font-size-meta)}
.danger-zone strong{font-size:var(--font-size-base)}
.danger-zone p{font-size:var(--font-size-meta)}
.feature-card h3{font-size:var(--font-size-card-title)}
.feature-card p{font-size:var(--font-size-base)}
.feature-card .feature-icon{font-size:var(--font-size-ui);width:32px;height:32px;border-radius:9px}
.system-copy strong{font-size:var(--font-size-ui)}
.system-copy span{font-size:var(--font-size-meta)}
.system-icon{font-size:var(--font-size-meta);width:28px;height:28px;border-radius:8px}
.create-merchant-grid .field label{font-size:var(--font-size-ui)}
.account-menu .account-summary strong{font-size:var(--font-size-ui)}
.account-menu .account-summary span{font-size:var(--font-size-meta)}
.account-menu button{font-size:var(--font-size-ui)}
.metric-box span{font-size:var(--font-size-meta)}
.metric-box strong{font-size:var(--font-size-card-title)}
.page-loading strong{font-size:var(--font-size-base)}
.page-loading small{font-size:var(--font-size-meta)}

/* ===== LOGIN HERO SLIDER ===== */
.auth-visual{background:linear-gradient(160deg,#f8f9fc 0%,#eef1f8 40%,#e8ecf6 100%);color:#0a1628;padding:0;display:flex;flex-direction:column}
.auth-visual::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;top:-200px;right:-100px;background:radial-gradient(circle,rgba(0,165,224,.08),transparent 70%);pointer-events:none}
.auth-visual::after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;bottom:-160px;left:-80px;background:radial-gradient(circle,rgba(99,91,255,.06),transparent 70%);pointer-events:none}
.hero-top{position:relative;z-index:2;padding:36px 40px 0}
.hero-top .auth-brand{gap:10px}
.hero-top .auth-brand .brand-basuni{color:#0a1628}
.hero-top .auth-brand .brand-pay{color:#00a5e0}
.hero-kicker-line{margin-top:8px}
.hero-kicker-line .auth-kicker{background:rgba(0,165,224,.08);border:1px solid rgba(0,165,224,.15);color:#0a1628;font-size:9px;padding:5px 10px}
.hero-slider{position:relative;z-index:2;flex:1;padding:20px 40px 0;overflow:hidden;display:flex;align-items:center}
.hero-slide{position:absolute;inset:0;padding:20px 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.hero-slide.active{position:relative;opacity:1;transform:translateY(0);pointer-events:auto}
.slide-content h2{font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.15;color:#0a1628;margin:0 0 10px}
.slide-content p{font-size:12.5px;line-height:1.65;color:#475467;margin:0 0 16px;max-width:380px}
.slide-features{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sf-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.7);border-radius:10px;backdrop-filter:blur(4px)}
.sf-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(0,165,224,.08);flex-shrink:0}
.sf-icon svg{width:14px;height:14px;stroke:#00a5e0;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.sf-card span{font-size:10.5px;font-weight:650;color:#344054}
.trust-chips{display:flex;flex-wrap:wrap;gap:8px}
.trust-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(3,152,85,.12);background:rgba(3,152,85,.06);border-radius:999px;font-size:10.5px;font-weight:700;color:#067647}
.trust-chip svg{width:14px;height:14px;stroke:#039855;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.slide-visual{display:flex;align-items:center;justify-content:center}
/* Dashboard mockup */
.dash-mockup{width:100%;max-width:320px;border:1px solid rgba(0,0,0,.08);border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08);overflow:hidden}
.dm-bar{height:28px;background:#f8f9fc;border-bottom:1px solid #eef0f3;display:flex;align-items:center;gap:5px;padding:0 10px}
.dm-dot{width:7px;height:7px;border-radius:50%;background:#d0d5dd}
.dm-dot:first-child{background:#f04438}
.dm-dot:nth-child(2){background:#fbbf24}
.dm-dot:nth-child(3){background:#12b76a}
.dm-body{display:grid;grid-template-columns:60px 1fr;min-height:180px}
.dm-sidebar{background:#0b1020;padding:10px 6px}
.dm-logo-mini{width:24px;height:24px;margin:0 auto 12px;border-radius:6px;overflow:hidden}
.dm-logo-mini img{width:100%;height:100%;display:block;object-fit:contain}
.dm-nav-line{height:6px;border-radius:3px;background:rgba(255,255,255,.1);margin-bottom:8px}
.dm-nav-line.active{background:rgba(99,91,255,.4)}
.dm-content{padding:12px}
.dm-stat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px}
.dm-stat{height:36px;border-radius:8px;background:linear-gradient(145deg,#f4f3ff,#eef2ff);border:1px solid #e5e7eb}
.dm-chart{height:50px;border-radius:8px;background:linear-gradient(180deg,rgba(99,91,255,.06),rgba(0,165,224,.04));border:1px solid #e5e7eb;margin-bottom:8px}
.dm-table-line{height:8px;border-radius:4px;background:#f2f4f7;margin-bottom:5px}
/* Funds flow */
.funds-flow{display:flex;align-items:center;gap:12px;padding:10px 0}
.ff-node{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.ff-node svg{width:32px;height:32px;stroke:#0a1628;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;padding:6px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}
.ff-node img{width:32px;height:32px;border-radius:10px;border:1px solid #e5e7eb;object-fit:contain}
.ff-node span{font-size:10px;font-weight:700;color:#344054}
.ff-node small{font-size:8.5px;color:#667085}
.ff-node.platform svg,.ff-node.platform img{border-color:#00a5e0;box-shadow:0 4px 12px rgba(0,165,224,.15)}
.ff-node.merchant svg{border-color:#039855;stroke:#039855;box-shadow:0 4px 12px rgba(3,152,85,.12)}
.ff-arrow{display:flex;align-items:center}
.ff-arrow svg{width:28px;height:16px;stroke:#98a2b3;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* Phone mockup */
.phone-mockup{width:180px;border:2px solid #1d2939;border-radius:24px;background:#fff;padding:0;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.12);position:relative}
.pm-notch{width:80px;height:18px;background:#1d2939;border-radius:0 0 12px 12px;margin:0 auto}
.pm-screen{padding:10px 12px 16px}
.pm-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.pm-header img{width:20px;height:20px;border-radius:5px}
.pm-header strong{font-size:10px;color:#0a1628}
.pm-status{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:700;padding:5px 8px;border-radius:8px;margin-bottom:8px}
.pm-status.connected{background:#ecfdf3;color:#027a48}
.pm-status svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none}
.pm-event{background:#f8f9fc;border:1px solid #eef0f3;border-radius:8px;padding:8px;margin-bottom:6px}
.pm-label{display:block;font-size:8px;color:#667085}
.pm-event strong{display:block;font-size:12px;color:#0a1628;margin:2px 0}
.pm-time{font-size:7.5px;color:#98a2b3}
/* API mockup */
.api-mockup{width:100%;max-width:300px}
.api-block{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px}
.api-method{font-size:8px;font-weight:900;padding:3px 6px;border-radius:5px;font-family:ui-monospace,Consolas,monospace}
.api-method.post{background:#eff8ff;color:#175cd3}
.api-method.get{background:#ecfdf3;color:#067647}
.api-block code{font-size:9.5px;color:#344054;font-family:ui-monospace,Consolas,monospace}
.api-resp{padding:8px 10px;background:#0f172a;border-radius:8px;margin-top:2px}
.api-resp span{display:block;font-size:7.5px;color:#039855;margin-bottom:4px;font-weight:700}
.api-resp code{font-size:9px;color:#94a3b8;font-family:ui-monospace,Consolas,monospace}
/* Hero bottom / dots */
.hero-bottom{position:relative;z-index:2;padding:16px 40px 28px;display:flex;align-items:center;justify-content:space-between}
.hero-dots{display:flex;gap:6px}
.hero-dot{width:8px;height:8px;border-radius:50%;border:0;background:rgba(10,22,40,.15);cursor:pointer;padding:0;transition:.2s}
.hero-dot.active{background:#00a5e0;width:24px;border-radius:4px}
.auth-foot{color:#667085;font-size:9px}


/* ===== INTEGRATION GUIDES ===== */
.guide-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;margin-top:8px}
.guide-sidebar{position:sticky;top:90px;height:max-content;display:flex;flex-direction:column;gap:2px;padding:12px 0}
.guide-nav-item{display:block;padding:7px 12px;border-radius:8px;font-size:11px;color:#667085;text-decoration:none;cursor:pointer;transition:.15s;border:0;background:transparent;text-align:left;font-weight:600}
.guide-nav-item:hover{background:#f4f6f8;color:#344054}
.guide-nav-item.active{background:#eef2ff;color:#4338ca;font-weight:700}
.guide-content{min-width:0}
.guide-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(135deg,#f5f7ff,#eef2ff);border:1px solid #dfe3ff;border-radius:16px;margin-bottom:16px}
.guide-banner-icon{width:40px;height:40px;border-radius:12px;background:#4338ca;color:#fff;display:grid;place-items:center}
.guide-banner-icon svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8}
.guide-banner strong{font-size:13px;display:block}
.guide-banner span{font-size:11px;color:#667085;margin-top:3px;display:block}
.guide-section{padding:18px 0 14px;border-bottom:1px solid #eef0f3;margin-bottom:14px}
.guide-section:first-of-type{padding-top:0}
.guide-section-title{margin:0 0 6px;font-size:15px;letter-spacing:-.3px}
.guide-section-sub{margin:0 0 14px;font-size:11.5px;color:#667085;line-height:1.65}
.guide-h4{font-size:11.5px;margin:16px 0 8px;color:#344054}
.guide-flow{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:14px 0}
.guide-flow-step{display:flex;align-items:center;gap:7px;padding:8px 12px;background:#f9fafb;border:1px solid #eef0f3;border-radius:10px;font-size:10.5px}
.guide-flow-step b{width:22px;height:22px;border-radius:7px;background:#4338ca;color:#fff;display:grid;place-items:center;font-size:9px;flex-shrink:0}
.guide-flow-arrow{color:#98a2b3;font-size:12px;font-style:normal;padding:0 2px}
.guide-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.guide-trust-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;font-size:10px;font-weight:700;color:#067647;background:rgba(3,152,85,.06);border:1px solid rgba(3,152,85,.12)}
.guide-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.guide-feature-card{padding:14px;border:1px solid #eef0f3;border-radius:12px;background:#fafbfc}
.guide-feature-card .guide-feature-icon{width:32px;height:32px;border-radius:9px;background:#eef2ff;color:#4338ca;display:grid;place-items:center;margin-bottom:10px}
.guide-feature-card .guide-feature-icon svg{width:16px;height:16px;stroke:#4338ca;fill:none;stroke-width:1.8}
.guide-feature-card strong{font-size:11px;display:block;margin-bottom:4px}
.guide-feature-card span{font-size:10px;color:#667085;line-height:1.5}
.guide-steps{margin:8px 0 0;padding-left:22px;display:grid;gap:8px}
.guide-steps li{font-size:11px;line-height:1.65;color:#475467}
.guide-steps li b{color:#1d2939}
.guide-steps li code{background:#f4f6f8;padding:2px 5px;border-radius:5px;font-size:10px;color:#4338ca}
.guide-code{border:1px solid #1e293b;border-radius:12px;overflow:hidden;margin:8px 0}
.guide-code-head{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#1e293b;border-bottom:1px solid #334155}
.guide-code-lang{font-size:10px;color:#94a3b8;font-weight:700}
.guide-copy-btn{border:1px solid #475569;background:#334155;color:#cbd5e1;border-radius:7px;padding:4px 10px;font-size:9px;font-weight:700;cursor:pointer;transition:.15s}
.guide-copy-btn:hover{background:#475569;color:#f1f5f9}
.guide-copy-btn.copied{background:#059669;border-color:#059669;color:#fff}
.guide-code pre{margin:0;padding:14px;background:#0f172a;color:#e2e8f0;font:10.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-x:auto;white-space:pre}
.guide-code pre code{background:transparent;padding:0;border-radius:0;font-size:inherit;color:inherit}
.guide-endpoint-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f9fafb;border:1px solid #eef0f3;border-radius:10px;margin:8px 0}
.guide-endpoint-bar code{font-size:11px;color:#344054;font-weight:600}
.guide-tabs{display:flex;gap:4px;padding:4px;background:#f4f6f8;border-radius:9px;width:max-content;margin:10px 0 0}
.guide-tab{border:0;background:transparent;color:#667085;border-radius:6px;padding:5px 10px;font-size:9.5px;font-weight:700;cursor:pointer}
.guide-tab.active{background:#fff;color:#344054;box-shadow:0 1px 3px rgba(15,23,42,.08)}
.guide-tab-content{display:none}
.guide-tab-content.active{display:block}
.guide-flow-diagram{display:flex;flex-direction:column;align-items:center;gap:0;margin:14px 0;padding:18px;border:1px solid #eef0f3;border-radius:14px;background:#fafbfc}
.gfd-row{display:flex;flex-direction:column;align-items:center;gap:0}
.gfd-node{padding:10px 20px;border:2px solid #d1d5db;border-radius:10px;font-size:11px;font-weight:600;color:#344054;background:#fff;text-align:center;max-width:360px}
.gfd-node.accent{border-color:#4338ca;color:#4338ca;background:#eef2ff}
.gfd-node.success{border-color:#059669;color:#059669;background:#ecfdf5}
.gfd-arrow{font-size:14px;color:#98a2b3;padding:4px 0;font-style:normal}
.gfd-label{font-size:9.5px;color:#059669;font-weight:700;margin-top:4px}
.guide-status-diagram{text-align:center;margin:14px 0;padding:18px;border:1px solid #eef0f3;border-radius:14px;background:#fafbfc}
.guide-status-note{font-size:9px;color:#667085;margin-top:6px}
.guide-trouble{border:1px solid #eef0f3;border-radius:12px;margin:8px 0;overflow:hidden}
.guide-trouble strong{display:block;padding:10px 14px;background:#fafbfc;font-size:11px;border-bottom:1px solid #eef0f3}
.guide-trouble-body{padding:10px 14px;font-size:10.5px;line-height:1.6;color:#475467}
.guide-trouble-body b{font-size:10px;color:#344054;display:block;margin-bottom:4px}
.guide-trouble-body ul{margin:0 0 10px;padding-left:18px}
.guide-trouble-body p{margin:0}
.guide-security-list{display:grid;gap:8px}
.guide-security-item{display:flex;gap:12px;padding:12px 14px;border:1px solid #eef0f3;border-radius:12px;background:#fafbfc}
.guide-security-item svg{width:20px;height:20px;stroke:#4338ca;fill:none;stroke-width:1.8;flex-shrink:0;margin-top:2px}
.guide-security-item strong{font-size:11px;display:block;margin-bottom:3px}
.guide-security-item span{font-size:10px;color:#667085;line-height:1.5}
@media(max-width:1100px){.guide-layout{grid-template-columns:1fr}.guide-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:4px;padding:8px 0;border-bottom:1px solid #eef0f3;margin-bottom:12px}.guide-feature-grid{grid-template-columns:1fr}}
@media(max-width:700px){.guide-flow{flex-direction:column;align-items:stretch}.guide-flow-arrow{text-align:center}.guide-flow-step{justify-content:flex-start}}

@media(max-width:900px){body{font-size:12px}.hero h2{font-size:20px}.topbar h1{font-size:20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:110px}.data-table th,.data-table td{font-size:11px}.brand-copy strong{font-size:14px}}
@media(max-width:820px){.auth-screen{grid-template-columns:1fr}.auth-visual{display:none}}
@media(max-width:700px){.hero h2{font-size:18px}.topbar h1{font-size:18px}.stats-grid{grid-template-columns:1fr}.btn{font-size:11px}.nav-item{font-size:11px}}
@media(max-width:1100px){.hero-slide{grid-template-columns:1fr}.slide-visual{display:none}.slide-content h2{font-size:19px}}

/* ===== DASHBOARD BRIDGE PAGE ===== */
.dash-bridge-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.dash-bridge-features{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.dash-bridge-feat{display:flex;gap:12px;align-items:flex-start}
.dash-bridge-feat-icon{width:36px;height:36px;min-width:36px;border-radius:10px;background:rgba(0,123,255,.06);display:grid;place-items:center}
.dash-bridge-feat-icon svg{width:18px;height:18px;stroke:#007bff;fill:none;stroke-width:1.8}
.dash-bridge-feat strong{font-size:13px;font-weight:800;color:#0f172a;display:block;margin-bottom:2px}
.dash-bridge-feat span{font-size:11.5px;color:#667085;line-height:1.5}
.dash-bridge-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.dash-bridge-chip{font-size:10px;font-weight:700;padding:5px 12px;border-radius:9999px;background:rgba(0,165,224,.06);color:#00a5e0;border:1px solid rgba(0,165,224,.15)}
.dash-bridge-trust{font-size:12px;font-weight:700;color:#059669;padding:10px 14px;border-radius:10px;background:rgba(5,150,105,.05);border-left:3px solid #059669;margin-bottom:20px;line-height:1.5}
.dash-bridge-download{border:1px solid #e5e7eb;border-radius:14px;padding:18px;background:#fafbfc;margin-bottom:20px}
.dash-bridge-download-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.dash-bridge-download-head svg{width:28px;height:28px;stroke:#00a5e0;fill:none;stroke-width:1.5;flex-shrink:0}
.dash-bridge-download-head strong{font-size:14px;font-weight:800;color:#0f172a}
.dash-bridge-download-head span{font-size:11px;color:#667085;font-weight:600}
.dash-bridge-download .btn{margin:10px 0}
.dash-bridge-update-note{font-size:10.5px;color:#667085;line-height:1.6;margin-top:10px;padding:10px;border-radius:8px;background:rgba(250,204,21,.06);border:1px solid rgba(250,204,21,.18)}
.dash-bridge-update-note b{color:#92400e;font-weight:700}
.dash-bridge-security-note{font-size:10px;color:#667085;line-height:1.5;margin-top:8px;font-style:italic}
.dash-bridge-preview{display:flex;flex-direction:column;align-items:center;gap:16px}
.dash-bridge-phone{width:260px;background:#0f172a;border-radius:28px;padding:10px;box-shadow:0 4px 16px rgba(15,23,42,.08),0 12px 40px rgba(15,23,42,.06),0 20px 60px rgba(10,22,40,.12)}
.dash-bridge-phone-notch{width:60px;height:6px;border-radius:3px;background:#1e293b;margin:0 auto 8px}
.dash-bridge-phone-screen{background:#fff;border-radius:20px;overflow:hidden}
.dash-bridge-phone-screen img{display:block;width:100%;height:auto;object-fit:contain}
.dash-bridge-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.dash-bridge-tab{display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;font-size:11px;font-weight:700;color:#667085;cursor:pointer;transition:all .15s;outline:none}
.dash-bridge-tab svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.dash-bridge-tab:hover{color:#007bff;border-color:#007bff;background:rgba(0,123,255,.03)}
.dash-bridge-tab.active{color:#007bff;background:rgba(0,123,255,.06);border-color:#007bff;box-shadow:0 2px 8px rgba(0,123,255,.1)}
.dash-bridge-tab:focus-visible{outline:2px solid #007bff;outline-offset:2px}
@media(max-width:960px){.dash-bridge-layout{grid-template-columns:1fr;gap:24px}.dash-bridge-phone{width:220px}}


/* Merchant Billing & Quota — pricing card parity with landing */
.billing-plans-section{margin:30px 0 32px}
.billing-plans-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.billing-plans-head h3{margin:0;font-size:13px;font-weight:800;color:var(--ink)}
.billing-plans-head p{margin:4px 0 0;font-size:8.5px;line-height:1.55;color:var(--muted)}
.billing-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch;grid-auto-rows:1fr}
.billing-plan-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:286px;padding:22px 17px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 2px rgba(15,23,42,.02);transition:border-color .16s,box-shadow .16s,transform .16s}
.billing-plan-card:hover{border-color:#d8d5ff;box-shadow:0 10px 28px rgba(15,23,42,.06);transform:translateY(-1px)}
.billing-plan-card.featured,.billing-plan-card.selected{border-color:var(--primary);box-shadow:0 8px 24px rgba(99,91,255,.08)}
.billing-plan-card.selected{border-width:2px;padding:21px 16px 15px}
.billing-plan-body{flex:1;display:flex;flex-direction:column;text-align:center}
.billing-plan-selected{min-height:16px;margin-bottom:4px;color:var(--primary);font-size:7.5px;font-weight:800;line-height:1.3}
.billing-plan-card h3{margin:0 0 11px;font-size:12px;font-weight:850;color:var(--ink)}
.billing-plan-price{margin-bottom:10px;font-size:22px;font-weight:850;letter-spacing:-.45px;color:var(--ink)}
.billing-plan-details{display:grid;gap:4px;min-height:66px;margin-top:4px;color:var(--muted);font-size:8.7px;line-height:1.45}
.billing-plan-details strong{font-size:9px;font-weight:700;color:#475467}
.billing-plan-bonus{font-weight:750;color:#4f46e5}
.billing-plan-save{align-self:stretch;min-height:23px;margin-top:10px;padding:4px 8px;border-radius:999px;font-size:7.8px;font-weight:850;line-height:15px;color:transparent;background:transparent}
.billing-plan-save.show{color:#c11574;background:#fdf2fa}
.billing-plan-cta{margin-top:auto;padding-top:12px}
.billing-plan-cta .btn{width:100%;height:34px;justify-content:center}
.billing-plan-best{position:absolute;top:-11px;left:50%;transform:translateX(-50%);z-index:2;padding:4px 13px;border-radius:999px;background:var(--primary);color:#fff;font-size:7.5px;font-weight:850;letter-spacing:.25px;white-space:nowrap}
.billing-plan-card .btn[disabled]{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}
@media(max-width:1180px){.billing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.billing-plan-grid{grid-template-columns:1fr}.billing-plan-card{min-height:260px}.billing-plans-head{display:block}}

/* Merchant Billing & Quota — 80% typography alignment */
.billing-usage-card .usage-head small{font-size:var(--font-size-meta);line-height:1.35}
.billing-usage-card .usage-head strong{font-size:var(--font-size-card-title);line-height:1.3}
.billing-usage-card .usage-foot{font-size:var(--font-size-meta);line-height:1.4}
.billing-usage-card .usage-foot strong{font-size:var(--font-size-ui);font-weight:750}
.billing-usage-card .usage-foot span{font-size:var(--font-size-meta)}
.billing-usage-card .role-chip{font-size:var(--font-size-badge)}
.billing-plans-head h3{font-size:var(--font-size-card-title)}
.billing-plans-head p{font-size:var(--font-size-meta)}
.billing-plan-selected{font-size:var(--font-size-badge)}
.billing-plan-card h3{font-size:var(--font-size-card-title)}
.billing-plan-price{font-size:24px}
.billing-plan-details{font-size:var(--font-size-meta);line-height:1.5}
.billing-plan-details strong{font-size:var(--font-size-ui)}
.billing-plan-bonus{font-size:var(--font-size-meta)}
.billing-plan-save{font-size:var(--font-size-badge);line-height:16px}
.billing-plan-best{font-size:var(--font-size-badge)}

.auth-home-link{text-decoration:none;color:inherit;cursor:pointer}

/* Merchant provider registry: verified-first + branded offline icons */
.provider-list-branded .provider-row{min-height:54px;gap:10px;padding:9px 0}
.provider-list-branded .provider-row.provider-row-verified{background:linear-gradient(90deg,rgba(3,152,85,.035),transparent 34%)}
.provider-row .provider-logo.provider-logo-brand{width:34px;height:34px;flex:0 0 34px;border:0;background:transparent;box-shadow:none;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:visible}
.provider-brand-icon{display:inline-flex;width:32px;height:32px;border-radius:9px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.08);border:1px solid rgba(16,24,40,.08);background:#fff}
.provider-brand-icon svg{display:block;width:100%;height:100%}
.provider-summary-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.provider-summary-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.provider-summary-chip.verified{background:#ecfdf3;color:#027a48}
.provider-summary-chip.beta{background:#fff7e6;color:#b54708}
.provider-summary-chip.discovery{background:#f2f4f7;color:#667085}
@media(max-width:760px){.provider-summary-chips{width:100%;justify-content:flex-start;margin-top:8px}.provider-list-branded .provider-row{align-items:center}.provider-brand-icon{width:30px;height:30px}.provider-row .provider-logo.provider-logo-brand{width:32px;height:32px;flex-basis:32px}}


/* Official provider logos */
.provider-row .provider-logo.provider-logo-official{width:34px;height:34px;min-width:34px;border-radius:9px;background:#fff;border:1px solid #e7eaf0;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.provider-logo-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}


/* Provider logo files from /public/icons/banks */
.provider-list-branded .provider-logo.provider-logo-brand{width:40px;height:40px;min-width:40px;border-radius:10px;background:#fff;border:1px solid #e7eaf0;display:flex;align-items:center;justify-content:center;padding:5px;overflow:hidden;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.provider-list-branded .provider-logo-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:760px){.provider-list-branded .provider-logo.provider-logo-brand{width:36px;height:36px;min-width:36px;padding:4px}}

/* Ringkasan Merchant: ikon keamanan + database */
.system-icon.system-icon-svg{display:flex;align-items:center;justify-content:center;color:#475467;background:#f5f7fb;border:1px solid #e7eaf0}
.system-icon.system-icon-svg svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Admin provider & system icon polish */
.admin-provider-identity{display:flex;align-items:center;gap:10px;min-width:0}
.admin-provider-logo{width:34px;height:34px;min-width:34px;border-radius:10px;border:1px solid #e7eaf0;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden;box-shadow:0 1px 3px rgba(16,24,40,.05)}
.admin-provider-logo .provider-logo-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.admin-provider-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.admin-provider-copy strong{display:block;white-space:normal}
.admin-provider-copy span{display:block;color:#98a2b3;font-size:var(--font-size-meta)}
.admin-system-grid .feature-icon.feature-icon-svg{display:grid;place-items:center;color:#5b54f6;background:#f1f0ff;border:1px solid #e5e2ff}
.admin-system-grid .feature-icon.feature-icon-svg svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.admin-provider-logo{width:30px;height:30px;min-width:30px;padding:3px}}

/* ===== PROFILE / MERCHANT LOGOS ===== */
.merchant-avatar.has-image,.avatar-btn.has-image,.account-menu-avatar.has-image{padding:2px;background:#fff;border:1px solid #e7eaf0;overflow:hidden;color:transparent}
.avatar-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit}
.account-summary-with-logo{display:flex!important;align-items:center;gap:9px}
.account-summary-with-logo>div:last-child{min-width:0;display:flex;flex-direction:column}
.account-menu-avatar{width:30px;height:30px;min-width:30px;border-radius:9px;display:grid;place-items:center;background:#f4f3ff;color:#5149db;font-size:8px;font-weight:800;overflow:hidden}
.account-logo-upload{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;cursor:pointer;border-top:1px solid #eef1f5;color:#344054}
.account-logo-upload:hover{background:#f8fafc}
.account-logo-upload span{font-size:var(--font-size-ui);font-weight:700}
.account-logo-upload small{font-size:var(--font-size-meta);color:#98a2b3;font-weight:500}
.merchant-admin-identity{display:flex;align-items:center;gap:9px;min-width:180px}
.merchant-admin-identity>div{display:flex;flex-direction:column;min-width:0}
.merchant-list-logo{width:26px;height:26px;min-width:26px;border-radius:8px;border:1px solid #e7eaf0;background:#fff;display:grid;place-items:center;overflow:hidden;font-size:7px;font-weight:800;color:#5149db}
.merchant-list-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:2px}
.merchant-list-logo.fallback{background:#f4f3ff}
.merchant-logo-picker,.settings-logo-control{display:flex;align-items:center;gap:12px}
.logo-upload-preview,.settings-logo-preview{width:58px;height:58px;min-width:58px;border-radius:12px;border:1px dashed #d0d5dd;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;overflow:hidden;color:#98a2b3;font-size:8px;text-align:center}
.logo-upload-preview img,.settings-logo-preview img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:5px;background:#fff}
.logo-upload-preview img+span{position:absolute;left:-9999px}
.merchant-logo-picker>div:last-child,.settings-logo-control>div:last-child{flex:1;min-width:0}
.merchant-logo-picker small,.settings-logo-control small{display:block;margin-top:5px;line-height:1.45;color:#667085}
@media(max-width:760px){.merchant-logo-picker,.settings-logo-control{align-items:flex-start}.account-logo-upload{align-items:flex-start;flex-direction:column;gap:2px}}

/* ===== GLOBAL BASUNIPAY FILE UPLOAD ===== */
.basuni-file-upload{position:relative;width:100%;min-height:34px;display:flex;align-items:stretch;border:1px solid #d8dee9;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.basuni-file-upload:hover{border-color:#b8b6ff}
.basuni-file-upload:focus-within{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.10)}
.basuni-file-native{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;border:0!important}
.basuni-file-button{min-width:96px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-right:1px solid #e7eaf0;background:#f8f9ff;color:#5149db;font-size:var(--font-size-ui);font-weight:750;cursor:pointer;user-select:none;white-space:nowrap;transition:background .16s ease,color .16s ease}
.basuni-file-button:hover{background:#f0efff;color:#4338ca}
.basuni-file-button svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.basuni-file-name{min-width:0;flex:1;display:flex;align-items:center;padding:0 11px;color:#98a2b3;font-size:var(--font-size-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.basuni-file-upload.has-file .basuni-file-name{color:#344054;font-weight:600}
@media(max-width:760px){.basuni-file-upload{min-height:36px}.basuni-file-button{min-width:88px;padding:0 10px}.basuni-file-name{padding:0 9px}}


/* ===== FRONTEND AUDIT: icon consistency + mobile containment ===== */
html,body{max-width:100%;overflow-x:hidden}
.main-shell,.content,.grid-main,.panel,.panel-body,.topbar,.topbar-left,.topbar-right{min-width:0}
.empty-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav button>span{display:grid;place-items:center;line-height:1}
.mobile-nav button>span svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav .mobile-primary span svg{width:18px;height:18px}
@media(max-width:820px){
  .content>*{max-width:100%}
  .grid-main,.generic-grid,.api-key-layout,.qris-layout,.security-card{min-width:0}
  .panel-head{min-width:0}
  .panel-head>div{min-width:0}
  .panel-title,.panel-subtitle{overflow-wrap:anywhere}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .code,.guide-code pre{max-width:100%;overflow-x:auto}
}
@media(max-width:500px){
  .topbar{padding:0 8px;gap:5px}
  .topbar-left{gap:6px;flex:1 1 auto;overflow:hidden}
  .topbar-left>div{min-width:0}
  .topbar .eyebrow{display:none}
  .topbar h1{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}
  .topbar-right{gap:4px;flex:0 0 auto}
  .topbar-right .system-status{display:none}
  .topbar-right .role-chip{height:22px;padding:0 6px;font-size:6.8px;letter-spacing:.35px}
  .topbar-right .lang-switcher-btn{height:30px;min-width:40px;padding:0 5px;gap:3px;font-size:9px}
  .topbar-right .lang-switcher-btn svg{width:13px;height:13px}
  .avatar-btn{width:30px;height:30px;border-radius:9px}
  .menu-btn{width:30px;height:30px;border-radius:9px}
  .content{padding-left:10px;padding-right:10px}
  .hero-actions{width:100%;flex-wrap:wrap}
  .hero-actions .btn.primary{width:100%}
}

.btn svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.qris-placeholder span{display:grid;place-items:center;color:#667085}
.qris-placeholder span svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mini-qris-placeholder{display:grid;place-items:center}
.mini-qris-placeholder svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Login brand parity with signup */
.auth-panel{position:relative;flex-direction:column}
.auth-panel-brand{width:min(440px,100%);margin-bottom:16px;display:flex;flex-direction:column;align-items:flex-start}
.auth-panel-brand .auth-brand{gap:10px;text-decoration:none}
.auth-panel-brand .auth-brand .brand-mark{width:40px;height:40px;border-radius:12px;overflow:hidden;background:transparent;box-shadow:none}
.auth-panel-brand .auth-brand .brand-mark img{width:100%;height:100%;display:block}
.auth-panel-brand .auth-brand strong{font-size:18px;line-height:1;font-weight:800;letter-spacing:-.03em}
.auth-panel-brand .auth-brand .brand-basuni{color:#0a1628}
.auth-panel-brand .auth-brand .brand-pay{color:#00a5e0}
.auth-panel-brand .hero-kicker-line{margin-top:8px}
.auth-panel-brand .auth-kicker{display:inline-flex;border-radius:999px;background:rgba(0,165,224,.08);border:1px solid rgba(0,165,224,.15);color:#0a1628;font-size:9px;line-height:1;padding:5px 10px;letter-spacing:.8px;text-transform:uppercase;font-weight:800}
@media(max-width:820px){.auth-panel{padding-top:24px}.auth-panel-brand{margin-bottom:18px;padding-right:64px}}

.dash-bridge-feat-icon svg{width:20px;height:20px}
.dash-bridge-download-head svg{stroke-width:1.8}

/* Login top header: brand left, language switcher right */
.auth-panel{justify-content:flex-start!important}
.auth-panel-top{width:min(440px,100%);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 auto 18px}
.auth-panel-top .auth-panel-brand{width:auto;margin:0;min-width:0;flex:1}
.auth-panel-top .auth-lang-switcher{position:relative!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;flex:0 0 auto;margin:0}
.auth-panel-top .lang-switcher-menu{right:0;left:auto}
@media(max-width:820px){.auth-panel{padding:18px 20px 24px!important}.auth-panel-top{margin-bottom:16px}.auth-panel-brand{padding-right:0!important}}

/* Provider verification & self-healing discovery */
.provider-row-actions-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.provider-identity-mini,.provider-confidence{display:block;margin-top:4px;font-size:10px;color:var(--muted,#667085)}
.provider-identity-mini code{font-size:9.5px}
.provider-confidence{color:#7a5b00;font-weight:700}
.provider-verification-note{margin-bottom:12px}
.provider-challenge-list{display:grid;gap:12px}
.provider-challenge-card{display:grid;grid-template-columns:136px minmax(0,1fr) auto;gap:16px;align-items:start;border:1px solid #e7eaf0;border-radius:16px;padding:14px;background:#fff}
.provider-challenge-qr{width:136px;aspect-ratio:1;border:1px solid #e5e7eb;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:#fff}
.provider-challenge-qr img{display:block;width:100%;height:100%;object-fit:contain}
.provider-challenge-qr svg{width:42px;height:42px}
.provider-challenge-copy{min-width:0}
.provider-challenge-copy strong{display:block;font-size:17px;margin:3px 0 5px}
.provider-challenge-copy p{margin:0 0 7px;font-size:11px;line-height:1.55;color:#344054}
.provider-challenge-copy small{display:block;color:#667085;line-height:1.5}
.provider-challenge-kicker{font-size:9px;font-weight:800;letter-spacing:.08em;color:#667085}
.provider-cert-cell{font-size:10px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.provider-challenge-card{grid-template-columns:96px minmax(0,1fr)}.provider-challenge-card>.state{grid-column:1/-1;justify-self:start}.provider-challenge-qr{width:96px}.provider-row-actions-right{width:100%;justify-content:flex-start;margin-top:4px}}

/* Login responsive brand rule: desktop uses the left visual brand only; mobile keeps the brand above the form. */
@media(min-width:821px){
  .auth-panel-top .auth-panel-brand{display:none!important}
  .auth-panel-top{justify-content:flex-end}
}
@media(max-width:820px){
  .auth-panel-top .auth-panel-brand{display:flex!important}
}


/* Sandbox environment switcher — Stage S2 */
.env-switcher{position:relative}
.env-switcher-btn{height:34px;border:1px solid #dfe3ea;background:#fff;color:#344054;border-radius:10px;padding:0 10px;display:flex;align-items:center;gap:7px;font-size:8.5px;font-weight:850;letter-spacing:.45px;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.env-switcher-btn:before{content:"";width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.08)}
.env-switcher-btn.sandbox{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.env-switcher-btn.sandbox:before{background:#f79009;box-shadow:0 0 0 4px rgba(247,144,9,.10)}
.env-switcher-menu{position:absolute;right:0;top:41px;width:230px;padding:7px;background:#fff;border:1px solid #e5e7eb;border-radius:13px;box-shadow:0 18px 45px rgba(15,23,42,.14);z-index:90}
.env-switcher-menu button{width:100%;border:0;background:transparent;border-radius:9px;padding:9px 10px;display:grid;grid-template-columns:68px 1fr;gap:9px;align-items:center;text-align:left;color:#475467;cursor:pointer}
.env-switcher-menu button:hover,.env-switcher-menu button[aria-checked="true"]{background:#f5f7fb}
.env-switcher-menu button strong{font-size:8.5px;letter-spacing:.45px}
.env-switcher-menu button span{font-size:8px;color:#98a2b3}
.sandbox-mode .topbar{box-shadow:inset 0 -2px 0 rgba(247,144,9,.55)}
.sandbox-mode .version-line .status-dot{background:#f79009}
.sandbox-mode .version-line b{color:#fdb022}
@media(max-width:820px){
  .env-switcher-btn{height:30px;padding:0 7px;font-size:7.5px}
  .env-switcher-menu{right:0;width:210px}
}
@media(max-width:500px){
  .env-switcher-btn span[aria-hidden="true"]{display:none}
}
