/* ═══════════════════════════════════════════════════════════════
   KP BRAND LOADER — Sıkıcı spinner'lar yerine markalı pulse
   ═══════════════════════════════════════════════════════════════
   PM: yuvarlak spinner'ları KP monogram + pulse animasyonu ile
   değiştir. Marka kimliği yükleme anında da görünür. */
.kp-brand-loader{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:8px auto 18px;
  animation:kpPulse 1.6s ease-in-out infinite;
  filter:drop-shadow(0 0 12px rgba(200,245,49,0.35));
}
.kp-brand-loader.sm{
  width:24px;
  height:24px;
  margin:0 8px 0 0;
  vertical-align:middle;
}
.kp-brand-loader.lg{
  width:80px;
  height:80px;
}
.kp-brand-loader svg{
  width:100%;
  height:100%;
}
@keyframes kpPulse{
  0%, 100%{
    opacity:1;
    transform:scale(1);
    filter:drop-shadow(0 0 8px rgba(200,245,49,0.25));
  }
  50%{
    opacity:0.55;
    transform:scale(0.92);
    filter:drop-shadow(0 0 20px rgba(200,245,49,0.55));
  }
}
/* Loader inline metin yanında (örn. "İşleniyor..." yanında) */
.kp-loader-row{
  display:flex;
  align-items:center;
  gap:var(--space-sm);
  font-size:var(--font-sm);
  font-weight:var(--fw-semibold);
  color:var(--text-secondary);
}

/* Mock payment modal — eski yuvarlak spinner artık KP loader ile değiştirildi */
.mockpay-spinner{
  width:54px;height:54px;
  border:4px solid rgba(200,245,49,.15);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:mockpay-spin 1s linear infinite;
  margin:8px auto 18px;
}
@keyframes mockpay-spin{to{transform:rotate(360deg)}}
.mockpay-status{font-size:.92rem;font-weight:700;color:var(--text-secondary);margin-bottom:18px;letter-spacing:.2px}
.mockpay-summary{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 16px;
  text-align:left;
  margin-bottom:14px;
}
.mockpay-summary-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 0;
}
.mockpay-summary-row+.mockpay-summary-row{border-top:1px dashed rgba(255,255,255,.06)}
.mockpay-summary-row span{font-size:.74rem;color:var(--text-dim);font-weight:600}
.mockpay-summary-row strong{font-size:.86rem;color:var(--text-primary);font-weight:800}
.mockpay-note{font-size:.7rem;color:var(--text-dim);font-style:italic;text-align:center;padding:8px 4px}
.mockpay-success-icon{
  width:64px;height:64px;border-radius:50%;
  background:rgba(16,185,129,.15);
  color:var(--green);
  font-size:2rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  margin:8px auto 14px;
  animation:mockpay-pop .4s cubic-bezier(.5,1.5,.5,1) both;
}
@keyframes mockpay-pop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.gym-card-pkg-select{width:100%;margin-top:8px;padding:5px 8px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-family:inherit;font-size:.7rem;cursor:pointer}
.gym-card-pkg-select:hover{border-color:rgba(200,245,49,.3);background:rgba(200,245,49,.04);color:var(--accent)}

/* Route pill in coach unified ticket list (shows where the ticket came from/goes to) */
.ticket-route-pill{display:inline-flex;align-items:center;padding:2px 8px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.2);color:var(--blue);border-radius:20px;font-size:.68rem;font-weight:700;white-space:nowrap}
.ticket-route-pill.ticket-route-in{background:rgba(168,85,247,.1);border-color:rgba(168,85,247,.2);color:var(--purple)}

/* Locked menu item — feature gated by package */
.sidebar-nav a.feature-locked{opacity:.55;cursor:pointer}
.sidebar-nav a.feature-locked:hover{background:rgba(255,80,80,.05);color:var(--text-dim)}
.pricing-tier-name{font-size:.78rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}
.pricing-tier-featured .pricing-tier-name{color:var(--accent)}
.pricing-tier-price{font-size:1.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:4px}
.pricing-tier-list{list-style:none;padding:0;margin:0;font-size:.72rem;color:var(--text-secondary);line-height:1.8}
.pricing-tier-list li{position:relative;padding-left:14px}
.pricing-tier-list li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}

.card-logo{width:52px;height:52px;background:var(--accent);border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;color:var(--bg-dark);margin:0 auto 24px}
.card-title{text-align:center;font-size:1.4rem;font-weight:700;margin-bottom:4px;letter-spacing:-.5px}
.card-sub{text-align:center;color:var(--text-dim);font-size:.82rem;margin-bottom:28px;line-height:1.5}

/* ─── PROGRAM ACTIONS STACK (footer butonları) ───
   "+ Gün / Ay Ekle" üstte, "Programı Sil" altta; arada nefes payı.
   Footer doğal akışta — sayfa scroll'u ile birlikte hareket eder.
   Ay daraltılsa bile dikey istif sayesinde bindirme yok. */
.program-actions-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  margin-top:8px;
}
.program-add-stacked{
  width:100%;
  padding:12px 20px !important;
  font-size:.86rem !important;
  font-weight:800 !important;
  border-radius:12px !important;
  letter-spacing:.3px;
  display:inline-flex;align-items:center;justify-content:center;
  /* Gölge yok — proje genelindeki sade görünüme uyumlu */
  box-shadow:none !important;
}
.program-del-stacked{
  width:100%;
  padding:11px 20px;
  font-size:.82rem;
  font-weight:700;
  border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  letter-spacing:.2px;
  box-shadow:none;
}
/* "+ Gün / Ay Ekle" menüsü — açıldığında butonun üstünde belirir.
   Footer içinde olduğu için menü tüm action area'nın üstüne pop-up yapıyor. */
.program-add-wrap .program-add-menu-up{
  bottom:calc(100% + 6px);
}
.program-add-menu{position:absolute;top:calc(100% + 8px);right:0;background:rgba(18,18,22,.98);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px;min-width:240px;box-shadow:0 20px 60px rgba(0,0,0,.6);z-index:100;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:opacity .2s,transform .2s}
.program-add-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.program-add-menu-up{top:auto;bottom:calc(100% + 8px);transform:translateY(8px) scale(.96)}
.program-add-menu-up.open{transform:translateY(0) scale(1)}
.program-add-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:.82rem;text-align:left;cursor:pointer;border-radius:8px;transition:background .15s}
.program-add-menu button:hover{background:rgba(200,245,49,.06)}
.program-add-menu button>span{font-size:1.25rem;width:32px;text-align:center}
.program-add-menu .menu-title{font-weight:700;font-size:.85rem;margin-bottom:2px}
.program-add-menu .menu-sub{font-size:.7rem;color:var(--text-dim)}

/* Floating FAB version — bottom-right, always visible */
.program-add-floating{position:sticky;bottom:20px;float:right;margin-top:-52px;margin-right:4px;margin-bottom:8px;z-index:50;pointer-events:auto}
.program-add-fab{padding:12px 22px !important;font-size:.88rem !important;font-weight:800 !important;border-radius:999px !important;box-shadow:0 10px 28px rgba(200,245,49,.35),0 4px 12px rgba(0,0,0,.4);letter-spacing:.5px}
.program-add-fab:hover{box-shadow:0 14px 36px rgba(200,245,49,.45),0 6px 16px rgba(0,0,0,.5);transform:translateY(-2px)}
.form-textarea:focus{border-color:rgba(200,245,49,.3)}

.pw-wrapper{position:relative}
.pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-dim);padding:4px}
.pw-toggle:hover{color:var(--text-primary)}
.pw-toggle svg{width:18px;height:18px}

