
:root,html[data-theme="light"]{
  --bg:#f1f5f9;--bg2:#ffffff;--bg3:#ffffff;--bg4:#f8fafc;
  --p:#0d9488;--p2:#14b8a6;--p3:#0f766e;
  --g:#059669;--r:#e11d48;--y:#d97706;--b:#0d9488;
  --txt:#0f172a;--sub:#64748b;--bdr:rgba(13,148,136,0.28);
  --card:#ffffff;
  --nav-bg:#ffffff;
  --surf:rgba(15,23,42,0.04);--surf2:rgba(15,23,42,0.07);
  --hair:rgba(15,23,42,0.08);--glow:rgba(13,148,136,0.08);
  --input-bg:#ffffff;
  --ov-bg:rgba(15,23,42,0.45);
}
html[data-theme="dark"]{
  --bg:#022c22;--bg2:#064e3b;--bg3:#0a3d30;--bg4:#0f5c4a;
  --p:#0d9488;--p2:#14b8a6;--p3:#5eead4;
  --g:#00e5a0;--r:#ff4d6d;--y:#ffc93c;--b:#14b8a6;
  --txt:#ecfdf5;--sub:#a7c4b5;--bdr:rgba(45,212,191,0.28);
  --card:rgba(6,78,59,0.45);
  --nav-bg:#ffffff; /* keep white top bar even in dark */
  --surf:rgba(16,185,129,0.08);--surf2:rgba(16,185,129,0.14);
  --hair:rgba(94,234,212,0.12);--glow:rgba(20,184,166,0.35);
  --input-bg:rgba(6,78,59,0.55);
  --ov-bg:rgba(2,44,34,0.82);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--txt);font-family:'Space Grotesk','Noto Sans SC',sans-serif;min-height:100vh;overflow-x:hidden;}
html[data-theme="dark"] body{
  background:
    radial-gradient(ellipse 90% 55% at 50% -15%, rgba(16,185,129,0.45), transparent 55%),
    linear-gradient(165deg, #064e3b 0%, #065f46 38%, #022c22 72%, #011914 100%);
  background-attachment:fixed;
}
html[data-theme="dark"] body:not(.on-home) #page-shop,
html[data-theme="dark"] body:not(.on-home) #page-dash,
html[data-theme="dark"] body:not(.on-home) #page-admin{
  background:transparent;
}
.page,.wrap,nav{position:relative;z-index:300;}
html[data-theme="dark"] .shop-side,
html[data-theme="dark"] #page-shop .agrid,
html[data-theme="dark"] .shop-search-wrap .sbox,
html[data-theme="dark"] .arow{
  background:rgba(6,78,59,0.42);
}
html[data-theme="dark"] .shop-tips{
  background:rgba(6,78,59,0.55);
  border-color:rgba(45,212,191,0.3);
}

body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 85% 55% at 50% -10%,rgba(52,211,153,0.28),transparent 60%);pointer-events:none;z-index:0;}
html[data-theme="light"] body::before{background:radial-gradient(ellipse 80% 40% at 50% -8%,rgba(13,148,136,0.06),transparent 55%);}
.mono{font-family:monospace;}
.page{display:none;position:relative;z-index:1;min-height:100vh;}
.page.on{display:block;}

/* NAV — white top bar site-wide (green+white) */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:58px;
  display:flex;align-items:center;justify-content:space-between;padding:0 2rem;
  background:#ffffff;backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(13,148,136,0.14);
  box-shadow:0 1px 0 rgba(15,23,42,0.03);}
.logo{font-size:1.65rem;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:10px;color:#0f172a;font-family:"Montserrat",system-ui,-apple-system,sans-serif;letter-spacing:-0.02em;}
.logo-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;padding:0;flex-shrink:0;}
.logo-icon img{width:100%;height:100%;display:block;object-fit:cover;}
.logo .logo-sms{color:#005850;font-weight:800;}
.logo .logo-duo{color:#00A890;font-weight:800;}
.logo span{color:#00A890;}
.nl-wrap{display:flex;gap:2px;}
.nl{background:transparent;border:none;color:#64748b;font-family:'Space Grotesk',sans-serif;font-size:0.88rem;cursor:pointer;padding:6px 14px;border-radius:8px;transition:all 0.18s;}
.nl:hover{color:#0f172a;background:rgba(13,148,136,0.1);}
.nl.on{color:#fff;background:#0d9488;}
a.nl{display:inline-block;text-decoration:none;line-height:normal;}a.nl:hover{text-decoration:none;}.mob-menu a.nl{display:block;}
.nav-r{display:flex;align-items:center;gap:0.6rem;}
.bal-pill{display:none;align-items:center;gap:6px;font-size:0.8rem;font-weight:600;
  background:rgba(0,229,160,0.1);color:var(--g);border:1px solid rgba(0,229,160,0.25);
  padding:5px 12px;border-radius:999px;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  font-family:'Space Grotesk',sans-serif;font-weight:600;border:none;transition:all 0.18s;white-space:nowrap;}
.btn-xs{font-size:0.75rem;padding:4px 10px;border-radius:6px;}
.btn-sm{font-size:0.82rem;padding:6px 14px;border-radius:8px;}
.btn-md{font-size:0.9rem;padding:10px 22px;border-radius:10px;}
/* t18b I2: waiting-popup button row wraps instead of overflowing at 360/390px */
.sms-btn-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.5rem}
.sms-btn-row>.btn{flex:1 1 0;min-width:0;white-space:normal;text-align:center;padding-left:10px;padding-right:10px}
@media (max-width:480px){.sms-btn-row>.btn{flex:1 1 calc(50% - 0.25rem)}}
.btn-lg{font-size:1rem;padding:13px 30px;border-radius:12px;}
.btn-p{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;}
.btn-p:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(13,148,136,0.4);}
.btn-ghost{background:transparent;color:var(--txt);border:1px solid var(--bdr);}
.btn-ghost:hover{border-color:var(--p2);background:rgba(13,148,136,0.08);}
.btn-g{background:rgba(0,229,160,0.12);color:var(--g);border:1px solid rgba(0,229,160,0.25);}
.btn-g:hover{background:rgba(0,229,160,0.22);}
.btn-r{background:rgba(255,77,109,0.12);color:var(--r);border:1px solid rgba(255,77,109,0.25);}
.btn-r:hover{background:rgba(255,77,109,0.22);}
.btn-y{background:rgba(255,201,60,0.12);color:var(--y);border:1px solid rgba(255,201,60,0.25);}
.btn:disabled{opacity:0.45;cursor:not-allowed;transform:none !important;}

/* HERO */
.hero{padding:58px 2rem 0;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(13,148,136,0.12);border:1px solid var(--bdr);padding:6px 16px;border-radius:999px;font-size:0.78rem;color:var(--p3);margin-bottom:1.75rem;animation:up 0.6s ease both;}
.hero-badge-n{color:#0d9488;font-weight:700;}
body.on-home .hero-land .hero-badge-n{color:#34d399;}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--g);animation:glow 2s infinite;}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(0,229,160,0.5)}50%{box-shadow:0 0 0 8px rgba(0,229,160,0)}}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.hero h1{font-size:clamp(2.8rem,6vw,5.2rem);font-weight:700;line-height:1.05;animation:up 0.7s 0.1s ease both;max-width:820px;width:100%;}
.hero h1 .gr{background:linear-gradient(135deg,#5eead4,#0d9488,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.hero-tag{display:inline-block;margin-left:0.55rem;vertical-align:middle;font-size:0.42em;font-weight:600;letter-spacing:0.02em;line-height:1.25;padding:0.28em 0.65em;border-radius:999px;color:rgba(255,255,255,0.95);background:rgba(45,212,191,0.22);border:1px solid rgba(45,212,191,0.45);white-space:nowrap;}
.hero p{margin-top:1.25rem;font-size:1.05rem;color:var(--sub);max-width:460px;width:100%;line-height:1.75;animation:up 0.7s 0.2s ease both;}
.hero p b{color:var(--txt);font-weight:500;}
.hbtns{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap;justify-content:center;animation:up 0.7s 0.3s ease both;}
.hstats{display:flex;gap:3rem;margin-top:4rem;animation:up 0.7s 0.4s ease both;flex-wrap:wrap;justify-content:center;}
.hs{text-align:center;}
.hs-n{font-size:2rem;font-weight:700;}
.hs-n em{color:var(--p3);font-style:normal;}
.hs-l{font-size:0.78rem;color:var(--sub);margin-top:2px;}
.flags-row{display:flex;gap:1rem;margin-top:3rem;flex-wrap:wrap;justify-content:center;animation:up 0.7s 0.5s ease both;}
.flag-chip{background:var(--bg3);border:1px solid var(--bdr);border-radius:999px;padding:6px 16px;font-size:0.85rem;display:flex;align-items:center;gap:6px;}
/* home sections */
.home-sec{padding:5rem 0;border-top:1px solid var(--bdr);}
.home-sec .eye{text-align:center;margin-bottom:0.5rem;}
.home-sec .sec-ttl{text-align:center;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;margin-bottom:0.5rem;}
.home-sec .sec-sub{text-align:center;color:var(--sub);font-size:0.98rem;max-width:520px;margin:0 auto 3rem;}
/* extend banner */
.ext-banner{background:linear-gradient(135deg,rgba(13,148,136,0.12),rgba(52,211,153,0.08));border:1px solid rgba(13,148,136,0.25);border-radius:20px;padding:3rem 2.5rem;display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;}
.ext-icon{font-size:4rem;flex-shrink:0;line-height:1;}
.ext-banner h2{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;margin-bottom:0.75rem;background:linear-gradient(135deg,#5eead4,#0d9488,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.ext-banner p{color:var(--sub);font-size:0.98rem;line-height:1.7;max-width:520px;margin-bottom:1.25rem;}
/* how it works */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.step{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:1.75rem 1.5rem;position:relative;transition:border-color 0.2s;}
.step:hover{border-color:rgba(13,148,136,0.4);}
.step.hl{border-color:rgba(13,148,136,0.5);background:linear-gradient(135deg,rgba(13,148,136,0.08),rgba(52,211,153,0.04));}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--bg4);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:700;color:var(--p3);margin-bottom:1rem;}
.step.hl .step-num{background:rgba(13,148,136,0.2);border-color:rgba(13,148,136,0.4);}
.step-icon{font-size:1.8rem;margin-bottom:0.75rem;}
.step h3{font-size:0.92rem;font-weight:700;margin-bottom:0.4rem;}
.step p{font-size:0.8rem;color:var(--sub);line-height:1.6;}
.step .hl-badge{position:absolute;top:1rem;right:1rem;font-size:0.65rem;padding:2px 8px;border-radius:999px;background:rgba(13,148,136,0.2);color:var(--p3);font-weight:700;border:1px solid rgba(13,148,136,0.3);}
/* features grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.feat{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:1.5rem;transition:border-color 0.2s,transform 0.2s;}
.feat:hover{border-color:rgba(13,148,136,0.35);transform:translateY(-2px);}
.feat-ico{font-size:1.75rem;margin-bottom:0.75rem;}
.feat h3{font-size:0.9rem;font-weight:700;margin-bottom:0.35rem;}
.feat p{font-size:0.78rem;color:var(--sub);line-height:1.6;}


/* ── Landing (SaaS home) ── */
.theme-tog{width:34px;height:34px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0.95rem;transition:all 0.18s;}
.theme-tog:hover{color:#0f172a;border-color:#0d9488;background:rgba(13,148,136,0.08);}
.nl-wrap .nl{font-size:0.84rem;padding:6px 10px;}
.hero-land{padding:88px 2rem 2.5rem;min-height:auto;display:block;text-align:left;}
.hero-grid{max-width:1120px;margin:1.25rem auto 0;display:grid;grid-template-columns:1.15fr 0.85fr;gap:2.5rem;align-items:center;}
.hero-left{animation:up 0.6s ease both;}
.hero-land .hero-badge{margin-bottom:1.25rem;}
.hero-land h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700;line-height:1.12;max-width:560px;animation:up 0.7s 0.05s ease both;}
html[lang="en"] .hero-land h1{text-wrap:balance;}   /* t55: EN hero "Receive SMS / Verification Codes" breaks evenly, no orphan word */
@media(max-width:560px){html[lang="en"] .hero-land h1{font-size:1.95rem;}}   /* t55: keeps "with Virtual Numbers" on one line on phones */
.hero-land h1 .gr{background:linear-gradient(135deg,#5eead4,#0d9488,#2dd4bf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.hero-land .hero-desc{margin-top:1.35rem;font-size:1.02rem;color:var(--sub);max-width:480px;line-height:1.75;animation:up 0.7s 0.12s ease both;}
.hero-land .hero-desc b{color:var(--txt);font-weight:500;}
.hero-land .hbtns{justify-content:flex-start;margin-top:2rem;animation:up 0.7s 0.18s ease both;}
.hero-stats{display:flex;flex-wrap:wrap;gap:14px 32px;margin-top:30px;animation:up 0.7s 0.24s ease both;}
.hero-countries{display:flex;flex-wrap:wrap;gap:8px;margin-top:calc(20px * var(--hs,1));animation:up 0.7s 0.21s ease both;max-width:100%;}
.hc-pill{display:inline-flex;align-items:center;gap:7px;padding:calc(4px * var(--hs,1)) calc(12px * var(--hs,1)) calc(4px * var(--hs,1)) calc(5px * var(--hs,1));border-radius:999px;background:rgba(0,0,0,0.22);border:1px solid rgba(255,255,255,0.16);color:#ecfdf5;font-size:calc(0.82rem * var(--hs,1));line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s;}
.hc-pill:hover{background:rgba(0,0,0,0.34);border-color:#5eead4;color:#fff;}
.hc-flag{display:inline-block;flex:0 0 auto;width:calc(20px * var(--hs,1));height:calc(20px * var(--hs,1));border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,0.28);}
.hc-flag svg{display:block;width:100%;height:100%;}
@media(max-width:560px){.hero-countries{gap:6px;}.hc-pill{font-size:0.78rem;}}
.hs-card{display:inline-flex;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;border:0;box-shadow:none;}
.hs-ico{flex:0 0 34px;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;}
.hs-ico svg{width:18px;height:18px;}
.hs-ico-g{background:rgba(52,211,153,0.16);color:#6ee7b7;}
.hs-ico-b{background:rgba(96,165,250,0.18);color:#93c5fd;}
.hs-ico-t{background:rgba(45,212,191,0.16);color:#5eead4;}
.hs-ico-a{background:rgba(251,191,36,0.16);color:#fbbf24;}
@media(max-width:560px){.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;}}
.hs-txt{min-width:0;}
.hs-lbl{font-size:12px;color:rgba(255,255,255,0.65);line-height:1.3;white-space:nowrap;}
.hs-num{margin-top:1px;font-family:ui-monospace,"JetBrains Mono",SFMono-Regular,Menlo,Consolas,monospace;font-size:19px;font-weight:700;line-height:1.2;color:#ecfdf5;font-variant-numeric:tabular-nums;white-space:nowrap;}
.hero-right{animation:up 0.7s 0.15s ease both;}
.free-card{background:linear-gradient(165deg,rgba(26,37,53,0.95),rgba(13,17,23,0.98));border:1px solid var(--bdr);border-radius:18px;padding:1.35rem 1.4rem 1.25rem;box-shadow:0 20px 50px rgba(0,0,0,0.35),0 0 0 1px rgba(13,148,136,0.08);}
.free-card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.free-card-ttl{font-size:0.95rem;font-weight:700;}
.free-card-sub{font-size:0.72rem;color:var(--sub);margin-top:2px;}
.free-pill{font-size:0.68rem;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(0,229,160,0.12);color:var(--g);border:1px solid rgba(0,229,160,0.25);}
.free-row{display:flex;align-items:center;gap:0.75rem;padding:0.7rem 0.65rem;border-radius:12px;background:var(--surf);border:1px solid var(--hair);margin-bottom:0.5rem;}
.free-flag{font-size:1.35rem;line-height:1;}
.free-meta{flex:1;min-width:0;}
.free-cc{font-size:0.78rem;font-weight:600;color:var(--txt);}
.free-type{font-size:0.68rem;color:var(--sub);}
.free-num{font-family:'JetBrains Mono',monospace;font-size:0.82rem;color:var(--p3);letter-spacing:0.02em;}
.free-card .btn{width:100%;margin-top:0.85rem;border-radius:999px;}
.free-foot{text-align:center;margin-top:0.7rem;font-size:0.78rem;}
.free-foot a{color:var(--p3);cursor:pointer;text-decoration:none;}
.free-foot a:hover{text-decoration:underline;}
.dest-sec{max-width:1120px;margin:2.5rem auto 0;padding:0;}
.dest-ttl{font-size:0.9rem;font-weight:600;color:var(--sub);margin-bottom:0.85rem;}
.dest-row{display:flex;flex-wrap:wrap;gap:0.55rem;}
.dest-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--bdr);border-radius:999px;padding:7px 14px;font-size:0.82rem;color:var(--txt);text-decoration:none;transition:all 0.18s;cursor:pointer;}
.dest-chip:hover{border-color:var(--p2);background:rgba(13,148,136,0.12);color:var(--txt);}
.dest-guide{margin-top:1rem;font-size:0.82rem;}
.dest-guide a{color:var(--p3);text-decoration:none;}
.dest-guide a:hover{text-decoration:underline;}
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:2rem;}
  .hero-land{padding:78px 1.25rem 1.5rem;}
  .hero-stats{max-width:100%;}
}
@media(max-width:768px){
  .theme-tog{display:none;}
}

/* LAYOUT */
.wrap{max-width:1100px;margin:0 auto;padding:0 2rem;}
.eye{font-size:0.7rem;color:var(--p3);text-transform:uppercase;letter-spacing:0.14em;font-weight:700;margin-bottom:6px;}
.ttl{font-size:1.9rem;font-weight:700;margin-bottom:0.25rem;}
.sub-txt{color:var(--sub);font-size:0.95rem;line-height:1.6;}

/* CARDS */
.card{background:var(--card);border:1px solid var(--bdr);border-radius:16px;}
.card-p{padding:1.5rem;}

/* SHOP */
.chips{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem;row-gap:0.5rem;}
.chip{padding:5px 16px;border-radius:999px;border:1px solid var(--bdr);background:transparent;color:var(--sub);font-family:'Space Grotesk',sans-serif;font-size:0.82rem;cursor:pointer;transition:all 0.18s;}
.chip.on,.chip:hover{background:rgba(13,148,136,0.15);color:var(--txt);border-color:var(--p2);}
.sbox{background:var(--input-bg);border:1px solid var(--bdr);border-radius:8px;padding:7px 14px;color:var(--txt);font-family:'Space Grotesk',sans-serif;font-size:0.85rem;outline:none;margin-left:auto;min-width:200px;transition:border-color 0.18s;}
.sbox:focus{border-color:var(--p2);}
.sbox::placeholder{color:var(--sub);}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:1rem;}
.acard{background:var(--card);border:1px solid var(--bdr);border-radius:16px;padding:1.25rem;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden;}
.acard::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--p),var(--p3));opacity:0;transition:opacity 0.2s;}
.acard:hover{border-color:var(--p2);transform:translateY(-2px);}
.acard:hover::after{opacity:1;}
.acard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.acard-info{display:flex;align-items:center;gap:10px;}
.aflag{font-size:1.6rem;}
.aname{font-size:0.95rem;font-weight:600;}
.acountry{font-size:0.72rem;color:var(--sub);}
.stock-badge{padding:3px 10px;border-radius:999px;font-size:0.7rem;background:rgba(0,229,160,0.1);color:var(--g);border:1px solid rgba(0,229,160,0.2);}
.stock-badge.lo{background:rgba(255,201,60,0.1);color:var(--y);border-color:rgba(255,201,60,0.2);}
.acard-meta{display:flex;gap:0.75rem;font-size:0.75rem;color:var(--sub);margin-bottom:1rem;}
.acard-bot{display:flex;align-items:center;justify-content:space-between;}
.aprice{font-size:1.3rem;font-weight:700;}
.aprice sub{font-size:0.75rem;font-weight:400;color:var(--sub);}
.fav-btn{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1;transition:transform 0.18s;}
.fav-btn:hover{transform:scale(1.2);}

/* Shop layout — left filter / right list */
.shop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem;}
.shop-head .ttl{font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;letter-spacing:-0.02em;}

.shop-tips{width:100%;margin:0;border:1px solid var(--bdr);border-radius:12px;background:rgba(13,148,136,0.06);overflow:hidden;}
.shop-tips-side{order:0;margin-top:0.25rem;}
.shop-side .shop-tips{margin-bottom:0.15rem;}
.shop-tips-sum{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.65rem 0.75rem;cursor:pointer;user-select:none;list-style:none;}
.shop-tips-sum::-webkit-details-marker{display:none;}
.shop-tips-sum::marker{content:'';}
.shop-tips-sum span{font-size:0.78rem;color:var(--sub);line-height:1.4;}
.shop-tips-sum b{color:var(--p3);font-weight:600;margin-right:0;}
.shop-tips-tog{font-size:0.72rem;color:var(--p3);white-space:nowrap;flex-shrink:0;}
.shop-tips[open] .shop-tips-tog{opacity:0.75;}
.shop-tips-body{padding:0 0.75rem 0.85rem;font-size:0.72rem;color:var(--sub);line-height:1.55;}
.shop-tips-body ol{margin:0;padding-left:1.05rem;}
.shop-tips-body li{margin:0.45rem 0;}
.shop-tips-body li b{display:block;color:var(--p3);font-weight:600;margin-bottom:0.15rem;font-size:0.74rem;}
.shop-tips-foot{margin:0.55rem 0 0;padding-top:0.45rem;border-top:1px solid var(--bdr);font-size:0.68rem;opacity:0.9;}

.shop-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:1.75rem;align-items:start;}
.shop-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:1.35rem;padding:1.1rem 1rem;background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;box-shadow:0 1px 0 var(--hair);}
.shop-side .eye{margin-bottom:0.55rem;}
.shop-side .chips{margin-bottom:0;gap:0.4rem;}
.shop-side .chip{padding:5px 12px;font-size:0.78rem;width:100%;text-align:left;border-radius:10px;}
.shop-side .chip.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-color:transparent;}
.shop-side-fav{width:100%;}
.shop-side-fav.chip{/* t37: height/padding follow .shop-side .chip / card-type chips */}
.shop-main{min-width:0;}
.shop-search-wrap{margin-bottom:0.85rem;}
.shop-search-wrap .sbox{width:100%;margin:0;min-width:0;padding:12px 16px;border-radius:12px;font-size:0.92rem;background:var(--input-bg);}
.shop-count{font-size:0.78rem;color:var(--sub);margin-bottom:0.85rem;}

.shop-reuse-note{margin:0.85rem 0 1.15rem;padding:0.85rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--p) 28%,var(--bdr));background:color-mix(in srgb,var(--p) 10%,var(--card));color:var(--txt);font-size:0.92rem;line-height:1.55;display:flex;gap:0.65rem;align-items:flex-start;}
.shop-reuse-note .ico{flex-shrink:0;font-size:1.05rem;line-height:1.4;}
.shop-reuse-note a{color:var(--p3);font-weight:700;text-decoration:underline;cursor:pointer;}

#page-shop .agrid{display:flex;flex-direction:column;gap:0;border:1px solid var(--bdr);border-radius:14px;overflow:hidden;background:var(--card);}
#page-shop .agrid > .cmsg{padding:2.5rem 1rem;text-align:center;}
.arow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,0.7fr) 88px 110px auto;align-items:center;gap:0.75rem 1rem;padding:0.95rem 1.15rem;border-bottom:1px solid rgba(13,148,136,0.1);cursor:pointer;transition:background 0.15s;}
.arow:last-child{border-bottom:none;}
.arow:hover{background:rgba(13,148,136,0.06);}
.arow-left{display:flex;align-items:center;gap:0.75rem;min-width:0;}
.arow-ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.95rem;color:#fff;flex-shrink:0;letter-spacing:-0.02em;}
.arow-ico-img{padding:0;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);}
.arow-ico-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}
[data-theme="dark"] .arow-ico-img{background:#1e293b;border-color:rgba(255,255,255,.08);}

.arow-name{font-size:0.95rem;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arow-sub{font-size:0.72rem;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arow-hint{font-size:0.74rem;font-weight:500;color:#d97706;line-height:1.4;margin-top:2px;white-space:normal;overflow-wrap:anywhere;} /* t23: display-only product hint */
.arow-meta{font-size:0.78rem;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arow-stock{display:inline-flex;align-items:center;gap:6px;font-size:0.78rem;white-space:nowrap;}
.arow-stock .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.arow-stock.ok{color:var(--g);} .arow-stock.ok .dot{background:var(--g);box-shadow:0 0 0 3px rgba(0,229,160,0.15);}
.arow-stock.lo{color:var(--y);} .arow-stock.lo .dot{background:var(--y);box-shadow:0 0 0 3px rgba(255,201,60,0.15);}
.arow-stock.out{color:var(--r);} .arow-stock.out .dot{background:var(--r);box-shadow:0 0 0 3px rgba(255,77,109,0.15);}
.arow-price{font-size:1.05rem;font-weight:700;text-align:right;white-space:nowrap;}
.arow-price sub{font-size:0.68rem;font-weight:400;color:var(--sub);margin-left:2px;}
.arow-acts{display:flex;align-items:center;justify-content:flex-end;gap:0.35rem;}
.arow-acts .btn{padding:7px 16px;border-radius:10px;font-size:0.82rem;}
#page-shop .pg-bar{justify-content:flex-end;flex-wrap:wrap;gap:0.45rem;margin-top:1.15rem;padding:0;}
#server-tabs-wrap.shop-server{margin-bottom:1rem;}
@media(max-width:960px){
  .shop-layout{grid-template-columns:minmax(0,1fr);gap:1.1rem;} /* mobile-overflow fix: 1fr=minmax(auto,1fr) let min-content (EN tips/chips) widen page */
  .shop-side{position:static;padding:1rem;}
  .shop-side .chip{width:auto;}
  .shop-side .chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .shop-side .chips::-webkit-scrollbar{display:none;}
  .arow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left acts" "meta price";gap:0.45rem 0.75rem;padding:0.85rem 1rem;}
  .arow-left{grid-area:left;}
  .arow-meta{grid-area:meta;}
  .arow-stock{display:none;}
  .arow-price{grid-area:price;text-align:left;font-size:0.98rem;}
  .arow-acts{grid-area:acts;}
}

/* DASHBOARD */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:2rem;}
.kpi{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:1.25rem;}
.kpi-l{font-size:0.72rem;color:var(--sub);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px;}
.kpi-v{font-size:1.75rem;font-weight:700;}
.kpi-v.g{color:var(--g);}
.kpi-v.p{color:var(--p3);}
.kpi-v.y{color:var(--y);}
.kpi-sub{font-size:0.72rem;color:var(--sub);margin-top:3px;}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
@media(max-width:768px){.dash-grid{grid-template-columns:1fr;}}
.dcard{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:1.5rem;}
.dcard-ttl{font-size:0.95rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;}

/* INNER DASHBOARD LAYOUT */
.dash-layout { display: flex; gap: 2rem; align-items: flex-start; margin-top: 1.5rem; }
.dash-sidebar { width: 220px; flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; position: sticky; top: 80px; }
.dash-tab { padding: 14px 1.25rem; border-radius: 12px; background: var(--surf); border: 1px solid var(--bdr); color: var(--sub); cursor: pointer; text-align: left; font-size: 0.92rem; transition: all 0.2s; font-family: inherit; font-weight: 500; }
.dash-tab:hover { background: var(--surf2); color: var(--txt); }
.dash-tab.on { background: rgba(13,148,136,0.12); border-color: var(--p3); color: var(--txt); box-shadow: 0 4px 12px rgba(13,148,136,0.1); }
.dash-tab i { font-style: normal; margin-right: 10px; font-size: 1.1rem; }
.dash-tab i.chevron { margin-left: auto; font-size: 0.8rem; transition: transform 0.3s; margin-right: 0; }
.dash-tab.open i.chevron { transform: rotate(90deg); }
.dash-sub { display: none; flex-direction: column; gap: 4px; padding-left: 1rem; margin-top: 4px; animation: slideDown 0.3s ease both; }
.dash-sub.on { display: flex; }
@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.dash-content { flex: 1; min-width: 0; }
.dash-section { display: none; animation: fade 0.3s ease both; }
.dash-section.on { display: block; }

@media (max-width: 900px) {
  .dash-layout { flex-direction: column; }
  .dash-sidebar { width: 100%; position: static; flex-direction: row; overflow-x: auto; padding-bottom: 10px; scrollbar-width: none; }
  .dash-sidebar::-webkit-scrollbar { display: none; }
  .dash-tab { white-space: nowrap; padding: 10px 1rem; font-size: 0.85rem; }
}



/* NUMBER ITEM CARD */
.nitem{background:var(--bg4);border:1px solid var(--bdr);border-radius:12px;padding:1rem;margin-bottom:0.75rem;}
.nitem-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.75rem;}
.nitem-tel{font-family:monospace;font-size:0.95rem;font-weight:500;}
.timer{font-size:0.78rem;font-weight:600;padding:3px 10px;border-radius:6px;font-family:monospace;}
.timer.ok{background:rgba(0,229,160,0.1);color:var(--g);border:1px solid rgba(0,229,160,0.2);}
.timer.warn{background:rgba(255,201,60,0.1);color:var(--y);border:1px solid rgba(255,201,60,0.2);}
.timer.exp{background:rgba(255,77,109,0.1);color:var(--r);border:1px solid rgba(255,77,109,0.2);}
.nitem-actions{display:flex;gap:0.5rem;flex-wrap:wrap;}
/* t20: renewal prices modal + renew confirm */
.rnp-modal{max-width:760px;width:calc(100vw - 24px);max-height:88vh;overflow-y:auto;}
.rnp-lead{font-size:0.82rem;color:var(--sub);line-height:1.6;margin:0.25rem 0 1rem;}
.rnp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;}
.rnp-card{border:1px solid var(--bdr);border-radius:12px;padding:0.85rem 0.9rem;background:var(--bg2);}
.rnp-card h4{margin:0 0 0.35rem;font-size:0.92rem;color:var(--txt);}
.rnp-price{font-weight:800;color:var(--p3);font-size:1rem;margin-bottom:0.35rem;}
.rnp-card p{margin:0;font-size:0.78rem;line-height:1.55;color:var(--sub);}
.rnp-warn{color:var(--r)!important;margin-top:0.35rem!important;}
.rnp-card.rnp-off .rnp-price{color:var(--sub);}
.rnp-sub{font-size:0.9rem;font-weight:700;margin:1.1rem 0 0.6rem;}
.rnp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;}
.rnp-step{border:1px solid var(--bdr);border-radius:12px;padding:0.75rem 0.85rem;font-size:0.8rem;line-height:1.55;color:var(--sub);}
.rnp-step b{display:block;color:var(--p3);font-size:1rem;margin-bottom:0.2rem;}
.rnp-foot{font-size:0.76rem;color:var(--sub);margin-top:0.9rem;line-height:1.55;}
.rn-rows{display:grid;grid-template-columns:auto 1fr;gap:0.45rem 0.9rem;font-size:0.86rem;margin:0.5rem 0 0.9rem;}
.rn-rows span:nth-child(odd){color:var(--sub);}
.rn-rows b{color:var(--txt);}
.rn-msg{font-size:0.85rem;line-height:1.6;margin:0.4rem 0 0.9rem;}
/* t20b: auto-renew switch (renew dialog + number card) */
.ar-row{display:flex;align-items:center;gap:0.55rem;font-size:0.88rem;font-weight:700;color:var(--txt);cursor:pointer;margin:0 0 0.3rem;}
.ar-note{font-size:0.76rem;color:var(--sub);line-height:1.55;margin:0 0 0.9rem;}
.ar-box{border:1px solid var(--bdr);border-radius:10px;padding:0.65rem 0.8rem 0.1rem;margin:0 0 0.9rem;}
.ar-box .ar-note{margin-bottom:0.55rem;}
.ar-sw{display:inline-flex;align-items:center;gap:0.35rem;cursor:pointer;font-size:0.72rem;color:var(--sub);white-space:nowrap;user-select:none;}
.ar-sw input{position:absolute;opacity:0;width:0;height:0;}
.ar-tg{position:relative;width:28px;height:16px;border-radius:9px;background:var(--bdr);transition:background .15s;flex:none;}
.ar-tg::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25);}
.ar-sw input:checked + .ar-tg{background:var(--p3);}
.ar-sw input:checked + .ar-tg::after{left:14px;}
.ar-sw input:checked ~ .ar-lb{color:var(--p3);font-weight:600;}
.ar-sw input:disabled + .ar-tg{opacity:.5;}
.nitem-exp{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;flex-wrap:wrap;font-size:0.72rem;color:var(--sub);margin:4px 0 6px;}
.ar-warn{font-size:0.74rem;color:var(--r);background:rgba(255,77,109,0.07);border-radius:8px;padding:0.35rem 0.55rem;margin:0 0 6px;line-height:1.5;}
.ar-warn a{color:var(--r);font-weight:700;text-decoration:underline;cursor:pointer;}
@media(max-width:768px){ .rnp-grid,.rnp-steps{grid-template-columns:1fr;} }
.sms-preview{background:rgba(13,148,136,0.08);border:1px solid rgba(13,148,136,0.15);border-radius:8px;padding:10px 12px;margin-top:0.75rem;font-size:0.88rem;line-height:1.6;}
.otp-code{font-family:monospace;font-size:1.4rem;font-weight:700;color:var(--p3);letter-spacing:4px;display:block;margin-top:4px;}
.copy-btn{background:transparent;border:none;cursor:pointer;color:var(--sub);font-size:0.8rem;padding:2px 6px;border-radius:4px;transition:all 0.18s;font-family:'Space Grotesk',sans-serif;}
.copy-btn:hover{color:var(--p3);background:rgba(13,148,136,0.1);}
.copy-btn.copied{color:var(--g)!important;background:rgba(0,229,160,0.14)!important;font-weight:700;}

