/* ============================================================
   AVIP — ADMIN PANEL STYLESHEET
   ============================================================ */
:root {
  --bg-primary: #000208;
  --bg-secondary: #050518;
  --bg-card: rgba(10,12,38,.88);
  --bg-card-hover: rgba(16,10,30,.96);
  --cyan: #00d4ff;
  --purple: #7b2fff;
  --gold: #ffd700;
  --red: #ff3a5c;
  --red-dim: rgba(255,58,92,.65);
  --green: #00e676;
  --orange: #ff9d00;
  --text-primary: #fff;
  --text-secondary: rgba(255,255,255,.72);
  --text-muted: rgba(255,255,255,.42);
  --grad-main: linear-gradient(135deg,#00d4ff 0%,#7b2fff 100%);
  --grad-admin: linear-gradient(135deg,#ff3a5c 0%,#7b2fff 100%);
  --glow-red: 0 0 20px rgba(255,58,92,.5),0 0 40px rgba(255,58,92,.2);
  --glow-gold: 0 0 16px rgba(255,215,0,.45);
  --glow-cyan: 0 0 22px rgba(0,212,255,.55),0 0 44px rgba(0,212,255,.22);
  --border-red: 1px solid rgba(255,58,92,.3);
  --border-cyan: 1px solid rgba(0,212,255,.28);
  --border-faint: 1px solid rgba(255,255,255,.07);
  --font-heading: 'Orbitron',sans-serif;
  --font-body: 'Space Grotesk',sans-serif;
  --sidebar-w: 240px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { height:100%; overflow:hidden; }
body { font-family:var(--font-body); background:var(--bg-primary); color:var(--text-primary); -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { font-family:var(--font-body); }
img { max-width:100%; display:block; }
.hidden { display:none !important; }

/* ============================================================
   LOGIN SCREEN
   ============================================================ */
.admin-login-screen {
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-primary);
}
.login-bg-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,58,92,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,58,92,.02) 1px, transparent 1px);
  background-size:55px 55px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%, black, transparent);
}
.login-box {
  position:relative; z-index:1;
  background:rgba(6,4,22,.97);
  border:var(--border-red);
  border-radius:20px;
  padding:3rem 2.5rem;
  width:min(440px,94vw);
  box-shadow:var(--glow-red);
  text-align:center;
}
.login-logo { height:70px; margin:0 auto 1.5rem; filter:drop-shadow(0 0 14px rgba(255,215,0,.35)); }
.login-title { font-family:var(--font-heading); font-size:1.1rem; font-weight:900; letter-spacing:3px; color:var(--text-primary); margin-bottom:.4rem; }
.login-subtitle { font-size:.82rem; color:var(--text-muted); margin-bottom:2rem; }
.login-field { margin-bottom:1.1rem; text-align:left; }
.login-field label { display:block; font-family:var(--font-heading); font-size:.58rem; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:.4rem; }
.login-field input {
  width:100%; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,58,92,.25); border-radius:8px;
  padding:.75rem 1rem; color:var(--text-primary);
  font-family:var(--font-body); font-size:.9rem; outline:none;
  transition:border-color .2s;
}
.login-field input:focus { border-color:var(--red); }
.login-error { color:var(--red); font-size:.8rem; min-height:1.2rem; margin-bottom:.5rem; }
.login-btn {
  width:100%; padding:1rem;
  background:var(--grad-admin); color:#fff; border:none; border-radius:8px;
  font-family:var(--font-heading); font-size:.75rem; letter-spacing:2px;
  text-transform:uppercase; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  transition:transform .2s, box-shadow .2s;
}
.login-btn:hover { transform:translateY(-2px); box-shadow:var(--glow-red); }
.login-hint { font-size:.72rem; color:var(--text-muted); margin-top:1rem; }
.login-reset-btn {
  width:100%; padding:.65rem 1rem;
  background:transparent; color:var(--text-muted);
  border:1px solid rgba(255,255,255,.1); border-radius:8px;
  font-family:var(--font-body); font-size:.75rem;
  cursor:pointer; margin-top:.75rem;
  transition:border-color .2s, color .2s;
}
.login-reset-btn:hover { border-color:rgba(0,212,255,.4); color:var(--cyan); }

/* ============================================================
   ADMIN LAYOUT
   ============================================================ */
.admin-layout { display:flex; height:100vh; position:relative; }