/* BUTTONS */
.btn-primary{width:100%;padding:15px;background:var(--accent);color:var(--bg-dark);border:none;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s;margin-top:8px}
.btn-primary:hover:not(:disabled){box-shadow:0 8px 30px rgba(200,245,49,.25);transform:translateY(-2px)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-accent{background:var(--accent);color:var(--bg-dark);border:none;padding:10px 20px;border-radius:10px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:8px}
.btn-accent:hover{box-shadow:0 8px 24px rgba(200,245,49,.2);transform:translateY(-2px)}
.btn-outline{background:none;color:var(--text-secondary);border:1px solid var(--border);padding:8px 16px;border-radius:8px;font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.btn-outline:hover{border-color:rgba(200,245,49,.2);color:var(--text-primary)}
.btn-danger{background:rgba(255,80,80,.1);color:var(--red);border:1px solid rgba(255,80,80,.15);padding:6px 14px;border-radius:8px;font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-access-code{background:rgba(168,85,247,.1);color:var(--purple);border:1px solid rgba(168,85,247,.2);padding:6px 12px;border-radius:8px;font-family:inherit;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-access-code:hover{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.4);transform:translateY(-1px)}

/* ═══════════════════════════════════════════════════════════════
   FOOTER — Marka tabelası, yasal linkler
   ═══════════════════════════════════════════════════════════════ */
.kp-footer{
  width:100%;
  padding:32px 24px 24px;
  background:rgba(0,0,0,0.18);
  border-top:1px solid var(--border);
  margin-top:48px;
}
.kp-footer-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:32px;
}
@media (max-width:768px){
  .kp-footer-inner{grid-template-columns:1fr 1fr;gap:24px}
}
@media (max-width:480px){
  .kp-footer-inner{grid-template-columns:1fr;gap:20px}
}
.kp-footer-brand{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.kp-footer-brand-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.kp-footer-brand-name{
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:-0.3px;
  color:var(--text-primary);
}
.kp-footer-brand-name b{
  background:linear-gradient(135deg,#C8F531,#98BE1C);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.kp-footer-tagline{
  font-size:.78rem;
  color:var(--text-dim);
  line-height:1.5;
  max-width:280px;
  font-weight:500;
}
.kp-footer-col-title{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:12px;
}
.kp-footer-link{
  display:block;
  padding:5px 0;
  font-size:.82rem;
  font-weight:600;
  color:var(--text-secondary);
  text-decoration:none;
  cursor:pointer;
  transition:color .15s;
  border:none;
  background:none;
  font-family:inherit;
  text-align:left;
}
.kp-footer-link:hover{color:var(--accent)}
.kp-footer-bottom{
  max-width:1200px;
  margin:24px auto 0;
  padding-top:18px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.kp-footer-copy{
  font-size:.72rem;
  color:var(--text-dim);
  font-weight:600;
}
.kp-footer-meta{
  font-size:.7rem;
  color:var(--text-dim);
  font-weight:500;
}
.kp-footer-meta b{color:var(--accent)}

/* ═══════════════════════════════════════════════════════════════
   PRO+ COMPONENT LIBRARY v1.0
   ═══════════════════════════════════════════════════════════════
   Uiverse-grade bileşenler — design tokens üzerinden bina edilmiş.
   Mevcut .btn-primary/.btn-accent/.btn-outline aynen çalışır;
   yeni Pro+ stilleri için .btn-pro, .card-pro, .input-pro kullan.

   Tüm Pro+ bileşenlerinde:
   • Multi-layer shadows (depth)
   • Cubic-bezier micro-interactions
   • Hover/focus glow states
   • Active state press feedback
   • Disabled state opacity + cursor
*/

/* ─── BUTTON SYSTEM ─── */
.btn-pro{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-sm);
  padding:var(--space-md) var(--space-lg);
  font-family:inherit;
  font-size:var(--font-sm);
  font-weight:var(--fw-bold);
  letter-spacing:var(--tracking-tight);
  border:1px solid transparent;
  border-radius:var(--radius-md);
  cursor:pointer;
  transition:transform var(--duration-base) var(--ease-out),
             box-shadow var(--duration-base) var(--ease-out),
             background var(--duration-fast) var(--ease-out),
             border-color var(--duration-fast) var(--ease-out),
             color var(--duration-fast) var(--ease-out);
  white-space:nowrap;
  user-select:none;
  outline:none;
}
.btn-pro:focus-visible{box-shadow:0 0 0 3px var(--accent-300),var(--shadow-md)}
.btn-pro:disabled{opacity:0.5;cursor:not-allowed;transform:none!important}
.btn-pro:active:not(:disabled){transform:translateY(1px) scale(0.98)}

/* Primary — solid lime, hero CTA */
.btn-pro.primary{
  background:linear-gradient(135deg,#C8F531 0%,#98BE1C 100%);
  color:var(--text-on-accent);
  box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,0.2);
}
.btn-pro.primary:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:var(--shadow-lg),0 0 0 1px rgba(200,245,49,0.6),0 0 32px rgba(200,245,49,0.35),inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Secondary — glass/outline */
.btn-pro.secondary{
  background:var(--bg-glass);
  color:var(--text-primary);
  border-color:var(--border-strong);
  backdrop-filter:var(--blur-sm);
  -webkit-backdrop-filter:var(--blur-sm);
}
.btn-pro.secondary:hover:not(:disabled){
  background:var(--bg-card-hover);
  border-color:var(--border-accent);
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}

/* Ghost — minimal, text-only */
.btn-pro.ghost{
  background:transparent;
  color:var(--text-secondary);
  padding:var(--space-sm) var(--space-md);
}
.btn-pro.ghost:hover:not(:disabled){
  background:rgba(255,255,255,0.04);
  color:var(--text-primary);
}

/* Danger — red destructive */
.btn-pro.danger{
  background:var(--red-soft);
  color:var(--red);
  border-color:rgba(255,80,80,0.2);
}
.btn-pro.danger:hover:not(:disabled){
  background:rgba(255,80,80,0.18);
  border-color:rgba(255,80,80,0.4);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(255,80,80,0.2);
}

/* Sizes */
.btn-pro.sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-xs)}
.btn-pro.lg{padding:var(--space-base) var(--space-2xl);font-size:var(--font-md)}
.btn-pro.pill{border-radius:var(--radius-pill)}

/* Icon-only square button */
.btn-pro.icon-only{
  padding:var(--space-sm);
  width:36px;
  height:36px;
  aspect-ratio:1;
}
.btn-pro.icon-only.lg{width:44px;height:44px}

/* ─── CARD SYSTEM ─── */
.card-pro{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:var(--space-xl);
  transition:transform var(--duration-base) var(--ease-out),
             border-color var(--duration-base) var(--ease-out),
             box-shadow var(--duration-base) var(--ease-out);
  position:relative;
  overflow:hidden;
}
.card-pro.interactive{cursor:pointer}
.card-pro.interactive:hover{
  transform:translateY(-3px);
  border-color:var(--border-strong);
  box-shadow:var(--shadow-lg);
}
.card-pro.interactive:hover::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--accent-50) 0%,transparent 50%);
  pointer-events:none;
  border-radius:inherit;
}

.card-pro.glass{
  background:var(--bg-glass);
  border-color:var(--glass-border);
  backdrop-filter:var(--blur-md);
  -webkit-backdrop-filter:var(--blur-md);
}

.card-pro.featured{
  background:linear-gradient(135deg,rgba(200,245,49,0.04) 0%,rgba(20,20,24,1) 60%);
  border-color:var(--border-accent);
}

.card-pro-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-md);
  margin-bottom:var(--space-lg);
}
.card-pro-title{
  font-size:var(--font-lg);
  font-weight:var(--fw-extrabold);
  letter-spacing:var(--tracking-tight);
  color:var(--text-primary);
  line-height:var(--leading-tight);
}
.card-pro-subtitle{
  font-size:var(--font-xs);
  font-weight:var(--fw-semibold);
  color:var(--text-tertiary);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  margin-top:var(--space-xs);
}
.card-pro-meta{
  font-size:var(--font-xs);
  font-weight:var(--fw-medium);
  color:var(--text-dim);
}

/* ─── INPUT SYSTEM ─── */
.input-pro{
  width:100%;
  padding:var(--space-md) var(--space-base);
  background:var(--bg-input);
  border:1.5px solid var(--border-input);
  border-radius:var(--radius-md);
  color:var(--text-primary);
  font-family:inherit;
  font-size:var(--font-sm);
  font-weight:var(--fw-medium);
  transition:border-color var(--duration-fast) var(--ease-out),
             box-shadow var(--duration-fast) var(--ease-out),
             background var(--duration-fast) var(--ease-out);
  outline:none;
}
.input-pro::placeholder{
  color:var(--text-dim);
  font-weight:var(--fw-medium);
}
.input-pro:hover{
  border-color:var(--border-strong);
  background:var(--bg-card-hover);
}
.input-pro:focus{
  border-color:var(--border-input-focus);
  box-shadow:0 0 0 4px var(--accent-100);
  background:var(--bg-card-hover);
}
.input-pro:disabled{
  opacity:0.5;
  cursor:not-allowed;
}

/* Input with leading icon */
.input-pro-wrap{
  position:relative;
}
.input-pro-icon{
  position:absolute;
  left:var(--space-md);
  top:50%;
  transform:translateY(-50%);
  color:var(--text-dim);
  pointer-events:none;
  display:flex;
  transition:color var(--duration-fast) var(--ease-out);
}
.input-pro-wrap:focus-within .input-pro-icon{color:var(--accent)}
.input-pro.with-icon{padding-left:calc(var(--space-md) + 28px)}

/* Input label group */
.field-pro{
  display:flex;
  flex-direction:column;
  gap:var(--space-sm);
}
.field-pro-label{
  font-size:var(--font-xs);
  font-weight:var(--fw-bold);
  color:var(--text-secondary);
  letter-spacing:var(--tracking-wide);
  text-transform:uppercase;
}
.field-pro-hint{
  font-size:var(--font-2xs);
  color:var(--text-dim);
  font-weight:var(--fw-medium);
  margin-top:var(--space-2xs);
}
.field-pro-error{
  font-size:var(--font-2xs);
  color:var(--red);
  font-weight:var(--fw-semibold);
  margin-top:var(--space-2xs);
  display:flex;
  align-items:center;
  gap:var(--space-xs);
}

