
:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:rgba(17,24,39,.10);
  --header1:#7b7d95;
  --header2:#2a2e47;
  --accent:#00bcd4;
  --accent2:#18d0ff;
  --gold:#c8a06a;
  --shadow:0 10px 30px rgba(17,24,39,.10);
  --r:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
}

a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.page{min-height:100%}

.topbar{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(90deg,var(--header1), #5f6280 35%, #2a2e47 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.topbar .inner{
  height:74px; display:flex; align-items:center; justify-content:space-between;
  position:relative;
}
.brand{display:flex; align-items:center; gap:12px; color:#fff; font-weight:600; letter-spacing:.2px}
.brand img{width:34px;height:34px}
.nav{display:flex; align-items:center; gap:22px}
.nav a{
  color:rgba(255,255,255,.92);
  font-weight:500; font-size:14px;
  padding:12px 2px;
  position:relative;
}
.nav a.active::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-10px;
  height:3px; border-radius:3px;
  background:var(--accent);
}
.nav-actions{display:flex; gap:10px; align-items:center}
.icon-btn{
  width:40px; height:40px; border-radius:12px;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.08);
}
.hamburger{display:none}

/* Desktop header: brand left, nav centered, actions right (reference-like) */
@media (min-width: 861px){
  .topbar .inner{ justify-content:flex-start; }
  .nav{ position:absolute; left:50%; transform:translateX(-50%); }
  .nav-actions{ margin-left:auto; }
}

@media (max-width: 860px){
  .nav{display:none}
  .nav.open{
    display:flex; flex-direction:column;
    position:absolute; top:70px; right:18px;
    background:rgba(28,30,48,.98);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px; padding:10px;
    min-width:220px;
  }
  .nav.open a{padding:12px 10px}
  .hamburger{display:grid}
}

/* HERO */
.hero{background:#fff}
.hero-vehicle{
  padding:38px 0 26px;
  border-bottom:1px solid var(--line);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.hero-copy{padding:10px 0}
.hero-kicker{color:var(--accent); font-weight:700; letter-spacing:.6px; font-size:46px; line-height:1}
.hero-title{margin:10px 0 12px; font-size:40px; line-height:1.05}
.hero-desc{margin:0; color:var(--muted); max-width:520px}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}

.hero-media{display:flex; justify-content:flex-end}
.car-silhouette{
  width:min(520px, 100%);
  aspect-ratio: 16/8;
  border-radius:30px;
  background:
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.25), transparent 55%),
    radial-gradient(140% 140% at 80% 30%, rgba(200,160,106,.22), transparent 55%),
    linear-gradient(180deg, rgba(17,24,39,.06), rgba(17,24,39,.02));
  border:1px solid rgba(17,24,39,.08);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.car-note{
  position:absolute; left:16px; bottom:14px;
  font-size:12px; color:rgba(17,24,39,.55);
}

@media (max-width: 960px){
  .hero-grid{grid-template-columns:1fr; }
  .hero-media{justify-content:flex-start}
  .hero-kicker{font-size:40px}
  .hero-title{font-size:36px}
}

/* Sections */
.section{padding:36px 0}
.section-soft{background:transparent}
.cards3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
@media (max-width: 960px){
  .cards3{grid-template-columns:1fr}
}

.info-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:18px 18px 16px;
  box-shadow:0 4px 18px rgba(17,24,39,.05);
}
.info-card h3{margin:0 0 6px}
.info-card p{margin:0 0 10px; color:var(--muted)}
.link{color:var(--accent); font-weight:600}

/* Cards */
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:0 4px 18px rgba(17,24,39,.05);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 18px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  color:#111827;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.btn-sm{ padding:10px 12px; border-radius:12px; font-size:13px; }
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-light{background:#fff}
.btn-outline{background:transparent}
.btn-gold{
  background:var(--gold);
  border-color:rgba(0,0,0,.08);
  color:#111;
}
.btn-primary{
  background:var(--accent);
  border-color:transparent;
  color:#05323a;
}
.btn-ghost{
  background:transparent;
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.w-100{width:100%}

/* FAQ */
.hero-faq{
  background:
    linear-gradient(90deg, rgba(30,33,53,.82), rgba(30,33,53,.30)),
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.30), transparent 55%),
    radial-gradient(120% 140% at 80% 20%, rgba(200,160,106,.22), transparent 60%),
    linear-gradient(180deg, #2a2e47, #111427);
  color:#fff;
  padding:60px 0;
  min-height: 360px;
  display:flex;
  align-items:center;
}

/* Generic dark hero for inner pages */
.hero-page{
  background:
    linear-gradient(90deg, rgba(30,33,53,.82), rgba(30,33,53,.30)),
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.26), transparent 55%),
    radial-gradient(120% 140% at 80% 20%, rgba(200,160,106,.18), transparent 60%),
    linear-gradient(180deg, #2a2e47, #111427);
  color:#fff;
  padding:54px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.hero-page .hero-title{ margin:0; font-size:40px; }
.hero-page .hero-sub{ margin-top:10px; color:rgba(255,255,255,.75); max-width:720px; }
@media (max-width:720px){
  .hero-page{padding:44px 0}
  .hero-page .hero-title{font-size:30px}
}
.hero-faq .hero-title{margin:0; font-size:44px}
@media (max-width: 720px){
  .hero-faq{padding:44px 0; min-height: 260px}
  .hero-faq .hero-title{font-size:32px}
}

.faq-layout{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:18px;
  align-items:start;
}
@media (max-width: 960px){
  .faq-layout{grid-template-columns:1fr}
  .sidebar{display:flex; overflow:auto; gap:10px; padding:12px}
  .sidebtn{white-space:nowrap}
}

.sidebar{padding:0; background:transparent; border:0}
.sidebtn{
  width:100%;
  text-align:center;
  padding:14px 14px;
  border-radius:6px;
  border:1px solid rgba(17,24,39,.20);
  background:#fff;
  font-weight:700;
  margin-bottom:12px;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(17,24,39,.05);
}
.sidebtn.active{
  background:var(--accent);
  border-color:transparent;
  color:#fff;
}
.panel{padding:6px}
.accordion{padding:6px}
.acc-item{
  border:1px solid var(--line);
  border-radius:8px;
  margin:12px 10px;
  overflow:hidden;
}
.acc-head{
  padding:18px 16px;
  display:flex; align-items:center; justify-content:space-between;
  font-weight:700;
  cursor:pointer;
}
.acc-head span{ opacity:.55; transition: transform .18s ease, opacity .18s ease; }
.acc-item.open .acc-head span{ transform: rotate(180deg); opacity:.9; }
.acc-body{
  padding:0 16px 18px;
  color:var(--muted);
  display:none;
}
.acc-item.open .acc-body{display:block}

/* Floating rail */
.floating-rail{
  position:fixed;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  background:var(--accent);
  border-radius:14px;
  padding:10px 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
  box-shadow:var(--shadow);
  z-index:60;
}
.rail-btn{
  width:42px;height:42px;
  display:grid; place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
}
.rail-ic{display:grid;place-items:center}
.rail-ic svg{display:block}
.rail-btn:hover{background:rgba(255,255,255,.22)}
@media (max-width: 720px){
  .floating-rail{right:10px; padding:8px 6px}
  .rail-btn{width:38px;height:38px}
}

/* Floating help bubble */
.floating-help{
  position:fixed;
  right:0;
  bottom:18px;
  background:#6f7190;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px 0 0 14px;
  padding:12px 14px;
  display:flex; align-items:center; gap:10px;
  box-shadow:var(--shadow);
  z-index:60;
}
.floating-help::after{
  content:"";
  position:absolute;
  right:-14px;
  top:50%;
  transform:translateY(-50%);
  border-left:14px solid #6f7190;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
}
.help-ic{display:grid;place-items:center}
.help-ic svg{display:block}
.help-tx{font-weight:700; font-size:13px}
@media (max-width: 720px){
  .help-tx{display:none}
  .floating-help{right:14px; border-radius:14px}
  .floating-help::after{display:none}
}

/* Footer */
.footer{
  padding:26px 0;
  color:rgba(17,24,39,.55);
  border-top:1px solid var(--line);
  background:#fff;
}
.footer .inner{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap}

/* Loader overlay (attığın stile yakın) */
#app-loader{
  position:fixed; inset:0; z-index:1000;
  background: radial-gradient(120% 140% at 40% 20%, #0b0f3d, #050722 55%, #03041a);
  display:grid; place-items:center;
}
.loader-inner{text-align:center; width:min(520px, 86vw)}
.loader-logo{width:62px;height:62px; margin-bottom:26px; filter: drop-shadow(0 8px 20px rgba(0,0,0,.4))}
.loader-bar{
  width:100%;
  height:3px;
  background:rgba(255,255,255,.12);
  border-radius:999px;
  overflow:hidden;
  position:relative;
}
.loader-bar > div{
  height:100%;
  width:35%;
  background:linear-gradient(90deg, var(--accent2), rgba(255,255,255,.0));
  animation:loading 1.2s infinite;
}
@keyframes loading{
  0%{transform:translateX(-100%)}
  100%{transform:translateX(340%)}
}
#app-loader.hidden{opacity:0; transition:opacity .55s ease}

/* Forms */
input,textarea,select{
  width:100%;
  border-radius:14px;
  border:1px solid var(--line);
  padding:12px 12px;
  font-size:14px;
  outline:none;
  background:#fff;
}
label{display:block; font-weight:700; margin:0 0 8px}
.row{margin-bottom:14px}
.hint{color:var(--muted); font-size:12px}
.checkline{display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:12px}
.checkline input{width:auto; margin-top:2px}

/* Wizard */
.stepper{display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 20px}
.stepper .step{
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:800;
  font-size:12px;
  color:rgba(17,24,39,.55);
}
.stepper .step.active{border-color:var(--accent); color:#05323a}
.stepper .step.done{background:rgba(0,188,212,.12); border-color:rgba(0,188,212,.28); color:#05323a}
.kv{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px dashed rgba(17,24,39,.16)}

/* Utilities used across views */
.hr{height:1px;background:var(--line);margin:16px 0;border:0}
.sep{height:1px;background:var(--line);margin:18px 0;border:0}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width: 860px){
  .grid2,.grid3{grid-template-columns:1fr}
}
.tile{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(17,24,39,.04);
}
.tile h3{margin:0 0 6px}
.tile p{margin:0;color:var(--muted)}
.tile:hover{border-color:rgba(0,188,212,.35)}
.tile.is-selected{
  border-color: rgba(0,188,212,.70);
  box-shadow: 0 10px 28px rgba(0,188,212,.12);
}
.wizard{display:grid;grid-template-columns: 360px 1fr; gap:18px; align-items:start}
@media (max-width: 960px){ .wizard{grid-template-columns:1fr} }
.steps{padding:14px}
.panel{padding:18px}
.dot{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(0,188,212,.16);
  color:#05323a;
  margin-right:10px;
  font-weight:900;
}
.steps .step{display:flex;align-items:center}

/* =========================================================
   PUBLIC VEHICLE PAGES (T10X / T10F) - TOGG-LIKE THEME
========================================================= */

.veh-cards{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:16px;
}
@media (max-width: 960px){
  .veh-cards{grid-template-columns:1fr}
}

.veh-card{
  background: linear-gradient(180deg, rgba(42,46,71,.06), rgba(17,24,39,.02));
  border:1px solid var(--line);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
  min-height: 340px;
}
.veh-card:hover{ transform: translateY(-2px); }
.veh-card-top{ padding:16px 16px 10px; }
.veh-badge{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius: 999px;
  background: rgba(0,188,212,.12);
  border:1px solid rgba(0,188,212,.22);
  color:#05323a;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
}
.veh-card-title{ margin-top:10px; font-size:18px; font-weight:900; }
.veh-card-img{
  flex:1;
  min-height: 170px;
  background:
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.25), transparent 55%),
    radial-gradient(140% 140% at 80% 30%, rgba(200,160,106,.22), transparent 55%),
    linear-gradient(180deg, rgba(17,24,39,.06), rgba(17,24,39,.02));
  background-size:cover;
  background-position:center;
}
.veh-card-bt{ padding:14px 16px 16px; border-top:1px solid var(--line); background: rgba(255,255,255,.70); backdrop-filter: blur(8px); }
.veh-card-desc{ color: var(--muted); font-weight:600; }
.veh-card-actions{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.veh-card-actions .mini{ font-size:12px; color: rgba(17,24,39,.55); }

.veh-hero{
  color:#fff;
  padding: 54px 0 26px;
  background:
    radial-gradient(120% 140% at 25% 15%, rgba(0,188,212,.30), transparent 55%),
    radial-gradient(120% 140% at 80% 18%, rgba(200,160,106,.22), transparent 60%),
    linear-gradient(180deg, #2a2e47, #111427);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.veh-hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:center;
}
@media (max-width: 960px){
  .veh-hero{padding:44px 0 22px}
  .veh-hero-grid{grid-template-columns:1fr}
}
.veh-kicker{ font-weight:900; letter-spacing:.08em; color: rgba(255,255,255,.95); font-size:54px; line-height:1; }
.veh-title{ margin: 14px 0 12px; font-size: 44px; line-height:1.03; }
.veh-desc{ margin:0; color: rgba(255,255,255,.78); max-width: 560px; }
.veh-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }

.veh-stats{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}
@media (max-width: 960px){
  .veh-stats{grid-template-columns: repeat(2, 1fr)}
}
.stat{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  padding:12px;
}
.stat-val{ font-weight:900; font-size:16px; }
.stat-lbl{ margin-top:4px; font-size:12px; color: rgba(255,255,255,.70); }

.veh-hero-media{ display:flex; justify-content:flex-end; }
.veh-img{
  width:min(520px,100%);
  aspect-ratio: 16/10;
  border-radius: 26px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.25), transparent 55%),
    radial-gradient(140% 140% at 80% 30%, rgba(200,160,106,.22), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  position:relative;
  background-size:cover;
  background-position:center;
}
.veh-img-note{ position:absolute; left:14px; bottom:12px; font-size:12px; color: rgba(255,255,255,.70); }

/* Vehicle hero shell + bottom CTA row (reference-like) */
.veh-hero-shell{ position:relative; min-height: calc(100vh - 74px); padding-bottom: 112px; }
.veh-hero-bottom{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
@media (max-width: 720px){
  .veh-hero-shell{ min-height:auto; padding-bottom: 18px; }
  .veh-hero-bottom{ position:static; transform:none; margin-top:18px; }
}

@media (max-width: 720px){
  body.veh-page .veh-kicker{ font-size:46px; }
  body.veh-page .veh-title{ font-size:34px; }
  body.veh-page .veh-img{ aspect-ratio: 16/9; }
}

/* t10x/t10f first screen should be white like the reference */
body.veh-page .veh-hero{
  background:#fff;
  color:var(--text);
  border-bottom:1px solid var(--line);
  padding: 38px 0 18px;
}
body.veh-page .veh-kicker{ color: var(--accent); letter-spacing:.06em; }
body.veh-page .veh-kicker{ font-size: 64px; }
body.veh-page .veh-title{ color: var(--text); font-size: 46px; }
body.veh-page .veh-desc{ color: rgba(17,24,39,.62); }
body.veh-page .veh-img{
  border: 0;
  width: min(920px, 100%);
  aspect-ratio: 16/7;
  border-radius: 0;
  box-shadow: 0 22px 60px rgba(17,24,39,.14);
  background-color:#f2f3f7;
}
body.veh-page .veh-img-note{ color: rgba(17,24,39,.55); }

/* Reference page doesn't show subnav at top */
body.veh-page .veh-subnav{ display:none; }

.veh-subnav{
  background: rgba(17,20,39,.96);
  border-bottom:1px solid rgba(255,255,255,.10);
  position: sticky;
  top: 74px;
  z-index: 30;
}
.veh-subnav-inner{
  display:flex;
  gap:14px;
  align-items:center;
  overflow:auto;
  padding: 12px 0;
}
.veh-subnav-inner a{
  color: rgba(255,255,255,.78);
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.veh-subnav-inner a:hover{ color:#fff; border-color: rgba(255,255,255,.18); }
.veh-subnav-cta{
  margin-left:auto;
  background: rgba(0,188,212,.18) !important;
  border-color: rgba(0,188,212,.35) !important;
  color: rgba(255,255,255,.95) !important;
}

.veh-section{ padding: 16px 0; }
.veh-sec-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items:center;
}
@media (max-width: 960px){
  .veh-sec-grid{grid-template-columns:1fr}
}
.veh-sec-copy h2{ margin:0 0 10px; font-size:26px; }
.veh-sec-copy p{ margin:0; color: var(--muted); }
.veh-bullets{ margin: 14px 0 0; padding-left: 18px; color: rgba(17,24,39,.70); }
.veh-bullets li{ margin: 8px 0; }
.veh-sec-img{
  aspect-ratio: 16/10;
  border-radius: 22px;
  border:1px solid var(--line);
  overflow:hidden;
  background:
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.18), transparent 55%),
    radial-gradient(140% 140% at 80% 30%, rgba(200,160,106,.18), transparent 55%),
    linear-gradient(180deg, rgba(17,24,39,.06), rgba(17,24,39,.02));
  background-size:cover;
  background-position:center;
  box-shadow: 0 16px 40px rgba(17,24,39,.10);
  position:relative;
}
.veh-cta-band{ padding: 10px 0 42px; }
.veh-cta-card{
  display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap;
  background: linear-gradient(135deg, rgba(0,188,212,.18), rgba(200,160,106,.10));
  border:1px solid rgba(17,24,39,.10);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--shadow);
}
.veh-cta-tt{ font-weight:900; font-size:18px; }
.veh-cta-tx{ color: rgba(17,24,39,.70); margin-top:4px; }

/* =========================================================
   ADMIN ANTRASİT PRO THEME (ONLY FOR body.admin)
   Paste at END of app.css
========================================================= */

body.admin{
  background: #0b0f16;
  color: rgba(255,255,255,.92);
}

/* Layout */
body.admin .admin-shell{
  min-height:100vh;
  display:flex;
  background:
    radial-gradient(1200px 700px at 15% -10%, rgba(0,188,212,.18), transparent 60%),
    radial-gradient(900px 600px at 95% 0%, rgba(24,208,255,.12), transparent 55%),
    linear-gradient(180deg, #080b11 0%, #070a10 40%, #06080d 100%);
}

body.admin .admin-nav{
  width: 290px;
  padding: 16px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow:auto;
  background: rgba(10,14,22,.82);
  border-right: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}

body.admin .admin-main{
  flex:1;
  padding: 18px 22px;
}

/* Brand */
body.admin .admin-nav .brand{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(0,188,212,.12));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  margin-bottom: 12px;
}
body.admin .admin-nav .brand img{
  width: 36px; height:36px; object-fit:contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.4));
}
body.admin .admin-nav .brand span{
  font-weight: 800;
  letter-spacing:.2px;
  color: rgba(255,255,255,.92);
}

/* User */
body.admin .admin-nav .who{
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  margin-bottom: 12px;
  color: rgba(255,255,255,.90);
}

/* Group title */
body.admin .admin-nav .nav-group{
  margin: 14px 8px 8px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
}

