/* =====================================================================
   UPI Gateway — Merchant Console
   Design system: floating glass shell, acid-yellow accent, dark + light.
   ===================================================================== */
:root{
  box-sizing:border-box;
  --bg:#191b1f;
  --bg-2:#202329;
  --stage:#111316;
  --glass:rgba(255,255,255,.045);
  --glass-2:rgba(255,255,255,.07);
  --glass-3:rgba(255,255,255,.1);
  --glass-brd:rgba(255,255,255,.09);
  --glass-hi:rgba(255,255,255,.14);
  --ink:#f4f5f3;
  --ink-dim:#edeff2;
  --ink-faint:#cfd4db;
  --acid:#eef14b;
  --acid-ink:#191b1f;
  --acid-soft:rgba(238,241,75,.14);
  --green:#7ee0a6;
  --green-bg:rgba(126,224,166,.13);
  --amber:#f4c36b;
  --amber-bg:rgba(244,195,107,.13);
  --red:#f2857f;
  --red-bg:rgba(242,133,127,.13);
  --blue:#8fb8ff;
  --blue-bg:rgba(143,184,255,.13);
  --radius:22px;
  --radius-sm:15px;
  --radius-xs:11px;
  --shadow:0 24px 60px -28px rgba(0,0,0,.75);
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --disp:"Bricolage Grotesque","Hanken Grotesk",system-ui,sans-serif;
  --num:"Chakra Petch","Bricolage Grotesque",system-ui,sans-serif;
}
:root[data-theme="light"]{
  --bg:#eceef0;
  --bg-2:#f6f7f9;
  --stage:#e4e7ea;
  --glass:rgba(255,255,255,.62);
  --glass-2:rgba(255,255,255,.8);
  --glass-3:rgba(255,255,255,.95);
  --glass-brd:rgba(20,24,30,.08);
  --glass-hi:rgba(255,255,255,.9);
  --ink:#141820;
  --ink-dim:#20252e;
  --ink-faint:#333b46;
  --acid:#c9cf17;
  --acid-soft:rgba(201,207,23,.16);
  --green:#1f9d5a;--green-bg:rgba(31,157,90,.12);
  --amber:#c98a1e;--amber-bg:rgba(201,138,30,.12);
  --red:#d84b43;--red-bg:rgba(216,75,67,.1);
  --blue:#3f6fd6;--blue-bg:rgba(63,111,214,.12);
  --shadow:0 24px 55px -34px rgba(30,40,60,.4);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:var(--sans);color:var(--ink);letter-spacing:.1px;
  background:
    radial-gradient(1100px 600px at 82% -8%, rgba(238,241,75,.09), transparent 60%),
    radial-gradient(900px 620px at -6% 110%, rgba(143,184,255,.07), transparent 55%),
    var(--bg);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--disp);margin:0;font-weight:600}
p{margin:0}
a{color:var(--acid)}
button{font-family:var(--sans)}
::selection{background:var(--acid);color:#191b1f}
.num{font-family:var(--num);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;font-weight:600}
.hide{display:none !important}
.scroll{overflow:auto}
.mono{font-family:var(--num);letter-spacing:.3px}
.cur{font-family:var(--sans);font-size:.78em;font-weight:600;margin-right:.06em;vertical-align:.04em;opacity:.95}
.paise{font-size:.55em;opacity:.7;font-weight:600}

/* ---------- frosted panel base ---------- */
.glass{
  background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius);
  -webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);
  box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);
}

/* ---------- app shell ---------- */
.app{
  min-height:100%;display:grid;grid-template-columns:262px 1fr;gap:14px;padding:14px;
  padding-top:calc(14px + env(safe-area-inset-top,0px));
  padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));
}
.side{padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:14px;height:calc(100vh - 28px)}
.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 6px 14px}
.brandlogo{width:100%;max-width:210px;height:auto;display:block;filter:drop-shadow(0 5px 15px rgba(0,0,0,.4))}
.brand-sub{text-align:center;font-size:11px;color:var(--ink-faint);margin:8px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}
.navlbl{font-size:10px;color:var(--ink-faint);letter-spacing:1.8px;margin:16px 12px 8px;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}
.nav::-webkit-scrollbar{width:5px}
.nav::-webkit-scrollbar-thumb{background:var(--glass-brd);border-radius:9px}
.nav a{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;
  color:var(--ink-dim);text-decoration:none;font-size:13.5px;font-weight:500;cursor:pointer;
  transition:background .18s,color .18s;
}
.nav a svg{width:18px;height:18px;flex:none;opacity:.85}
.nav a:hover{background:var(--glass-2);color:var(--ink)}
.nav a.active,.nav a.on{
  background:linear-gradient(120deg,var(--acid),#d7dd33);color:#191b1f;font-weight:600;
  box-shadow:0 8px 20px -10px rgba(238,241,75,.6);
}
.nav a.active svg,.nav a.on svg{opacity:1}
.nav a.logout{color:var(--red)}
.nav a.logout:hover{background:var(--red-bg);color:var(--red)}
.themebar{
  display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:14px;padding:11px 14px;border-radius:14px;
  background:var(--glass-2);border:1px solid var(--glass-brd);font-size:12px;color:var(--ink-dim);
}
.switch{width:52px;height:27px;border-radius:20px;background:var(--stage);border:1px solid var(--glass-brd);position:relative;cursor:pointer;flex:none;padding:0}
.switch::after{content:"";position:absolute;top:2.5px;left:2.5px;width:21px;height:21px;border-radius:50%;background:var(--acid);transition:transform .22s cubic-bezier(.4,1.3,.5,1)}
:root[data-theme="light"] .switch::after{transform:translateX(24px)}

.main{display:flex;flex-direction:column;gap:14px;min-width:0}
#content{display:flex;flex-direction:column;gap:14px;min-width:0}
#content.enter{animation:rise .4s ease both}
.topbar{display:flex;align-items:center;gap:14px;padding:13px 18px;border-radius:18px;position:relative;z-index:30}
.topbar h1{font-size:19px;letter-spacing:.2px}
.topbar .spacer,.spacer{flex:1}
.ghost.menubtn,.menubtn{display:none}
.search{
  flex:0 1 360px;display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:12px;
  background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink-faint);font-size:13px;
}
.search svg{width:15px;height:15px;flex:none}
.search input{background:none;border:none;outline:none;color:var(--ink);font-family:var(--sans);font-size:13px;width:100%}
.search input::placeholder{color:var(--ink-faint)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:7px 12px;border-radius:20px}
.pill.live{background:var(--green-bg);color:var(--green)}
.pill.sandbox{background:var(--amber-bg);color:var(--amber)}
.pill svg{width:13px;height:13px}
.pill .dot,.dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(126,224,166,.5)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.iconbtn{width:38px;height:38px;border-radius:12px;background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink);cursor:pointer;display:grid;place-items:center;position:relative;padding:0}
.iconbtn:hover{background:var(--glass-3)}
.iconbtn svg{width:17px;height:17px}
.dot-badge{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--bg-2)}

