:root { --admin-navy:#082642; --admin-blue:#135f9b; --admin-red:#e31e2f; --admin-bg:#f4f7fb; }
body.admin-body { margin:0; background:var(--admin-bg); font-family:Inter,"Segoe UI",sans-serif; color:#193247; }
.admin-shell { min-height:100vh; display:flex; }
.admin-sidebar { width:270px; min-height:100vh; position:fixed; inset:0 auto 0 0; display:flex; flex-direction:column; background:linear-gradient(180deg,#0b2a4a,#061a2d); color:#fff; z-index:1040; transition:.25s; }
.admin-brand { display:flex; align-items:center; gap:.85rem; padding:1.25rem 1.2rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.09); }
.admin-brand img { width:50px; height:50px; object-fit:contain; border-radius:50%; background:#fff; }
.admin-brand span { display:flex; flex-direction:column; }
.admin-brand small { color:rgba(255,255,255,.6); font-size:.72rem; }
.admin-nav { padding:1.2rem .85rem; display:grid; gap:.35rem; }
.admin-nav a { display:flex; align-items:center; gap:.8rem; color:rgba(255,255,255,.72); padding:.8rem .9rem; border-radius:.8rem; font-weight:600; }
.admin-nav a:hover { color:#fff; background:rgba(255,255,255,.10); }
.admin-nav i { font-size:1.1rem; }
.admin-main { margin-left:270px; width:calc(100% - 270px); }
.admin-header { height:78px; position:sticky; top:0; z-index:1030; background:rgba(255,255,255,.92); backdrop-filter:blur(15px); border-bottom:1px solid #e4eaf0; display:flex; align-items:center; gap:1rem; padding:0 1.5rem; }
.admin-content { padding:1.5rem; }
.metric-card { background:#fff; border:0; border-radius:1.2rem; box-shadow:0 12px 34px rgba(9,39,68,.08); padding:1.3rem; height:100%; }
.metric-icon { width:52px; height:52px; border-radius:1rem; display:grid; place-items:center; font-size:1.3rem; background:#eaf5fb; color:var(--admin-blue); }
.admin-panel { background:#fff; border-radius:1.2rem; box-shadow:0 12px 34px rgba(9,39,68,.08); padding:1.25rem; }
.admin-thumb { width:70px; height:58px; object-fit:cover; border-radius:.65rem; }
.upload-dropzone { border:2px dashed #b8cad8; border-radius:1.2rem; padding:2rem; background:#f8fbfd; text-align:center; transition:.2s; cursor:pointer; }
.upload-dropzone.dragover { border-color:var(--admin-blue); background:#eef7fc; }
.upload-dropzone i { font-size:2.2rem; color:var(--admin-blue); }
.form-control,.form-select { border-radius:.8rem; padding:.75rem .9rem; }
.btn-admin { background:var(--admin-red); color:#fff; border:0; border-radius:.8rem; }
.btn-admin:hover { background:#bd1324; color:#fff; }
.table > :not(caption) > * > * { vertical-align:middle; }
.login-wrap { min-height:100vh; display:grid; place-items:center; padding:1rem; background:linear-gradient(135deg,rgba(5,25,47,.95),rgba(19,95,155,.82)),url('/images/banner-hero.jpg') center/cover; }
.login-card { width:min(100%,450px); background:rgba(255,255,255,.97); border-radius:1.5rem; padding:2rem; box-shadow:0 30px 90px rgba(0,0,0,.28); }
.login-logo { width:80px; height:80px; object-fit:contain; border-radius:50%; }
@media(max-width:991.98px){
 .admin-sidebar{transform:translateX(-100%)} .admin-sidebar.open{transform:translateX(0)}
 .admin-main{margin-left:0;width:100%}.admin-content{padding:1rem}
}
.privacy-confirm { padding: .9rem; border-radius: .9rem; background: #fff7e8; border: 1px solid #f1d9aa; color: #6b4a12; }
.privacy-confirm .form-check-input { margin-top: .2rem; }
.user-avatar { width:44px; height:44px; flex:0 0 44px; border-radius:50%; display:grid; place-items:center; background:#eaf5fb; color:var(--admin-blue); font-weight:800; letter-spacing:.02em; }
.role-admin { background:#fff0f2; color:#bd1324; border:1px solid #f5c7ce; }
.role-clerk { background:#eaf5fb; color:#135f9b; border:1px solid #c7e3f3; }
.access-denied-icon { width:82px; height:82px; margin-inline:auto; display:grid; place-items:center; border-radius:1.4rem; background:#fff0f2; color:var(--admin-red); font-size:2.2rem; }