/* Sidebar */
.admin-sidebar {
  width:var(--sidebar-w); height:100vh;
  background:rgba(6,2,18,.98);
  border-right:var(--border-red);
  display:flex; flex-direction:column; flex-shrink:0;
  position:relative; z-index:10;
  backdrop-filter:blur(20px);
  overflow-y:auto; overflow-x:hidden;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.admin-sidebar-header {
  padding:1.2rem 1rem .8rem;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:var(--border-faint);
}
.admin-logo { height:40px; filter:drop-shadow(0 0 10px rgba(255,215,0,.3)); }
.sidebar-close-btn { display:none; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:1.1rem; }
.admin-brand-tag {
  font-family:var(--font-heading); font-size:.52rem; letter-spacing:3px;
  color:var(--red); padding:.4rem 1rem .6rem;
  border-bottom:var(--border-faint);
}
.admin-nav { padding:.5rem 0; flex:1; }
.admin-nav-group {
  font-family:var(--font-heading); font-size:.48rem; letter-spacing:3px;
  text-transform:uppercase; color:rgba(255,58,92,.5);
  padding:.8rem 1rem .3rem;
}
.admin-nav-item {
  display:flex; align-items:center; gap:.75rem;
  padding:.68rem 1rem;
  color:var(--text-secondary); font-size:.8rem;
  border-left:2px solid transparent;
  margin:0 .4rem .1rem;
  border-radius:0 7px 7px 0;
  cursor:pointer; transition:color .2s, background .2s;
}
.admin-nav-item:hover { color:var(--red); background:rgba(255,58,92,.05); }
.admin-nav-item.active { color:var(--red); background:rgba(255,58,92,.08); border-left-color:var(--red); }
.admin-nav-item svg { flex-shrink:0; opacity:.7; }
.admin-nav-item.active svg,.admin-nav-item:hover svg { opacity:1; }
.admin-sidebar-footer {
  padding:1rem; border-top:var(--border-faint);
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}
.admin-user-info { display:flex; align-items:center; gap:.5rem; font-family:var(--font-heading); font-size:.6rem; letter-spacing:1px; color:var(--text-muted); }
.admin-user-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(0,230,118,.5); }
.admin-logout-btn {
  display:flex; align-items:center; gap:.4rem;
  padding:.45rem .8rem; background:rgba(255,58,92,.07);
  border:var(--border-red); border-radius:7px;
  color:var(--red); font-size:.7rem; cursor:pointer;
  transition:background .2s;
}
.admin-logout-btn:hover { background:rgba(255,58,92,.15); }

/* Main */
.admin-main { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.admin-topbar {
  display:flex; align-items:center; gap:1rem;
  padding:.85rem 2rem;
  background:rgba(4,2,14,.94);
  border-bottom:var(--border-red);
  backdrop-filter:blur(16px); flex-shrink:0;
}
.admin-menu-btn {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px;
}
.admin-menu-btn span { display:block; width:22px; height:2px; background:var(--red); border-radius:2px; }
.admin-topbar-title { font-family:var(--font-heading); font-size:.75rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-primary); flex:1; }
.admin-topbar-right { display:flex; align-items:center; gap:1.2rem; }
.admin-topbar-date { font-size:.72rem; color:var(--text-muted); font-family:var(--font-heading); letter-spacing:.5px; }
.admin-site-link { font-family:var(--font-heading); font-size:.6rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); border:var(--border-faint); border-radius:6px; padding:.35rem .8rem; transition:color .2s, border-color .2s; }
.admin-site-link:hover { color:var(--cyan); border-color:rgba(0,212,255,.3); }

.admin-content {
  flex:1; overflow-y:auto; padding:2rem;
  scrollbar-width:thin; scrollbar-color:rgba(255,58,92,.3) transparent;
}
.admin-content::-webkit-scrollbar { width:5px; }
.admin-content::-webkit-scrollbar-thumb { background:rgba(255,58,92,.3); border-radius:3px; }

/* ============================================================
   COMMON COMPONENTS
   ============================================================ */
.adm-section-title { font-family:var(--font-heading); font-size:1.3rem; font-weight:800; margin-bottom:.3rem; letter-spacing:-.02em; }
.adm-section-subtitle { font-size:.85rem; color:var(--text-muted); margin-bottom:2rem; }

/* Cards */
.adm-card {
  background:var(--bg-card); border:var(--border-faint);
  border-radius:14px; padding:1.5rem;
  backdrop-filter:blur(12px);
}
.adm-card-red { border-color:rgba(255,58,92,.2); }
.adm-card-cyan { border-color:rgba(0,212,255,.2); }
.adm-card-title {
  font-family:var(--font-heading); font-size:.6rem;
  letter-spacing:2.5px; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:1rem;
}

/* KPI Stats */
.adm-kpi-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1.2rem; margin-bottom:2rem; }
.adm-kpi {
  background:var(--bg-card); border:var(--border-faint); border-radius:12px;
  padding:1.4rem; position:relative; overflow:hidden;
  transition:transform .3s, box-shadow .3s;
}
.adm-kpi:hover { transform:translateY(-3px); }
.adm-kpi::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--grad-admin);
}
.adm-kpi-label { font-family:var(--font-heading); font-size:.53rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--text-muted); margin-bottom:.5rem; }
.adm-kpi-value { font-family:var(--font-heading); font-size:2rem; font-weight:900; line-height:1; margin-bottom:.3rem; }
.adm-kpi-sub { font-size:.72rem; color:var(--text-muted); }
.adm-kpi.red .adm-kpi-value { color:var(--red); text-shadow:var(--glow-red); }
.adm-kpi.gold .adm-kpi-value { color:var(--gold); text-shadow:var(--glow-gold); }
.adm-kpi.cyan .adm-kpi-value { color:var(--cyan); text-shadow:var(--glow-cyan); }
.adm-kpi.green .adm-kpi-value { color:var(--green); }
.adm-kpi.purple .adm-kpi-value { color:var(--purple); }

