/* ═══ FINANCIAL DASHBOARD CARDS (Sprint 1 Tur B) ═══ */
.finance-summary-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-bottom:0;
}
@media (max-width:880px){
  .finance-summary-row{grid-template-columns:1fr 1fr;gap:10px}
}
@media (max-width:520px){
  .finance-summary-row{grid-template-columns:1fr;gap:10px}
}
.finance-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px 20px;
  position:relative;overflow:hidden;
  transition:transform .15s,border-color .2s,box-shadow .2s;
}
.finance-card:hover{transform:translateY(-2px);border-color:rgba(200,245,49,.18);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.finance-card-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px;
}
.finance-label{
  font-size:.72rem;color:var(--text-dim);
  font-weight:700;text-transform:uppercase;letter-spacing:.6px;
}
.finance-icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
}
.finance-value{
  font-size:1.6rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.5px;line-height:1.1;
}
.finance-sub{
  font-size:.72rem;color:var(--text-dim);
  font-weight:600;margin-top:4px;letter-spacing:.2px;
}
.finance-progress{
  width:100%;height:6px;
  background:rgba(255,255,255,.05);
  border-radius:999px;overflow:hidden;
  margin-top:8px;
}
.finance-progress-bar{
  height:100%;border-radius:999px;
  transition:width .6s cubic-bezier(.25,.46,.45,.94);
}
.finance-edit-btn{
  width:32px;height:32px;border-radius:8px;
  background:rgba(200,245,49,.08);
  color:var(--accent);
  border:1px solid rgba(200,245,49,.18);
  font-family:inherit;font-size:.95rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,transform .12s;
}
.finance-edit-btn:hover{background:rgba(200,245,49,.16);transform:translateY(-1px)}
.finance-edit-btn:active{transform:scale(.94)}