/* ─── BADGE / PILL SYSTEM ─── */
.badge-pro{
  display:inline-flex;
  align-items:center;
  gap:var(--space-xs);
  padding:var(--space-2xs) var(--space-sm);
  font-size:var(--font-2xs);
  font-weight:var(--fw-bold);
  letter-spacing:var(--tracking-wider);
  text-transform:uppercase;
  border-radius:var(--radius-pill);
  white-space:nowrap;
  border:1px solid transparent;
}
.badge-pro.accent{background:var(--accent-100);color:var(--accent);border-color:var(--border-accent)}
.badge-pro.green{background:var(--green-soft);color:var(--green);border-color:rgba(16,185,129,0.2)}
.badge-pro.red{background:var(--red-soft);color:var(--red);border-color:rgba(255,80,80,0.2)}
.badge-pro.blue{background:var(--blue-soft);color:var(--blue);border-color:rgba(96,165,250,0.2)}
.badge-pro.purple{background:var(--purple-soft);color:var(--purple);border-color:rgba(168,85,247,0.2)}
.badge-pro.neutral{background:rgba(255,255,255,0.04);color:var(--text-secondary);border-color:var(--border)}

/* ─── DIVIDER ─── */
.divider-pro{
  height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--border-strong) 50%,transparent 100%);
  border:none;
  margin:var(--space-lg) 0;
}
.divider-pro.vertical{
  width:1px;
  height:auto;
  background:linear-gradient(180deg,transparent 0%,var(--border-strong) 50%,transparent 100%);
  margin:0 var(--space-lg);
}

/* ─── KBD KEY DISPLAY ─── */
.kbd-pro{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 var(--space-xs);
  background:var(--bg-elevated);
  border:1px solid var(--border-strong);
  border-bottom-width:2px;
  border-radius:var(--radius-xs);
  font-family:'Monaco','Courier New',monospace;
  font-size:var(--font-2xs);
  font-weight:var(--fw-bold);
  color:var(--text-secondary);
}

/* ─── TOOLTIP ─── */
.tooltip-pro{
  position:absolute;
  bottom:calc(100% + 6px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  padding:var(--space-sm) var(--space-md);
  background:var(--bg-elevated);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  font-size:var(--font-2xs);
  font-weight:var(--fw-semibold);
  color:var(--text-primary);
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  z-index:var(--z-tooltip);
  box-shadow:var(--shadow-lg);
  transition:opacity var(--duration-fast) var(--ease-out),
             transform var(--duration-fast) var(--ease-out);
}
.tooltip-host:hover .tooltip-pro,
.tooltip-host:focus-visible .tooltip-pro{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* Access code display in modal — large, monospace, selectable */
.access-code-display{font-family:'Monaco','Courier New',monospace;font-size:2.25rem;font-weight:800;color:var(--accent);text-align:center;letter-spacing:6px;background:rgba(0,0,0,.35);padding:18px 10px;border-radius:10px;border:1px solid rgba(200,245,49,.2);user-select:all;cursor:text}

/* QR access block — sits below the access code in the share modal */
.access-qr-block{
  margin-top:14px;
  padding:18px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:14px;
  text-align:center;
}
.access-qr-label{
  font-size:.72rem;color:var(--text-dim);font-weight:700;
  text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;
}
.access-qr-frame{
  display:inline-flex;align-items:center;justify-content:center;
  width:230px;height:230px;
  padding:5px;
  background:#fff;border-radius:14px;
  box-shadow:0 8px 24px rgba(200,245,49,.08);
}
.access-qr-frame svg{display:block;border-radius:8px}
.access-qr-loading{
  font-size:.78rem;color:var(--text-dim);font-weight:600;
  font-family:'Monaco',monospace;
}
.access-qr-hint{
  font-size:.74rem;color:var(--text-dim);font-weight:500;
  line-height:1.55;margin-top:14px;letter-spacing:.1px;
}
.access-qr-hint strong{color:var(--accent);font-weight:800}

/* Body views (measurement modal — 3 slot grid: front/side/back) */
.body-views-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.body-view-slot{display:flex;flex-direction:column;gap:6px}
.body-view-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-align:center;letter-spacing:.3px}
.body-view-dropzone{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:rgba(255,255,255,.02);border:2px dashed var(--border);border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}
.body-view-dropzone:hover{border-color:rgba(200,245,49,.3);background:rgba(200,245,49,.03)}
.body-view-dropzone.drop-hover{border-color:var(--accent);background:rgba(200,245,49,.08);box-shadow:0 0 0 3px rgba(200,245,49,.18);transform:scale(1.02)}
.body-view-dropzone.filled{border-style:solid;border-color:rgba(200,245,49,.3);background:var(--bg-card-hover);padding:0}
.body-view-dropzone.filled:hover{box-shadow:0 0 0 2px rgba(200,245,49,.4)}
.body-view-empty{text-align:center;pointer-events:none}
.body-view-dropzone img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.body-view-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.75);color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;z-index:2;transition:background .2s,transform .15s;opacity:0}
.body-view-dropzone.filled:hover .body-view-remove{opacity:1}
.body-view-remove:hover{background:var(--red);transform:scale(1.08)}
.body-view-loading{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--accent);font-size:.72rem;font-weight:700;z-index:3}
.body-view-spin{width:20px;height:20px;border:2px solid rgba(200,245,49,.2);border-top-color:var(--accent);border-radius:50%;animation:bvSpin .8s linear infinite;margin-right:8px}
@keyframes bvSpin{to{transform:rotate(360deg)}}
.btn-danger:hover{background:rgba(255,80,80,.2)}
.btn-danger-sm{background:rgba(255,80,80,.08);color:var(--red);border:1px solid rgba(255,80,80,.12);padding:5px 12px;border-radius:6px;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-danger-sm:hover{background:rgba(255,80,80,.15)}
.btn-blue-sm{background:rgba(96,165,250,.08);color:var(--blue);border:1px solid rgba(96,165,250,.12);padding:5px 12px;border-radius:6px;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s}
.btn-blue-sm:hover{background:rgba(96,165,250,.15)}
.btn-activate{background:rgba(16,185,129,.08);color:var(--green);border:1px solid rgba(16,185,129,.12);padding:5px 12px;border-radius:6px;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer}
.btn-activate:hover{background:rgba(16,185,129,.15)}
.btn-purple{background:var(--purple);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .25s;display:inline-flex;align-items:center;gap:8px}
.btn-purple:hover{box-shadow:0 8px 24px rgba(168,85,247,.25);transform:translateY(-2px)}

/* PASSWORD STRENGTH */
.pw-strength{margin-top:8px}
.pw-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:6px}
.pw-bar-fill{height:100%;border-radius:4px;width:0;transition:width .4s,background .4s}
.pw-bar-fill.weak{width:25%;background:var(--red)}
.pw-bar-fill.fair{width:50%;background:var(--orange)}
.pw-bar-fill.good{width:75%;background:var(--yellow)}
.pw-bar-fill.strong{width:100%;background:var(--green)}
.pw-strength-label{font-size:.68rem;font-weight:600}
.pw-rules{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding:12px;background:rgba(255,255,255,.02);border-radius:10px;border:1px solid var(--border)}
.pw-rule{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--text-dim);transition:color .3s}
.pw-rule.pass{color:var(--green)}
.pw-rule-icon{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:.55rem;transition:all .3s;flex-shrink:0}
.pw-rule.pass .pw-rule-icon{border-color:var(--green);background:var(--green);color:var(--bg-dark)}

.ref-section{margin-bottom:20px;padding:16px;background:rgba(200,245,49,.02);border:1px solid rgba(200,245,49,.08);border-radius:12px}
.ref-title{font-size:.78rem;font-weight:700;color:var(--accent);margin-bottom:4px}
.ref-desc{font-size:.7rem;color:var(--text-dim);margin-bottom:12px;line-height:1.5}

.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.role-btn{padding:14px 12px;border:1px solid var(--border);border-radius:12px;background:none;cursor:pointer;text-align:center;transition:all .2s;font-family:inherit}
.role-btn:hover{border-color:rgba(200,245,49,.15)}
.role-btn.selected{border-color:var(--accent);background:var(--accent-dim)}
.role-emoji{font-size:1.3rem;display:block;margin-bottom:4px}
.role-label{font-size:.78rem;font-weight:600;color:var(--text-dim)}
.role-btn.selected .role-label{color:var(--accent)}

.card-footer{text-align:center;margin-top:24px;font-size:.82rem;color:var(--text-dim)}
.card-footer a{color:var(--accent);text-decoration:none;font-weight:600;cursor:pointer}

/* ─── GLOBAL SELECT DARK THEME (FORCED) ─── */
/* Native <select> ve <option> tarayıcı default beyaz arkaplan kullanır →
   dark UI'a uymaz. !important ile tüm site genelinde zorla dark.
   Hiçbir başka kural beyaz arkaplan yapamaz. */