/* Table */
.adm-table-wrap { overflow-x:auto; }
.adm-table { width:100%; border-collapse:collapse; }
.adm-table th { font-family:var(--font-heading); font-size:.55rem; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); padding:.7rem 1rem; text-align:left; border-bottom:var(--border-faint); white-space:nowrap; }
.adm-table td { padding:.85rem 1rem; font-size:.845rem; color:var(--text-secondary); border-bottom:1px solid rgba(255,255,255,.04); vertical-align:middle; }
.adm-table tr:hover td { background:rgba(255,58,92,.03); color:var(--text-primary); }
.adm-table-action { display:flex; gap:.4rem; flex-wrap:wrap; }
.adm-btn-sm {
  padding:.3rem .75rem; border-radius:6px;
  font-family:var(--font-heading); font-size:.53rem; letter-spacing:1px;
  text-transform:uppercase; cursor:pointer; border:none;
  transition:background .2s, transform .15s;
}
.adm-btn-sm:hover { transform:translateY(-1px); }
.adm-btn-cyan { background:rgba(0,212,255,.1); color:var(--cyan); border:var(--border-cyan); }
.adm-btn-cyan:hover { background:rgba(0,212,255,.22); }
.adm-btn-red { background:rgba(255,58,92,.1); color:var(--red); border:var(--border-red); }
.adm-btn-red:hover { background:rgba(255,58,92,.22); }
.adm-btn-gold { background:rgba(255,215,0,.08); color:var(--gold); border:1px solid rgba(255,215,0,.25); }
.adm-btn-gold:hover { background:rgba(255,215,0,.18); }
.adm-btn-green { background:rgba(0,230,118,.08); color:var(--green); border:1px solid rgba(0,230,118,.25); }
.adm-btn-green:hover { background:rgba(0,230,118,.18); }
.adm-btn-primary {
  padding:.6rem 1.4rem;
  background:var(--grad-admin); color:#fff; border:none; border-radius:8px;
  font-family:var(--font-heading); font-size:.65rem; letter-spacing:1.5px;
  text-transform:uppercase; cursor:pointer;
  transition:transform .2s, box-shadow .2s;
}
.adm-btn-primary:hover { transform:translateY(-2px); box-shadow:var(--glow-red); }

