/* FILIMU — mobile-first dark cinematic theme */
:root{
  --bg:#0b1020; --bg2:#111834; --card:#141b34; --line:#24305a;
  --txt:#e8ecf8; --muted:#8b95b5;
  --p1:#7c3aed; --p2:#db2777; --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
  --r:16px; --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(900px 500px at 15% -10%, rgba(124,58,237,.22), transparent 60%),
    radial-gradient(800px 500px at 90% 0%, rgba(219,39,119,.16), transparent 60%),
    var(--bg);
  color:var(--txt);
  font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{color:#c4b5fd;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .4em}
h1{font-size:clamp(1.6rem,4.5vw,2.4rem)}
h2{font-size:1.2rem}
p{margin:.5em 0}
code{background:#0b1020;padding:2px 6px;border-radius:6px;border:1px solid var(--line);font-size:.95em}
.muted{color:var(--muted)}
.tiny{font-size:.78rem}
.center{text-align:center}
.nowrap{white-space:nowrap}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- header ---------- */
.site-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;max-width:1100px;margin:0 auto;position:sticky;top:0;z-index:20;
  backdrop-filter:blur(12px);background:rgba(11,16,32,.72);border-bottom:1px solid rgba(36,48,90,.6);
}
.brand{display:flex;align-items:center;gap:9px;color:var(--txt);font-weight:800;letter-spacing:.3px}
.brand:hover{text-decoration:none}
.brand-mark{font-size:1.4rem}
.brand-name{font-size:1.15rem}
.site-head{flex-wrap:wrap}
.site-nav{display:flex;align-items:center;gap:10px;font-size:.92rem;flex-wrap:wrap}
.site-nav a{color:var(--muted);white-space:nowrap}
.site-nav a.on,.site-nav a:hover{color:var(--txt)}
.site-nav .code-btn{
  background:linear-gradient(135deg,#e50914,#b91c1c);color:#fff !important;
  padding:8px 15px;border-radius:999px;font-weight:700;font-size:.92rem;
  box-shadow:0 4px 14px rgba(229,9,20,.42);border:1px solid rgba(255,255,255,.18);
  white-space:nowrap;display:inline-flex;align-items:center;gap:5px;
}
.site-nav .code-btn:hover{text-decoration:none;filter:brightness(1.1);transform:translateY(-1px)}
.site-nav .wa{
  background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;padding:7px 12px;
  border-radius:999px;font-weight:600;white-space:nowrap;
}
@media (max-width: 560px){
  .site-head{padding:10px 12px;gap:8px}
  .site-nav{width:100%;justify-content:space-between;gap:6px;padding-top:6px;border-top:1px solid rgba(36,48,90,.45)}
  .site-nav .code-btn{padding:6px 12px;font-size:.82rem}
}
.site-nav .wa:hover{text-decoration:none;filter:brightness(1.08)}

/* ---------- hero ---------- */
.hero{padding:56px 18px 28px;text-align:center}
/* compact variant: keeps the brand line but gets packages into the first screen */
.hero.compact{padding:14px 18px 6px}
.hero.compact h1{font-size:clamp(1.3rem,4.2vw,1.75rem);margin-bottom:.25em}
.hero.compact .lede{font-size:.95rem;margin:0 auto}
.hero.compact .pill{margin-bottom:12px;font-size:.78rem;padding:5px 12px}
.hero.compact .hero-cta{margin-top:14px}
.hero.compact .hero-cta .btn{padding:9px 16px;font-size:.88rem}
.plat-title{display:flex;align-items:center;gap:12px;margin:6px 0 14px}
.plat-title h2{font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin:0;white-space:nowrap}
.plat-title::after{content:'';flex:1;height:1px;background:var(--line)}
.hero-inner{max-width:720px;margin:0 auto}
.hero h1{font-size:clamp(2rem,7vw,3.2rem);letter-spacing:-.02em;margin-bottom:.35em}
.grad{background:linear-gradient(100deg,var(--p1),var(--p2));-webkit-background-clip:text;background-clip:text;color:transparent}
.pill{
  display:inline-block;font-size:.8rem;font-weight:600;color:#ddd6fe;
  background:rgba(124,58,237,.16);border:1px solid rgba(124,58,237,.45);
  padding:6px 13px;border-radius:999px;margin-bottom:18px;
}
.lede{color:var(--muted);font-size:1.03rem;max-width:56ch;margin:0 auto}
.hero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--line);background:#1a2342;color:var(--txt);
  padding:11px 18px;border-radius:12px;font-size:.95rem;font-weight:600;
  cursor:pointer;transition:.16s ease;font-family:inherit;
}
.btn:hover{filter:brightness(1.12);text-decoration:none;transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,var(--p1),var(--p2));border-color:transparent;color:#fff;box-shadow:0 8px 22px rgba(124,58,237,.32)}
.btn.ghost{background:transparent}
.btn.danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#fecaca}
.btn.lg{padding:14px 24px;font-size:1rem}
.btn.sm{padding:6px 11px;font-size:.8rem;border-radius:9px}
.btn.full{width:100%}
button.btn{font-family:inherit}

/* ---------- layout ---------- */
.wrap{max-width:1100px;margin:0 auto;padding:34px 18px}
.wrap.tight{padding-top:22px}
.wrap.narrow{max-width:640px}
.sec-title{font-size:1.35rem;margin-bottom:18px}
.back{display:inline-block;color:var(--muted);font-size:.9rem;margin-bottom:14px}

/* ---------- cards ---------- */
.cards{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:680px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:18px;box-shadow:var(--shadow);
}
.card h2{margin-top:0}
.card.platform{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;color:var(--txt);transition:.18s}
.card.platform:hover{text-decoration:none;transform:translateY(-3px);border-color:#3b4b86}

/* branded banner: --brand is set per platform inline */
.plat-banner{
  position:relative;text-align:center;padding:22px 14px 18px;
  background-color:var(--brand,#5b6bb5);
  background-image:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(0,0,0,.22) 55%,rgba(0,0,0,.48) 100%);
  border-bottom:1px solid rgba(0,0,0,.25);
}
.plat-banner .card-emoji{font-size:2.1rem;line-height:1;margin-bottom:8px;display:block;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.plat-name{font-weight:800;font-size:1.12rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45);line-height:1.2}
.card.platform .card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.card.platform .card-body h3{font-size:1.05rem;margin:0}
.card.platform .from{color:var(--brand,#c4b5fd);font-size:.9rem}
.card.platform .card-go{
  margin-top:auto;text-align:center;font-weight:800;font-size:.92rem;color:#fff;
  padding:11px 12px;border-radius:10px;background-color:var(--brand,#5b6bb5);
  background-image:linear-gradient(180deg,rgba(255,255,255,.14),rgba(0,0,0,.18));
  box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.card-emoji{font-size:2rem}
.card-emoji.lg{font-size:3rem}
.card-body h3{font-size:1.15rem;margin:0 0 .2em}
.card-body p{color:var(--muted);font-size:.9rem;margin:0 0 .5em}
.from{font-size:.85rem;color:#c4b5fd}
.card-go{margin-top:auto;font-weight:700;font-size:.9rem;color:#c4b5fd}
.plat-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.plat-head h1{margin:0}

/* packages */
.card.pkg{display:flex;flex-direction:column;gap:14px}
.card.pkg.featured{border-color:var(--p1)}
.pkg-top h3{font-size:1.05rem;margin:0 0 6px;color:var(--muted);font-weight:600}
.price{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.per{font-size:.82rem;color:var(--muted)}
.perks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted)}
.perks li::before{content:"✓ ";color:var(--ok);font-weight:700}
.card.pkg .btn{margin-top:auto}

/* ---------- steps ---------- */
.steplist{list-style:none;padding:0;margin:0;display:grid;gap:14px}
@media(min-width:760px){.steplist{grid-template-columns:repeat(4,1fr)}}
.steplist li{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.steplist span{
  flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--p1),var(--p2));color:#fff;font-weight:800;font-size:.9rem;
}
.steplist strong{display:block;margin-bottom:3px}
.steplist p{margin:0;color:var(--muted);font-size:.85rem}

/* ---------- faq ---------- */
.faq details{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--card)}
.faq summary{cursor:pointer;font-weight:600}
.faq p{color:var(--muted);font-size:.9rem;margin:.6em 0 0}

/* ---------- forms ---------- */
.form{display:flex;flex-direction:column;gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted);font-weight:600}
.form input,.form select,.form textarea,.grid-form input,.grid-form select,.grid-form textarea,.inline input,.inline select{
  background:#0b1020;border:1px solid var(--line);color:var(--txt);
  padding:12px 13px;border-radius:11px;font-size:1rem;font-family:inherit;width:100%;
}
.form input:focus,.form select:focus,.grid-form input:focus{outline:2px solid rgba(124,58,237,.55);border-color:var(--p1)}
.hint{font-size:.76rem;color:var(--muted);font-weight:400}
.grid-form{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:720px){.grid-form{grid-template-columns:1fr 1fr}.grid-form .wide,.grid-form h2,.grid-form .form-actions,.grid-form label.check{grid-column:1/-1}}
.grid-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted);font-weight:600}
.grid-form label.check{flex-direction:row;align-items:center;gap:8px}
.grid-form label.check input{width:auto}
.form-actions{display:flex;gap:10px;justify-content:flex-end}
textarea{resize:vertical}
.w60{width:60px!important}
.w90{width:90px!important}

/* checkout summary */
.pay-card{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.sum-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--muted)}
.sum-row strong,.sum-row.total strong{color:var(--txt)}
.sum-row.total{border-top:1px solid var(--line);padding-top:10px;margin-top:4px;font-size:1.05rem}
.big{font-size:1.5rem}
.ref-line{font-size:.9rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
.ref-line strong{color:#fff;font-family:ui-monospace,monospace;letter-spacing:.06em}
.pay-steps{margin:0;padding-left:20px;color:var(--muted);font-size:.92rem;display:flex;flex-direction:column;gap:8px}
.pay-steps strong,.pay-steps code{color:var(--txt)}

/* ---------- flash ---------- */
.flash{padding:12px 15px;border-radius:12px;font-size:.9rem;margin:14px 0;border:1px solid}
.flash.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:#bbf7d0}
.flash.err{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.4);color:#fecaca}

/* ---------- footer ---------- */
.site-foot{
  max-width:1100px;margin:40px auto 0;padding:26px 18px 40px;
  border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;
  display:flex;flex-direction:column;gap:6px;
}

/* ================================ ADMIN ================================= */
body.admin{background:var(--bg)}
.side{
  position:fixed;inset:0 auto 0 0;width:230px;background:#0e1430;border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:18px 14px;gap:8px;
}
.side-brand{font-weight:800;font-size:1.1rem;margin-bottom:14px}
.side-brand span{display:block;font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}
.side-nav{display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto}
.side-group{display:flex;flex-direction:column;gap:3px}
.side-group-title{padding:5px 12px 2px;color:#7885a6;text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.14em}
.side-nav a{padding:9px 12px;border-radius:10px;color:var(--muted);font-size:.86rem}
.side-nav a:hover{background:#182042;color:var(--txt);text-decoration:none}
.side-nav a.on{background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(219,39,119,.18));color:#fff;font-weight:600}
.side-foot{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.admin-main{margin-left:230px;padding:26px 26px 60px;max-width:1250px}
.page-title{font-size:1.5rem;margin-bottom:20px}
@media(max-width:820px){
  /* On tablets and phones, turn the desktop rail into a clear, full-width menu. */
  .side{
    position:relative;inset:auto;width:100%;height:auto;display:grid;
    grid-template-columns:minmax(0,1fr) auto;align-items:center;
    padding:14px;gap:10px;border-right:0;border-bottom:1px solid var(--line);
  }
  .side-brand{margin:0;grid-column:1}
  .side-nav{
    grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;gap:8px;width:100%;flex:initial;overflow:visible;
  }
  .side-group{min-width:0;padding:6px;border:1px solid rgba(36,48,90,.55);border-radius:12px;background:rgba(20,27,52,.42)}
  .side-group-title{padding:4px 6px 5px;font-size:.62rem}
  .side-nav a{min-width:0;padding:9px 8px;font-size:.82rem;line-height:1.25}
  .side-foot{
    grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;
    display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;
  }
  .admin-main{margin-left:0;padding:18px 16px 42px;max-width:none;min-width:0}
  .admin-main>.card,.admin-main>.stat-grid{min-width:0}
  .tbl{display:block;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .tbl th,.tbl td{white-space:nowrap}
  .inline{flex-wrap:wrap}
}
@media(max-width:380px){
  .side{padding:12px}
  .side-nav{grid-template-columns:1fr}
  .side-nav a{padding:8px;font-size:.8rem}
  .admin-main{padding:16px 12px 36px}
  .stat{padding:13px}
  .stat-n{font-size:1.25rem}
}

/* dashboard overview */
.dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:19px 21px;border:1px solid #35436a;border-radius:16px;background:linear-gradient(110deg,#17213b,#253b61)}
.dashboard-banner h2{margin:0;color:#fff;font-size:1.12rem}
.dashboard-banner p{margin:4px 0 0;color:#c4cee3;font-size:.84rem}
@media(max-width:520px){.dashboard-banner{align-items:flex-start;flex-direction:column}.dashboard-banner .btn{align-self:stretch}}

/* colorful dashboard metrics */
.stat-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}
@media(min-width:900px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}}
.stat{min-width:0;min-height:112px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;right:-26px;top:-35px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.14)}
.stat-n{font-size:1.35rem;font-weight:850;letter-spacing:-.02em;position:relative;z-index:1;overflow-wrap:anywhere}
.stat-l{font-size:.74rem;color:rgba(255,255,255,.9);font-weight:750;margin:0 0 11px;position:relative;z-index:1}
.stat-cyan{background:linear-gradient(135deg,#119fae,#2987d5);border-color:transparent;color:#fff}
.stat-gold{background:linear-gradient(135deg,#d99520,#e76c48);border-color:transparent;color:#fff}
.stat-violet{background:linear-gradient(135deg,#7048ce,#bb4e9d);border-color:transparent;color:#fff}
.stat-green{background:linear-gradient(135deg,#239f71,#147f80);border-color:transparent;color:#fff}
a.stat-link{display:block;color:#fff;text-decoration:none;transition:filter .15s,transform .15s}
a.stat-link:hover{filter:brightness(1.08);transform:translateY(-2px)}
.dashboard-fund-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;position:relative;z-index:2}
.dashboard-fund-actions a,.dashboard-fund-actions button{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(255,255,255,.48);border-radius:9px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font:inherit;font-size:.72rem;font-weight:750;line-height:1.2;cursor:pointer}
.dashboard-fund-actions a:hover{background:rgba(255,255,255,.25)}
.dashboard-fund-actions button:disabled{opacity:.72;cursor:not-allowed}
.dashboard-panels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 14px;align-items:start}
.dashboard-panels-grid>.card{min-width:0;margin:0}
.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.dashboard-panel-head h2{margin:0;font-size:1.02rem}
.dashboard-panel-head>a{font-size:.82rem;color:#f2c76c;white-space:nowrap}
.dashboard-revenue-chart{display:block;width:100%;height:auto;min-height:170px}
.chart-gridline{stroke:#344057;stroke-width:1}
.chart-tick,.chart-label{fill:#aeb9ce;font-size:12px;font-family:system-ui,sans-serif}
.chart-bar{fill:#168b84}
.platform-stat-list{display:grid;gap:12px}
.platform-stat-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(60px,1.2fr) 26px;gap:10px;align-items:center;font-size:.88rem}
.platform-stat-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-stat-row>strong{text-align:right}
.platform-stat-track{height:8px;background:#2a3550;border-radius:99px;overflow:hidden}
.platform-stat-track i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,#db2777);border-radius:99px}
.dashboard-table-wrap{width:100%;overflow-x:auto}
.dashboard-table-wrap .tbl{min-width:480px;font-size:.8rem}
.dashboard-table-wrap .tbl th,.dashboard-table-wrap .tbl td{padding:9px 7px}
@media(max-width:760px){.dashboard-panels-grid{grid-template-columns:1fr}.dashboard-table-wrap .tbl{min-width:500px}}
.card.narrow{max-width:640px}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{
  text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted);border-bottom:1px solid var(--line);padding:8px 8px;
}
.tbl td{padding:10px 8px;border-bottom:1px solid rgba(36,48,90,.5);vertical-align:top}
.tbl tr:hover td{background:rgba(124,58,237,.05)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}

/* badges */
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap}
.badge.green{background:rgba(34,197,94,.15);color:#86efac}
.badge.amber{background:rgba(245,158,11,.15);color:#fcd34d}
.badge.red{background:rgba(239,68,68,.15);color:#fca5a5}

.inline{display:inline-flex;gap:6px;align-items:center;margin:0 4px 4px 0}
.inline input,.inline select{width:auto;padding:6px 9px;font-size:.8rem}

/* login */
body.admin-login{display:grid;place-items:center;min-height:100vh;padding:20px}
.login-box{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.login-box .brand{justify-content:center;margin-bottom:14px}
.login-box h1{font-size:1.25rem;text-align:center;margin-bottom:18px}

/* ---------- track by phone: result rows ---------- */
.track-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-decoration:none;color:var(--txt);margin-bottom:10px;transition:.16s}
.track-row:hover{text-decoration:none;border-color:#3b4b86;transform:translateY(-2px)}
.track-doing{min-width:0}
.track-doing .ref-line{font-size:.95rem}
.track-go{color:var(--muted);font-size:1.15rem;flex:0 0 auto}
.small{font-size:.84rem}

/* ---------- resend login card ---------- */
.resend-card{margin-top:14px}
.resend-card .hint{color:var(--muted);font-size:.88rem;line-height:1.5}

/* ---------- renewal nudge on the track page ---------- */
.renew{margin-top:14px;display:flex;flex-direction:column;gap:10px;text-align:center;
  border-color:#3a4a7d;
  background:linear-gradient(180deg,rgba(124,58,237,.16),rgba(20,26,43,.9))}
.renew-lapsed{border-color:#7f3b46;
  background:linear-gradient(180deg,rgba(229,9,20,.16),rgba(20,26,43,.9))}
.renew-emoji{font-size:1.7rem;line-height:1}
.renew-text strong{display:block;font-size:1.02rem;margin-bottom:4px}
.renew-text p{margin:0;font-size:.86rem;line-height:1.5}

/* ---------- account rotation ---------- */
.rotate summary{cursor:pointer;font-size:.82rem;font-weight:700;color:#c4b5fd;
  list-style:none;padding:6px 0}
.rotate summary::-webkit-details-marker{display:none}
.rotate[open] summary{margin-bottom:6px}
.rotate form{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.rotate input{flex:1 1 140px;min-width:120px}

/* ---------- sign-in code requests ---------- */
.code-row{margin-bottom:12px}
.code-open{border-color:#8a6d1f;background:linear-gradient(180deg,rgba(245,158,11,.08),rgba(20,26,43,.9))}
.code-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.code-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.code-form input{flex:1 1 160px;min-width:130px;letter-spacing:3px;font-weight:700;font-size:1.05rem}
.code-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.stack{display:flex;flex-direction:column;gap:14px;max-width:520px}

/* ---------- per-account streaming profiles (admin) ---------- */
.account-group{margin-top:16px}
.account-card{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;min-width:0}
.account-card h3{margin:0;font-size:1.05rem}
.account-card h4{margin:14px 0 9px;font-size:.94rem;color:var(--muted)}
.account-counts{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.8rem}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.profile-card{min-width:0;background:#0e1430;border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:10px}
.profile-form{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;align-items:end}
.profile-form label,.profile-add label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;color:var(--muted);font-weight:600}
.profile-form input,.profile-add input{min-width:0;width:100%;background:#0b1020;border:1px solid var(--line);color:var(--txt);padding:8px 9px;border-radius:9px;font:inherit}
.profile-form button{grid-column:1/-1;justify-self:start}
.profile-form label.user-pin{grid-column:1/-1}
.profile-form label.check.pin-clear{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:7px}
.profile-form label.check.pin-clear input{width:auto}
.profile-occupancy{font-size:.78rem;color:var(--muted)}
.profile-occupancy strong{color:var(--txt)}
.profile-people{display:flex;flex-direction:column;gap:5px;font-size:.78rem;overflow-wrap:anywhere}
.profile-add{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:12px}
.profile-add>input{flex:1 1 180px;width:auto}
.profile-add label{width:94px}
.account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.account-actions .rotate{flex:1 1 260px;min-width:200px}
.account-actions form{margin:0}
@media(max-width:480px){
  .profile-grid{grid-template-columns:1fr}
  .profile-form{grid-template-columns:minmax(0,1fr) 82px}
  .account-actions .rotate{flex-basis:100%;min-width:0}
}
.profile-unassigned{margin:14px 0;padding:13px;border:1px solid rgba(245,158,11,.45);background:rgba(245,158,11,.08);border-radius:12px}
.profile-link-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,240px) auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid rgba(36,48,90,.65)}
.profile-link-row select{min-width:0;width:100%;background:#0b1020;border:1px solid var(--line);color:var(--txt);padding:8px 9px;border-radius:9px;font:inherit}
@media(max-width:480px){.profile-link-row{grid-template-columns:minmax(0,1fr) auto}.profile-link-row span{grid-column:1/-1}.profile-link-row select{grid-column:1}}

/* ==========================================================================
   JEWELLERY-BILLING-STYLE ADMIN PANEL THEME (.jb-admin)
   ========================================================================== */
body.jb-admin {
  background: #eef2f7;
  color: #1e293b;
  padding-top: 62px;
}

/* ---------- Topbar ---------- */
.jb-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 62px;
  background: linear-gradient(90deg, #060f24 0%, #0b1838 55%, #071126 100%);
  border-bottom: 1px solid #1e2d4f;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  z-index: 60;
  gap: 16px;
}
.jb-topbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.jb-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
}
.jb-brand-logo {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(245,158,11,.22), rgba(217,119,6,.1));
  border: 1px solid rgba(245,158,11,.55);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem;
}
.jb-brand-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.jb-brand-title {
  color: #ffffff;
  font-weight: 800;
  font-size: .98rem;
  letter-spacing: .2px;
  line-height: 1.15;
  white-space: nowrap;
}
.jb-brand-sub {
  color: #fbbf24;
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: .1px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 210px;
}
.jb-menu-toggle {
  background: transparent;
  border: 1px solid rgba(255,255,255,.15);
  color: #cbd5e1;
  width: 34px; height: 34px;
  border-radius: 8px;
  font-size: 1.1rem;
  cursor: pointer;
}
.jb-search {
  background: #ffffff;
  border-radius: 999px;
  height: 38px;
  width: 100%;
  max-width: 350px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.jb-search-ico {
  font-size: .85rem;
  color: #64748b;
  margin-right: 8px;
}
.jb-search input {
  border: none !important;
  background: transparent !important;
  color: #0f172a !important;
  font-size: .86rem;
  width: 100%;
  padding: 0 !important;
  outline: none !important;
}
.jb-search button {
  border: none;
  background: transparent;
  color: #475569;
  cursor: pointer;
  font-size: .88rem;
}
.jb-topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.jb-date-pill {
  background: #ffffff;
  color: #1e293b;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.jb-icon-btn {
  position: relative;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #e2e8f0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  cursor: pointer;
  text-decoration: none !important;
}
.jb-notif-dot {
  position: absolute;
  top: -3px; right: -3px;
  background: #ef4444;
  color: #fff;
  font-size: .62rem;
  font-weight: 800;
  width: 16px; height: 16px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.jb-user-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 5px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: #fff;
}
.jb-avatar {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #cbd5e1;
  color: #0f172a;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
}
.jb-user-info {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.jb-user-info strong { font-size: .78rem; color: #fff; }
.jb-user-info span { font-size: .65rem; color: #22c55e; font-weight: 700; }
.jb-caret { font-size: .7rem; color: #94a3b8; }

/* ---------- Left Sidebar ---------- */
.jb-side {
  position: fixed;
  top: 62px; bottom: 0; left: 0;
  width: 252px;
  background: linear-gradient(180deg, #081329 0%, #060f21 100%);
  border-right: 1px solid #162442;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 50;
  overflow-y: auto;
}
.jb-side-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.jb-nav-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 9px;
  border-radius: 8px;
  color: #cbd5e1 !important;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: .14s ease;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
  cursor: pointer;
}
.jb-nav-item:hover {
  background: rgba(255,255,255,.07);
  color: #ffffff !important;
}
.jb-nav-item.on {
  background: linear-gradient(90deg, #1d4ed8, #2563eb) !important;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(37,99,235,.4);
}
.jb-nav-ico {
  width: 21px; height: 21px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .78rem;
  color: #fff;
  flex: 0 0 24px;
}
.jb-nav-lbl { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jb-nav-arr { font-size: .85rem; color: rgba(255,255,255,.5); }
.jb-logout-form { margin: 0; }

/* ---------- Live Rate Box at Bottom of Sidebar ---------- */
.jb-rate-box {
  margin-top: 10px;
  background: #0d1b38;
  border: 1px solid #1e335c;
  border-radius: 12px;
  padding: 10px;
  color: #e2e8f0;
}
.jb-rate-head {
  background: linear-gradient(90deg, #78350f, #b45309);
  border: 1px solid #f59e0b;
  color: #fef3c7;
  font-size: .74rem;
  font-weight: 800;
  padding: 5px 8px;
  border-radius: 7px;
  margin-bottom: 8px;
  text-align: center;
}
.jb-rate-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: .74rem;
}
.jb-rate-lbl { font-size: .65rem; color: #94a3b8; }
.jb-rate-row strong { color: #fff; font-size: .78rem; }
.jb-rate-up {
  background: rgba(34,197,94,.16);
  color: #4ade80;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: .65rem;
  font-weight: 700;
}
.jb-rate-foot {
  font-size: .63rem;
  color: #64748b;
  text-align: center;
  margin-top: 6px;
}

/* ---------- Main Content Canvas ---------- */
.jb-main {
  margin-left: 252px;
  padding: 16px 18px 48px;
  max-width: 1600px;
}
body.jb-admin .page-title {
  color: #0f172a;
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 14px;
}

/* ---------- Row 1: 6 Gradient KPI Cards ---------- */
.jb-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.jb-kpi {
  border-radius: 14px;
  padding: 13px 14px 0;
  color: #ffffff !important;
  text-decoration: none !important;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(15,23,42,.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 118px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.jb-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(15,23,42,.16);
}
.jb-kpi-purple { background: linear-gradient(135deg, #6c5ce7 0%, #4834d4 100%); }
.jb-kpi-green  { background: linear-gradient(135deg, #10b981 0%, #059669 100%); }
.jb-kpi-orange { background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%); }
.jb-kpi-blue   { background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%); }
.jb-kpi-pink   { background: linear-gradient(135deg, #ec4899 0%, #e11d48 100%); }
.jb-kpi-teal   { background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%); }

.jb-kpi-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 6px;
  position: relative;
  z-index: 2;
}
.jb-kpi-lbl {
  font-size: .74rem;
  font-weight: 700;
  opacity: .92;
  margin-bottom: 4px;
}
.jb-kpi-val {
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  margin-bottom: 4px;
}
.jb-kpi-sub {
  font-size: .66rem;
  font-weight: 600;
  opacity: .9;
}
.jb-kpi-ico {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  flex: 0 0 36px;
}
.jb-spark {
  width: calc(100% + 28px);
  margin-left: -14px;
  height: 34px;
  display: block;
  margin-top: 4px;
}

/* ---------- 3-Column Dashboard Rows ---------- */
.jb-row-3 {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1.05fr;
  gap: 14px;
  margin-bottom: 14px;
}
.jb-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 15px 16px;
  box-shadow: 0 3px 10px rgba(15,23,42,.04);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.jb-card-alert {
  background: linear-gradient(180deg, #fff5f5 0%, #ffffff 100%);
  border-color: #fecdd3;
}
.jb-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.jb-card-head h3 {
  margin: 0;
  font-size: .94rem;
  font-weight: 800;
  color: #0f172a;
}
.jb-card-head h3 span {
  font-weight: 500;
  color: #64748b;
  font-size: .8rem;
}
.jb-pill-select {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  color: #334155;
  font-size: .72rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 6px;
}
.jb-head-link {
  font-size: .76rem;
  font-weight: 700;
  color: #2563eb !important;
}

/* ---------- Line & Bar Charts ---------- */
.jb-legend-inline {
  display: flex;
  gap: 14px;
  font-size: .74rem;
  color: #475569;
  font-weight: 600;
  margin-bottom: 4px;
}
.jb-legend-inline i {
  display: inline-block;
  width: 14px; height: 7px;
  border-radius: 99px;
  margin-right: 4px;
  vertical-align: middle;
}
.jb-line-svg, .jb-bar-svg {
  width: 100%;
  height: auto;
  display: block;
}
.jb-ax {
  fill: #64748b;
  font-size: 10px;
  font-weight: 600;
}

/* ---------- Donut Chart ---------- */
.jb-donut-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: auto 0;
}
.jb-donut-svg {
  width: 145px;
  height: 145px;
  flex: 0 0 145px;
}
.jb-donut-legend {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.jb-leg-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
}
.jb-leg-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex: 0 0 10px;
}
.jb-leg-txt {
  flex: 1;
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.jb-leg-txt strong { color: #1e293b; font-size: .78rem; }
.jb-leg-txt span { color: #64748b; font-size: .68rem; }
.jb-leg-pct { color: #0f172a; font-size: .82rem; font-weight: 800; }

/* ---------- Collection Summary ---------- */
.jb-col-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.jb-col-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 9px;
  background: #f8fafc;
  font-size: .8rem;
}
.jb-col-ico {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .88rem;
}
.jb-col-name { flex: 1; font-weight: 600; color: #334155; }
.jb-col-amt { color: #0f172a; font-weight: 800; }
.jb-col-pct { color: #475569; font-weight: 700; min-width: 34px; text-align: right; }
.jb-col-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  padding: 9px 12px;
  border-radius: 9px;
  margin-top: 2px;
}
.jb-col-total span { font-weight: 700; color: #065f46; font-size: .82rem; }
.jb-col-total strong { font-weight: 900; color: #059669; font-size: 1rem; }

/* ---------- Mini Tables & Stock Summary ---------- */
.jb-mini-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: .78rem;
}
.jb-mini-tbl th {
  text-align: left;
  color: #64748b;
  font-weight: 700;
  padding: 7px 6px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}
.jb-mini-tbl td {
  padding: 8px 6px;
  border-bottom: 1px solid #f1f5f9;
  color: #334155;
}
.jb-mini-tbl strong { color: #0f172a; }
.jb-card-foot {
  text-align: center;
  padding-top: 9px;
  margin-top: 6px;
  border-top: 1px solid #f1f5f9;
}
.jb-card-foot a {
  font-size: .78rem;
  font-weight: 700;
  color: #2563eb !important;
}
.jb-stock-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.jb-stock-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 4px;
  border-bottom: 1px solid #f1f5f9;
  font-size: .8rem;
}
.jb-stock-ico {
  width: 26px; height: 26px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
}
.jb-stock-row span:nth-child(2) { flex: 1; color: #475569; font-weight: 600; }
.jb-stock-row strong { color: #0f172a; font-weight: 800; }

.jb-pill {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 6px;
  font-size: .68rem;
  font-weight: 800;
  color: #fff;
}
.jb-pill-low { background: #ef4444; }
.jb-pill-crit { background: #f97316; }

/* ---------- Recent Transactions & Horizontal Bars ---------- */
.jb-txn-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.jb-txn-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 4px;
  border-bottom: 1px solid #f1f5f9;
  font-size: .78rem;
}
.jb-txn-ico {
  width: 28px; height: 28px;
  border-radius: 7px;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
  flex: 0 0 28px;
}
.jb-txn-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.jb-txn-main strong { color: #0f172a; font-size: .78rem; }
.jb-txn-main span { color: #64748b; font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jb-txn-right {
  text-align: right;
  display: flex;
  flex-direction: column;
}
.jb-txn-right strong { color: #0f172a; font-size: .78rem; }
.jb-txn-right span { color: #94a3b8; font-size: .68rem; }

.jb-hbar-list {
  display: flex;
  flex-direction: column;
  gap: 11px;
  margin: auto 0;
}
.jb-hbar-row {
  display: grid;
  grid-template-columns: 82px 1fr auto;
  align-items: center;
  gap: 8px;
  font-size: .76rem;
}
.jb-hbar-lbl {
  color: #334155;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jb-hbar-track {
  height: 12px;
  background: #f1f5f9;
  border-radius: 4px;
  overflow: hidden;
}
.jb-hbar-fill {
  height: 100%;
  border-radius: 4px;
}
.jb-hbar-val {
  color: #0f172a;
  font-size: .74rem;
  font-weight: 800;
  white-space: nowrap;
}

/* ---------- Other Admin Subpages inside Light Theme ---------- */
body.jb-admin .jb-main .card {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.04);
}
body.jb-admin .jb-main h2,
body.jb-admin .jb-main h3,
body.jb-admin .jb-main strong {
  color: #0f172a;
}
body.jb-admin .jb-main .muted,
body.jb-admin .jb-main .hint,
body.jb-admin .jb-main label {
  color: #475569 !important;
}
body.jb-admin .jb-main input,
body.jb-admin .jb-main select,
body.jb-admin .jb-main textarea {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}
body.jb-admin .jb-main code {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
body.jb-admin .jb-main .tbl th {
  background: #f8fafc;
  color: #475569;
  border-bottom: 1px solid #cbd5e1;
}
body.jb-admin .jb-main .tbl td {
  color: #1e293b;
  border-bottom: 1px solid #e2e8f0;
}
body.jb-admin .jb-main .btn.ghost {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #1e293b;
}
body.jb-admin .jb-main .badge.green { background: #dcfce7; color: #15803d; }
body.jb-admin .jb-main .badge.amber { background: #fef3c7; color: #b45309; }
body.jb-admin .jb-main .badge.red   { background: #fee2e2; color: #b91c1c; }
body.jb-admin .jb-main .badge.blue  { background: #dbeafe; color: #1d4ed8; }
body.jb-admin .jb-main .note {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1e3a8a !important;
}

@media (max-width: 1200px) {
  .jb-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jb-row-3 { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .jb-side {
    transform: translateX(-100%);
    transition: transform .2s ease;
    width: 240px;
  }
  body.jb-side-open .jb-side {
    transform: translateX(0);
  }
  .jb-main { margin-left: 0; padding: 14px 12px 40px; }
  .jb-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jb-search { display: none; }
  .jb-date-pill { display: none; }
}

@media (max-width: 600px) {
  .jb-topbar { padding: 0 10px; gap: 8px; }
  .jb-topbar-left { gap: 8px; min-width: 0; }
  .jb-brand-logo { width: 32px; height: 32px; font-size: 1.05rem; flex: 0 0 32px; }
  .jb-brand-title { font-size: .88rem; }
  .jb-brand-sub { font-size: .48rem; max-width: 145px; }
  .jb-user-info span { display: none; }
  .jb-topbar-right { gap: 6px; }
  .jb-icon-btn { width: 30px; height: 30px; font-size: .82rem; }
}

/* ==========================================================================
   MOBILE & DESKTOP ACCESSIBILITY FIXES FOR TOPBAR, BELL, PAYMENTS & MENU
   ========================================================================== */
.jb-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(37,99,235,.28);
  border: 1px solid rgba(96,165,250,.55);
  color: #ffffff;
  height: 34px;
  width: auto;
  padding: 0 10px;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.jb-top-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff !important;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(16,185,129,.35);
}
.jb-bell-btn {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  border-color: #fbbf24 !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(245,158,11,.35);
}
.jb-side-mobile-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px 10px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-size: .85rem;
}
.jb-side-mobile-head button {
  background: rgba(239,68,68,.2);
  border: 1px solid rgba(239,68,68,.5);
  color: #fecaca;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
}
.jb-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2,6,23,.55);
  z-index: 85;
}
body.jb-side-open .jb-backdrop {
  display: block;
}

/* Quick Horizontal Scrollable Menu Bar */
.jb-quick-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  margin: -4px 0 14px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(15,23,42,.05);
}
.jb-qpill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 7px;
  border-radius: 6px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #1e293b !important;
  font-size: .63rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
  flex: 0 0 auto;
}
.jb-qpill.on {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  border-color: #1d4ed8;
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .jb-search, .jb-date-pill, .jb-user-pill { display: none !important; }
  body.jb-admin aside.side.jb-side {
    position: fixed !important;
    top: 58px !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 260px !important;
    height: calc(100vh - 58px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 12px 10px 24px !important;
    background: linear-gradient(180deg, #081329 0%, #060f21 100%) !important;
    border-right: 1px solid #1e293b !important;
    z-index: 95 !important;
    transform: translateX(-105%);
    transition: transform .2s ease;
    overflow-y: auto !important;
  }
  body.jb-admin.jb-side-open aside.side.jb-side {
    transform: translateX(0) !important;
  }
  body.jb-admin aside.side.jb-side .jb-side-mobile-head {
    display: flex !important;
  }
  body.jb-admin aside.side.jb-side nav.side-nav.jb-side-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
  }
  body.jb-admin main.admin-main.jb-main {
    margin-left: 0 !important;
    padding: 12px 10px 40px !important;
  }
  .jb-topbar {
    height: 58px;
    padding: 0 8px;
    gap: 6px;
  }
  body.jb-admin { padding-top: 58px; }
  .jb-topbar-left { gap: 6px; min-width: 0; }
  .jb-brand-logo { width: 30px; height: 30px; font-size: 1rem; flex: 0 0 30px; }
  .jb-brand-title { font-size: .85rem; }
  .jb-brand-sub { font-size: .5rem; }
  .jb-topbar-right { gap: 5px; flex: 0 0 auto; }
  .jb-top-pill { padding: 5px 9px; font-size: .72rem; }
  .jb-icon-btn { width: 31px; height: 31px; font-size: .85rem; }
}

/* ==========================================================================
   HIGH-CONTRAST READABILITY FIXES ACROSS ALL ADMIN SUBPAGES (.jb-admin)
   ========================================================================== */
body.jb-admin .jb-main {
  color: #0f172a;
}
body.jb-admin .jb-main p,
body.jb-admin .jb-main li,
body.jb-admin .jb-main td,
body.jb-admin .jb-main dd,
body.jb-admin .jb-main dt,
body.jb-admin .jb-main summary,
body.jb-admin .jb-main legend {
  color: #1e293b;
}
body.jb-admin .jb-main h1,
body.jb-admin .jb-main h2,
body.jb-admin .jb-main h3,
body.jb-admin .jb-main h4,
body.jb-admin .jb-main strong {
  color: #0f172a;
}
body.jb-admin .jb-main a:not(.btn):not(.jb-qpill):not(.jb-kpi) {
  color: #1d4ed8 !important;
  font-weight: 600;
}
body.jb-admin .jb-main .dashboard-panel-head > a,
body.jb-admin .jb-main .rotate summary {
  color: #1d4ed8 !important;
  font-weight: 700;
}
body.jb-admin .jb-main .muted,
body.jb-admin .jb-main .hint,
body.jb-admin .jb-main .account-counts {
  color: #475569 !important;
}
body.jb-admin .jb-main label {
  color: #1e293b !important;
  font-weight: 700;
}
body.jb-admin .jb-main code {
  background: #eef2ff !important;
  color: #1e3a8a !important;
  border: 1px solid #bfdbfe !important;
  font-weight: 700;
}
body.jb-admin .jb-main .btn.ghost {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 700;
}
body.jb-admin .jb-main .btn.primary {
  color: #ffffff !important;
}
body.jb-admin .jb-main .btn.danger {
  background: #fee2e2 !important;
  border: 1px solid #fca5a5 !important;
  color: #b91c1c !important;
  font-weight: 700;
}
body.jb-admin .jb-main .flash.ok {
  background: #dcfce7 !important;
  border-color: #86efac !important;
  color: #14532d !important;
  font-weight: 700;
}
body.jb-admin .jb-main .flash.err {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #7f1d1d !important;
  font-weight: 700;
}
body.jb-admin .jb-main .profile-card {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}
body.jb-admin .jb-main .account-card {
  border-top: 1px solid #cbd5e1 !important;
}
body.jb-admin .jb-main .code-open {
  background: #fffbeb !important;
  border-color: #fcd34d !important;
}
body.jb-admin .jb-main .stat-cyan,
body.jb-admin .jb-main .stat-green,
body.jb-admin .jb-main .stat-violet,
body.jb-admin .jb-main .stat-gold,
body.jb-admin .jb-main .stat-cyan *,
body.jb-admin .jb-main .stat-green *,
body.jb-admin .jb-main .stat-violet *,
body.jb-admin .jb-main .stat-gold * {
  color: #ffffff !important;
}

body.jb-admin .jb-main .dashboard-panel-head {
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  body.jb-admin .jb-main .dashboard-panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