/* ═══ FULL-SCREEN CELEBRATION OVERLAY (target reached) ═══ */
.celeb-overlay{
  position:fixed;inset:0;
  z-index:10000;
  /* Fallback: gradient background works as a "movie" when no video URL is wired */
  background:#0a0a0a;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  opacity:0;
  transition:opacity .35s ease;
  overflow:hidden;
}
/* Subtle animated gradient for the no-video fallback so the screen never feels flat */
.celeb-overlay::before{
  content:'';
  position:absolute;inset:-50%;
  background:transparent;
  filter:blur(40px);
  animation:celeb-bg 8s ease-in-out infinite alternate;
  pointer-events:none;
  z-index:0;
}
@keyframes celeb-bg{
  from{transform:translate(-3%,-2%) scale(1)}
  to  {transform:translate( 3%, 2%) scale(1.08)}
}
.celeb-overlay.celeb-open{opacity:1}
.celeb-overlay.celeb-closing{opacity:0}
.celeb-video-wrap{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  transition:backdrop-filter .9s ease, background .9s ease;
}
.celeb-video{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
/* After 1.6s we add `celeb-blurred` to the overlay → wrap blurs/darkens */
.celeb-overlay.celeb-blurred .celeb-video-wrap{
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  background:rgba(0,0,0,.6);
}
.celeb-text{
  position:relative;z-index:2;
  text-align:center;
  padding:0 24px;
  opacity:0;
  transform:translateY(20px) scale(.96);
  transition:opacity .8s ease .2s, transform .8s cubic-bezier(.2,.8,.3,1) .2s;
  pointer-events:none;
  max-width:920px;
}
.celeb-overlay.celeb-blurred .celeb-text{
  opacity:1;
  transform:translateY(0) scale(1);
}
.celeb-title{
  font-size:clamp(2rem,6vw,4.4rem);
  font-weight:900;
  color:#fff;
  letter-spacing:-1.5px;
  line-height:1.1;
  margin:0 0 18px;
  text-shadow:
    0 0 24px rgba(200,245,49,.55),
    0 0 60px rgba(200,245,49,.35),
    0 4px 30px rgba(0,0,0,.5);
  animation:celeb-glow 2.4s ease-in-out infinite alternate;
}
@keyframes celeb-glow{
  from{text-shadow:0 0 24px rgba(200,245,49,.5),0 0 50px rgba(200,245,49,.3),0 4px 30px rgba(0,0,0,.5)}
  to  {text-shadow:0 0 32px rgba(255,255,255,.6),0 0 70px rgba(200,245,49,.55),0 4px 30px rgba(0,0,0,.5)}
}
.celeb-subtitle{
  font-size:clamp(1rem,2.4vw,1.5rem);
  font-weight:600;
  color:rgba(220,220,220,.85);
  letter-spacing:.4px;
  margin:0 0 14px;
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}
.celeb-meta{
  font-size:clamp(.85rem,1.6vw,1.05rem);
  font-weight:700;
  color:#C8F531;
  letter-spacing:.3px;
  margin-bottom:24px;
  text-shadow:0 0 14px rgba(200,245,49,.5),0 2px 10px rgba(0,0,0,.6);
}
.celeb-hint{
  font-size:.78rem;color:rgba(255,255,255,.45);
  font-weight:600;letter-spacing:.5px;text-transform:uppercase;
  margin-top:8px;
}
@media (max-width:520px){
  .celeb-title{font-size:2.1rem;letter-spacing:-.8px}
  .celeb-subtitle{font-size:1rem}
  .celeb-meta{font-size:.85rem}
}

/* Achievement history card (Başarı Geçmişi) */
.achievements-card{
  padding:0;overflow:hidden;
  background:linear-gradient(135deg,rgba(200,245,49,.04),rgba(16,185,129,.02));
  border:1px solid rgba(200,245,49,.18);
}
.achievements-list{
  display:flex;flex-direction:column;gap:0;
}
.achievement-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 24px;
  border-top:1px solid rgba(200,245,49,.08);
  transition:background .15s;
}
.achievement-row:first-child{border-top:none}
.achievement-row:hover{background:rgba(200,245,49,.04)}
.achievement-trophy{
  font-size:1.2rem;flex-shrink:0;
  filter:drop-shadow(0 0 6px rgba(255,215,61,.5));
}
.achievement-text{
  flex:1;min-width:0;font-size:.86rem;
  color:var(--text-secondary);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.achievement-text strong{color:var(--text-primary);font-weight:800}
.achievement-amt{
  font-size:.78rem;font-weight:800;color:var(--accent);
  letter-spacing:-0.2px;flex-shrink:0;
  background:rgba(200,245,49,.08);
  padding:3px 10px;border-radius:999px;
  border:1px solid rgba(200,245,49,.18);
}
@media (max-width:520px){
  .achievement-row{padding:10px 14px;gap:8px}
  .achievement-text{font-size:.78rem;white-space:normal}
  .achievement-amt{font-size:.7rem;padding:2px 8px}
}

/* ═══ MONTHLY REVENUE BAR CHART ═══ */
.rev-chart{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:6px;padding:18px 20px 14px;
  min-height:200px;
}
.rev-col{
  flex:1;display:flex;flex-direction:column;align-items:center;
  gap:8px;min-width:0;
}
.rev-bar-wrap{
  width:100%;max-width:48px;
  height:130px;
  background:rgba(255,255,255,.03);
  border-radius:8px 8px 0 0;
  display:flex;align-items:flex-end;justify-content:center;
  position:relative;overflow:hidden;
}
.rev-bar,.rev-bar-cur,.rev-bar-yellow,.rev-bar-lime,.rev-bar-green,.rev-bar-neon{
  width:100%;
  border-radius:8px 8px 0 0;
  transition:height .6s cubic-bezier(.25,.46,.45,.94),background .4s,box-shadow .4s;
  min-height:4px;
}
.rev-bar{
  background:linear-gradient(180deg,rgba(96,165,250,.85),rgba(96,165,250,.5));
}
.rev-bar-cur{
  background:linear-gradient(180deg,var(--accent),rgba(200,245,49,.55));
  box-shadow:0 0 16px rgba(200,245,49,.25) inset;
}
/* Target-based current-month bars: yellow → lime → green → neon glow */
.rev-bar-yellow{
  background:linear-gradient(180deg,#FFD93D,#F2A900);
  box-shadow:0 0 8px rgba(255,217,61,.2) inset;
}
.rev-bar-lime{
  background:linear-gradient(180deg,#D2F758,#9FCF00);
  box-shadow:0 0 10px rgba(212,255,61,.25) inset;
}
.rev-bar-green{
  background:linear-gradient(180deg,#10B981,#10B981);
  box-shadow:0 0 14px rgba(16,185,129,.3) inset;
}
.rev-bar-neon{
  background:linear-gradient(180deg,#C8F531,#88E000);
  box-shadow:
    0 0 18px rgba(200,245,49,.45) inset,
    0 0 24px rgba(200,245,49,.55),
    0 0 4px rgba(255,255,255,.4) inset;
  animation:neon-pulse 1.6s ease-in-out infinite alternate;
}
@keyframes neon-pulse{
  from{box-shadow:0 0 18px rgba(200,245,49,.45) inset,0 0 22px rgba(200,245,49,.4),0 0 4px rgba(255,255,255,.4) inset}
  to  {box-shadow:0 0 22px rgba(200,245,49,.65) inset,0 0 32px rgba(200,245,49,.7),0 0 6px rgba(255,255,255,.55) inset}
}
.rev-amt{
  font-size:.7rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;white-space:nowrap;
}
.rev-lbl{
  font-size:.7rem;color:var(--text-dim);
  font-weight:700;letter-spacing:.4px;text-transform:uppercase;
}
@media (max-width:520px){
  .rev-chart{padding:14px 12px 10px;gap:4px}
  .rev-bar-wrap{height:100px}
  .rev-amt{font-size:.62rem}
  .rev-lbl{font-size:.62rem}
}

/* Attention card tabs */
.attn-tabs{
  display:flex;gap:6px;padding:0 16px 10px;
  border-bottom:1px solid var(--border);
  margin-bottom:6px;
}
.attn-tab{
  flex:1;background:transparent;color:var(--text-dim);
  border:1px solid transparent;
  padding:8px 12px;border-radius:10px;
  font-family:inherit;font-size:.78rem;font-weight:700;
  cursor:pointer;transition:all .15s;
  display:flex;align-items:center;justify-content:center;gap:6px;
  letter-spacing:.2px;
}
.attn-tab:hover{color:var(--text-secondary);background:rgba(255,255,255,.03)}
.attn-tab.active{
  color:var(--text-primary);
  background:rgba(200,245,49,.06);
  border-color:rgba(200,245,49,.25);
}
.attn-tab-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:rgba(255,255,255,.06);color:var(--text-dim);
  font-size:.66rem;font-weight:800;
}
.attn-tab.active .attn-tab-count{background:rgba(200,245,49,.15);color:var(--accent)}
@media (max-width:520px){
  .attn-tab{font-size:.72rem;padding:7px 8px}
}

/* ═══ DASHBOARD COMPLIANCE RADAR ═══ */
.radar-overall{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;
  background:linear-gradient(135deg,rgba(200,245,49,.06),rgba(16,185,129,.03));
  border-bottom:1px solid var(--border);
}
.radar-overall-pct{
  font-size:2rem;font-weight:900;letter-spacing:-1px;line-height:1;flex-shrink:0;
}
.radar-overall-pct span{font-size:.95rem;color:var(--text-dim);font-weight:700;letter-spacing:0;margin-left:1px}
.radar-overall-text{flex:1;min-width:0}
.radar-overall-title{font-size:.88rem;font-weight:800;color:var(--text-primary);letter-spacing:-0.2px}
.radar-overall-sub{font-size:.74rem;color:var(--text-dim);font-weight:600;margin-top:2px}

.radar-section-title{
  font-size:.7rem;color:var(--text-dim);
  font-weight:800;text-transform:uppercase;letter-spacing:.6px;
  padding:12px 18px 6px;
}
.radar-list{display:flex;flex-direction:column;padding:0 6px 6px}
.radar-row{
  display:grid;
  grid-template-columns:auto 1fr 100px auto;
  align-items:center;gap:12px;
  padding:10px 14px;border-radius:10px;
  background:transparent;border:none;color:inherit;font-family:inherit;
  cursor:pointer;text-align:left;width:100%;
  transition:background .12s;
}
.radar-row:hover{background:rgba(255,255,255,.03)}
.radar-medal{font-size:1rem;line-height:1;width:20px;text-align:center}
.radar-name{
  font-size:.86rem;font-weight:700;color:var(--text-primary);
  letter-spacing:-0.1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.radar-bar{
  height:8px;border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;display:block;
}
.radar-bar-fill{display:block;height:100%;border-radius:999px;transition:width .5s ease}
.radar-pct{font-size:.84rem;font-weight:800;text-align:right;letter-spacing:.2px;min-width:42px}

@media (max-width:560px){
  .radar-row{grid-template-columns:auto 1fr 60px auto;gap:8px;padding:9px 10px}
  .radar-name{font-size:.8rem}
}

/* Compact compliance pill in client list (Program cell) */
.comp-mini-pill{
  display:inline-flex;align-items:center;gap:4px;
  margin-top:4px;
  padding:2px 8px;border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid color-mix(in srgb,var(--cmp,var(--accent)) 30%,transparent);
  color:var(--cmp,var(--text-secondary));
  font-size:.68rem;font-weight:700;letter-spacing:.3px;
  white-space:nowrap;
}
.nutri-plan-name{
  flex:1;min-width:200px;
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:10px;padding:10px 14px;
  color:var(--text-primary);font-family:inherit;font-size:.95rem;font-weight:700;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.nutri-plan-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,245,49,.12)}
.nutri-goal-label{
  display:flex;align-items:center;gap:8px;flex:1;min-width:240px;
  font-size:.78rem;font-weight:700;color:var(--text-secondary);
}
.nutri-goal-input{
  width:88px;background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:8px;padding:6px 10px;color:var(--text-primary);font-family:inherit;
  font-size:.85rem;font-weight:700;outline:none;text-align:right;
}
.nutri-goal-input:focus{border-color:var(--accent)}
.nutri-goal-suffix{font-size:.72rem;color:var(--text-dim);font-weight:600}
.nutri-stat-pill{
  background:rgba(200,245,49,.08);color:var(--accent);
  border:1px solid rgba(200,245,49,.18);
  padding:5px 12px;border-radius:999px;
  font-size:.74rem;font-weight:700;letter-spacing:.3px;flex-shrink:0;
}
.meal-card{
  background:rgba(255,255,255,.02);
  border:1px solid var(--border);
  border-left:3px solid var(--meal-accent,var(--accent));
  border-radius:14px;
  margin-bottom:12px;overflow:hidden;
}
.meal-card-head{
  padding:12px 16px;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
  display:flex;align-items:center;justify-content:space-between;
}
.meal-card-title{
  display:flex;align-items:center;gap:10px;
  font-size:.92rem;font-weight:800;color:var(--text-primary);letter-spacing:.2px;
}
.meal-card-icon{font-size:1.1rem;line-height:1}
.meal-card-count{
  background:rgba(255,255,255,.06);color:var(--text-dim);
  padding:2px 9px;border-radius:999px;
  font-size:.7rem;font-weight:700;
}
.meal-items{padding:6px 0}
.meal-empty{
  padding:14px 16px;text-align:center;
  color:var(--text-dim);font-size:.78rem;font-style:italic;
}
.meal-row-head{
  display:grid;grid-template-columns:1.8fr 0.9fr 0.7fr 0.85fr 0.7fr 0.7fr 0.7fr 32px;
  gap:10px;padding:8px 18px;
  font-size:.62rem;color:var(--text-dim);
  font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  border-bottom:1px solid var(--border);
}
.meal-item-row{
  display:grid;grid-template-columns:1.8fr 0.9fr 0.7fr 0.85fr 0.7fr 0.7fr 0.7fr 32px;
  align-items:center;gap:10px;
  padding:11px 18px;
  border-bottom:1px solid rgba(255,255,255,.04);
  transition:background .12s;
}
.meal-item-row:last-child{border-bottom:none}
.meal-item-row:hover{background:rgba(255,255,255,.02)}
.meal-item-name{
  font-size:.86rem;font-weight:700;color:var(--text-primary);
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}
.meal-item-auto{font-size:.72rem;flex-shrink:0;opacity:.85}
.meal-item-portion{
  font-size:.78rem;color:var(--text-secondary);
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.meal-item-kcal{
  font-size:.74rem;color:var(--accent);font-weight:700;
  text-align:right;letter-spacing:.2px;
}
.meal-item-macro{
  font-size:.74rem;color:var(--text-secondary);font-weight:600;
  text-align:right;
}
.meal-item-del{
  background:transparent;border:1px solid transparent;
  color:var(--text-dim);width:28px;height:28px;border-radius:7px;
  font-family:inherit;font-size:.85rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s,border-color .15s;
}
.meal-item-del:hover{background:rgba(255,80,80,.08);color:var(--red);border-color:rgba(255,80,80,.2)}

.meal-add-row{
  display:grid;grid-template-columns:1.8fr 0.9fr 0.7fr 0.85fr 0.7fr 0.7fr 0.7fr auto;
  gap:8px;padding:14px 18px 8px;
  background:rgba(255,255,255,.015);
  border-top:1px solid var(--border);
  align-items:stretch;
}
.meal-add-row input,.meal-add-row select{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:9px;padding:11px 12px;color:var(--text-primary);
  font-family:inherit;font-size:.86rem;outline:none;
  transition:border-color .2s,background .2s,color .2s;
  min-width:0;
}
.meal-add-row input:focus,.meal-add-row select:focus{border-color:var(--meal-accent,var(--accent))}

/* ═══════════════════════════════════════════════════════════════
   ISTATISTIKLER (Sprint 5 — Salon Stats Dashboard)
   ═══════════════════════════════════════════════════════════════ */
.ist-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;margin-bottom:20px;
}
/* ─── İSTATİSTİK GRAFİKLERİ ─── */
.ist-demo-banner{
  display:flex;align-items:center;gap:8px;
  background:rgba(200,245,49,0.05);
  border:1px solid rgba(200,245,49,0.2);
  border-radius:10px;
  padding:10px 14px;margin-bottom:16px;
  font-size:.8rem;font-weight:600;color:var(--text-secondary);
}
.ist-demo-banner svg{color:var(--accent);flex-shrink:0}
.ist-chart-wrap{padding:16px 18px 12px;width:100%;overflow-x:auto}
.ist-svg-chart{width:100%;min-width:420px;height:auto;display:block}
.ist-chart-total{font-size:.78rem;color:var(--text-dim);font-weight:600}
.ist-chart-total b{color:var(--accent);font-weight:800}
.ist-chart-legend-inline{display:flex;gap:14px;font-size:.74rem;font-weight:700;color:var(--text-secondary)}
.ist-chart-legend-inline span{display:inline-flex;align-items:center;gap:5px}
.ist-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
/* Dağılım grid */
.ist-dist-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;margin-bottom:20px;
}
.ist-dist-body{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px 18px;flex-wrap:wrap;
}
.ist-donut{width:120px;height:120px;flex-shrink:0}
.ist-legend{flex:1;min-width:120px;display:flex;flex-direction:column;gap:7px}
.ist-legend-row{display:flex;align-items:center;gap:8px;font-size:.8rem}
.ist-legend-label{color:var(--text-secondary);font-weight:600;flex:1}
.ist-legend-val{color:var(--text-primary);font-weight:700;font-size:.78rem}
.ist-empty-mini{padding:30px;text-align:center;color:var(--text-dim);font-size:.82rem;font-style:italic;width:100%}
.ist-kpi{
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-left:3px solid var(--ist-c,var(--accent));
  border-radius:14px;
  padding:18px 18px 16px;
  display:flex;flex-direction:column;gap:6px;
  transition:transform .18s,border-color .18s;
  position:relative;overflow:hidden;
}
.ist-kpi::before{
  content:'';
  position:absolute;inset:0;
  background:none;
  pointer-events:none;
}
.ist-kpi:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--ist-c,var(--accent)) 25%,var(--border));
}
.ist-kpi-head{
  display:flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:700;letter-spacing:.4px;
  color:var(--text-dim);text-transform:uppercase;
  position:relative;z-index:1;
}
.ist-kpi-icon{font-size:1rem;line-height:1}
.ist-kpi-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ist-kpi-value{
  font-size:1.9rem;font-weight:900;
  color:var(--ist-c,var(--text-primary));
  letter-spacing:-1px;line-height:1.1;
  position:relative;z-index:1;
}
.ist-kpi-sub{
  font-size:.76rem;color:var(--text-dim);font-weight:600;
  letter-spacing:.1px;
  position:relative;z-index:1;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ist-kpi-trend{
  margin-top:4px;
  font-size:.72rem;font-weight:700;letter-spacing:.3px;
  position:relative;z-index:1;
}
.ist-trend-up   {color:var(--green)}
.ist-trend-down {color:var(--red)}
.ist-trend-flat {color:var(--text-dim)}

/* Block 2 — expiring list */
.ist-card-warning{
  border-color:rgba(255,159,67,.22);
  background:linear-gradient(135deg,rgba(255,159,67,.04),transparent 60%);
}
.ist-list{padding:4px 8px 12px}
.ist-row{
  display:grid;
  grid-template-columns:42px 1fr auto auto;
  align-items:center;gap:14px;
  padding:11px 14px;border-radius:10px;
  transition:background .12s;
}
.ist-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}
.ist-row:hover{background:rgba(255,255,255,.025)}
.ist-row-avatar{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.85rem;color:#0E0E12;
  background:var(--accent);
  flex-shrink:0;letter-spacing:.5px;
}
.ist-row-avatar.is-owner{
  background:linear-gradient(135deg,var(--accent),#DDF98B);
  box-shadow:0 0 0 2px rgba(200,245,49,.2);
}
.ist-row-info{min-width:0;overflow:hidden}
.ist-row-name{
  font-size:.92rem;font-weight:700;color:var(--text-primary);
  letter-spacing:-0.2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ist-row-meta{
  font-size:.74rem;color:var(--text-dim);font-weight:600;
  margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ist-row-status{
  font-size:.72rem;font-weight:700;letter-spacing:.2px;
  padding:5px 11px;border-radius:999px;
  border:1px solid;
  white-space:nowrap;
  background:rgba(255,255,255,.02);
}
.ist-row-actions{display:flex;gap:6px;flex-shrink:0}
.ist-action-btn{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:8px;
  padding:7px 12px;
  font-family:inherit;font-size:.74rem;font-weight:700;
  color:var(--text-secondary);
  cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:4px;
  transition:all .15s;letter-spacing:.2px;
  white-space:nowrap;
}
.ist-action-btn:hover{
  background:rgba(255,255,255,.07);
  color:var(--text-primary);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-1px);
}
.ist-action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.ist-action-wa{
  background:rgba(37,211,102,.08);
  border-color:rgba(37,211,102,.25);
  color:#25D366;
}
.ist-action-wa:hover{
  background:rgba(37,211,102,.15);
  color:#25D366;
  border-color:rgba(37,211,102,.45);
}
.ist-action-renew{
  background:rgba(200,245,49,.06);
  border-color:rgba(200,245,49,.2);
  color:var(--accent);
}
.ist-action-renew:hover{
  background:rgba(200,245,49,.12);
  border-color:rgba(200,245,49,.4);
  color:var(--accent);
}

/* Block 3 — trainer load list */
.ist-trainer-list{padding:4px 8px 12px}
.ist-trainer-row{
  display:grid;
  grid-template-columns:1.3fr 1.5fr 56px;
  align-items:center;gap:14px;
  padding:13px 14px;border-radius:10px;
  transition:background .12s;
}
.ist-trainer-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}
.ist-trainer-row:hover{background:rgba(255,255,255,.02)}
.ist-trainer-info{display:flex;align-items:center;gap:12px;min-width:0}
.ist-trainer-bar{
  height:10px;border-radius:999px;
  background:rgba(255,255,255,.05);
  overflow:hidden;
}
.ist-trainer-bar-fill{height:100%;border-radius:999px;transition:width .55s cubic-bezier(.25,.46,.45,.94)}
.ist-trainer-pct{
  font-size:.86rem;font-weight:800;text-align:right;letter-spacing:.2px;
}
.ist-owner-pill{
  display:inline-block;
  font-size:.62rem;font-weight:800;letter-spacing:.4px;
  background:rgba(200,245,49,.12);color:var(--accent);
  padding:2px 7px;border-radius:999px;
  margin-left:6px;vertical-align:middle;
  border:1px solid rgba(200,245,49,.25);
}

/* Empty states (block 2 / 3) */
.ist-empty{
  padding:32px 20px;text-align:center;
}
.ist-empty-icon{font-size:2.2rem;margin-bottom:10px;opacity:.5}
.ist-empty-title{font-size:1rem;font-weight:800;color:var(--text-primary);margin-bottom:6px;letter-spacing:-0.2px}
.ist-empty-desc{font-size:.84rem;color:var(--text-dim);line-height:1.5;font-weight:500;max-width:480px;margin:0 auto}

/* Mobile — stack actions vertically */
@media (max-width:640px){
  .ist-row{grid-template-columns:42px 1fr;gap:10px;row-gap:8px}
  .ist-row-status{grid-column:2;margin-top:2px;justify-self:start}
  .ist-row-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
  .ist-trainer-row{grid-template-columns:1fr 50px;gap:10px;row-gap:8px}
  .ist-trainer-bar{grid-column:1/-1}
}

