:root{
  /* BRAND (КПКІТП) — беремо з header.php якщо є, але даємо фолбеки */
  --kp-mint: #9FE7DD;
  --kp-mint-2: #6FD9CD;
  --kp-violet: #3B1F5E;
  --kp-violet-2: #2B1248;

  --bg: #F6FFFD;
  --text: #1E1B22;
  --muted: rgba(30,27,34,.68);
  --border: rgba(59,31,94,.14);

  --shadow: 0 14px 34px rgba(16,24,40,.10);
  --radius: 18px;
  --radius-sm: 14px;

  /* admin local tokens */
  --a-card: rgba(255,255,255,.86);
  --a-card-strong: rgba(255,255,255,.92);
  --a-border: rgba(59,31,94,.14);
  --a-border-strong: rgba(59,31,94,.20);
  --a-pill: rgba(255,255,255,.55);
  --a-pill-hover: rgba(255,255,255,.78);

  --a-primary: linear-gradient(180deg, rgba(59,31,94,.92) 0%, rgba(43,18,72,.98) 100%);
  --a-primary-ink: #ffffff;
  --a-danger: #b42318;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  color:var(--text);
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, 'Noto Sans', Arial, sans-serif;
  background: var(--bg);
}

/* ===== Admin wrapper ===== */
.container.admin-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:16px;
}

.admin-title{
  font-size: clamp(22px, 2.6vw, 32px);
  text-align:center;
  margin:6px 0 14px;
  color: var(--kp-violet);
  font-weight: 900;
  letter-spacing: .2px;
}

/* ===== Tabs ===== */
.admin-tabs{
  border-bottom: 1px solid rgba(59,31,94,.14);
}
.admin-tabs .nav-link{
  color: var(--kp-violet-2);
  font-weight: 900;
  font-size: 15px;

  background: var(--a-pill);
  border: 1px solid rgba(59,31,94,.14);
  border-bottom: 0;

  border-radius: 14px 14px 0 0;
  margin-right: 6px;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.admin-tabs .nav-link:hover{
  background: var(--a-pill-hover);
}
.admin-tabs .nav-link.active{
  background: linear-gradient(180deg, rgba(159,231,221,.55) 0%, rgba(255,255,255,.88) 100%);
  color: var(--kp-violet-2);
  border-color: rgba(59,31,94,.20);
}

/* ===== Cards/blocks ===== */
.card-block{
  background:
    radial-gradient(900px 420px at 10% 0%, rgba(159,231,221,.26) 0%, rgba(159,231,221,.06) 55%, rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.80) 100%);
  border: 1px solid var(--a-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
  margin-bottom: 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.block-title{
  font-size: clamp(16px, 2.0vw, 20px);
  margin: 0 0 10px 0;
  color: var(--kp-violet-2);
  font-weight: 900;
  letter-spacing: .2px;
}

/* ===== Forms ===== */
.form-label{ font-weight: 900; color: rgba(30,27,34,.72); }

.form-control{
  border: 1px solid rgba(59,31,94,.20);
  border-radius: 14px;
}
.form-control:focus{
  border-color: rgba(59,31,94,.26);
  box-shadow: 0 0 0 .2rem rgba(59,31,94,.14);
}

/* Buttons — під стиль КПКІТП (але тільки в адмінці) */
.admin-wrap .btn{
  border-radius: 14px;
  font-weight: 900;
  border-width: 1px;
}

.admin-wrap .btn-primary{
  background: var(--a-primary);
  color: var(--a-primary-ink);
  border-color: rgba(59,31,94,.12);
  box-shadow: 0 10px 18px rgba(16,24,40,.12);
}
.admin-wrap .btn-primary:hover{
  filter: brightness(1.03);
}

.admin-wrap .btn-outline-primary{
  background: rgba(255,255,255,.70);
  color: var(--kp-violet-2);
  border-color: rgba(59,31,94,.22);
}
.admin-wrap .btn-outline-primary:hover{
  background: rgba(255,255,255,.90);
  color: var(--kp-violet-2);
}

.admin-wrap .btn-outline-secondary{
  background: rgba(255,255,255,.70);
  color: var(--kp-violet-2);
  border-color: rgba(59,31,94,.22);
}
.admin-wrap .btn-outline-secondary:hover{
  background: rgba(255,255,255,.90);
}

.admin-wrap .btn-danger{
  background: #fff;
  color: var(--a-danger);
  border-color: rgba(180,35,24,.35);
}
.admin-wrap .btn-danger:hover{
  background: rgba(180,35,24,.08);
}

/* ===== Table ===== */
.table-responsive{
  border: 1px solid rgba(59,31,94,.14);
  border-radius: 16px;
  overflow: auto;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 22px rgba(16,24,40,.08);
}

.schedule-table{
  margin: 0;
}

.schedule-table th,
.schedule-table td{
  font-size: 14px;
  text-align: center;
  vertical-align: middle;
}

.schedule-table thead th{
  background: linear-gradient(180deg, rgba(159,231,221,.35) 0%, rgba(255,255,255,.88) 100%);
  font-weight: 900;
  color: var(--kp-violet-2);
  border-bottom: 1px solid rgba(59,31,94,.12) !important;
}

.schedule-table tbody tr:hover{
  background: rgba(159,231,221,.12);
}

/* На вузьких екранах дозволяємо перенос назви */
.text-break{ word-break: break-word; }

/* Bigger screens */
@media (min-width: 768px){
  .container.admin-wrap{ padding: 20px; }
  .schedule-table th, .schedule-table td{ font-size: 15px; }
}

@media (min-width: 1024px){
  .schedule-table th, .schedule-table td{ font-size: 16px; }
}