select{
  background-color:#1A1A20!important;
  color:#F5F5F7!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3e%3cpath d='M1 1L5 5L9 1' stroke='%238A8A96' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e")!important;
  background-repeat:no-repeat!important;
  background-position:right 10px center!important;
  padding-right:28px!important;
  border:1px solid rgba(255,255,255,0.08)!important;
  outline:none!important;
}
select:hover{
  background-color:#22222A!important;
  border-color:rgba(200,245,49,0.2)!important;
}
select:focus{
  background-color:#1A1A20!important;
  border-color:rgba(200,245,49,0.4)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(200,245,49,0.08)!important;
}
select option,
select optgroup{
  background-color:#1A1A20!important;
  color:#F5F5F7!important;
  padding:6px!important;
}
select option:checked{
  background:rgba(200,245,49,0.15)!important;
  color:#C8F531!important;
  font-weight:700!important;
}
select option:hover{background-color:#2A2A30!important}
select:disabled{opacity:0.5!important;cursor:not-allowed!important}
/* Macro inputs that the engine has locked because the food was found in DB */
.meal-add-row input.auto-locked{
  background:rgba(200,245,49,.04);
  border-color:rgba(200,245,49,.18);
  color:var(--accent);font-weight:700;
  cursor:not-allowed;
}
/* Edit mode — macro inputs unlocked for overwrite, orange-tinted to signal "you're editing" */
.meal-add-row input.edit-mode{
  background:rgba(255,159,67,.06);
  border-color:rgba(255,159,67,.35);
  color:var(--text-primary);font-weight:700;
  box-shadow:0 0 0 2px rgba(255,159,67,.08);
}
.meal-add-actions{
  display:flex;gap:6px;align-items:stretch;
}
.meal-edit-btn{
  background:rgba(255,159,67,.08);
  color:var(--orange);
  border:1px solid rgba(255,159,67,.3);
  border-radius:8px;
  padding:8px 10px;
  font-family:inherit;font-size:.9rem;font-weight:700;
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;
  transition:background .15s,transform .12s;
}
.meal-edit-btn:hover{background:rgba(255,159,67,.18);transform:translateY(-1px)}
.meal-edit-btn:active{transform:scale(.94)}
.meal-add-row input[type="number"]{text-align:right;-moz-appearance:textfield}
.meal-add-row input[type="number"]::-webkit-inner-spin-button,
.meal-add-row input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.meal-add-btn{
  background:var(--meal-accent,var(--accent));
  color:#0E0E12;border:none;border-radius:8px;
  padding:8px 14px;font-family:inherit;font-size:.78rem;font-weight:800;
  cursor:pointer;letter-spacing:.3px;white-space:nowrap;
  transition:transform .12s,filter .15s,background .2s;
  align-self:stretch;
}
.meal-add-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.meal-add-btn:active{transform:translateY(0) scale(.97)}
.meal-add-btn.save-mode{
  background:linear-gradient(135deg,var(--accent),#10B981);
  box-shadow:0 0 14px rgba(200,245,49,.25);
}
.meal-add-btn.update-mode{
  background:linear-gradient(135deg,#FF9F43,#FFB347);
  color:#1A0F00;
  box-shadow:0 0 14px rgba(255,159,67,.35);
}
.meal-add-status{
  grid-column:1/-1;
  padding:0 2px 4px;
  font-size:.72rem;color:var(--text-dim);font-weight:600;
  letter-spacing:.2px;min-height:14px;
}

/* Header totals strip (live macro count for the whole plan) */
.nutri-totals{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  margin-top:4px;
}
.nutri-total{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px 10px;
  display:flex;flex-direction:column;gap:2px;
  text-align:center;
}
.nutri-total-label{
  font-size:.6rem;color:var(--text-dim);
  font-weight:700;text-transform:uppercase;letter-spacing:.5px;
}
.nutri-total strong{
  font-size:.86rem;color:var(--text-primary);
  font-weight:800;letter-spacing:-0.2px;
}

/* Locked preview — blurred meal cards behind the upsell card */
.nutrition-locked-wrap{
  position:relative;
  min-height:520px;
  padding:24px 0;
}
.nutrition-locked-preview{
  position:absolute;inset:0;
  pointer-events:none;
  filter:blur(6px) saturate(.7);
  opacity:.55;
  padding:0 8px;
}
.nutrition-locked-preview .meal-card{margin-bottom:14px}
.nutrition-locked-preview .meal-item-row.demo{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:9px 16px;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.nutrition-locked-wrap .nutrition-upsell{
  position:relative;z-index:2;
  margin-top:60px;
}

@media (max-width:880px){
  .meal-row-head,.meal-item-row,.meal-add-row{
    grid-template-columns:1.6fr 0.9fr 0.9fr 0.9fr auto;
  }
  /* [2026-07-19 hiza düzeltmesi] Dar ekranda yalnız KALORİ kolonu kalır.
     Eski kural başlıkta Kalori+Protein'i, satırda Karb+Yağ'ı gizliyordu
     (FARKLI çiftler!) — değerler yanlış başlığın altına kayıyordu
     ("Karb" altında kcal, "Yağ" altında protein görünüyordu). */
  .meal-row-head>div:nth-child(5),
  .meal-row-head>div:nth-child(6),
  .meal-row-head>div:nth-child(7),
  .meal-item-row>.meal-item-macro,
  .meal-add-row input.meal-add-protein,
  .meal-add-row input.meal-add-carb,
  .meal-add-row input.meal-add-fat{display:none}
  .nutri-totals{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .meal-row-head{display:none}
  .meal-item-row{grid-template-columns:1fr auto 28px}
  .meal-item-portion,.meal-item-macro{display:none}
  .meal-add-row{grid-template-columns:1fr 80px 80px auto;gap:6px}
  .meal-add-row input.meal-add-protein,
  .meal-add-row input.meal-add-carb,
  .meal-add-row input.meal-add-fat{display:none}
}

/* Pro+ Upsell card (Starter coaches) */
.nutrition-upsell{
  background:linear-gradient(135deg,rgba(200,245,49,.05),rgba(167,139,250,.04));
  border:1px solid rgba(200,245,49,.2);
  border-radius:18px;padding:32px 28px;
  text-align:center;
  max-width:540px;margin:24px auto;
}
.nutrition-upsell-icon{
  font-size:3rem;margin-bottom:14px;
  filter:drop-shadow(0 0 14px rgba(200,245,49,.4));
}
.nutrition-upsell-title{
  font-size:1.4rem;font-weight:800;color:var(--text-primary);
  margin-bottom:12px;letter-spacing:-0.4px;
}
.nutrition-upsell-desc{
  font-size:.92rem;color:var(--text-secondary);line-height:1.6;
  margin-bottom:20px;
}
.nutrition-upsell-features{
  display:flex;flex-direction:column;gap:8px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px;
  margin-bottom:20px;
  text-align:left;
}
.nutrition-upsell-feat{font-size:.86rem;color:var(--text-secondary);font-weight:600}
.nutrition-upsell-cta{
  width:100%;justify-content:center;
  padding:13px 18px;font-size:.92rem;
}

.program-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.program-name-input{background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-family:inherit;font-size:1rem;font-weight:700;padding:4px 0;outline:none;min-width:200px;max-width:420px;width:auto;flex:1}
.program-name-input:focus{border-color:rgba(200,245,49,.3)}

/* ── TAKVİYE PROTOKOLÜ — Koç Paneli ── */
.checkin-history-card{background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:10px;transition:border-color .2s}
.checkin-history-card:hover{border-color:rgba(167,139,250,.3)}
.checkin-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px}
.checkin-history-date{font-size:.75rem;color:var(--text-dim);font-weight:600}
.checkin-score-pill{display:inline-flex;align-items:center;gap:3px;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.2);border-radius:20px;padding:3px 9px;font-size:.7rem;font-weight:800;color:var(--purple,#A855F7)}
.checkin-coach-card{background:rgba(167,139,250,.04);border:1px solid rgba(167,139,250,.15);border-left:3px solid var(--purple,#A855F7);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.checkin-coach-title{font-size:.7rem;font-weight:700;color:var(--purple,#A855F7);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.checkin-coach-date{font-size:.68rem;color:var(--text-dim);margin-bottom:10px}
.checkin-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.checkin-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.2);border-radius:20px;padding:4px 10px;font-size:.72rem;font-weight:700;color:var(--purple,#A855F7)}
.checkin-badge-label{font-weight:500;color:var(--text-dim)}
.checkin-notes{font-size:.75rem;color:var(--text-secondary);background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px;padding:8px 10px;line-height:1.5;margin-top:4px}
.checkin-empty{font-size:.75rem;color:var(--text-dim);font-style:italic}
.supp-section{background:rgba(167,139,250,.04);border:1px solid rgba(167,139,250,.15);border-left:3px solid var(--purple,#A855F7);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.supp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.supp-section-title{font-size:.78rem;font-weight:800;color:var(--purple,#A855F7);text-transform:uppercase;letter-spacing:.5px}
.supp-empty{font-size:.75rem;color:var(--text-dim);font-weight:500;padding:6px 0}
.supp-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.supp-row:last-child{border-bottom:none}
.supp-input{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.78rem;padding:6px 10px;outline:none;flex:1;min-width:0;transition:border-color .15s}
.supp-input:focus{border-color:rgba(167,139,250,.4)}
.supp-input-sm{flex:0 0 110px!important}
.supp-select{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.75rem;padding:6px 8px;outline:none;cursor:pointer;flex-shrink:0}
.supp-select option{background:#1E1E2E;color:var(--text-primary)}
.supp-remove{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#EF4444;cursor:pointer;font-size:.8rem;font-weight:700;padding:5px 9px;flex-shrink:0;transition:background .15s}
.supp-remove:hover{background:rgba(239,68,68,.2)}
/* Cascading dropdown — 2 seçici yan yana, satır kırılabilir */
.supp-row{flex-wrap:wrap}
.supp-cat-sel{flex:2;min-width:180px}
.supp-prod-sel{flex:2;min-width:180px}
.supp-prod-sel:disabled{opacity:.4;cursor:not-allowed}

.day-block{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;overflow:hidden}

/* ═══════════════════════════════════════════════════════════════
   LAB REQUESTS — Modül 1 styles
   ═══════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════
   LAB UI v2 — Tabs + Accordion + Detail view
   ═══════════════════════════════════════════════════════════════ */

/* Tab strip — sits below the summary row */
.lab-tabs{
  display:flex;gap:4px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:14px;
  padding:4px;margin-bottom:18px;
}
.lab-tab{
  flex:1;
  background:transparent;border:none;
  font-family:inherit;
  padding:10px 14px;
  border-radius:10px;
  font-size:.85rem;font-weight:700;
  color:var(--text-dim);
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  letter-spacing:.1px;
  transition:all .18s;
}
.lab-tab:hover{color:var(--text-secondary)}
.lab-tab.active{
  background:rgba(200,245,49,.08);
  color:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(200,245,49,.2);
}
.lab-tab-count{
  font-size:.7rem;font-weight:800;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  padding:1px 8px;min-width:20px;
  display:inline-flex;align-items:center;justify-content:center;
}
.lab-tab.active .lab-tab-count{
  background:rgba(200,245,49,.2);color:var(--accent);
}

/* Empty-state inside a tab (different from full-empty above) */
.lab-tab-empty{
  text-align:center;
  padding:40px 20px;
  background:rgba(255,255,255,.02);
  border:1px dashed var(--border);
  border-radius:14px;
}
.lab-tab-empty-icon{font-size:2rem;margin-bottom:10px;opacity:.6}
.lab-tab-empty-title{
  font-size:.95rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
}
.lab-tab-empty-sub{
  font-size:.78rem;color:var(--text-dim);font-weight:500;
  margin-top:4px;line-height:1.55;max-width:380px;margin-left:auto;margin-right:auto;
}

/* ── Completed archive — accordion ── */
.lab-archive{display:flex;flex-direction:column;gap:8px}
.lab-archive-group{
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  transition:border-color .18s;
}
.lab-archive-group.is-open{
  border-color:rgba(200,245,49,.25);
  background:rgba(200,245,49,.025);
}
.lab-archive-head{
  width:100%;
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:transparent;border:none;
  font-family:inherit;text-align:left;
  cursor:pointer;color:var(--text-primary);
  transition:background .15s;
}
.lab-archive-head:hover{background:rgba(255,255,255,.03)}
.lab-archive-chevron{
  font-size:.95rem;color:var(--text-dim);
  transition:transform .25s;
  flex-shrink:0;width:14px;
}
.lab-archive-group.is-open .lab-archive-chevron{
  transform:rotate(90deg);
  color:var(--accent);
}
.lab-archive-head-body{flex:1;min-width:0}
.lab-archive-date{
  font-size:.85rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
}
.lab-archive-summary{
  font-size:.74rem;color:var(--text-dim);font-weight:500;
  margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lab-archive-count{
  font-size:.68rem;font-weight:800;letter-spacing:.3px;
  background:rgba(16,185,129,.1);
  border:1px solid rgba(16,185,129,.25);
  color:var(--green);
  padding:3px 9px;border-radius:999px;
  white-space:nowrap;flex-shrink:0;
}
.lab-archive-rows{
  display:flex;flex-direction:column;
  border-top:1px solid var(--border);
  background:rgba(0,0,0,.15);
  animation:labArchExpand .25s ease;
}
@keyframes labArchExpand{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
.lab-archive-row{
  width:100%;
  display:flex;align-items:center;gap:12px;
  padding:11px 16px 11px 42px;
  background:transparent;border:none;border-top:1px solid rgba(255,255,255,.04);
  font-family:inherit;text-align:left;
  cursor:pointer;color:var(--text-primary);
  transition:background .12s;
}
.lab-archive-row:first-child{border-top:none}
.lab-archive-row:hover{background:rgba(200,245,49,.04)}
.lab-archive-row-icon{font-size:1.1rem;line-height:1;flex-shrink:0}
.lab-archive-row-name{
  flex:1;font-size:.85rem;font-weight:700;
  letter-spacing:-0.1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lab-archive-row-tick{
  font-size:.65rem;font-weight:800;
  color:var(--green);letter-spacing:.3px;
  background:rgba(16,185,129,.1);
  padding:2px 7px;border-radius:999px;
}
.lab-archive-row-arrow{
  font-size:.95rem;color:var(--text-dim);
  transition:transform .15s,color .15s;
}
.lab-archive-row:hover .lab-archive-row-arrow{
  color:var(--accent);transform:translateX(3px);
}

/* ── Detail view ── */
.lab-detail-wrap{display:flex;flex-direction:column;gap:14px}

/* ─── LAB SUMMARY VIEW (notification deep-link landing) ─── */
.lab-summary-wrap{display:flex;flex-direction:column;gap:18px}
.lab-summary-topbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;
  padding:6px 0 10px;
  border-bottom:1px solid var(--border);
  margin-bottom:4px;
}
.lab-summary-client{
  font-size:.85rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
  display:inline-flex;align-items:center;gap:8px;
}
.lab-summary-client::before{
  content:'👤';font-size:.95rem;opacity:.85;
}
/* Banner — kompozit "tahliller tamamlandı" başlığı */
.lab-summary-banner{
  display:flex;align-items:center;gap:16px;
  padding:18px;
  background:linear-gradient(135deg,rgba(200,245,49,.06),rgba(255,255,255,.02));
  border:1px solid rgba(200,245,49,.25);
  border-radius:16px;
}
.lab-summary-banner-icon{
  font-size:2rem;
  width:60px;height:60px;border-radius:14px;
  background:rgba(200,245,49,.12);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.lab-summary-banner-body{flex:1;min-width:0}
.lab-summary-banner-title{
  font-size:1.15rem;font-weight:900;color:var(--text-primary);
  letter-spacing:-0.4px;
}
.lab-summary-banner-sub{
  font-size:.82rem;color:var(--text-secondary);font-weight:600;
  margin-top:4px;letter-spacing:.1px;
}
.lab-summary-banner-meta{
  font-size:.72rem;color:var(--text-dim);font-weight:600;
  margin-top:4px;text-transform:uppercase;letter-spacing:.5px;
}

/* Coach's request note (shown once at top) */
.lab-summary-coachnote{
  padding:14px 16px;
  background:rgba(96,165,250,.05);
  border:1px solid rgba(96,165,250,.18);
  border-radius:12px;
}
.lab-summary-coachnote-head{
  font-size:.7rem;font-weight:800;color:var(--blue);
  letter-spacing:.3px;text-transform:uppercase;margin-bottom:6px;
}
.lab-summary-coachnote-body{
  font-size:.88rem;color:var(--text-primary);line-height:1.55;font-weight:500;
}

/* Per-test items — vertical scroll */
.lab-summary-items{display:flex;flex-direction:column;gap:14px}
.lab-summary-item{
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  display:flex;flex-direction:column;gap:12px;
}
.lab-summary-item-head{
  display:flex;align-items:center;gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.lab-summary-item-num{
  font-size:.75rem;font-weight:900;
  width:28px;height:28px;border-radius:50%;
  background:rgba(200,245,49,.12);
  border:1px solid rgba(200,245,49,.3);
  color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.lab-summary-item-title-wrap{flex:1;min-width:0}
.lab-summary-item-title{
  font-size:.98rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
}
.lab-summary-item-time{
  font-size:.7rem;color:var(--text-dim);font-weight:600;
  margin-top:3px;letter-spacing:.2px;
}
.lab-summary-mark-btn{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:9px;
  padding:7px 12px;
  font-family:inherit;font-size:.74rem;font-weight:700;
  color:var(--text-secondary);
  cursor:pointer;outline:none;
  transition:all .15s;flex-shrink:0;
}
.lab-summary-mark-btn:hover{
  background:rgba(200,245,49,.08);
  border-color:rgba(200,245,49,.3);
  color:var(--accent);
}

/* Inline previews */
.lab-summary-image{
  position:relative;cursor:zoom-in;
  border-radius:12px;overflow:hidden;
  background:rgba(0,0,0,.3);
  max-width:100%;
}
.lab-summary-image img{
  display:block;width:100%;height:auto;max-height:540px;object-fit:contain;
}
.lab-summary-image-zoom{
  position:absolute;bottom:10px;right:10px;
  padding:5px 12px;background:rgba(0,0,0,.7);border-radius:8px;
  font-size:.72rem;color:#fff;font-weight:700;pointer-events:none;
}
.lab-summary-pdf{
  display:flex;align-items:center;gap:14px;
  padding:16px;
  background:rgba(255,80,80,.04);
  border:1px solid rgba(255,80,80,.18);
  border-radius:12px;
}
.lab-summary-pdf-icon{
  font-size:1.7rem;
  width:54px;height:54px;border-radius:12px;
  background:rgba(255,80,80,.12);
  border:1px solid rgba(255,80,80,.25);
  display:flex;align-items:center;justify-content:center;
  color:var(--red);flex-shrink:0;
}
.lab-summary-pdf-meta{flex:1;min-width:0}
.lab-summary-pdf-name{
  font-size:.92rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lab-summary-pdf-info{
  font-size:.7rem;color:var(--text-dim);font-weight:600;
  margin-top:3px;letter-spacing:.3px;text-transform:uppercase;
}
.lab-summary-missing{
  padding:24px 16px;text-align:center;
  background:rgba(255,255,255,.02);
  border:1px dashed var(--border);
  border-radius:11px;
  color:var(--text-dim);font-size:.85rem;font-weight:600;
}
.lab-summary-clientnote{
  padding:11px 13px;
  background:rgba(96,165,250,.05);
  border:1px solid rgba(96,165,250,.18);
  border-radius:10px;
  font-size:.82rem;color:var(--text-secondary);line-height:1.55;
}
.lab-summary-clientnote strong{color:var(--blue);font-weight:800;letter-spacing:.1px}
.lab-detail-topbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;
  padding:6px 0 10px;
  border-bottom:1px solid var(--border);
  margin-bottom:4px;
}
.lab-detail-client{
  font-size:.85rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
  display:inline-flex;align-items:center;gap:8px;
}
.lab-detail-client::before{
  content:'👤';
  font-size:.95rem;
  filter:grayscale(.2);opacity:.85;
}
/* Hide the top tabs strip when the detail panel is in lab-detail mode so the
   single PDF / image takes the full canvas. Restored when user goes back. */
.detail-panel.lab-detail-mode .detail-tabs{display:none}
.lab-detail-back{
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px 14px;
  font-family:inherit;font-size:.82rem;font-weight:700;
  color:var(--text-secondary);
  cursor:pointer;
  transition:all .15s;
}
.lab-detail-back:hover{
  background:rgba(200,245,49,.06);
  border-color:rgba(200,245,49,.25);
  color:var(--accent);
}
.lab-detail-back span:first-child{font-size:.95rem;font-weight:900}
.lab-detail-card{
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
  display:flex;flex-direction:column;gap:14px;
}
.lab-detail-head{
  display:flex;align-items:flex-start;gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.lab-detail-icon{
  font-size:2rem;line-height:1;
  width:54px;height:54px;border-radius:14px;
  background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.lab-detail-head-body{flex:1;min-width:0}
.lab-detail-title{
  font-size:1.1rem;font-weight:900;color:var(--text-primary);
  letter-spacing:-0.4px;
}
.lab-detail-sub{
  font-size:.78rem;color:var(--text-dim);font-weight:600;
  margin-top:3px;
}
.lab-detail-meta{
  font-size:.72rem;color:var(--text-dim);font-weight:600;
  margin-top:6px;letter-spacing:.1px;
}
.lab-detail-image{
  position:relative;cursor:zoom-in;
  border-radius:12px;overflow:hidden;
  background:rgba(0,0,0,.3);
  max-width:100%;
}
.lab-detail-image img{
  display:block;width:100%;height:auto;max-height:560px;object-fit:contain;
  transition:opacity .2s;
}
.lab-detail-image:hover img{opacity:.92}
.lab-detail-image-zoom{
  position:absolute;bottom:10px;right:10px;
  padding:5px 12px;background:rgba(0,0,0,.7);border-radius:8px;
  font-size:.72rem;color:#fff;font-weight:700;pointer-events:none;
}
.lab-detail-pdf{
  display:flex;align-items:center;gap:14px;
  padding:18px;
  background:rgba(255,80,80,.04);
  border:1px solid rgba(255,80,80,.18);
  border-radius:14px;
}
.lab-detail-pdf-icon{
  font-size:2rem;
  width:60px;height:60px;border-radius:14px;
  background:rgba(255,80,80,.12);
  border:1px solid rgba(255,80,80,.25);
  display:flex;align-items:center;justify-content:center;
  color:var(--red);flex-shrink:0;
}
.lab-detail-pdf-meta{flex:1;min-width:0}
.lab-detail-pdf-name{
  font-size:.95rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lab-detail-pdf-info{
  font-size:.74rem;color:var(--text-dim);font-weight:600;
  margin-top:3px;letter-spacing:.3px;text-transform:uppercase;
}
.lab-detail-empty{
  padding:40px 20px;text-align:center;
  background:rgba(255,255,255,.02);
  border:1px dashed var(--border);
  border-radius:12px;
  color:var(--text-dim);font-size:.85rem;font-weight:600;
}
.lab-detail-note{
  padding:12px 14px;
  background:rgba(96,165,250,.05);
  border:1px solid rgba(96,165,250,.18);
  border-radius:10px;
}
.lab-detail-note-coach{
  background:rgba(200,245,49,.04);
  border-color:rgba(200,245,49,.18);
}
.lab-detail-note-head{
  font-size:.7rem;font-weight:800;color:var(--blue);
  letter-spacing:.3px;text-transform:uppercase;margin-bottom:5px;
}
.lab-detail-note-coach .lab-detail-note-head{color:var(--accent)}
.lab-detail-note-body{
  font-size:.85rem;color:var(--text-secondary);font-weight:500;
  line-height:1.55;
}
.lab-detail-actions{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-top:4px;
}
.lab-detail-actions button{flex:1;min-width:140px;padding:10px 14px;font-size:.82rem}

.lab-summary-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-bottom:18px;
}
.lab-summary-stat{
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  text-align:center;
}
.lab-summary-stat strong{
  display:block;
  font-size:1.7rem;font-weight:900;color:var(--text-primary);
  letter-spacing:-0.6px;line-height:1;
}
.lab-summary-stat span{
  display:block;
  margin-top:4px;
  font-size:.7rem;color:var(--text-dim);font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
}
.lab-summary-stat.lab-stat-pending strong{color:var(--orange)}
.lab-summary-stat.lab-stat-submitted strong{color:var(--green)}

.lab-list{display:flex;flex-direction:column;gap:12px}
.lab-row{
  display:flex;gap:14px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--border);
  border-left:3px solid transparent;
  border-radius:14px;
  padding:14px;
  transition:border-color .18s,background .18s;
}
.lab-row.is-pending{border-left-color:var(--orange)}
.lab-row.is-done{border-left-color:var(--green)}
.lab-row:hover{background:rgba(255,255,255,.04)}
.lab-row-icon{
  font-size:1.6rem;line-height:1;
  width:42px;height:42px;border-radius:10px;
  background:rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.lab-row-body{flex:1;min-width:0}
.lab-row-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:10px;flex-wrap:wrap;margin-bottom:4px;
}
.lab-row-title{
  font-size:.95rem;font-weight:800;color:var(--text-primary);
  letter-spacing:-0.2px;
}
.lab-status{
  font-size:.7rem;font-weight:800;letter-spacing:.3px;
  padding:3px 10px;border-radius:999px;
  white-space:nowrap;
}
.lab-status-pending{
  color:var(--orange);
  background:rgba(255,159,67,.1);
  border:1px solid rgba(255,159,67,.25);
}
.lab-status-submitted{
  color:var(--green);
  background:rgba(16,185,129,.1);
  border:1px solid rgba(16,185,129,.25);
}
.lab-row-meta{
  font-size:.74rem;color:var(--text-dim);font-weight:600;
  letter-spacing:.1px;
}
.lab-row-note{
  margin-top:8px;
  padding:8px 12px;
  background:rgba(96,165,250,.05);
  border:1px solid rgba(96,165,250,.15);
  border-radius:8px;
  font-size:.78rem;color:var(--text-secondary);font-weight:500;line-height:1.5;
}
.lab-row-note em{color:var(--text-primary);font-style:normal;font-weight:600}

.lab-submission{
  margin-top:10px;
  padding:12px;
  background:rgba(16,185,129,.04);
  border:1px solid rgba(16,185,129,.15);
  border-radius:10px;
}
.lab-submission-head{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.74rem;color:var(--green);font-weight:800;
  letter-spacing:.3px;margin-bottom:8px;
}
.lab-submission-thumb{
  position:relative;cursor:zoom-in;
  border-radius:8px;overflow:hidden;
  background:rgba(0,0,0,.3);
  max-width:240px;
}
.lab-submission-thumb img{
  display:block;width:100%;height:auto;
  transition:opacity .2s;
}
.lab-submission-thumb:hover img{opacity:.85}
.lab-submission-zoom{
  position:absolute;bottom:8px;right:8px;
  padding:4px 10px;
  background:rgba(0,0,0,.7);
  border-radius:6px;
  font-size:.7rem;color:#fff;font-weight:700;
  pointer-events:none;
}
.lab-submission-note{
  margin-top:8px;
  font-size:.78rem;color:var(--text-secondary);font-weight:500;
  line-height:1.5;
}

.lab-row-actions{
  display:flex;gap:6px;flex-wrap:wrap;
  margin-top:10px;
}
.lab-btn-mini{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:7px;
  padding:5px 10px;
  font-family:inherit;font-size:.72rem;font-weight:700;
  color:var(--text-secondary);cursor:pointer;
  letter-spacing:.2px;transition:all .15s;
}
.lab-btn-mini:hover{background:rgba(255,255,255,.07);color:var(--text-primary)}
.lab-btn-delete{color:var(--red);border-color:rgba(255,80,80,.2)}
.lab-btn-delete:hover{background:rgba(255,80,80,.08);color:var(--red);border-color:rgba(255,80,80,.4)}

/* Group container — when one batch contains multiple requests with a shared note */
.lab-group{
  background:rgba(96,165,250,.04);
  border:1px solid rgba(96,165,250,.18);
  border-radius:14px;
  padding:14px;
  display:flex;flex-direction:column;gap:10px;
}
.lab-group-head{
  font-size:.74rem;color:var(--blue);font-weight:800;
  letter-spacing:.3px;text-transform:uppercase;
}
.lab-group-note{
  padding:10px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:10px;
  font-size:.82rem;color:var(--text-secondary);font-weight:500;line-height:1.5;
}
.lab-group-note em{color:var(--text-primary);font-style:normal;font-weight:600}
.lab-group-rows{display:flex;flex-direction:column;gap:8px}

/* PDF/file submission preview (Madde 6) */
.lab-submission-file{
  display:flex;align-items:center;gap:12px;
  background:rgba(0,0,0,.3);
  border:1px solid var(--border);
  border-radius:10px;
  padding:12px;
  cursor:default;
}
.lab-file-icon{
  font-size:1.7rem;
  width:46px;height:46px;border-radius:10px;
  background:rgba(255,80,80,.12);
  border:1px solid rgba(255,80,80,.25);
  display:flex;align-items:center;justify-content:center;
  color:var(--red);
  flex-shrink:0;
}
.lab-file-meta{flex:1;min-width:0}
.lab-file-name{
  font-size:.85rem;font-weight:700;color:var(--text-primary);
  letter-spacing:-0.1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lab-file-info{
  font-size:.7rem;color:var(--text-dim);font-weight:600;
  margin-top:3px;letter-spacing:.3px;text-transform:uppercase;
}

/* Pick modal (the "İste" form) */
.lab-pick-grid{
  display:grid;grid-template-columns:1fr;gap:8px;
  margin-top:14px;max-height:50vh;overflow-y:auto;
}
.lab-pick-card{
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.025);
  border:1.5px solid var(--border);
  border-radius:12px;padding:12px 14px;
  cursor:pointer;text-align:left;width:100%;
  font-family:inherit;color:var(--text-primary);
  transition:all .15s;
}
.lab-pick-card:hover{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
}
.lab-pick-card.selected{
  background:rgba(200,245,49,.06);
  border-color:var(--accent);
}
.lab-pick-icon{font-size:1.5rem;line-height:1;width:36px;text-align:center;flex-shrink:0}
.lab-pick-body{flex:1;min-width:0}
.lab-pick-title{font-size:.92rem;font-weight:800;letter-spacing:-0.2px}
.lab-pick-desc{font-size:.74rem;color:var(--text-dim);font-weight:600;margin-top:2px}
.lab-pick-check{
  width:26px;height:26px;border-radius:50%;
  border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;font-weight:900;color:transparent;
  transition:all .18s;flex-shrink:0;
}
.lab-pick-card.selected .lab-pick-check{
  background:var(--accent);border-color:var(--accent);color:#0E0E12;
}

/* MONTH ACCORDION (Program) */
.month-block{background:rgba(200,245,49,.02);border:1px solid rgba(200,245,49,.1);border-radius:14px;margin-bottom:12px;overflow:hidden}
.month-block.open{background:rgba(200,245,49,.04);border-color:rgba(200,245,49,.18)}
.month-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;user-select:none;transition:background .2s}
.month-header:hover{background:rgba(200,245,49,.03)}
.month-title-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.month-title-main{font-size:1rem;font-weight:800;color:var(--accent);letter-spacing:-.3px}
.month-day-count{font-size:.75rem;color:var(--text-dim);font-weight:600}
.month-chevron{color:var(--text-dim);transition:transform .25s;font-size:.8rem}
.month-block.open .month-chevron{transform:rotate(180deg);color:var(--accent)}
.month-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.month-block.open .month-body{max-height:99999px}
.month-content{padding:0 14px 14px}
.day-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;user-select:none}
.day-header:hover{background:rgba(255,255,255,.02)}
.day-title{font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:8px}
.day-count{font-size:.7rem;color:var(--text-dim);font-weight:500}
.day-chevron{color:var(--text-dim);transition:transform .3s;font-size:.8rem}
.day-block.open .day-chevron{transform:rotate(180deg)}
.day-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.25,.46,.45,.94)}
.day-block.open .day-body{max-height:3000px}
.day-content{padding:0 16px 16px}
.day-del-btn{width:26px;height:26px;border:none;background:rgba(255,80,80,.08);color:var(--red);border-radius:6px;cursor:pointer;font-size:.85rem}
.month-del-btn{padding:6px 12px;border:1px solid rgba(255,80,80,.25);background:rgba(255,80,80,.08);color:var(--red);border-radius:8px;cursor:pointer;font-size:.72rem;font-weight:700;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:4px;white-space:nowrap}
.month-del-btn:hover{background:rgba(255,80,80,.18);border-color:rgba(255,80,80,.45);transform:translateY(-1px)}
.ex-row{display:grid;grid-template-columns:minmax(0,3fr) 70px 70px 80px 32px;gap:8px;align-items:center;margin-bottom:8px}
.ex-row-labels{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:4px;display:grid;grid-template-columns:minmax(0,3fr) 70px 70px 80px 32px;gap:8px}
.ex-row-labels span:not(:first-child){text-align:center}
.ex-input{padding:8px 10px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.82rem;outline:none;width:100%}
.ex-input:focus{border-color:rgba(200,245,49,.3)}
.ex-remove{width:28px;height:28px;border-radius:6px;border:none;background:rgba(255,80,80,.08);color:var(--red);cursor:pointer;font-size:.85rem}
.ex-remove:hover{background:rgba(255,80,80,.2)}
.ex-note{margin-top:-4px;margin-bottom:12px;padding-right:40px}
.ex-note textarea{width:100%;padding:8px 10px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-family:inherit;font-size:.78rem;outline:none;resize:none;min-height:32px;overflow:hidden}
.ex-note textarea:focus{border-color:rgba(200,245,49,.2)}
.add-ex-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px dashed rgba(200,245,49,.15);background:none;border-radius:8px;color:var(--accent);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;width:100%}
.add-ex-btn:hover{border-color:rgba(200,245,49,.3);background:rgba(200,245,49,.02)}

/* ═══ CALENDAR SHADOW KILL — applies to every element inside any calendar cell ═══
   Guarantees no element inside a .cal-cell or .cal-day-cell gets any shadow,
   glow, outline, filter, or transform on any hover/focus/active state. */
.cal-cell *,.cal-day-cell *{box-shadow:none!important;text-shadow:none!important;filter:none!important}
.cal-cell *:hover,.cal-cell *:focus,.cal-cell *:active,
.cal-day-cell *:hover,.cal-day-cell *:focus,.cal-day-cell *:active{
  box-shadow:none!important;text-shadow:none!important;outline:none!important;
  filter:none!important;-webkit-tap-highlight-color:transparent!important
}
/* Bigger calendar cells */
.cal-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.cal-day-cell{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;min-height:220px;overflow:hidden;transition:background .15s,border-color .15s}
.cal-day-cell:hover{background:rgba(255,255,255,.035);border-color:var(--border);box-shadow:none!important;text-shadow:none!important}
.cal-day-cell.today{border-color:rgba(200,245,49,.3);background:rgba(200,245,49,.03)}
.cal-day-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.cal-day-wk{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.cal-day-numL{font-size:1.35rem;font-weight:800;letter-spacing:-1px}
.cal-day-cell.today .cal-day-numL{color:var(--accent)}
.cal-day-tasks{flex:1;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;max-height:280px;overflow-y:auto}
.cal-day-tasks::-webkit-scrollbar{width:3px}
.cal-day-tasks::-webkit-scrollbar-thumb{background:rgba(200,245,49,.15);border-radius:2px}
.cal-add-btn-lg{padding:6px;border:1px dashed var(--border);background:none;color:var(--text-dim);border-radius:6px;cursor:pointer;font-size:.7rem;font-family:inherit;transition:all .2s}
.cal-add-btn-lg:hover{border-color:rgba(200,245,49,.3);color:var(--accent)}
.cal-add-btn{position:absolute;bottom:4px;right:4px;width:18px;height:18px;border-radius:4px;border:none;background:rgba(200,245,49,.08);color:var(--accent);font-size:.7rem;cursor:pointer;display:none;align-items:center;justify-content:center}
.cal-cell:hover .cal-add-btn{display:flex}
.task-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.task-type-btn{padding:12px;border:1px solid var(--border);border-radius:10px;background:none;cursor:pointer;text-align:center;font-family:inherit}
.task-type-btn.selected{border-color:var(--accent);background:var(--accent-dim)}
.task-emoji{font-size:1.3rem;display:block;margin-bottom:4px}
.task-label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}
.task-type-btn.selected .task-label{color:var(--accent)}

/* MONTHLY CARDS */
.month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;position:relative}
/* When any card is hovered, dim the others slightly so the focused one stands out */
.month-grid:hover .month-card{opacity:.55;transition:opacity .25s,transform .25s,border-color .25s,background .25s,box-shadow .25s}
.month-grid:hover .month-card:hover{opacity:1}
.month-card{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:0;text-align:center;position:relative;transition:transform .25s,border-color .25s,background .25s,opacity .25s,box-shadow .25s,z-index 0s;overflow:visible}
.month-card:hover{transform:scale(1.1);z-index:10;border-color:rgba(200,245,49,.45);background:rgba(200,245,49,.08);box-shadow:0 18px 48px rgba(0,0,0,.45),0 0 0 1px rgba(200,245,49,.2)}
.month-card.filled{border-color:rgba(200,245,49,.15);background:rgba(200,245,49,.03)}
.month-card.filled:hover{border-color:var(--accent);background:rgba(200,245,49,.1)}
.month-card.filled::after{content:'';position:absolute;top:8px;left:8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.month-card.current{border-color:rgba(200,245,49,.3);box-shadow:0 0 12px rgba(200,245,49,.08)}
.month-card-body{padding:16px 12px;cursor:pointer}
.month-card-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(255,80,80,.1);color:var(--red);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;opacity:0;transition:opacity .2s,background .2s;z-index:2}
.month-card:hover .month-card-del{opacity:1}
.month-card-del:hover{background:rgba(255,80,80,.25)}
/* Inline hover reveal — shows measurement summary directly inside the card */
.month-card-hover{max-height:0;opacity:0;overflow:hidden;font-size:.74rem;color:var(--accent);font-weight:600;padding:0 10px;line-height:1.65;transition:max-height .25s,opacity .25s,padding .25s;word-break:normal;display:flex;flex-direction:column;gap:6px}
.month-card.filled:hover .month-card-hover{max-height:260px;opacity:1;padding:10px 10px 6px}
.mh-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px dashed rgba(200,245,49,.08)}
.mh-row:last-child{border-bottom:none}
.mh-ico{font-size:.95rem;width:22px;text-align:center;flex-shrink:0}
.mh-label{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:700;flex:1;text-align:left}
.mh-val{font-size:.78rem;color:var(--accent);font-weight:800;text-align:right}
.month-card-note{position:absolute;top:6px;right:34px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(96,165,250,.12);color:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.68rem;opacity:0;transition:opacity .2s,background .2s;z-index:2;padding:0}
.month-card:hover .month-card-note{opacity:1}
.month-card-note:hover{background:rgba(96,165,250,.28)}

/* Edit button (shows on filled cards alongside delete) */
.month-card-edit{position:absolute;top:6px;right:34px;width:22px;height:22px;border-radius:50%;border:none;background:rgba(200,245,49,.12);color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.68rem;opacity:0;transition:opacity .2s,background .2s,transform .15s;z-index:2;padding:0;font-weight:700}
.month-card:hover .month-card-edit{opacity:1}
.month-card-edit:hover{background:rgba(200,245,49,.28);transform:scale(1.08)}

/* Measurement Preview Modal — Large data cards */
/* Measurement preview cards — horizontal layout: icon on left, value+label on right */
.measure-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.measure-preview-card{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:14px;padding:18px 20px;min-height:88px;min-width:200px;transition:all .2s}
.measure-preview-card:hover{border-color:rgba(200,245,49,.25);background:rgba(200,245,49,.04)}

/* Body photo grid (3 angles) inside the preview modal */
.measure-preview-photos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
@media (max-width:720px){
  .measure-preview-photos{grid-template-columns:repeat(3,1fr);gap:8px}
}
@media (max-width:520px){
  /* Single column on phones — much bigger thumbnails so the user actually sees the photo */
  .measure-preview-photos{grid-template-columns:1fr;gap:12px}
}
.measure-photo-slot{
  position:relative;
  aspect-ratio:3/4;
  border-radius:10px;overflow:hidden;
  background:rgba(255,255,255,.02);
  border:1px solid var(--border);
  cursor:pointer;
  transition:transform .15s,box-shadow .15s;
}
.measure-photo-slot:hover{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(200,245,49,.35)}
.measure-photo-slot img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.measure-photo-slot-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;color:var(--text-dim);
  font-size:.72rem;font-weight:600;
  text-align:center;padding:8px;
  cursor:default;
}
.measure-photo-slot-empty .ico{font-size:1.6rem;opacity:.5;margin-bottom:4px}
.measure-photo-slot-label{
  position:absolute;left:0;right:0;bottom:0;
  padding:6px 8px;
  background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,0));
  color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.3px;
  text-align:center;
  pointer-events:none;
}

/* Coach panel lightbox — all styles are INLINE in the element itself.
   No CSS class rules here so nothing can override the fullscreen sizing. */

.measure-preview-icon{font-size:1.8rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(200,245,49,.08);border-radius:10px;flex-shrink:0}
.measure-preview-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.measure-preview-value{font-size:1.5rem;font-weight:800;letter-spacing:-0.5px;line-height:1.1;color:var(--text-primary)}
.measure-preview-unit{font-size:.72rem;color:var(--text-dim);font-weight:600;margin-left:4px}
.measure-preview-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-weight:700}

/* Support Tickets (İstek & Şikayet) */
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--red);color:#fff;border-radius:9px;font-size:.65rem;font-weight:800;margin-left:6px;letter-spacing:0}

/* Code stat chips (Davet Kodları tab) */
.code-stat{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:10px;font-size:.78rem;color:var(--text-dim)}
.code-stat-num{font-weight:800;font-size:1.1rem}
.support-tab{padding:8px 14px;border:none;background:transparent;color:var(--text-dim);border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}
.support-tab:hover{color:var(--text-primary);background:rgba(255,255,255,.03)}
.support-tab.active{background:var(--accent-dim);color:var(--accent)}
/* Sub-tabs under "Tamamlanan Talepler" (Admin / Alt Antrenörler) */
.support-subtab-row{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:0;flex-wrap:wrap}
.support-subtab{padding:10px 16px;border:none;background:transparent;color:var(--text-dim);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;margin-bottom:-1px;white-space:nowrap;flex-shrink:0}
.support-subtab:hover{color:var(--text-primary)}
.support-subtab.active{color:var(--accent);border-bottom-color:var(--accent)}
.support-compose{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:20px}
.ticket-list{display:flex;flex-direction:column;gap:8px}
.ticket-row{display:flex;align-items:center;gap:8px;padding:14px 16px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}
.ticket-row:hover{background:rgba(255,255,255,.04);border-color:rgba(200,245,49,.15);transform:translateX(2px)}
.ticket-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:12px;flex-shrink:0}
.ticket-row-date{font-size:.72rem;color:var(--text-dim);white-space:nowrap}
.ticket-row-close{
  padding:5px 10px;
  background:rgba(255,80,80,.08);
  border:1px solid rgba(255,80,80,.18);
  color:var(--red);
  border-radius:8px;
  font-family:inherit;font-size:.68rem;font-weight:700;
  cursor:pointer;
  transition:background .15s,transform .12s;
  white-space:nowrap;
  display:flex;align-items:center;gap:4px;
}
.ticket-row-close:hover{background:rgba(255,80,80,.15)}
.ticket-row-close:active{transform:scale(.96)}
.ticket-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.ticket-badge-open{background:rgba(200,245,49,.1);color:var(--accent);border:1px solid rgba(200,245,49,.2)}
.ticket-badge-closed{background:rgba(255,255,255,.05);color:var(--text-dim);border:1px solid var(--border)}
.ticket-badge-new{background:var(--red);color:#fff}
/* ─── TOP-CENTER MESSAGE TOAST (Instagram/WhatsApp style) ─── */
#msgToastHost{
  position:fixed;
  top:0;left:0;right:0;
  z-index:10000;
  display:flex;justify-content:center;
  pointer-events:none;
  padding:14px 14px 0;
}
.msg-toast{
  pointer-events:auto;
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#1a1a22,#0E0E12);
  border:1px solid rgba(200,245,49,.4);
  border-radius:16px;
  padding:12px 16px;
  min-width:280px;max-width:440px;width:100%;
  /* Gölge yok — premium görünüm zarif border ile */
  box-shadow:none;
  cursor:pointer;
  transform:translateY(-130%);
  opacity:0;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s;
  -webkit-tap-highlight-color:transparent;
}
.msg-toast.show{transform:translateY(0);opacity:1}
.msg-toast:hover{
  border-color:rgba(200,245,49,.6);
  box-shadow:none;
}
.msg-toast-icon{
  flex-shrink:0;
  width:42px;height:42px;border-radius:12px;
  background:rgba(200,245,49,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
}
.msg-toast-body{flex:1;min-width:0}
.msg-toast-title{
  font-size:.7rem;font-weight:800;
  color:var(--accent);
  letter-spacing:.6px;text-transform:uppercase;
  margin-bottom:2px;
}
.msg-toast-text{
  font-size:.92rem;font-weight:700;
  color:var(--text-primary);
  letter-spacing:-0.2px;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;
}

/* ─── NAV BADGE POP-IN ─── */
.nav-badge.nav-badge-bump{
  animation:navBadgeBump .42s cubic-bezier(.34,1.56,.64,1);
}
@keyframes navBadgeBump{
  0%{transform:scale(.4)}
  60%{transform:scale(1.25)}
  100%{transform:scale(1)}
}

.toast{position:fixed;top:24px;right:24px;z-index:99999;/* detay paneli 10100 + onay 10250 dahil HER katmanın üstünde — resmi ölçek §4.1 */background:var(--bg-sidebar);border-radius:12px;padding:14px 20px;display:flex;align-items:center;gap:12px;box-shadow:none;transform:translateX(120%);transition:transform .5s cubic-bezier(.25,.46,.45,.94);max-width:380px;font-size:.82rem;border:1px solid var(--border)}