/* Badge */
.adm-badge {
  display:inline-block; font-family:var(--font-heading);
  font-size:.5rem; letter-spacing:1.5px; text-transform:uppercase;
  padding:.2rem .6rem; border-radius:8px; white-space:nowrap;
}
.badge-active { background:rgba(0,230,118,.12); color:#00e676; border:1px solid rgba(0,230,118,.3); }
.badge-pending { background:rgba(255,215,0,.1); color:var(--gold); border:1px solid rgba(255,215,0,.25); }
.badge-paid { background:rgba(0,230,118,.12); color:#00e676; border:1px solid rgba(0,230,118,.3); }
.badge-overdue { background:rgba(255,58,92,.12); color:var(--red); border:var(--border-red); }
.badge-confirmed { background:rgba(0,212,255,.1); color:var(--cyan); border:var(--border-cyan); }
.badge-cancelled { background:rgba(255,58,92,.1); color:var(--red); border:var(--border-red); }
.badge-completed { background:rgba(123,47,255,.12); color:var(--purple); border:1px solid rgba(123,47,255,.3); }
.badge-installed { background:rgba(0,230,118,.12); color:#00e676; border:1px solid rgba(0,230,118,.3); }
.badge-delivered { background:rgba(123,47,255,.12); color:var(--purple); border:1px solid rgba(123,47,255,.3); }
.badge-shipped { background:rgba(0,212,255,.1); color:var(--cyan); border:var(--border-cyan); }
.badge-processing { background:rgba(255,157,0,.1); color:var(--orange); border:1px solid rgba(255,157,0,.3); }
.badge-passed { background:rgba(0,230,118,.12); color:#00e676; border:1px solid rgba(0,230,118,.3); }
.badge-failed { background:rgba(255,58,92,.12); color:var(--red); border:var(--border-red); }

/* Search/Filter Bar */
.adm-filter-bar {
  display:flex; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; align-items:center;
}
.adm-search {
  flex:1; min-width:200px;
  background:rgba(255,255,255,.05);
  border:var(--border-faint); border-radius:8px;
  padding:.65rem 1rem; color:var(--text-primary);
  font-family:var(--font-body); font-size:.85rem; outline:none;
  transition:border-color .2s;
}
.adm-search:focus { border-color:rgba(255,58,92,.35); }
.adm-select {
  background:rgba(255,255,255,.05);
  border:var(--border-faint); border-radius:8px;
  padding:.65rem 1rem; color:var(--text-primary);
  font-family:var(--font-body); font-size:.82rem; outline:none; cursor:pointer;
}
.adm-select option { background:#050518; }

/* Form */
.adm-form { display:flex; flex-direction:column; gap:1rem; }
.adm-field label { display:block; font-family:var(--font-heading); font-size:.57rem; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:.4rem; }
.adm-field input, .adm-field select, .adm-field textarea {
  width:100%; background:rgba(255,255,255,.05);
  border:var(--border-faint); border-radius:8px;
  padding:.7rem 1rem; color:var(--text-primary);
  font-family:var(--font-body); font-size:.88rem; outline:none;
  transition:border-color .2s;
}
.adm-field input:focus,.adm-field select:focus,.adm-field textarea:focus { border-color:rgba(255,58,92,.4); }
.adm-field select option { background:#050518; }
.adm-field textarea { resize:vertical; min-height:80px; }
.adm-field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* Revenue Chart (CSS bars) */
.rev-chart { display:flex; align-items:flex-end; gap:.6rem; height:120px; padding:.5rem 0; }
.rev-bar-wrap { flex:1; display:flex; flex-direction:column; align-items:center; gap:.4rem; }
.rev-bar {
  width:100%; border-radius:4px 4px 0 0;
  background:linear-gradient(to top,rgba(255,58,92,.7),rgba(123,47,255,.5));
  transition:height .8s cubic-bezier(.16,1,.3,1);
  min-height:4px;
}
.rev-bar-label { font-family:var(--font-heading); font-size:.5rem; letter-spacing:1px; color:var(--text-muted); text-align:center; }
.rev-bar-val { font-family:var(--font-heading); font-size:.55rem; color:var(--red); }

/* Progress */
.adm-progress-wrap { margin-bottom:.8rem; }
.adm-progress-label { display:flex; justify-content:space-between; margin-bottom:.4rem; font-size:.75rem; color:var(--text-secondary); }
.adm-progress-bar { height:5px; background:rgba(255,255,255,.07); border-radius:5px; overflow:hidden; }
.adm-progress-fill { height:100%; background:var(--grad-admin); border-radius:5px; }

/* Modal */
.admin-modal {
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.admin-modal.open { opacity:1; pointer-events:all; }
.admin-modal-overlay { position:absolute; inset:0; background:rgba(0,0,10,.85); backdrop-filter:blur(8px); }
.admin-modal-box {
  position:relative; z-index:1;
  background:rgba(6,4,22,.98);
  border:var(--border-red); border-radius:16px;
  padding:2rem; width:min(520px,94vw);
  max-height:88vh; overflow-y:auto;
  box-shadow:var(--glow-red);
}
.modal-title { font-family:var(--font-heading); font-size:.95rem; font-weight:700; margin-bottom:1.5rem; color:var(--red); }
.modal-close { position:absolute; top:1rem; right:1rem; background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:1.1rem; }
.modal-close:hover { color:var(--red); }

/* Delivery Steps */
.del-steps { display:flex; gap:0; margin:1rem 0; }
.del-step { flex:1; text-align:center; position:relative; }
.del-step::after { content:''; position:absolute; top:14px; left:60%; width:80%; height:2px; background:rgba(255,255,255,.1); z-index:0; }
.del-step:last-child::after { display:none; }
.del-step.done::after { background:var(--red); }
.del-dot { width:28px; height:28px; border-radius:50%; border:2px solid rgba(255,255,255,.15); background:var(--bg-primary); display:flex; align-items:center; justify-content:center; margin:0 auto .4rem; position:relative; z-index:1; font-size:.65rem; }
.del-step.done .del-dot { border-color:var(--red); background:rgba(255,58,92,.12); }
.del-step.current .del-dot { border-color:var(--gold); background:rgba(255,215,0,.1); animation:pulse-admin 2s infinite; }
.del-label { font-size:.6rem; font-family:var(--font-heading); color:var(--text-muted); }
.del-step.done .del-label { color:var(--red); }
.del-step.current .del-label { color:var(--gold); }

/* Grid helpers */
.adm-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.adm-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }

/* Keyframes */
@keyframes pulse-admin {
  0%,100% { box-shadow:0 0 0 0 rgba(255,215,0,.4); }
  50% { box-shadow:0 0 0 6px rgba(255,215,0,0); }
}

/* ============================================================
   TABS (Muhasebe & Rezervasyonlar)
   ============================================================ */
.adm-tabs {
  display:flex; gap:.4rem; flex-wrap:wrap;
  margin-bottom:1.5rem;
  border-bottom:1px solid rgba(255,255,255,.07);
  padding-bottom:.6rem;
}
.adm-tab {
  padding:.5rem 1.1rem;
  background:transparent; border:var(--border-faint); border-radius:8px;
  color:var(--text-muted); font-family:var(--font-heading);
  font-size:.58rem; letter-spacing:1.5px; text-transform:uppercase;
  cursor:pointer; transition:all .2s;
}
.adm-tab:hover { color:var(--red); border-color:rgba(255,58,92,.3); background:rgba(255,58,92,.05); }
.adm-tab.active { background:var(--grad-admin); color:#fff; border-color:transparent; box-shadow:var(--glow-red); }

/* ============================================================
   SOURCE BADGES (Kaynak)
   ============================================================ */
.badge-kampanya { background:rgba(0,212,255,.1); color:var(--cyan); border:var(--border-cyan); }
.badge-reklam   { background:rgba(255,58,92,.1); color:var(--red);  border:var(--border-red); }
.badge-anket    { background:rgba(255,215,0,.1); color:var(--gold); border:1px solid rgba(255,215,0,.3); }

/* ============================================================
   EXAM STATUS BADGES
   ============================================================ */
.badge-scheduled    { background:rgba(0,212,255,.1); color:var(--cyan); border:var(--border-cyan); }
.badge-pending-exam {
  background:rgba(255,215,0,.12); color:var(--gold);
  border:1px solid rgba(255,215,0,.35);
  animation:pulse-gold 2s infinite;
}
.badge-exam-taken { background:rgba(123,47,255,.12); color:var(--purple); border:1px solid rgba(123,47,255,.3); }

@keyframes pulse-gold {
  0%,100% { box-shadow:0 0 0 0 rgba(255,215,0,.3); }
  50%      { box-shadow:0 0 0 5px rgba(255,215,0,0); }
}

/* ============================================================
   EXAM TIMELINE
   ============================================================ */
.adm-exam-timeline {
  display:flex; align-items:center; gap:0;
  margin:1.2rem 0; padding:1rem;
  background:var(--bg-card); border:var(--border-faint); border-radius:12px;
}
.adm-exam-step {
  flex:1; display:flex; flex-direction:column; align-items:center;
  position:relative; gap:.4rem;
}
.adm-exam-step::after {
  content:''; position:absolute; top:16px; left:55%; width:90%; height:2px;
  background:rgba(255,255,255,.08); z-index:0;
}
.adm-exam-step:last-child::after { display:none; }
.adm-exam-step .step-icon {
  width:32px; height:32px; border-radius:50%;
  border:2px solid rgba(255,255,255,.12); background:var(--bg-primary);
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; position:relative; z-index:1;
}
.adm-exam-step .step-label { font-family:var(--font-heading); font-size:.52rem; letter-spacing:1px; color:var(--text-muted); text-align:center; }
.adm-exam-step .step-count { font-family:var(--font-heading); font-size:.85rem; font-weight:900; color:var(--text-muted); }
.adm-exam-step.done::after { background:var(--grad-admin); }
.adm-exam-step.done .step-icon { border-color:var(--red); background:rgba(255,58,92,.12); }
.adm-exam-step.done .step-label { color:var(--red); }
.adm-exam-step.done .step-count { color:var(--red); }
.adm-exam-step.current .step-icon { border-color:var(--gold); background:rgba(255,215,0,.1); animation:pulse-admin 2s infinite; }
.adm-exam-step.current .step-label { color:var(--gold); }
.adm-exam-step.current .step-count { color:var(--gold); }

/* ============================================================
   WEEKLY CALENDAR (Rezervasyonlar)
   ============================================================ */
.adm-cal-wrap { overflow-x:auto; margin-top:1rem; }
.adm-cal-grid {
  display:grid; grid-template-columns:60px repeat(7,1fr);
  min-width:700px; border:var(--border-faint); border-radius:12px; overflow:hidden;
}
.adm-cal-corner { background:rgba(255,255,255,.03); border-right:var(--border-faint); border-bottom:var(--border-faint); }
.adm-cal-header {
  padding:.6rem .4rem; text-align:center;
  background:rgba(255,58,92,.06); border-right:var(--border-faint); border-bottom:var(--border-faint);
  font-family:var(--font-heading); font-size:.52rem; letter-spacing:1.5px; color:var(--text-muted);
}
.adm-cal-header.today { background:rgba(255,58,92,.18); color:var(--red); border-color:rgba(255,58,92,.35); }
.adm-cal-time {
  padding:.5rem .3rem; text-align:center;
  background:rgba(255,255,255,.02); border-right:var(--border-faint); border-bottom:1px solid rgba(255,255,255,.03);
  font-family:var(--font-heading); font-size:.5rem; letter-spacing:.5px; color:rgba(255,255,255,.3);
}
.adm-cal-cell {
  padding:.3rem; border-right:var(--border-faint); border-bottom:1px solid rgba(255,255,255,.03);
  min-height:44px; vertical-align:top; background:transparent;
  transition:background .15s;
}
.adm-cal-cell:hover { background:rgba(255,255,255,.02); }
.adm-cal-cell.today { background:rgba(255,58,92,.04); }
.adm-cal-pill {
  padding:.2rem .4rem; border-radius:5px; margin-bottom:.2rem;
  font-size:.62rem; font-family:var(--font-heading); letter-spacing:.5px;
  background:var(--grad-admin); color:#fff; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; cursor:pointer;
}
.adm-cal-pill.teacher-1 { background:linear-gradient(135deg,rgba(0,212,255,.5),rgba(0,212,255,.2)); color:var(--cyan); }
.adm-cal-pill.teacher-2 { background:linear-gradient(135deg,rgba(255,58,92,.5),rgba(255,58,92,.2)); color:var(--red); }
.adm-cal-pill.teacher-3 { background:linear-gradient(135deg,rgba(255,215,0,.5),rgba(255,215,0,.2)); color:var(--gold); }
.adm-cal-pill.teacher-4 { background:linear-gradient(135deg,rgba(0,230,118,.5),rgba(0,230,118,.2)); color:var(--green); }
.adm-cal-nav {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem;
}
.adm-cal-nav-title { font-family:var(--font-heading); font-size:.72rem; letter-spacing:2px; color:var(--text-secondary); }

/* ============================================================
   TOAST NOTIFICATION
   ============================================================ */
#toast-container {
  position:fixed; bottom:1.5rem; right:1.5rem;
  z-index:99999; display:flex; flex-direction:column; gap:.5rem;
  pointer-events:none;
}
.toast-item {
  pointer-events:all;
  background:rgba(6,4,22,.98); border-radius:10px;
  padding:.8rem 1.2rem; min-width:240px; max-width:360px;
  display:flex; align-items:center; gap:.7rem;
  box-shadow:0 4px 24px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06);
  animation:toastIn .3s cubic-bezier(.16,1,.3,1);
  cursor:pointer;
}
.toast-item.toast-out { animation:toastOut .3s ease forwards; }
.toast-item .toast-icon { font-size:1rem; flex-shrink:0; }
.toast-item .toast-msg { font-family:var(--font-body); font-size:.83rem; color:var(--text-primary); line-height:1.4; }
.toast-item.success { border-left:3px solid var(--green); }
.toast-item.error   { border-left:3px solid var(--red); }
.toast-item.warning { border-left:3px solid var(--gold); }
.toast-item.info    { border-left:3px solid var(--cyan); }

@keyframes toastIn  { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }
@keyframes toastOut { from { opacity:1; transform:translateX(0); }    to { opacity:0; transform:translateX(40px); } }

/* ============================================================
   MINI PROGRESS BAR (Kalan eğitim süresi)
   ============================================================ */
.edu-mini-bar-wrap { display:flex; flex-direction:column; gap:.2rem; min-width:100px; }
.edu-mini-bar { height:4px; background:rgba(255,255,255,.07); border-radius:4px; overflow:hidden; }
.edu-mini-fill { height:100%; border-radius:4px; background:var(--grad-admin); }
.edu-mini-fill.urgent { background:linear-gradient(90deg,var(--red),rgba(255,58,92,.5)); }
.edu-mini-fill.ok     { background:linear-gradient(90deg,var(--cyan),rgba(0,212,255,.5)); }
.edu-days-label { font-family:var(--font-heading); font-size:.58rem; letter-spacing:.5px; }
.edu-days-label.urgent { color:var(--red); }
.edu-days-label.ok     { color:var(--cyan); }

/* ============================================================
   ALERT CARDS (Bekleyen teslimatlar)
   ============================================================ */
.adm-alert-card {
  padding:1rem 1.2rem; background:rgba(255,58,92,.04);
  border:var(--border-red); border-radius:10px; margin-bottom:.75rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap;
}
.adm-alert-card.warn { border-color:rgba(255,157,0,.35); background:rgba(255,157,0,.04); }
.adm-alert-card .alert-info { flex:1; }
.adm-alert-card .alert-title { font-family:var(--font-heading); font-size:.78rem; font-weight:700; margin-bottom:.2rem; }
.adm-alert-card .alert-sub   { font-size:.74rem; color:var(--text-muted); }

/* ============================================================
   CERTIFICATE MODAL
   ============================================================ */
.cert-box {
  background:#000; border:2px solid var(--gold);
  border-radius:16px; padding:2.5rem; text-align:center;
  box-shadow:0 0 40px rgba(255,215,0,.2), inset 0 0 80px rgba(255,215,0,.03);
  margin-bottom:1rem;
}
.cert-title  { font-family:var(--font-heading); font-size:1.1rem; letter-spacing:4px; color:var(--gold); margin-bottom:.5rem; }
.cert-sub    { font-size:.72rem; letter-spacing:2px; color:rgba(255,215,0,.5); margin-bottom:1.5rem; }
.cert-name   { font-family:var(--font-heading); font-size:1.5rem; font-weight:900; color:#fff; margin-bottom:.4rem; }
.cert-level  { font-family:var(--font-heading); font-size:1rem; color:var(--cyan); margin-bottom:1.5rem; letter-spacing:3px; }
.cert-no     { font-family:var(--font-heading); font-size:.6rem; letter-spacing:3px; color:rgba(255,215,0,.4); margin-bottom:.3rem; }
.cert-date   { font-size:.72rem; color:var(--text-muted); }
.cert-divider { border:none; border-top:1px solid rgba(255,215,0,.2); margin:1.2rem 0; }

/* ============================================================
   STEP INDICATOR (Multi-step modals)
   ============================================================ */
.adm-steps {
  display:flex; align-items:center; justify-content:center; gap:0;
  margin-bottom:1.5rem;
}
.adm-step-item {
  display:flex; align-items:center; gap:.4rem;
  font-family:var(--font-heading); font-size:.58rem; letter-spacing:1px; color:var(--text-muted);
}
.adm-step-item .step-num {
  width:26px; height:26px; border-radius:50%;
  border:2px solid rgba(255,255,255,.15); background:transparent;
  display:flex; align-items:center; justify-content:center;
  font-size:.65rem; font-weight:700; flex-shrink:0;
}
.adm-step-item.active .step-num { border-color:var(--red); background:rgba(255,58,92,.2); color:var(--red); }
.adm-step-item.done .step-num   { border-color:var(--green); background:rgba(0,230,118,.15); color:var(--green); }
.adm-step-connector { width:40px; height:2px; background:rgba(255,255,255,.1); margin:0 .3rem; }
.adm-step-connector.done { background:var(--red); }

/* Responsive */
@media (max-width:900px) {
  .admin-sidebar { position:fixed; left:0; top:0; z-index:100; transform:translateX(-100%); }
  .admin-sidebar.open { transform:translateX(0); }
  .sidebar-close-btn { display:block; }
  .admin-menu-btn { display:flex; }
  .adm-grid-2 { grid-template-columns:1fr; }
  .adm-grid-3 { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .admin-content { padding:1.2rem; }
  .adm-kpi-row { grid-template-columns:repeat(2,1fr); }
  .adm-grid-3 { grid-template-columns:1fr; }
  .adm-field-row { grid-template-columns:1fr; }
  .admin-topbar-date { display:none; }
}

/* ============================================================
   PD AI — Admin Panel (full base + red/purple accent overrides)
   ============================================================ */

@keyframes blink-dot {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.4; transform:scale(.85); }
}
@keyframes pulse-glow {
  0%,100% { opacity:.6; transform:scale(1); }
  50%     { opacity:1; transform:scale(1.05); }
}
@keyframes pdai-fadein {
  from { opacity:0; transform:translateY(6px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pdai-bounce {
  0%,80%,100% { transform:translateY(0); }
  40%         { transform:translateY(-5px); }
}

.pdai-widget {
  position: fixed;
  bottom: 28px; left: 28px;
  z-index: 9990;
  font-family: 'Space Grotesk', sans-serif;
}
.pdai-toggle {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 3px; width: 62px; height: 62px;
  border-radius: 50%; border: none;
  background: linear-gradient(135deg, #ff3a5c 0%, #7b2fff 100%);
  box-shadow: 0 0 22px rgba(255,58,92,.5), 0 0 44px rgba(255,58,92,.15);
  cursor: pointer; position: relative;
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  outline: none;
}
.pdai-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 0 32px rgba(255,58,92,.7), 0 0 60px rgba(123,47,255,.3);
}
.pdai-toggle-icon { font-size:22px; color:#fff; line-height:1; display:block; }
.pdai-toggle-label {
  font-family:'Orbitron',sans-serif; font-size:8px; font-weight:700;
  color:#fff; letter-spacing:.08em; line-height:1;
}
.pdai-badge {
  position:absolute; top:4px; right:4px;
  width:12px; height:12px; border-radius:50%;
  background:#ff2d78; border:2px solid #06041a;
  display:none; animation:blink-dot 1.4s ease-in-out infinite;
}
.pdai-badge.visible { display:block; }

.pdai-panel {
  position:absolute; bottom:76px; left:0;
  width:360px; height:500px;
  background:rgba(4,6,28,.97);
  border:1px solid rgba(255,58,92,.25); border-radius:20px;
  box-shadow:0 8px 48px rgba(0,0,0,.75), 0 0 40px rgba(255,58,92,.08);
  backdrop-filter:blur(14px);
  display:flex; flex-direction:column; overflow:hidden;
  transform:translateY(16px) scale(.96); opacity:0; pointer-events:none;
  transition:transform .32s cubic-bezier(.34,1.4,.64,1), opacity .28s ease;
  transform-origin:bottom left;
}
.pdai-panel.open { transform:translateY(0) scale(1); opacity:1; pointer-events:all; }

.pdai-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px;
  background:linear-gradient(135deg,rgba(255,58,92,.15) 0%,rgba(123,47,255,.18) 100%);
  border-bottom:1px solid rgba(255,58,92,.22); flex-shrink:0;
}
.pdai-header-info { display:flex; align-items:center; gap:12px; }
.pdai-avatar {
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg,#ff3a5c 0%,#7b2fff 100%);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; color:#fff; flex-shrink:0;
  box-shadow:0 0 14px rgba(255,58,92,.4);
  animation:pulse-glow 2.6s ease-in-out infinite;
}
.pdai-name {
  font-family:'Orbitron',sans-serif; font-size:13px; font-weight:700;
  color:#fff; letter-spacing:.06em;
}
.pdai-status {
  display:flex; align-items:center; gap:6px;
  font-size:11px; color:rgba(255,255,255,.55); margin-top:2px;
}
.pdai-dot {
  width:7px; height:7px; border-radius:50%; background:#00e676;
  display:inline-block; animation:blink-dot 2s ease-in-out infinite;
}
.pdai-close {
  background:none; border:none; color:rgba(255,255,255,.45);
  font-size:16px; cursor:pointer; padding:4px 6px; border-radius:6px;
  transition:color .2s,background .2s; line-height:1;
}
.pdai-close:hover { color:#fff; background:rgba(255,255,255,.08); }

.pdai-messages {
  flex:1; overflow-y:auto; padding:16px 14px;
  display:flex; flex-direction:column; gap:10px;
  scrollbar-width:thin; scrollbar-color:rgba(255,58,92,.25) transparent;
}
.pdai-messages::-webkit-scrollbar { width:4px; }
.pdai-messages::-webkit-scrollbar-track { background:transparent; }
.pdai-messages::-webkit-scrollbar-thumb { background:rgba(255,58,92,.25); border-radius:2px; }

.pdai-msg { display:flex; flex-direction:column; max-width:86%; animation:pdai-fadein .3s ease forwards; }
.pdai-msg.bot { align-self:flex-start; }
.pdai-msg.user { align-self:flex-end; }
.pdai-bubble { padding:10px 14px; border-radius:14px; font-size:13px; line-height:1.55; word-break:break-word; }
.pdai-msg.bot .pdai-bubble {
  background:rgba(123,47,255,.14); border:1px solid rgba(123,47,255,.3);
  color:rgba(255,255,255,.9); border-bottom-left-radius:4px;
}
.pdai-msg.user .pdai-bubble {
  background:rgba(255,58,92,.12); border:1px solid rgba(255,58,92,.3);
  color:rgba(255,255,255,.9); border-bottom-right-radius:4px;
}
.pdai-msg-time { font-size:10px; color:rgba(255,255,255,.3); margin-top:4px; padding:0 4px; }
.pdai-msg.user .pdai-msg-time { text-align:right; }

.pdai-typing {
  display:flex; align-items:center; gap:5px; padding:10px 14px;
  background:rgba(123,47,255,.1); border:1px solid rgba(123,47,255,.2);
  border-radius:14px; border-bottom-left-radius:4px;
  align-self:flex-start; animation:pdai-fadein .25s ease forwards;
}
.pdai-typing span {
  width:6px; height:6px; border-radius:50%; background:rgba(255,58,92,.7);
  animation:pdai-bounce 1.1s ease-in-out infinite;
}
.pdai-typing span:nth-child(2) { animation-delay:.18s; }
.pdai-typing span:nth-child(3) { animation-delay:.36s; }

.pdai-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 10px; flex-shrink:0; }
.pdai-chip {
  background:rgba(255,58,92,.07); border:1px solid rgba(255,58,92,.22);
  color:rgba(255,120,140,.85); border-radius:20px; padding:5px 12px;
  font-size:11.5px; font-family:'Space Grotesk',sans-serif;
  cursor:pointer; transition:background .2s,border-color .2s,color .2s; white-space:nowrap;
}
.pdai-chip:hover { background:rgba(255,58,92,.16); border-color:rgba(255,58,92,.5); color:#ff3a5c; }

.pdai-input-area {
  display:flex; align-items:center; gap:8px; padding:12px 14px;
  border-top:1px solid rgba(255,58,92,.12); flex-shrink:0;
}
.pdai-input {
  flex:1; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,58,92,.2); border-radius:10px;
  padding:9px 12px; color:#fff; font-size:13px;
  font-family:'Space Grotesk',sans-serif; outline:none; transition:border-color .2s;
}
.pdai-input::placeholder { color:rgba(255,255,255,.3); }
.pdai-input:focus { border-color:rgba(255,58,92,.5); }
.pdai-send {
  width:38px; height:38px; border-radius:10px; border:none;
  background:linear-gradient(135deg,#ff3a5c 0%,#7b2fff 100%);
  color:#fff; font-size:15px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s,box-shadow .2s; flex-shrink:0;
}
.pdai-send:hover { transform:scale(1.08); box-shadow:0 0 14px rgba(255,58,92,.4); }

@media (max-width:480px) {
  .pdai-widget { bottom:16px; left:12px; }
  .pdai-panel  { width:calc(100vw - 24px); left:0; }
}