/* TX ROW */
.txrow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--hair);}
.txrow:last-child{border-bottom:none;}
.txamt{font-size:0.95rem;font-weight:600;}
.txamt.cr{color:var(--g);}
.txamt.dr{color:var(--r);}
.txdt{font-size:0.72rem;color:var(--sub);}

/* ADMIN */
.atabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--bdr);overflow-x:auto;}
.atab{background:transparent;border:none;color:var(--sub);font-family:'Space Grotesk',sans-serif;font-size:0.88rem;cursor:pointer;padding:10px 18px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.2s;white-space:nowrap;}
.atab.on{color:var(--txt);border-bottom-color:var(--p2);}
.ap{display:none;}
.ap.on{display:block;}
.pg-bar{display:flex;align-items:center;justify-content:center;gap:1rem;padding:12px 0;font-size:0.82rem;color:var(--sub);}
table{width:100%;border-collapse:collapse;font-size:0.84rem;}
th{text-align:left;padding:10px 14px;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--sub);border-bottom:1px solid var(--bdr);}
td{padding:11px 14px;border-bottom:1px solid var(--hair);vertical-align:middle;}
tr:hover td{background:var(--surf);}
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;}
.tag-ok{background:rgba(0,229,160,0.12);color:var(--g);}
.tag-p{background:rgba(255,201,60,0.12);color:var(--y);}
.tag-f{background:rgba(255,77,109,0.12);color:var(--r);}
.tag-w{background:rgba(255,201,60,0.12);color:var(--y);}
.tag-ex{background:rgba(255,255,255,0.06);color:var(--sub);}
.tag-b{background:rgba(77,166,255,0.12);color:var(--b);}

/* CHART */
.chart-wrap{height:120px;display:flex;align-items:flex-end;gap:6px;padding-top:1rem;}
.bar{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--p),var(--p2));min-height:4px;transition:height 0.5s ease;position:relative;cursor:pointer;}
.bar:hover{opacity:0.85;}
.bar-tip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--bg4);border:1px solid var(--bdr);border-radius:6px;padding:4px 8px;font-size:0.72rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;margin-bottom:4px;}
.bar:hover .bar-tip{opacity:1;}
.chart-labels{display:flex;gap:6px;margin-top:6px;}
.chart-labels span{flex:1;text-align:center;font-size:0.65rem;color:var(--sub);}

/* SETTINGS GRID */
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;}
.scard{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:1.5rem;}
.scard h3{font-size:0.95rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px;}

/* PRICE TABLE ROW HOVER */
#cpr-tbody tr:hover td{background:rgba(13,148,136,0.05);}
#cpr-tbody tr{transition:background 0.15s;}

