/* Inner Circle Academy admin. Bootstrap 5.3 in dark mode, re-toned to the Inner Circle warm black + champagne gold.
   Shape rule: panels 16px, inputs 10px, buttons pill. */
[data-bs-theme=dark]{
  --bs-body-bg:#080705; --bs-body-color:#F6F2E9; --bs-secondary-color:#ABA598; --bs-tertiary-color:#746F63;
  --bs-border-color:rgba(246,242,233,.12); --bs-border-color-translucent:rgba(246,242,233,.12);
  --bs-secondary-bg:#211D16; --bs-tertiary-bg:#17140F; --bs-emphasis-color:#FBF8F1;
  --bs-primary:#D9B572; --bs-primary-rgb:217,181,114; --bs-link-color:#F2D9A1; --bs-link-hover-color:#F7E4B9; --bs-link-color-rgb:242,217,161;
  --bs-body-font-family:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif; --bs-body-font-size:calc(var(--font-size) - 0.5px);
  --gold:#D9B572; --gold-2:#F2D9A1; --surface:#17140F; --surface-2:#211D16; --line:rgba(246,242,233,.09); --soft-line:rgba(246,242,233,.12); --soft-tint:#110F0B; --theme-base:#F2D9A1; --ink:#F6F2E9; --muted:#ABA598;
}
html{ font-size:calc(var(--font-size) + 1px); }   /* Bootstrap's rem sizes (buttons, inputs, headings) follow the base too */
body{ background:var(--bs-body-bg); }
.btn, .btn.rounded-3{ border-radius:999px !important; font-weight:600; }
.btn-primary{ --bs-btn-bg:#D9B572; --bs-btn-border-color:#D9B572; --bs-btn-color:#1B1505; --bs-btn-hover-bg:#F2D9A1; --bs-btn-hover-border-color:#F2D9A1; --bs-btn-hover-color:#1B1505; --bs-btn-active-bg:#C9A45C; --bs-btn-active-color:#1B1505; --bs-btn-disabled-bg:#D9B572; --bs-btn-disabled-color:#1B1505; }
.btn-outline-primary{ --bs-btn-color:#F2D9A1; --bs-btn-border-color:rgba(217,181,114,.5); --bs-btn-hover-bg:#D9B572; --bs-btn-hover-border-color:#D9B572; --bs-btn-hover-color:#1B1505; --bs-btn-active-bg:#D9B572; --bs-btn-active-color:#1B1505; }
.btn-primary{ background-image:linear-gradient(100deg, #F2D9A1, #D9B572); border-color:transparent; }
.btn-secondary{ --bs-btn-bg:transparent; --bs-btn-color:#F6F2E9; --bs-btn-border-color:rgba(246,242,233,.2); --bs-btn-hover-bg:rgba(246,242,233,.08); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:rgba(246,242,233,.35); --bs-btn-active-bg:rgba(246,242,233,.12); --bs-btn-active-color:#fff; --bs-btn-active-border-color:rgba(246,242,233,.35); }
.btn-outline-success{ --bs-btn-color:#76C3A9; --bs-btn-border-color:rgba(118,195,169,.5); --bs-btn-hover-bg:#76C3A9; --bs-btn-hover-border-color:#76C3A9; --bs-btn-hover-color:#07231A; --bs-btn-active-bg:#76C3A9; --bs-btn-active-border-color:#76C3A9; --bs-btn-active-color:#07231A; }
.btn-outline-danger{ --bs-btn-color:#F27C70; --bs-btn-border-color:rgba(242,124,112,.5); --bs-btn-hover-bg:#F27C70; --bs-btn-hover-border-color:#F27C70; --bs-btn-hover-color:#2A0B07; --bs-btn-active-bg:#F27C70; --bs-btn-active-border-color:#F27C70; --bs-btn-active-color:#2A0B07; }
.btn-light{ --bs-btn-bg:transparent; --bs-btn-color:#F6F2E9; --bs-btn-border-color:rgba(255,255,255,.18); --bs-btn-hover-bg:rgba(255,255,255,.06); --bs-btn-hover-color:#fff; --bs-btn-hover-border-color:rgba(255,255,255,.3); }
.btn-sm{ padding:.3rem .7rem; }
.form-control, .form-select{ border-radius:10px; background-color:rgba(255,255,255,.03); }
.form-control:focus, .form-select:focus{ border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(217,181,114,.18); background-color:rgba(255,255,255,.05); }
/* A button joined to an input is the end of that field, not a pill: same corners, border and fill as the input. */
.input-group > .btn{ border-radius:0 10px 10px 0 !important; }
.btn-outline-secondary{ --bs-btn-bg:rgba(255,255,255,.03); --bs-btn-color:var(--muted); --bs-btn-border-color:var(--bs-border-color); --bs-btn-hover-bg:rgba(255,255,255,.08); --bs-btn-hover-color:var(--ink); --bs-btn-hover-border-color:var(--bs-border-color); --bs-btn-active-bg:rgba(255,255,255,.12); --bs-btn-active-color:var(--ink); --bs-btn-active-border-color:var(--bs-border-color); }
.form-check-input:checked{ background-color:var(--gold); border-color:var(--gold); }
.form-label{ color:var(--muted); font-weight:500; }
.modal-content{ background:#14110D; border:1px solid var(--line) !important; border-radius:18px; }
.modal-header, .modal-footer{ border-color:var(--line); }
.card{ background:var(--surface); border:1px solid var(--line) !important; border-radius:16px !important; box-shadow:none !important; }
.table{ --bs-table-bg:transparent; --bs-table-hover-bg:rgba(255,255,255,.03); margin:0; }
.table > thead.table-light, .table-light{ --bs-table-bg:#110F0B; --bs-table-color:#ABA598; --bs-table-border-color:var(--line); }
.table thead th{ font-weight:500; font-size:calc(var(--font-size) - 2.5px); color:var(--muted); letter-spacing:.01em; }
.bg-dark-subtle{ background:rgba(255,255,255,.04) !important; color:var(--ink) !important; }
.badge.bg-success{ background:rgba(118,195,169,.15) !important; color:#76C3A9; font-weight:600; }
.badge.bg-secondary{ background:rgba(255,255,255,.08) !important; color:#ABA598; font-weight:600; }
.badge.bg-warning{ background:rgba(217,181,114,.18) !important; color:#F2D9A1 !important; }
.badge.bg-danger{ background:rgba(242,124,112,.15) !important; color:#F5A49B; font-weight:600; }
.badge-soft{ background:rgba(217,181,114,.12); color:#F2D9A1; font-weight:600; }
.dropdown-menu{ background:#17140F; border-color:var(--line); border-radius:14px; }
.pagination{ --bs-pagination-bg:transparent; --bs-pagination-active-bg:#D9B572; --bs-pagination-active-border-color:#D9B572; --bs-pagination-active-color:#1B1505; --bs-pagination-color:#F6F2E9; --bs-pagination-border-color:var(--line); }
.swal2-popup{ background:#17140F !important; color:#F6F2E9 !important; border:1px solid var(--line); border-radius:18px !important; }
.swal2-title, .swal2-html-container{ color:#F6F2E9 !important; }
.swal2-confirm{ background:#D9B572 !important; color:#1B1505 !important; border-radius:999px !important; }
.swal2-cancel, .swal2-deny{ border-radius:999px !important; }
.swal2-input, .swal2-popup .form-control{ color:#F6F2E9; }
/* rich editor on dark */
.rte-tb{ background:#110F0B !important; border-color:var(--line) !important; }
.rte-tb button, .rte-tb .rte-img{ color:#CFC9BB !important; }
.rte-tb button:hover, .rte-tb .rte-img:hover{ background:rgba(255,255,255,.08) !important; }
.rte-box{ background:#0E0C08 !important; color:#F6F2E9; border-color:var(--line) !important; }

/* ---------- shell ---------- */
.adm{ display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100dvh; }
.adm-side{ position:sticky; top:0; height:100dvh; background:#0E0C08; border-right:1px solid var(--line); display:flex; flex-direction:column; padding:20px 14px; gap:6px; }
.adm-brand{ display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; padding:2px 8px 18px; }
.adm-brand .mk{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(217,181,114,.55); display:grid; place-items:center; font:700 calc(var(--font-size) - 1px) Georgia,serif; color:var(--gold-2); background:rgba(217,181,114,.06); flex-shrink:0; }
.adm-brand b{ display:block; font-size:calc(var(--font-size) - 0.5px); line-height:1.2; }
.adm-brand span span{ display:block; font-size:calc(var(--font-size) - 3px); color:var(--gold-2); }
.adm-side .ui-tabs{ display:flex; flex-direction:column; gap:2px; border:0; }
.adm-side .ui-tab{ display:flex; align-items:center; gap:10px; text-align:left; border:0; background:transparent; color:var(--muted); padding:10px 12px; border-radius:12px; font-weight:500; }
.adm-side .ui-tab i{ width:18px; text-align:center; }
.adm-side .ui-tab:hover{ color:var(--ink); background:rgba(255,255,255,.04); }
.adm-side .ui-tab.on{ color:var(--ink); background:rgba(217,181,114,.1); box-shadow:inset 2px 0 0 var(--gold); }
.adm-side .ui-tab.on i{ color:var(--gold); }
.adm-side-foot{ margin-top:auto; }
.adm-side-foot .btn{ width:100%; display:flex; align-items:center; gap:8px; justify-content:flex-start; border-radius:12px; color:var(--muted); border:1px solid var(--line); }
.adm-main{ min-width:0; }
.adm-wrap{ max-width:1280px; margin:0 auto; padding:30px 34px 60px; }
.adm-h1{ font-size:calc(var(--font-size) + 11px); font-weight:650; letter-spacing:-.02em; margin:0 0 4px; }
.adm-sub{ color:var(--muted); margin:0 0 22px; }
.adm-top{ display:none; }
.stat{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px 20px; height:100%; }
.stat .n{ font:600 calc(var(--font-size) + 13px)/1.1 'Geist Mono',ui-monospace,monospace; margin-top:6px; }
.stat .l{ color:var(--muted); font-size:calc(var(--font-size) - 2px); }
.step{ display:flex; gap:14px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:18px; height:100%; }
.step .num{ width:30px; height:30px; border-radius:50%; background:rgba(217,181,114,.14); color:var(--gold-2); display:grid; place-items:center; font-weight:700; flex:0 0 auto; }
.up-bar{ height:6px; background:rgba(255,255,255,.08); border-radius:4px; overflow:hidden; width:180px; }
.up-bar > i{ display:block; height:100%; width:0; background:var(--gold); transition:width .2s; }
.ac-drop{ border:1.5px dashed rgba(217,181,114,.45); border-radius:16px; padding:34px 18px; text-align:center; color:var(--muted); background:rgba(217,181,114,.04); cursor:pointer; transition:background-color .2s, border-color .2s; }
.ac-drop:hover, .ac-drop.over{ background:rgba(217,181,114,.1); border-color:var(--gold); }
.ac-drop i{ font-size:calc(var(--font-size) + 15px); color:var(--gold); display:block; margin-bottom:10px; }
.ac-drop b{ color:var(--ink); display:block; font-size:var(--font-size); margin-bottom:4px; }
.ac-cover-th{ width:72px; height:40px; object-fit:cover; border-radius:8px; border:1px solid var(--line); background:#110F0B; }
@media (prefers-reduced-motion: no-preference){ .adm-wrap > *{ animation:adm-in .5s cubic-bezier(.16,1,.3,1) both; } }
@keyframes adm-in{ from{ opacity:0; transform:translateY(8px); } }

/* phone: top bar + horizontal menu */
@media (max-width:900px){
  .adm{ grid-template-columns:minmax(0,1fr); }   /* minmax: the scrolling tab row must not widen the page */
  .adm-side{ min-width:0; position:sticky; top:0; z-index:100; height:auto; flex-direction:row; flex-wrap:wrap; align-items:center; padding:10px 14px; gap:8px; background:rgba(14,12,8,.94); backdrop-filter:blur(14px); }
  .adm-brand{ padding:0; flex:1; }
  .adm-brand .mk{ width:32px; height:32px; }
  .adm-side-foot{ margin:0; }
  .adm-side-foot .btn{ width:auto; padding:.35rem .7rem; }
  .adm-side-foot .btn .lbl{ display:none; }
  .adm-side .ui-tabs{ order:3; flex-basis:100%; flex-direction:row; overflow-x:auto; scrollbar-width:none; gap:4px; margin:4px -14px -2px; padding:0 14px 4px; }
  .adm-side .ui-tabs::-webkit-scrollbar{ display:none; }
  .adm-side .ui-tab{ white-space:nowrap; padding:8px 12px; flex-shrink:0; }
  .adm-side .ui-tab.on{ box-shadow:inset 0 -2px 0 var(--gold); }
  .adm-wrap{ padding:18px 14px 50px; }
  #filter-container .col-md-6.ms-auto{ width:100%; }
  .modal-dialog{ margin:.5rem; }
}
