/* =========================================================
   Catechism CMS — Admin panel stylesheet
   ========================================================= */
:root{
  --maroon:#6e1423;
  --maroon-deep:#4c0e18;
  --gold:#c9a227;
  --cream:#fbf7ee;
  --ink:#2a2420;
  --line:#e7ddc7;
  --sidebar-w:250px;
}

body{
  font-family:'Source Sans 3', -apple-system, sans-serif;
  background:#f4f1ea;
  color:var(--ink);
}

/* ---------- Sidebar ---------- */
.admin-sidebar{
  position:fixed; top:0; left:0; bottom:0; width:var(--sidebar-w);
  background:var(--maroon-deep); color:#f1e6d8; overflow-y:auto; z-index:1000;
}
.admin-sidebar .brand{
  display:flex; align-items:center; gap:.6rem; padding:1.3rem 1.2rem;
  border-bottom:1px solid rgba(255,255,255,.1); color:#fff; text-decoration:none;
}
.admin-sidebar .brand img{height:36px;}
.admin-sidebar .brand span{font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem;}
.admin-sidebar .nav-section{padding:1rem 1.2rem .4rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#b98a92;}
.admin-sidebar a.nav-link{
  color:#f1e6d8; padding:.65rem 1.2rem; display:flex; align-items:center; gap:.7rem; font-size:.92rem;
  border-left:3px solid transparent;
}
.admin-sidebar a.nav-link i{width:18px; text-align:center;}
.admin-sidebar a.nav-link:hover{background:rgba(255,255,255,.06); color:#fff;}
.admin-sidebar a.nav-link.active{background:rgba(255,255,255,.1); border-left-color:var(--gold); color:#fff; font-weight:600;}
.admin-sidebar .badge-count{margin-left:auto; background:var(--gold); color:var(--maroon-deep); border-radius:999px; font-size:.7rem; padding:.15rem .5rem; font-weight:700;}

/* ---------- Main area ---------- */
.admin-main{ margin-left:var(--sidebar-w); min-height:100vh; }
.admin-topbar{
  background:#fff; border-bottom:1px solid var(--line); padding:.9rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:900;
}
.admin-topbar h1{font-size:1.25rem; font-family:'Fraunces',serif; margin:0; font-weight:600;}
.admin-content{padding:1.8rem;}

.admin-user-menu{display:flex; align-items:center; gap:.7rem;}
.admin-user-menu .avatar{
  width:36px;height:36px;border-radius:50%; background:var(--maroon); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem;
}
.role-badge{font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; padding:.15rem .5rem; border-radius:999px; font-weight:700;}
.role-badge.superadmin{background:#f7e6c4; color:#8a5a00;}
.role-badge.editor{background:#dce8db; color:#3c6b3c;}

/* ---------- Cards / tables ---------- */
.admin-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.5rem;}
.stat-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:1.4rem; display:flex; align-items:center; gap:1rem;}
.stat-card .icon{
  width:52px;height:52px;border-radius:12px; background:var(--cream); color:var(--maroon);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.stat-card .num{font-size:1.6rem; font-weight:700; font-family:'Fraunces',serif;}
.stat-card .label{font-size:.82rem; color:#7a7268;}

.table-admin thead th{
  background:var(--cream); border-bottom:2px solid var(--line); font-size:.78rem;
  text-transform:uppercase; letter-spacing:.04em; color:#7a7268; font-weight:700;
}
.table-admin td{vertical-align:middle; font-size:.92rem;}
.table-admin img.thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;}

.btn-maroon{background:var(--maroon); color:#fff; border:none; font-weight:600;}
.btn-maroon:hover{background:var(--maroon-deep); color:#fff;}
.btn-gold-admin{background:var(--gold); color:var(--maroon-deep); border:none; font-weight:700;}
.btn-gold-admin:hover{opacity:.9; color:var(--maroon-deep);}

.status-pill{font-size:.72rem; padding:.2rem .6rem; border-radius:999px; font-weight:700; text-transform:uppercase;}
.status-pill.published, .status-pill.active-pill{background:#dcecdc; color:#2f6b2f;}
.status-pill.draft, .status-pill.inactive-pill{background:#f2e3d5; color:#8a5a20;}

.login-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(120% 140% at 15% 10%, var(--maroon) 0%, var(--maroon-deep) 55%, #300a10 100%);
}
.login-card{background:#fff; border-radius:20px; padding:2.6rem; width:100%; max-width:400px; box-shadow:0 30px 60px rgba(0,0,0,.3);}
.login-card img{height:56px; display:block; margin:0 auto 1rem;}

.form-label{font-weight:600; font-size:.88rem;}
.form-control:focus, .form-select:focus{border-color:var(--maroon); box-shadow:0 0 0 .2rem rgba(110,20,35,.12);}

@media (max-width: 991px){
  .admin-sidebar{ transform:translateX(-100%); transition:transform .2s ease; }
  .admin-sidebar.open{ transform:translateX(0); }
  .admin-main{ margin-left:0; }
}
