:root{
  --adm-bg:#f6f7fb;
  --adm-card:#ffffff;
  --adm-text:#0f172a;
  --adm-muted:#64748b;
  --adm-border:rgba(15,23,42,.10);
  --adm-shadow:0 10px 30px rgba(15,23,42,.08);
  --adm-radius:18px;
  --adm-brand:#dc2626;
  --adm-brand-2:#ef4444;
}

html,body{height:100%}
body.adm-body{
  background:var(--adm-bg);
  color:var(--adm-text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}

.adm-shell{min-height:100vh;display:flex}

/* Sidebar */
.adm-sidebar{
  width:280px;
  background:var(--adm-card);
  border-right:1px solid var(--adm-border);
  position:sticky;
  top:0;
  height:100vh;
  padding:18px 14px;
  overflow-y: auto;
}
.adm-sidebar::-webkit-scrollbar {
  width: 5px;
}
.adm-sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.adm-sidebar::-webkit-scrollbar-thumb {
  background: rgba(15,23,42,0.15);
  border-radius: 10px;
}
.adm-sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--adm-muted);
}
.adm-brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--adm-text);
}
.adm-brand:hover{background:rgba(15,23,42,.03)}
.adm-brand img{width:36px;height:36px;border-radius:12px}
.adm-brand-title{font-weight:800;line-height:1.1}
.adm-brand-sub{font-size:12px;color:var(--adm-muted)}

.adm-nav{margin-top:14px;display:flex;flex-direction:column;gap:4px}
.adm-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--adm-text);
}
.adm-link small{color:var(--adm-muted)}
.adm-link:hover{background:rgba(15,23,42,.03)}
.adm-link.is-active{
  background:rgba(220,38,38,.08);
  color:var(--adm-brand);
}
.adm-link .bi{font-size:18px}
.adm-nav-section{
  margin:14px 8px 6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--adm-muted);
  text-transform:uppercase;
}

/* Main */
.adm-main{flex:1;min-width:0;display:flex;flex-direction:column}
.adm-topbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(246,247,251,.85);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--adm-border);
}
.adm-topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
}
.adm-burger{
  border:1px solid var(--adm-border);
  background:var(--adm-card);
  border-radius:14px;
  padding:8px 10px;
  line-height:1;
}
.adm-burger .bi{font-size:18px}
.adm-userchip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--adm-border);
  background:var(--adm-card);
  border-radius:999px;
}
.adm-avatar{
  width:30px;height:30px;border-radius:10px;
  background:linear-gradient(135deg, rgba(220,38,38,.18), rgba(239,68,68,.08));
  display:grid;place-items:center;
  color:var(--adm-brand);
  font-weight:800;
}

/* Forms (global polish) */
.adm-content .card{
  border-radius: var(--adm-radius);
  border: 1px solid var(--adm-border);
  box-shadow: var(--adm-shadow);
}
.adm-content .card-header{
  background: transparent;
  border-bottom: 1px solid var(--adm-border);
  padding: 16px 18px;
}
.adm-content .card-body{padding:18px}
.adm-content .form-label{
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .03em;
  color: var(--adm-muted);
  text-transform: uppercase;
}
.adm-content .form-control,
.adm-content .form-select,
.adm-content textarea.form-control{
  border-radius: 14px;
  border-color: rgba(15,23,42,.12);
  padding: 10px 12px;
}
.adm-content .form-control:focus,
.adm-content .form-select:focus{
  border-color: rgba(220,38,38,.35);
  box-shadow: 0 0 0 .2rem rgba(220,38,38,.12);
}
.adm-content .btn{
  border-radius: 14px;
  font-weight: 800;
}
.adm-content{padding:18px;flex:1 1 auto}

.adm-footer{
  margin-top:auto;
  background:rgba(246,247,251,.85);
  backdrop-filter: blur(10px);
  border-top:1px solid var(--adm-border);
}

.adm-flash{max-width:1100px;margin:0 auto 12px}

/* Cards/tables/forms (compat with existing views) */
.card{
  border:1px solid var(--adm-border);
  border-radius:var(--adm-radius);
  box-shadow:var(--adm-shadow);
}
.card-header{
  background:transparent;
  border-bottom:1px solid var(--adm-border);
  padding:16px 18px;
  font-weight:800;
}
.card-body{padding:16px 18px}
.main-title{color:var(--adm-text);font-weight:900;font-size:18px;margin:0}
.m-b-30{margin-bottom:1.25rem}

.table{
  --bs-table-bg: transparent;
  margin-bottom:0;
}
.table thead th{
  color:var(--adm-muted);
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--adm-border);
}
.table td{vertical-align:middle;border-top:1px solid var(--adm-border)}

.btn{
  border-radius:14px;
  font-weight:700;
}
.btn-danger{background:var(--adm-brand);border-color:var(--adm-brand)}
.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}

/* Responsive sidebar */
@media (max-width: 992px){
  .adm-sidebar{
    position:fixed;
    left:-320px;
    top:0;
    height:100vh;
    z-index:50;
    transition:left .2s ease;
  }
  body.adm-sidebar-open .adm-sidebar{left:0}
  .adm-content{padding:14px}
}

/* Small admin helpers */
.adm-kpi{
  display:flex;gap:12px;flex-wrap:wrap
}
.adm-kpi .adm-kpi-card{
  flex:1 1 220px;
  background:var(--adm-card);
  border:1px solid var(--adm-border);
  border-radius:var(--adm-radius);
  box-shadow:var(--adm-shadow);
  padding:16px;
}
.adm-kpi-label{color:var(--adm-muted);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.adm-kpi-value{font-size:26px;font-weight:900;margin-top:6px}

/* Login page (root/login.php) */
.adm-login-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.adm-login-card{
  width:100%;
  max-width:980px;
  background:var(--adm-card);
  border:1px solid var(--adm-border);
  border-radius:calc(var(--adm-radius) + 6px);
  box-shadow:var(--adm-shadow);
  overflow:hidden;
}
.adm-login-aside{
  background:linear-gradient(135deg, rgba(220,38,38,.10), rgba(239,68,68,.04));
}
.adm-logo{
  width:44px;
  height:44px;
  border-radius:16px;
}
.adm-muted{color:var(--adm-muted)}
.adm-kicker{letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--adm-muted)}
.adm-title{font-weight:900}
.adm-input{border-radius:14px;border:1px solid var(--adm-border);padding:.7rem .9rem}
.adm-input:focus{border-color:rgba(220,38,38,.35);box-shadow:0 0 0 .25rem rgba(220,38,38,.12)}
.adm-btn{border-radius:14px;font-weight:800;padding:.75rem 1rem}
.adm-btn-primary{background:var(--adm-brand);border:1px solid var(--adm-brand)}
.adm-btn-primary:hover{background:#b91c1c;border-color:#b91c1c}
.adm-help a{color:var(--adm-brand);font-weight:800;text-decoration:none}
.adm-help a:hover{text-decoration:underline}

/* Global Checkbox Sizing */
.form-check-input {
  width: 1.35em;
  height: 1.35em;
  cursor: pointer;
}
.form-check-input:checked {
  background-color: var(--adm-brand);
  border-color: var(--adm-brand);
}
