.admin-shell{max-width:1120px;margin:0 auto;padding:18px 16px 64px;}

.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--primary),var(--primary-deep) 70%);color:#fff;border-radius:var(--radius);
  padding:16px 20px;box-shadow:var(--shadow-md);margin-bottom:18px;border-bottom:3px solid var(--gold);}
.admin-brand{display:flex;align-items:center;gap:12px;}
.admin-logo{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:50%;border:2px solid var(--gold);padding:3px;flex:0 0 auto;}
.admin-topbar .who{font-size:12.5px;opacity:.8;}
.admin-topbar .title{font-size:17px;font-weight:700;margin:2px 0 0;}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;}
.admin-nav a{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  padding:9px 14px;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.admin-nav a:hover{background:rgba(255,255,255,.22);}
.admin-nav a svg{width:15px;height:15px;}

.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;}
@media (min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr);}}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;}
.stat-card.total{background:var(--primary);border-color:var(--primary);color:#fff;grid-column:1/-1;}
@media (min-width:720px){.stat-card.total{grid-column:span 1;}}
.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.stat-icon{width:30px;height:30px;border-radius:8px;background:var(--muted);color:var(--primary);display:flex;align-items:center;justify-content:center;}
.stat-card.total .stat-icon{background:rgba(255,255,255,.15);color:#fff;}
.stat-icon svg{width:16px;height:16px;}
.stat-num{font-family:'Lexend';font-size:24px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.stat-label{font-size:12px;color:var(--muted-fg);margin-top:4px;font-weight:600;}
.stat-card.total .stat-label{color:rgba(255,255,255,.75);}

.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.search-wrap{position:relative;flex:1 1 200px;}
.search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted-fg);}
.search-wrap input{width:100%;padding:11px 12px 11px 36px;border-radius:10px;border:1.5px solid var(--border);font-size:14.5px;min-height:44px;background:var(--bg);}
.search-wrap input:focus{border-color:var(--accent);background:var(--card);}
.filter-select{padding:11px 12px;border-radius:10px;border:1.5px solid var(--border);font-size:14.5px;min-height:44px;background:var(--bg);color:var(--fg);}
.icon-btn{min-height:44px;min-width:44px;border-radius:10px;border:1.5px solid var(--border);background:var(--card);color:var(--secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.icon-btn:hover{border-color:var(--accent);color:var(--accent);}
.icon-btn svg{width:17px;height:17px;}

.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;}
table{width:100%;border-collapse:collapse;font-size:13.3px;min-width:900px;}
thead th{text-align:left;background:var(--muted);color:var(--secondary);font-weight:700;padding:10px 12px;white-space:nowrap;}
tbody td{padding:9px 12px;border-top:1px solid var(--border);vertical-align:middle;}
tbody tr:hover{background:#F9FBFD;}
.thumb{width:42px;height:42px;border-radius:8px;object-fit:cover;border:1px solid var(--border);cursor:pointer;background:var(--muted);}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;}
.badge-kepala{background:#E7ECFF;color:#3730A3;}
.badge-asn{background:#DFF3FF;color:#075985;}
.badge-perbekel{background:#E6F6EC;color:#166534;}
.badge-desa{background:#FFF3DC;color:#92400E;}
.badge-pkh{background:#FCE7F3;color:#9D174D;}
.badge-valid{background:#DCFCE7;color:#166534;}
.badge-perlu_ditinjau{background:#FEF3C7;color:#92400E;}
.badge-tidak_diketahui{background:#E2E8F0;color:#475569;}
.badge-menunggu{background:#E2E8F0;color:#475569;}
.badge-diverifikasi{background:#DCFCE7;color:#166534;}
.badge-ditolak{background:#FEE2E2;color:#991B1B;}
.name-cell{font-weight:700;color:var(--fg);}
.sub-cell{font-size:11.5px;color:var(--muted-fg);}
.time-cell{font-variant-numeric:tabular-nums;color:var(--muted-fg);white-space:nowrap;}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;}
.mini-btn{border:1px solid var(--border);background:var(--card);border-radius:8px;padding:6px 9px;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--secondary);white-space:nowrap;}
.mini-btn:hover{border-color:var(--accent);color:var(--accent);}
.mini-btn.danger:hover{border-color:var(--destructive);color:var(--destructive);}

.empty-state{text-align:center;padding:46px 16px;color:var(--muted-fg);}
.empty-state svg{width:40px;height:40px;margin:0 auto 12px;opacity:.5;}

.skeleton-row td{padding:10px 12px;border-top:1px solid var(--border);}
.sk{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--muted) 25%, #F1F4F8 37%, var(--muted) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}

.modal-overlay{position:fixed;inset:0;background:rgba(2,6,23,.6);display:flex;align-items:center;justify-content:center;padding:16px;z-index:60;opacity:0;pointer-events:none;transition:opacity .18s ease;}
.modal-overlay.show{opacity:1;pointer-events:auto;}
.modal-box{background:var(--card);border-radius:16px;max-width:480px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.modal-photo{width:100%;display:block;background:var(--muted);}
.modal-body{padding:18px;}
.modal-title{font-size:16px;font-weight:800;color:var(--primary);margin:0 0 4px;}
.modal-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border);font-size:13px;}
.modal-row dt{color:var(--muted-fg);font-weight:600;}
.modal-row dd{margin:0;font-weight:600;text-align:right;}
.modal-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;}
.modal-close{position:absolute;top:10px;right:10px;background:rgba(2,6,23,.55);color:#fff;border:0;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.modal-photo-wrap{position:relative;}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,10px);opacity:0;background:var(--fg);color:#fff;padding:11px 18px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-lg);pointer-events:none;transition:opacity .22s ease, transform .22s ease;z-index:70;display:flex;align-items:center;gap:8px;max-width:90vw;}
.toast.show{opacity:1;transform:translate(-50%,0);}

.settings-grid{display:grid;gap:16px;}
@media (min-width:760px){.settings-grid{grid-template-columns:1fr 1fr;}}