/* Nav items */
body.admin .admin-nav a.nav-item{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 14px;
  margin: 6px 0;
  color: rgba(255,255,255,.70);
  border: 1px solid transparent;
  background: transparent;
  transition: all .15s ease;
  position: relative;
}
body.admin .admin-nav a.nav-item:hover{
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
}
body.admin .admin-nav a.nav-item.active{
  color: rgba(255,255,255,.95);
  background: linear-gradient(135deg, rgba(0,188,212,.22), rgba(24,208,255,.10));
  border-color: rgba(0,188,212,.35);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
body.admin .admin-nav a.nav-item.active::after{
  content:"";
  position:absolute;
  left: 8px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #18d0ff, #00bcd4);
}

/* Icons via mask (SVG) */
body.admin .admin-nav a.nav-item::before{
  content:"";
  width: 18px;
  height: 18px;
  display:inline-block;
  background: rgba(255,255,255,.78);
  -webkit-mask: var(--icon) no-repeat center / contain;
  mask: var(--icon) no-repeat center / contain;
  opacity: .95;
}
body.admin .admin-nav a.nav-item:hover::before{ background: rgba(255,255,255,.95); }
body.admin .admin-nav a.nav-item.active::before{ background: rgba(255,255,255,.98); }

/* Icon set (inline SVG data-uris) */
body.admin .nav-dashboard{ --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 13h8V3H3v10zm10 8h8V11h-8v10zM3 21h8V15H3v6zm10-18v6h8V3h-8z'/%3E%3C/svg%3E"); }
body.admin .nav-apps{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm8 1.5V8h4.5L14 3.5zM7 12h10v2H7v-2zm0 4h10v2H7v-2z'/%3E%3C/svg%3E\"); }
body.admin .nav-appts{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v15a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a2 2 0 0 1 2-2h3V2zm15 8H2v11a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V10zM6 14h4v4H6v-4z'/%3E%3C/svg%3E\"); }
body.admin .nav-transfer{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h11v2H7l3 3-1.4 1.4L3.2 8.4 8.6 3 10 4.4 7 7zm10 10H6v-2h11l-3-3 1.4-1.4 5.4 5.4-5.4 5.4L14 19.6l3-3z'/%3E%3C/svg%3E\"); }
body.admin .nav-paylinks{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V7zm2 2v2h14V9H5zm0 6v2h14v-2H5z'/%3E%3C/svg%3E\"); }
body.admin .nav-chat{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v12l-4-3H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm3 4h10v2H7V8zm0 4h7v2H7v-2z'/%3E%3C/svg%3E\"); }
body.admin .nav-dm{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 6h-2v9H7v2a2 2 0 0 0 2 2h8l4 3V8a2 2 0 0 0-2-2zM17 2H3a2 2 0 0 0-2 2v14l4-3h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z'/%3E%3C/svg%3E\"); }
body.admin .nav-calc{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm1 3h8v4H8V5zm0 6h3v3H8v-3zm0 4h3v3H8v-3zm5-4h3v3h-3v-3zm0 4h3v3h-3v-3z'/%3E%3C/svg%3E\"); }
body.admin .nav-pkginfo{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 3 6.5V17.5L12 22l9-4.5V6.5L12 2zm0 2.3 6.7 3.3L12 10.9 5.3 7.6 12 4.3zM5 9.3l6 3v7.1l-6-3V9.3zm8 10.1v-7.1l6-3v7.1l-6 3z'/%3E%3C/svg%3E\"); }
body.admin .nav-staff{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11a4 4 0 1 0-8 0 4 4 0 0 0 8 0zm-4 6c-4.4 0-8 2-8 4v1h16v-1c0-2-3.6-4-8-4z'/%3E%3C/svg%3E\"); }
body.admin .nav-bulk{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16v2H4V5zm0 6h10v2H4v-2zm0 6h16v2H4v-2zm12-6 4 3-4 3v-6z'/%3E%3C/svg%3E\"); }
body.admin .nav-packages{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 8l-9-5-9 5v10l9 5 9-5V8zm-9 3L5 7.5 12 4l7 3.5L12 11z'/%3E%3C/svg%3E\"); }
body.admin .nav-delivery{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a7 7 0 0 1 7 7c0 5-7 13-7 13S5 14 5 9a7 7 0 0 1 7-7zm0 9.5A2.5 2.5 0 1 0 12 6a2.5 2.5 0 0 0 0 5.5z'/%3E%3C/svg%3E\"); }
body.admin .nav-users{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11a4 4 0 1 0-8 0 4 4 0 0 0 8 0zM12 17c-4.4 0-8 2-8 4v1h16v-1c0-2-3.6-4-8-4z'/%3E%3C/svg%3E\"); }
body.admin .nav-settings{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13a7.7 7.7 0 0 0 .1-1l2-1.6-2-3.4-2.4 1a7.7 7.7 0 0 0-1.7-1L15 3h-6l-.4 3a7.7 7.7 0 0 0-1.7 1l-2.4-1-2 3.4L4.6 12a7.7 7.7 0 0 0 .1 1L2.7 14.6l2 3.4 2.4-1a7.7 7.7 0 0 0 1.7 1L9 21h6l.4-3a7.7 7.7 0 0 0 1.7-1l2.4 1 2-3.4-2.1-1.6zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E\"); }
body.admin .nav-logs{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm8 1.5V8h4.5L14 3.5zM7 12h10v2H7v-2zm0 4h10v2H7v-2z'/%3E%3C/svg%3E\"); }
body.admin .nav-logout{ --icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 17v-2h4v-2h-4v-2l-4 3 4 3zm9-13H11v2h8v14h-8v2h8a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z'/%3E%3C/svg%3E\"); }

/* Top badges / header */
body.admin .admin-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin: 6px 0 14px;
}
body.admin .badge{
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.72);
}

/* Panels */
body.admin .card.panel{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
}
body.admin .card.panel h2{ color: rgba(255,255,255,.92); }
body.admin .muted{ color: rgba(255,255,255,.55); }

/* Form fields */
body.admin .field span{ color: rgba(255,255,255,.55); }
body.admin input, 
body.admin textarea, 
body.admin select{
  background: rgba(8,12,18,.75);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}
body.admin input:focus, body.admin textarea:focus, body.admin select:focus{
  border-color: rgba(0,188,212,.55);
  box-shadow: 0 0 0 4px rgba(0,188,212,.15);
}

/* Buttons */
body.admin .btn{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.90);
}
body.admin .btn-primary{
  background: linear-gradient(135deg, rgba(0,188,212,.85), rgba(24,208,255,.55));
  border-color: rgba(0,0,0,.0);
  color: #06161a;
  font-weight: 800;
}
body.admin .btn:hover{ transform: translateY(-1px); }
body.admin .btn:active{ transform: translateY(0); }

/* Tiles / kv */
body.admin .tile{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}
body.admin .kv{
  border-bottom: 1px dashed rgba(255,255,255,.12);
}
body.admin .kv > div:first-child{ color: rgba(255,255,255,.55); }

/* HR */
body.admin .hr{ background: rgba(255,255,255,.10); }

/* Responsive */
@media (max-width: 760px){
  body.admin .admin-shell{ display:block; }
  body.admin .admin-nav{
    width:auto; height:auto; position:relative;
    border-right:none; border-bottom:1px solid rgba(255,255,255,.10);
  }
}

/* ===== ADMIN PRO+ polish layer (emoji + micro-interactions) ===== */
body.admin .nav-group{
  display:flex;
  align-items:center;
  gap:8px;
}
body.admin .nav-group::before{
  content:"";
  width:18px;height:18px; display:inline-block;
  opacity:.9;
}
body.admin .nav-group:nth-of-type(1)::before{ content:"🧩"; }
body.admin .nav-group:nth-of-type(2)::before{ content:"💬"; }
body.admin .nav-group:nth-of-type(3)::before{ content:"🛠️"; }
body.admin .nav-group:nth-of-type(4)::before{ content:"🏛️"; }

/* Nav item emoji fallback (if mask not supported) */
@supports not (-webkit-mask: url("")) {
  body.admin .admin-nav a.nav-item::before{
    -webkit-mask:none; mask:none;
    width:auto; height:auto;
    background:none;
    font-size:16px;
  }
  body.admin .nav-dashboard::before{ content:"📊"; }
  body.admin .nav-apps::before{ content:"🧾"; }
  body.admin .nav-appts::before{ content:"🗓️"; }
  body.admin .nav-transfer::before{ content:"🔁"; }
  body.admin .nav-paylinks::before{ content:"💳"; }
  body.admin .nav-chat::before{ content:"💬"; }
  body.admin .nav-dm::before{ content:"📩"; }
  body.admin .nav-calc::before{ content:"🧮"; }
  body.admin .nav-pkginfo::before{ content:"📦"; }
  body.admin .nav-staff::before{ content:"👥"; }
  body.admin .nav-bulk::before{ content:"🧷"; }
  body.admin .nav-packages::before{ content:"🗂️"; }
  body.admin .nav-delivery::before{ content:"📍"; }
  body.admin .nav-users::before{ content:"🧑‍💼"; }
  body.admin .nav-settings::before{ content:"⚙️"; }
  body.admin .nav-logs::before{ content:"📜"; }
  body.admin .nav-logout::before{ content:"🚪"; }
}

/* Better headings */
body.admin .card.panel h2{
  font-size: 18px;
  font-weight: 850;
  letter-spacing: .2px;
}
body.admin .card.panel h2::after{
  content:"";
  display:block;
  margin-top:10px;
  height:1px;
  background: linear-gradient(90deg, rgba(0,188,212,.55), rgba(255,255,255,0));
}

/* KPI tiles look richer */
body.admin .tile{
  box-shadow: 0 14px 38px rgba(0,0,0,.30);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
body.admin .tile:hover{
  transform: translateY(-2px);
  border-color: rgba(0,188,212,.25);
  background: rgba(255,255,255,.06);
}

/* Tables denser + readable */
body.admin .tr{ font-size: 13px; }
body.admin .tr.th{ font-size: 12px; letter-spacing:.02em; }

/* Inputs: nicer placeholder */
body.admin ::placeholder{ color: var(--placeholder, rgba(255,255,255,.35)); }

/* =========================
   Admin UI Kit (Add-on)
   ========================= */

body.page.admin{
  --bg: #0f1115;
  --panel: #141824;
  --panel2: #101420;
  --text: #e8eefc;
  --muted: rgba(232,238,252,.70);
  --placeholder: rgba(232,238,252,.45);
  --border: rgba(232,238,252,.10);
  --shadow: 0 12px 36px rgba(0,0,0,.35);

  --primary: #4f8cff;
  --primary2: #2f6fff;
  --danger: #ff5d5d;
  --success: #35d07f;
  --warning: #ffcc66;

  background: var(--bg);
  color: var(--text);
}

/* Themes (Day / Night) */
body.page.admin[data-theme="dark"],
body.page.admin[data-theme="nightblue"],
body.page.admin[data-theme="black"],
body.page.admin[data-theme="anthracite"]{
  --bg:#0f1115;
  --panel:#141824;
  --panel2:#101420;
  --text:#e8eefc;
  --muted: rgba(232,238,252,.70);
  --placeholder: rgba(232,238,252,.45);
  --border: rgba(232,238,252,.10);
  --shadow: 0 12px 36px rgba(0,0,0,.35);

  --primary:#4f8cff;
  --primary2:#2f6fff;
  --danger:#ff5d5d;
  --success:#35d07f;
  --warning:#ffcc66;

  --shell-bg:
    radial-gradient(1200px 700px at 15% -10%, rgba(79,140,255,.16), transparent 60%),
    radial-gradient(900px 600px at 95% 0%, rgba(0,188,212,.10), transparent 55%),
    linear-gradient(180deg, #080b11 0%, #070a10 40%, #06080d 100%);
  --nav-bg: rgba(10,14,22,.82);
  --brand-bg: linear-gradient(135deg, rgba(255,255,255,.06), rgba(79,140,255,.14));
  --who-bg: rgba(255,255,255,.05);
  --nav-hover-bg: rgba(255,255,255,.06);
  --nav-active-bg: linear-gradient(135deg, rgba(79,140,255,.22), rgba(47,111,255,.10));
  --nav-active-border: rgba(79,140,255,.35);
  --badge-bg: rgba(255,255,255,.06);
  --input-bg: rgba(8,12,18,.75);
  --btn-bg: rgba(255,255,255,.06);
  --focus-ring: rgba(79,140,255,.16);
}

body.page.admin[data-theme="light"],
body.page.admin[data-theme="white"]{
  --bg:#f6f7fb;
  --panel:#ffffff;
  --panel2:#fbfbfe;
  --text:#111827;
  --muted: rgba(17,24,39,.70);
  --placeholder: rgba(17,24,39,.45);
  --border: rgba(17,24,39,.10);
  --shadow: 0 12px 28px rgba(17,24,39,.12);

  --primary:#2563eb;
  --primary2:#1d4ed8;
  --danger:#dc2626;
  --success:#059669;
  --warning:#d97706;

  --shell-bg:
    radial-gradient(1200px 700px at 15% -10%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(900px 600px at 95% 0%, rgba(16,185,129,.08), transparent 55%),
    linear-gradient(180deg, #f6f7fb 0%, #f2f4f8 55%, #eef1f6 100%);
  --nav-bg: rgba(255,255,255,.74);
  --brand-bg: linear-gradient(135deg, rgba(17,24,39,.03), rgba(37,99,235,.10));
  --who-bg: rgba(17,24,39,.03);
  --nav-hover-bg: rgba(17,24,39,.04);
  --nav-active-bg: linear-gradient(135deg, rgba(37,99,235,.14), rgba(37,99,235,.06));
  --nav-active-border: rgba(37,99,235,.28);
  --badge-bg: rgba(17,24,39,.03);
  --input-bg: rgba(255,255,255,.92);
  --btn-bg: rgba(17,24,39,.04);
  --focus-ring: rgba(37,99,235,.14);
}

/* =========================================================
   ADMIN CHAT WIDGET (Messenger-like, bottom-right)
   NOTE: JS injected markup => styles live here.
========================================================= */

body.page.admin .chat-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, var(--primary), rgba(0,188,212,.60));
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 18px 45px rgba(0,0,0,.45);
  z-index: 9999;
}
body.page.admin .chat-fab:hover{ transform: translateY(-1px); }
body.page.admin .chat-fab:active{ transform: translateY(0); }
body.page.admin .chat-fab svg{ width: 24px; height: 24px; display:block; }

body.page.admin .chat-fab.has-unread::after{
  content: attr(data-badge);
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ff3b30;
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--bg);
  box-shadow: 0 10px 18px rgba(0,0,0,.35);
}

body.page.admin .chat-dock{
  position: fixed;
  right: 18px;
  bottom: 84px;
  width: 360px;
  height: 520px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  background-color: var(--panel);
  border: 1px solid var(--border);
  box-shadow: 0 26px 70px rgba(0,0,0,.55);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(12px) scale(.985);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 9998;
}
body.page.admin .chat-dock.open{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
body.page.admin .chat-dock.min{ height: 56px; }
body.page.admin .chat-dock.min .chat-dock-tabs,
body.page.admin .chat-dock.min .chat-dock-body{ display:none; }

body.page.admin .chat-dock-hd{
  height: 56px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 0 12px;
  background: linear-gradient(135deg, rgba(79,140,255,.22), rgba(0,188,212,.10));
  border-bottom: 1px solid var(--border);
}
body.page.admin .chat-dock-title{ font-weight: 850; letter-spacing:.2px; }
body.page.admin .chat-dock-actions{ display:flex; gap:8px; }
body.page.admin .chat-dock-btn{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  cursor:pointer;
}
body.page.admin .chat-dock-btn:hover{ background: rgba(255,255,255,.06); }

body.page.admin .chat-dock-tabs{
  display:flex;
  gap:8px;
  padding: 10px 12px;
  background: rgba(255,255,255,.02);
  border-bottom: 1px solid var(--border);
}
body.page.admin .chat-dock-tabs .tab{
  flex: 1;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  padding: 9px 10px;
  font-weight: 750;
  cursor:pointer;
}
body.page.admin .chat-dock-tabs .tab.active{
  background: rgba(79,140,255,.18);
  border-color: rgba(79,140,255,.35);
}

body.page.admin .chat-dock-body{ height: calc(100% - 56px - 52px); display:block; }
body.page.admin .chat-pane{ height: 100%; }

body.page.admin .chat-search{ padding: 10px 12px; border-bottom: 1px solid var(--border); }
body.page.admin .chat-search input{
  width:100%;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  padding: 10px 12px;
  outline:none;
}

body.page.admin .chat-list{
  height: calc(100% - 62px);
  overflow:auto;
  padding: 10px 10px 12px;
}
body.page.admin .chat-user{
  width:100%;
  display:flex;
  gap:10px;
  align-items:flex-start;
  text-align:left;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  cursor:pointer;
}
body.page.admin .chat-user:hover{ background: rgba(255,255,255,.04); border-color: var(--border); }
body.page.admin .chat-user.active{
  background: rgba(79,140,255,.14);
  border-color: rgba(79,140,255,.28);
}
body.page.admin .chat-user .dot{
  width:10px; height:10px; border-radius:999px; margin-top:6px;
  background: rgba(232,238,252,.28);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.15);
}
body.page.admin .chat-user .dot.on{ background: #35d07f; }
body.page.admin .chat-user .meta{ display:flex; flex-direction:column; gap:2px; flex:1; }
body.page.admin .chat-user .name{ font-weight: 850; }
body.page.admin .chat-user .sub{ font-size: 12px; color: var(--muted); }
body.page.admin .chat-user .last{ font-size: 12px; color: rgba(232,238,252,.60); margin-top:2px; }
body.page.admin[data-theme="white"] .chat-user .last{ color: rgba(17,24,39,.60); }
body.page.admin .chat-user .unread{
  min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px;
  background: rgba(79,140,255,.95);
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

body.page.admin .chat-thread-hd{
  height: 56px;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 0 12px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}
body.page.admin .chat-back{
  width: 36px; height: 36px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  cursor:pointer;
}
body.page.admin .chat-back:hover{ background: rgba(255,255,255,.05); }
body.page.admin .chat-thread-title{ font-weight: 900; }
body.page.admin .chat-thread-sub{ font-size: 12px; color: var(--muted); margin-top:2px; }

body.page.admin .chat-messages{
  height: calc(100% - 56px - 54px);
  overflow:auto;
  padding: 12px;
}
body.page.admin .msg{ display:flex; flex-direction:column; gap:4px; margin: 10px 0; }
body.page.admin .msg.mine{ align-items:flex-end; }
body.page.admin .msg .b{ display:none; }
body.page.admin .chat-pane-global .msg .b{
  display:block;
  font-size: 11px;
  color: var(--muted);
  margin-bottom: -2px;
}
body.page.admin .chat-pane-global .msg.mine .b{ display:none; }

body.page.admin .msg .t{
  max-width: 82%;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  white-space: pre-wrap;
}
body.page.admin .msg.mine .t{
  background: rgba(79,140,255,.95);
  border-color: rgba(79,140,255,.55);
  color: #fff;
}
body.page.admin .msg .d{ font-size: 11px; color: var(--muted); }

body.page.admin .chat-send{
  height: 54px;
  display:flex;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}
body.page.admin .chat-send input{
  flex: 1;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  padding: 10px 12px;
  outline:none;
}
body.page.admin .chat-send button{
  border-radius: 14px;
  border: 1px solid transparent;
  background: var(--primary);
  color:#fff;
  font-weight: 900;
  padding: 10px 12px;
  cursor:pointer;
}
body.page.admin .chat-send button:hover{ background: var(--primary2); }

body.page.admin .chat-empty{
  padding: 14px;
  color: var(--muted);
  text-align:center;
}

@media (max-width: 520px){
  body.page.admin .chat-dock{
    right: 12px;
    bottom: 76px;
    width: calc(100vw - 24px);
    height: min(560px, 70vh);
  }
  body.page.admin .chat-fab{ right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: reduce){
  body.page.admin .chat-dock{ transition:none; }
  body.page.admin .chat-fab:hover{ transform:none; }
}

/* DM pages: dark theme readability (override legacy inline backgrounds) */
body.page.admin #dmBox,
body.page.admin #dmMonBox{
  background: var(--panel2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

/* In admin monitor mode, show sender labels */
body.page.admin #dmMonBox .msg .b{
  display:block;
  font-size: 12px;
  color: var(--muted);
}

/* DM page layout (reuse chat widget styles, but full-page) */
body.page.admin .dm-shell{
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 14px;
}
body.page.admin .dm-side,
body.page.admin .dm-main{
  padding: 0;
  overflow: hidden;
}
body.page.admin .dm-main{ min-height: 560px; display:flex; flex-direction:column; }
body.page.admin .dm-main .chat-messages{ flex: 1; height: auto; }
body.page.admin .dm-side .chat-search{ border-bottom: 1px solid var(--border); }
body.page.admin .dm-side .chat-list{ height: calc(100% - 62px); }
body.page.admin .dm-empty{ padding: 14px; color: var(--muted); text-align:center; }

@media (max-width: 980px){
  body.page.admin .dm-shell{ grid-template-columns: 1fr; }
  body.page.admin .dm-main{ min-height: 520px; }
}

/* Layout polish */
body.page.admin .admin-shell{ display:grid; grid-template-columns: 280px 1fr; min-height:100vh; }
body.page.admin .admin-nav{
  background: linear-gradient(180deg, var(--panel), var(--panel2));
  border-right: 1px solid var(--border);
  padding: 18px 14px;
}
body.page.admin .admin-nav .brand{ color: var(--text); }
body.page.admin .admin-main{ padding: 22px; }
body.page.admin .brand{ display:flex; align-items:center; font-weight:800; letter-spacing:.2px; }
body.page.admin .brand img{ width:28px; height:28px; }
body.page.admin .who{
  margin: 14px 0 16px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
}
body.page.admin .nav-group{ margin: 16px 10px 8px; font-size: 12px; opacity:.7; text-transform: uppercase; letter-spacing:.08em; }
body.page.admin .nav-item{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--text);
  text-decoration:none;
  border: 1px solid transparent;
}
body.page.admin .nav-item:hover{ background: rgba(255,255,255,.03); border-color: var(--border); }
body.page.admin .nav-item.active{
  background: rgba(79,140,255,.14);
  border-color: rgba(79,140,255,.28);
}
body.page.admin .nav-ic{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; opacity:.95; }
body.page.admin .nav-ic svg{ width:18px; height:18px; }
body.page.admin .nav-tx{ font-weight: 650; }

/* Cards */
body.page.admin .card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
}
body.page.admin .card-hd{ padding: 14px 16px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
body.page.admin .card-bd{ padding: 16px; }

/* Buttons */
body.page.admin .btn{
  display:inline-flex; align-items:center; gap:8px;
  border-radius: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  cursor:pointer;
  text-decoration:none;
  font-weight: 650;
}
body.page.admin .btn:hover{ background: rgba(255,255,255,.04); }
body.page.admin .btn:active{ transform: translateY(1px); }
body.page.admin .btn-sm{ padding: 8px 10px; border-radius: 10px; font-size: 13px; }
body.page.admin .btn-primary{ background: var(--primary); border-color: transparent; color: white; }
body.page.admin .btn-primary:hover{ background: var(--primary2); }
body.page.admin .btn-danger{ background: rgba(255,93,93,.12); border-color: rgba(255,93,93,.30); color: var(--text); }
body.page.admin .btn-ghost{ background: transparent; }
body.page.admin .btn-icon{ width: 38px; height: 38px; justify-content:center; padding:0; }

/* Forms */
body.page.admin .field{ display:flex; flex-direction:column; gap:6px; }
body.page.admin .field span{ font-size:12px; color: var(--muted); }
body.page.admin .input, body.page.admin input[type="text"], input[type="email"], input[type="password"], input[type="number"], select, textarea{
  width:100%;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  color: var(--text);
  padding: 10px 12px;
  outline:none;
}
body.page.admin textarea{ min-height: 92px; resize: vertical; }
body.page.admin .input:focus, body.page.admin input:focus, select:focus, textarea:focus{
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 0 0 4px rgba(79,140,255,.18);
}
body.page.admin .input.is-invalid,
body.page.admin input.is-invalid,
body.page.admin select.is-invalid,
body.page.admin textarea.is-invalid{
  border-color: rgba(255,93,93,.55) !important;
  box-shadow: 0 0 0 4px rgba(255,93,93,.14) !important;
}

/* Table */
body.page.admin .table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow:hidden;
  border-radius: 14px;
  border: 1px solid var(--border);
}
body.page.admin .table th, body.page.admin .table td{ padding: 12px 12px; border-bottom:1px solid var(--border); }
body.page.admin .table th{ font-size:12px; text-transform:uppercase; letter-spacing:.07em; color: var(--muted); background: rgba(255,255,255,.02); position:sticky; top:0; }
body.page.admin .table tr:hover td{ background: rgba(255,255,255,.02); }
body.page.admin .table td .row-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* Badges */
body.page.admin .badge{
  display:inline-flex; align-items:center; gap:6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  font-size: 12px;
  font-weight: 700;
}
body.page.admin .badge.success{ border-color: rgba(53,208,127,.35); background: rgba(53,208,127,.10); }
body.page.admin .badge.warning{ border-color: rgba(255,204,102,.35); background: rgba(255,204,102,.10); }
body.page.admin .badge.danger{ border-color: rgba(255,93,93,.35); background: rgba(255,93,93,.10); }

/* Page actions bar */
body.page.admin .page-actions{
  display:flex; justify-content:space-between; align-items:center;
  gap:12px; flex-wrap:wrap; margin-bottom: 14px;
}
body.page.admin .page-actions .left, body.page.admin .page-actions .right{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

/* Modal (simple) */
body.page.admin .modal{
  position:fixed; inset:0; display:none;
  background: rgba(0,0,0,.55);
  align-items:center; justify-content:center;
  padding: 18px;
  z-index: 9999;
}
body.page.admin .modal.open{ display:flex; }
body.page.admin .modal .box{
  width:min(720px, 100%);
  border-radius: 18px;
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow:hidden;
}
body.page.admin .modal .box .hd{ padding: 14px 16px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
body.page.admin .modal .box .bd{ padding: 16px; }
body.page.admin .modal .box .ft{ padding: 14px 16px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:10px; }

/* Theme buttons */
body.page.admin .theme-btn{
  border-radius: 10px;
  width: 38px; height: 34px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.02);
  cursor: pointer;
}
body.page.admin .theme-btn:hover{ background: rgba(255,255,255,.05); }

/* Theme swatches */
body.page.admin .theme-btn.swatch{width:38px;height:34px;border-radius:10px;position:relative}
body.page.admin .theme-btn.swatch:after{content:'';position:absolute;inset:7px;border-radius:8px;}
body.page.admin .theme-btn.swatch.nightblue:after{background:linear-gradient(135deg,#0b1020,#49a6ff)}
body.page.admin .theme-btn.swatch.black:after{background:linear-gradient(135deg,#0a0a0b,#7c5cff)}
body.page.admin .theme-btn.swatch.anthracite:after{background:linear-gradient(135deg,#0f1115,#4f8cff)}
body.page.admin .theme-btn.swatch.white:after{background:linear-gradient(135deg,#f6f7fb,#2563eb)}
body.page.admin .theme-btn.swatch:hover{transform:translateY(-1px)}

/* Day/Night toggle (used in sidebar) */
body.page.admin .theme-toggle{
  width: 64px;
  height: 34px;
  border-radius: 999px;
  position: relative;
  border: 1px solid var(--border);
  background: var(--btn-bg);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  cursor: pointer;
  padding: 0;
  outline: none;
}
body.page.admin .theme-toggle .ico{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  opacity: .75;
  user-select: none;
}
body.page.admin .theme-toggle .ico.sun{ left: 10px; }
body.page.admin .theme-toggle .ico.moon{ right: 10px; }
body.page.admin .theme-toggle .knob{
  position:absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  box-shadow: 0 10px 20px rgba(0,0,0,.30);
  transition: transform .18s ease;
}
body.page.admin[data-theme="light"] .theme-toggle .knob{
  transform: translate(30px, -50%);
}
body.page.admin[data-theme="light"] .theme-toggle .ico.sun{ opacity: .95; }
body.page.admin[data-theme="light"] .theme-toggle .ico.moon{ opacity: .55; }
body.page.admin[data-theme="dark"] .theme-toggle .ico.sun{ opacity: .55; }
body.page.admin[data-theme="dark"] .theme-toggle .ico.moon{ opacity: .95; }

/* =========================================================
   ADMIN THEME v2 OVERRIDES
   Make Day/Night actually affect the whole admin UI.
========================================================= */

body.page.admin{
  background: var(--bg) !important;
  color: var(--text) !important;
}
body.page.admin .admin-shell{
  background: var(--shell-bg) !important;
}
body.page.admin .admin-nav{
  background: var(--nav-bg) !important;
  border-right: 1px solid var(--border) !important;
}
body.page.admin .admin-nav .brand{
  background: var(--brand-bg) !important;
  border: 1px solid var(--border) !important;
}
body.page.admin .admin-nav .brand span{
  color: var(--text) !important;
}
body.page.admin .admin-nav .who{
  background: var(--who-bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
body.page.admin .admin-nav .nav-group{
  color: var(--muted) !important;
}

/* Avoid duplicated icons (legacy mask icons) */
body.page.admin .admin-nav a.nav-item::before{ content:none !important; display:none !important; }

body.page.admin .admin-nav a.nav-item{
  color: var(--muted) !important;
}
body.page.admin .admin-nav a.nav-item:hover{
  color: var(--text) !important;
  background: var(--nav-hover-bg) !important;
  border-color: var(--border) !important;
}
body.page.admin .admin-nav a.nav-item.active{
  color: var(--text) !important;
  background: var(--nav-active-bg) !important;
  border-color: var(--nav-active-border) !important;
}
body.page.admin .admin-nav a.nav-item.active::after{
  background: linear-gradient(180deg, var(--primary), var(--primary2)) !important;
}

body.page.admin .badge{
  background: var(--badge-bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
}
body.page.admin .card.panel{
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
  color: var(--text) !important;
}
body.page.admin .card.panel h2{ color: var(--text) !important; }
body.page.admin .muted{ color: var(--muted) !important; }
body.page.admin .field span{ color: var(--muted) !important; }

body.page.admin input,
body.page.admin textarea,
body.page.admin select{
  background: var(--input-bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
body.page.admin input:focus,
body.page.admin textarea:focus,
body.page.admin select:focus{
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px var(--focus-ring) !important;
}

body.page.admin .btn{
  background: var(--btn-bg) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
body.page.admin .btn-primary{
  background: linear-gradient(135deg, var(--primary), var(--primary2)) !important;
  border-color: transparent !important;
  color: #fff !important;
  font-weight: 800;
}
body.page.admin .tile{
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
}
body.page.admin .kv{ border-bottom: 1px dashed var(--border) !important; }
body.page.admin .kv > div:first-child{ color: var(--muted) !important; }
body.page.admin .hr{ background: var(--border) !important; }

/* =========================================================
   ADMIN LOGIN (Premium)
   ========================================================= */

body.page.auth{
  min-height: 100vh;
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(16,185,129,.22), transparent 60%),
    radial-gradient(900px 700px at 85% 0%, rgba(79,140,255,.16), transparent 55%),
    linear-gradient(180deg, #070a0f 0%, #05070b 60%, #040509 100%);
  color: #e8eefc;
}

.auth-shell{
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
}

.auth-hero{
  position: relative;
  overflow: hidden;
  padding: 54px 42px;
  background:
    radial-gradient(900px 520px at 15% 20%, rgba(16,185,129,.18), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(0,188,212,.14), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.00));
  border-right: 1px solid rgba(255,255,255,.08);
}

.auth-hero::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(300px 280px at 30% 35%, rgba(16,185,129,.12), transparent 65%),
    radial-gradient(260px 220px at 70% 40%, rgba(79,140,255,.10), transparent 65%),
    radial-gradient(220px 200px at 45% 70%, rgba(0,188,212,.08), transparent 65%);
  filter: blur(2px);
  opacity: .95;
  pointer-events:none;
}

.auth-hero-inner{ position: relative; max-width: 560px; }

.auth-mark{ display:flex; align-items:center; gap:12px; }
.auth-logo{ width: 42px; height: 42px; }
.auth-mark-title{ font-weight: 900; letter-spacing:.2px; }
.auth-mark-sub{ font-size: 12px; opacity: .75; margin-top:2px; }

.auth-h1{ margin: 26px 0 10px; font-size: 44px; line-height: 1.05; letter-spacing: -.02em; }
.auth-p{ margin: 0; font-size: 15px; line-height: 1.5; opacity: .82; max-width: 520px; }

.auth-pills{ display:flex; gap:10px; flex-wrap: wrap; margin-top: 18px; }
.pill{
  display:inline-flex;
  align-items:center;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  font-weight: 800;
  font-size: 12px;
}

.auth-mini{ margin-top: 18px; display:grid; gap:10px; }
.auth-mini-row{ display:flex; align-items:center; gap:10px; font-size: 13px; opacity: .78; }
.auth-mini-row .dot{ width: 8px; height: 8px; border-radius: 999px; background: rgba(16,185,129,.85); box-shadow: 0 0 0 4px rgba(16,185,129,.12); }

.auth-marquee{
  position:absolute;
  left:0; right:0;
  bottom:0;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
  overflow:hidden;
}
.auth-marquee .track{
  display:inline-flex;
  gap: 42px;
  white-space: nowrap;
  padding-left: 42px;
  animation: auth-marquee 18s linear infinite;
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 12px;
  opacity: .78;
}
@keyframes auth-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-33.333%); }
}

@media (prefers-reduced-motion: reduce){
  .auth-marquee .track{ animation: none; }
}

.auth-main{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 34px 18px;
}

.auth-card{
  width: min(440px, 100%);
  border-radius: 22px;
  padding: 22px 20px 18px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px 600px at 20% 0%, rgba(16,185,129,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: 0 28px 70px rgba(0,0,0,.55);
  backdrop-filter: blur(14px);
}

.auth-card-hd{ margin-bottom: 12px; }
.auth-card-title{ font-size: 20px; font-weight: 950; letter-spacing: .2px; }
.auth-card-sub{ margin-top: 4px; font-size: 12px; opacity: .72; }

body.page.auth .field span{ color: rgba(232,238,252,.78); }
body.page.auth input{
  background: rgba(0,0,0,.26);
  border: 1px solid rgba(255,255,255,.12);
  color: #e8eefc;
}
body.page.auth input:focus{
  outline: none;
  border-color: rgba(16,185,129,.65);
  box-shadow: 0 0 0 4px rgba(16,185,129,.14);
}

body.page.auth .btn-primary{
  background: linear-gradient(135deg, rgba(16,185,129,1), rgba(0,188,212,.88));
  border-color: transparent;
  color: #062018;
  font-weight: 950;
}

.auth-foot{ margin-top: 14px; display:flex; justify-content:center; }

@media (max-width: 980px){
  .auth-shell{ grid-template-columns: 1fr; }
  .auth-hero{ border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); padding: 42px 18px 70px; }
  .auth-h1{ font-size: 36px; }
}

/* =========================================================
   ADMIN UI KIT v3 (Corporate polish)
   - Nav icons use inline SVGs from _icons.php
   - Remove emoji decorations from legacy blocks
   - Add table-grid + btn-xs + dm-box
========================================================= */

/* kill legacy emoji decorators */
body.admin .nav-group::before,
body.page.admin .nav-group::before{ content: none !important; display:none !important; }

/* nav icon styling */
body.page.admin .nav-ic{ width:18px; height:18px; display:grid; place-items:center; color: var(--muted); }
body.page.admin .nav-ic svg{ width:18px; height:18px; display:block; }
body.page.admin .admin-nav a.nav-item:hover .nav-ic{ color: var(--text); }
body.page.admin .admin-nav a.nav-item.active .nav-ic{ color: var(--text); }

/* button sizes */
.btn-xs{ padding: 6px 9px; border-radius: 10px; font-size: 12px; }
body.page.admin .btn-icon{ width: 36px; height: 36px; border-radius: 12px; justify-content:center; padding:0; }

/* grid table used in dashboard/appointments/packages */
body.page.admin .table-grid{
  width:100%;
  border-radius: 14px;
  border: 1px solid var(--border);
  overflow:hidden;
}
body.page.admin .table-grid .tr{
  display:grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items:center;
}
body.page.admin .table-grid .tr > div{
  padding: 12px 12px;
  border-bottom: 1px solid var(--border);
}
body.page.admin .table-grid .tr.th > div{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  background: rgba(255,255,255,.02);
  position: sticky;
  top: 0;
  z-index: 2;
}
body.page.admin[data-theme="light"] .table-grid .tr.th > div{ background: rgba(17,24,39,.03); }
body.page.admin .table-grid .tr:hover > div{ background: rgba(255,255,255,.02); }
body.page.admin[data-theme="light"] .table-grid .tr:hover > div{ background: rgba(17,24,39,.02); }

/* dm box (chat.php) */
body.page.admin .dm-box{
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel2);
  padding: 12px;
}

/* =========================================================
   PUBLIC WIZARD PAGE (Kampanya Başvurusu) - TOGG-LIKE SKIN
========================================================= */

body.wizard-page .wizard{ grid-template-columns: 360px 1fr; gap:18px; }
body.wizard-page .wizard-shell{ margin-top:-56px; }

@media (max-width: 960px){
  body.wizard-page .wizard{ grid-template-columns: 1fr; }
  body.wizard-page .wizard-shell{ margin-top:0; }
}

body.wizard-page .wiz-panel{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  box-shadow: var(--shadow);
}

body.wizard-page .wiz-panel h2{ margin:0; font-size:22px; }
body.wizard-page .wiz-sub{ margin-top:8px; color: var(--muted); }

body.wizard-page .wiz-actions{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top: 14px; }

/* Steps / Sidebar */
body.wizard-page .wiz-steps{
  background:
    radial-gradient(120% 140% at 25% 15%, rgba(0,188,212,.30), transparent 55%),
    radial-gradient(120% 140% at 80% 18%, rgba(200,160,106,.22), transparent 60%),
    linear-gradient(180deg, #2a2e47, #111427);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  padding: 16px;
  color: #fff;
  box-shadow: 0 22px 60px rgba(0,0,0,.28);
}

body.wizard-page .wiz-steps-top{ display:flex; flex-direction:column; gap:8px; }
body.wizard-page .wiz-steps-title{ font-weight:900; letter-spacing:.02em; }
body.wizard-page .wiz-steps-sub{ font-size:12px; color: rgba(255,255,255,.70); }

/* Mobile compact line ("3/8 · Kimlik Bilgileri" gibi) */
body.wizard-page .wiz-mini-line{
  display:none;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  font-weight:900;
  letter-spacing:.01em;
}

body.wizard-page .wiz-progress{ height:6px; border-radius:999px; background: rgba(255,255,255,.10); overflow:hidden; }
body.wizard-page .wiz-progress-bar{
  height:100%; width:0%;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  border-radius:999px;
  transition: width .25s ease;
}

body.wizard-page .wiz-step-list{ display:flex; flex-direction:column; gap:8px; margin-top: 12px; }

body.wizard-page .wiz-steps .step{
  display:flex; align-items:center;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.88);
  font-weight: 750;
  font-size: 13px;
  background: rgba(255,255,255,.04);
}

body.wizard-page .wiz-steps .dot{
  width:26px; height:26px; border-radius:999px;
  display:grid; place-items:center;
  margin-right:10px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color:#fff;
  font-weight:900;
}

body.wizard-page .wiz-steps .step.active{
  border-color: rgba(0,188,212,.40);
  background: rgba(0,188,212,.16);
}

body.wizard-page .wiz-steps .step.active .dot{
  border-color: rgba(0,188,212,.55);
  background: rgba(0,188,212,.22);
}

body.wizard-page .wiz-steps .step.done{ opacity:.72; }
body.wizard-page .wiz-steps .step.done .dot{
  border-color: rgba(53,208,127,.40);
  background: rgba(53,208,127,.18);
}

/* Sidebar summary */
body.wizard-page .wiz-side-summary{
  margin-top: 14px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
body.wizard-page .wiz-side-tt{ font-weight:900; margin-bottom:8px; }
body.wizard-page .wiz-side-summary .kv{ border-bottom: 1px dashed rgba(255,255,255,.18); }
body.wizard-page .wiz-side-summary .kv > div:first-child{ color: rgba(255,255,255,.70); }
body.wizard-page .wiz-side-hint{ margin-top:10px; font-size:12px; color: rgba(255,255,255,.62); }

@media (max-width: 960px){
  /* Mobilde adım listesi alan kapatmasın: küçük sticky başlık */
  body.wizard-page .wiz-steps{ position: static; top: auto; z-index: 1; padding: 12px; border-radius: 18px; }
  body.wizard-page .wiz-steps-sub{ display:none; }
  body.wizard-page .wiz-step-list{ display:none; }
  body.wizard-page .wiz-mini-line{ display:block; }
  body.wizard-page .wiz-side-summary{ display:none; }
  body.wizard-page .wiz-panel{ padding: 18px; border-radius: 18px; }
}

/* Vehicle tiles */
body.wizard-page .wiz-veh-grid{ margin-top: 14px; }
body.wizard-page .wiz-veh-tile{ padding:0; overflow:hidden; border-radius: 22px; }
body.wizard-page .wiz-veh-top{ padding: 16px 16px 10px; }
body.wizard-page .wiz-veh-badge{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,188,212,.12);
  border:1px solid rgba(0,188,212,.24);
  color:#05323a;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
}
body.wizard-page .wiz-veh-top h3{ margin:10px 0 6px; }
body.wizard-page .wiz-veh-top p{ margin:0; color: var(--muted); }
body.wizard-page .wiz-veh-img{
  min-height: 160px;
  background:
    radial-gradient(120% 140% at 30% 20%, rgba(0,188,212,.25), transparent 55%),
    radial-gradient(140% 140% at 80% 30%, rgba(200,160,106,.22), transparent 55%),
    linear-gradient(180deg, rgba(17,24,39,.06), rgba(17,24,39,.02));
  background-size:cover;
  background-position:center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  position:relative;
}
body.wizard-page .wiz-img-note{ position:absolute; left:14px; bottom:12px; font-size:12px; color: rgba(17,24,39,.55); }
body.wizard-page .wiz-veh-foot{ padding: 14px 16px 16px; background: rgba(255,255,255,.75); backdrop-filter: blur(8px); }

/* Package tiles */
body.wizard-page .wiz-pkg-grid{ margin-top: 14px; }
body.wizard-page .wiz-pkg-tile{ padding: 16px; }
body.wizard-page .wiz-pkg-top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
body.wizard-page .wiz-pkg-top h3{ margin:0; }
body.wizard-page .wiz-pkg-badges{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
body.wizard-page .wiz-pill{
  display:inline-flex; align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.12);
  background: rgba(17,24,39,.03);
  font-size:12px;
  font-weight:800;
}
body.wizard-page .wiz-pkg-meta{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}
body.wizard-page .wiz-pkg-meta > div{
  padding: 10px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(17,24,39,.02);
}
body.wizard-page .wiz-pkg-meta span{ display:block; font-size:12px; color: var(--muted); }
body.wizard-page .wiz-pkg-meta b{ display:block; margin-top:4px; }
body.wizard-page .wiz-pkg-desc{ margin-top: 10px; color: var(--muted); }

@media (max-width: 720px){
  body.wizard-page .wiz-pkg-meta{ grid-template-columns: 1fr; }
}

/* Form rows */
body.wizard-page .wiz-row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
@media (max-width: 720px){
  body.wizard-page .wiz-row{ grid-template-columns: 1fr; }
}

body.wizard-page .wiz-lookup{ display:flex; flex-direction:column; gap:10px; justify-content:flex-end; }

/* Delivery radios */
body.wizard-page .wiz-radio{ display:grid; gap:10px; margin-top: 14px; }
body.wizard-page .wiz-radio-item{
  display:flex; gap:12px; align-items:flex-start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(17,24,39,.02);
}
body.wizard-page .wiz-radio-item input{ margin-top: 4px; }
body.wizard-page .wiz-muted{ color: var(--muted); font-size:12px; margin-top: 4px; }

/* Contract */
body.wizard-page .wiz-contract{ border: 1px solid var(--line); border-radius: 22px; padding: 16px; margin-top: 12px; }
body.wizard-page .wiz-contract-top{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:center; }
body.wizard-page .wiz-contract-left{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
body.wizard-page .wiz-contract-preview{
  max-height: 280px;
  overflow:auto;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #fff;
}
body.wizard-page .wiz-check{ display:flex; gap:10px; align-items:center; opacity:.6; }
body.wizard-page .wiz-check input{ width:auto; }

/* Final summary tile */
body.wizard-page .wiz-final{ margin-top: 10px; }

/* =========================
   Admin Notifications (Bell)
   ========================= */
body.page.admin .admin-topbar{
  position: sticky;
  top: 0;
  z-index: 60;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding: 10px 0 12px;
  margin: 0 0 10px;
  background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,0));
  backdrop-filter: blur(6px);
}
body.page.admin[data-theme="light"] .admin-topbar,
body.page.admin[data-theme="white"] .admin-topbar{
  background: linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,0));
}
body.page.admin .admin-topbar-right{ position:relative; display:flex; align-items:center; gap:10px; }

body.page.admin .notif-bell{
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow: var(--shadow);
}
body.page.admin .notif-bell:hover{ background: rgba(255,255,255,.06); transform: translateY(-1px); }
body.page.admin .notif-bell svg{ width: 20px; height:20px; }

body.page.admin .notif-badge{
  position:absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 2px solid rgba(0,0,0,.35);
}
body.page.admin[data-theme="light"] .notif-badge,
body.page.admin[data-theme="white"] .notif-badge{
  border-color: rgba(255,255,255,.95);
}

body.page.admin .notif-dropdown{
  position:absolute;
  right: 0;
  top: 54px;
  width: 360px;
  max-width: min(360px, calc(100vw - 28px));
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(20,24,36,.92);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  overflow:hidden;
  display:none;
}
body.page.admin[data-theme="light"] .notif-dropdown,
body.page.admin[data-theme="white"] .notif-dropdown{
  background: rgba(255,255,255,.96);
}
body.page.admin .notif-dropdown.open{ display:block; }

body.page.admin .notif-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 12px;
  border-bottom: 1px solid var(--border);
}
body.page.admin .notif-hd .ttl{ font-weight: 950; }
body.page.admin .btn.btn-xs{ padding: 7px 10px; font-size: 12px; border-radius: 12px; }

/* --- Admin: soft button variants + icon alignment --- */
body.page.admin .btn .ic{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; }
body.page.admin .btn .ic svg{ width:16px; height:16px; }
body.page.admin .btn{ gap:8px; }

body.page.admin .btn-soft{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.10); }
body.page.admin[data-theme="light"] .btn-soft{ background: rgba(15,23,42,.04); border-color: rgba(15,23,42,.10); }

body.page.admin .btn-soft-blue{ background: rgba(59,130,246,.12); border-color: rgba(59,130,246,.28); }
body.page.admin .btn-soft-green{ background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.28); }
body.page.admin .btn-soft-amber{ background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.30); }
body.page.admin .btn-soft-purple{ background: rgba(168,85,247,.12); border-color: rgba(168,85,247,.28); }
body.page.admin .btn-soft-teal{ background: rgba(20,184,166,.12); border-color: rgba(20,184,166,.28); }
body.page.admin .btn-soft-indigo{ background: rgba(99,102,241,.12); border-color: rgba(99,102,241,.28); }
body.page.admin .btn-soft-danger{ background: rgba(255,93,93,.12); border-color: rgba(255,93,93,.30); }

body.page.admin .note-col{ max-width: 260px; }
body.page.admin .note-snippet{ cursor:pointer; user-select:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:8px 10px; border-radius:12px; border:1px dashed rgba(255,255,255,.18); background: rgba(255,255,255,.03); }
body.page.admin[data-theme="light"] .note-snippet{ border-color: rgba(15,23,42,.16); background: rgba(15,23,42,.03); }
body.page.admin .note-snippet.editing{ border-style: solid; }

body.page.admin .notif-list{
  max-height: 420px;
  overflow:auto;
  padding: 8px;
}
body.page.admin .notif-item{
  width:100%;
  text-align:left;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  padding: 10px 10px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:4px;
}
body.page.admin .notif-item:hover{ background: rgba(255,255,255,.05); border-color: var(--border); }
body.page.admin .notif-item.unread{ background: rgba(79,140,255,.10); border-color: rgba(79,140,255,.18); }
body.page.admin .notif-item .t{ font-weight: 850; }
body.page.admin .notif-item .b{ font-size: 12px; color: var(--muted); }
body.page.admin .notif-item .d{ font-size: 11px; color: var(--muted); }
body.page.admin .notif-empty{ padding: 18px 12px; color: var(--muted); }

/* =========================================================
   PUBLIC: COOKIE BANNER + MODAL
========================================================= */

.cookie-banner{
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 80;
}
.cookie-banner-inner{
  max-width: 1120px;
  margin: 0 auto;
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(17,24,39,.16);
  padding: 12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
body[data-theme="dark"] .cookie-banner-inner{ background: rgba(17,24,39,.86); border-color: rgba(255,255,255,.14); }
.cookie-banner-text{ color: var(--text); font-size: 13px; line-height: 1.35; }
body[data-theme="dark"] .cookie-banner-text{ color: rgba(255,255,255,.92); }
.cookie-banner-text a{ text-decoration: underline; }
.cookie-banner-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cookie-banner.hide{ opacity: 0; transform: translateY(10px); transition: .2s ease; }

.modal-scrim{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 90;
  display:none;
  padding: 18px;
}
.modal-scrim.open{ display:flex; align-items:center; justify-content:center; }
.modal-card{
  width: min(520px, 100%);
  border-radius: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  box-shadow: 0 22px 80px rgba(0,0,0,.35);
  padding: 18px;
}
.modal-card h3{ margin: 0 0 6px; }
.modal-card .sub{ color: var(--muted); margin: 0 0 12px; }
.modal-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin-top: 14px; }
.modal-grid{ display:grid; gap:10px; margin-top: 12px; }
.modal-grid .btn{ width:100%; justify-content:center; }

body.modal-open{ overflow:hidden; }

/* =========================================================
   STEP18: Applications date filter + nicer sidebar
========================================================= */
body.page.admin .apps-filter{
  display:flex;
  flex-direction:column;
  gap:10px;
}
body.page.admin .apps-filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
body.page.admin .btn-group{
  display:flex;
  gap:8px;
  align-items:center;
}

/* Sidebar polish */
body.page.admin .admin-nav{
  padding:14px 12px !important;
}
body.page.admin .admin-nav .nav-group{
  margin-top:14px !important;
  padding:0 10px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-size:11px !important;
}
body.page.admin .admin-nav a.nav-item{
  border-radius:12px !important;
  padding:10px 12px !important;
  margin:4px 0 !important;
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
}
body.page.admin .admin-nav a.nav-item .nav-ic{
  width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:.95 !important;
}
body.page.admin .admin-nav a.nav-item.active{
  box-shadow: 0 10px 20px rgba(0,0,0,.12) !important;
}
body.page.admin[data-theme="light"] .admin-nav a.nav-item.active{
  box-shadow: 0 10px 20px rgba(15,23,42,.10) !important;
}

/* =========================================================
   WIZARD REFINEMENT - more stable, simpler, more corporate
========================================================= */
body.wizard-page .wizard-hero-page{
  padding: 34px 0 38px;
}
body.wizard-page .wizard-hero-wrap{
  display:grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap:20px;
  align-items:end;
}
body.wizard-page .wizard-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
body.wizard-page .wizard-hero-meta{
  display:grid;
  gap:10px;
}
body.wizard-page .wizard-hero-stat{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
}
body.wizard-page .wizard-hero-stat b{ display:block; font-size:15px; }
body.wizard-page .wizard-hero-stat span{ display:block; margin-top:4px; color:rgba(255,255,255,.72); font-size:13px; }

body.wizard-page .wizard-shell{ margin-top:-38px; }
body.wizard-page .wiz-panel{
  padding:0;
  overflow:hidden;
}
body.wizard-page .wiz-panel-head{
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(17,24,39,.02), rgba(17,24,39,0));
}
body.wizard-page .wiz-panel-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,188,212,.08);
  color:#05515d;
  border:1px solid rgba(0,188,212,.20);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.wizard-page .wiz-panel-copy{ margin-top:12px; }
body.wizard-page .wiz-panel-title{ margin:0; font-size:28px; line-height:1.15; }
body.wizard-page .wiz-panel-note{ margin:8px 0 0; color:var(--muted); max-width:760px; }
body.wizard-page .wiz-panel > [data-step]{ padding:24px; }
body.wizard-page .wiz-panel > [data-step="1"]{ padding-top:20px; }
body.wizard-page .wiz-panel .alert{
  border-radius:16px;
  border:1px solid rgba(17,24,39,.08);
  background:linear-gradient(180deg, rgba(17,24,39,.03), rgba(17,24,39,.015));
}
body.wizard-page .wiz-actions{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
body.wizard-page .wiz-actions .btn{
  min-height:48px;
  padding:12px 16px;
  border-radius:14px;
}
body.wizard-page .wiz-actions .btn:not(.btn-primary){
  background:#fff;
}
body.wizard-page .wiz-actions .btn-primary{
  box-shadow: 0 10px 24px rgba(0,188,212,.18);
}
body.wizard-page .wiz-steps{
  border-radius:24px;
  padding:18px;
}
body.wizard-page .wiz-steps .step{
  min-height:46px;
  transition: all .18s ease;
}
body.wizard-page .wiz-steps .step.done{ opacity:.92; }
body.wizard-page .wiz-steps .step.done .dot::before{
  content:'✓';
  font-size:13px;
}
body.wizard-page .wiz-steps .step.done .dot{ color:transparent; position:relative; }
body.wizard-page .wiz-steps .step.done .dot::before{ color:#9ef0bf; position:absolute; }

body.wizard-page .wiz-veh-grid,
body.wizard-page .wiz-pkg-grid{ gap:16px; }
body.wizard-page .wiz-veh-tile,
body.wizard-page .wiz-pkg-tile{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.wizard-page .wiz-veh-tile:hover,
body.wizard-page .wiz-pkg-tile:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(17,24,39,.08);
}
body.wizard-page .wiz-veh-tile.is-selected,
body.wizard-page .wiz-pkg-tile.is-selected{
  border-color: rgba(0,188,212,.45);
  box-shadow: 0 0 0 4px rgba(0,188,212,.10), 0 16px 34px rgba(0,188,212,.12);
}
body.wizard-page .wiz-veh-top,
body.wizard-page .wiz-pkg-tile{ text-align:left; }
body.wizard-page .wiz-veh-foot{ background:#fff; }
body.wizard-page .wiz-pkg-meta > div{
  background:#f8fafc;
  border-color:rgba(17,24,39,.07);
}
body.wizard-page .wiz-row .field,
body.wizard-page .wiz-radio-item,
body.wizard-page .wiz-contract,
body.wizard-page .wiz-final{
  border-radius:20px;
}
body.wizard-page .wiz-radio-item{
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
body.wizard-page .wiz-radio-item:has(input:checked){
  border-color:rgba(0,188,212,.42);
  box-shadow:0 0 0 4px rgba(0,188,212,.10);
  background:rgba(0,188,212,.04);
}
body.wizard-page input,
body.wizard-page select,
body.wizard-page textarea{
  min-height:48px;
  border-radius:14px;
  background:#fff;
}
body.wizard-page input.is-invalid,
body.wizard-page select.is-invalid,
body.wizard-page textarea.is-invalid{
  border-color: rgba(239,68,68,.80) !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.12) !important;
}
body.wizard-page textarea{ min-height:110px; }
body.wizard-page .field span{ font-weight:700; color:#4b5563; }
body.wizard-page .checkline{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
body.wizard-page .checkline:has(input.is-invalid),
body.wizard-page .wiz-check:has(input.is-invalid){
  border-color: rgba(239,68,68,.80) !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.12) !important;
}
body.wizard-page .checkline input,
body.wizard-page .wiz-check input{ min-height: auto; margin-top:3px; }
body.wizard-page .wiz-contract-preview{
  max-height:340px;
  background:#fbfdff;
}
body.wizard-page .wiz-final{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:18px;
}
body.wizard-page [data-step="8"] .alert-success{
  border-radius:18px;
}

@media (max-width: 960px){
  body.wizard-page .wizard-hero-wrap{ grid-template-columns: 1fr; }
  body.wizard-page .wizard-hero-meta{ grid-template-columns: 1fr; }
  body.wizard-page .wizard-shell{ margin-top:-18px; }
  body.wizard-page .wiz-panel-head{ padding:18px 18px 16px; }
  body.wizard-page .wiz-panel-title{ font-size:24px; }
  body.wizard-page .wiz-panel > [data-step]{ padding:18px; }
  body.wizard-page .wiz-actions{ position:static; bottom:auto; background:rgba(246,247,251,.96); padding:12px; margin:18px -6px 0; border:1px solid var(--line); border-radius:18px; box-shadow:0 12px 34px rgba(17,24,39,.10); }
}
@media (max-width: 720px){
  body.wizard-page .wizard-hero-page{ padding:18px 0 24px; }
  body.wizard-page .wizard-hero-meta{ display:none; }
  body.wizard-page .hero-page .hero-title{ font-size:26px; }
  body.wizard-page .hero-page .hero-sub{ font-size:14px; margin-top:8px; }
  body.wizard-page .wiz-steps{ top:auto; border-radius:18px; }
  body.wizard-page .wiz-mini-line{ font-size:13px; }
  body.wizard-page .wiz-panel-title{ font-size:22px; }
  body.wizard-page .wiz-panel-note{ font-size:14px; }
  body.wizard-page .wiz-actions{ display:grid; grid-template-columns: 1fr 1fr; }
  body.wizard-page .wiz-actions .btn:only-child,
  body.wizard-page .wiz-actions .btn.btn-primary:last-child:first-child{ grid-column:1/-1; }
}


/* STEP4: Idle timeout modal */
.idle-modal-card{
  width:min(460px, 100%);
  padding:22px;
}
.idle-modal-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(37,99,235,.10);
  color:#2563eb;
  font-weight:700;
  font-size:12px;
  margin-bottom:10px;
}
.idle-timer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  margin-top:12px;
  border-radius:16px;
  border:1px solid var(--line);
  background: color-mix(in srgb, var(--card) 82%, #2563eb 18%);
}
.idle-timer{
  font-size:28px;
  font-weight:800;
  letter-spacing:.05em;
}
body[data-theme="dark"] .idle-modal-badge{
  background: rgba(96,165,250,.16);
  color:#93c5fd;
}
body[data-theme="dark"] .idle-timer-row{
  background: rgba(37,99,235,.12);
  border-color: rgba(147,197,253,.22);
}


.kv-list{display:grid;gap:10px}.kv-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}.kv-item span{color:var(--muted)}.kv-item strong{font-weight:800}.softbox{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}.codeish{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:800;letter-spacing:1px;word-break:break-all;margin-top:6px}

.profile-2fa-grid{display:grid;grid-template-columns:320px 1fr;gap:14px;align-items:start}
.qr-wrap{margin-top:10px;display:flex;align-items:center;justify-content:center;padding:14px;border:1px dashed var(--line);border-radius:18px;background:#fff;min-height:268px}
.qr-image{width:240px;max-width:100%;height:auto;display:block;border-radius:14px}
.profile-2fa-uri{margin-top:10px;min-height:110px;width:100%;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel-2);color:var(--text)}
@media (max-width: 900px){.profile-2fa-grid{grid-template-columns:1fr}.profile-2fa-qr{order:-1}}

/* =========================================================
   STEP 1 - PUBLIC THEME REFINEMENT
========================================================= */

:root{
  --public-header-solid: #7f8098;
  --public-header-ink: #171b2e;
  --public-surface: #ffffff;
  --public-surface-soft: #f4f5f8;
}

body.page{ background:#f2f3f7; }
body.menu-open{ overflow:hidden; }


/* Campaign top strip (admin-controlled) */
.camp-strip{
  width:100%;
  border-bottom:1px solid rgba(255,255,255,.14);
  background: linear-gradient(90deg, rgba(0,188,212,.30), rgba(200,160,106,.24), rgba(0,188,212,.22));
  color:#fff;
}
.camp-strip a{ display:block; }
.camp-strip-inner{
  height: 38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.camp-marquee{
  flex: 1;
  overflow:hidden;
  white-space:nowrap;
}
.camp-marquee-track{
  display:inline-flex;
  align-items:center;
  gap: 26px;
  padding-left: 100%;
  animation: campMarquee 16s linear infinite;
}
.camp-marquee strong{ font-weight:900; letter-spacing:.02em; }
.camp-cta{
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(0,0,0,.18);
  font-weight:900;
  font-size: 12px;
}
@keyframes campMarquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-100%); }
}
@media (max-width: 720px){
  .camp-strip-inner{ height:auto; padding:8px 0; }
  .camp-cta{ padding:8px 10px; }
  .camp-marquee-track{ animation-duration: 18s; }
}
.public-topbar{
  backdrop-filter: blur(12px);
}
.public-topbar.public-topbar-solid{
  background: linear-gradient(90deg, #7f8098 0%, #7c7d96 44%, #7b7b95 100%);
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.public-topbar.public-topbar-overlay{
  position: sticky;
  background: linear-gradient(90deg, rgba(96,112,145,.74), rgba(16,18,37,.88));
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.public-topbar .inner{ height: 62px; }
.public-topbar .brand{ gap:14px; color:#fff; font-weight:500; }
.public-topbar .brand img{ width:56px; height:28px; object-fit:contain; }
.public-topbar .brand span{ font-size: 26px; letter-spacing: .01em; }
.public-topbar .nav{ gap: 30px; }
.public-topbar .nav a{
  font-size:13px;
  font-weight:700;
  opacity:.94;
  padding: 18px 2px 16px;
}
.public-topbar .nav a.active::after{ bottom:-1px; height:3px; }
.public-topbar .nav-actions{ gap:8px; }
.public-topbar .icon-btn,
.public-topbar .icon-btn-soft{
  width:38px; height:38px; border-radius:12px;
  display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.14);
  background: transparent;
  color:#fff;
}
.public-topbar .icon-btn:hover,
.public-topbar .icon-btn-soft:hover{ background:rgba(255,255,255,.08); }
.public-topbar .hamburger{ display:none; }

.public-menu{
  position:fixed;
  inset:0;
  background:rgba(9,12,22,.42);
  backdrop-filter: blur(10px);
  z-index:75;
  display:none;
  padding:84px 18px 18px;
}
.public-menu.open{ display:block; }
.public-menu-card{
  width:min(420px, 100%);
  margin-left:auto;
  background:#fff;
  color:#111827;
  border-radius:28px;
  padding:20px;
  box-shadow: 0 30px 80px rgba(10,14,24,.28);
}
.public-menu-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.public-menu-head b{ font-size:18px; }
.public-menu-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.public-menu-grid a{
  border:1px solid rgba(17,24,39,.08);
  background:#f7f8fb;
  border-radius:18px;
  padding:16px 14px;
  font-weight:800;
  text-align:center;
}
.public-menu-grid a:hover{ border-color: rgba(0,188,212,.32); color:#0b5161; }

.home-stage{
  background:#ececf1;
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(17,24,39,.06);
}
.home-stage-shell{
  min-height: calc(100vh - 62px);
  padding: 34px 0 112px;
  position:relative;
}
.home-stage-grid{
  display:grid;
  grid-template-columns: 340px minmax(0,1fr);
  gap:34px;
  align-items:center;
}
.home-stage-kicker{
  color:var(--accent);
  font-size:58px;
  font-weight:900;
  line-height:1;
  letter-spacing:.02em;
}
.home-stage-title{
  margin:8px 0 16px;
  font-size:58px;
  line-height:.98;
  color:#3d4269;
}
.home-stage-desc{
  margin:0;
  max-width:280px;
  color:rgba(61,66,105,.74);
  font-size:14px;
  line-height:1.38;
}
.home-stage-mini{
  display:grid;
  gap:10px;
  margin-top:22px;
  max-width:300px;
}
.home-stage-mini-item{
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.6);
  backdrop-filter: blur(10px);
}
.home-stage-mini-item b{ display:block; font-size:15px; color:#20253f; }
.home-stage-mini-item span{ display:block; margin-top:4px; font-size:12px; color:rgba(61,66,105,.66); }
.home-stage-media{ display:flex; justify-content:flex-end; }
.home-stage-car{
  width: min(1120px, 100%);
  aspect-ratio: 16 / 8.5;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center right;
  filter: drop-shadow(0 30px 34px rgba(17,24,39,.16));
}
.home-stage-actions{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  justify-content:center;
}
.home-models{ background:#f2f3f7; padding-top:28px; }
.home-campaign-card{
  background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,246,248,.98));
  border:1px solid rgba(17,24,39,.08);
  border-radius:28px;
  padding:24px;
  box-shadow: 0 16px 36px rgba(17,24,39,.06);
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-bottom:22px;
}
.home-campaign-badge{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(0,188,212,.12);
  border:1px solid rgba(0,188,212,.18);
  color:#0d5a67;
  font-size:12px;
  font-weight:900;
}
.home-campaign-card h2{ margin:12px 0 6px; font-size:28px; }
.home-campaign-card p{ margin:0; color:var(--muted); max-width:760px; white-space:pre-wrap; }
.home-veh-cards .veh-card{ min-height: 380px; border-radius:28px; }
.home-veh-cards .veh-card-img{ min-height: 240px; background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#eef0f5; }
.home-info-cards{ margin-top:22px; }
.home-info-cards .info-card{ border-radius:22px; padding:22px; }

body.veh-page .veh-hero{
  background:#ececf1;
  padding:32px 0 22px;
}
body.veh-page .veh-hero-shell{
  min-height: calc(100vh - 62px);
  padding-bottom: 104px;
}
body.veh-page .veh-hero-grid{
  grid-template-columns: 340px minmax(0,1fr);
  gap:36px;
}
body.veh-page .veh-kicker{
  font-size:58px;
  color:var(--accent);
}
body.veh-page .veh-title{
  margin:8px 0 14px;
  font-size:56px;
  line-height:.98;
  color:#3d4269;
}
body.veh-page .veh-desc{
  font-size:14px;
  line-height:1.42;
  color:rgba(61,66,105,.74);
  max-width:290px;
}
body.veh-page .veh-stats{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-width:320px;
}
body.veh-page .stat{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:none;
}
body.veh-page .stat-val{ color:#20253f; }
body.veh-page .stat-lbl{ color:rgba(61,66,105,.68); }
body.veh-page .veh-img{
  width:min(1180px,100%);
  aspect-ratio: 16 / 8.5;
  border-radius:0;
  box-shadow:none;
  background-color:transparent;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center right;
}
body.veh-page .veh-hero-bottom{
  bottom:18px;
  gap:18px;
}
.veh-sections-wrap{ padding-top: 48px; }
.veh-section-intro{
  margin-bottom:28px;
  max-width:740px;
}
.veh-section-eyebrow{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(0,188,212,.11);
  border:1px solid rgba(0,188,212,.18);
  color:#0d5a67;
  font-size:12px;
  font-weight:900;
}
.veh-section-intro h2{ margin:14px 0 8px; font-size:34px; color:#20253f; }
.veh-section-intro p{ margin:0; color:var(--muted); }
.veh-section{
  padding:24px;
  background:#fff;
  border:1px solid rgba(17,24,39,.07);
  border-radius:30px;
  box-shadow: 0 16px 34px rgba(17,24,39,.04);
  margin-bottom:18px;
}
.veh-section.is-alt{ background:#f8fafc; }
.veh-sec-grid{ gap:30px; }
.veh-sec-copy{ position:relative; }
.veh-sec-no{
  display:inline-flex;
  margin-bottom:12px;
  color:rgba(32,37,63,.38);
  font-size:12px;
  letter-spacing:.22em;
  font-weight:900;
}
.veh-sec-copy h2{ font-size:32px; color:#20253f; }
.veh-sec-copy p{ color:#596176; font-size:15px; line-height:1.6; }
.veh-bullets{ padding-left:20px; color:#374151; }
.veh-bullets li{ margin:10px 0; }
.veh-sec-img{
  min-height:280px;
  border-radius:26px;
  background-color:#eef1f5;
  background-size:cover;
  background-position:center;
}
.veh-cta-card{ border-radius:28px; padding:24px; }

.faq-page{ background:#f2f3f7; }
.faq-hero{
  min-height: 520px;
  padding-top: 96px;
  background:
    linear-gradient(90deg, rgba(13,16,28,.58), rgba(13,16,28,.08)),
    radial-gradient(120% 140% at 70% 20%, rgba(24,208,255,.12), transparent 60%),
    linear-gradient(180deg, #6c7f9c 0%, #2b2f48 100%);
  background-size:cover;
  background-position:center;
}
.faq-hero-copy h1{
  margin:0;
  max-width:560px;
  color:#fff;
  font-size:64px;
  line-height:1.02;
  text-shadow: 0 12px 40px rgba(0,0,0,.24);
}
.faq-content-wrap{ margin-top:-96px; padding-bottom:36px; }
.faq-layout-polished{
  display:grid;
  grid-template-columns: 280px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.faq-side{ position:relative; }
.faq-side-card{
  position:sticky;
  top:86px;
  padding:0;
}
.faq-main-card{
  background:#fff;
  border-radius:28px;
  padding:18px;
  border:1px solid rgba(17,24,39,.06);
  box-shadow: 0 18px 42px rgba(17,24,39,.08);
}
.faq-side-card .sidebtn{
  border-radius:12px;
  padding:16px 14px;
  margin-bottom:12px;
  background:#fff;
  border:1px solid rgba(98,112,144,.28);
  color:#1b2553;
}
.faq-side-card .sidebtn.active{
  background:#18b5d4;
  color:#fff;
  border-color:#18b5d4;
}
.faq-main-card .accordion{ padding:0; }
.faq-main-card .acc-item{
  margin:10px 0;
  border-radius:16px;
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 8px 24px rgba(17,24,39,.03);
}
.faq-main-card .acc-head{
  width:100%;
  border:0;
  background:#fff;
  font-size:16px;
  text-align:left;
  padding:22px 22px;
}
.faq-main-card .acc-title{ display:block; max-width:92%; }
.faq-main-card .acc-chevron{ font-size:26px; line-height:1; color:#18b5d4; }
.faq-main-card .acc-body{
  padding:0 22px 22px;
  font-size:15px;
  line-height:1.6;
  color:#5b6478;
}
.faq-bottom-note{
  margin-top:18px;
  padding:18px 20px;
  border-radius:18px;
  background:#f5f8fb;
  border:1px solid rgba(17,24,39,.06);
  color:#5b6478;
}

.public-footer{
  background:#fff;
  padding:32px 0;
}
.public-footer .inner{ align-items:flex-start; }
.footer-brand{ font-size:16px; font-weight:800; color:#20253f; }
.footer-note{ margin-top:8px; color:#6b7280; max-width:360px; }
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px 18px;
  max-width:520px;
}
.footer-links a{ color:#4b5563; font-weight:700; }
.footer-links a:hover{ color:#111827; }

.cookie-banner{ bottom:20px; }
.cookie-banner-inner{
  border-radius:20px;
  padding:14px 16px;
  box-shadow:0 18px 36px rgba(17,24,39,.12);
}

.floating-rail{
  right:20px;
  border-radius:18px;
  padding:10px 9px;
}
.floating-help{
  right:0;
  bottom:20px;
  background:#6f7190;
  padding:13px 16px;
}

@media (max-width: 1024px){
  .home-stage-grid,
  body.veh-page .veh-hero-grid{ grid-template-columns: 1fr; }
  .home-stage-desc,
  body.veh-page .veh-desc,
  body.veh-page .veh-stats{ max-width:none; }
  .home-stage-shell,
  body.veh-page .veh-hero-shell{ min-height:auto; padding-bottom:18px; }
  .home-stage-actions,
  body.veh-page .veh-hero-bottom{ position:static; transform:none; margin-top:20px; }
  .home-stage-media,
  body.veh-page .veh-hero-media{ justify-content:flex-start; }
  .home-stage-car,
  body.veh-page .veh-img{ background-position:center; }
  .faq-layout-polished{ grid-template-columns:1fr; }
  .faq-side-card{ position:static; display:flex; overflow:auto; gap:10px; padding-bottom:4px; }
  .faq-side-card .sidebtn{ min-width:max-content; margin-bottom:0; }
}

@media (max-width: 860px){
  .public-topbar .hamburger{ display:grid; }
  .public-topbar .nav{ display:none; }
  .public-topbar .nav.open{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:66px;
    right:0;
    width:min(280px, calc(100vw - 36px));
    background:rgba(17,20,39,.96);
    border-radius:20px;
    padding:10px;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 22px 50px rgba(0,0,0,.28);
  }
}

@media (max-width: 720px){
  .public-topbar .inner{ height:60px; }
  .public-topbar .brand img{ width:50px; height:24px; }
  .public-topbar .brand span{ font-size:20px; }
  .public-topbar .icon-btn,
  .public-topbar .icon-btn-soft{ width:36px; height:36px; }
  .home-stage-shell{ padding-top:24px; }
  .home-stage-kicker,
  body.veh-page .veh-kicker{ font-size:42px; }
  .home-stage-title,
  body.veh-page .veh-title,
  .faq-hero-copy h1{ font-size:40px; }
  .home-stage-car,
  body.veh-page .veh-img{ aspect-ratio:16/9; }
  .home-campaign-card,
  .veh-section,
  .faq-main-card{ border-radius:22px; }
  .faq-hero{ min-height:360px; padding-top:88px; }
  .faq-content-wrap{ margin-top:-44px; }
  .footer-links{ justify-content:flex-start; }
}


body.wizard-page .wiz-step-hint{
  margin-bottom:14px;
}
body.wizard-page .wiz-inline-status{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
body.wizard-page .wiz-inline-item{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:12px 14px;
}
body.wizard-page .wiz-inline-item span{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
}
body.wizard-page .wiz-inline-item b{
  display:block;
  font-size:14px;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.wizard-page .wiz-verify{
  margin-top:16px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:20px;
  padding:18px;
}
body.wizard-page .wiz-verify-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
body.wizard-page .wiz-verify-head span{
  color:var(--muted);
  font-size:13px;
}
body.wizard-page .wiz-policy-box{
  margin-top:16px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:20px;
  padding:18px;
  display:grid;
  gap:12px;
}
body.wizard-page .wiz-policy-head{
  display:grid;
  gap:6px;
}
body.wizard-page .wiz-policy-head span{
  color:var(--muted);
  font-size:13px;
}
body.wizard-page .wiz-checkline-soft{
  background:#fbfdff;
}
body.wizard-page .wiz-policy-link{
  color:#0ea5e9;
  text-decoration:none;
  font-weight:700;
}
body.wizard-page .wiz-policy-link:hover{
  text-decoration:underline;
}
body.wizard-page .wiz-actions .btn[disabled]{
  opacity:.5;
  cursor:not-allowed;
  box-shadow:none;
}
@media (max-width: 720px){
  body.wizard-page .wiz-inline-status{
    grid-template-columns:1fr;
  }
  body.wizard-page .wiz-inline-item{
    padding:11px 12px;
  }
  body.wizard-page .wiz-verify,
  body.wizard-page .wiz-policy-box{
    padding:14px;
    border-radius:18px;
  }
}


/* =========================================================
   ADMIN STEP 3 POLISH
========================================================= */
body.page.admin .admin-brand-card{
  align-items:center;
  gap:12px;
  padding:14px 14px;
}
body.page.admin .admin-brand-card img{ width:34px; height:34px; }
body.page.admin .admin-brand-card .brand-sub{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: var(--muted);
  margin-top:2px;
}
body.page.admin .admin-who-card{
  padding:14px;
  border-radius:18px;
}
body.page.admin .admin-who-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
body.page.admin .admin-who-name{ font-weight:900; line-height:1.15; }
body.page.admin .admin-who-role{ opacity:.82; font-size:12px; margin-top:3px; text-transform:capitalize; }
body.page.admin .mini-role-pill,
body.page.admin .who-meta-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  border:1px solid var(--border);
}
body.page.admin .mini-role-pill.admin{ background: rgba(59,130,246,.14); border-color: rgba(59,130,246,.25); }
body.page.admin .mini-role-pill.staff{ background: rgba(16,185,129,.14); border-color: rgba(16,185,129,.25); }
body.page.admin .who-meta-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }

body.page.admin .admin-topbar{
  justify-content:space-between;
  gap:14px;
}
body.page.admin .admin-topbar-left{
  min-width:0;
}
body.page.admin .admin-page-kicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--primary);
}
body.page.admin .admin-page-title{
  font-size:30px;
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.03em;
  color: var(--text);
  margin-top:4px;
}
body.page.admin .admin-page-sub{
  font-size:13px;
  color: var(--muted);
  margin-top:4px;
}
body.page.admin .topbar-user-pill{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  background: var(--panel);
  padding:9px 12px;
  border-radius:16px;
  box-shadow: var(--shadow);
}
body.page.admin .topbar-user-ic,
body.page.admin .topbar-user-ic svg{
  width:18px;
  height:18px;
}
body.page.admin .topbar-user-name{ font-size:12px; font-weight:900; line-height:1.1; }
body.page.admin .topbar-user-role{ font-size:11px; color: var(--muted); margin-top:2px; }

body.page.admin .admin-stat-grid{
  display:grid;
  gap:14px;
  margin: 0 0 16px;
}
body.page.admin .admin-stat-grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.page.admin .admin-stat-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  padding:16px 16px 15px;
  border:1px solid var(--border);
  background:
    radial-gradient(280px 160px at 90% -10%, rgba(255,255,255,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
}
body.page.admin[data-theme="light"] .admin-stat-card{
  background:
    radial-gradient(280px 160px at 90% -10%, rgba(37,99,235,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.76));
}
body.page.admin .admin-stat-card::after{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:100%;
  height:3px;
  opacity:.95;
}
body.page.admin .admin-stat-card.is-blue::after{ background: linear-gradient(90deg, rgba(59,130,246,1), rgba(59,130,246,.15)); }
body.page.admin .admin-stat-card.is-green::after{ background: linear-gradient(90deg, rgba(16,185,129,1), rgba(16,185,129,.15)); }
body.page.admin .admin-stat-card.is-amber::after{ background: linear-gradient(90deg, rgba(245,158,11,1), rgba(245,158,11,.15)); }
body.page.admin .admin-stat-card.is-purple::after{ background: linear-gradient(90deg, rgba(168,85,247,1), rgba(168,85,247,.15)); }
body.page.admin .admin-stat-card.is-rose::after{ background: linear-gradient(90deg, rgba(244,63,94,1), rgba(244,63,94,.15)); }
body.page.admin .admin-stat-label{ font-size:12px; color: var(--muted); font-weight:800; letter-spacing:.04em; }
body.page.admin .admin-stat-value{ font-size:30px; font-weight:950; line-height:1; margin-top:8px; }
body.page.admin .admin-stat-sub{ font-size:12px; color: var(--muted); margin-top:8px; line-height:1.35; }

body.page.admin .apps-page-header{
  border:1px solid var(--border);
  border-radius:20px;
  padding:14px 16px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
body.page.admin .admin-surface-card{
  border-radius:24px;
}
body.page.admin .apps-premium-table td{ vertical-align:top; }
body.page.admin .apps-premium-table .row-actions{ min-width: 340px; }
body.page.admin .inline-code-pill{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background: rgba(59,130,246,.12);
  border:1px solid rgba(59,130,246,.22);
  font-size:12px;
  font-weight:800;
}
body.page.admin .inline-code-pill.soft{
  background: rgba(168,85,247,.10);
  border-color: rgba(168,85,247,.22);
}
body.page.admin .row-actions .input{
  min-width: 138px;
  height: 34px;
  border-radius: 11px;
}
body.page.admin .table td .row-actions .btn,
body.page.admin .paylink-actions .btn{ box-shadow:none; }
body.page.admin .paylink-short-cell{
  max-width:340px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:700;
}
body.page.admin .paylink-short-cell a{ display:block; overflow:hidden; text-overflow:ellipsis; }
body.page.admin .paylink-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

body.page.admin .appointment-stack{
  display:grid;
  gap:14px;
}
body.page.admin .appointment-card{
  border:1px solid var(--border);
  background: var(--panel);
  border-radius:22px;
  padding:16px;
  box-shadow: var(--shadow);
}
body.page.admin .appointment-card.today{
  border-color: rgba(245,158,11,.28);
  box-shadow: 0 16px 36px rgba(245,158,11,.08);
}
body.page.admin .appointment-card.done{
  opacity:.92;
}
body.page.admin .appointment-main{
  display:grid;
  grid-template-columns: 140px minmax(0,1fr);
  gap:16px;
  align-items:flex-start;
}
body.page.admin .appointment-time-block{
  border:1px solid var(--border);
  border-radius:18px;
  background: rgba(255,255,255,.03);
  padding:14px;
}
body.page.admin[data-theme="light"] .appointment-time-block{ background: rgba(15,23,42,.03); }
body.page.admin .appointment-time-date{ font-size:12px; color: var(--muted); font-weight:800; }
body.page.admin .appointment-time-hour{ font-size:28px; font-weight:950; line-height:1; margin-top:6px; }
body.page.admin .appointment-time-pill{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
}
body.page.admin .appointment-time-pill.is-open{ background: rgba(59,130,246,.12); border:1px solid rgba(59,130,246,.24); }
body.page.admin .appointment-time-pill.is-today{ background: rgba(245,158,11,.16); border:1px solid rgba(245,158,11,.28); }
body.page.admin .appointment-time-pill.is-done{ background: rgba(16,185,129,.14); border:1px solid rgba(16,185,129,.24); }
body.page.admin .appointment-title-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
}
body.page.admin .appointment-title{ font-size:18px; font-weight:950; line-height:1.15; }
body.page.admin .appointment-meta{ font-size:12px; color: var(--muted); margin-top:4px; }
body.page.admin .appointment-note{
  margin-top:10px;
  padding:12px 13px;
  border-radius:16px;
  border:1px dashed var(--border);
  color: var(--text);
  background: rgba(255,255,255,.03);
}
body.page.admin[data-theme="light"] .appointment-note{ background: rgba(15,23,42,.03); }
body.page.admin .appointment-customer-box{
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 13px;
  background: rgba(255,255,255,.03);
}
body.page.admin[data-theme="light"] .appointment-customer-box{ background: rgba(15,23,42,.03); }
body.page.admin .appointment-customer-name{ font-weight:900; }
body.page.admin .appointment-customer-meta{ font-size:12px; color: var(--muted); margin-top:4px; }
body.page.admin .appointment-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

@media (max-width: 1200px){
  body.page.admin .admin-stat-grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 880px){
  body.page.admin .admin-topbar{ flex-direction:column; align-items:flex-start; }
  body.page.admin .admin-topbar-right{ width:100%; justify-content:space-between; }
  body.page.admin .topbar-user-pill{ display:none; }
  body.page.admin .admin-page-title{ font-size:24px; }
  body.page.admin .appointment-main{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  body.page.admin .admin-stat-grid--4{ grid-template-columns: 1fr; }
  body.page.admin .apps-premium-table .row-actions{ min-width: 0; }
  body.page.admin .apps-page-header{ padding:12px; }
  body.page.admin .paylink-actions{ justify-content:flex-start; }
}


/* Step 4: security/system hardening */
.profile-2fa-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.profile-2fa-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.profile-2fa-status{padding:10px 14px;border-radius:999px;font-weight:800;border:1px solid var(--line);background:var(--panel-2)}
.profile-2fa-status.is-on{box-shadow:inset 0 0 0 1px rgba(20,184,166,.22)}
.profile-2fa-status.is-off{box-shadow:inset 0 0 0 1px rgba(245,158,11,.20)}
.profile-2fa-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.profile-2fa-mini-value{font-size:22px;font-weight:900;margin:6px 0 8px}
.profile-2fa-steps{display:flex;gap:10px;flex-wrap:wrap}
.profile-2fa-steps .step{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);font-weight:700}
.profile-2fa-steps .step span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(99,102,241,.15);font-size:12px}
.profile-2fa-steps .step.done span{background:rgba(16,185,129,.18)}
.profile-2fa-grid{display:grid;grid-template-columns:minmax(320px,360px) 1fr;gap:14px;align-items:start}
.profile-2fa-qr-card .profile-2fa-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.profile-2fa-card-title{font-weight:900;font-size:18px;line-height:1.2}
.profile-2fa-qr-card .qr-wrap.is-large{margin-top:14px;padding:18px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line)}
.profile-2fa-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.profile-2fa-specs div{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2)}
.profile-2fa-specs span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.profile-2fa-specs b{display:block;font-size:14px}
.system-copy-grid .codeish{word-break:break-all}
@media (max-width: 960px){.profile-2fa-mini-grid{grid-template-columns:1fr}.profile-2fa-grid{grid-template-columns:1fr}.profile-2fa-specs{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.profile-2fa-specs{grid-template-columns:1fr}}


body.page.admin .apps-segmented{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 0 0 16px;
}
body.page.admin .apps-segment{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--panel);
  color:var(--text);
  font-weight:800;
  box-shadow: var(--shadow);
}
body.page.admin .apps-segment span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:26px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:12px;
}
body.page.admin .apps-segment.is-active{ box-shadow: inset 0 0 0 1px rgba(59,130,246,.35), var(--shadow); }
body.page.admin .apps-segment.is-paid,
body.page.admin .apps-segment.is-paid-soft{ color:#0f766e; }
body.page.admin .apps-segment.is-paid span,
body.page.admin .apps-segment.is-paid-soft span{ background: rgba(16,185,129,.14); }
body.page.admin .apps-segment.is-cancelled,
body.page.admin .apps-segment.is-cancelled-soft{ color:#dc2626; }
body.page.admin .apps-segment.is-cancelled span,
body.page.admin .apps-segment.is-cancelled-soft span{ background: rgba(244,63,94,.14); }
body.page.admin .apps-segment.is-appointment,
body.page.admin .apps-segment.is-appointment-soft{ color:#2563eb; }
body.page.admin .apps-segment.is-appointment span,
body.page.admin .apps-segment.is-appointment-soft span{ background: rgba(59,130,246,.14); }
body.page.admin .app-row{ transition: background-color .22s ease, box-shadow .22s ease; }
body.page.admin .app-row--paid{ background: linear-gradient(90deg, rgba(16,185,129,.12), rgba(16,185,129,.04)); }
body.page.admin .app-row--cancelled{ background: linear-gradient(90deg, rgba(244,63,94,.13), rgba(244,63,94,.05)); }
body.page.admin .app-row:hover{ box-shadow: inset 0 0 0 9999px rgba(255,255,255,.015); }
body.page.admin .app-status-meta{ margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; }
body.page.admin .app-meta-pill{ display:inline-flex; align-items:center; padding:6px 9px; border-radius:999px; font-size:11px; font-weight:900; border:1px solid var(--border); }
body.page.admin .app-meta-pill.is-paid{ background: rgba(16,185,129,.14); border-color: rgba(16,185,129,.26); }
body.page.admin .app-meta-pill.is-link{ background: rgba(245,158,11,.13); border-color: rgba(245,158,11,.24); }
body.page.admin .app-meta-pill.is-appt{ background: rgba(59,130,246,.12); border-color: rgba(59,130,246,.24); }
body.page.admin .apps-premium-table .row-actions{ min-width: 420px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
body.page.admin .apps-premium-table .row-actions .btn{ border-radius:12px; font-weight:800; }
body.page.admin .apps-premium-table .row-actions .btn .ic svg{ width:14px; height:14px; }
body.page.admin .apps-premium-table .note-col{ min-width:170px; }
body.page.admin .apps-filter{ width:100%; }
body.page.admin .apps-filter-row{ display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; }
body.page.admin .apps-page-header .right{ display:flex; gap:10px; align-items:center; }
@media (max-width: 720px){
  body.page.admin .apps-segmented{ gap:8px; }
  body.page.admin .apps-segment{ width:calc(50% - 4px); justify-content:space-between; }
  body.page.admin .apps-premium-table .row-actions{ min-width:0; }
}

/* =========================================================
   STEP 6: RANDEVU / AUTH / CLEANUP POLISH
========================================================= */
body.page.admin .btn-soft-danger{ background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.28); }
body.page.admin .btn-soft-danger:hover{ background: rgba(239,68,68,.18); }

body.page.admin .admin-main{ padding: 24px 28px; }
body.page.admin .admin-nav{ width: 304px; }
@media (min-width: 1200px){
  body.page.admin .admin-main > *{ max-width: 1480px; }
}

body.page.admin .notif-bell.has-urgent{
  box-shadow: 0 0 0 4px rgba(239,68,68,.12), var(--shadow);
  border-color: rgba(239,68,68,.28);
}
body.page.admin .notif-badge.is-urgent{
  background: linear-gradient(135deg, #ef4444, #dc2626);
  animation: notifPulse 1.2s ease-in-out infinite;
}
@keyframes notifPulse{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.08); }
}
body.page.admin .notif-item.urgent{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.22);
}
body.page.admin .notif-item-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fecaca;
  background: rgba(239,68,68,.14);
  border:1px solid rgba(239,68,68,.24);
}

body.page.admin .appointment-card.overdue{
  box-shadow: inset 0 0 0 1px rgba(239,68,68,.22);
  background: linear-gradient(180deg, rgba(239,68,68,.08), rgba(255,255,255,.02));
}
body.page.admin .appointment-time-weekday{
  margin-top:5px;
  font-size:11px;
  font-weight:800;
  color: var(--muted);
  letter-spacing:.04em;
}
body.page.admin .appointment-time-pill.is-overdue{
  background: rgba(239,68,68,.14);
  border:1px solid rgba(239,68,68,.24);
  color:#fecaca;
}
body.page.admin .appointment-card.overdue .appointment-title{
  color:#fecaca;
}

.cleanup-grid .checkline{ min-height: 58px; }
.auth-modal-card{ max-width: 420px; }

body.page.auth.auth-gridless .auth-shell,
body.page.auth .auth-shell-hacker{
  position:relative;
}
body.page.auth .auth-shell-hacker::before,
body.page.auth .auth-shell-hacker::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:0;
}
body.page.auth .auth-shell-hacker::before{
  top:8%; left:14%; width:260px; height:2px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(34,211,238,.9), rgba(255,255,255,0));
  box-shadow: 0 0 28px rgba(34,211,238,.45);
  transform: rotate(-12deg);
}
body.page.auth .auth-shell-hacker::after{
  right:10%; bottom:16%; width:340px; height:2px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(16,185,129,.85), rgba(255,255,255,0));
  box-shadow: 0 0 34px rgba(16,185,129,.38);
  transform: rotate(22deg);
}
body.page.auth .auth-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity:.22;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.85), transparent 92%);
  pointer-events:none;
}
body.page.auth .auth-card{
  position:relative;
  overflow:hidden;
}
body.page.auth .auth-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(34,211,238,.08), transparent 34%, rgba(16,185,129,.08) 100%);
  pointer-events:none;
}
body.page.auth .auth-card > *{ position:relative; z-index:1; }
body.page.auth .auth-mark-sub,
body.page.auth .auth-card-sub{ letter-spacing:.14em; text-transform:uppercase; }

@media (max-width: 980px){
  body.page.auth .auth-shell-hacker::before,
  body.page.auth .auth-shell-hacker::after{ display:none; }
  body.page.admin .admin-main{ padding: 18px; }
}



/* STEP02: Wizard UI tweaks */
body.wizard-page .nav-actions{ display:flex !important; }
body.wizard-page .nav-actions .public-globe{ display:none !important; } /* başvuru sırasında sadece hamburger kalsın */
body.wizard-page .wiz-mini-line{ display:none !important; } /* 1/8 - 2/8 satırı görünmesin */

/* Wizard action buttons: secondary buttons daha görünür */
body.wizard-page .wiz-actions .btn:not(.btn-primary){
  background: #f8fafc;
  border-color: rgba(17,24,39,.14);
}
body.wizard-page .wiz-actions .btn:not(.btn-primary):hover{
  background: #f1f5f9;
}


/* STEP06: Wizard theme (mobile-first, more corporate) */
body.wizard-page .wiz-steps{
  background: #ffffff;
  color: var(--text);
  border: 1px solid var(--line);
  box-shadow: 0 14px 34px rgba(17,24,39,.10);
}
body.wizard-page .wiz-steps-title{ color: var(--text); }
body.wizard-page .wiz-steps-sub{ color: var(--muted); }
body.wizard-page .wiz-progress{ background: rgba(17,24,39,.10); }

body.wizard-page .wiz-steps .step{
  background: #f8fafc;
  border-color: rgba(17,24,39,.10);
  color: #111827;
}
body.wizard-page .wiz-steps .dot{
  background:#ffffff;
  color:#111827;
  border-color: rgba(17,24,39,.16);
}
body.wizard-page .wiz-steps .step.active{
  border-color: rgba(0,188,212,.36);
  background: rgba(0,188,212,.10);
}
body.wizard-page .wiz-steps .step.active .dot{
  background: var(--accent);
  border-color: rgba(0,0,0,.08);
  color:#05323a;
}
body.wizard-page .wiz-steps .step.done .dot::before{ color: #16a34a; }

body.wizard-page .wiz-side-summary{
  background: #f8fafc;
  border-color: rgba(17,24,39,.10);
}
body.wizard-page .wiz-side-summary .kv{ border-bottom-color: rgba(17,24,39,.14); }

/* form controls */
body.wizard-page input[type="checkbox"],
body.wizard-page input[type="radio"]{
  width:20px;
  height:20px;
  accent-color: var(--accent);
}
body.wizard-page input,
body.wizard-page select,
body.wizard-page textarea{
  font-size: 15px;
  line-height: 1.25;
}
body.wizard-page input:focus,
body.wizard-page select:focus,
body.wizard-page textarea:focus{
  outline: none;
  box-shadow: 0 0 0 4px rgba(0,188,212,.14);
  border-color: rgba(0,188,212,.55);
}

/* mobile buttons: stack for clarity */
@media (max-width: 720px){
  body.wizard-page .wiz-actions{ grid-template-columns: 1fr; }
  body.wizard-page .wiz-actions .btn{ width:100%; }
}



/* Step 6 final audit fixes */
body.wizard-page .wiz-steps{
  position: static !important;
  top: auto !important;
}
.faq-main-card .acc-item.open .acc-head span,
.acc-item.open .acc-head span{
  transform: none !important;
}
.faq-main-card .acc-chevron{
  transform: none !important;
}
body.page,
body.wizard-page,
body.home-page,
body.faq-page{
  overflow-x: hidden;
}

/* =========================
   UI FIX PACK (Zoom + Dark tables + Modal readability + Action layouts)
   ========================= */

/* Admin: map global vars to theme vars so modals/cards don't flash white */
body.page.admin{
  --card: var(--panel);
  --line: var(--border);
  --panel-2: var(--panel2);
}

/* Admin: overall zoom out ~20% */
@supports (zoom: 1){
  body.page.admin{ zoom: 0.8; }
}
@supports not (zoom: 1){
  body.page.admin .admin-shell{
    transform: scale(0.8);
    transform-origin: top center;
    width: 125%;
  }
}

/* Admin typography: avoid "Arial Black" feel */
body.page.admin,
body.page.admin *{
  text-rendering: geometricPrecision;
}
body.page.admin .admin-page-title{ font-weight: 800 !important; }
body.page.admin .card.panel h2{ font-weight: 750 !important; }
body.page.admin .admin-nav .brand span,
body.page.admin .admin-nav a.nav-item,
body.page.admin .admin-nav a.nav-item .nav-tx,
body.page.admin .badge,
body.page.admin .btn,
body.page.admin .table th{
  font-weight: 700 !important;
}
body.page.admin .admin-stat-value,
body.page.admin .idle-timer{ font-weight: 800 !important; }

/* Applications table: no white wash in dark theme */
body.page.admin[data-theme="dark"] .app-row--active td{
  background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--paid td{
  background: linear-gradient(180deg, rgba(6,78,59,.28), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--cancelled td{
  background: linear-gradient(180deg, rgba(127,29,29,.30), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .table tr:hover td{
  background: rgba(255,255,255,.04) !important;
}

/* Row actions: make them neat and consistent (grid) */
body.page.admin .apps-premium-table .row-actions{
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  grid-auto-flow: row;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column: 1 / -1;
  min-width: 220px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height: 34px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Payment links: action buttons in one clean line */
body.page.admin .paylink-actions{
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
@media (max-width: 980px){
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns: repeat(2, max-content); justify-content: start; }
  body.page.admin .apps-premium-table .row-actions .input{ min-width: 180px; }
  body.page.admin .paylink-actions{ grid-auto-flow: row; justify-content: start; }
}

/* Idle modal in dark theme: reduce glare */
body.page.admin[data-theme="dark"] .idle-modal-card{
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 30px 110px rgba(0,0,0,.55);
}
body.page.admin[data-theme="dark"] .idle-modal-card h3{ color: rgba(226,232,240,.96); }
body.page.admin[data-theme="dark"] .idle-modal-card .sub{ color: rgba(226,232,240,.72); }
body.page.admin[data-theme="dark"] .idle-timer-row{
  background: rgba(59,130,246,.10);
  border-color: rgba(59,130,246,.22);
}

/* Hacker login terminal styling */
body.page.auth .auth-terminal{
  border: 1px solid rgba(34,197,94,.26);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background:
    linear-gradient(180deg, rgba(2,6,23,.62), rgba(2,6,23,.38)),
    radial-gradient(circle at 20% 10%, rgba(34,197,94,.10), transparent 46%),
    radial-gradient(circle at 90% 30%, rgba(59,130,246,.10), transparent 55%);
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
body.page.auth .auth-terminal::before{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.05) 0px,
    rgba(255,255,255,.05) 1px,
    rgba(0,0,0,0) 3px,
    rgba(0,0,0,0) 6px
  );
  opacity: .14;
  pointer-events:none;
}
body.page.auth .auth-terminal-title{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 32px;
  letter-spacing: .06em;
  font-weight: 800;
  color: rgba(226,232,240,.96);
  text-shadow: 0 0 18px rgba(34,197,94,.18);
}
body.page.auth .auth-terminal-typer{
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  color: rgba(34,197,94,.86);
}
body.page.auth .auth-terminal-typer .cursor{
  display:inline-block;
  margin-left: 2px;
  animation: cursorBlink 1s steps(1) infinite;
}
@keyframes cursorBlink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
body.page.auth .auth-typer.glitch{
  text-shadow: 2px 0 rgba(34,197,94,.55), -2px 0 rgba(59,130,246,.40);
  filter: contrast(1.2) saturate(1.15);
}

/* =========================
   UI FIX PACK (Zoom + Dark tables + Modal readability + Action layouts)
   ========================= */

/* Admin: map global vars to theme vars so modals/cards don't flash white */
body.page.admin{
  --card: var(--panel);
  --line: var(--border);
  --panel-2: var(--panel2);
}

/* Admin: overall zoom out ~20% */
@supports (zoom: 1){
  body.page.admin{ zoom: 0.8; }
}
@supports not (zoom: 1){
  body.page.admin .admin-shell{
    transform: scale(0.8);
    transform-origin: top center;
    width: 125%;
  }
}

/* Admin typography: avoid "Arial Black" feel */
body.page.admin .admin-page-title{ font-weight: 800 !important; }
body.page.admin .card.panel h2{ font-weight: 750 !important; }
body.page.admin .admin-nav .brand span,
body.page.admin .admin-nav a.nav-item,
body.page.admin .admin-nav a.nav-item .nav-tx,
body.page.admin .badge,
body.page.admin .btn,
body.page.admin .table th{ font-weight: 700 !important; }
body.page.admin .admin-stat-value,
body.page.admin .idle-timer{ font-weight: 800 !important; }

/* Applications table: no white wash in dark theme */
body.page.admin[data-theme="dark"] .app-row--active td{
  background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--paid td{
  background: linear-gradient(180deg, rgba(6,78,59,.28), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--cancelled td{
  background: linear-gradient(180deg, rgba(127,29,29,.30), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .table tr:hover td{ background: rgba(255,255,255,.04) !important; }

/* Row actions: neat + consistent */
body.page.admin .apps-premium-table .row-actions{
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  grid-auto-flow: row;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column: 1 / -1;
  min-width: 220px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height: 34px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Payment links: action buttons in one clean line */
body.page.admin .paylink-actions{
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  justify-content: end;
  align-items: center;
}

@media (max-width: 980px){
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns: repeat(2, max-content); justify-content: start; }
  body.page.admin .apps-premium-table .row-actions .input{ min-width: 180px; }
  body.page.admin .paylink-actions{ grid-auto-flow: row; justify-content: start; }
}

/* Idle modal in dark theme: reduce glare */
body.page.admin[data-theme="dark"] .idle-modal-card{
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 30px 110px rgba(0,0,0,.55);
}
body.page.admin[data-theme="dark"] .idle-modal-card h3{ color: rgba(226,232,240,.96); }
body.page.admin[data-theme="dark"] .idle-modal-card .sub{ color: rgba(226,232,240,.72); }
body.page.admin[data-theme="dark"] .idle-timer-row{
  background: rgba(59,130,246,.10);
  border-color: rgba(59,130,246,.22);
}

/* =========================
   UI FIX PACK (Zoom + Dark tables + Modal readability + Action layouts)
   ========================= */

/* Admin: map global vars to theme vars so modals/cards don't flash white */
body.page.admin{
  --card: var(--panel);
  --line: var(--border);
  --panel-2: var(--panel2);
}

/* Admin: overall zoom out ~20% */
@supports (zoom: 1){
  body.page.admin{ zoom: 0.8; }
}
@supports not (zoom: 1){
  body.page.admin .admin-shell{
    transform: scale(0.8);
    transform-origin: top center;
    width: 125%;
  }
}

/* Admin typography: avoid "Arial Black" feel */
body.page.admin .admin-page-title{ font-weight: 800 !important; }
body.page.admin .card.panel h2{ font-weight: 750 !important; }
body.page.admin .admin-nav .brand span,
body.page.admin .admin-nav a.nav-item,
body.page.admin .admin-nav a.nav-item .nav-tx,
body.page.admin .badge,
body.page.admin .btn,
body.page.admin .table th{ font-weight: 700 !important; }
body.page.admin .admin-stat-value,
body.page.admin .idle-timer{ font-weight: 800 !important; }

/* Applications table: no white wash in dark theme */
body.page.admin[data-theme="dark"] .app-row--active td{
  background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--paid td{
  background: linear-gradient(180deg, rgba(6,78,59,.28), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--cancelled td{
  background: linear-gradient(180deg, rgba(127,29,29,.30), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .table tr:hover td{
  background: rgba(255,255,255,.04) !important;
}

/* Row actions: make them neat and consistent (grid) */
body.page.admin .apps-premium-table .row-actions{
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  grid-auto-flow: row;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column: 1 / -1;
  min-width: 220px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height: 34px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Payment links: action buttons in one clean line */
body.page.admin .paylink-actions{
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  justify-content: end;
  align-items: center;
}

@media (max-width: 980px){
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns: repeat(2, max-content); justify-content: start; }
  body.page.admin .apps-premium-table .row-actions .input{ min-width: 180px; }
  body.page.admin .paylink-actions{ grid-auto-flow: row; justify-content: start; }
}

/* Idle modal in dark theme: reduce glare */
body.page.admin[data-theme="dark"] .idle-modal-card{
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 30px 110px rgba(0,0,0,.55);
}
body.page.admin[data-theme="dark"] .idle-modal-card h3{ color: rgba(226,232,240,.96); }
body.page.admin[data-theme="dark"] .idle-modal-card .sub{ color: rgba(226,232,240,.72); }
body.page.admin[data-theme="dark"] .idle-timer-row{
  background: rgba(59,130,246,.10);
  border-color: rgba(59,130,246,.22);
}

/* Hacker login terminal styling */
body.page.auth .auth-terminal{
  border: 1px solid rgba(34,197,94,.26);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background:
    linear-gradient(180deg, rgba(2,6,23,.62), rgba(2,6,23,.38)),
    radial-gradient(circle at 20% 10%, rgba(34,197,94,.10), transparent 46%),
    radial-gradient(circle at 90% 30%, rgba(59,130,246,.10), transparent 55%);
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
body.page.auth .auth-terminal::before{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.05) 0px,
    rgba(255,255,255,.05) 1px,
    rgba(0,0,0,0) 3px,
    rgba(0,0,0,0) 6px
  );
  opacity: .14;
  pointer-events:none;
}
body.page.auth .auth-terminal-title{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 32px;
  letter-spacing: .06em;
  font-weight: 800;
  color: rgba(226,232,240,.96);
  text-shadow: 0 0 18px rgba(34,197,94,.18);
}
body.page.auth .auth-terminal-typer{
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  color: rgba(34,197,94,.86);
}
body.page.auth .auth-terminal-typer .cursor{
  display:inline-block;
  margin-left: 2px;
  animation: cursorBlink 1s steps(1) infinite;
}
@keyframes cursorBlink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
body.page.auth .auth-typer.glitch{
  text-shadow: 2px 0 rgba(34,197,94,.55), -2px 0 rgba(59,130,246,.40);
  filter: contrast(1.2) saturate(1.15);
}

/* =========================
   UI FIX PACK (Zoom + Dark tables + Modal readability + Action layouts)
   ========================= */

/* Admin: map global vars to theme vars so modals/cards don't flash white */
body.page.admin{
  --card: var(--panel);
  --line: var(--border);
  --panel-2: var(--panel2);
}

/* Admin: overall zoom out ~20% */
@supports (zoom: 1){
  body.page.admin{ zoom: 0.8; }
}
@supports not (zoom: 1){
  body.page.admin .admin-shell{
    transform: scale(0.8);
    transform-origin: top center;
    width: 125%;
  }
}

/* Admin typography: avoid "Arial Black" feel */
body.page.admin .admin-page-title{ font-weight: 800 !important; }
body.page.admin .card.panel h2{ font-weight: 750 !important; }
body.page.admin .admin-nav .brand span,
body.page.admin .admin-nav a.nav-item,
body.page.admin .admin-nav a.nav-item .nav-tx,
body.page.admin .badge,
body.page.admin .btn,
body.page.admin .table th{
  font-weight: 700 !important;
}
body.page.admin .admin-stat-value,
body.page.admin .idle-timer{ font-weight: 800 !important; }

/* Applications table: no white wash in dark theme */
body.page.admin[data-theme="dark"] .app-row--active td{
  background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--paid td{
  background: linear-gradient(180deg, rgba(6,78,59,.28), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--cancelled td{
  background: linear-gradient(180deg, rgba(127,29,29,.30), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .table tr:hover td{
  background: rgba(255,255,255,.04) !important;
}

/* Row actions: make them neat and consistent (grid) */
body.page.admin .apps-premium-table .row-actions{
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  grid-auto-flow: row;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column: 1 / -1;
  min-width: 220px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height: 34px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Payment links: action buttons in one clean line */
body.page.admin .paylink-actions{
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  justify-content: end;
  align-items: center;
}

@media (max-width: 980px){
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns: repeat(2, max-content); justify-content: start; }
  body.page.admin .apps-premium-table .row-actions .input{ min-width: 180px; }
  body.page.admin .paylink-actions{ grid-auto-flow: row; justify-content: start; }
}

/* Idle modal in dark theme: reduce glare */
body.page.admin[data-theme="dark"] .idle-modal-card{
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 30px 110px rgba(0,0,0,.55);
}
body.page.admin[data-theme="dark"] .idle-modal-card h3{ color: rgba(226,232,240,.96); }
body.page.admin[data-theme="dark"] .idle-modal-card .sub{ color: rgba(226,232,240,.72); }
body.page.admin[data-theme="dark"] .idle-timer-row{
  background: rgba(59,130,246,.10);
  border-color: rgba(59,130,246,.22);
}

/* Hacker login terminal styling */
body.page.auth .auth-terminal{
  border: 1px solid rgba(34,197,94,.26);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background:
    linear-gradient(180deg, rgba(2,6,23,.62), rgba(2,6,23,.38)),
    radial-gradient(circle at 20% 10%, rgba(34,197,94,.10), transparent 46%),
    radial-gradient(circle at 90% 30%, rgba(59,130,246,.10), transparent 55%);
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
body.page.auth .auth-terminal::before{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.05) 0px,
    rgba(255,255,255,.05) 1px,
    rgba(0,0,0,0) 3px,
    rgba(0,0,0,0) 6px
  );
  opacity: .14;
  pointer-events:none;
}
body.page.auth .auth-terminal-title{
  margin-top: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 32px;
  letter-spacing: .06em;
  font-weight: 800;
  color: rgba(226,232,240,.96);
  text-shadow: 0 0 18px rgba(34,197,94,.18);
}
body.page.auth .auth-terminal-typer{
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  color: rgba(34,197,94,.86);
}
body.page.auth .auth-terminal-typer .cursor{
  display:inline-block;
  margin-left: 2px;
  animation: cursorBlink 1s steps(1) infinite;
}
@keyframes cursorBlink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
body.page.auth .auth-typer.glitch{
  text-shadow: 2px 0 rgba(34,197,94,.55), -2px 0 rgba(59,130,246,.40);
  filter: contrast(1.2) saturate(1.15);
}

/* =========================
   UI FIX PACK (Zoom + Dark tables + Modal readability + Action layouts)
   ========================= */

/* Admin: map global vars to theme vars so modals/cards don't flash white */
body.page.admin{
  --card: var(--panel);
  --line: var(--border);
  --panel-2: var(--panel2);
}

/* Admin: overall zoom out ~20% */
@supports (zoom: 1){
  body.page.admin{ zoom: 0.8; }
}
@supports not (zoom: 1){
  body.page.admin .admin-shell{
    transform: scale(0.8);
    transform-origin: top center;
    width: 125%;
  }
}

/* Admin typography: avoid "Arial Black" feel */
body.page.admin .admin-page-title{ font-weight: 800 !important; }
body.page.admin .card.panel h2{ font-weight: 750 !important; }
body.page.admin .admin-nav .brand span,
body.page.admin .admin-nav a.nav-item,
body.page.admin .admin-nav a.nav-item .nav-tx,
body.page.admin .badge,
body.page.admin .btn,
body.page.admin .table th{
  font-weight: 700 !important;
}
body.page.admin .admin-stat-value,
body.page.admin .idle-timer{ font-weight: 800 !important; }

/* Applications table: no white wash in dark theme */
body.page.admin[data-theme="dark"] .app-row--active td{
  background: linear-gradient(180deg, rgba(17,24,39,.92), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--paid td{
  background: linear-gradient(180deg, rgba(6,78,59,.28), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .app-row--cancelled td{
  background: linear-gradient(180deg, rgba(127,29,29,.30), rgba(15,23,42,.86)) !important;
}
body.page.admin[data-theme="dark"] .table tr:hover td{
  background: rgba(255,255,255,.04) !important;
}

/* Row actions: make them neat and consistent (grid) */
body.page.admin .apps-premium-table .row-actions{
  display: grid !important;
  grid-template-columns: repeat(4, max-content);
  grid-auto-flow: row;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column: 1 / -1;
  min-width: 220px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height: 34px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Payment links: action buttons in one clean line */
body.page.admin .paylink-actions{
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  justify-content: end;
  align-items: center;
}

@media (max-width: 980px){
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns: repeat(2, max-content); justify-content: start; }
  body.page.admin .apps-premium-table .row-actions .input{ min-width: 180px; }
  body.page.admin .paylink-actions{ grid-auto-flow: row; justify-content: start; }
}

/* Idle modal in dark theme: reduce glare */
body.page.admin[data-theme="dark"] .idle-modal-card{
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.92));
  border-color: rgba(148,163,184,.18);
  box-shadow: 0 30px 110px rgba(0,0,0,.55);
}
body.page.admin[data-theme="dark"] .idle-modal-card h3{ color: rgba(226,232,240,.96); }
body.page.admin[data-theme="dark"] .idle-modal-card .sub{ color: rgba(226,232,240,.72); }
body.page.admin[data-theme="dark"] .idle-timer-row{
  background: rgba(59,130,246,.10);
  border-color: rgba(59,130,246,.22);
}

/* Hacker login terminal styling */
body.page.auth .auth-terminal{
  border: 1px solid rgba(34,197,94,.26);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background:
    linear-gradient(180deg, rgba(2,6,23,.62), rgba(2,6,23,.38)),
    radial-gradient(circle at 20% 10%, rgba(34,197,94,.10), transparent 46%),
    radial-gradient(circle at 90% 30%, rgba(59,130,246,.10), transparent 55%);
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
body.page.auth .auth-terminal::before{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.05) 0px,
    rgba(255,255,255,.05) 1px,
    rgba(0,0,0,0) 3px,
    rgba(0,0,0,0) 6px
  );
  opacity: .14;
  pointer-events:none;
}
body.page.auth .auth-terminal-title{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 32px;
  letter-spacing: .06em;
  font-weight: 800;
  color: rgba(226,232,240,.96);
  text-shadow: 0 0 18px rgba(34,197,94,.18);
}
body.page.auth .auth-terminal-typer{
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
  color: rgba(34,197,94,.86);
}
body.page.auth .auth-terminal-typer .cursor{
  display:inline-block;
  margin-left: 2px;
  animation: cursorBlink 1s steps(1) infinite;
}
@keyframes cursorBlink{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
body.page.auth .auth-typer.glitch{
  text-shadow: 2px 0 rgba(34,197,94,.55), -2px 0 rgba(59,130,246,.40);
  filter: contrast(1.2) saturate(1.15);
}


/* STEP 15: identity auto lookup + admin nav fix + compact app actions */
body.wizard-page .wiz-lookup--auto{
  display:flex;
  align-items:center;
  min-height:100%;
  padding:12px 14px;
  border-radius:16px;
  border:1px dashed rgba(29,78,216,.18);
  background:rgba(255,255,255,.6);
}
body.wizard-page .wiz-identity-card{
  margin-top:4px;
  padding:16px 18px;
  border-radius:22px;
  border:1px solid rgba(37,99,235,.14);
  background:linear-gradient(180deg, rgba(239,246,255,.96), rgba(255,255,255,.96));
  box-shadow:0 14px 34px rgba(29,78,216,.08);
}
body.wizard-page .wiz-identity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
body.wizard-page .wiz-identity-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(22,163,74,.12);
  border:1px solid rgba(22,163,74,.16);
  color:#166534;
  font-size:12px;
  font-weight:800;
}
body.wizard-page .wiz-identity-name{
  margin-top:12px;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.02em;
  color:#0f172a;
}
body.wizard-page .wiz-identity-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.wizard-page .wiz-identity-item{
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(37,99,235,.10);
}
body.wizard-page .wiz-identity-item span{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  color:#64748b;
}
body.wizard-page .wiz-identity-item strong{
  display:block;
  color:#0f172a;
  font-size:15px;
  font-weight:800;
}

body.page.admin .admin-main{ min-width:0; }
body.page.admin .admin-nav{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
body.page.admin .admin-nav-toggle{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--btn-bg);
  color:var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
body.page.admin .admin-shell.nav-collapsed{ grid-template-columns:96px 1fr !important; }
body.page.admin .admin-shell.nav-collapsed .admin-nav{ padding-left:10px !important; padding-right:10px !important; }
body.page.admin .admin-shell.nav-collapsed .admin-nav .brand-sub,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-who-card > :not(.theme-row),
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-group,
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-item .nav-tx,
body.page.admin .admin-shell.nav-collapsed .admin-nav .who-meta-row,
body.page.admin .admin-shell.nav-collapsed .admin-nav .muted{
  display:none !important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav .brand,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-who-card,
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-item{
  justify-content:center !important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-item{ padding-left:0 !important; padding-right:0 !important; }

body.page.admin .apps-premium-table td:last-child{ width:520px; }
body.page.admin .apps-premium-table .row-actions{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, max-content));
  gap:6px 8px;
  justify-content:end;
  align-items:center;
  max-width:100%;
}
body.page.admin .apps-premium-table .row-actions .input{
  grid-column:1 / span 2;
  min-width:118px;
  max-width:140px;
  height:34px;
  padding:7px 10px;
}
body.page.admin .apps-premium-table .row-actions .btn{
  height:34px;
  padding:7px 10px;
  border-radius:11px;
  font-size:12px;
}
body.page.admin .apps-premium-table .row-actions .btn .ic{ width:14px; height:14px; }
body.page.admin .apps-premium-table .row-actions .btn .ic svg{ width:14px; height:14px; }
@media (max-width:1280px){
  body.page.admin .apps-premium-table td:last-child{ width:460px; }
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns:repeat(4, minmax(0, max-content)); justify-content:start; }
}
@media (max-width:740px){
  body.wizard-page .wiz-identity-grid{ grid-template-columns:1fr; }
  body.page.admin .apps-premium-table td:last-child{ width:auto; }
  body.page.admin .apps-premium-table .row-actions{ grid-template-columns:repeat(2, minmax(0, max-content)); }
  body.page.admin .apps-premium-table .row-actions .input{ grid-column:1 / -1; max-width:none; }
}


/* STEP 16: wizard polish + admin/sidebar/payment link fixes */
body.wizard-page .wizard-hero-page{padding:20px 0 22px}
body.wizard-page .wizard-hero-wrap{gap:16px}
body.wizard-page .wizard-hero-kicker{font-size:11px}
body.wizard-page .hero-title{font-size:clamp(24px,5.4vw,34px)}
body.wizard-page .hero-sub{font-size:13px;line-height:1.55}
body.wizard-page .wiz-panel-head{padding:18px 18px 14px}
body.wizard-page .wiz-panel-title{font-size:clamp(20px,4.8vw,26px)}
body.wizard-page .wiz-panel-note{font-size:13px;line-height:1.5}
body.wizard-page .wiz-panel > [data-step]{padding:18px}
body.wizard-page .field > span{font-size:12px}
body.wizard-page input, body.wizard-page select, body.wizard-page textarea{font-size:14px;padding:12px 14px}
body.wizard-page .alert, body.wizard-page .wiz-muted, body.wizard-page .tile, body.wizard-page .kv, body.wizard-page .wiz-final{font-size:13px}
body.wizard-page .wiz-veh-tile h3, body.wizard-page .wiz-pkg-tile h3{font-size:18px}
body.wizard-page .wiz-veh-tile p, body.wizard-page .wiz-pkg-tile p{font-size:13px}
body.wizard-page .wiz-inline-item b{font-size:13px}
body.wizard-page .wiz-inline-item span{font-size:11px}
body.wizard-page .wiz-identity-card{padding:12px 14px;border-radius:18px}
body.wizard-page .wiz-identity-name{margin-top:8px;font-size:18px}
body.wizard-page .wiz-identity-pill{padding:6px 10px;font-size:11px}
body.wizard-page .wiz-identity-grid{gap:10px}
body.wizard-page .wiz-identity-item{padding:10px 12px;border-radius:14px}
body.wizard-page .wiz-identity-item span{font-size:11px;margin-bottom:4px}
body.wizard-page .wiz-identity-item strong{font-size:13px}
body.wizard-page .field-error{font-size:11px !important;color:#dc2626 !important;margin-top:6px !important;font-weight:700}
body.wizard-page .field.is-invalid input,
body.wizard-page .field.is-invalid select,
body.wizard-page .field.is-invalid textarea,
body.wizard-page input.is-invalid,
body.wizard-page select.is-invalid,
body.wizard-page textarea.is-invalid{border-color:#dc2626 !important; box-shadow:0 0 0 3px rgba(220,38,38,.10) !important}
body.wizard-page input.is-locked{background:#f8fafc;color:#0f172a;cursor:not-allowed}
body.wizard-page .wiz-policy-box{display:none !important}
body.wizard-page .wiz-done-card--polished{position:relative;overflow:hidden;padding:26px 20px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.98));border:1px solid rgba(37,99,235,.12);box-shadow:0 28px 80px rgba(15,23,42,.10)}
body.wizard-page .wiz-done-card--polished::before{content:"";position:absolute;inset:auto -10% 72% -10%;height:180px;background:radial-gradient(circle at center, rgba(34,197,94,.12), transparent 64%);pointer-events:none}
body.wizard-page .wiz-done-check{position:relative;width:92px;height:92px;margin:0 auto 14px;display:grid;place-items:center}
body.wizard-page .wiz-done-ring{position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle, rgba(34,197,94,.18), rgba(34,197,94,0) 68%);animation:wizDonePulse 2s ease-out infinite}
body.wizard-page .wiz-done-check svg{width:92px;height:92px;display:block}
body.wizard-page .wiz-done-check circle{fill:#f0fdf4;stroke:#22c55e;stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:151;animation:wizDoneCircle .7s ease forwards}
body.wizard-page .wiz-done-check path{fill:none;stroke:#16a34a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:wizDoneCheck .45s .45s ease forwards}
@keyframes wizDoneCircle{to{stroke-dashoffset:0}}
@keyframes wizDoneCheck{to{stroke-dashoffset:0}}
@keyframes wizDonePulse{0%{transform:scale(.88);opacity:.18}70%{transform:scale(1.14);opacity:.02}100%{transform:scale(1.18);opacity:0}}
body.wizard-page .wiz-done-title{font-size:clamp(23px,5.4vw,30px);text-align:center}
body.wizard-page .wiz-done-copy{max-width:640px;margin:8px auto 0;text-align:center;font-size:14px;line-height:1.6;color:#475569}
body.wizard-page .wiz-done-highlight--single{margin-top:18px}
body.wizard-page .wiz-done-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
body.wizard-page .wiz-done-grid--compact .wiz-done-item{padding:14px 16px}
@media (max-width:740px){body.wizard-page .wiz-done-grid--compact{grid-template-columns:1fr} body.wizard-page .wiz-done-check{width:82px;height:82px} body.wizard-page .wiz-done-check svg{width:82px;height:82px}}
body.page.admin .brand-copy-animated{display:flex;flex-direction:column;gap:2px}
body.page.admin .brand-sub-animated{display:inline-block;animation:brandGlowText 3.6s ease-in-out infinite}
@keyframes brandGlowText{0%,100%{opacity:.82;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px);text-shadow:0 0 18px rgba(96,165,250,.35)}}
body.page.admin .admin-shell.nav-collapsed .admin-nav .brand-copy{display:none !important}
body.page.admin .admin-shell.nav-collapsed .admin-page-title{margin-left:0}
body.page.admin .admin-nav .nav-group{margin-top:14px}
body.page.admin .admin-nav .nav-item{min-height:46px}
body.page.admin .apps-premium-table td:last-child{width:420px !important}
body.page.admin .apps-premium-table .row-actions{display:grid !important;grid-template-columns:repeat(4,minmax(0,max-content));gap:6px 8px;align-items:center;justify-content:start;max-width:100%}
body.page.admin .apps-premium-table .row-actions .input{grid-column:1 / span 2;min-width:110px;max-width:132px}
body.page.admin .apps-premium-table .row-actions .btn{height:32px;padding:6px 9px;font-size:11px}
@media (max-width:1280px){body.page.admin .apps-premium-table td:last-child{width:360px !important}}
@media (max-width:900px){body.page.admin .apps-premium-table .row-actions{grid-template-columns:repeat(3,minmax(0,max-content))}}
@media (max-width:640px){body.page.admin .apps-premium-table .row-actions{grid-template-columns:repeat(2,minmax(0,max-content))}}
body.page.admin .paylink-actions{display:grid !important;grid-auto-flow:column;grid-auto-columns:max-content;gap:8px;align-items:center;justify-content:start}
body.page.admin #payLinksTable .tr{grid-template-columns:76px minmax(220px,1.1fr) 120px minmax(220px,1fr) 110px 270px;align-items:center;gap:12px}
body.page.admin #payLinksTable .paylink-short-cell a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page.admin #payLinkEditModal .box,
body.page.admin #payModal .box,
body.page.admin #payLinkModal .box{width:min(760px,calc(100vw - 36px));border-radius:24px;overflow:hidden}
body.page.admin #payLinkEditModal .hd,
body.page.admin #payModal .hd,
body.page.admin #payLinkModal .hd{padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(59,130,246,.08),rgba(59,130,246,.02))}
body.page.admin #payLinkEditModal .bd,
body.page.admin #payModal .bd,
body.page.admin #payLinkModal .bd{padding:18px}
body.page.admin #payLinkEditModal .ft,
body.page.admin #payModal .ft,
body.page.admin #payLinkModal .ft{padding:16px 18px;border-top:1px solid var(--border);background:rgba(248,250,252,.86)}
body.page.admin .choice-group--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.page.admin .choice-pill{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
body.page.admin .choice-pill input{margin-right:8px}
body.page.admin .pay-inline-warn{display:block;margin-top:8px;font-size:11px;line-height:1.45;color:#b45309;font-weight:800}
body.page.auth.auth-hacker-login{
  min-height:100dvh;
  margin:0;
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(16,185,129,.12), transparent 55%),
    radial-gradient(900px 600px at 100% 0%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(180deg, #020617 0%, #02040b 100%);
  overflow:hidden;
}

body.page.auth.auth-hacker-login .auth-hacker-stage{
  min-height:100dvh;
  width:100%;
  display:grid;
  place-items:center;
  padding:24px;
  position:relative;
}

body.page.auth.auth-hacker-login .auth-center-wrap,
body.page.auth.auth-hacker-login .auth-center-wrap--single{
  width:100%;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:0;
}

body.page.auth.auth-hacker-login .auth-card--centered{
  width:min(460px, 92vw);
  margin:0 auto;
  display:grid;
  gap:18px;
  padding:24px;
  border-radius:24px;
}

body.page.auth.auth-hacker-login .auth-rain,
body.page.auth.auth-hacker-login .auth-grid-glow,
body.page.auth.auth-hacker-login .auth-terminal-code{
  display:none !important;
}

body.page.auth.auth-hacker-login .auth-terminal--card{
  min-height:auto;
  padding:18px;
}


/* ==== FINAL ADMIN FIX PACK ==== */
body.page.admin .admin-shell{grid-template-columns:304px minmax(0,1fr)!important;align-items:start!important}
body.page.admin .admin-main{min-width:0!important}
body.page.admin .admin-nav{position:sticky;top:0;height:100dvh;overflow-y:auto;padding-bottom:34px!important}
body.page.admin .admin-nav::-webkit-scrollbar{width:8px}
body.page.admin .admin-nav::-webkit-scrollbar-thumb{background:rgba(148,163,184,.32);border-radius:999px}
body.page.admin .admin-shell.nav-collapsed{grid-template-columns:118px minmax(0,1fr)!important}
body.page.admin .admin-shell.nav-collapsed .admin-nav{padding-left:12px!important;padding-right:12px!important}
body.page.admin .admin-shell.nav-collapsed .admin-nav .brand,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-who-card,
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-item{width:100%!important}
body.page.admin .admin-brand-card{overflow:hidden}
body.page.admin .admin-brand-card .brand-main{display:inline-block;font-weight:900;letter-spacing:.04em;animation:brandMainDrift 3.6s ease-in-out infinite}
body.page.admin[data-theme="dark"] .admin-brand-card .brand-main{color:#22c55e!important;text-shadow:0 0 18px rgba(34,197,94,.28)}
body.page.admin[data-theme="light"] .admin-brand-card .brand-main{color:#111827!important;text-shadow:0 0 14px rgba(15,23,42,.14)}
@keyframes brandMainDrift{0%,100%{transform:translateX(0);opacity:.86}50%{transform:translateX(5px);opacity:1}}
body.page.admin .apps-premium-table th:last-child,
body.page.admin .apps-premium-table td:last-child{width:620px!important;min-width:620px!important}
body.page.admin .apps-premium-table .row-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,max-content));gap:8px 10px;align-items:center;justify-content:start;max-width:100%}
body.page.admin .apps-premium-table .row-actions .input{grid-column:1 / span 2;min-width:160px!important;max-width:200px!important}
body.page.admin .apps-premium-table .row-actions .btn{justify-self:start;white-space:nowrap}
body.page.admin .status-save-btn,
body.page.admin [data-save-status]{display:none!important}
body.page.admin #payLinksTable .tr{grid-template-columns:86px minmax(240px,1.25fr) 130px minmax(240px,1fr) 120px minmax(320px,.9fr)!important;align-items:center;gap:14px}
body.page.admin .paylink-actions,
body.page.admin .paylink-actions-cell{display:grid!important;grid-template-columns:repeat(2,max-content);gap:8px 10px;justify-content:start;align-items:center}
body.page.admin .paylink-actions .btn,
body.page.admin .paylink-actions a{white-space:nowrap}
body.page.admin #payLinkEditModal .box,
body.page.admin #payModal .box,
body.page.admin #payLinkModal .box{display:flex;flex-direction:column;max-height:calc(100vh - 44px)!important}
body.page.admin #payLinkEditModal .bd,
body.page.admin #payModal .bd,
body.page.admin #payLinkModal .bd{overflow:auto;padding:20px!important}
body.page.admin #payLinkEditModal .grid2,
body.page.admin #payModal .grid2,
body.page.admin #payLinkModal .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.page.admin #payLinkEditModal .field,
body.page.admin #payModal .field,
body.page.admin #payLinkModal .field{min-width:0}
body.page.admin #payLinkEditModal textarea,
body.page.admin #payModal textarea,
body.page.admin #payLinkModal textarea{min-height:92px}
body.page.admin .pay-create-feedback{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(59,130,246,.18);background:rgba(59,130,246,.08);color:#1d4ed8;font-weight:800;font-size:13px;line-height:1.45}
body.page.admin .pay-create-feedback.is-success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.28);color:#166534}
body.page.admin .pay-create-feedback.is-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.22);color:#b91c1c}
@media (max-width:1360px){body.page.admin .apps-premium-table th:last-child,body.page.admin .apps-premium-table td:last-child{width:560px!important;min-width:560px!important}}
@media (max-width:1100px){body.page.admin #payLinksTable .tr{grid-template-columns:86px minmax(200px,1fr) 120px minmax(200px,1fr) 110px minmax(260px,.9fr)!important}body.page.admin .apps-premium-table .row-actions{grid-template-columns:repeat(3,minmax(0,max-content))}}
@media (max-width:760px){body.page.admin #payLinkEditModal .grid2,body.page.admin #payModal .grid2,body.page.admin #payLinkModal .grid2{grid-template-columns:1fr}body.page.admin .paylink-actions,body.page.admin .paylink-actions-cell,body.page.admin .apps-premium-table .row-actions{grid-template-columns:repeat(2,max-content)}}


/* ==== FINAL ADMIN UI REPAIR 2 ==== */
body.page.admin .admin-shell{grid-template-columns:288px minmax(0,1fr)!important;align-items:start!important;overflow-x:hidden}
body.page.admin .admin-nav{padding:14px 12px 28px!important;position:sticky;top:0;height:100dvh;overflow-y:auto;overflow-x:hidden}
body.page.admin .admin-brand-card{display:flex;align-items:center;gap:14px;min-height:86px;padding:16px 18px;border-radius:22px;overflow:visible!important}
body.page.admin .admin-brand-card img{width:40px;height:40px;flex:0 0 40px;object-fit:contain}
body.page.admin .admin-brand-card .brand-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
body.page.admin .admin-brand-card .brand-main{display:inline-block;font-size:20px;line-height:1;font-weight:900;letter-spacing:.05em;animation:brandPulseFloat 2.2s ease-in-out infinite}
body.page.admin .admin-brand-card .brand-sub{display:block!important;font-size:11px;line-height:1.15;letter-spacing:.16em;opacity:.9;white-space:normal}
body.page.admin[data-theme="dark"] .admin-brand-card .brand-main{color:#22c55e!important;text-shadow:0 0 20px rgba(34,197,94,.34)}
body.page.admin[data-theme="light"] .admin-brand-card .brand-main{color:#111827!important;text-shadow:0 0 14px rgba(17,24,39,.16)}
@keyframes brandPulseFloat{0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.9}25%{transform:translate3d(4px,-1px,0) scale(1.03);opacity:1}50%{transform:translate3d(-3px,1px,0) scale(1);opacity:.94}75%{transform:translate3d(5px,0,0) scale(1.04);opacity:1}}
body.page.admin .admin-who-card{padding:14px 14px 12px;border-radius:22px}
body.page.admin .admin-side-collapse{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:10px 0 8px;padding:12px 14px;border-radius:16px;border:1px solid rgba(59,130,246,.22);background:rgba(59,130,246,.08);color:var(--text);font-weight:800;cursor:pointer;transition:transform .18s ease, background .18s ease, border-color .18s ease}
body.page.admin .admin-side-collapse:hover{transform:translateY(-1px);background:rgba(59,130,246,.12)}
body.page.admin .admin-side-collapse__icon{font-size:16px;line-height:1}
body.page.admin .admin-nav .nav-group{margin-top:16px;padding:0 12px;font-size:11px;letter-spacing:.12em}
body.page.admin .admin-nav .nav-item{min-height:50px;padding:12px 14px;border-radius:16px}
body.page.admin .admin-topbar .admin-nav-toggle{display:none!important}
body.page.admin .admin-shell.nav-collapsed{grid-template-columns:96px minmax(0,1fr)!important}
body.page.admin .admin-shell.nav-collapsed .admin-nav{padding-left:10px!important;padding-right:10px!important}
body.page.admin .admin-shell.nav-collapsed .admin-brand-card{justify-content:center;min-height:72px;padding:14px 10px}
body.page.admin .admin-shell.nav-collapsed .admin-brand-card img{margin:0}
body.page.admin .admin-shell.nav-collapsed .admin-nav .brand-copy,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-who-card > :not(.theme-row),
body.page.admin .admin-shell.nav-collapsed .admin-nav .who-meta-row,
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-group,
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-tx,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-side-collapse__text{display:none!important}
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-side-collapse{padding:12px 0}
body.page.admin .admin-shell.nav-collapsed .admin-nav .theme-row{justify-content:center}
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-item,
body.page.admin .admin-shell.nav-collapsed .admin-nav .admin-who-card{justify-content:center;padding-left:0!important;padding-right:0!important}
body.page.admin .admin-shell.nav-collapsed .admin-nav .nav-ic{margin:0 auto}
body.page.admin .admin-surface-card .card-bd{overflow-x:auto;overflow-y:hidden}
body.page.admin .apps-premium-table{width:100%;table-layout:auto;border-collapse:separate}
body.page.admin .apps-premium-table th,
body.page.admin .apps-premium-table td{vertical-align:top}
body.page.admin .apps-premium-table td:last-child,
body.page.admin .apps-premium-table th:last-child{width:390px!important;min-width:390px!important}
body.page.admin .apps-premium-table .row-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,max-content));gap:8px;align-items:center;justify-content:start;max-width:100%}
body.page.admin .apps-premium-table .row-actions .input{grid-column:1 / -1;min-width:0!important;max-width:none!important;width:100%}
body.page.admin .apps-premium-table .row-actions .btn{height:30px;padding:5px 10px;font-size:11px;line-height:1;white-space:nowrap}
body.page.admin .apps-premium-table .row-actions .btn .ic{width:13px;height:13px}
body.page.admin .apps-premium-table .note-col{min-width:140px}
body.page.admin .apps-premium-table td[style*="white-space:nowrap"]{white-space:normal!important}
body.page.admin .apps-actions-cell{overflow:hidden}
body.page.admin .paylinks-table-card{width:100%}
body.page.admin .paylinks-table-wrap{width:100%;overflow-x:auto;overflow-y:hidden}
body.page.admin #payLinksTable{min-width:980px}
body.page.admin #payLinksTable .tr{grid-template-columns:72px minmax(220px,1.35fr) 120px minmax(180px,1fr) 108px minmax(220px,.95fr)!important;gap:12px;align-items:center}
body.page.admin .paylink-short-cell{min-width:0}
body.page.admin .paylink-short-cell a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page.admin .paylink-actions,
body.page.admin .paylink-actions-cell{display:grid!important;grid-template-columns:repeat(2,minmax(0,max-content));grid-auto-flow:row;gap:8px;align-items:center;justify-content:start}
body.page.admin .paylink-actions .btn,
body.page.admin .paylink-actions a{height:30px;padding:5px 10px;font-size:11px;white-space:nowrap}
body.page.admin #payLinkEditModal .box.box--pay,
body.page.admin #payModal .box.box--pay,
body.page.admin #payLinkModal .box.box--pay{width:min(940px,calc(100vw - 28px));max-height:calc(100vh - 26px)!important;border-radius:24px;overflow:hidden}
body.page.admin #payLinkEditModal .pay-form{display:flex;flex-direction:column;min-height:0;flex:1}
body.page.admin #payLinkEditModal .pay-form-body,
body.page.admin #payModal .bd{overflow:auto;padding:18px 20px 20px!important;min-height:0;flex:1}
body.page.admin #payLinkEditModal .pay-form-footer,
body.page.admin #payModal .ft{padding:14px 18px!important;background:rgba(248,250,252,.86)}
body.page.admin #payLinkEditModal .grid2,
body.page.admin #payModal .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
body.page.admin #payLinkEditModal .field,
body.page.admin #payModal .field{min-width:0}
body.page.admin #payLinkEditModal textarea,
body.page.admin #payModal textarea{min-height:86px}
body.page.admin #payLinkEditModal .choice-group,
body.page.admin #payModal .choice-group{display:flex;flex-wrap:wrap;gap:10px}
body.page.admin .pay-create-feedback{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;font-size:14px}
body.page.admin .pay-create-feedback.is-success::before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(34,197,94,.18);font-weight:900}
@media (max-width:1500px){body.page.admin .apps-premium-table td:last-child,body.page.admin .apps-premium-table th:last-child{width:360px!important;min-width:360px!important}}
@media (max-width:1260px){body.page.admin .apps-premium-table .row-actions{grid-template-columns:repeat(2,minmax(0,max-content))}body.page.admin #payLinksTable .tr{grid-template-columns:72px minmax(210px,1.2fr) 110px minmax(170px,1fr) 100px minmax(200px,.95fr)!important}}
@media (max-width:860px){body.page.admin .admin-shell{grid-template-columns:1fr!important}body.page.admin .admin-nav{position:relative;height:auto}body.page.admin #payLinkEditModal .grid2,body.page.admin #payModal .grid2{grid-template-columns:1fr}}

/* ==== FINAL SIDEBAR COLLAPSE HOTFIX ==== */
body.page.admin .admin-shell.nav-collapsed{
  grid-template-columns:168px minmax(0,1fr)!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav{
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  background:transparent!important;
  border-right:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  padding:8px 6px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > *{
  display:none!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .admin-side-collapse,
body.page.admin .admin-shell.nav-collapsed .admin-nav > .nav-item.active{
  display:flex!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .admin-side-collapse{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0 0 4px 4px!important;
  align-self:flex-start!important;
  justify-content:center!important;
  border-radius:12px!important;
  position:sticky!important;
  top:8px!important;
  z-index:5!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .admin-side-collapse .admin-side-collapse__icon{
  font-size:14px!important;
  line-height:1!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .nav-item.active{
  width:100%!important;
  min-height:62px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  gap:10px!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .nav-item.active .nav-ic{
  margin:0!important;
  flex:0 0 18px!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .nav-item.active .nav-tx{
  display:block!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.page.admin .admin-shell.nav-collapsed .admin-nav > .nav-item.active::after{
  display:none!important;
}


/* =========================================================
   STEP 7: ADMIN DESKTOP REVISION / SETTINGS HUB
========================================================= */
body.page.admin .admin-shell{
  grid-template-columns: 276px minmax(0,1fr);
  gap: 18px;
}
body.page.admin .admin-nav{
  width: 276px;
  padding: 18px 14px;
}
body.page.admin .admin-main{
  padding: 20px 22px;
}
@media (min-width: 1200px){
  body.page.admin .admin-main > *{
    max-width: 1320px;
  }
}
body.page.admin .admin-nav .brand,
body.page.admin .admin-who-card,
body.page.admin .nav-item,
body.page.admin .apps-page-header,
body.page.admin .appointment-card,
body.page.admin .admin-stat-card,
body.page.admin .card.panel{
  border-radius: 18px;
}
body.page.admin .nav-group{
  margin: 16px 10px 8px;
  font-size: 11px;
  letter-spacing: .14em;
  opacity: .72;
}
body.page.admin .nav-item{
  min-height: 46px;
  padding: 11px 12px;
}
body.page.admin .admin-page-title{
  font-size: 28px;
}
body.page.admin .admin-page-sub{
  max-width: 760px;
}
body.page.admin .table,
body.page.admin table{
  font-size: 14px;
}
body.page.admin .input,
body.page.admin input,
body.page.admin textarea,
body.page.admin select{
  border-radius: 14px;
}
body.page.admin .card.panel{
  padding: 20px;
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
}

body.page.admin .settings-shell{
  display: grid;
  gap: 16px;
}
body.page.admin .settings-hero{
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(280px,.9fr);
  gap: 18px;
  align-items: stretch;
}
body.page.admin .settings-eyebrow{
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--primary);
}
body.page.admin .settings-hero__copy h2{
  margin: 8px 0 10px;
  font-size: 28px;
  line-height: 1.08;
}
body.page.admin .settings-hero__copy p{
  margin: 0;
  color: var(--muted);
  max-width: 760px;
}
body.page.admin .settings-hero__stats{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
body.page.admin .settings-mini-stat{
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
body.page.admin[data-theme="light"] .settings-mini-stat{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.82));
}
body.page.admin .settings-mini-stat strong{
  display: block;
  font-size: 22px;
  font-weight: 950;
}
body.page.admin .settings-mini-stat span{
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
body.page.admin .settings-workbench{
  display: grid;
  grid-template-columns: 300px minmax(0,1fr);
  gap: 16px;
  align-items: start;
}
body.page.admin .settings-sidebar{
  position: sticky;
  top: 18px;
}
body.page.admin .settings-sidebar__head h3{
  margin: 6px 0 8px;
  font-size: 20px;
}
body.page.admin .settings-sidebar__head p{
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
body.page.admin .settings-tablist{
  display: grid;
  gap: 10px;
}
body.page.admin .settings-tab-btn{
  width: 100%;
  justify-content: flex-start;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 15px;
  box-shadow: none;
}
body.page.admin .settings-tab-btn.is-active{
  box-shadow: inset 0 0 0 1px rgba(59,130,246,.35);
}
body.page.admin .settings-content{
  min-width: 0;
}
body.page.admin .settings-section{ display:none; }
body.page.admin .settings-section.is-active{ display:block; }
body.page.admin .settings-section__head{
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
body.page.admin .settings-section__head h2{
  margin: 6px 0 0;
  font-size: 24px;
  line-height: 1.1;
}
body.page.admin .settings-section__head p{
  margin: 0;
  max-width: 520px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
body.page.admin .settings-content .grid2{ gap: 14px; }
body.page.admin .settings-content .field > span{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
body.page.admin .settings-content textarea{ min-height: 112px; }
@media (max-width: 1180px){
  body.page.admin .settings-workbench{ grid-template-columns: 1fr; }
  body.page.admin .settings-sidebar{ position: static; }
  body.page.admin .settings-tablist{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 920px){
  body.page.admin .admin-shell{ grid-template-columns: 1fr; }
  body.page.admin .admin-nav{ width: 100%; }
  body.page.admin .settings-hero{ grid-template-columns: 1fr; }
}
@media (max-width: 680px){
  body.page.admin .settings-tablist{ grid-template-columns: 1fr; }
}


/* Price list integration refresh */
.price-page .fab-rail{display:none !important;}
.price-hero{
  padding: 34px 0 14px;
}
.price-hero__shell{
  border:1px solid var(--border);
  border-radius:32px;
  padding:24px;
  background:linear-gradient(135deg, rgba(17,24,39,.98), rgba(31,41,55,.88));
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:18px;
  box-shadow:0 20px 50px rgba(2,6,23,.24);
}
.price-eyebrow,.price-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d7dee8;
}
.price-hero h1{
  margin:10px 0 10px;
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.02;
}
.price-hero p{
  margin:0;
  max-width:720px;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.7;
}
.price-switch{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}
.price-switch__chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:700;
}
.price-hero__meta{
  display:grid;
  gap:12px;
}
.price-hero__stat{
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.06);
}
.price-hero__stat strong{
  display:block;
  font-size:24px;
  line-height:1;
}
.price-hero__stat span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.74);
  font-size:13px;
}
.price-section{padding: 10px 0 42px;}
.price-stack{display:grid;gap:20px;}
.price-vehicle-block{
  border:1px solid var(--border);
  border-radius:28px;
  padding:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.price-vehicle-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.price-vehicle-head__copy h2{
  margin:8px 0 8px;
  font-size:clamp(28px,4vw,42px);
  line-height:1.02;
}
.price-vehicle-head__copy p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  line-height:1.7;
}
.price-banner-media{margin-bottom:18px;border-radius:24px;overflow:hidden;border:1px solid var(--border);background:#eef2f7;}
.price-banner-media img{display:block;width:100%;height:auto;aspect-ratio: 16/8;object-fit:cover;}
.price-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.price-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:18px;
  background:#fff;
  display:grid;
  gap:16px;
}
.price-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.price-card__badge{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.price-card h3{
  margin:10px 0 0;
  font-size:24px;
  line-height:1.1;
}
.price-card__price{
  white-space:nowrap;
  font-size:22px;
  font-weight:900;
  color:var(--primary);
}
.price-card__desc{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}
.price-card__facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.price-card__facts div{
  border:1px solid var(--border);
  border-radius:18px;
  padding:12px 13px;
  background:#f8fafc;
}
.price-card__facts span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}
.price-card__facts strong{
  font-size:15px;
  line-height:1.35;
}
.price-card__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.price-card__code{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.price-empty{padding:20px;}
@media (max-width: 960px){
  .price-hero__shell{grid-template-columns:1fr;}
  .price-card-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .price-hero{padding-top:18px;}
  .price-hero__shell,
  .price-vehicle-block{border-radius:22px;padding:16px;}
  .price-switch{flex-wrap:nowrap;overflow:auto;padding-bottom:4px;}
  .price-switch__chip{flex:0 0 auto;}
  .price-vehicle-head{flex-direction:column;}
  .price-vehicle-head__actions{width:100%;}
  .price-vehicle-head__actions .btn{width:100%;}
  .price-card{border-radius:18px;padding:14px;gap:14px;}
  .price-card__top{flex-direction:column;}
  .price-card__price{font-size:24px;}
  .price-card h3{font-size:21px;}
  .price-card__facts{grid-template-columns:1fr;}
  .price-card__bottom .btn{width:100%;justify-content:center;}
}


/* =========================================================
   MOBILE BUGFIX PACK - WIZARD + FAQ
========================================================= */
body.wizard-page .wiz-scroll-packages{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#1ab6e6 0%, #1a8dd8 55%, #1164bc 100%);
  color:#fff;
  box-shadow:0 18px 34px rgba(17, 100, 188, .24);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
body.wizard-page .wiz-scroll-packages:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 38px rgba(17, 100, 188, .28);
}
body.wizard-page .wiz-scroll-packages__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:24px;
  line-height:1;
  font-weight:800;
}

body.wizard-page .wiz-pkg-tile{
  background:linear-gradient(180deg,#f5f9ff 0%, #eaf2fb 100%);
  border:1px solid rgba(54, 98, 146, .18);
  box-shadow:0 16px 32px rgba(20, 46, 82, .10);
}
body.wizard-page .wiz-pkg-tile:hover{
  background:linear-gradient(180deg,#f8fbff 0%, #eef5fe 100%);
}
body.wizard-page .wiz-pkg-tile.is-selected{
  background:linear-gradient(180deg,#1f3f72 0%, #213b66 55%, #1a2e52 100%);
  border-color:rgba(24,181,212,.45);
  box-shadow:0 22px 44px rgba(17, 31, 56, .24);
}
body.wizard-page .wiz-pkg-tile.is-selected h3,
body.wizard-page .wiz-pkg-tile.is-selected .wiz-pkg-desc,
body.wizard-page .wiz-pkg-tile.is-selected .wiz-pkg-meta span,
body.wizard-page .wiz-pkg-tile.is-selected .wiz-pkg-meta b{
  color:#fff;
}
body.wizard-page .wiz-pkg-tile.is-selected .wiz-pill{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.24);
  color:#fff;
}
body.wizard-page .wiz-pkg-meta > div{
  background:rgba(255,255,255,.82);
  border-color:rgba(54, 98, 146, .12);
}
body.wizard-page .wiz-pkg-tile.is-selected .wiz-pkg-meta > div{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
}
body.wizard-page .wiz-pill{
  background:rgba(24,181,212,.10);
  border-color:rgba(24,181,212,.24);
  color:#155e75;
}

@media (max-width: 720px){
  .faq-hero{
    min-height:260px;
    padding-top:84px;
  }
  .faq-hero-copy h1{
    font-size:32px;
    line-height:1.08;
    max-width:none;
  }
  .faq-content-wrap{
    margin-top:-22px;
    padding-bottom:24px;
  }
  .faq-side-card{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    overflow:visible;
    padding-bottom:0;
  }
  .faq-side-card .sidebtn{
    min-width:0;
    margin:0;
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    text-align:left;
    line-height:1.3;
    padding:14px 12px;
  }
  .faq-main-card{
    padding:12px;
    border-radius:18px;
  }
  .faq-main-card .acc-item{
    margin:8px 0;
  }
  .faq-main-card .acc-head{
    padding:16px 14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
  }
  .faq-main-card .acc-title{
    max-width:none;
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    line-height:1.45;
    font-size:14px;
  }
  .faq-main-card .acc-chevron{
    font-size:22px;
    align-self:center;
  }
  .faq-main-card .acc-body{
    padding:0 14px 16px;
    font-size:14px;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .faq-bottom-note{
    padding:14px 16px;
    border-radius:16px;
  }
}

@media (max-width: 420px){
  .faq-side-card{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   HOTFIX: VEHICLE PAGES MOBILE OVERFLOW LOCK
   Only targets public vehicle pages / homepage vehicle cards
========================================================= */
@media (max-width: 820px){
  body.veh-page,
  body.veh-page .veh-hero,
  body.veh-page .veh-sections-wrap,
  body.veh-page .veh-cta-band{
    overflow-x:hidden;
  }

  body.veh-page .veh-hero-grid,
  body.veh-page .veh-sec-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  body.veh-page .veh-hero-copy,
  body.veh-page .veh-hero-media,
  body.veh-page .veh-sec-copy,
  body.veh-page .veh-sec-media,
  body.veh-page .veh-stats,
  body.veh-page .stat,
  body.veh-page .veh-hero-bottom,
  .home-veh-cards .veh-card,
  .home-veh-cards .veh-card-top,
  .home-veh-cards .veh-card-bt{
    min-width:0;
  }

  body.veh-page .veh-hero{
    padding:20px 0 16px;
  }

  body.veh-page .veh-hero-shell{
    min-height:auto;
    padding-bottom:12px;
  }

  body.veh-page .veh-kicker{
    font-size:34px;
    line-height:1.05;
  }

  body.veh-page .veh-title{
    margin:8px 0 12px;
    font-size:30px;
    line-height:1.06;
    word-break:break-word;
  }

  body.veh-page .veh-desc{
    max-width:100%;
    font-size:14px;
  }

  body.veh-page .veh-stats{
    grid-template-columns:repeat(2, minmax(0,1fr));
    max-width:none;
    gap:10px;
  }

  body.veh-page .veh-hero-media{
    width:100%;
    justify-content:center;
  }

  body.veh-page .veh-img,
  body.veh-page .veh-sec-img,
  .home-veh-cards .veh-card-img{
    width:100%;
    max-width:100%;
    margin:0 auto;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }

  body.veh-page .veh-img{
    aspect-ratio:16 / 9;
    min-height:0;
  }

  body.veh-page .veh-hero-bottom{
    position:static;
    transform:none;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:16px;
  }

  body.veh-page .veh-hero-bottom .btn,
  body.veh-page .veh-cta-card .btn{
    width:100%;
    justify-content:center;
  }

  .veh-sections-wrap{
    padding-top:24px;
  }

  .veh-section-intro{
    margin-bottom:16px;
  }

  .veh-section-intro h2{
    font-size:26px;
    line-height:1.1;
  }

  .veh-section{
    padding:16px;
    border-radius:20px;
  }

  .veh-sec-copy h2{
    font-size:24px;
    line-height:1.12;
  }

  .veh-sec-copy p,
  .veh-bullets li,
  .veh-card-desc{
    overflow-wrap:anywhere;
  }

  .veh-sec-img{
    min-height:190px;
    border-radius:18px;
  }

  .veh-cta-band{
    padding:8px 0 28px;
  }

  .veh-cta-card{
    display:grid;
    gap:14px;
    padding:18px;
    border-radius:20px;
  }

  .home-veh-cards .veh-card{
    min-height:auto;
  }

  .home-veh-cards .veh-card-img{
    min-height:180px;
  }
}

@media (max-width: 480px){
  body.veh-page .veh-kicker{
    font-size:28px;
  }

  body.veh-page .veh-title{
    font-size:26px;
  }

  body.veh-page .veh-stats{
    grid-template-columns:1fr 1fr;
  }

  .veh-section-intro h2,
  .veh-sec-copy h2{
    font-size:22px;
  }

  .veh-sec-img,
  .home-veh-cards .veh-card-img{
    min-height:160px;
  }
}


/* =========================================================
   ADMIN FINAL POLISH (no inner sidebar scroll + cleaner modals)
========================================================= */
body.page.admin .admin-nav{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  position:sticky;
  top:0;
  align-self:start;
}

@media (max-height:720px){
  body.page.admin .admin-nav{
    position:relative;
    top:auto;
  }
}

/* Wizard package scroll button: keep away from iOS safe-area */
body.wizard-page .wiz-scroll-packages{
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  right: calc(18px + env(safe-area-inset-right, 0px));
}


/* =========================================================
   ADMIN BASIC LAYOUT FIX (alignment + Turkish-friendly font)
========================================================= */
body.page.admin{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  font-variant-numeric: normal;
}
body.page.admin .admin-main{ min-width:0; overflow-x:hidden; }
body.page.admin .card, body.page.admin .panel{ max-width:100%; }
body.page.admin .grid2{ align-items:start; }
body.page.admin .table-grid{ width:100%; }
body.page.admin .table-grid .tr{ min-width:0; }
body.page.admin .field input,
body.page.admin .field select,
body.page.admin .field textarea{ width:100%; min-width:0; }


/* =========================================================
   PAYLINK CREATE MODAL (Application View) - layout fix
========================================================= */
body.page.admin #payLinkModal .bd{
  overflow:auto;
  padding:18px 20px 20px !important;
  min-height:0;
  flex:1;
}
body.page.admin #payLinkModal .ft{
  padding:14px 18px !important;
  background: rgba(248,250,252,.86);
}
body.page.admin #payLinkModal .grid2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px 16px;
}
body.page.admin #payLinkModal .field{ min-width:0; }
body.page.admin #payLinkModal textarea{ min-height:86px; }
body.page.admin #payLinkModal .choice-group{ display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:760px){
  body.page.admin #payLinkModal .grid2{ grid-template-columns: 1fr; }
}


/* =========================================================
   ADMIN REFINEMENT PACK (applications + pay links + packages)
========================================================= */
body.page.admin .apps-segmented--secondary{
  margin-top:10px;
  margin-bottom:6px;
}
body.page.admin .apps-segmented--secondary .apps-segment{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(148,163,184,.22);
}
body.page.admin .admin-shell{align-items:flex-start;}
body.page.admin .admin-nav{min-height:calc(100vh - 18px); padding-bottom:24px;}
body.page.admin .apps-toolbar,
body.page.admin .apps-bulk-bar,
body.page.admin .apps-cleanup-card,
body.page.admin .card.panel,
body.page.admin .table-card{
  box-shadow:0 18px 46px rgba(15,23,42,.06);
}
body.page.admin .box.box--pay,
body.page.admin #payLinkEditModal .box,
body.page.admin #payModal .box{
  width:min(920px, calc(100vw - 32px));
  border-radius:28px;
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 28px 68px rgba(15,23,42,.18);
  overflow:hidden;
}
body.page.admin #payModal .hd,
body.page.admin #payLinkEditModal .hd,
body.page.admin #payLinkModal .hd{
  padding:18px 22px;
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.9));
  border-bottom:1px solid rgba(148,163,184,.18);
}
body.page.admin #payModal .bd,
body.page.admin #payLinkEditModal .bd,
body.page.admin #payLinkModal .bd{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
}
body.page.admin #payModal .field,
body.page.admin #payLinkEditModal .field,
body.page.admin #payLinkModal .field{
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(148,163,184,.16);
}
body.page.admin #payModal .field > span,
body.page.admin #payLinkEditModal .field > span,
body.page.admin #payLinkModal .field > span{
  display:block;
  margin-bottom:8px;
  font-weight:800;
  color:#0f172a;
}
body.page.admin #payModal textarea,
body.page.admin #payLinkEditModal textarea,
body.page.admin #payLinkModal textarea{min-height:88px;}
body.page.admin .choice-group--compact{gap:8px;}
body.page.admin .choice-pill span{font-weight:700;}
body.page.admin .table-grid .tr > div{min-width:0;}
body.page.admin .table-grid .tr{align-items:start;}
body.page.admin .admin-nav .nav-group{margin-top:16px;}
body.page.admin .admin-nav .nav-item{min-height:46px;}
body.page.admin .note-snippet{line-height:1.45;}
@media (max-width:760px){
  body.page.admin .box.box--pay,
  body.page.admin #payLinkEditModal .box,
  body.page.admin #payModal .box{width:min(100vw - 18px, 920px); border-radius:22px;}
}


/* =========================================================
   STEP-2 HOTFIX: CONTRACT MODAL + FAQ MOBILE SWITCH
========================================================= */
body.wizard-page .wiz-contract-preview{
  background:linear-gradient(180deg,#f8fbff 0%, #f1f7ff 100%);
}
body.wizard-page .wiz-contract-preview__mini{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  align-items:flex-start;
}
body.wizard-page .wiz-contract-preview__icon{
  width:72px;
  height:72px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:linear-gradient(135deg, rgba(26,182,230,.14), rgba(17,100,188,.14));
  border:1px solid rgba(17,100,188,.12);
}
body.wizard-page .wiz-contract-preview__copy{
  display:grid;
  gap:6px;
}
body.wizard-page .wiz-contract-preview__copy b{
  font-size:15px;
  line-height:1.45;
}
body.wizard-page .wiz-contract-preview__copy span{
  color:var(--muted);
  line-height:1.65;
}
body.wizard-page .wiz-contract-modal-card{
  width:min(980px, calc(100vw - 28px));
  max-height:calc(100dvh - 28px);
  padding:0;
  overflow:hidden;
  border-radius:28px;
}
body.wizard-page .wiz-contract-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(244,248,255,.94));
}
body.wizard-page .wiz-contract-modal-kicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
}
body.wizard-page .wiz-contract-modal-copy h3{
  margin:8px 0 6px;
  font-size:24px;
  line-height:1.1;
}
body.wizard-page .wiz-contract-modal-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
body.wizard-page .wiz-contract-modal-body{
  padding:18px 22px;
  overflow:auto;
  max-height:calc(100dvh - 188px);
  background:#f8fbff;
}
body.wizard-page .wiz-contract-modal-actions{
  margin:0;
  padding:16px 22px 20px;
  border-top:1px solid var(--line);
  background:#fff;
}
.faq-mobile-switch{
  display:none;
  margin-bottom:14px;
}
@media (max-width: 820px){
  body.wizard-page .wiz-contract-preview__mini{
    grid-template-columns:1fr;
  }
  body.wizard-page .wiz-contract-preview__icon{
    width:60px;
    height:60px;
    border-radius:18px;
  }
  body.wizard-page .wiz-contract-left{
    width:100%;
  }
  body.wizard-page .wiz-contract-left .btn{
    flex:1 1 180px;
    justify-content:center;
  }
  body.wizard-page .wiz-contract-modal-card{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:22px;
  }
  body.wizard-page .wiz-contract-modal-head,
  body.wizard-page .wiz-contract-modal-body,
  body.wizard-page .wiz-contract-modal-actions{
    padding-left:16px;
    padding-right:16px;
  }
  body.wizard-page .wiz-contract-modal-copy h3{
    font-size:20px;
  }
  .faq-mobile-switch{
    display:block;
  }
  .faq-layout-polished .faq-side{
    display:none;
  }
}
@media (max-width: 820px){
  body.veh-page .veh-section-intro,
  body.veh-page .veh-sec-copy{
    text-align:center;
  }
  body.veh-page .veh-bullets{
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }
  body.veh-page .veh-sec-media{
    display:flex;
    justify-content:center;
  }
}


/* =========================================================
   STEP 3: ADMIN SETTINGS + PAYLINK CORPORATE POLISH
========================================================= */
body.page.admin .admin-nav{
  display:flex;
  flex-direction:column;
  gap:0;
}
body.page.admin .admin-nav-fill{
  flex:1 1 auto;
  min-height:18px;
}
body.page.admin .admin-nav-footer-card{
  margin:16px 6px 0;
  padding:14px 14px 15px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
body.page.admin[data-theme="light"] .admin-nav-footer-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
}
body.page.admin .admin-nav-footer-card__eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  color:var(--primary);
  margin-bottom:8px;
}
body.page.admin .admin-nav-footer-card strong{
  display:block;
  font-size:14px;
  line-height:1.35;
}
body.page.admin .admin-nav-footer-card span{
  display:block;
  margin-top:6px;
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}

body.page.admin .settings-quicktools{
  display:grid;
  gap:12px;
  margin-bottom:14px;
}
body.page.admin .settings-search-field{
  margin:0;
}
body.page.admin .settings-search-status{
  padding:12px 14px;
  border-radius:14px;
  border:1px dashed rgba(59,130,246,.22);
  background:rgba(59,130,246,.05);
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
  font-weight:700;
}
body.page.admin .settings-savebar{
  position:sticky;
  top:14px;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 38px rgba(15,23,42,.08);
}
body.page.admin[data-theme="dark"] .settings-savebar{
  background:rgba(15,23,42,.72);
}
body.page.admin .settings-savebar__copy{
  display:grid;
  gap:4px;
}
body.page.admin .settings-savebar__copy strong{
  font-size:15px;
  line-height:1.2;
}
body.page.admin .settings-savebar__copy span{
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
body.page.admin .settings-savebar__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
body.page.admin .settings-inline-note{
  margin:14px 0 2px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(15,23,42,.04);
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
body.page.admin .settings-search-hidden{
  display:none !important;
}
body.page.admin .settings-search-hit{
  box-shadow:0 0 0 1px rgba(59,130,246,.18), 0 10px 26px rgba(59,130,246,.08);
}
body.page.admin .settings-content .field,
body.page.admin .settings-content .checkline,
body.page.admin .settings-content .softbox,
body.page.admin .settings-content .alert,
body.page.admin .settings-content .tile{
  transition:box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
@media (max-width: 920px){
  body.page.admin .settings-savebar{
    position:static;
  }
}

body.page.admin .paylink-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:14px;
  margin-bottom:16px;
}
body.page.admin .paylink-auto-card,
body.page.admin .paylink-guide-card{
  border-radius:20px;
  padding:16px 18px;
}
body.page.admin .paylink-guide-card{
  border:1px solid rgba(59,130,246,.16);
  background:linear-gradient(180deg, rgba(37,99,235,.08), rgba(37,99,235,.03));
}
body.page.admin .paylink-guide-card__eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary);
}
body.page.admin .paylink-guide-card h3{
  margin:8px 0 8px;
  font-size:20px;
  line-height:1.14;
}
body.page.admin .paylink-guide-card p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  font-size:13px;
}
body.page.admin .paylink-section-title{
  margin:18px 0 12px;
  padding-top:4px;
  border-top:1px solid rgba(148,163,184,.16);
}
body.page.admin .paylink-section-title strong{
  display:block;
  font-size:15px;
  line-height:1.2;
}
body.page.admin .paylink-section-title span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
body.page.admin .paylink-form-surface{
  display:grid;
  gap:0;
}
body.page.admin .paylinks-table-card .paylinks-table-wrap > h2{
  margin-bottom:16px;
}
body.page.admin .paylinks-table-card .tr{
  align-items:center;
}
body.page.admin .paylinks-table-card .paylink-actions-cell{
  justify-content:flex-end;
}
@media (max-width: 980px){
  body.page.admin .paylink-intro-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   STEP 8: FINAL ADMIN VISUAL POLISH
========================================================= */
body.page.admin .admin-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
body.page.admin .admin-section-head h1,
body.page.admin .admin-section-head h2,
body.page.admin .admin-section-head h3{
  margin:8px 0 0;
  line-height:1.08;
}
body.page.admin .admin-section-head--compact{margin-bottom:12px}
body.page.admin .admin-empty-state{
  padding:18px 20px;
  border-radius:18px;
  border:1px dashed rgba(148,163,184,.32);
  background:rgba(148,163,184,.06);
  color:var(--muted);
}
body.page.admin .dashboard-divider{
  height:1px;
  margin:18px 0;
  background:rgba(148,163,184,.16);
}
body.page.admin .dashboard-hero,
body.page.admin .packages-hero,
body.page.admin .delivery-hero,
body.page.admin .appointments-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.9fr);
  gap:18px;
  margin-bottom:16px;
  border-radius:24px;
  overflow:hidden;
}
body.page.admin .dashboard-hero{
  background:linear-gradient(135deg, rgba(15,23,42,.98), rgba(30,41,59,.94));
  color:#fff;
}
body.page.admin .dashboard-hero p,
body.page.admin .packages-hero p,
body.page.admin .delivery-hero p,
body.page.admin .appointments-hero p{
  margin:0;
  line-height:1.7;
  color:var(--muted);
}
body.page.admin .dashboard-hero p{color:rgba(255,255,255,.78)}
body.page.admin .dashboard-hero__eyebrow,
body.page.admin .packages-hero .badge,
body.page.admin .delivery-hero .badge,
body.page.admin .appointments-hero .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
body.page.admin .dashboard-hero h1,
body.page.admin .packages-hero h1,
body.page.admin .delivery-hero h1,
body.page.admin .appointments-hero h1{
  margin:10px 0 10px;
  font-size:clamp(28px, 4vw, 38px);
  line-height:1.05;
}
body.page.admin .dashboard-hero__eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#cbd5e1;
  font-weight:900;
}
body.page.admin .dashboard-hero__chips,
body.page.admin .appointments-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.page.admin .dashboard-hero__aside,
body.page.admin .packages-hero__stats,
body.page.admin .delivery-hero__stats{
  display:grid;
  gap:12px;
}
body.page.admin .dashboard-hero__card,
body.page.admin .packages-mini-stat{
  border-radius:20px;
  padding:16px 18px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.06);
}
body.page.admin .packages-mini-stat{
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.8));
}
body.page.admin[data-theme="dark"] .packages-mini-stat{
  background:linear-gradient(180deg, rgba(15,23,42,.78), rgba(15,23,42,.58));
}
body.page.admin .dashboard-hero__card.is-accent{
  background:linear-gradient(180deg, rgba(34,197,94,.16), rgba(34,197,94,.08));
  border-color:rgba(34,197,94,.24);
}
body.page.admin .dashboard-hero__card strong,
body.page.admin .packages-mini-stat strong{
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:950;
}
body.page.admin .dashboard-hero__card span,
body.page.admin .packages-mini-stat span{
  display:block;
  margin-top:8px;
  font-size:13px;
  line-height:1.55;
  color:inherit;
  opacity:.82;
}
body.page.admin .dashboard-grid,
body.page.admin .packages-grid,
body.page.admin .delivery-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.9fr);
  gap:16px;
  align-items:start;
}
body.page.admin .dashboard-side-stack{display:grid;gap:16px}
body.page.admin .dashboard-stat-grid{margin-bottom:16px}
body.page.admin .dashboard-recent-list,
body.page.admin .packages-list,
body.page.admin .delivery-list{
  display:grid;
  gap:12px;
}
body.page.admin .dashboard-recent-item,
body.page.admin .packages-item,
body.page.admin .delivery-item{
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  padding:15px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.9));
}
body.page.admin[data-theme="dark"] .dashboard-recent-item,
body.page.admin[data-theme="dark"] .packages-item,
body.page.admin[data-theme="dark"] .delivery-item{
  background:linear-gradient(180deg, rgba(15,23,42,.72), rgba(15,23,42,.58));
}
body.page.admin .dashboard-recent-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
body.page.admin .dashboard-recent-item__main,
body.page.admin .dashboard-recent-item__meta,
body.page.admin .packages-item__bottom,
body.page.admin .delivery-item__actions,
body.page.admin .packages-item__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
body.page.admin .dashboard-recent-item__main{min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
body.page.admin .dashboard-recent-item__meta{justify-content:flex-end}
body.page.admin .dashboard-trend-list{display:grid;gap:10px}
body.page.admin .dashboard-trend-item{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(148,163,184,.05);
}
body.page.admin .dashboard-trend-item__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
body.page.admin .dashboard-trend-item__bar{
  height:10px;
  border-radius:999px;
  background:rgba(148,163,184,.16);
  overflow:hidden;
}
body.page.admin .dashboard-trend-item__bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(59,130,246,.9), rgba(34,197,94,.88));
}
body.page.admin .dashboard-quick-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.page.admin .packages-form-card .field textarea,
body.page.admin .delivery-form-card .field textarea{min-height:128px}
body.page.admin .packages-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}
body.page.admin .packages-toggle-field{
  display:flex;
  gap:10px;
  align-items:center;
  margin:2px 0 4px;
}
body.page.admin .packages-item.is-active,
body.page.admin .delivery-item.is-active{
  border-color:rgba(59,130,246,.22);
  box-shadow:0 14px 32px rgba(59,130,246,.08);
}
body.page.admin .packages-item__top,
body.page.admin .delivery-item__head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  flex-wrap:wrap;
}
body.page.admin .packages-item__title-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
body.page.admin .packages-item__meta,
body.page.admin .packages-item__micro-meta,
body.page.admin .delivery-item__meta{
  display:flex;
  gap:10px 12px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
body.page.admin .packages-item__meta{margin-top:8px}
body.page.admin .packages-item__price-block{
  text-align:right;
  min-width:180px;
}
body.page.admin .packages-item__price-block strong{
  display:block;
  font-size:20px;
  line-height:1.08;
}
body.page.admin .packages-item__price-block span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}
body.page.admin .packages-item__desc,
body.page.admin .delivery-item__address{
  margin:14px 0;
  color:var(--text);
  line-height:1.72;
}
body.page.admin .delivery-item__city{
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
}
body.page.admin .appointments-panel{padding:18px}
body.page.admin .appointments-toolbar{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-end;
  flex-wrap:wrap;
  margin-bottom:16px;
}
body.page.admin .appointments-filter-form{min-width:min(320px,100%)}
body.page.admin .appointments-filter-form .field{margin:0}
body.page.admin .apps-page-header,
body.page.admin .apps-bulk-toolbar,
body.page.admin .apps-cleanup-card,
body.page.admin .admin-surface-card,
body.page.admin .appointments-panel,
body.page.admin .paylinks-table-card{
  box-shadow:0 14px 32px rgba(15,23,42,.06);
}
body.page.admin .apps-page-header{
  border-radius:22px;
  padding:16px 18px;
  align-items:flex-start;
}
body.page.admin .apps-page-header .left,
body.page.admin .apps-page-header .right{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-end;
}
body.page.admin .apps-filter{width:100%;display:grid;gap:12px}
body.page.admin .apps-filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
body.page.admin .apps-filter-row .field{margin:0}
body.page.admin .apps-filter-row .input[name="q"]{min-width:280px!important}
body.page.admin .apps-bulk-toolbar,
body.page.admin .apps-cleanup-card{padding:18px}
body.page.admin .apps-bulk-toolbar__left,
body.page.admin .apps-bulk-toolbar__right{gap:12px}
body.page.admin .apps-cleanup-card__head h3{font-size:22px;line-height:1.1}
body.page.admin .apps-premium-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,250,252,.96);
  backdrop-filter:blur(8px);
}
body.page.admin[data-theme="dark"] .apps-premium-table thead th{background:rgba(15,23,42,.94)}
body.page.admin .apps-premium-table tbody td{padding-top:14px;padding-bottom:14px}
body.page.admin .apps-premium-table .note-snippet{line-height:1.55}
body.page.admin .apps-actions-cell .row-actions{gap:8px 9px}
@media (max-width: 1180px){
  body.page.admin .dashboard-grid,
  body.page.admin .packages-grid,
  body.page.admin .delivery-grid,
  body.page.admin .dashboard-hero,
  body.page.admin .packages-hero,
  body.page.admin .delivery-hero,
  body.page.admin .appointments-hero{
    grid-template-columns:1fr;
  }
}
@media (max-width: 860px){
  body.page.admin .dashboard-quick-links{grid-template-columns:1fr}
  body.page.admin .dashboard-recent-item,
  body.page.admin .packages-item__top,
  body.page.admin .packages-item__bottom,
  body.page.admin .delivery-item__head,
  body.page.admin .appointments-toolbar,
  body.page.admin .apps-filter-row{
    align-items:flex-start;
  }
  body.page.admin .dashboard-recent-item,
  body.page.admin .packages-item__top,
  body.page.admin .packages-item__bottom,
  body.page.admin .delivery-item__head{
    flex-direction:column;
  }
  body.page.admin .packages-item__price-block{text-align:left;min-width:0}
  body.page.admin .apps-page-header{padding:14px}
}

/* =========================================================
   HOTFIX PACK - applications/admin polish (2026-03-23)
========================================================= */
body.page.admin .admin-nav-footer-card span:empty,
body.page.admin .who-meta-row:empty{display:none}
body.page.admin .who-meta-chip,
body.page.admin .admin-who-role,
body.page.admin .admin-nav-footer-card strong,
body.page.admin .admin-nav-footer-card span,
body.page.admin .admin-nav .nav-group,
body.page.admin .topbar-user-role{
  font-weight:500;
}
body.page.admin .admin-page-kicker,
body.page.admin .admin-page-sub,
body.page.admin .muted{
  font-weight:400;
}
body.page.admin .apps-segmented--secondary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
  margin-bottom:12px;
}
body.page.admin .apps-segmented--secondary .apps-segment{
  background:rgba(255,255,255,.94);
  color:#10213b;
  border:1px solid rgba(148,163,184,.26);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}
body.page.admin[data-theme="dark"] .apps-segmented--secondary .apps-segment{
  background:rgba(15,23,42,.82);
  color:#e5eefb;
  border-color:rgba(71,85,105,.72);
  box-shadow:0 14px 30px rgba(2,6,23,.30);
}
body.page.admin[data-theme="dark"] .apps-segmented--secondary .apps-segment span{
  background:rgba(255,255,255,.08);
  color:#fff;
}
body.page.admin[data-theme="dark"] .apps-segmented--secondary .apps-segment.is-active{
  background:linear-gradient(180deg, rgba(56,189,248,.22), rgba(14,165,233,.12));
  border-color:rgba(56,189,248,.48);
  color:#f8fbff;
}
body.page.admin .apps-page-header,
body.page.admin .apps-bulk-toolbar,
body.page.admin .apps-cleanup-card,
body.page.admin .admin-surface-card{
  border:1px solid rgba(148,163,184,.16);
}
body.page.admin .apps-page-header{
  padding:18px 20px;
  border-radius:24px;
}
body.page.admin .apps-filter-row{
  gap:14px;
}
body.page.admin .apps-filter .field,
body.page.admin .apps-bulk-toolbar__field{
  min-width:180px;
}
body.page.admin .apps-bulk-toolbar{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  align-items:flex-end;
  border-radius:24px;
}
body.page.admin .apps-bulk-toolbar__left,
body.page.admin .apps-bulk-toolbar__right{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
}
body.page.admin .apps-bulk-toolbar__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.page.admin .apps-cleanup-card{
  border-radius:24px;
  overflow:hidden;
}
body.page.admin .apps-cleanup-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  align-items:end;
}
body.page.admin .apps-cleanup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.page.admin .apps-cleanup-summary{
  margin-top:16px;
  border-radius:20px;
  border:1px dashed rgba(148,163,184,.38);
  background:rgba(248,250,252,.88);
  padding:16px;
}
body.page.admin[data-theme="dark"] .apps-cleanup-summary{
  background:rgba(15,23,42,.66);
  border-color:rgba(71,85,105,.72);
}
body.page.admin .apps-cleanup-summary__empty{
  color:var(--muted);
  font-size:13px;
}
body.page.admin .apps-cleanup-summary__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
body.page.admin .apps-cleanup-summary__head strong{
  display:block;
  font-size:15px;
}
body.page.admin .apps-cleanup-metrics{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}
body.page.admin .apps-cleanup-metric{
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:#fff;
  display:grid;
  gap:6px;
}
body.page.admin[data-theme="dark"] .apps-cleanup-metric{
  background:rgba(2,6,23,.46);
  border-color:rgba(71,85,105,.58);
}
body.page.admin .apps-cleanup-metric span{
  color:var(--muted);
  font-size:12px;
}
body.page.admin .apps-cleanup-metric b{
  font-size:22px;
  line-height:1;
}
body.page.admin .apps-premium-table{
  table-layout:fixed;
}
body.page.admin .apps-premium-table th,
body.page.admin .apps-premium-table td{
  vertical-align:top;
}
body.page.admin .apps-premium-table th:nth-child(2),
body.page.admin .apps-premium-table td:nth-child(2){width:74px}
body.page.admin .apps-premium-table th:last-child,
body.page.admin .apps-premium-table td:last-child{width:260px}
body.page.admin .apps-premium-table .note-col{min-width:220px}
body.page.admin .apps-actions-cell .row-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
body.page.admin .apps-pagination-wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  flex-wrap:wrap;
}
body.page.admin .apps-pagination-wrap__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
body.page.admin .app-row.is-selected{
  outline:2px solid rgba(14,165,233,.36);
  outline-offset:-2px;
  background:rgba(14,165,233,.04);
}
@media (max-width: 1100px){
  body.page.admin .apps-cleanup-grid,
  body.page.admin .apps-cleanup-metrics{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  body.page.admin .apps-premium-table th:last-child,
  body.page.admin .apps-premium-table td:last-child{width:220px}
}
@media (max-width: 720px){
  body.page.admin .apps-cleanup-grid,
  body.page.admin .apps-cleanup-metrics{
    grid-template-columns:1fr;
  }
  body.page.admin .apps-page-header,
  body.page.admin .apps-bulk-toolbar,
  body.page.admin .apps-cleanup-card,
  body.page.admin .apps-pagination-wrap{
    padding:16px;
  }
}


/* ===== Toast notifications ===== */
.toast-root{position:fixed;right:18px;bottom:18px;display:grid;gap:12px;z-index:9999;max-width:min(420px,calc(100vw - 28px));}
.toast{display:grid;grid-template-columns:12px 1fr auto;align-items:flex-start;gap:12px;padding:14px 14px 14px 12px;border-radius:18px;background:rgba(15,23,42,.96);color:#e5eefc;box-shadow:0 22px 50px rgba(15,23,42,.28);border:1px solid rgba(148,163,184,.16);opacity:0;transform:translateY(10px) scale(.98);transition:opacity .2s ease,transform .2s ease;}
.toast.show{opacity:1;transform:translateY(0) scale(1);}
.toast.hide{opacity:0;transform:translateY(8px) scale(.98);}
.toast-ic{width:12px;height:12px;border-radius:999px;margin-top:4px;background:#60a5fa;box-shadow:0 0 0 6px rgba(96,165,250,.12);}
.toast-bd{min-width:0;}
.toast-tt{font-size:13px;font-weight:800;line-height:1.2;margin-bottom:4px;color:#fff;}
.toast-tx{font-size:13px;line-height:1.45;color:rgba(226,232,240,.92);}
.toast-x{appearance:none;border:0;background:transparent;color:rgba(226,232,240,.78);font-size:20px;line-height:1;cursor:pointer;padding:0 2px;}
.toast-success .toast-ic{background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.14);}
.toast-error .toast-ic,.toast-danger .toast-ic{background:#f87171;box-shadow:0 0 0 6px rgba(248,113,113,.12);}
.toast-warning .toast-ic,.toast-warn .toast-ic{background:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.14);}
@media (max-width:640px){.toast-root{left:12px;right:12px;bottom:12px;max-width:none}.toast{grid-template-columns:10px 1fr auto;border-radius:16px}}

/* ===== Cleanup modal ===== */
body.page.admin #appsCleanupModal .box.box--cleanup{width:min(760px,calc(100vw - 28px));border-radius:24px;overflow:hidden;}
body.page.admin #appsCleanupModal .bd{display:grid;gap:0;}
.apps-cleanup-summary--modal{margin-top:14px;min-height:140px;background:linear-gradient(180deg,#f8fbff,#f8fafc);}
.apps-cleanup-modal-note{padding:12px 14px;border-radius:16px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.12);color:#1e3a5f;line-height:1.55;}
.apps-cleanup-summary__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.apps-cleanup-summary__empty{color:var(--muted);line-height:1.6;}
body.page.admin[data-theme="dark"] .apps-cleanup-card{background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(15,23,42,.76));border-color:rgba(148,163,184,.18);}
body.page.admin[data-theme="dark"] .apps-cleanup-summary,
body.page.admin[data-theme="dark"] .apps-cleanup-summary--modal{background:rgba(2,6,23,.44);border-color:rgba(148,163,184,.16);}
body.page.admin[data-theme="dark"] .apps-cleanup-metric{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.14);color:#e2e8f0;}
body.page.admin[data-theme="dark"] .apps-cleanup-modal-note{background:rgba(37,99,235,.12);border-color:rgba(96,165,250,.18);color:#dbeafe;}

/* ===== Wizard existing application modal ===== */
body.wizard-page [data-app-exists-modal] .modal-card{max-width:min(520px,calc(100vw - 24px));border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,250,252,.98));box-shadow:0 24px 60px rgba(15,23,42,.18);}
body.wizard-page [data-app-exists-modal] h3{font-size:24px;line-height:1.1;letter-spacing:-.02em;}
body.wizard-page [data-app-exists-modal] .sub{font-size:15px;line-height:1.7;color:#475569;}
body.wizard-page [data-app-exists-modal] .modal-actions{margin-top:18px;}


.veh-sec-img.has-media{ background:none; }
.veh-sec-photo{ width:100%; height:100%; display:block; object-fit:cover; object-position:center; }


body.wizard-page .wiz-pkg-tile.pkg-tone-a{
  background:linear-gradient(180deg,#f5f9ff 0%, #eaf2fb 100%);
  border-color:rgba(54,98,146,.18);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-b{
  background:linear-gradient(180deg,#fff8ef 0%, #f8ede0 100%);
  border-color:rgba(180,122,52,.18);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-b .wiz-pill{
  background:rgba(200,160,106,.14);
  border-color:rgba(200,160,106,.24);
  color:#8a5a12;
}
body.wizard-page .wiz-pkg-tile.pkg-tone-b .wiz-pkg-meta > div{
  border-color:rgba(180,122,52,.12);
}

.home-stage-grid--landing{
  grid-template-columns:minmax(0, 420px) minmax(0,1fr);
  align-items:center;
}
.home-banner-slider{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg, rgba(8,15,30,.72), rgba(19,34,62,.84));
  box-shadow:0 24px 60px rgba(3,12,30,.22);
  min-height:430px;
}
.home-banner-track{
  display:flex;
  width:100%;
  height:100%;
  transition:transform .55s ease;
}
.home-banner-slide{
  min-width:100%;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(24,181,212,.26), transparent 48%),
    radial-gradient(100% 140% at 100% 100%, rgba(200,160,106,.22), transparent 45%);
}
.home-banner-slide--vehicle{
  background:
    linear-gradient(90deg, rgba(9,14,24,.82) 0%, rgba(9,14,24,.58) 42%, rgba(9,14,24,.18) 100%),
    var(--banner-image) center right / contain no-repeat,
    radial-gradient(120% 140% at 0% 0%, rgba(24,181,212,.20), transparent 48%),
    radial-gradient(100% 140% at 100% 100%, rgba(200,160,106,.18), transparent 45%);
}
.home-banner-badge{
  display:inline-flex;
  align-self:flex-start;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-banner-slide h2{
  margin:16px 0 8px;
  font-size:clamp(28px, 3.2vw, 42px);
  line-height:1.08;
}
.home-banner-slide p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.82);
  white-space:pre-wrap;
}
.home-banner-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.home-banner-dots{
  position:absolute;
  left:24px;
  bottom:18px;
  display:flex;
  gap:8px;
}
.home-banner-dots button{
  width:10px;
  height:10px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.28);
  padding:0;
}
.home-banner-dots button.is-active{ background:#fff; }

@media (max-width: 980px){
  .home-stage-grid--landing{ grid-template-columns:1fr; }
  .home-banner-slider{ min-height:340px; }
}
@media (max-width: 720px){
  .home-banner-slide{ padding:22px; }
  .home-banner-slide--vehicle{
    background:
      linear-gradient(180deg, rgba(9,14,24,.78) 0%, rgba(9,14,24,.42) 48%, rgba(9,14,24,.82) 100%),
      var(--banner-image) center 36px / 88% auto no-repeat,
      radial-gradient(120% 140% at 0% 0%, rgba(24,181,212,.20), transparent 48%),
      radial-gradient(100% 140% at 100% 100%, rgba(200,160,106,.18), transparent 45%);
    justify-content:flex-end;
  }
  .home-banner-slide h2{ font-size:26px; }
  .home-banner-slide p{ font-size:14px; }
}

/* 2026-03-26 package cards desktop + stable theme fix */
body.wizard-page .wiz-pkg-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}
body.wizard-page .wiz-pkg-tile{
  min-width:0;
  width:100%;
  overflow:hidden;
  --pkg-bg-1:#f3f9ff;
  --pkg-bg-2:#e4f1ff;
  --pkg-border:rgba(50,107,167,.18);
  --pkg-shadow:0 18px 36px rgba(16,56,104,.10);
  --pkg-pill-bg:rgba(30,124,214,.10);
  --pkg-pill-border:rgba(30,124,214,.22);
  --pkg-pill-color:#0f4f8c;
  --pkg-meta-bg:rgba(255,255,255,.84);
  --pkg-meta-border:rgba(50,107,167,.12);
  background:linear-gradient(180deg,var(--pkg-bg-1) 0%, var(--pkg-bg-2) 100%);
  border:1px solid var(--pkg-border);
  box-shadow:var(--pkg-shadow);
}
body.wizard-page .wiz-pkg-tile .wiz-pill{
  background:var(--pkg-pill-bg);
  border-color:var(--pkg-pill-border);
  color:var(--pkg-pill-color);
}
body.wizard-page .wiz-pkg-tile .wiz-pkg-meta > div{
  background:var(--pkg-meta-bg);
  border-color:var(--pkg-meta-border);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-standard{
  --pkg-bg-1:#f2f9ff;
  --pkg-bg-2:#e1f0ff;
  --pkg-border:rgba(53,128,214,.20);
  --pkg-shadow:0 18px 36px rgba(27,93,165,.12);
  --pkg-pill-bg:rgba(47,144,255,.11);
  --pkg-pill-border:rgba(47,144,255,.24);
  --pkg-pill-color:#0e5da5;
  --pkg-meta-border:rgba(53,128,214,.12);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-range{
  --pkg-bg-1:#eaf3ff;
  --pkg-bg-2:#cfe3ff;
  --pkg-border:rgba(28,79,153,.24);
  --pkg-shadow:0 20px 40px rgba(16,49,102,.16);
  --pkg-pill-bg:rgba(25,87,176,.11);
  --pkg-pill-border:rgba(25,87,176,.24);
  --pkg-pill-color:#123f7f;
  --pkg-meta-border:rgba(28,79,153,.14);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-standard:hover{
  background:linear-gradient(180deg,#f7fbff 0%, #eaf5ff 100%);
}
body.wizard-page .wiz-pkg-tile.pkg-tone-range:hover{
  background:linear-gradient(180deg,#edf5ff 0%, #d8e8ff 100%);
}
body.wizard-page .wiz-pkg-tile.is-selected{
  background:linear-gradient(180deg,#12345f 0%, #173a67 52%, #112c4f 100%);
  border-color:rgba(24,181,212,.45);
  box-shadow:0 24px 48px rgba(11,28,52,.24);
}
@media (max-width: 980px){
  body.wizard-page .wiz-pkg-grid{ grid-template-columns:1fr; }
}