/* MODALS */
.ov{display:none;position:fixed;inset:0;z-index:10000;background:var(--ov-bg);backdrop-filter:blur(12px);align-items:center;justify-content:center;padding:1rem;}
.ov.show{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--bdr);border-radius:18px;padding:2rem;width:100%;animation:up 0.3s ease;overflow-y:auto;max-height:92vh;}
.msm{max-width:420px;}.mmd{max-width:520px;}.mlg{max-width:700px;}
.mhd{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.5rem;}
.mttl{font-size:1.2rem;font-weight:700;}
.msub{font-size:0.85rem;color:var(--sub);margin-bottom:1.5rem;line-height:1.5;}
.xb{background:none;border:none;color:var(--sub);font-size:1.4rem;cursor:pointer;line-height:1;}
.xb:hover{color:var(--txt);}
.f{display:flex;flex-direction:column;gap:5px;margin-bottom:1rem;}
.f label{font-size:0.78rem;color:var(--sub);font-weight:500;}
.f input,.f select,.f textarea{background:var(--input-bg);border:1px solid var(--bdr);border-radius:8px;padding:10px 14px;color:var(--txt);font-family:'Space Grotesk',sans-serif;font-size:0.92rem;outline:none;transition:border-color 0.18s;width:100%;}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--p2);}
.f select option{background:var(--bg3);}
.f textarea{resize:vertical;min-height:80px;line-height:1.5;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.macts{display:flex;gap:0.75rem;margin-top:1.5rem;}
.macts .btn{flex:1;}
.div{height:1px;background:var(--bdr);margin:1.25rem 0;}
.notice{background:rgba(255,201,60,0.07);border:1px solid rgba(255,201,60,0.2);border-radius:10px;padding:12px 16px;font-size:0.84rem;color:var(--y);margin-bottom:1rem;line-height:1.5;}
.notice.info{background:rgba(13,148,136,0.07);border-color:rgba(13,148,136,0.2);color:var(--p3);}

/* result boxes */
.rb{border-radius:12px;padding:1.25rem;margin-top:1.25rem;}
.rb.ok{background:rgba(0,229,160,0.07);border:1px solid rgba(0,229,160,0.2);}
.rb.er{background:rgba(255,77,109,0.07);border:1px solid rgba(255,77,109,0.2);}
.rttl{font-size:0.75rem;color:var(--sub);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem;}
.rrow{display:flex;align-items:flex-start;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--hair);}
.rrow:last-child{border-bottom:none;}
.rk{font-size:0.78rem;color:var(--sub);flex-shrink:0;padding-right:8px;}
.rv{font-size:0.85rem;font-weight:500;text-align:right;word-break:break-all;max-width:250px;}
.rv.g{color:var(--g);}
.rv.m{font-family:monospace;font-size:0.78rem;}

/* pay tabs */
.ptabs{display:flex;gap:0.5rem;margin-bottom:1.25rem;}
.ptab{flex:1;padding:8px;border-radius:8px;border:1px solid var(--bdr);background:transparent;color:var(--sub);font-family:'Space Grotesk',sans-serif;font-size:0.85rem;cursor:pointer;text-align:center;transition:all 0.18s;}
.ptab.on{background:rgba(13,148,136,0.15);color:var(--txt);border-color:var(--p2);}
.pb{display:none;}
.pb.on{display:block;}
.copt{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--bdr);border-radius:10px;cursor:pointer;margin-bottom:0.5rem;transition:all 0.18s;}
.copt:hover,.copt.on{border-color:var(--p2);background:rgba(13,148,136,0.08);}

