/* ── ADMIN PORTAL STYLES ── */
.admin-shell {
  display:none;flex-direction:column;min-height:100vh;background:var(--bg);
}
.admin-topbar {
  background:var(--bgt);border-bottom:2px solid var(--cr);height:54px;
  padding:0 18px;display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;box-shadow:var(--sh);
}
.admin-topbar-left { display:flex;align-items:center;gap:12px; }
.admin-badge {
  font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:3px 8px;border-radius:3px;
  background:var(--cr);color:#fff;
}
.admin-back {
  font-family:var(--fd);font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;padding:6px 12px;border-radius:5px;
  border:1px solid var(--bd);background:transparent;color:var(--t2);cursor:pointer;
  transition:all .15s;
}
.admin-back:hover { color:var(--t1);border-color:var(--t3); }

.admin-layout { display:flex;flex:1; }
.admin-sidebar {
  width:196px;background:var(--bgs);border-right:1px solid var(--bd);
  padding:16px 0;flex-shrink:0;
}
.admin-nav-label {
  font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--t4);padding:0 14px 8px;
}
.admin-tab-btn {
  display:flex;align-items:center;gap:9px;width:100%;padding:9px 14px;
  font-size:13px;color:var(--t3);cursor:pointer;transition:all .15s;
  border:none;border-left:2px solid transparent;background:transparent;
  font-weight:500;font-family:var(--fb);text-align:left;
}
.admin-tab-btn:hover { color:var(--t1);background:var(--bs2); }
.admin-tab-btn.on {
  color:var(--cr);border-left-color:var(--cr);background:rgba(139,26,46,0.07);
}
[data-theme=dark] .admin-tab-btn.on { color:#E87A8A;border-left-color:#E87A8A; }

.admin-content { flex:1;padding:24px;overflow:auto; }
.admin-pg { display:none; }
.admin-ph { margin-bottom:22px; }
.admin-ph h1 {
  font-family:var(--fd);font-size:25px;font-weight:700;
  color:var(--t1);letter-spacing:.04em;
}
[data-theme=dark] .admin-ph h1 { color:#1e1b18; }
.admin-ph p { font-size:13px;color:var(--t2);margin-top:3px; }

/* ── ORG CHART ── */
.org-node { margin-bottom:6px; }
.org-card {
  display:flex;align-items:center;gap:12px;
  background:var(--bgc);border:1px solid var(--bd);border-radius:var(--r);
  padding:10px 14px;max-width:520px;transition:border-color .15s;
}
[data-theme=dark] .org-card { border-color:rgba(255,255,255,0.12); }
.org-card.org-manager { border-left:3px solid var(--go); }
.org-card.org-admin   { border-left:3px solid var(--cr); }
.org-avatar {
  width:36px;height:36px;border-radius:50%;background:var(--bs2);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-size:13px;font-weight:700;color:var(--t2);flex-shrink:0;
}
.org-card.org-manager .org-avatar { background:rgba(201,150,58,0.15);color:var(--go); }
.org-card.org-admin   .org-avatar { background:rgba(139,26,46,0.15);color:var(--cr); }
[data-theme=dark] .org-card.org-admin .org-avatar { color:#E87A8A; }
.org-info { flex:1;min-width:0; }
.org-name  { font-size:13px;font-weight:600;color:var(--t1); }
.org-meta  { font-size:11px;color:var(--t3);margin-top:1px; }
.org-email { font-size:11px;color:var(--t4); }
.org-count {
  font-family:var(--fd);font-size:11px;font-weight:700;
  padding:2px 8px;border-radius:10px;
  background:rgba(201,150,58,0.12);color:var(--god);white-space:nowrap;
}
.org-admin-badge {
  font-size:9px;font-weight:700;padding:1px 5px;border-radius:2px;
  background:var(--cr);color:#fff;text-transform:uppercase;letter-spacing:.04em;
  vertical-align:middle;margin-left:4px;
}

/* Tree connector line */
.org-children {
  border-left:2px solid var(--bd);
  margin-left:18px;
  padding-left:0;
  margin-top:4px;
}
[data-theme=dark] .org-children { border-left-color:rgba(255,255,255,0.1); }

/* ── LEAVE TYPES ── */
.adm-lt-row {
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;border-bottom:1px solid var(--bd);gap:12px;
}
.adm-lt-row:last-child { border-bottom:none; }
.adm-lt-info  { display:flex;align-items:center;gap:10px;flex:1; }
.adm-lt-label { font-size:13px;color:var(--t1); }
.adm-lt-actions { display:flex;align-items:center;gap:10px; }
.adm-add-row {
  display:grid;grid-template-columns:140px 1fr auto;
  gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--bd);
}

/* ── TOGGLE SWITCH ── */
.adm-toggle {
  position:relative;display:inline-block;width:36px;height:20px;cursor:pointer;
}
.adm-toggle input { opacity:0;width:0;height:0; }
.adm-toggle-track {
  position:absolute;inset:0;border-radius:20px;
  background:var(--bd);transition:background .2s;
}
.adm-toggle-track::before {
  content:'';position:absolute;width:14px;height:14px;border-radius:50%;
  background:#fff;top:3px;left:3px;transition:transform .2s;
}
.adm-toggle input:checked + .adm-toggle-track { background:var(--cr); }
.adm-toggle input:checked + .adm-toggle-track::before { transform:translateX(16px); }

/* ── EMAIL TEMPLATES ── */
.tpl-tabs { display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap; }
.tpl-btn {
  font-family:var(--fd);font-size:11px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;padding:5px 12px;border-radius:4px;
  border:1px solid var(--bd);background:transparent;color:var(--t3);
  cursor:pointer;transition:all .15s;
}
.tpl-btn.on {
  border-color:var(--cr);color:var(--cr);background:rgba(139,26,46,0.08);
}
[data-theme=dark] .tpl-btn.on { color:#E87A8A;border-color:#E87A8A; }

/* Variable chips */
.var-chips-label {
  font-size:11px;font-weight:600;color:var(--t3);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;
}
.var-chips {
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;
  padding:12px;background:var(--bs2);border-radius:var(--r);
  border:1px solid var(--bd);
}
.var-chip {
  display:inline-flex;align-items:center;gap:5px;
  font-family:monospace;font-size:12px;font-weight:600;
  padding:5px 10px;border-radius:4px;cursor:pointer;
  background:var(--bgc);border:1px solid var(--bdg);
  color:var(--god);transition:all .15s;user-select:none;
  line-height:1;
}
[data-theme=dark] .var-chip { color:var(--gol); }
.var-chip:hover {
  background:rgba(201,150,58,0.15);border-color:var(--go);
  color:var(--go);transform:translateY(-1px);
}
.var-chip:active { transform:translateY(0); }
.var-chip-icon { font-size:11px;opacity:.5;font-family:var(--fb); }
.var-chip-desc {
  font-size:10px;color:var(--t4);font-family:var(--fb);
  font-weight:400;font-style:italic;
}

/* Template fields */
.tpl-field-wrap { margin-bottom:12px; }
.tpl-field-label {
  display:block;font-size:11px;font-weight:600;color:var(--t3);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;
}
.tpl-field-focused {
  border-color:var(--go) !important;
  box-shadow:0 0 0 2px rgba(201,150,58,0.15) !important;
}

/* Live preview */
.tpl-preview-wrap {
  margin-top:16px;padding:14px;
  background:var(--bs2);border-radius:var(--r);border:1px solid var(--bd);
}
.tpl-preview-label {
  font-size:10px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--t4);margin-bottom:10px;
}
.tpl-preview-subject {
  font-size:13px;font-weight:600;color:var(--t1);margin-bottom:6px;
}
.tpl-preview-body { font-size:13px;color:var(--t2);line-height:1.6; }
.tpl-highlight {
  background:rgba(201,150,58,0.15);color:var(--god);
  padding:1px 4px;border-radius:3px;font-weight:600;
}
[data-theme=dark] .tpl-highlight { color:var(--gol); }

.adm-loading { text-align:center;padding:40px;color:var(--t3);font-size:13px; }
