/* (same as previous message — frosted dark theme) */
:root{
  --bg-grad: radial-gradient(1200px 600px at 20% -10%, #2b1b4b66, transparent 60%),
             radial-gradient(900px 700px at 100% 10%, #4b1d7a66, transparent 60%),
             linear-gradient(135deg, #0b0b13, #151329 60%, #0f0a1f);
  --glass: rgba(255,255,255,0.06);
  --border: rgba(255,255,255,0.14);
  --text: #e8e7ff; --muted:#a3a3c7;
  --accent1:#7c3aed; --accent2:#a855f7; --accent3:#22d3ee;
  --radius:16px; --shadow:0 1px 3px rgba(0,0,0,.35), 0 16px 40px rgba(0,0,0,.45);
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;color:var(--text);background:var(--bg-grad);background-attachment:fixed}
a{text-decoration:none;color:inherit}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh;gap:1rem;padding:1rem}
.sidebar{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--border);border-radius:16px;padding:.85rem;backdrop-filter:blur(18px) saturate(120%);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem}
.brand{display:flex;align-items:center;gap:.6rem}.brand-name{font-weight:800}
.logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;background:conic-gradient(from 210deg,#3b1a7a,#7c3aed,#a855f7,#3b82f6,#3b1a7a)}
.nav{display:flex;flex-direction:column;gap:.25rem}
.nav-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:12px;border:1px solid transparent}
.nav-item:hover{background:rgba(255,255,255,.06);border-color:var(--border)}
.nav-item.active{background:linear-gradient(180deg,rgba(124,58,237,.25),rgba(124,58,237,.05));border:1px solid #7c3aed66;box-shadow:0 0 0 1px #7c3aed33 inset,0 6px 16px #7c3aed44}
.icon{width:22px;text-align:center}
.spacer{flex:1}.profile{margin-top:auto;display:flex;align-items:center;gap:.6rem;padding:.5rem;border:1px dashed var(--border);border-radius:12px}
.main{display:flex;flex-direction:column;gap:1rem}
.topbar{display:flex;justify-content:space-between;align-items:center}
.search{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--border)}
.search input{border:none;outline:none;background:transparent;color:var(--text)}
.card{background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1rem;display:flex;flex-direction:column;gap:.75rem;backdrop-filter:blur(14px) saturate(120%)}
.card-head{display:flex;justify-content:space-between;align-items:center}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}
.footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;color:#a3a3c7}
.kpi-number{font-size:2.3rem;font-weight:900}.sub-number{font-weight:800}
.bar-track{height:10px;background:rgba(255,255,255,.08);border:1px solid var(--border);border-radius:999px;overflow:hidden}
.bar-fill{height:100%;background:linear-gradient(90deg,#22d3ee,#7c3aed)}
.donut-wrap{position:relative;display:grid;place-items:center}.donut-center{position:absolute;text-align:center}.center-num{font-weight:900;font-size:1.4rem}
.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.35rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.field{display:flex;flex-direction:column;gap:.3rem} label{font-weight:700}
input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],input[type=time],select,textarea{width:100%;padding:.6rem .7rem;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:#e8e7ff}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid #7c3aed66;border-color:#a855f744}
.list{display:flex;flex-direction:column;gap:.5rem}
.item{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;border:1px solid var(--border);border-radius:12px;padding:.6rem;background:rgba(255,255,255,.04)}
.btn{border:1px solid #7c3aed44;background:rgba(255,255,255,.06);color:#e8e7ff;padding:.5rem .85rem;border-radius:10px;font-weight:700;cursor:pointer}
.btn.primary{background:linear-gradient(90deg,#7c3aed,#a855f7);color:#fff;border-color:#a855f7aa;box-shadow:0 8px 22px #7c3aed55}
.btn.small{padding:.35rem .6rem;font-size:.85rem}
.table{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.04)}
.thead,.tbody .row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr}.thead{padding:.5rem .75rem;background:rgba(124,58,237,.12);border-bottom:1px solid var(--border)}
@media(max-width:1024px){.app{grid-template-columns:86px 1fr}.brand-name,.nav-item span:nth-child(2),.profile>div{display:none}.grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-grid{grid-template-columns:1fr}}

/* --- Light theme overrides (toggled via body.theme-light) --- */
.theme-light body{background:#f3f4f6;color:#111827}
.theme-light .app{background:transparent}
.theme-light .sidebar{background:#ffffff;border-color:#e5e7eb;box-shadow:0 10px 24px rgba(15,23,42,0.08)}
.theme-light .card{background:#ffffff;border-color:#e5e7eb;color:#111827;box-shadow:0 14px 30px rgba(15,23,42,0.06)}
.theme-light .topbar .muted,.theme-light .muted{color:#6b7280}
.theme-light .nav-item{color:#374151;border-color:transparent}
.theme-light .nav-item:hover{background:#f3f4f6;border-color:#e5e7eb}
.theme-light .nav-item.active{background:#111827;color:#f9fafb;border-color:#111827;box-shadow:none}
.theme-light .search{background:#f3f4f6;border-color:#e5e7eb;color:#111827}
.theme-light input,.theme-light select,.theme-light textarea{background:#f9fafb;border-color:#d1d5db;color:#111827}
.theme-light input:focus,.theme-light select:focus,.theme-light textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 1px rgba(79,70,229,0.25)}
.theme-light .footer{color:#6b7280}
.theme-light .pill{border-color:#e5e7eb;background:#fff;color:#374151}
.theme-light .pill.primary{background:linear-gradient(90deg,#6366f1,#8b5cf6);color:#fff}


/* --- Total Client v2 rows --- */
.row{display:grid;gap:16px}
.r1{grid-template-columns:1fr auto;align-items:center}
.r2{grid-template-columns:repeat(3,1fr);align-items:end}
.r3{grid-template-columns:repeat(3,1fr);align-items:center}
.total .kpi-number{line-height:1}
.delta{color:#9BEBA0;font-weight:700}
.gender{display:flex;gap:18px;align-items:center}
.glass-pill{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 14px;backdrop-filter:blur(10px)}
.g-item{display:flex;flex-direction:column;gap:2px}
.g-num{font-weight:800}
.divider{width:1px;height:26px;background:rgba(255,255,255,.12)}
.ratio{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center}
.ratio-label{font-weight:800}



/* --- Client Progress chips --- */
.tabs{display:flex;gap:8px}
.tab{border:1px solid rgba(255,255,255,.12);background:transparent;color:#e8e7ff;padding:4px 8px;border-radius:999px;cursor:pointer}
.tab.active{background:rgba(124,58,237,.18);border-color:#7c3aed66;box-shadow:inset 0 0 0 1px #7c3aed33}
.chip{padding:3px 8px;border-radius:999px;font-weight:700;border:1px solid rgba(255,255,255,.12);font-size:.8rem}
.chip-green{background:rgba(34,197,94,.15);border-color:#22c55e55;color:#b7f6c7}
.chip-amber{background:rgba(245,158,11,.15);border-color:#f59e0b55;color:#ffe0a6}
.chip-purple{background:rgba(124,58,237,.15);border-color:#7c3aed55;color:#e1d0ff}
.cp-list{display:flex;flex-direction:column;gap:10px}
.cp-item{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.04)}
.cp-name{font-weight:700}

/* --- Appointment schedule --- */
.appt-card{display:flex;flex-direction:column;gap:12px}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.day{display:flex;flex-direction:column;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 6px;background:rgba(255,255,255,.03)}
.day .dow{color:#a2a2c9;font-size:.8rem}
.day .date{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.day.active .date{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border-color:#a855f7aa;box-shadow:0 6px 18px #7c3aed55}
.appt-tools{display:flex;justify-content:space-between;align-items:center;gap:10px}
.appt-row{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.04)}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#22d3ee)}
.row-meta{color:#a2a2c9;font-size:.85rem}
.status{padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1)}
.status.ok{background:rgba(34,197,94,.15);border-color:#22c55e55;color:#b7f6c7}
.status.cancel{background:rgba(239,68,68,.15);border-color:#ef444455;color:#ffc1c1}


/* --- Right column explicit placement --- */
.right-col{ grid-column: 3; }
@media (max-width: 1024px){ .right-col{ grid-column: auto; } }

/* --- Client Progress details --- */
.cp-list{display:flex;flex-direction:column;gap:10px}
.cp-item{border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.04);padding:10px}
.cp-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.cp-toggle{all:unset;cursor:pointer;color:#a2a2c9;padding:4px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08)}
.cp-toggle:hover{background:rgba(255,255,255,.05)}
.cp-details{display:none;margin-top:10px;display:grid;gap:8px}
.cp-collapsible[data-open="true"] .cp-details{display:grid}
.cp-badge{padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(124,58,237,.15);color:#e1d0ff;font-weight:700;font-size:.8rem}
.cp-detail-line{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center}
.cp-note{color:#cfd0ff;font-size:.9rem}

/* AI Suggestions card (compact) */
.ai-card .ai-list{display:flex;flex-direction:column;gap:10px}
.ai-card .ai-item{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:flex-start;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:12px;padding:10px}
.ai-card .ai-dot{width:10px;height:10px;border-radius:50%}
.ai-card .ai-text{color:#e8e7ff}


/* --- CP + AI integrated block --- */
.cp-ai-divider{height:1px;background:rgba(255,255,255,.08);margin:12px 0;border-radius:1px}
.cp-ai{display:flex;flex-direction:column;gap:10px}
.cp-ai-head{font-weight:800;color:#e8e7ff}
.cp-ai-list{display:flex;flex-direction:column;gap:10px}
.cp-ai-item{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:12px;padding:10px}
.cp-ai-item .dot{width:10px;height:10px;border-radius:50%}

/* Compact cards (Total Client & Appointment) */
.span-2{grid-column: span 2}
.compact-card{padding:14px}

/* Total Client layout */
.total-client-card{position:relative;overflow:hidden}
.total-client-card .tc-pie{display:grid;grid-template-columns:minmax(260px,0.95fr) 1fr;gap:18px 22px;align-items:center;margin-top:6px}
.total-client-card #tcPie{display:none}
.tc-barwrap{display:grid;gap:8px;align-content:center}
.tc-bar-track{height:20px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);display:flex}
.tc-bar-fill{height:100%}
.tc-bar-fill.b{background:#22d3ee}
.tc-bar-fill.i{background:#7c3aed}
.tc-bar-fill.a{background:#f5c542}
.tc-bar-meta{font-weight:700;color:#e8e7ff}
.total-client-card .tc-legend{display:grid;grid-template-columns:1fr;row-gap:12px;align-self:center;max-width:560px;width:100%}
.total-client-card .leg{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.total-client-card .leg-text{display:flex;align-items:center;gap:8px;font-weight:700}
.total-client-card .leg-count{color:#e8e7ff;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:3px 8px;border-radius:8px}
.total-client-card .leg .val{justify-self:end;color:#e8e7ff;font-weight:800;font-variant-numeric:tabular-nums}
.total-client-card .dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.total-client-card .dot.b{background:#22d3ee}
.total-client-card .dot.i{background:#7c3aed}
.total-client-card .dot.a{background:#f5c542}
.total-client-card .r3,.total-client-card .r2,.total-client-card .bar-track,.total-client-card .progress{display:none!important}
.total-client-card .r1{grid-template-columns:1fr;gap:10px;align-items:flex-start}
@media (min-width:1200px){.total-client-card .r1{grid-template-columns:1.05fr auto;align-items:center}}
.total-client-card .gender{justify-self:start;width:100%;max-width:420px}
@media (min-width:1200px){.total-client-card .gender{justify-self:end}}
@media (max-width:1100px){
  .total-client-card .tc-pie{grid-template-columns:1fr;justify-items:center;text-align:center}
  .total-client-card .tc-legend{align-items:center;justify-items:center}
  .total-client-card .leg{grid-template-columns:auto auto;justify-content:center}
  .tc-barwrap{width:100%}
}
.tc-meta{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.meta-item{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:12px;padding:10px;display:grid;gap:4px}
.meta-num{font-weight:800;font-size:1.2rem}
.meta-sub{font-size:.9rem;color:#cfd0ff}
.meta-sub.positive{color:#9BEBA0}
.meta-sub.warning{color:#f59e0b}

/* Appointment polish */
.appointment-card{padding:16px}
.appointment-card .calendar,.appointment-card .days,.appointment-card .week{margin-bottom:8px}
.appt-note{color:#cfd0ff;font-size:.85rem;margin-top:6px;line-height:1.4}
.appt-pager{display:flex;gap:8px;justify-content:flex-start;align-items:center;margin-top:4px}
.pager-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer}
.pager-dot.active{background:linear-gradient(135deg,#7c3aed,#22d3ee);border-color:transparent;box-shadow:0 0 0 4px rgba(124,58,237,.18)}
.appt-hint{margin-top:4px}

/* --- Dashboard tightening --- */
.dashboard-grid{grid-template-columns:repeat(3,minmax(280px,1fr));gap:16px}
.total-client-card,.appointment-card{width:100%;align-self:start}
@media (max-width:1280px){.dashboard-grid{grid-template-columns:1fr 1fr}}
@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}

/* --- Incentives page --- */
.incentives-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.incentives-grid .card{padding:14px}
.inc-span-12{grid-column:span 12}
.inc-span-8{grid-column:span 8}
.inc-span-6{grid-column:span 6}
.inc-span-4{grid-column:span 4}
.inc-span-3{grid-column:span 3}
.inc-span-9{grid-column:span 9}
@media(max-width:1200px){
  .incentives-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .inc-span-8{grid-column:span 6}
  .inc-span-6{grid-column:span 6}
  .inc-span-4{grid-column:span 6}
}
@media(max-width:900px){
  .incentives-grid{grid-template-columns:1fr}
  .inc-span-12,.inc-span-8,.inc-span-6,.inc-span-4{grid-column:span 1}
}
.chart-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.chart-caption{color:#a3a3c7;font-size:.9rem}
.chart-legend{display:flex;align-items:center;gap:8px;color:#e8e7ff;font-weight:600}
.pill{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);padding:4px 10px;border-radius:999px;font-weight:700}
.pill.primary{background:linear-gradient(90deg,#7c3aed,#a855f7);color:#fff;border-color:transparent;box-shadow:0 8px 18px #7c3aed55}
.list-rows{gap:8px}
.row-line{display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.03)}
.tier-list{display:flex;flex-direction:column;gap:10px}
.tier-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03)}
.tier-row.tier-active{border-color:#7c3aed66;box-shadow:0 0 0 1px #7c3aed33 inset}
.tier-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.tier-bar>div{height:100%;background:linear-gradient(90deg,#22d3ee,#7c3aed)}
.checklist{display:grid;gap:8px}
.checklist input[type=checkbox]{margin-right:8px}

/* --- Sessions page --- */
.sessions-grid{grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}
.session-form{grid-column:1}
.session-side{grid-column:2}
.session-wide{grid-column:1 / -1}
.session-preview{grid-column:2; display:flex; flex-direction:column; gap:10px}
@media(max-width:1100px){
  .sessions-grid{grid-template-columns:1fr;grid-auto-flow:row}
  .session-form,.session-side,.session-wide,.session-preview{grid-column:1}
}
.inline-actions{display:flex;gap:8px;align-items:center;margin-top:6px}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.22)}
.thumb-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.thumb-grid img{width:88px;height:60px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.file-upload{display:flex;align-items:center;gap:10px}
.file-upload input[type=file]{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.file-upload .file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.agenda-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.agenda-list .agenda-row{display:grid;grid-template-columns:120px 80px 1fr 1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.03)}
.agenda-list .muted{color:#a3a3c7}
.agenda-list .chip{padding:3px 8px;border-radius:999px;font-weight:700;border:1px solid rgba(255,255,255,.12);font-size:.8rem}
.agenda-remove{background:transparent;border:1px solid rgba(255,255,255,.14);color:#e8e7ff;padding:4px 8px;border-radius:8px;cursor:pointer}
@media(max-width:900px){
  .agenda-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .agenda-list .agenda-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
}

/* Session preview */
.session-preview .preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.preview-tag{font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.preview-badges{display:flex;gap:6px;align-items:center}
.preview-title{font-weight:800;font-size:1.15rem}
.preview-sub{color:#a3a3c7;font-size:.9rem;margin-bottom:4px}
.preview-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}
.preview-divider{height:1px;background:rgba(255,255,255,.08);margin:8px 0;border-radius:1px}
.preview-text{color:#e8e7ff;font-size:.95rem}
.preview-list{margin:4px 0 0;padding-left:16px;color:#e8e7ff}
.preview-list li{font-size:.9rem;margin-bottom:4px}

/* ---------- Trust & Safety / Verification blocks ---------- */
.notice{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.04);
  border-radius:14px;
  padding:14px;
}

/* If a notice appears inside a grid, span full width */
.form-grid > .notice{grid-column:1 / -1;}

.notice.kyc-notice{
  border-color:rgba(255,138,61,0.35);
  background:linear-gradient(145deg, rgba(255,138,61,0.06), rgba(255,255,255,0.03));

  box-shadow:0 12px 40px rgba(255,138,61,0.10);
}


.trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
@media (max-width:760px){
  .trust-grid{grid-template-columns:1fr;}
}

/* Make all form grids stack on small screens */
@media (max-width:760px){
  .form-grid{grid-template-columns:1fr;}
}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
@media (max-width:760px){
  .choice-grid{grid-template-columns:1fr;}
}

.choice-card{
  position:relative;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.03);
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
  min-height:120px;
}
.choice-card:hover{
  transform:translateY(-1px);
  border-color:rgba(124,58,237,0.45);
  background:rgba(255,255,255,0.04);
}
.choice-card input{
  margin-top:4px;
  accent-color:#ff8a3d;
  flex:none;
}
.choice-card:has(input:checked){
  border-color:rgba(255,138,61,0.70);
  box-shadow:0 0 0 2px rgba(255,138,61,0.12);
  background:rgba(255,138,61,0.06);
}
.choice-title{
  font-weight:800;
  font-size:0.92rem;
  color:var(--text);
  margin-bottom:4px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.choice-desc{
  font-size:0.80rem;
  color:var(--muted);
  line-height:1.45;
}
.choice-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  font-size:0.72rem;
  color:rgba(255,255,255,0.9);
  background:rgba(255,138,61,0.14);
}

.pill-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.notice .muted{color:var(--muted)}
.pill{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  color:rgba(255,255,255,0.86);
}

/* KYC pill states */
.pill[data-status="verified"]{border-color:rgba(34,197,94,0.55); background:rgba(34,197,94,0.10)}
.pill[data-status="pending"]{border-color:rgba(59,130,246,0.55); background:rgba(59,130,246,0.10)}
.pill[data-status="requires_input"]{border-color:rgba(250,204,21,0.55); background:rgba(250,204,21,0.10)}
.pill[data-status="canceled"], .pill[data-status="failed"]{border-color:rgba(244,63,94,0.55); background:rgba(244,63,94,0.10)}

/* Disabled primary action */
.btn.primary.disabled, .btn.primary:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:saturate(0.9);
}



/* KYC highlight banner */
.kyc-card{
  border:1px solid rgba(255,138,61,0.35) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,0.55), 0 0 0 1px rgba(44,171,99,0.12) inset;
}
.kyc-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(900px 200px at 0% 50%, rgba(255,138,61,0.18), transparent 60%),
    radial-gradient(900px 200px at 100% 50%, rgba(44,171,99,0.18), transparent 60%),
    rgba(8,10,18,0.55);
}
.kyc-banner-compact{
  margin-top:10px;
}
.kyc-banner-left{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}
.kyc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:22px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0b0b14;
  background: linear-gradient(135deg, var(--bb-orange, #ff8a3d), var(--bb-green, #2cab63));
  box-shadow: 0 12px 24px rgba(0,0,0,0.35);
}
.kyc-banner-title{
  font-weight:750;
  font-size:13px;
  color: rgba(255,255,255,0.92);
  margin-bottom:2px;
}
.kyc-banner-sub{
  font-size:12px;
  color: rgba(148,163,184,0.9);
  line-height:1.35;
}
.kyc-banner-note{
  margin-left:auto;
  white-space:nowrap;
}
@media (max-width:520px){
  .kyc-banner{
    flex-direction:column;
    align-items:flex-start;
  }
  .kyc-banner-note{
    margin-left:0;
    white-space:normal;
  }
}

/* =========================================================
   Visual polish v2 (glass + typography + interactions)
   Safe override-only: NO JS / logic changes
   ========================================================= */

:root{
  --glass-strong: rgba(255,255,255,0.08);
  --glass-soft: rgba(255,255,255,0.045);
  --border-strong: rgba(255,255,255,0.22);
  --shadow-soft: 0 1px 4px rgba(0,0,0,.28), 0 18px 46px rgba(0,0,0,.52);
  --shadow-hover: 0 2px 8px rgba(0,0,0,.36), 0 26px 66px rgba(0,0,0,.58);
  --blur: 18px;
}

/* Typography helpers */
.muted{color:var(--muted)}
.tiny{font-size:.78rem}
.small{font-size:.9rem}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.nowrap{white-space:nowrap}

/* Better base rendering */
body{
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font:inherit}
::selection{background:rgba(124,58,237,.35);color:var(--text)}
:focus-visible{
  outline:2px solid rgba(168,85,247,.55);
  outline-offset:2px;
  border-radius:10px;
}

/* Fix body background when theme toggles class on BODY */
body.theme-light{background:#f3f4f6;color:#111827}

/* Subtle scrollbars (WebKit + Firefox) */
*{scrollbar-color: rgba(255,255,255,.22) rgba(255,255,255,.06); scrollbar-width: thin;}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
*::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.22);
  border-radius:999px;
  border:2px solid rgba(0,0,0,0);
}
*::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}

/* Glass upgrade for primary surfaces */
.sidebar,
.card,
.search{
  backdrop-filter: blur(var(--blur)) saturate(135%);
  -webkit-backdrop-filter: blur(var(--blur)) saturate(135%);
}

/* Card: add highlight overlay + nicer hover */
.card{
  position:relative;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background:
    radial-gradient(800px 420px at 18% 0%, rgba(168,85,247,.18), transparent 60%),
    radial-gradient(700px 380px at 100% 10%, rgba(34,211,238,.14), transparent 55%);
  opacity:.85;
  pointer-events:none;
  z-index:0;
}
.card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 38%);
  opacity:.9;
  pointer-events:none;
  z-index:0;
}
.card > *{position:relative; z-index:1}
.card:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-hover);
  border-color: rgba(255,255,255,.20);
}

/* Sidebar: slightly stronger glass */
.sidebar{
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
  box-shadow: var(--shadow-soft);
}

/* Nav items: smoother interactions */
.nav-item{
  position:relative;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.nav-item:active{transform: translateY(1px)}
.nav-item.active::before{
  content:"";
  position:absolute;
  left:8px;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:999px;
  background: linear-gradient(180deg, var(--accent3), var(--accent2));
  opacity:.9;
}

/* Search focus */
.search{transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;}
.search:focus-within{
  border-color: rgba(168,85,247,.45);
  box-shadow: 0 0 0 1px rgba(168,85,247,.25) inset, 0 14px 34px rgba(124,58,237,.22);
  background: rgba(255,255,255,.075);
}

/* Buttons: add outline variant + better hover/disabled */
.btn{
  transition: transform .12s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, filter .16s ease;
}
.btn:hover{background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.26);}
.btn:active{transform: translateY(1px); box-shadow:none;}
.btn:disabled{opacity:.55; cursor:not-allowed; filter:saturate(.7);}
.btn.primary:hover{filter:brightness(1.06); box-shadow: 0 12px 28px rgba(124,58,237,.55);}

.btn.outline{
  background: transparent;
  border-color: rgba(255,255,255,.26);
}
.btn.outline:hover{background: rgba(255,255,255,.06);}

.btn.danger{
  background: rgba(239,68,68,.12);
  border-color: rgba(239,68,68,.35);
  color:#ffd6d6;
}
.btn.danger:hover{background: rgba(239,68,68,.18);}

/* Inputs: cleaner focus + placeholder */
input[type=text],input[type=number],input[type=email],input[type=tel],input[type=date],input[type=time],select,textarea{
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
input::placeholder, textarea::placeholder{color: rgba(163,163,199,.78);}
input:focus,select:focus,textarea:focus{
  box-shadow: 0 0 0 1px rgba(168,85,247,.28), 0 14px 32px rgba(124,58,237,.18);
}

/* Small rows/lists: add light glass blur */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .item,
  .row-line,
  .tier-row,
  .appt-row,
  .cp-item,
  .meta-item,
  .notice,
  .day,
  .lesson-edit,
  .cert-item,
  .notif-item{
    backdrop-filter: blur(12px) saturate(125%);
    -webkit-backdrop-filter: blur(12px) saturate(125%);
  }
}

/* Table row hover */
.table .tbody .row:hover,
.table .tbody .row:focus-within{
  background: rgba(255,255,255,.06);
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  *{transition:none!important; scroll-behavior:auto!important;}
  .card:hover{transform:none}
  .nav-item:active{transform:none}
  .btn:active{transform:none}
}