/* Recharge tabs (Vozira-like, SMS Duo teal) */
.rech-step-ttl{font-size:0.95rem;font-weight:700;margin:0 0 0.75rem;color:var(--txt);}
.rech-amt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1rem;}
@media(min-width:700px){.rech-amt-grid{grid-template-columns:repeat(4,1fr);}}
.rech-amt-card{position:relative;border:1.5px solid var(--bdr);background:var(--card,#fff);border-radius:12px;padding:14px 10px 12px;text-align:center;cursor:pointer;transition:all .15s;user-select:none;}
.rech-amt-card:hover{border-color:var(--p2);}
.rech-amt-card.on{border-color:var(--p2);background:rgba(13,148,136,0.10);box-shadow:0 0 0 1px var(--p2);}
.rech-amt-card .amt{font-size:1.15rem;font-weight:800;color:var(--txt);}
.rech-amt-card .bonus{display:inline-block;margin-top:6px;font-size:0.72rem;font-weight:600;color:var(--p2);background:rgba(13,148,136,0.12);padding:2px 8px;border-radius:999px;}
.rech-amt-card .chk{display:none;position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--p2);color:#fff;font-size:11px;line-height:18px;text-align:center;}
.rech-amt-card.on .chk{display:block;}
.rech-pay-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:1rem;}
@media(min-width:640px){.rech-pay-grid{grid-template-columns:repeat(2,1fr);}}
.rech-pay-card{position:relative;display:flex;align-items:center;gap:10px;border:1.5px solid var(--bdr);background:var(--card,#fff);border-radius:12px;padding:14px 12px;cursor:pointer;transition:all .15s;user-select:none;}
.rech-pay-card:hover{border-color:var(--p2);}
.rech-pay-card.on{border-color:var(--p2);background:rgba(13,148,136,0.10);box-shadow:0 0 0 1px var(--p2);}
.rech-pay-card .ico{font-size:1.35rem;line-height:1;}
.rech-pay-card .ico img{width:28px;height:28px;border-radius:6px;object-fit:contain;display:block;}

.rech-pay-card .nm{font-weight:700;font-size:0.92rem;color:var(--txt);}
.rech-pay-card .sub{font-size:0.75rem;color:var(--sub);margin-top:2px;}
.rech-pay-card .chk{display:none;position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--p2);color:#fff;font-size:11px;line-height:18px;text-align:center;}
.rech-pay-card.on .chk{display:block;}
.rech-sum-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:0.5rem;padding:14px 16px;border-radius:12px;background:rgba(13,148,136,0.08);border:1px solid rgba(13,148,136,0.22);}
.rech-sum-bar .sums{display:flex;flex-wrap:wrap;gap:16px;font-size:0.9rem;}
.rech-sum-bar .sums b{color:var(--p2);font-size:1.05rem;}
.rech-crypto-extra{display:none;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--bdr);}
.rech-crypto-extra.on{display:block;}
/* t18b B: checkout hints */
/* t18b J: no ZH Alipay-first order — both languages: crypto (TRC20, BEP20) first, then Alipay */
.copt .coin-sub{font-size:0.7rem;color:var(--sub);line-height:1.35;margin-top:2px;overflow-wrap:anywhere;}
.copt.dis{opacity:0.45;cursor:not-allowed;filter:grayscale(0.6);}
.copt.dis:hover{border-color:var(--bdr);background:transparent;}
.rc-info{font-size:0.78rem;line-height:1.55;color:var(--sub);margin:0.6rem 0 0;display:flex;flex-direction:column;gap:0.35rem;}
.rc-info:empty{display:none;}
.rc-info a{color:var(--p2);font-weight:600;cursor:pointer;}
.rc-trc{color:#b45309;}
.rc-sum{color:var(--txt);background:var(--bg3);border:1px solid var(--bdr);border-radius:8px;padding:6px 8px;}
.rc-warn{color:#b45309;}
/* t56: Alipay AND crypto show 应付金额 / 到账金额 inside the box (replaces t18b M, which hid them for Alipay) */
#rech-page-form .rech-sum-bar .sums{flex:1 1 260px;min-width:0;flex-direction:column;gap:6px;}
#rech-page-form .rech-sum-bar .sums>span{display:block;min-width:0;overflow-wrap:anywhere;}
.rs-bonus{font-weight:600;color:var(--p2);font-size:0.85rem;}
.rc-trust-hint{font-size:0.8rem;line-height:1.55;color:var(--sub);margin:0.6rem 0 0;}
.rc-trust-foot{font-size:0.76rem;line-height:1.55;color:var(--sub);margin:0.6rem 0 0;}
.rech-pend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0.6rem 0 0;padding:10px 12px;border:1px dashed rgba(245,158,11,0.55);background:rgba(245,158,11,0.07);border-radius:10px;font-size:0.82rem;color:var(--txt);}
.rech-pend .rp-t{font-weight:700;flex:1 1 100%;}
.rech-pend .rp-r{flex:1 1 220px;min-width:0;color:var(--sub);overflow-wrap:anywhere;}
.rech-pend code{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--txt);}
@media(max-width:520px){#rech-page-form .rech-sum-bar>.btn{width:100%;}}
@media(min-width:360px){.rech-amt-card .bonus{white-space:nowrap;}}   /* keep 「Bonus $0.8」 on one line at 390 */
/* t18b M: on-page crypto pay panel (white-label) */
#rech-main-card{scroll-margin-top:150px;}
.cp{display:flex;flex-direction:column;gap:0.55rem;}
.cp-hd{display:flex;align-items:center;gap:10px;padding-bottom:0.6rem;border-bottom:1px solid var(--bdr);}
.cp-hd img{flex-shrink:0;}
.cp-hd-t{flex:1;min-width:0;}
.cp-coin{font-weight:700;font-size:1rem;color:var(--txt);}
.cp-net{font-size:0.78rem;color:var(--sub);}
.cp-cd{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.85rem;font-weight:700;color:var(--p2);background:rgba(13,148,136,0.1);border-radius:8px;padding:4px 8px;white-space:nowrap;}
.cp-cd.low{color:var(--r);background:rgba(255,77,109,0.1);}
.cp-lbl{font-size:0.78rem;color:var(--sub);margin-top:0.25rem;}
.cp-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;}
.cp-amt{font-size:1.45rem;font-weight:800;color:var(--p3);overflow-wrap:anywhere;}
.cp-note{font-size:0.75rem;color:var(--sub);line-height:1.5;}
.cp-addr{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.85rem;word-break:break-all;background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;padding:10px 12px;color:var(--txt);}
.cp-copy-addr{width:100%;}
.cp-qr{text-align:center;margin:0.4rem 0;}
.cp-qr img{width:200px;height:200px;max-width:64vw;max-height:64vw;background:#fff;padding:8px;border-radius:12px;border:1px solid var(--bdr);}
.cp-warn{font-size:0.8rem;color:#b45309;line-height:1.5;background:rgba(245,158,11,0.08);border-radius:8px;padding:8px 10px;}
.cp-inv{font-size:0.78rem;color:var(--sub);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cp-inv code{font-family:'JetBrains Mono',ui-monospace,monospace;overflow-wrap:anywhere;color:var(--txt);}
.cp-st{display:flex;align-items:center;justify-content:center;gap:8px;font-size:0.85rem;color:var(--sub);text-align:center;padding:0.5rem;line-height:1.5;}
.cp-st .spin{width:18px;height:18px;margin:0;flex-shrink:0;}
.cp-st.warn{color:#b45309;}
.cp-st a{color:var(--p2);font-weight:600;}
.cp.cp-exp .cp-amt,.cp.cp-exp .cp-addr,.cp.cp-exp .cp-qr{opacity:0.35;}
.cp-ok{text-align:center;padding:1.5rem 1rem;}
.rc-cny{font-size:0.85rem;font-weight:600;color:var(--p2);margin:0.5rem 0 0;}
.rech-foot{position:sticky;bottom:-2px;z-index:3;background:var(--bg2);padding:0.5rem 0 0.25rem;margin-top:0.5rem;box-shadow:0 -10px 14px -12px rgba(0,0,0,0.35);}
.rech-sum-bar{position:sticky;bottom:0;z-index:3;backdrop-filter:blur(6px);}
.rc-payrow{margin-top:0.25rem;padding:0.6rem 0.8rem;border:1px solid var(--bdr);border-radius:10px;font-size:0.9rem;color:var(--sub);}
.rc-payrow b{color:var(--txt);font-size:1.02rem;}
.rc-amt-note{display:block;font-size:0.72rem;line-height:1.4;color:var(--sub);margin-top:2px;font-weight:400;white-space:normal;overflow-wrap:anywhere;}
.rech-sum-bar .rc-amt-note{max-width:34em;}
.rech-foot::after{content:"";position:absolute;left:0;right:0;top:100%;height:2rem;background:var(--bg2);pointer-events:none;}   /* t18b J: nothing shows through below the pay button */
.aff-prev.bad{color:var(--r);}
.rh-inv{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:0.74rem;}
.aff2{display:flex;flex-direction:column;gap:1.1rem;}
.aff-link-row{display:flex;gap:0.5rem;align-items:center;}
.aff-link-row input{flex:1;min-width:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.8rem;background:var(--input-bg);border:1px solid var(--bdr);border-radius:8px;padding:10px 14px;color:var(--txt);outline:none;}
html[data-theme="light"] .aff-link-row input{background:#fff;border-color:#cbd5e1;}
/* t18b G7: readable amber on dark theme */
html[data-theme="dark"] .rc-trc,html[data-theme="dark"] .rc-warn,html[data-theme="dark"] .aff-why,html[data-theme="dark"] .aff-addr-warn,html[data-theme="dark"] .aff-cf-tip,html[data-theme="dark"] .rw-msg.warn{color:#fcd34d;}
.aff-code-row{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin-top:0.7rem;font-size:0.88rem;color:var(--sub);}
.aff-code-row b{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--txt);letter-spacing:0.06em;}
.aff-policy{font-size:0.8rem;color:var(--sub);margin-top:0.6rem;line-height:1.5;}
.aff-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.85rem;}
.aff-kpi-note{font-size:0.72rem;color:var(--sub);margin-top:2px;}
.aff-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:start;}
.aff-act{display:flex;flex-direction:column;min-width:0;}
.aff-big{font-size:0.9rem;color:var(--sub);margin-bottom:0.35rem;}
.aff-big b{font-size:1.35rem;color:var(--p2);}
.aff-rule{font-size:0.78rem;color:var(--sub);line-height:1.5;margin-bottom:0.8rem;}
.aff-amt-row{display:flex;gap:0.5rem;}
.aff-amt-row input{flex:1;min-width:0;}
.aff-sub{font-size:0.8rem;color:var(--sub);margin:-0.2rem 0 0.4rem;}
.aff-method{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--p2);border-radius:8px;font-size:0.85rem;font-weight:600;}
.aff-prev{font-size:0.82rem;color:var(--p2);font-weight:600;min-height:1.1em;margin-bottom:0.3rem;}
.aff-why{font-size:0.78rem;color:#b45309;min-height:1.1em;margin-bottom:0.5rem;}
/* t18b E1: withdrawal method tabs / TRC20 address / confirm */
.aff-mtabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.aff-mtab{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px 10px;border:1px solid var(--bdr);border-radius:8px;background:transparent;color:var(--txt);font-size:0.85rem;font-weight:600;cursor:pointer;font-family:inherit;}
.aff-mtab.on{border-color:var(--p2);color:var(--p2);background:rgba(16,185,129,0.08);}
.aff-usdt-ic{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#26a17b;color:#fff;font-size:0.7rem;font-weight:700;}
.aff-addr-row{display:flex;gap:6px;}
.aff-addr-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.82rem;}
.aff-addr-err{font-size:0.78rem;color:var(--r);min-height:1.1em;margin-top:4px;}
.aff-addr-warn{font-size:0.76rem;color:#b45309;line-height:1.45;}
.aff-cf-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--bdr);font-size:0.86rem;}
.aff-cf-row span{color:var(--sub);flex-shrink:0;}
.aff-cf-row b{text-align:right;}
.aff-cf-addr{margin-top:0.7rem;padding:10px;border:1px solid var(--bdr);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.9rem;word-break:break-all;line-height:1.5;}
.aff-cf-addr b{color:var(--p2);font-size:1rem;}
.aff-cf-tip{margin-top:0.5rem;font-size:0.78rem;color:#b45309;}
.aff-tx a{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.78rem;}
.aff-btn{width:100%;margin-top:auto;}
.aff-muted{font-size:0.72rem;color:var(--sub);}
@media (max-width:900px){.aff-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.aff-actions{grid-template-columns:1fr;}}
@media (max-width:420px){.aff-link-row{flex-direction:column;align-items:stretch;}.aff-kpis{gap:0.6rem;}}
.sms-wait-note{text-align:center;font-size:0.76rem;color:var(--sub);line-height:1.5;margin-top:0.35rem;}
#np-coins-page .copt{margin-bottom:0;}
.copt .coin-logo{width:28px;height:28px;border-radius:50%;flex-shrink:0;object-fit:cover;background:#fff;}
.copt .coin-net{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:6px;font-size:0.68rem;font-weight:700;letter-spacing:0.04em;vertical-align:middle;color:#fff;line-height:1.4;}
.copt .coin-net.trx{background:#ef4444;}
.copt .coin-net.eth{background:#22d3ee;color:#0f172a;}
.copt .coin-net.btc{background:#f59e0b;}
#np-coins-page{grid-template-columns:1fr !important;max-height:none !important;}
@media(min-width:640px){#np-coins-page{grid-template-columns:1fr 1fr !important;}}


.wbox{background:var(--surf);border:1px solid var(--bdr);border-radius:8px;padding:10px 14px;font-family:monospace;font-size:0.8rem;color:var(--p3);word-break:break-all;margin:0.75rem 0;}

/* spinner */
.spin{width:26px;height:26px;border:2px solid rgba(13,148,136,0.2);border-top-color:var(--p2);border-radius:50%;animation:rot 0.6s linear infinite;margin:0 auto 0.75rem;}
@keyframes rot{to{transform:rotate(360deg)}}
.cmsg{text-align:center;padding:2.5rem;color:var(--sub);font-size:0.9rem;}

/* toast */
.toast{position:fixed;bottom:2rem;right:2rem;z-index:10050;border-radius:10px;padding:12px 18px;font-size:0.85rem;transform:translateY(80px);opacity:0;transition:all 0.35s;pointer-events:none;max-width:300px;}
.toast.ok{background:rgba(0,229,160,0.15);border:1px solid rgba(0,229,160,0.3);color:var(--g);}
.toast.er,.toast.err{background:rgba(255,77,109,0.15);border:1px solid rgba(255,77,109,0.3);color:var(--r);}
.toast.up{transform:translateY(0);opacity:1;}

/* auth toggle */
.atog{text-align:center;font-size:0.85rem;color:var(--sub);margin-top:1rem;}
.atog a{color:var(--p3);cursor:pointer;}
.atog a:hover{text-decoration:underline;}

/* profile tabs */
.prof-tabs{display:flex;gap:0.5rem;margin-bottom:1.5rem;}
.ptab2{flex:1;padding:8px;border-radius:8px;border:1px solid var(--bdr);background:transparent;color:var(--sub);font-family:'Space Grotesk',sans-serif;font-size:0.82rem;cursor:pointer;text-align:center;transition:all 0.18s;}
.ptab2.on{background:rgba(13,148,136,0.15);color:var(--txt);border-color:var(--p2);}

/* referral box */
.ref-box{background:linear-gradient(135deg,rgba(13,148,136,0.12),rgba(52,211,153,0.08));border:1px solid var(--bdr);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem;}
.ref-code{font-family:monospace;font-size:1.4rem;font-weight:700;color:var(--p3);letter-spacing:3px;}

/* HAMBURGER */
.ham{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;transition:background 0.18s;}
.ham:hover{background:rgba(15,23,42,0.06);}
.ham span{display:block;width:22px;height:2px;background:var(--txt);border-radius:2px;transition:all 0.3s;}
.ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* MOBILE NAV DRAWER */
.mob-menu{display:none;position:fixed;top:58px;left:0;right:0;z-index:299;
  background:#ffffff;backdrop-filter:blur(20px);border-bottom:1px solid rgba(13,148,136,0.14);
  border-bottom:1px solid var(--bdr);padding:0.75rem 1rem 1rem;
  flex-direction:column;gap:4px;}
.mob-menu.open{display:flex;}
.mob-menu .nl{text-align:left;padding:10px 14px;border-radius:10px;font-size:0.95rem;width:100%;}
.mob-menu-bal{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:rgba(0,229,160,0.07);border:1px solid rgba(0,229,160,0.15);margin-bottom:4px;}
.mob-menu-bal span:first-child{font-size:0.78rem;color:var(--sub);}
.mob-menu-bal span:last-child{font-size:0.95rem;font-weight:700;color:var(--g);}
.mob-div{height:1px;background:var(--bdr);margin:6px 0;}

/* ─── 768px ─── */
@media(max-width:768px){
  .ham{display:flex;}
  .nl-wrap{display:none;}
  .nav-r .bal-pill{display:none !important;}
  .nav-r #b-rech{display:none !important;}
  .nav-r #b-out{display:none !important;}
  .nav-r #b-prof{display:none !important;}
  /* keep #b-login visible on mobile so login always works */
  .nav-r #member-dd{display:none !important;}
  nav{padding:0 1rem;}
  .wrap{padding:0 1rem;}

  /* hero */
  .hero{padding:58px 1.25rem 2rem;}
  .hero h1{font-size:clamp(2rem,8vw,3.2rem);}
  .hero p{font-size:0.95rem;}
  .hbtns{gap:0.75rem;}
  .hbtns .btn{font-size:0.9rem;padding:11px 22px;}
  .hstats{gap:1.5rem;margin-top:2.5rem;}
  .hs-n{font-size:1.6rem;}
  .flags-row{gap:0.5rem;margin-top:2rem;}
  .flag-chip{font-size:0.78rem;padding:5px 12px;}

  /* home sections mobile */
  .home-sec{padding:3rem 0;}
  .ext-banner{padding:2rem 1.25rem;gap:1.5rem;}
  .ext-icon{font-size:2.8rem;}
  .steps{grid-template-columns:repeat(2,1fr);gap:1rem;}
  .feat-grid{grid-template-columns:repeat(2,1fr);gap:1rem;}
  /* shop */
  .chips{gap:0.4rem;}
  .chip{font-size:0.78rem;padding:5px 12px;}
  .sbox{min-width:0;width:100%;margin-left:0;margin-top:0.25rem;}
  .agrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.75rem;}
  .acard{padding:1rem;}
  .aname{font-size:0.88rem;}
  .aprice{font-size:1.1rem;}

  /* dashboard */
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .dash-grid{grid-template-columns:1fr;}
  .dcard{padding:1.25rem;}

  /* admin tables — horizontal scroll */
  .ap table{min-width:600px;}
  .ap{overflow-x:auto;}

  /* admin settings */
  .sgrid{grid-template-columns:1fr;}

  /* modals */
  .ov{padding:0.5rem;}
  .modal{padding:1.25rem;border-radius:14px;}
  .msm,.mmd,.mlg{max-width:100%;}
  .f2{grid-template-columns:1fr;}
  .macts{flex-direction:column;}
  .macts .btn{width:100%;}

  /* number items */
  .nitem-top{flex-wrap:wrap;gap:0.5rem;}
  .nitem-actions{gap:0.4rem;}
  .nitem-actions .btn{font-size:0.72rem;padding:5px 8px;}

  /* per-service price table */
  #cpr-tbody td,#cpr-tbody th{padding:8px 10px;}
}

/* ─── 480px ─── */
@media(max-width:480px){
  .hero h1{font-size:clamp(1.7rem,9vw,2.6rem);}
  .hbtns{flex-direction:column;align-items:stretch;}
  .hbtns .btn{width:100%;justify-content:center;}
  .hstats{gap:1rem;}
  .hs-n{font-size:1.4rem;}
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .kpi{padding:1rem;}
  .kpi-v{font-size:1.4rem;}
  .agrid{grid-template-columns:1fr 1fr;}
  .toast{left:1rem;right:1rem;bottom:5rem;max-width:unset;}
  .atab{padding:8px 12px;font-size:0.82rem;}
  .prof-tabs{flex-wrap:wrap;}
  .ptab2{flex:unset;min-width:calc(50% - 4px);}
  .ptabs{flex-wrap:wrap;}
  .ptab{flex:unset;min-width:calc(50% - 4px);}
  .nitem-actions{flex-wrap:wrap;}
  /* OTP bigger on small screen */
  .otp-code{font-size:1.8rem;letter-spacing:6px;}
  /* number tel bigger */
  .nitem-tel{font-size:1.05rem;}
}

@media(max-width:768px){
  /* modals slide up from bottom */
  .ov{align-items:flex-end;padding:0;}
  .modal{border-radius:20px 20px 0 0;max-height:90vh;padding:1.5rem 1.25rem 2rem;animation:slideUp 0.3s ease;}
  .msm,.mmd,.mlg{max-width:100%;}
  @keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
  /* drag handle for modals */
  .modal::before{content:'';display:block;width:40px;height:4px;background:rgba(255,255,255,0.15);border-radius:2px;margin:0 auto 1rem;}
  .toast{bottom:1.5rem;}
  /* number item full-width actions */
  .nitem-actions{display:grid;grid-template-columns:1fr 1fr;gap:0.4rem;}
  .nitem-actions .btn{width:100%;justify-content:center;min-height:40px;}
  /* sms preview bigger */
  .sms-preview{font-size:0.92rem;padding:12px 14px;}
  /* card type chips — horizontal scroll, no wrap */
  #card-type-chips, #m-multi .chips {flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none;}
  #card-type-chips::-webkit-scrollbar, #m-multi .chips::-webkit-scrollbar {display:none;}
  /* operator chips — horizontal scroll */
  #operator-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none;}
  #operator-chips::-webkit-scrollbar{display:none;}
  /* search box full width */
  .sbox{max-width:100% !important;}
  /* dashboard tables scroll */
  #d-purchases,#d-txs,#d-sms-hist{overflow-x:auto;}
  #d-purchases table,#d-txs table,#d-sms-hist table{min-width:520px;}
  /* recharge history compact */
  #d-recharge-hist .rrow{flex-wrap:wrap;gap:2px;}
  /* nitem tel size */
  .nitem-tel{font-size:1rem;}
  /* kpi grid compact */
  .kpi{padding:0.9rem 1rem;}
  .kpi-v{font-size:1.3rem;}
  /* buy modal form */
  .b-form-row{flex-direction:column;gap:0.5rem;}
}

/* ─── 360px ─── */
@media(max-width:400px){
  .agrid{grid-template-columns:1fr;}
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:clamp(1.5rem,10vw,2.2rem);}
  .steps{grid-template-columns:1fr;}
  .feat-grid{grid-template-columns:1fr;}
  .acard-top{flex-wrap:wrap;gap:0.4rem;}
}
  .ttl-search { background:var(--input-bg); border:1px solid var(--bdr); border-radius:6px; color:var(--txt); padding:4px 8px; font-size:0.75rem; width:120px; outline:none; transition:width 0.3s; }
  .ttl-search:focus { width:180px; border-color:var(--p3); background:var(--surf2); }
.lang-sw{display:flex;background:#f1f5f9;border:1px solid rgba(13,148,136,0.2);border-radius:8px;padding:2px;gap:2px;}
.lang-sw button{background:transparent;border:none;color:#64748b;font-family:'Space Grotesk','Noto Sans SC',sans-serif;font-size:0.78rem;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:6px;transition:all 0.18s;}
.lang-sw button.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;}
.lang-sw button:not(.on):hover{color:var(--txt);background:var(--surf);}

/* ── Green landing skin (home only) ── */
body.on-home{
  --land-hero-top:#064e3b;--land-hero-mid:#065f46;--land-hero-bot:#022c22;
}
/* nav white styles now global; home keeps announce + hero skin */
body.on-home #announce-bar{background:#0d9488!important;}
html[data-theme="light"] #announce-bar{background:#0f766e!important;}
html[data-theme="dark"] #announce-bar{background:#0d9488!important;}
body.on-home .hero-land{
  background:linear-gradient(165deg,#064e3b 0%,#065f46 42%,#022c22 78%,#0b0e14 100%);
  padding-top:7.25rem;
  padding-bottom:5rem;
  min-height:100vh;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
}
body.on-home .hero-land > .hero-grid,
body.on-home .hero-land > .hero-ext{width:100%;}
body.on-home .hero-land .hero-badge{
  background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18);color:#ecfdf5;
}
body.on-home .hero-land h1{color:#fff;}
body.on-home .hero-land h1 .gr{
  background:linear-gradient(135deg,#5eead4,#14b8a6,#34d399);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
body.on-home .hero-land .hero-desc{color:rgba(236,253,245,0.78);}
body.on-home .hero-land .hero-desc b{color:#fff;}
body.on-home .hero-land .btn-ghost{
  border-color:rgba(255,255,255,0.28);color:#fff;background:rgba(255,255,255,0.06);
}
body.on-home .hero-land .btn-ghost:hover{background:rgba(255,255,255,0.12);border-color:#5eead4;}
body.on-home .free-card{
  background:linear-gradient(165deg,rgba(6,78,59,0.72),rgba(2,44,34,0.92));
  border:1px solid rgba(94,234,212,0.22);
  box-shadow:0 24px 60px rgba(0,0,0,0.35),0 0 0 1px rgba(13,148,136,0.12);
  backdrop-filter:blur(10px);
}
body.on-home .hero-ext{max-width:1120px;margin:3rem auto 0.5rem;padding:0;}
body.on-home .ext-banner-in-hero{
  background:linear-gradient(135deg,rgba(255,255,255,0.1),rgba(13,148,136,0.18));
  border:1px solid rgba(94,234,212,0.28);
  box-shadow:0 10px 28px rgba(0,0,0,0.18);
  backdrop-filter:blur(8px);
  padding:1rem 1.35rem;
  gap:1.15rem;
  border-radius:14px;
  align-items:flex-start;
}
body.on-home .ext-banner-in-hero h2{
  font-size:clamp(1.05rem,1.8vw,1.25rem);
  margin-bottom:0.35rem;
  background:linear-gradient(135deg,#ecfdf5,#5eead4,#34d399);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
body.on-home .ext-banner-in-hero p{color:rgba(236,253,245,0.78);max-width:720px;font-size:0.86rem;line-height:1.55;margin-bottom:0;}
body.on-home .ext-banner-in-hero .ext-icon{font-size:2.1rem;line-height:1;margin-top:0.15rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.25));}
body.on-home #page-home .home-sec{
  background:#ffffff;border-top:1px solid #e5e7eb;color:#0f172a;
}
body.on-home #page-home .home-sec .eye{color:#0d9488;}
body.on-home #page-home .home-sec .sec-ttl{color:#0f172a;}
body.on-home #page-home .home-sec .sec-sub{color:#64748b;}
body.on-home #page-home .step,
body.on-home #page-home .feat{
  background:#f8fafc;border-color:#e2e8f0;color:#0f172a;
}
body.on-home #page-home .step:hover,
body.on-home #page-home .feat:hover{border-color:rgba(13,148,136,0.45);}
body.on-home #page-home .step h3,
body.on-home #page-home .feat h3{color:#0f172a;}
body.on-home #page-home .step p,
body.on-home #page-home .feat p{color:#64748b;}
body.on-home #page-home .step-num{background:#ecfdf5;border-color:rgba(13,148,136,0.25);color:#0d9488;}
body.on-home #page-home .step.hl{
  border-color:rgba(13,148,136,0.45);
  background:linear-gradient(135deg,rgba(13,148,136,0.08),rgba(52,211,153,0.04));
}
body.on-home #page-home .step.hl .step-num{background:rgba(13,148,136,0.15);border-color:rgba(13,148,136,0.35);}
body.on-home #page-home .hl-badge{background:rgba(13,148,136,0.12);color:#0d9488;border-color:rgba(13,148,136,0.28);}

/* ── Theme: light polish for shop/dash/modals ── */
html[data-theme="light"] body{background:var(--bg);color:var(--txt);}
html[data-theme="light"] .logo{color:var(--txt);}
html[data-theme="light"] .modal{background:var(--bg2);box-shadow:0 24px 64px rgba(15,23,42,0.12);}
html[data-theme="light"] .shop-tips{background:rgba(13,148,136,0.06);}
html[data-theme="light"] .arow{border-bottom-color:rgba(13,148,136,0.12);}
html[data-theme="light"] .arow:hover{background:rgba(13,148,136,0.06);}
html[data-theme="light"] .chip{background:#fff;}
html[data-theme="light"] .chip.on,html[data-theme="light"] .chip:hover{background:rgba(13,148,136,0.12);color:var(--txt);}
html[data-theme="light"] .shop-side .chip.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-color:transparent;}
html[data-theme="light"] .sbox,html[data-theme="light"] .f input,html[data-theme="light"] .f select,html[data-theme="light"] .f textarea{
  background:#fff;border-color:#cbd5e1;color:var(--txt);
}
html[data-theme="light"] .sbox::placeholder{color:#94a3b8;}
html[data-theme="light"] .f select option{background:#fff;color:var(--txt);}
html[data-theme="light"] .kpi,html[data-theme="light"] .dcard,html[data-theme="light"] .scard,html[data-theme="light"] .nitem{
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,0.04);
}
html[data-theme="light"] .tag-ex{background:#f1f5f9;color:var(--sub);}
html[data-theme="light"] .ham:hover{background:var(--surf2);}
html[data-theme="light"] .btn-ghost{background:#fff;border-color:#cbd5e1;color:var(--txt);}
html[data-theme="light"] .btn-ghost:hover{border-color:var(--p2);background:rgba(13,148,136,0.08);}
html[data-theme="light"] .theme-tog{background:#fff;border-color:#cbd5e1;color:#64748b;}
html[data-theme="light"] .theme-tog:hover{color:#0f172a;border-color:var(--p2);background:rgba(13,148,136,0.08);}
html[data-theme="light"] footer{background:var(--bg2)!important;}
html[data-theme="light"] .free-card{
  background:linear-gradient(165deg,#ffffff,#f8fafc);
  border:1px solid rgba(13,148,136,0.22);
  box-shadow:0 16px 40px rgba(15,23,42,0.08);
}
html[data-theme="light"] .free-row{background:#f8fafc;border-color:#e2e8f0;}

/* ── Free public inbox page ── */
#page-free{padding:78px 0 4rem;}
#page-free .free-warn{
  display:flex;gap:0.75rem;align-items:flex-start;
  padding:0.85rem 1rem;margin:0 0 1.25rem;
  border-radius:12px;
  background:rgba(255,201,60,0.1);
  border:1px solid rgba(255,201,60,0.35);
  color:var(--y);font-size:0.82rem;line-height:1.55;
}
html[data-theme="light"] #page-free .free-warn{
  background:#fffbeb;border-color:#fcd34d;color:#92400e;
}
/* t32 C: free page → private number nudge (min price from /api/numbers/popular-prices) */
#page-free .free-paid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.6rem 1rem;padding:0.8rem 1rem;margin:-0.5rem 0 1.25rem;border-radius:12px;background:rgba(45,212,191,0.1);border:1px solid rgba(45,212,191,0.35);color:var(--txt);font-size:0.85rem;line-height:1.55;}
#page-free .free-paid:empty{display:none;}
#page-free .free-paid>span{flex:1 1 260px;min-width:0;}
#page-free .free-paid a{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center;text-decoration:none;}
html[data-theme="light"] #page-free .free-paid{background:#f0fdfa;border-color:#99f6e4;color:#134e4a;}

#page-free .free-filters{
  display:flex;flex-direction:column;gap:0.9rem;
  margin:0 0 1.25rem;padding:1rem 1.1rem;
  background:var(--card);border:1px solid var(--bdr);border-radius:14px;
}
#page-free .free-filter-row .eye{margin-bottom:0.45rem;color:var(--p3);}
#page-free .free-chips{display:flex;flex-wrap:wrap;gap:0.45rem;}
#page-free .free-chips .chip{
  width:auto;border-radius:999px;padding:6px 14px;font-size:0.78rem;
  background:var(--surf);border:1px solid var(--bdr);color:var(--sub);
}
#page-free .free-chips .chip:hover{color:var(--txt);border-color:var(--p2);}
#page-free .free-chips .chip.on{
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
  border-color:transparent;box-shadow:0 4px 14px rgba(13,148,136,0.35);
}
#page-free .free-layout{
  display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:1.25rem;align-items:start;
}
@media(max-width:900px){
  #page-free .free-layout{grid-template-columns:minmax(0,1fr);} /* mobile-overflow fix: SMS table min-content widened page */
}
#page-free .free-panel{
  background:var(--card);border:1px solid var(--bdr);border-radius:16px;
  padding:1.1rem 1.15rem 1.2rem;
  box-shadow:0 12px 36px rgba(0,0,0,0.18);
}
#page-free .free-panel-hd{
  display:flex;align-items:center;justify-content:space-between;gap:0.75rem;
  margin-bottom:0.9rem;flex-wrap:wrap;
}
#page-free .free-panel-ttl{font-size:1rem;font-weight:700;color:var(--txt);}
#page-free .free-panel-sub{font-size:0.72rem;color:var(--sub);margin-top:2px;}
#page-free .free-num-grid{
  display:grid;grid-template-columns:1fr;gap:0.55rem;
  max-height:min(70vh,640px);overflow:auto;padding-right:2px;
}
#page-free .fn-card{
  display:flex;flex-direction:column;gap:0.45rem;
  padding:0.75rem 0.8rem;border-radius:12px;
  background:var(--surf);border:1px solid var(--hair);
  transition:border-color .15s, background .15s;
}
#page-free .fn-card:hover{border-color:rgba(45,212,191,0.55);background:var(--surf2);}
#page-free .fn-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.5rem;}
#page-free .fn-tel{
  font-family:'JetBrains Mono',monospace;font-size:0.92rem;font-weight:600;
  color:var(--p3);letter-spacing:0.02em;word-break:break-all;
}
#page-free .fn-region{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.68rem;font-weight:600;padding:2px 8px;border-radius:999px;
  background:rgba(0,229,160,0.12);color:var(--g);border:1px solid rgba(0,229,160,0.28);
}
#page-free .fn-meta{display:flex;flex-wrap:wrap;gap:0.55rem 0.9rem;font-size:0.7rem;color:var(--sub);}
#page-free .fn-meta b{color:var(--txt);font-weight:600;}
#page-free .fn-actions{display:flex;gap:0.4rem;}
#page-free .fn-actions .btn{flex:1;border-radius:999px;font-size:0.75rem;}
#page-free .free-sms-wrap{overflow:auto;max-height:min(70vh,640px);}
#page-free .free-sms-table{width:100%;border-collapse:collapse;font-size:0.78rem;}
#page-free .free-sms-table th{
  text-align:left;padding:0.55rem 0.5rem;color:var(--sub);font-weight:600;
  border-bottom:1px solid var(--bdr);position:sticky;top:0;background:var(--card);z-index:1;
}
#page-free .free-sms-table td{
  padding:0.55rem 0.5rem;border-bottom:1px solid var(--hair);vertical-align:top;color:var(--txt);
}
#page-free .free-sms-table .mono{font-family:'JetBrains Mono',monospace;font-size:0.74rem;color:var(--p3);}
#page-free .free-sms-table .msg{max-width:420px;word-break:break-word;line-height:1.45;}
#page-free .free-empty{padding:2rem 1rem;text-align:center;color:var(--sub);font-size:0.85rem;}

/* white nav always; dark theme only tints content pages (optional night) */
html[data-theme="dark"] nav,
html[data-theme="dark"] .mob-menu{
  background:#ffffff !important;
  border-bottom-color:rgba(13,148,136,0.14) !important;
  box-shadow:0 1px 0 rgba(15,23,42,0.03);
}
html[data-theme="dark"] .logo{color:#0f172a !important;}
html[data-theme="dark"] .logo .logo-sms{color:#005850 !important;}
html[data-theme="dark"] .logo .logo-duo,
html[data-theme="dark"] .logo span{color:#00A890 !important;}
html[data-theme="dark"] nav .nl{color:#64748b;}
html[data-theme="dark"] nav .nl:hover{color:#0f172a;background:rgba(13,148,136,0.1);}
html[data-theme="dark"] nav .nl.on{color:#fff;background:#0d9488;}
html[data-theme="dark"] .lang-sw{background:#f1f5f9;border-color:rgba(13,148,136,0.2);}
html[data-theme="dark"] .lang-sw button{color:#64748b;}
html[data-theme="dark"] .theme-tog{background:#f8fafc;color:#64748b;border-color:#e2e8f0;}
html[data-theme="light"] body.on-home{
  --land-hero-top:#064e3b;--land-hero-mid:#065f46;--land-hero-bot:#022c22;
}
html[data-theme="light"] body.on-home .hero-land{
  background:linear-gradient(165deg,#064e3b 0%,#065f46 42%,#022c22 78%,#0f766e 100%);
}
html[data-theme="light"] body.on-home #page-home .home-sec{background:#ffffff;}
/* shop/free/dash light surfaces (ensure white content, not green wash) */
html[data-theme="light"] #page-shop,
html[data-theme="light"] #page-free,
html[data-theme="light"] #page-dash,
html[data-theme="light"] #page-admin,
html[data-theme="light"] #page-price,
html[data-theme="light"] #page-help{
  background:var(--bg);
}
html[data-theme="light"] .shop-side{
  background:#ffffff;border-color:rgba(13,148,136,0.18);
  box-shadow:0 1px 2px rgba(15,23,42,0.04);
}
html[data-theme="light"] #page-shop .agrid{
  background:#ffffff;border-color:rgba(13,148,136,0.18);
}

/* Member account dropdown */
.member-dd{position:relative;display:none;align-items:center;}
.member-dd.open .member-menu{display:block;}
.member-trig{
  display:flex;align-items:center;gap:8px;cursor:pointer;
  background:#fff;border:1px solid rgba(13,148,136,0.28);
  border-radius:999px;padding:4px 10px 4px 4px;
  color:var(--txt);font-size:0.82rem;font-weight:600;
  transition:box-shadow .15s,border-color .15s;
}
html[data-theme="dark"] .member-trig{background:var(--bg3);border-color:var(--bdr);}
.member-trig:hover{border-color:var(--p);box-shadow:0 2px 10px rgba(13,148,136,0.15);}
.member-av{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--p),var(--g));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;font-weight:700;flex-shrink:0;
}
.member-trig-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-caret{font-size:0.65rem;color:var(--sub);margin-left:2px;}
.member-menu{
  display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:400;
  min-width:220px;background:#fff;border:1px solid rgba(13,148,136,0.22);
  border-radius:14px;padding:8px;box-shadow:0 12px 32px rgba(15,23,42,0.14);
}
html[data-theme="dark"] .member-menu{background:var(--bg3);border-color:var(--bdr);box-shadow:0 12px 32px rgba(0,0,0,0.45);}
.member-menu-hd{
  padding:10px 12px 8px;border-bottom:1px solid var(--hair);margin-bottom:4px;
}
.member-menu-hd .mm-name{font-weight:700;font-size:0.88rem;color:var(--txt);}
.member-menu-hd .mm-email{font-size:0.72rem;color:var(--sub);margin-top:2px;word-break:break-all;}
.member-menu button,.member-menu a.mm-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:10px 12px;border:none;background:transparent;cursor:pointer;
  border-radius:10px;font-size:0.85rem;font-weight:500;color:var(--txt);
  text-align:left;font-family:inherit;text-decoration:none;
}
.member-menu button:hover,.member-menu a.mm-item:hover{background:rgba(13,148,136,0.08);color:var(--p3);}
.member-menu button.mm-danger{color:var(--r);}
.member-menu button.mm-danger:hover{background:rgba(225,29,72,0.08);}
.member-menu .mm-ico{width:1.2em;text-align:center;flex-shrink:0;}
.member-menu .mm-div{height:1px;background:var(--hair);margin:4px 6px;}
.admin-livebar{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;
  margin-bottom:1rem;padding:10px 14px;border-radius:12px;
  background:rgba(13,148,136,0.06);border:1px solid rgba(13,148,136,0.2);
  font-size:0.82rem;color:var(--sub);
}
.admin-livebar .live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--g);margin-right:6px;animation:glow 2s infinite;vertical-align:middle;}
.admin-livebar #admin-last-refresh{color:var(--txt);font-weight:600;}
/* Admin finance control-center (green/white tokens; theme-aware) */
.admin-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.admin-kpi{background:var(--card);border:1px solid var(--bdr);border-radius:14px;padding:1.15rem 1.25rem;min-height:112px;display:flex;flex-direction:column;justify-content:center;gap:0.28rem;box-shadow:0 1px 0 rgba(0,0,0,0.02);}
.admin-kpi::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--p),var(--p2));opacity:.85;}
.admin-kpi .kpi-l{font-size:0.72rem;color:var(--sub);letter-spacing:0.04em;margin-bottom:8px;font-weight:600;}
.admin-kpi .kpi-v{font-size:1.45rem;font-weight:700;line-height:1.15;color:var(--txt);word-break:break-all;}
.admin-kpi .kpi-v.g{color:var(--g);}
.admin-kpi .kpi-v.y{color:var(--y);}
.admin-kpi .kpi-v.r{color:var(--r);}
.admin-kpi .kpi-sub{font-size:0.68rem;color:var(--sub);margin-top:6px;line-height:1.35;}
.admin-finance-wrap{margin-bottom:1.25rem;}
.admin-finance-toolbar{display:flex;flex-wrap:wrap;gap:0.55rem;align-items:center;margin-bottom:0.9rem;padding:0.75rem 0.9rem;background:var(--bg3);border:1px solid var(--bdr);border-radius:12px;}
.admin-finance-toolbar .chip{cursor:pointer;}
.admin-finance-toolbar .fin-date{background:var(--bg2);border:1px solid var(--bdr);border-radius:8px;color:var(--txt);padding:4px 8px;font-size:0.78rem;}
.admin-finance-toolbar .fin-label{font-size:0.75rem;color:var(--sub);font-weight:600;}
.admin-finance-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,0.85fr);gap:1.25rem;align-items:stretch;}
.admin-finance-compass{position:relative;background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;}
.compass-slice{transition:opacity .15s ease,filter .15s ease;cursor:pointer;}
.compass-slice.is-dim{opacity:.35;}
.compass-slice.is-hot{filter:brightness(1.15);opacity:1;}
.compass-legend-row.is-hot{color:var(--txt);}
.compass-legend-row.is-hot b{color:var(--txt);}
.compass-tip{position:absolute;z-index:5;pointer-events:none;background:rgba(15,23,42,.92);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 10px;font-size:0.72rem;line-height:1.35;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.35);transform:translate(-50%,-120%);max-width:min(260px,90%);display:none;}
.compass-tip:not([hidden]){display:block;}
.admin-finance-compass .compass-ttl{font-size:0.85rem;font-weight:700;color:var(--txt);margin-bottom:0.35rem;align-self:stretch;}
.admin-finance-compass .compass-hint{font-size:0.68rem;color:var(--sub);margin-bottom:0.75rem;align-self:stretch;line-height:1.4;}
.compass-svg{width:180px;height:180px;}
.compass-legend{display:flex;flex-direction:column;gap:0.35rem;margin-top:0.75rem;width:100%;}
.compass-legend-row{display:flex;align-items:center;gap:0.45rem;font-size:0.72rem;color:var(--sub);}
.compass-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.compass-legend-row b{color:var(--txt);margin-left:auto;font-variant-numeric:tabular-nums;}
/* t38: control-center KPI groups + traffic treemap + trial switch */
.admin-kpi-col{display:flex;flex-direction:column;gap:0.55rem;min-width:0;}
.kpi-group-ttl{font-size:0.74rem;font-weight:700;color:var(--sub);letter-spacing:0.04em;margin:0.1rem 0 -0.1rem;}
.kpi-group-ttl:not(:first-child){margin-top:0.45rem;}
.admin-kpi-grid.kg-fin{grid-template-columns:repeat(6,minmax(0,1fr));gap:0.85rem;}
.admin-kpi-grid.kg-fin>.admin-kpi{grid-column:span 2;}
.admin-kpi-grid.kg-fin>.admin-kpi:nth-child(n+4){grid-column:span 3;}
.admin-kpi-grid.kg-traffic{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.85rem;}
.admin-kpi-col .admin-kpi{min-height:100px;padding:0.95rem 1.05rem;}
.kpi-pair{display:flex;gap:0.9rem;align-items:flex-end;}
.kpi-pair>div{display:flex;flex-direction:column;line-height:1.1;}
.kpi-pair b{font-size:1.3rem;font-weight:700;color:var(--txt);font-variant-numeric:tabular-nums;}
.kpi-pair span{font-size:0.66rem;color:var(--sub);margin-top:3px;}
.admin-traffic{align-items:stretch;justify-content:flex-start;min-height:0;}
.tr-hd{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;align-self:stretch;}
.tr-hd .compass-ttl{margin:0;}
.tr-metric{display:flex;gap:0.3rem;}
.tr-metric .chip{padding:2px 10px;font-size:0.7rem;}
.tr-metric .chip.on{background:var(--p);border-color:var(--p);color:#fff;}
.tm{position:relative;width:100%;height:270px;border-radius:10px;overflow:hidden;background:var(--bg2);}
.tm-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:var(--sub);}
.tm-cat{position:absolute;box-sizing:border-box;border:2px solid var(--bg3);border-radius:8px;overflow:hidden;}
.tm-cat-h{position:absolute;left:0;right:0;top:0;height:20px;padding:2px 7px;font-size:0.7rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-leaf{position:absolute;box-sizing:border-box;border:1px solid rgba(255,255,255,.55);border-radius:5px;padding:3px 5px;color:#fff;font-size:0.68rem;line-height:1.2;overflow:hidden;cursor:default;transition:filter .12s;}
.tm-leaf:hover,.tm-leaf.hot{filter:brightness(1.12) saturate(1.1);}
.tm-leaf b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tm-leaf i{font-style:normal;opacity:.92;font-variant-numeric:tabular-nums;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tr-legend{display:flex;flex-direction:column;gap:0.15rem;margin-top:0.7rem;width:100%;font-size:0.72rem;}
.trl-cat{display:grid;grid-template-columns:12px 1fr auto auto;gap:0.45rem;align-items:center;padding:3px 0;color:var(--txt);font-weight:600;cursor:pointer;}
.trl-cat .dot{width:10px;height:10px;border-radius:3px;}
.trl-cat .v,.trl-kid .v{font-variant-numeric:tabular-nums;text-align:right;min-width:52px;}
.trl-cat .s,.trl-kid .s{font-variant-numeric:tabular-nums;text-align:right;min-width:44px;color:var(--g);}
.trl-kids{display:none;padding-left:18px;}
.trl-kids.open{display:block;}
.trl-kid{display:grid;grid-template-columns:1fr auto auto;gap:0.45rem;color:var(--sub);padding:1px 0;}
.trl-head{display:grid;grid-template-columns:12px 1fr auto auto;gap:0.45rem;color:var(--sub);font-size:0.64rem;border-bottom:1px solid var(--bdr);padding-bottom:3px;margin-bottom:2px;}
.trl-head span:nth-child(3),.trl-head span:nth-child(4){text-align:right;min-width:44px;}
.trl-note{font-size:0.64rem;color:var(--sub);margin-top:0.45rem;line-height:1.4;}
.tsw{position:relative;width:44px;height:24px;border-radius:999px;border:none;background:#cbd5e1;cursor:pointer;flex-shrink:0;transition:background .18s;padding:0;vertical-align:middle;}
.tsw span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .18s;}
.tsw.on{background:var(--g);}
.tsw.on span{left:23px;}
.tsw:disabled{opacity:.55;cursor:wait;}
.tsw-lg{width:64px;height:34px;}
.tsw-lg span{width:26px;height:26px;top:4px;left:4px;}
.tsw-lg.on span{left:34px;}
.trial-mini{display:inline-flex;align-items:center;gap:0.4rem;padding:2px 8px 2px 10px;border-radius:999px;border:1px solid var(--bdr);background:var(--bg2);color:var(--txt);font-weight:600;}
.trial-mini .tm-st{font-size:0.72rem;color:var(--sub);font-weight:600;}
.trial-mini .tm-st.on{color:var(--g);}
.trial-switch-card{display:grid;grid-template-columns:1fr auto;gap:0.8rem 1.2rem;align-items:center;padding:1rem 1.15rem;margin-bottom:0.85rem;border-radius:14px;border:2px solid var(--bdr);background:var(--card);}
.trial-switch-card.on{border-color:var(--g);background:rgba(34,197,94,0.06);}
.tsc-ttl{font-size:1rem;font-weight:700;color:var(--txt);}
.tsc-state{display:inline-block;margin-left:0.5rem;padding:1px 10px;border-radius:999px;font-size:0.75rem;font-weight:700;background:#e2e8f0;color:#475569;vertical-align:middle;}
.trial-switch-card.on .tsc-state{background:var(--g);color:#fff;}
.tsc-sub{font-size:0.74rem;color:var(--sub);margin-top:4px;line-height:1.45;}
.tsc-start{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 0.7rem;padding-top:0.7rem;border-top:1px dashed var(--bdr);font-size:0.8rem;color:var(--txt);}
.tsc-start .tsc-sub{flex-basis:100%;margin:0;}
@media(max-width:1100px){.tm{height:250px;}}
@media(max-width:760px){
  .admin-kpi-grid.kg-fin{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;}
  .admin-kpi-grid.kg-fin>.admin-kpi,.admin-kpi-grid.kg-fin>.admin-kpi:nth-child(n+4){grid-column:span 1;}
  .admin-kpi-grid.kg-fin>.admin-kpi:first-child{grid-column:1/-1;}
  .admin-kpi-grid.kg-traffic{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;}
  .admin-kpi-col .admin-kpi{min-height:86px;padding:0.75rem 0.85rem;}
  .kpi-pair b{font-size:1.1rem;}
  .tm{height:230px;}
  .admin-livebar .trial-mini{order:5;}
}
@media(max-width:480px){.admin-kpi-grid.kg-fin,.admin-kpi-grid.kg-traffic{grid-template-columns:repeat(2,minmax(0,1fr));}}
.admin-sec{background:var(--bg3);border:1px solid var(--bdr);border-radius:16px;padding:1.15rem 1.25rem;margin-bottom:1.15rem;}
.admin-sec-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:0.95rem;}
.admin-sec-ttl{font-size:1rem;font-weight:700;color:var(--txt);}
.admin-sec-hint{font-size:0.72rem;color:var(--sub);margin-top:4px;max-width:42rem;line-height:1.45;}
.admin-sec-right{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;}
.admin-sec-sum{font-size:0.88rem;color:var(--sub);}
.admin-sec-sum b{color:var(--g);font-size:1.05rem;font-weight:700;}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0.85rem;}
.pa-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:12px;padding:1rem 1.05rem;}
.pa-card-top{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.55rem;}
.pa-name{font-size:0.88rem;font-weight:700;color:var(--txt);}
.pa-key{font-size:0.7rem;color:var(--sub);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.pa-bal{font-size:1.45rem;font-weight:700;color:var(--g);margin:0.35rem 0;}
.pa-meta{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center;margin-top:0.45rem;}
.pa-badge{font-size:0.68rem;padding:2px 8px;border-radius:999px;border:1px solid var(--bdr);color:var(--sub);}
.pa-badge.on{background:rgba(0,229,160,0.12);color:var(--g);border-color:rgba(0,229,160,0.25);}
.pa-badge.off{background:rgba(225,29,72,0.1);color:var(--r);border-color:rgba(225,29,72,0.25);}
.pa-badge.valid{background:rgba(13,148,136,0.12);color:var(--p2);border-color:rgba(13,148,136,0.28);}
.pa-badge.invalid{background:rgba(217,119,6,0.12);color:var(--y);border-color:rgba(217,119,6,0.28);}
.pa-time{font-size:0.68rem;color:var(--sub);margin-left:auto;}
.ub-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:12px;padding:1.1rem 1.2rem;max-width:360px;}
.ub-card .kpi-l{font-size:0.72rem;color:var(--sub);margin-bottom:8px;font-weight:600;}
.ub-card .kpi-v{font-size:1.65rem;font-weight:700;color:var(--g);}
@media(max-width:1100px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr);} .admin-finance-main{grid-template-columns:1fr;}}
@media(max-width:760px){.admin-kpi-grid{grid-template-columns:repeat(2,1fr);} .admin-kpi .kpi-v{font-size:1.25rem;}}
@media(max-width:480px){.admin-kpi-grid{grid-template-columns:1fr;}}

/* ── Price & Help pages ── */

/* ── Developer API docs (#page-dev) ── */
#page-dev{padding:78px 0 4rem;}
#page-dev .dev-hero{text-align:center;padding:2.5rem 0 2rem;max-width:920px;margin:0 auto;}
#page-dev .dev-hero h1,#page-dev .dev-hero h2.pg-h1{font-size:clamp(1.85rem,4.5vw,2.85rem);font-weight:750;color:var(--txt);line-height:1.2;letter-spacing:-0.02em;margin:0 0 1rem;}
#page-dev .dev-hero p{font-size:1rem;color:var(--sub);line-height:1.75;margin:0 auto 1.5rem;max-width:720px;}
#page-dev .dev-hero-ctas{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center;}
#page-dev .dev-intro{background:var(--card);border:1px solid var(--bdr);border-radius:16px;padding:1.35rem 1.5rem;margin:0 auto 2rem;max-width:920px;}
#page-dev .dev-intro h2{font-size:1.15rem;font-weight:700;color:var(--txt);margin:0 0 0.5rem;}
#page-dev .dev-intro p{font-size:0.92rem;color:var(--sub);line-height:1.7;margin:0 0 0.85rem;}
#page-dev .dev-steps{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0;padding:0;list-style:none;}
#page-dev .dev-steps li{font-size:0.78rem;font-weight:600;color:var(--p3);background:rgba(13,148,136,0.1);border:1px solid rgba(13,148,136,0.22);border-radius:999px;padding:4px 12px;}
#page-dev .dev-sec-ttl{text-align:center;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:720;color:var(--txt);margin:0 0 1.25rem;}
#page-dev .dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0.9rem;margin-bottom:1.25rem;}
#page-dev .dev-ep{background:var(--card);border:1px solid var(--bdr);border-radius:14px;padding:1.1rem 1.15rem;transition:border-color 0.18s,transform 0.18s;}
#page-dev .dev-ep:hover{border-color:var(--p2);transform:translateY(-1px);}
#page-dev .dev-ep .meth{display:inline-block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.68rem;font-weight:700;letter-spacing:0.04em;padding:2px 8px;border-radius:6px;margin-bottom:0.55rem;}
#page-dev .dev-ep .meth.get{background:rgba(13,148,136,0.15);color:#0d9488;}
#page-dev .dev-ep .meth.post{background:rgba(20,184,166,0.18);color:#0f766e;}
html[data-theme="dark"] #page-dev .dev-ep .meth.get{color:#5eead4;}
html[data-theme="dark"] #page-dev .dev-ep .meth.post{color:#2dd4bf;}
#page-dev .dev-ep h3{font-size:0.95rem;font-weight:700;color:var(--txt);margin:0 0 0.35rem;}
#page-dev .dev-ep .path{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.74rem;color:var(--p3);word-break:break-all;margin-bottom:0.45rem;}
#page-dev .dev-ep p{font-size:0.8rem;color:var(--sub);line-height:1.55;margin:0;}
#page-dev .dev-wide{background:var(--card);border:1px solid var(--bdr);border-radius:14px;padding:1.25rem 1.35rem;margin-bottom:1.25rem;border-left:3px solid #0d9488;}
#page-dev .dev-wide h3{font-size:1rem;font-weight:700;color:var(--txt);margin:0 0 0.45rem;}
#page-dev .dev-wide p{font-size:0.88rem;color:var(--sub);line-height:1.65;margin:0;}
#page-dev .dev-curl{background:var(--card);border:1px solid var(--bdr);border-radius:14px;padding:1.25rem 1.35rem;margin-bottom:1.25rem;}
#page-dev .dev-curl h3{font-size:1rem;font-weight:700;color:var(--txt);margin:0 0 0.75rem;}
#page-dev .dev-curl pre{background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;padding:0.9rem 1rem;overflow-x:auto;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.74rem;color:var(--txt);line-height:1.55;margin:0 0 0.85rem;white-space:pre-wrap;word-break:break-all;}
#page-dev .dev-curl pre:last-child{margin-bottom:0;}
#page-dev .dev-curl .curl-lbl{font-size:0.75rem;font-weight:600;color:var(--p3);margin:0 0 0.35rem;}
#page-dev .dev-tips{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0.9rem;margin-bottom:1.75rem;}
#page-dev .dev-tip{background:var(--card);border:1px solid var(--bdr);border-radius:14px;padding:1.1rem 1.15rem;}
#page-dev .dev-tip h3{font-size:0.92rem;font-weight:700;color:var(--txt);margin:0 0 0.4rem;}
#page-dev .dev-tip p,#page-dev .dev-tip ul{font-size:0.8rem;color:var(--sub);line-height:1.6;margin:0;}
#page-dev .dev-tip ul{padding-left:1.1rem;}
#page-dev .dev-tip code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.72rem;color:var(--p3);}
#page-dev .dev-cta{background:linear-gradient(135deg,rgba(13,148,136,0.12),rgba(20,184,166,0.08));border:1px solid rgba(13,148,136,0.28);border-radius:16px;padding:1.75rem 1.5rem;text-align:center;margin-bottom:1rem;}
#page-dev .dev-cta h2{font-size:1.25rem;font-weight:720;color:var(--txt);margin:0 0 0.5rem;}
#page-dev .dev-cta p{font-size:0.9rem;color:var(--sub);margin:0 0 1rem;}
#page-dev .dev-cta .dev-hero-ctas{justify-content:center;}
#page-price,#page-help,#page-dev{padding:78px 0 4rem;}
html[data-theme="light"] #page-dev{background:var(--bg);}

#page-price,#page-help{padding:78px 0 4rem;}
/* ── Price / Help public pages (Vozira density, SMS Duo tokens) ── */
.sm-pub-wrap{max-width:1120px;}
.sm-hero{text-align:center;padding:2.5rem 0 2rem;max-width:900px;margin:0 auto;}
.sm-hero .eye{margin-bottom:0.75rem;}
.sm-hero h1,.sm-hero h2.pg-h1{font-size:clamp(1.85rem,4.5vw,2.85rem);font-weight:750;color:var(--txt);line-height:1.2;letter-spacing:-0.02em;margin:0 0 1rem;}
.sm-hero p{font-size:1rem;color:var(--sub);line-height:1.75;margin:0 auto;max-width:720px;}
.sm-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:1.5rem;}
.sm-actions-left{justify-content:flex-start;}
.sm-sec{padding:1.75rem 0 2rem;}
.sm-sec > h2,.sm-panel > h2{font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:720;color:var(--txt);margin:0 0 0.85rem;line-height:1.3;}
.sm-lead{max-width:780px;font-size:0.95rem;color:var(--sub);line-height:1.75;margin:0 0 1rem;}
.sm-panel,.sm-card,.sm-step,.sm-important{
  border:1px solid var(--bdr);background:var(--card);border-radius:16px;padding:1.4rem 1.45rem;
}
.sm-panel a,.sm-sec a{color:var(--p2);font-weight:600;font-size:0.88rem;}
.sm-panel a:hover{color:var(--p);}
.sm-list{margin:0.75rem 0 1rem;padding-left:1.2rem;color:var(--sub);font-size:0.9rem;line-height:1.7;}
.sm-list li{margin:0.35rem 0;}
.sm-list strong{color:var(--txt);}
.sm-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.sm-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:1rem;}
.sm-card h3,.sm-step h3,.sm-panel h3{font-size:1rem;font-weight:700;color:var(--txt);margin:0 0 0.5rem;line-height:1.4;}
.sm-card p,.sm-step p,.sm-panel p{font-size:0.88rem;color:var(--sub);line-height:1.7;margin:0 0 0.65rem;}
.sm-panel p:last-child,.sm-card p:last-child{margin-bottom:0;}
.vz-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:0.5rem;}
.vz-steps article{border:1px solid var(--bdr);border-radius:14px;padding:1.35rem 1.3rem;background:var(--card);}
.vz-number{font-size:1.75rem;font-weight:800;color:var(--p2);display:block;margin-bottom:0.45rem;font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:0.04em;}
.vz-steps h3{font-size:1rem;font-weight:700;margin:0 0 0.45rem;color:var(--txt);}
.vz-steps p{font-size:0.88rem;color:var(--sub);line-height:1.7;margin:0;}
.sm-notice{margin-top:1rem;background:rgba(13,148,136,0.08);}
.sm-notice .btn{margin-top:0.35rem;}
.sm-steps4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:0.75rem;}
.vz-table-wrap{overflow:auto;border:1px solid var(--bdr);border-radius:14px;margin:1.25rem 0;}
.vz-table{border-collapse:collapse;width:100%;text-align:left;font-size:0.92rem;}
.vz-table caption{text-align:left;padding:14px 18px;background:rgba(13,148,136,0.12);font-weight:700;color:var(--txt);}
.vz-table th,.vz-table td{padding:14px 18px;border-bottom:1px solid var(--bdr);vertical-align:top;}
.vz-table thead th{color:var(--txt);background:rgba(13,148,136,0.08);font-weight:700;}
.vz-table tbody th{color:var(--txt);font-weight:650;background:transparent;text-align:left;}
.vz-table td{color:var(--sub);}
.vz-table tr:last-child td,.vz-table tr:last-child th{border-bottom:0;}
.faq-acc{display:flex;flex-direction:column;}
.faq-acc details{border-top:1px solid var(--bdr);padding:0.95rem 0.15rem;}
.faq-acc details:last-child{border-bottom:1px solid var(--bdr);}
.faq-acc summary{font-weight:650;font-size:0.95rem;color:var(--txt);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;line-height:1.45;}
.faq-acc summary::-webkit-details-marker{display:none;}
.faq-acc summary::after{content:'+';color:var(--p3);font-weight:700;font-size:1.1rem;flex-shrink:0;}
.faq-acc details[open] summary::after{content:'−';}
.faq-acc details p{font-size:0.88rem;color:var(--sub);line-height:1.7;margin:0.65rem 0 0.2rem;padding-right:1.5rem;}
.sm-important{margin:0.5rem 0 1.75rem;font-size:0.9rem;color:var(--sub);line-height:1.7;}
.sm-important strong{color:var(--txt);}
.sm-cta{text-align:center;padding:2.25rem 1.4rem;border:1px solid var(--bdr);border-radius:18px;background:rgba(13,148,136,0.08);margin:0.5rem 0 1rem;}
.sm-cta h2{font-size:1.35rem;font-weight:720;margin:0 0 0.5rem;color:var(--txt);}
.sm-cta p{font-size:0.92rem;color:var(--sub);margin:0 0 1.2rem;line-height:1.65;}
@media(max-width:900px){
  .sm-split,.sm-grid3,.vz-steps{grid-template-columns:1fr;}
  .sm-steps4{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .sm-hero{padding:1.75rem 0 1.25rem;}
  .sm-sec{padding:1.25rem 0 1.5rem;}
  .sm-panel,.sm-card,.sm-step{padding:1.15rem 1.2rem;}
  .sm-actions > *{width:100%;}
  .vz-table{font-size:0.8rem;}
  .vz-table th,.vz-table td{padding:12px 10px;}
}
html[data-theme="light"] #page-price,
html[data-theme="light"] #page-help{background:var(--bg);}
html[data-theme="light"] .sm-panel,
html[data-theme="light"] .sm-card,
html[data-theme="light"] .sm-step,
html[data-theme="light"] .vz-steps article,
html[data-theme="light"] .sm-important{
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,0.04);
}
html[data-theme="light"] .vz-table caption{background:rgba(13,148,136,0.08);}
html[data-theme="light"] .vz-table thead th{background:rgba(13,148,136,0.06);}