/* profile dropdown */
.who{display:flex;align-items:center;gap:10px;padding-left:4px;position:relative;cursor:pointer;user-select:none}
.who .av{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#2f333a,#1c1f24);display:grid;place-items:center;font-family:var(--disp);font-weight:600;color:#eef14b;border:1px solid var(--glass-brd);flex:none}
.who b{font-size:13px;font-weight:600;display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who small{display:block;color:var(--ink-faint);font-size:11px;text-transform:capitalize}
.who .chev{width:14px;height:14px;color:var(--ink-faint);transition:transform .2s;flex:none}
.who.open .chev{transform:rotate(180deg)}
.whomenu{
  position:absolute;top:calc(100% + 12px);right:0;width:242px;background:var(--bg-2);border:1px solid var(--glass-brd);border-radius:16px;
  box-shadow:0 26px 60px -20px rgba(0,0,0,.7);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s;z-index:60;cursor:default;
}
.whomenu.show{opacity:1;visibility:visible;transform:none}
.wm-head{padding:11px 12px 12px;border-bottom:1px solid var(--glass-brd);margin-bottom:6px}
.wm-head b{display:block;font-size:14px;max-width:none}
.wm-head span{font-size:12px;color:var(--ink-faint);word-break:break-all}
.whomenu button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border-radius:10px;background:none;border:none;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer}
.whomenu button:hover{background:var(--glass-2)}
.whomenu button svg{width:18px;height:18px;color:var(--blue);flex:none}
.wm-logout{color:var(--red) !important;border-top:1px solid var(--glass-brd) !important;margin-top:6px;border-radius:0 0 10px 10px !important}
.wm-logout svg{color:var(--red) !important}

/* ---------- primitives ---------- */
.btn{
  padding:12px 20px;border-radius:12px;border:none;cursor:pointer;font-size:13.5px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none;
  background:linear-gradient(120deg,var(--acid),#d7dd33);color:#191b1f;
  box-shadow:0 10px 22px -12px rgba(238,241,75,.6);transition:transform .15s;
}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn svg{width:16px;height:16px}
.btn.sm{padding:9px 14px;font-size:12.5px}
.btn.block{width:100%}
.ghost{
  background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink);padding:10px 15px;border-radius:11px;
  font-size:12.5px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:7px;text-decoration:none;
}
.ghost:hover{background:var(--glass-3)}
.ghost:disabled{opacity:.5;cursor:not-allowed}
.ghost svg{width:15px;height:15px}
.ghost.danger{color:var(--red)}
.ghost.sm{padding:7px 11px;font-size:11.5px}
.ghost.block{justify-content:center}
.linklike{background:none;border:none;color:var(--acid);cursor:pointer;font-size:inherit;padding:0;font-weight:600;text-decoration:none}
:root[data-theme="light"] .linklike,:root[data-theme="light"] a{color:#5f6410}

.ic{width:26px;height:26px;border-radius:8px;background:var(--acid-soft);display:grid;place-items:center;color:var(--acid);flex:none}
.ic svg{width:15px;height:15px}
:root[data-theme="light"] .ic{color:#5f6410}

.card{padding:20px 22px;border-radius:var(--radius);display:flex;flex-direction:column;
  background:var(--glass);border:1px solid var(--glass-brd);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);
  -webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
.card .hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.card h3{font-size:15px;display:flex;align-items:center;gap:9px}
.card h3>svg{width:18px;height:18px;flex:none;color:var(--acid)}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.g-main{grid-template-columns:1.4fr 1.1fr .9fr}
@media (max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.grid.g-main{grid-template-columns:1fr}}
@media (max-width:1000px){.grid.cols-2{grid-template-columns:1fr}}
@media (max-width:560px){.grid.cols-4,.grid.cols-3{grid-template-columns:1fr}}

/* hero */
.hero{
  padding:26px 28px;border-radius:var(--radius);position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 88% -20%, rgba(238,241,75,.16), transparent 55%), linear-gradient(120deg, var(--glass-2), var(--glass));
  border:1px solid var(--glass-brd);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);
}
.hero.sm{padding:22px 28px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.4px;color:#191b1f;background:var(--acid);padding:6px 12px;border-radius:20px;font-weight:600;text-transform:uppercase}
.hero .eyebrow svg{width:13px;height:13px}
.hero h2{font-size:34px;margin:16px 0 6px;line-height:1.05}
.hero.sm h2{font-size:28px;margin:14px 0 6px}
.hero p{margin:0;color:var(--ink-dim);font-size:13.5px;display:flex;gap:16px;flex-wrap:wrap}
.hero p b{color:var(--ink);font-weight:600}
.hero .badges{position:absolute;top:22px;right:26px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:60%}
.badges .b{font-size:11px;font-weight:600;padding:7px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;background:var(--glass-2);border:1px solid var(--glass-brd)}
.badges .b svg{width:13px;height:13px}
.badges .b.prem{background:var(--acid-soft);color:var(--acid);border-color:transparent}
.badges .b.ver{color:var(--blue)}
.badges .b.warn{color:var(--amber);background:var(--amber-bg);border-color:transparent}
.subline{display:flex;align-items:center;gap:10px;margin-top:20px;padding:11px 15px;border-radius:13px;background:var(--green-bg);color:var(--green);font-size:12.5px;font-weight:500;flex-wrap:wrap}
.subline svg{width:16px;height:16px;flex:none}
.subline.amber{background:var(--amber-bg);color:var(--amber)}
.subline .bar{flex:1;height:5px;border-radius:6px;background:rgba(126,224,166,.2);overflow:hidden;max-width:240px;min-width:80px}
.subline .bar i{display:block;height:100%;background:var(--green);border-radius:6px}

/* stats */
.stat{padding:18px 19px;border-radius:var(--radius-sm);position:relative;overflow:hidden;
  background:var(--glass);border:1px solid var(--glass-brd);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);
  -webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
.stat .lbl{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.1px;color:var(--ink-faint);text-transform:uppercase;font-weight:500}
.stat .lbl svg{width:15px;height:15px;flex:none}
.stat .num,.stat .val{display:block;font-family:var(--num);font-size:29px;font-weight:700;margin:14px 0 5px;letter-spacing:.2px;font-variant-numeric:tabular-nums lining-nums}
.stat .sub{font-size:12px;color:var(--ink-faint);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.stat.feature{background:linear-gradient(140deg,var(--acid),#d6dc2f);color:#191b1f;border:none}
.stat.feature .lbl,.stat.feature .sub{color:rgba(25,27,31,.62)}
.stat.feature .num,.stat.feature .val{color:#191b1f}
.chg{font-size:11px;font-weight:600;padding:2px 7px;border-radius:8px;background:var(--green-bg);color:var(--green)}
.stat.feature .chg{background:rgba(25,27,31,.14);color:#191b1f}
.num.green,.val.green{color:var(--green)}.num.amber,.val.amber{color:var(--amber)}.num.red,.val.red{color:var(--red)}.num.blue,.val.blue{color:var(--blue)}
.astat{padding:26px 20px;border-radius:var(--radius);text-align:center}
.astat .big{font-family:var(--num);font-size:42px;font-weight:700;letter-spacing:-1px;line-height:1}
.astat .cap{font-size:13px;color:var(--ink-dim);font-weight:600;margin-top:11px}

/* charts */
.tag{font-size:11px;color:var(--ink-faint);display:inline-flex;align-items:center;gap:6px}
.tag svg{width:13px;height:13px}
.linewrap{position:relative;flex:1;min-height:180px;margin-top:8px}
#week-chart{flex:1;display:flex;flex-direction:column}
.linewrap svg{width:100%;height:100%;overflow:visible;display:block}
.gridline{stroke:var(--glass-brd);stroke-width:1}
.area{fill:url(#ag)}
.line{fill:none;stroke:var(--acid);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.6s .2s ease forwards}
:root[data-theme="light"] .line{stroke:#a9af0d}
@keyframes draw{to{stroke-dashoffset:0}}
.pt{fill:var(--acid);stroke:var(--bg);stroke-width:3;opacity:0;animation:pop .3s forwards}
@keyframes pop{to{opacity:1}}
.axis{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-faint);margin-top:8px}
.donut{display:flex;align-items:center;gap:20px;margin-top:10px}
.donut svg{width:132px;height:132px;flex:none}
.dseg{fill:none;stroke-width:15;stroke-linecap:butt;stroke-dasharray:var(--len) 999;stroke-dashoffset:var(--len);animation:seg 1.1s .3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes seg{to{stroke-dashoffset:0}}
.legend{display:flex;flex-direction:column;gap:12px;flex:1;min-width:0}
.legend .row{display:flex;align-items:center;gap:10px;font-size:12.5px}
.legend .row .k{width:9px;height:9px;border-radius:3px;flex:none}
.legend .row b{margin-left:auto;font-family:var(--num);font-weight:600;white-space:nowrap}
.legend .row span{color:var(--ink-dim)}

/* quick actions / links */
.qa{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.qa a,.qa button,.qlink{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;text-decoration:none;
  padding:13px 15px;border-radius:13px;background:var(--glass-2);border:1px solid var(--glass-brd);
  color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;transition:transform .15s,background .15s;
}
.qa a:hover,.qa button:hover,.qlink:hover{background:var(--glass);transform:translateX(3px)}
.qa .ic{background:var(--glass)}
.qa .ar,.qlink .ar{margin-left:auto;color:var(--ink-faint)}

/* tables */
.tbl{width:100%;border-collapse:collapse;margin-top:6px;font-size:13px}
.tbl th{text-align:left;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);font-weight:600;padding:0 10px 14px;white-space:nowrap}
.tbl td{padding:14px 10px;border-top:1px solid var(--glass-brd);vertical-align:middle}
.tbl tr.clickable{cursor:pointer}
.tbl tr.clickable:hover td{background:var(--glass)}
.tbl-wrap{overflow-x:auto}
.emptyrow{text-align:center;padding:38px 20px;color:var(--ink-dim);font-size:13.5px}
.oid{font-family:var(--num);font-size:12px;background:var(--glass-2);border:1px solid var(--glass-brd);padding:4px 9px;border-radius:8px;letter-spacing:.3px;display:inline-block}

/* status pills (glossy) */
.stpill{
  font-size:12px;font-weight:800;letter-spacing:.6px;padding:6px 16px 6px 6px;border-radius:24px;text-transform:capitalize;
  min-width:118px;justify-content:center;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#fff;
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.3);text-shadow:0 1px 1px rgba(0,0,0,.32);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -3px 7px rgba(0,0,0,.26), 0 5px 11px -3px rgba(0,0,0,.5), 0 1px 0 rgba(0,0,0,.2);
  background:#5b6270;
}
.stpill::before{content:"";position:absolute;left:0;right:0;top:0;height:46%;background:linear-gradient(rgba(255,255,255,.42),rgba(255,255,255,0));pointer-events:none}
.stpill.suc{background:#20bf6b}
.stpill.pen{background:#f0a81a;color:#3a2500;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.stpill.fai{background:#ea453b}
.stpill.rev{background:#c9518a}
.stpill.exp{background:#5b6270}
.stico{width:20px;height:20px;flex:none;border-radius:50%;background:rgba(0,0,0,.26);display:inline-grid;place-items:center;position:relative;z-index:1;box-shadow:inset 0 1px 1px rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.25)}
.stico svg{width:12px;height:12px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--glass-2);border:1px solid var(--glass-brd);border-radius:20px;padding:5px 11px;font-size:11.5px}

/* forms */
.field{margin-bottom:14px}
.field label,label.fl{display:block;font-size:12.5px;font-weight:600;color:var(--ink-dim);margin-bottom:8px}
.field .req{color:var(--red)}
.inp,select.inp,textarea.inp{
  width:100%;padding:12px 14px;border-radius:12px;background:var(--glass-2);border:1px solid var(--glass-brd);
  color:var(--ink);font-family:var(--sans);font-size:13.5px;outline:none;
}
.inp:focus,select.inp:focus,textarea.inp:focus{border-color:var(--acid)}
.inp::placeholder{color:var(--ink-faint);opacity:.7}
textarea.inp{min-height:110px;resize:vertical;line-height:1.5}
select.inp{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a7adb6' stroke-width='2'><path d='M2 4l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
select.inp option,select.inp optgroup{background:var(--bg-2);color:var(--ink)}
.field .hint{font-size:11.5px;color:var(--ink-faint);margin-top:6px}
.field .err{font-size:11.5px;color:var(--red);margin-top:6px}
.form-row{display:flex;gap:12px}
.form-row .field{flex:1}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;margin-top:4px}
.form2 .full{grid-column:1/-1}
.tgl{width:44px;height:24px;border-radius:16px;background:var(--green);position:relative;cursor:pointer;display:inline-block;flex:none;border:none;padding:0;transition:background .2s}
.tgl::after{content:"";position:absolute;top:2px;left:22px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .2s}
.tgl.off{background:var(--stage);border:1px solid var(--glass-brd)}
.tgl.off::after{left:1px}
.copyfld{display:flex;gap:8px}
.copyfld .inp{font-family:var(--num);font-size:12.5px;letter-spacing:.3px}
.kyc-form textarea.inp{min-height:80px;resize:vertical}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 16px;align-items:center}
.filters .inp,.filters select.inp{width:auto;min-width:140px}
.filters .search{flex:1 1 220px;min-width:180px;background:none;border:none;padding:0;color:inherit}
.filters .search input.inp{width:100%;padding:12px 14px;border-radius:12px;background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink);font-size:13.5px}
.filters .search input.inp:focus{border-color:var(--acid)}

.empty{padding:50px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.empty .ic{width:56px;height:56px;border-radius:18px}
.empty .ic svg{width:26px;height:26px}
.empty h3{font-size:17px}
.empty p{color:var(--ink-dim);font-size:13.5px;max-width:360px}
.skeleton{background:linear-gradient(90deg,var(--glass) 25%,var(--glass-2) 37%,var(--glass) 63%);background-size:400% 100%;animation:sk 1.4s ease infinite;border-radius:8px}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}
.loading-page{min-height:60vh;display:grid;place-items:center;color:var(--ink-faint);font-size:13px}

/* ---------- overlay: modal / drawer ---------- */
.overlay{position:fixed;inset:0;background:rgba(10,12,14,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;z-index:70;padding:20px}
.overlay.show{display:grid;place-items:center}
.overlay.drawer-mode{display:none;place-items:stretch;justify-content:end;padding:0}
.overlay.drawer-mode.show{display:flex}
.modal{width:min(440px,100%);padding:26px;border-radius:24px;background:var(--bg-2);border:1px solid var(--glass-brd);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);animation:rise .25s ease both;max-height:90vh;overflow:auto}
.drawer{width:min(460px,100%);height:100%;background:var(--bg-2);border-left:1px solid var(--glass-brd);padding:24px;overflow:auto;animation:slide .25s ease both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes slide{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.modal .hd,.drawer .hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.modal .hd h3,.drawer .hd h3{font-size:18px}
.closebtn{width:32px;height:32px;border-radius:10px;background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.modal .foot,.drawer .foot{display:flex;gap:10px;margin-top:20px}
.scrim{position:fixed;inset:0;z-index:44;background:rgba(6,8,11,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
.scrim.show{opacity:1;visibility:visible}

/* toast */
.toasts{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:#191b1f;color:#fff;border:1px solid rgba(255,255,255,.1);padding:13px 20px;border-radius:14px;font-size:13px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);display:flex;align-items:center;gap:10px;min-width:220px}
.toast.error{border-color:rgba(242,133,127,.5)}
.toast .dot{width:8px;height:8px;border-radius:50%;background:#7ee0a6;flex:none;animation:none}
.toast.error .dot{background:#f2857f}

/* timeline / misc lists */
.timeline{display:flex;flex-direction:column;gap:0;margin-top:4px}
.tl-item{display:flex;gap:14px;padding-bottom:20px;position:relative}
.tl-item::before{content:"";position:absolute;left:8px;top:20px;bottom:0;width:1px;background:var(--glass-brd)}
.tl-item:last-child::before{display:none}
.tl-dot{width:17px;height:17px;border-radius:50%;background:var(--green-bg);border:2px solid var(--green);flex:none;margin-top:2px}
.tl-body b{display:block;font-size:13px}
.tl-body span{font-size:11.5px;color:var(--ink-faint)}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.gwlogo,.gwname .sq{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#4aa8ff,#2b6fd0);display:grid;place-items:center;flex:none;color:#fff;font-weight:800;font-family:var(--disp);font-size:14px}
.gwrow,.gwname{display:flex;align-items:center;gap:12px}
.gwrow b,.gwname b{display:block;font-size:13.5px}
.gwrow small,.gwname small{color:var(--ink-faint);font-size:11.5px}
.kv{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--glass-brd);font-size:12.5px}
.kv:first-child{border-top:none}
.kv span:first-child{color:var(--ink-faint)}
.notif-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--glass-brd)}
.notif-item:first-child{border-top:none}
.notif-item.unread{position:relative}
.notif-item.unread::before{content:"";position:absolute;left:-12px;top:20px;width:6px;height:6px;border-radius:50%;background:var(--acid)}
.notif-item b{font-size:13px;display:block}
.notif-item span{font-size:11.5px;color:var(--ink-faint)}
.legal{padding:15px 18px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-brd);font-size:11.6px;color:var(--ink-faint);line-height:1.65}
.legal b{color:var(--ink-dim)}
.sitefoot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--ink-faint);padding:2px 4px 8px}
.sitefoot b{color:var(--ink-dim)}

/* =====================================================================
   AUTH — light split screen with 3D pop-out card
   ===================================================================== */
.authscreen{
  min-height:100vh;display:flex;color:#1a1e26;font-family:var(--sans);
  background:radial-gradient(900px 500px at 12% 6%, rgba(238,241,75,.16), transparent 55%),radial-gradient(800px 600px at 100% 100%, rgba(126,224,166,.14), transparent 55%),linear-gradient(160deg,#f6f8fa,#eceef1);
}
.auth-inner{display:flex;width:100%;min-height:100vh}
.auth-brandcol{flex:1;padding:6vw;display:flex;flex-direction:column;justify-content:center;gap:16px}
.auth-logo{width:min(280px,70%);height:auto;align-self:flex-start;filter:drop-shadow(0 8px 18px rgba(30,40,60,.25))}
.auth-brandcol h2{font-size:clamp(26px,3.2vw,42px);line-height:1.14;max-width:470px;margin:6px 0 0;font-weight:600;color:#1a1e26}
.auth-brandcol .ac{color:#1f9d5a}
.auth-brandcol p{color:#5a6472;max-width:420px;font-size:15px;line-height:1.6}
.auth-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
.auth-trust span{display:inline-flex;align-items:center;gap:8px;color:#3b4552;font-size:13px;font-weight:600}
.auth-trust svg{width:16px;height:16px;color:#1f9d5a}
.auth-formcol{flex:1;display:grid;place-items:center;padding:24px;perspective:1500px}
.auth-wrap{display:contents}
.auth-card{
  width:min(420px,100%);background:#fff;border:1px solid #eceef2;border-radius:26px;padding:34px 32px;position:relative;
  transform-style:preserve-3d;transition:transform .12s ease-out;will-change:transform;
  box-shadow:0 2px 4px rgba(28,40,64,.05),0 8px 16px rgba(28,40,64,.07),0 20px 40px rgba(28,40,64,.12),0 40px 80px -18px rgba(28,40,64,.26),0 70px 120px -30px rgba(28,40,64,.30);
}
.auth-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(28,40,64,.05)}
.auth-cardlogo{height:44px;width:auto;display:block;margin:0 auto 12px;transform:translateZ(60px);filter:drop-shadow(0 6px 10px rgba(30,40,60,.25))}
.auth-card h3{text-align:center;font-size:24px;margin:6px 0 4px;color:#1a1e26;transform:translateZ(40px)}
.auth-sub{text-align:center;color:#6b7686;font-size:13px;margin:0 0 22px;transform:translateZ(30px)}
.auth-fld{display:flex;align-items:center;gap:10px;background:#f5f6f8;border:1px solid #e6e8ec;border-radius:14px;padding:13px 15px;margin-bottom:14px;transform:translateZ(16px)}
.auth-fld:focus-within{border-color:#c3cf17;box-shadow:0 0 0 3px rgba(195,207,23,.18)}
.auth-fld svg{width:18px;height:18px;color:#8a95a3;flex:none}
.auth-fld input{background:none;border:none;outline:none;color:#1a1e26;font-family:var(--sans);font-size:14.5px;width:100%;-webkit-text-fill-color:#1a1e26}
.auth-fld input::placeholder{color:#a0a8b2}
.auth-row{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;margin-bottom:16px;color:#5a6472}
.auth-row a,.auth-foot a{color:#1f9d5a;cursor:pointer;text-decoration:none;font-weight:600}
.auth-submit{
  width:100%;background:linear-gradient(120deg,#e6ef3a,#c3cf17);color:#1a1e26;border:none;padding:15px;border-radius:14px;font-weight:800;font-size:14.5px;letter-spacing:.5px;
  cursor:pointer;box-shadow:0 12px 26px -10px rgba(195,207,23,.55);transform:translateZ(34px);position:relative;
}
.auth-submit:hover{filter:brightness(1.05)}
.auth-submit:disabled{opacity:.6;cursor:not-allowed}
.auth-foot{text-align:center;color:#5a6472;font-size:13px;margin-top:18px}
.demo-box{margin-top:18px;padding:12px 14px;border-radius:12px;background:rgba(126,224,166,.16);border:1px dashed rgba(31,157,90,.4);font-size:12px;color:#177a4a;transform:translateZ(14px)}
.demo-box b{display:block;color:#111;font-size:12.5px;margin-bottom:4px}
.demo-box button{margin-top:8px;background:#fff;color:#1a1e26;border-color:#e6e8ec}
@media(max-width:900px){
  .auth-inner{flex-direction:column}.auth-brandcol{display:none}.auth-formcol{padding:20px 16px;min-height:100vh}
  .auth-card{transform:none !important}
  .auth-cardlogo,.auth-card h3,.auth-sub,.auth-submit,.auth-fld,.demo-box{transform:none}
}

/* =====================================================================
   PUBLIC PAYMENT PAGE
   ===================================================================== */
.pay-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.paycard{width:min(940px,100%);border-radius:24px;overflow:hidden;padding:0;background:var(--bg-2);border:1px solid var(--glass-brd);box-shadow:0 40px 90px -30px rgba(0,0,0,.7)}
.paycard.narrow{width:min(440px,100%)}
.payhead{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--glass-brd);background:linear-gradient(120deg,rgba(126,224,166,.14),transparent)}
.paycard .merch{display:flex;align-items:center;gap:12px;font-size:inherit;color:inherit;margin:0}
.mav{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#42e08c,#189d5a);display:grid;place-items:center;font-family:var(--disp);font-weight:800;color:#08210f;flex:none}
.merch b{font-size:15px;display:block}
.merch small{color:var(--ink-faint);font-size:12px}
.oid-box{background:var(--glass);border:1px solid var(--glass-brd);border-radius:12px;padding:9px 14px;font-size:11px;color:var(--ink-faint);text-align:left}
.oid-box .mono{font-size:13px;color:var(--ink);font-weight:700;display:block}
.paybody{padding:26px;display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:start}
.paybody.single{grid-template-columns:1fr;text-align:center;justify-items:center}
.amt-label{font-size:13px;color:var(--ink-dim)}
.paycard .amt,.amt{font-family:var(--num);font-size:40px;font-weight:700;letter-spacing:-1px;margin:4px 0 22px}
.scanlbl{font-size:11px;letter-spacing:1.6px;color:var(--green);font-weight:800;text-transform:uppercase}
.qrtile{background:#fff;border-radius:20px;padding:18px;margin-top:14px;text-align:center;max-width:330px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}
.paybody.single .qrtile{margin-left:auto;margin-right:auto}
.qrbox{background:#fff;border-radius:18px;padding:0;display:block;margin:0}
.qrbox img{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:1;margin:0 auto}
.qrtile span.cap{display:block;margin-top:12px;color:#555;font-size:12px}
.timerchip,.pay-status{background:var(--green-bg);color:var(--green);border-radius:12px;padding:12px 16px;font-size:13.5px;font-weight:700;display:inline-flex;gap:9px;align-items:center;margin-bottom:16px}
.pay-status .spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--glass-brd);border-top-color:var(--green);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.actcard{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;border-radius:16px;border:1px solid var(--glass-brd);background:var(--glass-2);color:var(--ink);cursor:pointer;margin-bottom:12px;text-decoration:none;transition:background .15s,transform .15s}
.actcard:hover{background:var(--glass);transform:translateY(-2px)}
.actcard .ac-ic{width:42px;height:42px;border-radius:11px;background:#fff;display:grid;place-items:center;flex:none;color:#189d5a}
.actcard .ac-ic svg{width:22px;height:22px}
.actcard b{font-size:14px;display:block}
.actcard small{color:var(--ink-faint);font-size:12px}
.actcard .rec{margin-left:auto;font-size:10.5px;color:var(--blue);background:var(--blue-bg);padding:4px 9px;border-radius:8px;font-weight:600}
.trust{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-faint);font-size:12px;margin-top:18px}
.paybar{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-top:1px solid var(--glass-brd);background:var(--glass-2)}
.paybar b{font-family:var(--num);font-size:22px;font-weight:700}
.sandbox-actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--glass-brd)}
.sandbox-actions .btn,.sandbox-actions .ghost{flex:1;justify-content:center}
.sandbox-note{font-size:11.5px;color:var(--amber);margin-top:10px}
.payresult{padding:44px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.payresult .big-ic{width:76px;height:76px;border-radius:50%;display:grid;place-items:center}
.payresult .big-ic svg{width:38px;height:38px}
.payresult h3{font-size:22px}
.payresult p{color:var(--ink-dim);font-size:13.5px}
@media(max-width:760px){.paybody{grid-template-columns:1fr}.payhead{flex-direction:column;align-items:flex-start}}

/* ---------- responsive shell ---------- */
@media(max-width:1100px){.hero .badges{position:static;margin-top:16px;max-width:none;justify-content:flex-start}}
@media(max-width:860px){
  .app{grid-template-columns:1fr;padding:10px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .ghost.menubtn,.menubtn{display:grid}
  .search{display:none}
  .hero{padding:22px 20px}.hero h2{font-size:25px}.hero p{font-size:12.5px;gap:8px}
  .form2,.form-row{grid-template-columns:1fr;flex-direction:column}
  .side{
    position:fixed;top:0;left:0;bottom:0;width:min(284px,84vw);z-index:45;height:100vh;height:100dvh;border-radius:0 20px 20px 0;
    transform:translateX(-102%);transition:transform .3s cubic-bezier(.4,0,.2,1);background:var(--bg-2);
    -webkit-backdrop-filter:none;backdrop-filter:none;border:none;border-right:1px solid var(--glass-brd);
    box-shadow:26px 0 60px -20px rgba(0,0,0,.65);padding-top:calc(18px + env(safe-area-inset-top,0px));
  }
  :root[data-theme="light"] .side{background:#eef0f3}
  .side.open{transform:none}
}
@media(max-width:560px){
  .who div:not(.av):not(.whomenu){display:none}
  .topbar{padding:10px 12px;gap:10px}.topbar h1{font-size:17px}
  .stat .num,.stat .val{font-size:26px}
  .donut{flex-direction:column;align-items:flex-start}
  .paybody{padding:20px}.paycard .amt,.amt{font-size:34px}
}
.statstack{display:flex;flex-direction:column;gap:14px}
/* light theme: keep chrome links neutral (only inline text links use the olive accent) */
:root[data-theme="light"] .nav a{color:var(--ink-dim)}
:root[data-theme="light"] .nav a.active,:root[data-theme="light"] .nav a.on{color:#191b1f}
:root[data-theme="light"] .nav a.logout{color:var(--red)}
:root[data-theme="light"] .qa a,:root[data-theme="light"] .qlink,:root[data-theme="light"] a.ghost,:root[data-theme="light"] a.actcard{color:var(--ink)}
:root[data-theme="light"] .btn{color:#191b1f}
:root[data-theme="light"] .pill.sandbox{color:#9a6a12}
@media(max-width:560px){
  .topbar .pill{display:none}
  .who .chev{display:none}
  .who{padding-left:0}
  .topbar .spacer{flex:1}
}

.side-foot{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:10px;border-top:1px solid var(--glass-brd)}
.side-foot>a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--red);text-decoration:none;font-size:13.5px;font-weight:500;cursor:pointer}
.side-foot>a svg{width:18px;height:18px}
.side-foot>a:hover{background:var(--red-bg)}
.side-foot .themebar{margin-top:8px}

/* ---- Webhook setup / integration guide ---- */
.whnote{font-size:11.8px;line-height:1.55;color:var(--ink-faint);margin:8px 0 0}
.whnote svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px}
.whnote.warn{color:var(--amber)}
.whnote b{color:var(--ink-dim)}
.whblock{margin-top:12px}
.whdetails{margin-top:14px;border-top:1px solid var(--glass-brd);padding-top:12px}
.whdetails>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-dim);list-style:none;display:flex;align-items:center;gap:8px}
.whdetails>summary::-webkit-details-marker{display:none}
.whdetails>summary svg{width:15px;height:15px}
.whlabel{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:20px 0 8px}
pre.code{margin:0 0 10px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--glass-brd);color:var(--ink);font-family:var(--num);font-size:12px;line-height:1.55;overflow-x:auto;white-space:pre}
.whresult{margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-brd)}
.whresult-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.whsteps{margin:0 0 10px;padding-left:20px;font-size:12.8px;line-height:1.7;color:var(--ink-dim)}
.whtabs{display:flex;gap:8px;margin-bottom:10px}
.whtabs .ghost.active{background:var(--glass-3);border-color:var(--acid)}
[data-pane][hidden]{display:none}
.whwarn{margin:0 0 18px}

/* ---- Merchant API documentation ---- */
.intdocs-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:start;margin-top:18px}
.intdocs-content{display:flex;flex-direction:column;gap:14px;min-width:0}
.intdocs-section{scroll-margin-top:18px}
.intdocs-section>h3{font-size:17px;margin:6px 0 12px;display:flex;align-items:center;gap:9px}
.intdocs-section>h3 svg{width:19px;height:19px;color:var(--acid);flex:none}
.intdocs-section>p{font-size:13px;line-height:1.65;color:var(--ink-dim);margin:0 0 12px}
.intdocs-section code,.intdocs-callout code{font-family:var(--num);font-size:.92em;color:var(--acid)}
.intdocs-step{font-size:10px;letter-spacing:1.3px;color:var(--acid);font-weight:700}
.intdocs-steps{margin:0 0 12px;padding-left:22px;color:var(--ink-dim);font-size:13px;line-height:1.75}
.intdocs-steps li{padding-left:3px;margin:3px 0}
.intdocs-steps b{color:var(--ink)}
.intdocs-callout{display:flex;flex-direction:row;align-items:flex-start;gap:13px;background:var(--acid-soft)}
.intdocs-callout-icon{color:var(--acid);flex:none}
.intdocs-callout-icon svg{width:21px;height:21px}
.intdocs-callout b{font-size:13.5px}
.intdocs-callout p{font-size:12.5px;line-height:1.6;color:var(--ink-dim);margin:5px 0 0}
.intdocs-endpoint{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--glass-brd);border-radius:10px;margin:12px 0}
.intdocs-endpoint code{font-family:var(--num);font-size:12px}
.intdocs-endpoint>span:last-child{margin-left:auto;color:var(--ink-faint);font-size:11px}
.intdocs-method{font-size:10px;font-weight:700;color:var(--green);letter-spacing:.5px}
.intdocs-codehead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 6px}
.intdocs-codehead>span{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-faint);font-weight:600}
.intdocs-section pre.code{margin-bottom:12px}
.intdocs-details{margin:12px 0;border-top:1px solid var(--glass-brd);padding-top:12px}
.intdocs-details>summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-dim);list-style:none}
.intdocs-details>summary::-webkit-details-marker{display:none}
.intdocs-details[open]>summary{margin-bottom:10px}
.intdocs-table{margin:12px 0 8px}
.intdocs-table th{white-space:normal}
.intdocs-table td{font-size:12px;line-height:1.55}
.intdocs-table td:first-child{white-space:nowrap}
.intdocs-statuses{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}
.intdocs-statuses>div{padding:12px;border:1px solid var(--glass-brd);background:var(--glass-2);border-radius:12px}
.intdocs-statuses p{font-size:11px;line-height:1.5;color:var(--ink-faint);margin:8px 0 0}
.intdocs-checklist{list-style:none;padding:0;margin:0}
.intdocs-checklist li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--glass-brd);font-size:12.5px;line-height:1.6;color:var(--ink-dim)}
.intdocs-checklist li:last-child{border-bottom:0}
.intdocs-checklist svg{width:15px;height:15px;flex:none;margin-top:3px;color:var(--green)}
.intdocs-toc{position:sticky;top:18px;padding:14px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-brd);display:flex;flex-direction:column;gap:3px}
.intdocs-toc-title{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;gap:8px;padding:0 8px 8px;color:var(--ink-faint)}
.intdocs-toc-title svg{width:14px;height:14px}
.intdocs-toc>a{font-size:11.5px;line-height:1.4;padding:7px 8px;border-radius:8px;color:var(--ink-dim);text-decoration:none}
.intdocs-toc>a:hover{background:var(--glass-2);color:var(--ink)}
.intdocs-toc>a.intdocs-settings-link{display:flex;align-items:center;gap:7px;border-top:1px solid var(--glass-brd);margin-top:7px;padding-top:12px;color:var(--acid)}
.intdocs-toc>a.intdocs-settings-link svg{width:14px;height:14px}
@media(max-width:1050px){.intdocs-layout{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:860px){.intdocs-layout{grid-template-columns:1fr}.intdocs-toc{position:static;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.intdocs-toc-title{grid-column:1/-1}.intdocs-toc>a.intdocs-settings-link{border-top:0;margin-top:0;padding-top:7px}}
@media(max-width:560px){.intdocs-statuses{grid-template-columns:1fr}.intdocs-section{padding:17px}.intdocs-table td:first-child{white-space:normal}}

/* setup checklist */
.setup{margin-bottom:18px}
.setup .setup-actions{display:flex;align-items:center;gap:10px}
.setup .setup-progress-summary{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.setup .setup-progress-summary strong{font-size:13px;color:var(--ink);font-weight:700}
.setup .setup-progress-summary span{font-size:11px;color:var(--ink-faint)}
.setup .setup-toggle{width:30px;height:30px;border:1px solid var(--glass-brd);border-radius:9px;background:var(--glass-2);color:var(--ink-dim);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}
.setup .setup-toggle:hover{background:var(--glass-3);color:var(--ink)}
.setup #setup-content[hidden]{display:none}
.setup .prog{height:6px;border-radius:6px;background:var(--glass-3);overflow:hidden;margin:4px 0 14px}
.setup .prog i{display:block;height:100%;background:var(--acid);border-radius:6px}
.setup ol{list-style:none;margin:0;padding:0}
.setup li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line, rgba(255,255,255,.06))}
.setup li:first-child{border-top:0}
.setup .dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-faint);display:grid;place-items:center;font-size:11px;color:var(--ink-faint);margin-top:1px}
.setup li.done .dot{background:var(--green-bg);border-color:var(--green);color:var(--green)}
.setup li.next .dot{border-color:var(--acid);color:var(--acid)}
.setup .ttl{font-weight:600;font-size:13.5px}
.setup li.done .ttl{color:var(--ink-dim);font-weight:500}
.setup .why{font-size:12.3px;color:var(--ink-dim);margin-top:2px;line-height:1.5}
.setup li.done .why{display:none}
.setup .go{margin-left:auto;flex:none;align-self:center}
@media(max-width:560px){.setup .hd{align-items:flex-start}.setup .setup-actions{gap:6px}.setup .setup-progress-summary strong{font-size:11.5px}.setup .setup-progress-summary span{font-size:10px}.setup .setup-toggle{flex:none}}
.defprov{margin-bottom:18px}
.defprov .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.defprov select.inp{max-width:260px}

/* ---- Payment Reader card (Gateways): always open, status chip + notice live inside the card ---- */
.rd-state{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;font-size:12px;font-weight:600;background:var(--glass-2);border:1px solid var(--glass-brd);color:var(--ink-dim)}
.rd-state i{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}
.rd-state.on{background:var(--green-bg);color:var(--green);border-color:transparent}.rd-state.on i{background:var(--green);box-shadow:0 0 0 4px var(--green-bg)}
.rd-state.warn{background:var(--amber-bg);color:var(--amber);border-color:transparent}.rd-state.warn i{background:var(--amber)}
.rd-state.off{background:var(--red-bg);color:var(--red);border-color:transparent}.rd-state.off i{background:var(--red)}
.rd-notice{display:flex;gap:14px;align-items:flex-start;padding:15px 16px;border-radius:var(--radius-sm);background:var(--amber-bg);border:1px solid rgba(244,195,107,.28);margin:2px 0 14px}
.rd-notice-ic{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(244,195,107,.2);color:var(--amber)}
.rd-notice-ic svg{width:18px;height:18px}
.rd-notice-body{display:flex;flex-direction:column;gap:3px;font-size:13px;line-height:1.5;color:var(--ink-dim)}
.rd-notice-body b{color:var(--ink);font-size:14px}
.rd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.rd-auto{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:13px 16px;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-brd);cursor:pointer}
.rd-auto span:first-child{display:flex;flex-direction:column;gap:2px;font-size:13px}
.rd-auto small{color:var(--ink-faint);font-size:12px}
.rd-switch{position:relative;width:46px;height:26px;flex:none}
.rd-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.rd-switch i{position:absolute;inset:0;border-radius:20px;background:var(--stage);border:1px solid var(--glass-brd);transition:background .2s}
.rd-switch i::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--ink-faint);transition:transform .2s,background .2s}
.rd-switch input:checked + i{background:var(--green-bg);border-color:var(--green)}
.rd-switch input:checked + i::after{transform:translateX(20px);background:var(--green)}

/* ---- admin site additions (same tokens as the user site) ---- */
.qrng{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:560px}
.qrng button{padding:11px;border-radius:11px;border:1px solid var(--glass-brd);background:var(--glass-2);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--sans)}
.qrng button.on{background:linear-gradient(120deg,var(--acid),#d7dd33);color:#191b1f;border-color:transparent}
@media(max-width:560px){.qrng{grid-template-columns:1fr 1fr}}
.admin-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;background:var(--acid-soft);color:var(--acid);margin-top:8px}
.rowact{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.subtle{color:var(--ink-faint);font-size:12px}
