/* Back-Office layout — dipakai bersama style.css */

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

.admin-sidebar{
  width:250px; flex:none; background:var(--biru-tua); color:#dbe6f7;
  padding:22px 16px; display:flex; flex-direction:column; gap:4px;
  position:sticky; top:0; height:100vh; overflow-y:auto;
}
.admin-brand{ display:flex; align-items:center; gap:10px; padding:6px 10px 20px; }
.admin-brand img{ height:34px; background:#fff; border-radius:8px; padding:3px; }
.admin-brand strong{ font-family:var(--font-tampil); color:#fff; font-size:.95rem; display:block; }
.admin-brand span{ font-size:.72rem; opacity:.7; }

.admin-nav a{
  display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px;
  font-weight:600; font-size:.88rem; color:#c9d9f2; margin-bottom:2px;
}
.admin-nav a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.admin-nav a.aktif{ background:var(--amber); color:#fff; }
.admin-nav .grup-label{ font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; opacity:.55; margin:16px 10px 6px; }

.admin-user{ margin-top:auto; padding:14px 10px 4px; border-top:1px solid rgba(255,255,255,.12); font-size:.8rem; }
.admin-user strong{ display:block; color:#fff; }
.admin-user form{ margin-top:8px; }
.admin-user button{ background:none; border:none; color:#f3c6bd; font-weight:700; cursor:pointer; padding:0; font-size:.8rem; }

.admin-main{ flex:1; min-width:0; background:var(--krem); }
.admin-topbar{
  display:flex; justify-content:space-between; align-items:center; padding:18px 30px;
  background:#fff; border-bottom:1px solid var(--garis); position:sticky; top:0; z-index:10;
}
.admin-content{ padding:28px 30px 60px; max-width:1200px; }

.admin-sidebar-toggle{ display:none; }
@media (max-width: 980px){
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{ width:100%; height:auto; position:relative; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .admin-brand{ padding:6px 10px; }
  .admin-nav{ display:flex; flex-wrap:wrap; gap:4px; }
  .admin-user{ margin-left:auto; border-top:none; padding:0; }
  .admin-content{ padding:20px; }
  .admin-topbar{ padding:14px 20px; }
}

/* Statistik */
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:30px; }
.stat-kartu{ background:#fff; border:1px solid var(--garis); border-radius:var(--radius-m); padding:20px; }
.stat-kartu .angka{ font-family:var(--font-tampil); font-size:2rem; color:var(--biru-tua); }
.stat-kartu .label{ font-size:.82rem; color:var(--tinta-lembut); font-weight:600; }
@media (max-width:980px){ .stat-grid{ grid-template-columns:repeat(2,1fr); } }

/* Tabel data */
.tabel-wrap{ background:#fff; border:1px solid var(--garis); border-radius:var(--radius-m); overflow:hidden; }
table.data{ width:100%; border-collapse:collapse; font-size:.9rem; }
table.data th, table.data td{ padding:13px 16px; text-align:left; border-bottom:1px solid var(--garis); vertical-align:top; }
table.data th{ background:var(--biru-tint); color:var(--biru-tua); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
table.data tr:last-child td{ border-bottom:none; }
table.data td.aksi{ white-space:nowrap; }
.tabel-scroll{ overflow-x:auto; }

/* Form panel admin */
.form-panel{ background:#fff; border:1px solid var(--garis); border-radius:var(--radius-m); padding:24px; margin-bottom:26px; }
.form-panel h3{ margin-top:0; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .lebar{ grid-column:1/-1; }
.form-baris{ margin-bottom:16px; }
.form-baris label{ display:block; font-weight:700; font-size:.85rem; color:var(--biru-tua); margin-bottom:6px; }
.form-bantuan{ font-size:.78rem; color:var(--tinta-lembut); margin-top:4px; }
.checkbox-baris{ display:flex; align-items:center; gap:8px; }
.checkbox-baris input{ width:auto; }
@media (max-width:700px){ .form-grid{ grid-template-columns:1fr; } }

.badge{ padding:3px 10px; border-radius:999px; font-size:.72rem; font-weight:700; }
.badge-hijau{ background:var(--hijau-tint); color:#276542; }
.badge-amber{ background:var(--amber-tint); color:#9A5518; }
.badge-abu{ background:#eee; color:#666; }

.login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(60% 80% at 85% 10%, rgba(233,138,46,0.14), transparent 60%),
    linear-gradient(180deg, #EFF4FB 0%, var(--krem) 80%);
  padding:20px;
}
.login-kartu{ width:100%; max-width:390px; background:#fff; border-radius:var(--radius-l); padding:36px 32px; box-shadow:var(--bayangan); border:1px solid var(--garis); }
.login-kartu img{ height:52px; margin:0 auto 14px; }
.login-akun-demo{ margin-top:20px; font-size:.78rem; background:var(--biru-tint); padding:12px 14px; border-radius:10px; color:var(--biru-utama); line-height:1.7; }