/* ═══ Dark theme: unified black-green (all rules scoped to html[data-theme="dark"]; light theme untouched) ═══ */
html[data-theme="dark"]{--nav-bg:rgba(2,32,25,0.88);color-scheme:dark;scrollbar-color:#0f766e #021a14;}
html[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px;}
html[data-theme="dark"] ::-webkit-scrollbar-track{background:#021a14;}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#0f5c4a;border-radius:8px;border:2px solid #021a14;}
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#0f766e;}
/* top nav + mobile drawer */
html[data-theme="dark"] nav,
html[data-theme="dark"] .mob-menu{
  background:rgba(2,32,25,0.88) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom-color:rgba(94,234,212,0.16) !important;
  box-shadow:0 1px 0 rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.18);
}
html[data-theme="dark"] .logo{color:#ecfdf5 !important;}
html[data-theme="dark"] .logo .logo-sms{color:#ecfdf5 !important;}
html[data-theme="dark"] .logo .logo-duo,
html[data-theme="dark"] .logo span{color:#2dd4bf !important;}
html[data-theme="dark"] nav .nl,
html[data-theme="dark"] .mob-menu .nl{color:#a7c4b5;}
html[data-theme="dark"] nav .nl:hover,
html[data-theme="dark"] .mob-menu .nl:hover{color:#ecfdf5;background:rgba(94,234,212,0.1);}
html[data-theme="dark"] nav .nl.on,
html[data-theme="dark"] .mob-menu .nl.on{color:#fff;background:#0d9488;}
html[data-theme="dark"] .ham:hover{background:rgba(94,234,212,0.1);}
/* language switch + theme toggle */
html[data-theme="dark"] .lang-sw{background:rgba(6,78,59,0.55);border-color:rgba(94,234,212,0.22);}
html[data-theme="dark"] .lang-sw button{color:#a7c4b5;}
html[data-theme="dark"] .lang-sw button.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;}
html[data-theme="dark"] .lang-sw button:not(.on):hover{color:#ecfdf5;background:rgba(94,234,212,0.1);}
html[data-theme="dark"] .theme-tog{background:rgba(6,78,59,0.55);color:#ecfdf5;border-color:rgba(94,234,212,0.22);}
html[data-theme="dark"] .theme-tog:hover{color:#fff;border-color:var(--p2);background:rgba(20,184,166,0.18);}
/* notice bar */
html[data-theme="dark"] #announce-bar{
  background:linear-gradient(90deg,#053d31 0%,#065f46 50%,#053d31 100%) !important;
  color:#d1fae5 !important;border-bottom:1px solid rgba(94,234,212,0.18);
}
/* home sections below hero */
html[data-theme="dark"] body.on-home #page-home .home-sec{
  background:transparent;border-top-color:rgba(94,234,212,0.12);color:var(--txt);
}
html[data-theme="dark"] body.on-home #page-home .home-sec .eye{color:#5eead4;}
html[data-theme="dark"] body.on-home #page-home .home-sec .sec-ttl{color:#ecfdf5;}
html[data-theme="dark"] body.on-home #page-home .home-sec .sec-sub{color:#a7c4b5;}
html[data-theme="dark"] body.on-home #page-home .step,
html[data-theme="dark"] body.on-home #page-home .feat{
  background:linear-gradient(165deg,rgba(6,78,59,0.55),rgba(2,44,34,0.7));border-color:rgba(94,234,212,0.18);color:var(--txt);
}
html[data-theme="dark"] body.on-home #page-home .step:hover,
html[data-theme="dark"] body.on-home #page-home .feat:hover{border-color:rgba(94,234,212,0.45);}
html[data-theme="dark"] body.on-home #page-home .step h3,
html[data-theme="dark"] body.on-home #page-home .feat h3{color:#ecfdf5;}
html[data-theme="dark"] body.on-home #page-home .step p,
html[data-theme="dark"] body.on-home #page-home .feat p{color:#a7c4b5;}
html[data-theme="dark"] body.on-home #page-home .step-num{background:rgba(13,148,136,0.18);border-color:rgba(94,234,212,0.3);color:#5eead4;}
html[data-theme="dark"] body.on-home #page-home .step.hl{
  border-color:rgba(94,234,212,0.45);
  background:linear-gradient(135deg,rgba(13,148,136,0.3),rgba(2,44,34,0.7));
}
html[data-theme="dark"] body.on-home #page-home .step.hl .step-num{background:rgba(20,184,166,0.28);border-color:rgba(94,234,212,0.45);}
html[data-theme="dark"] body.on-home #page-home .hl-badge{background:rgba(13,148,136,0.28);color:#5eead4;border-color:rgba(94,234,212,0.35);}
/* free SMS: opaque sticky table header */
html[data-theme="dark"] #page-free .free-sms-table th{background:#043a2e;z-index:2;box-shadow:0 1px 0 var(--bdr);}
/* toasts: solid dark surface */
html[data-theme="dark"] .toast.ok{background:rgba(2,44,34,0.95);border-color:rgba(0,229,160,0.4);color:#6ee7b7;box-shadow:0 10px 30px rgba(0,0,0,0.4);}
html[data-theme="dark"] .toast.er,
html[data-theme="dark"] .toast.err{background:rgba(40,10,18,0.95);border-color:rgba(255,77,109,0.45);color:#ff8fa3;box-shadow:0 10px 30px rgba(0,0,0,0.4);}
/* native select options */
html[data-theme="dark"] select option{background:#053d31;color:#ecfdf5;}
/* hero stat cards */
html[data-theme="dark"] .hs-lbl{color:#a7c4b5;}
/* Home: popular platforms block (#home-popular) — fills gap between steps and "why" */
#page-home #home-popular.home-sec{padding-top:0;border-top:0;}
#home-popular .pop-hd .eye,#home-popular .pop-hd .sec-ttl{text-align:left;}
#home-popular .pop-hd .sec-sub{text-align:left;max-width:none;margin:0 0 1.5rem;}
.pop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
.pop-card{display:flex;flex-direction:column;gap:0.75rem;padding:1.2rem 1.15rem;border:1px solid var(--bdr);border-radius:14px;background:var(--bg3);cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s;min-width:0;}
.pop-card:hover,.pop-card:focus-visible{border-color:rgba(13,148,136,0.45);transform:translateY(-2px);box-shadow:0 8px 24px rgba(13,148,136,0.10);outline:none;}
.pop-top{display:flex;align-items:center;gap:0.6rem;min-width:0;}
.pop-ico{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pop-ico svg{width:19px;height:19px;fill:#fff;}
.pop-name{font-weight:700;font-size:0.98rem;}
.pop-price{min-height:2.3rem;display:flex;align-items:flex-end;}
.pop-val{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 0.3rem;}
.pop-val[hidden]{display:none;}
.pop-from,.pop-unit{font-size:0.76rem;color:var(--sub);}
.pop-amt{font-size:1.85rem;font-weight:800;letter-spacing:-0.02em;line-height:1.1;color:var(--p3);}
.pop-see{font-size:0.95rem;font-weight:700;color:var(--p);}
a.pop-name{color:inherit;text-decoration:none;min-width:0;overflow-wrap:anywhere;}
a.pop-name:hover,a.pop-name:focus-visible{text-decoration:underline;text-underline-offset:3px;}
.pop-foot{display:flex;justify-content:flex-end;margin-top:1.25rem;}
body.on-home #page-home .pop-card{background:#f8fafc;border-color:#e2e8f0;color:#0f172a;}
body.on-home #page-home .pop-card:hover{border-color:rgba(13,148,136,0.45);}
html[data-theme="dark"] body.on-home #page-home .pop-card{background:linear-gradient(165deg,rgba(6,78,59,0.55),rgba(2,44,34,0.7));border-color:rgba(94,234,212,0.18);color:var(--txt);}
html[data-theme="dark"] body.on-home #page-home .pop-card:hover{border-color:rgba(94,234,212,0.45);}
html[data-theme="dark"] body.on-home #page-home .pop-name{color:#ecfdf5;}
html[data-theme="dark"] body.on-home #page-home .pop-amt{color:#5eead4;}
html[data-theme="dark"] body.on-home #page-home .pop-see{color:#5eead4;}
html[data-theme="dark"] body.on-home #page-home .pop-from,
html[data-theme="dark"] body.on-home #page-home .pop-unit{color:#a7c4b5;}
@media(max-width:560px){
  .pop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.7rem;}
  .pop-card{padding:1rem 0.85rem;}
  .pop-amt{font-size:1.45rem;}
  .pop-foot .btn{width:100%;}
}
/* ═══ HD REDESIGN — lower homepage sections (paste at END of the main <style>, after the existing #home-popular rules) ═══
   Uses existing vars/classes: .home-sec .wrap .eye .sec-ttl .sec-sub .btn .btn-p .btn-ghost .pop-*.
   Light = body.on-home white sections; Dark = html[data-theme="dark"] (existing mechanism). */

/* shared section head */
#page-home .hd-hd{text-align:center;margin-bottom:2.25rem;}
#page-home .hd-hd .sec-sub{margin:0 auto;max-width:600px;}
#page-home .hd-hd-left{text-align:left;}
#page-home .hd-hd-left .eye,#page-home .hd-hd-left .sec-ttl,#page-home .hd-hd-left .sec-sub{text-align:left;margin-left:0;}
#page-home h2.sec-ttl{line-height:1.25;}
html[data-theme="light"] body.on-home #page-home .hd-sec-tint,body.on-home #page-home .hd-sec-tint{background:#f6faf9;}
html[data-theme="dark"] body.on-home #page-home .hd-sec-tint{background:rgba(2,44,34,0.35);}

/* icon chip (inline SVG, stroke) */
.hd-ico{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(13,148,136,0.10);color:#0d9488;border:1px solid rgba(13,148,136,0.18);}
.hd-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hd-ico-sm{width:30px;height:30px;border-radius:9px;}
.hd-ico-sm svg{width:16px;height:16px;}
html[data-theme="dark"] .hd-ico{background:rgba(20,184,166,0.16);color:#5eead4;border-color:rgba(94,234,212,0.25);}

/* shared card surface */
.hd-step,.hd-cov,.hd-feat,.hd-explain,.hd-q,.hd-pay-i{background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a;min-width:0;}
.hd-sec-tint .hd-cov,.hd-sec-tint .hd-q,.hd-sec-tint .hd-explain{background:#ffffff;}
html[data-theme="dark"] .hd-step,html[data-theme="dark"] .hd-cov,html[data-theme="dark"] .hd-feat,
html[data-theme="dark"] .hd-explain,html[data-theme="dark"] .hd-q,html[data-theme="dark"] .hd-pay-i{
  background:linear-gradient(165deg,rgba(6,78,59,0.55),rgba(2,44,34,0.7));border-color:rgba(94,234,212,0.18);color:#ecfdf5;}
#page-home .hd-sec h3{font-size:0.98rem;font-weight:700;line-height:1.35;margin:0;color:inherit;}
.hd-sec p{overflow-wrap:anywhere;}

/* HD-1 popular: platform name is the crawlable anchor inside an H3 */
#page-home #home-popular.home-sec.hd-sec{padding-top:4.5rem;border-top:0;}
.hd-pop-h{margin:0;font-size:0.98rem;font-weight:700;min-width:0;line-height:1.3;}
.hd-pop-foot{justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.hd-pop-note{font-size:0.8rem;color:#64748b;margin:0;min-width:0;flex:1 1 260px;}
html[data-theme="dark"] .hd-pop-note{color:#a7c4b5;}

/* HD-2 steps */
.hd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:none;}
.hd-step{position:relative;border-radius:16px;padding:1.35rem 1.2rem 1.4rem;display:flex;flex-direction:column;gap:0.85rem;}
.hd-step-n{position:absolute;top:1rem;right:1.1rem;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.8rem;font-weight:700;color:#0d9488;opacity:0.75;}
html[data-theme="dark"] .hd-step-n{color:#5eead4;}
.hd-step-tx h3{margin-bottom:0.35rem !important;}
.hd-step-tx p,.hd-feat p{font-size:0.84rem;line-height:1.65;color:#64748b;margin:0;}
html[data-theme="dark"] .hd-step-tx p,html[data-theme="dark"] .hd-feat p{color:#a7c4b5;}
.hd-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.5rem;margin:1.5rem 0 0;font-size:0.84rem;color:#64748b;}
html[data-theme="dark"] .hd-note{color:#a7c4b5;}
.hd-note-k{font-weight:600;}
/* placeholder marker — visible on staging so the owner can spot it; must be filled before production */

/* HD-3 coverage */
.hd-cov-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.85rem;}
.hd-cov{border-radius:14px;padding:1rem 1.05rem;display:flex;align-items:center;gap:0.8rem;}
.hd-cov-us{grid-column:span 1;}
.hd-cov-tx{min-width:0;display:flex;flex-direction:column;gap:0.35rem;}
.hd-cc{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.78rem;font-weight:700;letter-spacing:0.02em;
  background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;}
.hd-tags{display:flex;flex-wrap:wrap;gap:0.3rem;}
.hd-tag{font-size:0.68rem;font-weight:700;padding:1px 8px;border-radius:999px;background:rgba(13,148,136,0.12);color:#0f766e;border:1px solid rgba(13,148,136,0.25);white-space:nowrap;}
.hd-tag-s{background:transparent;}
html[data-theme="dark"] .hd-tag{background:rgba(20,184,166,0.18);color:#5eead4;border-color:rgba(94,234,212,0.3);}
html[data-theme="dark"] .hd-tag-s{background:transparent;}
.hd-explain{margin-top:1rem;border-radius:14px;padding:0.9rem 1.1rem;display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;}
.hd-explain p{flex:1 1 320px;min-width:0;margin:0;font-size:0.84rem;line-height:1.6;color:#64748b;}
.hd-explain p b{color:#0f172a;}
html[data-theme="dark"] .hd-explain p{color:#a7c4b5;}
html[data-theme="dark"] .hd-explain p b{color:#ecfdf5;}
.hd-btn-sm{padding:8px 16px;font-size:0.84rem;}
body.on-home #page-home .hd-btn-sm.btn-ghost{background:#fff;border:1px solid #cbd5e1;color:#0f172a;}
body.on-home #page-home .hd-btn-sm.btn-ghost:hover{border-color:#14b8a6;background:rgba(13,148,136,0.08);}
html[data-theme="dark"] body.on-home #page-home .hd-btn-sm.btn-ghost{background:rgba(255,255,255,0.06);border-color:rgba(94,234,212,0.35);color:#ecfdf5;}

/* HD-4 why */
.hd-feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.hd-feat{border-radius:16px;padding:1.35rem 1.3rem;display:flex;flex-direction:column;gap:0.6rem;transition:border-color .2s,transform .2s;}
.hd-feat:hover{border-color:rgba(13,148,136,0.45);transform:translateY(-2px);}
html[data-theme="dark"] .hd-feat:hover{border-color:rgba(94,234,212,0.45);}
.hd-feat .hd-ico{margin-bottom:0.2rem;}

/* HD-5 payment */
.hd-pay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:2rem;align-items:center;}
.hd-pay-tx .eye,.hd-pay-tx .sec-ttl,.hd-pay-tx .sec-sub{text-align:left !important;margin-left:0 !important;}
.hd-pay-tx .sec-sub{margin:0 !important;max-width:none !important;}
.hd-pay-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;}
.hd-pay-i{border-radius:14px;padding:0.85rem 1rem;display:flex;align-items:center;gap:0.75rem;}
.hd-pay-b{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1rem;}
.hd-pay-n{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.hd-pay-n b{font-size:0.95rem;}
.hd-pay-n small{font-size:0.74rem;color:#64748b;font-family:'JetBrains Mono',ui-monospace,monospace;}
html[data-theme="dark"] .hd-pay-n small{color:#a7c4b5;}

/* HD-6 FAQ */
.hd-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:0.65rem;}
.hd-q{border-radius:12px;padding:0;}
.hd-q summary{list-style:none;cursor:pointer;padding:1rem 2.8rem 1rem 1.15rem;font-weight:600;font-size:0.95rem;position:relative;overflow-wrap:anywhere;}
.hd-q summary::-webkit-details-marker{display:none;}
.hd-q summary::after{content:'';position:absolute;right:1.15rem;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid #0d9488;border-bottom:2px solid #0d9488;transform:rotate(45deg);transition:transform .2s;}
.hd-q[open] summary::after{transform:rotate(-135deg);margin-top:-2px;}
html[data-theme="dark"] .hd-q summary::after{border-color:#5eead4;}
.hd-q p{padding:0 1.15rem 1.05rem;margin:0;font-size:0.87rem;line-height:1.7;color:#64748b;}
html[data-theme="dark"] .hd-q p{color:#a7c4b5;}
.hd-faq-more{text-align:center;margin:1.4rem 0 0;font-size:0.88rem;}
.hd-faq-more a{color:#0d9488;cursor:pointer;font-weight:600;}
.hd-faq-more a:hover{text-decoration:underline;}
html[data-theme="dark"] .hd-faq-more a{color:#5eead4;}

/* HD-7 CTA */
.hd-cta{border-radius:22px;padding:3rem 2rem;text-align:center;color:#ecfdf5;
  background:radial-gradient(ellipse 70% 90% at 50% 0%,rgba(52,211,153,0.28),transparent 65%),linear-gradient(165deg,#064e3b 0%,#065f46 45%,#022c22 100%);
  border:1px solid rgba(94,234,212,0.22);box-shadow:0 18px 50px rgba(2,44,34,0.18);}
#page-home .hd-cta h2{font-size:clamp(1.45rem,2.6vw,2rem);font-weight:700;line-height:1.25;margin:0 0 0.6rem;color:#fff;}
.hd-cta p{color:rgba(236,253,245,0.8);font-size:0.95rem;margin:0 auto 1.6rem;max-width:560px;}
.hd-cta-btns{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;}
body.on-home #page-home .hd-cta-ghost{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.3);color:#fff;}
body.on-home #page-home .hd-cta-ghost:hover{background:rgba(255,255,255,0.14);border-color:#5eead4;}
#page-home #hd-cta.home-sec{border-top:0;padding-top:1rem;}

/* optional footer popular-pages row */
.hd-foot-pop{display:flex;flex-wrap:wrap;gap:0.4rem 1.1rem;justify-content:center;align-items:center;margin:0 0 1rem;font-size:0.78rem;}
.hd-foot-pop span{color:var(--sub);font-weight:600;}
.hd-foot-pop a{color:var(--sub);text-decoration:none;}
.hd-foot-pop a:hover{color:var(--p3);text-decoration:underline;}

/* responsive — all grids use minmax(0,1fr); verified no overflow at 360/390/414 */
@media(max-width:1024px){
  .hd-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hd-cov-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:860px){
  .hd-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hd-pay{grid-template-columns:minmax(0,1fr);gap:1.25rem;}
}
@media(max-width:560px){
  #page-home #home-popular.home-sec.hd-sec{padding-top:3rem;}
  #page-home .hd-hd{margin-bottom:1.5rem;}
  .hd-steps{grid-template-columns:minmax(0,1fr);gap:0.6rem;}
  .hd-step{flex-direction:row;align-items:flex-start;gap:0.8rem;padding:0.95rem 2.2rem 0.95rem 0.95rem;border-radius:14px;}
  .hd-step .hd-ico{width:36px;height:36px;border-radius:10px;}
  .hd-step-n{top:0.9rem;right:0.9rem;}
  .hd-cov-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;}
  .hd-cov-us{grid-column:1 / -1;}
  .hd-cov{padding:0.8rem 0.85rem;gap:0.65rem;}
  .hd-cc{width:34px;height:34px;font-size:0.72rem;}
  .hd-explain .hd-btn-sm{width:100%;}
  .hd-feat-grid{grid-template-columns:minmax(0,1fr);gap:0.6rem;}
  .hd-feat{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:0.8rem;row-gap:0.35rem;padding:1rem;}
  .hd-feat .hd-ico{margin:0;width:36px;height:36px;border-radius:10px;}
  .hd-feat h3{flex:1 1 0;min-width:0;}
  .hd-feat p{flex:1 1 100%;}
  .hd-pay-list{gap:0.55rem;}
  .hd-pay-i{padding:0.7rem 0.75rem;gap:0.55rem;}
  .hd-pay-b{width:32px;height:32px;font-size:0.9rem;}
  .hd-q summary{padding:0.9rem 2.5rem 0.9rem 1rem;font-size:0.92rem;}
  .hd-cta{padding:2.2rem 1.15rem;border-radius:18px;}
  .hd-cta-btns .btn{width:100%;}
}
/* Task 13: mobile top bar — keep the menu (hamburger) button on-screen when logged out (≤420px) */
@media(max-width:420px){
  nav{padding:0 10px;gap:6px;}
  nav .logo{flex-shrink:0;}
  nav .nav-r{gap:6px;flex-shrink:0;}
  nav .lang-sw button{padding:4px 7px;white-space:nowrap;}
  nav .nav-r #b-login{padding:6px 10px;white-space:nowrap;}
  nav .ham{padding:6px 4px;}
}
@media(max-width:400px){
  nav .logo{gap:7px;font-size:1.5rem;}
  nav .logo-icon{width:50px;height:50px;}
}
@media(max-width:380px){
  nav .logo{gap:6px;font-size:1.35rem;}
  nav .logo-icon{width:44px;height:44px;}
}
@media(max-width:350px){
  nav{padding:0 8px;}
  nav .logo{gap:4px;font-size:1.1rem;}
  nav .logo-icon{width:34px;height:34px;}
  nav .nav-r{gap:4px;}
  nav .lang-sw button{padding:4px 5px;font-size:0.72rem;}
  nav .nav-r #b-login{padding:5px 8px;font-size:0.78rem;}
}
/* Task 13: low-balance recharge popup — payment method picker */
#m-rech-pay-grid{grid-template-columns:1fr 1fr;margin-bottom:0.9rem;}
#m-rech-pay-grid .rech-pay-card{padding:10px 28px 10px 10px;min-width:0;}
#m-rech-pay-grid .rech-pay-card > div:last-child{min-width:0;}
#m-rech-pay-grid .rech-pay-card .nm{overflow-wrap:anywhere;}
#m-rech-pay-grid .rech-pay-card .sub{overflow-wrap:anywhere;}
/* ═══ HERO v2 — pingnum-style layout + install card (paste at the very END of the main <style>) ═══
   Cause of emptiness (before): body.on-home .hero-land{min-height:100vh/100svh;display:flex;flex-direction:column;justify-content:center}
   + .hero-grid{max-width:1120px} + h1 capped at 3.6rem + card ~430px → a small block floating in the middle of the full screen.
   Now: tall green hero kept (≈ one screen, capped 1100px), content block in the upper-middle and scaled up on wide screens
   via one factor --hs, bottom whitespace (desktop only) hosts the install card. padding-top stays with JS setAnnounceOffset()
   (inline 116px, or 158px when the announce bar shows). */

body.on-home .hero-land{
  --hs:0.92;                                                      /* Task 17: was 1 (hero −8%) */
  min-height:min(100vh,1100px);min-height:min(100svh,1100px);   /* was 100vh / 100svh (uncapped) */
  justify-content:flex-start;                                     /* was center → content sits upper-middle */
  padding-bottom:clamp(1rem,2.2vh,1.75rem);                       /* was 5rem */
}
@media(min-width:1500px){ body.on-home .hero-land{--hs:1.02;} }   /* Task 17: was 1.12 */
@media(min-width:1800px){ body.on-home .hero-land{--hs:1.15;} }   /* Task 17: was 1.26 */
@media(min-width:2300px){ body.on-home .hero-land{--hs:1.24;} }   /* Task 17: was 1.36 */

@media(min-width:961px){
  body.on-home .hero-land .hero-grid{
    max-width:calc(1160px * var(--hs));                           /* was 1120px */
    margin-top:clamp(0.5rem,5.5vh,5.5rem);                        /* was 1.25rem; pushes block to upper-middle */
    grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);        /* was 1.15fr 0.85fr */
    gap:calc(3.5rem * var(--hs));                                 /* was 2.5rem */
  }
  body.on-home .hero-land .hero-badge{font-size:calc(0.8rem * var(--hs));padding:calc(6px * var(--hs)) calc(16px * var(--hs));margin-bottom:calc(1.35rem * var(--hs));}
  body.on-home .hero-land h1{font-size:calc(3.9rem * var(--hs));max-width:calc(640px * var(--hs));}   /* was clamp(2.2rem,4.6vw,3.6rem) / 560px */
  html[lang="en"] body.on-home .hero-land h1{font-size:calc(3.3rem * var(--hs));max-width:calc(700px * var(--hs));}   /* EN words are longer → one step smaller so the block height matches zh */
  body.on-home .hero-land .hero-desc{font-size:calc(1.08rem * var(--hs));max-width:calc(520px * var(--hs));margin-top:calc(1.4rem * var(--hs));}
  body.on-home .hero-land .hbtns{margin-top:calc(2.1rem * var(--hs));gap:calc(1rem * var(--hs));}
  body.on-home .hero-land .hbtns .btn-lg{font-size:calc(1.02rem * var(--hs));padding:calc(14px * var(--hs)) calc(32px * var(--hs));border-radius:calc(12px * var(--hs));}
  body.on-home .hero-land .hero-stats{margin-top:calc(32px * var(--hs));gap:calc(14px * var(--hs)) calc(24px * var(--hs));}
  body.on-home .hero-land .hs-ico{flex-basis:calc(36px * var(--hs));width:calc(36px * var(--hs));height:calc(36px * var(--hs));}
  body.on-home .hero-land .hs-ico svg{width:calc(18px * var(--hs));height:calc(18px * var(--hs));}
  body.on-home .hero-land .hs-lbl{font-size:calc(12.5px * var(--hs));}
  body.on-home .hero-land .hs-num{font-size:calc(20px * var(--hs));}
  body.on-home .hero-land .hero-right{justify-self:end;width:100%;max-width:calc(480px * var(--hs));}
  body.on-home .hero-land .free-card{padding:calc(1.4rem * var(--hs)) calc(1.45rem * var(--hs)) calc(1.3rem * var(--hs));border-radius:calc(18px * var(--hs));}
  body.on-home .hero-land .free-card-hd{margin-bottom:calc(1rem * var(--hs));}
  body.on-home .hero-land .free-card-ttl{font-size:calc(1rem * var(--hs));}
  body.on-home .hero-land .free-card-sub{font-size:calc(0.74rem * var(--hs));}
  body.on-home .hero-land .free-pill{font-size:calc(0.7rem * var(--hs));}
  body.on-home .hero-land .free-row{padding:calc(0.78rem * var(--hs)) calc(0.8rem * var(--hs));gap:calc(0.75rem * var(--hs));margin-bottom:calc(0.55rem * var(--hs));}
  body.on-home .hero-land .free-flag{font-size:calc(1.35rem * var(--hs));}
  body.on-home .hero-land .free-cc{font-size:calc(0.8rem * var(--hs));}
  body.on-home .hero-land .free-type{font-size:calc(0.7rem * var(--hs));}
  body.on-home .hero-land .free-num{font-size:calc(0.86rem * var(--hs));}
  body.on-home .hero-land .free-card .btn{font-size:calc(0.92rem * var(--hs));padding:calc(11px * var(--hs)) calc(22px * var(--hs));margin-top:calc(0.9rem * var(--hs));}
  body.on-home .hero-land .free-foot{font-size:calc(0.8rem * var(--hs));margin-top:calc(0.75rem * var(--hs));}

  /* bottom whitespace (desktop): ALWAYS reserved, card shows inside it or it stays clean whitespace → no layout shift */
  body.on-home .hero-land .hero-inst-slot{
    margin-top:auto;                                              /* pinned to the hero bottom, scrolls with the page */
    padding-top:clamp(1.5rem,4vh,3rem);
    min-height:calc(clamp(1.5rem,4vh,3rem) + 66px * var(--hs));
    display:flex;justify-content:center;align-items:flex-end;
  }
  body.on-home .hero-land .hero-inst{width:min(100%,calc(500px * var(--hs)));max-width:none;padding:calc(0.72rem * var(--hs)) calc(0.8rem * var(--hs));gap:calc(0.85rem * var(--hs));border-radius:calc(16px * var(--hs));}
  body.on-home .hero-land .hero-inst-ico{width:calc(44px * var(--hs));height:calc(44px * var(--hs));}
  body.on-home .hero-land .hero-inst-ico img{width:calc(38px * var(--hs));height:calc(38px * var(--hs));}
  body.on-home .hero-land .hero-inst-tx b{font-size:calc(0.92rem * var(--hs));}
  body.on-home .hero-land .hero-inst-tx span{font-size:calc(0.78rem * var(--hs));}
  body.on-home .hero-land .hero-inst-btn{font-size:calc(0.84rem * var(--hs));padding:calc(8px * var(--hs)) calc(18px * var(--hs));}
  body.on-home .hero-land .hero-inst-x{width:calc(32px * var(--hs));height:calc(32px * var(--hs));}
}

/* short desktop windows (e.g. 1366×768 laptops): don't reserve the tall bottom band; card (if shown) follows the content */
@media(min-width:961px) and (max-height:820px){
  body.on-home .hero-land .hero-inst-slot{padding-top:1rem;min-height:0;}
}

/* install card (never fixed/sticky; hidden until JS decides) */
.hero-inst{position:static;display:flex;align-items:center;gap:0.8rem;width:100%;max-width:500px;padding:0.7rem 0.75rem 0.7rem 0.8rem;
  border-radius:16px;background:rgba(2,44,34,0.72);border:1px solid rgba(94,234,212,0.25);box-shadow:0 12px 32px rgba(0,0,0,0.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ecfdf5;text-align:left;min-width:0;}
.hero-inst[hidden]{display:none !important;}
.hero-inst-ico{width:44px;height:44px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.hero-inst-ico img{width:38px;height:38px;display:block;object-fit:contain;}
.hero-inst-tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.hero-inst-tx b{font-size:0.92rem;font-weight:700;color:#fff;line-height:1.3;}
.hero-inst-tx span{font-size:0.78rem;color:rgba(236,253,245,0.72);line-height:1.4;overflow-wrap:anywhere;}
.hero-inst-tx .hero-inst-ios{color:#5eead4;white-space:pre-line;}
.hero-inst-ios[hidden]{display:none !important;}
.hero-inst-btn{flex-shrink:0;border-radius:10px;padding:8px 18px;font-size:0.84rem;}
.hero-inst-x{flex-shrink:0;width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);
  color:#ecfdf5;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;}
.hero-inst-x:hover{background:rgba(255,255,255,0.14);}

/* tablet / mobile (≤960px, stacked hero): no reserved whitespace; compact card in normal flow under the hero content */
@media(max-width:960px){
  body.on-home .hero-land .hero-inst-slot{display:flex;justify-content:center;}
  body.on-home .hero-land .hero-inst{margin-top:1rem;}
}
@media(max-width:400px){
  body.on-home .hero-land .hero-inst{gap:0.6rem;padding:0.6rem 0.6rem 0.6rem 0.65rem;border-radius:14px;}
  .hero-inst-ico{width:38px;height:38px;border-radius:10px;}
  .hero-inst-ico img{width:32px;height:32px;}
  .hero-inst-btn{padding:7px 10px;font-size:0.78rem;}
  .hero-inst-tx b{font-size:0.88rem;}
  .hero-inst-x{width:28px;height:28px;}
}

/* tighter hand-off to the first lower section (热门平台) */
#page-home #home-popular.home-sec.hd-sec{padding-top:clamp(2.75rem,3.5vw,4.5rem);}   /* was 4.5rem (3rem ≤560px) */

/* ═══ Task 17 (2026-09-26): top nav scales with the hero on wide screens (one factor --ns; ≤1499px unchanged).
   --navh = nav height; --navx = extra height vs the old 58px, added below the nav so nothing slides under it.
   Mobile (≤768px, Task 13 top bar) is untouched. ═══ */
:root{--ns:1;--navh:58px;--navx:0px;}
@media(min-width:769px){
  :root{--navh:calc(58px * var(--ns));--navx:calc(58px * var(--ns) - 58px);}
  nav{height:var(--navh);padding:0 calc(2rem * var(--ns));}
  nav .logo{font-size:calc(1.65rem * var(--ns));gap:calc(10px * var(--ns));}
  nav .logo-icon{width:calc(60px * var(--ns));height:calc(60px * var(--ns));}
  nav .nl-wrap{gap:calc(2px * var(--ns));}
  nav .nl-wrap .nl{font-size:calc(0.84rem * var(--ns));padding:calc(6px * var(--ns)) calc(10px * var(--ns));border-radius:calc(8px * var(--ns));}
  nav .nav-r{gap:calc(0.6rem * var(--ns));}
  nav .lang-sw{border-radius:calc(8px * var(--ns));}
  nav .lang-sw button{font-size:calc(0.78rem * var(--ns));padding:calc(4px * var(--ns)) calc(10px * var(--ns));border-radius:calc(6px * var(--ns));}
  nav .theme-tog{width:calc(34px * var(--ns));height:calc(34px * var(--ns));font-size:calc(0.95rem * var(--ns));border-radius:calc(8px * var(--ns));}
  nav .nav-r .btn-sm{font-size:calc(0.82rem * var(--ns));padding:calc(6px * var(--ns)) calc(14px * var(--ns));border-radius:calc(8px * var(--ns));}
  nav .bal-pill{font-size:calc(0.8rem * var(--ns));padding:calc(5px * var(--ns)) calc(12px * var(--ns));}
  nav .member-trig{font-size:calc(0.82rem * var(--ns));gap:calc(8px * var(--ns));padding:calc(4px * var(--ns)) calc(10px * var(--ns)) calc(4px * var(--ns)) calc(4px * var(--ns));}
  nav .member-av{width:calc(28px * var(--ns));height:calc(28px * var(--ns));font-size:calc(0.75rem * var(--ns));}
  #announce-bar{top:var(--navh) !important;}                     /* inline top:58px */
  body:not(.on-home) .page.on{margin-top:var(--navx);}            /* inner pages: keep the same gap under the taller nav */
}
@media(min-width:1500px){ :root{--ns:1.08;} }
@media(min-width:1800px){ :root{--ns:1.16;} }
@media(min-width:2300px){ :root{--ns:1.24;} }
@media(min-width:961px){
  /* home hero: JS sets padding-top for the old 58px nav; add the extra nav height to the content offset */
  body.on-home .hero-land .hero-grid{margin-top:calc(clamp(0.5rem,5.5vh,5.5rem) + var(--navx));}
}
/* ═══ Task 15 (2026-09-26): top-up robustness UI + homepage acceptance fixes ═══ */
/* defect 2: coin grid in the top-up popup never overflows (320/360) */
#np-coins{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
#np-coins .copt{min-width:0;margin-bottom:0;}
#np-coins .copt>div{min-width:0;overflow-wrap:anywhere;}
@media(max-width:374px){#np-coins{grid-template-columns:minmax(0,1fr) !important;}}
/* suggestion 4: payment method names never break inside a word */
#m-rech-pay-grid .rech-pay-card .nm,#rech-pay-grid .rech-pay-card .nm{overflow-wrap:normal;word-break:keep-all;}
/* awaiting-payment panel (#rech-await) */
.rw-hd{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.9rem;}
.rw-hd .spin{flex-shrink:0;margin:0;}
.rw-ico{font-size:1.6rem;line-height:1;flex-shrink:0;}
.rw-ttl{font-size:1.02rem;font-weight:700;color:var(--txt);}
.rw-sub{font-size:0.82rem;color:var(--sub);line-height:1.55;margin-top:2px;}
.rw-box{background:var(--bg3);border:1px solid var(--bdr);border-radius:12px;padding:0.8rem 1rem;margin-bottom:0.85rem;}
.rw-row{display:flex;align-items:center;gap:0.6rem;padding:5px 0;font-size:0.84rem;min-width:0;}
.rw-row+.rw-row{border-top:1px dashed var(--bdr);}
.rw-k{color:var(--sub);flex-shrink:0;min-width:4.5em;}
.rw-v{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-weight:600;color:var(--txt);}
.rw-v.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.8rem;}
.rw-msg{font-size:0.84rem;line-height:1.6;border-radius:10px;padding:0.7rem 0.85rem;margin-bottom:0.85rem;}
.rw-msg.warn{background:rgba(217,119,6,0.10);border:1px solid rgba(217,119,6,0.35);color:#b45309;}
.rw-msg.info{background:rgba(13,148,136,0.08);border:1px solid var(--bdr);color:var(--txt);}
.rw-msg.ok{background:rgba(5,150,105,0.10);border:1px solid rgba(5,150,105,0.35);color:var(--g);}
html[data-theme="dark"] .rw-msg.warn{color:#fcd34d;border-color:rgba(252,211,77,0.35);background:rgba(252,211,77,0.08);}
.rw-acts{display:flex;flex-wrap:wrap;gap:0.5rem;}
.rw-acts .btn{flex:1 1 140px;min-width:0;justify-content:center;text-align:center;}
.rw-note{font-size:0.75rem;color:var(--sub);margin-top:0.7rem;line-height:1.5;}
#np-inv-line{font-size:0.78rem;color:var(--sub);margin:-0.4rem 0 0.8rem;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
#np-inv-line b{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:600;color:var(--txt);overflow-wrap:anywhere;}
.buy-low-p{font-size:0.86rem;color:var(--txt);line-height:1.6;margin:0.2rem 0 0.6rem;}
/* recharge history / admin: manual review tag */
.tag-mr{background:rgba(249,115,22,0.14);color:#ea580c;}
html[data-theme="dark"] .tag-mr{color:#fdba74;}
/* t49: test-account toggle + badge */
.tst-tog{display:inline-flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--sub);cursor:pointer;user-select:none;white-space:nowrap}
.tst-tog input{width:16px;height:16px;margin:0;accent-color:#16a34a;cursor:pointer}
.tag-test{background:rgba(234,179,8,0.18);color:#a16207;margin-left:4px}
html[data-theme="dark"] .tag-test{color:#fde047;}
.tst-note{font-size:0.72rem;color:var(--sub);white-space:nowrap}
.rh-mr{width:100%;margin-top:4px;padding:8px 10px;border-radius:8px;background:rgba(249,115,22,0.08);border:1px solid rgba(249,115,22,0.25);font-size:0.8rem;line-height:1.5;color:var(--txt);}
.rh-mr-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;}
.rh-mr-lbl{color:var(--sub);}
.rh-mr-inv{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:0.76rem;overflow-wrap:anywhere;word-break:break-all;}
.rq-why{font-size:0.68rem;color:var(--sub);margin-top:3px;max-width:220px;overflow-wrap:anywhere;line-height:1.35;}
/* homepage acceptance suggestions 5–10 */
html[data-theme="dark"] body.on-home #page-home .home-sec .sec-sub,html[data-theme="dark"] .hd-pop-note,html[data-theme="dark"] .hd-step-tx p,
html[data-theme="dark"] .hd-feat p,html[data-theme="dark"] .hd-note,html[data-theme="dark"] .hd-explain p,html[data-theme="dark"] .hd-pay-n small,
html[data-theme="dark"] .hd-q p,html[data-theme="dark"] body.on-home #page-home .pop-unit{color:#c3d9ce;}  /* was #a7c4b5 */
html[data-theme="dark"] .hd-tag{color:#99f6e4;}                                                      /* was #5eead4 */
html[data-theme="light"] .hd-cc{background:#0f766e;}                                                 /* was #0d9488→#14b8a6 */
html[data-theme="light"] body.on-home #page-home .home-sec .eye,html[data-theme="light"] .hd-step-n,html[data-theme="light"] .hd-faq-more a{color:#0f766e;}  /* was #0d9488 */
#hd-why .eye{text-transform:none;}                                                                    /* keep "SMS Duo" casing */
body.on-home #page-home .sec-sub{text-wrap:pretty;}                                                   /* no orphan last char */
/* suggestion 9: "/ number" never drops away from the price. Wide cards: one line. Narrow 2-column cards (≤560px): 「低至/From」 on its own
   line, price + unit together on the next line (unit glued to the price), slightly smaller figures at ≤380px so it fits 320px */
.pop-unit{white-space:nowrap;}
/* Task 18A: one line only where 4 cards are wide enough (≥1100px); below that 「低至/From」 sits on its own line; 561–900px uses 2 columns */
@media(min-width:1100px){.pop-val{flex-wrap:nowrap;white-space:nowrap;}}
@media(max-width:1099px){.pop-val{flex-wrap:wrap;row-gap:0;}.pop-from{flex-basis:100%;}}
@media(min-width:561px) and (max-width:900px){.pop-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:380px){.pop-amt{font-size:1.3rem;}.pop-unit{font-size:0.7rem;}}
@media(max-width:560px){
  .hd-explain{flex-wrap:wrap;align-items:flex-start;}
  .hd-explain p{flex:1 1 0;min-width:0;}
  .hd-explain .hd-btn-sm{flex-basis:100%;}
}
/* t36: trial credit */
.bal-trial{margin-left:6px;font-size:0.72rem;font-weight:700;color:#f59e0b;background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.35);border-radius:999px;padding:1px 7px;white-space:nowrap}
.tx-trial-tag{display:inline-block;font-size:0.68rem;font-weight:700;color:#f59e0b;background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.35);border-radius:6px;padding:0 5px;margin-right:5px;vertical-align:1px}
.trial-modal{max-width:440px}
.trial-hero{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(245,158,11,0.16),rgba(124,58,237,0.14));border:1px solid rgba(245,158,11,0.3);border-radius:12px;padding:12px 14px;margin:0.25rem 0 0.85rem}
.trial-amt{font-size:2rem;font-weight:800;color:#f59e0b;line-height:1}
.trial-lead{font-size:0.88rem;line-height:1.5}
.trial-hint{font-size:0.84rem;line-height:1.55;background:rgba(255,255,255,0.04);border-radius:10px;padding:9px 11px;margin-bottom:0.7rem}
.trial-rules{font-size:0.78rem;color:var(--sub);line-height:1.6;margin:0 0 0.9rem;padding-left:1.1rem}
.trial-msg{font-size:0.86rem;line-height:1.5;border-radius:10px;padding:10px 12px;margin-bottom:0.8rem}
.trial-msg.ok{background:rgba(16,185,129,0.12);color:var(--g)}
.trial-msg.wait{background:rgba(245,158,11,0.12);color:#f59e0b}
.trial-msg.no{background:rgba(239,68,68,0.10);color:var(--r)}
@media(max-width:480px){.trial-amt{font-size:1.7rem}.trial-modal .macts{flex-direction:column-reverse}.trial-modal .macts .btn{width:100%}}
/* t62: 工具中心 / Tools */
#page-tools .tools-sub{color:var(--sub);font-size:0.92rem;line-height:1.6;max-width:760px;margin:0 0 1.25rem}
#page-tools h1.ttl{margin:0}
/* t64: free-check / price line, paid-check confirm, top-up prompt */
.tools-quota{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-0.35rem 0 1.1rem;padding:7px 14px;border-radius:999px;background:rgba(13,148,136,0.10);border:1px solid rgba(13,148,136,0.28);color:var(--txt);font-size:0.88rem;font-weight:600}
.tools-quota[hidden]{display:none}
.tc-err .tc-err-act{display:flex;gap:8px;margin-top:0.55rem;flex-wrap:wrap}
#m-toolpay .tp-body{font-size:0.92rem;line-height:1.65;color:var(--txt);margin:0.4rem 0 0.6rem}
#m-toolpay .tp-note{font-size:0.8rem;color:var(--sub);margin:0 0 1.1rem}
#m-toolpay .tp-act{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}   /* t105: AccDuo + 3 risk → 2×2 */
.tool-card{position:relative;display:flex;flex-direction:column;gap:0.45rem;background:var(--card);border:1px solid var(--bdr);border-radius:16px;padding:1.15rem 1.2rem 1.1rem;color:var(--txt);text-decoration:none;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s}
.tool-card:hover{border-color:var(--p2);box-shadow:0 10px 28px rgba(13,148,136,0.12)}
a.tool-card:hover{transform:translateY(-2px);text-decoration:none}
.tc-hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tc-cat{font-size:0.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--p2)}
.tc-ext{color:var(--sub);font-weight:700}
.tc-soon{display:none;font-size:0.7rem;font-weight:700;padding:2px 9px;border-radius:999px;background:rgba(217,119,6,0.12);color:var(--y);border:1px solid rgba(217,119,6,0.3)}
.tool-card.is-soon .tc-soon{display:inline-block}
.tc-ico{font-size:1.6rem;line-height:1}
.tc-ttl{font-size:1.05rem;font-weight:700;margin:0}
.tc-desc{font-size:0.86rem;color:var(--sub);line-height:1.55;margin:0}
.tc-cta{margin-top:auto;padding-top:0.4rem;font-size:0.86rem;font-weight:700;color:var(--p2)}
/* t105/t66: 成品账号 card — popular platform tags */
a.tc-cta{text-decoration:none;align-self:flex-start}a.tc-cta:hover{text-decoration:underline}
.tc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:0.15rem}
.tc-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--bdr);background:var(--surf2);color:var(--txt);font-size:0.78rem;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s}
.tc-tag:hover{border-color:var(--p2);color:var(--p2);text-decoration:none}
.tc-tag.more{background:transparent;color:var(--p2);border-style:dashed;gap:.3em}
.tc-form{display:flex;gap:8px;margin-top:0.35rem}
.tc-inp{flex:1 1 auto;min-width:0;background:var(--input-bg);border:1px solid var(--bdr);border-radius:10px;padding:9px 12px;color:var(--txt);font-family:inherit;font-size:0.9rem;outline:none}
.tc-inp:focus{border-color:var(--p2)}
.tc-inp:disabled{opacity:.6;cursor:not-allowed}
.tc-btn{flex:0 0 auto;white-space:nowrap;border-radius:10px}
.tc-btn:disabled{opacity:.65;cursor:not-allowed}
.tool-card.is-soon .tc-btn{background:var(--surf2);color:var(--sub)}
.tc-meta{font-size:0.76rem;color:var(--sub);min-height:1em}
.tc-res{border-top:1px dashed var(--bdr);padding-top:0.7rem;margin-top:0.2rem;font-size:0.86rem}
.tc-res-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:0.45rem}
.tc-res-in{font-family:'JetBrains Mono',monospace;font-size:0.8rem;color:var(--sub);overflow-wrap:anywhere}
.risk-badge{display:inline-block;font-size:0.76rem;font-weight:800;padding:3px 10px;border-radius:999px}
.risk-badge.r-low{background:rgba(5,150,105,0.14);color:var(--g);border:1px solid rgba(5,150,105,0.35)}
.risk-badge.r-medium{background:rgba(217,119,6,0.14);color:var(--y);border:1px solid rgba(217,119,6,0.35)}
.risk-badge.r-high{background:rgba(225,29,72,0.12);color:var(--r);border:1px solid rgba(225,29,72,0.35)}
.tc-reasons{margin:0 0 0.55rem 1.1rem;padding:0;line-height:1.55}
.tc-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0}
.tc-kv div{min-width:0}
.tc-kv dt{font-size:0.7rem;color:var(--sub)}
.tc-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.tc-err{color:var(--r);font-size:0.84rem}
.tools-note{color:var(--sub);font-size:0.8rem;line-height:1.6;margin:1.1rem 0 0}
@media(max-width:980px){.tools-grid{grid-template-columns:1fr}}
@media(max-width:420px){.tc-form{flex-direction:column}.tc-btn{width:100%}}
