/* =========================================================
   Luxe Slate Design System — School CMS
   Lightweight custom theme. No external theme pack or web font dependency.
   ========================================================= */
:root{
  color-scheme:light;
  --brand-accent:#0f766e;
  --lux-ink:#101828;
  --lux-ink-2:#344054;
  --lux-muted:#667085;
  --lux-bg:#f6f7f9;
  --lux-surface:#ffffff;
  --lux-surface-2:#f9fafb;
  --lux-border:#e7eaf0;
  --lux-border-strong:#d9dee7;
  --lux-navy:#0b1220;
  --lux-navy-2:#111b2e;
  --lux-gold:#b58a55;
  --lux-success:#178b62;
  --lux-warning:#b7791f;
  --lux-danger:#c2414b;
  --lux-info:#316a9e;
  --lux-radius-sm:10px;
  --lux-radius:14px;
  --lux-radius-lg:20px;
  --lux-shadow-xs:0 1px 2px rgba(16,24,40,.04);
  --lux-shadow-sm:0 8px 24px rgba(16,24,40,.06);
  --lux-shadow:0 18px 48px rgba(16,24,40,.09);
  --lux-shadow-lg:0 30px 80px rgba(16,24,40,.14);
  --lux-ease:cubic-bezier(.22,.8,.22,1);
  --bs-primary:var(--brand-accent);
  --bs-secondary:#667085;
  --bs-success:var(--lux-success);
  --bs-info:var(--lux-info);
  --bs-warning:var(--lux-warning);
  --bs-danger:var(--lux-danger);
  --bs-light:#f8fafc;
  --bs-dark:var(--lux-navy);
  --bs-body-color:var(--lux-ink);
  --bs-body-bg:var(--lux-surface);
  --bs-secondary-color:var(--lux-muted);
  --bs-tertiary-bg:var(--lux-bg);
  --bs-border-color:var(--lux-border);
  --bs-emphasis-color:var(--lux-ink);
  --bs-primary-bg-subtle:color-mix(in srgb,var(--brand-accent) 10%,white);
  --bs-primary-border-subtle:color-mix(in srgb,var(--brand-accent) 24%,white);
  --bs-primary-text-emphasis:color-mix(in srgb,var(--brand-accent) 82%,#07111f);
}
html,body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{font-size:15px;letter-spacing:-.006em}
h1,h2,h3,h4,h5,h6{color:var(--lux-ink);font-weight:760;letter-spacing:-.03em}
p{color:var(--lux-ink-2)}
.text-secondary,.text-muted{color:var(--lux-muted)!important}.text-primary{color:var(--brand-accent)!important}.bg-primary{background-color:var(--brand-accent)!important}.border-primary{border-color:var(--brand-accent)!important}
.link-primary{color:var(--brand-accent)!important}.link-primary:hover{color:color-mix(in srgb,var(--brand-accent) 78%,#07111f)!important}

/* Buttons */
.btn{--bs-btn-border-radius:12px;min-height:42px;font-weight:700;letter-spacing:-.01em;box-shadow:none;transition:transform .18s var(--lux-ease),box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn:active{transform:scale(.985)}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:var(--brand-accent);--bs-btn-border-color:var(--brand-accent);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:color-mix(in srgb,var(--brand-accent) 86%,#07111f);--bs-btn-hover-border-color:color-mix(in srgb,var(--brand-accent) 86%,#07111f);--bs-btn-active-bg:color-mix(in srgb,var(--brand-accent) 78%,#07111f);--bs-btn-active-border-color:color-mix(in srgb,var(--brand-accent) 78%,#07111f);box-shadow:0 8px 18px color-mix(in srgb,var(--brand-accent) 18%,transparent)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px color-mix(in srgb,var(--brand-accent) 22%,transparent)}
.btn-outline-primary{--bs-btn-color:var(--brand-accent);--bs-btn-border-color:color-mix(in srgb,var(--brand-accent) 38%,var(--lux-border));--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--brand-accent);--bs-btn-hover-border-color:var(--brand-accent);background:#fff}
.btn-outline-secondary{--bs-btn-color:var(--lux-ink-2);--bs-btn-border-color:var(--lux-border-strong);--bs-btn-hover-bg:var(--lux-surface-2);--bs-btn-hover-color:var(--lux-ink);--bs-btn-hover-border-color:#cbd2dc;background:#fff}
.btn-light{--bs-btn-bg:#fff;--bs-btn-border-color:rgba(255,255,255,.62);--bs-btn-hover-bg:#f8fafc;--bs-btn-hover-border-color:#fff;color:var(--lux-ink)!important}

/* Surfaces */
.card{--bs-card-border-color:var(--lux-border);--bs-card-bg:var(--lux-surface);border-radius:var(--lux-radius);box-shadow:var(--lux-shadow-xs)}
.dropdown-menu{--bs-dropdown-border-color:var(--lux-border);--bs-dropdown-border-radius:14px;--bs-dropdown-box-shadow:var(--lux-shadow);padding:.45rem;box-shadow:var(--lux-shadow)}
.dropdown-item{border-radius:9px;padding:.55rem .7rem}.dropdown-item:active,.dropdown-item.active{background:var(--brand-accent)}
.modal-content,.offcanvas{border-color:var(--lux-border);box-shadow:var(--lux-shadow-lg)}
.badge{font-weight:700;letter-spacing:.01em;border-radius:999px;padding:.42em .68em}
.text-bg-primary{background:var(--brand-accent)!important}.text-bg-success{background:var(--lux-success)!important}.text-bg-danger{background:var(--lux-danger)!important}.text-bg-warning{background:#f4c56b!important;color:#4b3412!important}.text-bg-secondary{background:#667085!important}
.text-bg-primary-subtle{background:color-mix(in srgb,var(--brand-accent) 10%,white)!important}.text-primary-emphasis{color:color-mix(in srgb,var(--brand-accent) 82%,#07111f)!important}

/* Forms */
.form-label{color:var(--lux-ink-2);font-size:.8rem;font-weight:720}
.form-control,.form-select{border-color:var(--lux-border-strong);background-color:#fff;color:var(--lux-ink);border-radius:12px;box-shadow:var(--lux-shadow-xs)}
.form-control:hover,.form-select:hover{border-color:#c7ced8}.form-control:focus,.form-select:focus{border-color:color-mix(in srgb,var(--brand-accent) 60%,white);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--brand-accent) 12%,transparent)}
.form-control::placeholder{color:#98a2b3}.form-text{color:var(--lux-muted);font-size:.72rem}
.form-check-input:checked{background-color:var(--brand-accent);border-color:var(--brand-accent)}

/* Tables */
.table{--bs-table-color:var(--lux-ink-2);--bs-table-bg:transparent;--bs-table-border-color:var(--lux-border);--bs-table-hover-bg:#f8fafb;vertical-align:middle}
.table thead th{color:var(--lux-muted);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;border-bottom-color:var(--lux-border-strong);background:#fafbfc}
.table>tbody>tr:last-child>*{border-bottom-width:0}

/* Feedback */
.alert{border-width:1px;background:#fff}.alert-success{border-color:#bce8d4;color:#0f694a;background:#f2fbf7}.alert-danger{border-color:#f1c2c7;color:#9f2934;background:#fff5f6}.alert-warning{border-color:#f0dbab;color:#775514;background:#fffbef}.alert-info{border-color:#c8ddeb;color:#24577e;background:#f3f9fd}

/* Premium details */
.lux-eyebrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--lux-gold);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.lux-hairline{height:1px;background:linear-gradient(90deg,transparent,var(--lux-border-strong),transparent)}
::selection{background:color-mix(in srgb,var(--brand-accent) 18%,transparent)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 35%,transparent)!important;outline-offset:2px}

/* Scrollbar */
*{scrollbar-width:thin;scrollbar-color:#cbd3de transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#cbd3de;border-radius:999px;border:2px solid transparent;background-clip:padding-box}

@media(max-width:767.98px){body{font-size:14px}.btn{min-height:44px}.card{border-radius:16px}}
