*{box-sizing:border-box}
:root{--h2o:#b4d334;--ink:#171717;--muted:#687076;--bg:#f6f8f3;--card:#fff;--border:#e1e6da;--danger:#b42318;--success:#18794e}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
.topbar{min-height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:10px 28px;gap:24px;position:sticky;top:0;z-index:20}
.brand{display:block;width:190px;height:52px;overflow:hidden;border-radius:9px;flex:none}
.brand img{width:100%;height:100%;object-fit:cover;object-position:center}
.topbar-title{font-size:18px;font-weight:700;margin-right:auto}
.topnav{display:flex;gap:18px}.topnav a{color:#39413a;text-decoration:none;font-weight:600}.topnav a:hover{text-decoration:underline}
.container{max-width:1100px;margin:34px auto;padding:0 20px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:0 5px 20px rgba(24,35,20,.05)}
.narrow{max-width:520px;margin:50px auto}
h1{font-size:30px;margin:0 0 8px}h2{margin-top:0}.muted{color:var(--muted)}
.field{margin-bottom:17px}.field label{display:block;font-weight:700;margin-bottom:7px}
.field input,.field select{width:100%;padding:12px 13px;border:1px solid #cfd7c8;border-radius:8px;background:#fff;color:var(--ink);font-size:15px}
.field input:focus,.field select:focus{outline:3px solid rgba(180,211,52,.35);border-color:#8da72a}
.btn{display:inline-block;border:0;border-radius:8px;padding:12px 18px;background:var(--ink);color:#fff;text-decoration:none;cursor:pointer;font-weight:700}
.btn:hover{opacity:.9}.btn:focus{outline:3px solid rgba(180,211,52,.5)}
.alert{padding:13px 15px;border-radius:8px;background:#fff7d6;margin-bottom:18px;border:1px solid #eadb91}.success{background:#e7f7ed;border-color:#acd8be}.danger{background:#fdebea;border-color:#f1b8b3;color:var(--danger)}
.table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}.table th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.footer{max-width:1100px;margin:30px auto;padding:0 20px 30px;color:var(--muted);font-size:13px}
.login-brand{width:min(100%,420px);margin:0 auto 22px}.login-brand img{display:block;width:100%;height:auto;border-radius:12px}
@media(max-width:700px){.topbar{padding:9px 14px;gap:12px}.brand{width:150px;height:42px}.topbar-title{font-size:15px}.topnav{gap:10px}.topnav a{font-size:13px}.container{margin:24px auto;padding:0 14px}.card{padding:20px}h1{font-size:25px}}

.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-head h1{margin:2px 0 5px}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#718018}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:34px 1fr;gap:3px 10px}.stat-card:hover{border-color:#b4d334;transform:translateY(-1px)}.stat-icon{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:var(--h2o);display:grid;place-items:center;font-weight:900}.stat-label{font-size:13px;color:var(--muted);font-weight:700}.stat-card strong{font-size:26px;line-height:1.1}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.secondary{background:#eef2e9;color:var(--ink);border:1px solid var(--border)}.text-link{color:#3d4a21;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.searchbar{display:flex;gap:10px;margin-bottom:18px}.searchbar input{flex:1;padding:12px 13px;border:1px solid #cfd7c8;border-radius:8px;font-size:15px}.table-card{padding:18px;overflow:auto}.status{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2e9}.status.inactive{opacity:.6}.form-card section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--border)}.form-card section:last-of-type{margin-bottom:0}.form-card h2{font-size:19px;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.three{grid-template-columns:repeat(3,1fr)}textarea{width:100%;padding:12px 13px;border:1px solid #cfd7c8;border-radius:8px;font:inherit;resize:vertical}.consent-box{background:#f7faef;border:1px solid #dfe8b7;border-radius:10px;padding:15px}.consent-box label{font-weight:700}.consent-box input{margin-right:8px}.form-actions{display:flex;gap:10px;margin-top:22px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.detail-value{font-size:21px;font-weight:800;margin:0 0 4px}.card hr{border:0;border-top:1px solid var(--border);margin:20px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head h2{margin-bottom:2px}
@media(max-width:800px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.searchbar{flex-wrap:wrap}.searchbar input{flex-basis:100%}}

.location-box{background:#f7faef;border:1px solid #dfe8b7;border-radius:12px;padding:16px}.location-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.location-status{font-weight:700;color:var(--muted)}.location-status.captured{color:var(--success)}.location-status.error{color:var(--danger)}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.location-map-link{margin-top:4px}.location-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.location-card .detail-value{font-size:18px}@media(max-width:800px){.location-grid{grid-template-columns:1fr}.location-card{align-items:flex-start;flex-direction:column}}

.report-filter{margin-bottom:22px}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.filter-actions{margin-bottom:0}.report-bottom{margin-top:18px}.report-bottom .table{margin-top:12px}.nav-badge{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2e9;color:#4d5c25}@media(max-width:700px){.report-actions{width:100%}.report-actions .btn{flex:1;text-align:center}}
.info-note{background:#f7faef;border-color:#dfe8b7}.table td .muted{font-size:12px}.table td{vertical-align:top}.form-card small{display:block;margin-top:5px}

/* Super Admin dashboard administration cards */
.admin-dashboard-grid { margin-bottom: 28px; }
.dashboard-action-card { text-decoration: none; display: flex; flex-direction: column; gap: 7px; }
.dashboard-action-card .action-icon { font-size: 25px; line-height: 1; margin-bottom: 4px; }
.dashboard-action-card strong { font-size: 15px; }
.dashboard-section-head { margin-top: 8px; margin-bottom: 12px; }

.btn.small { padding: 7px 11px; font-size: 12px; }
.btn.secondary { background: transparent; border: 1px solid currentColor; }
.notice { margin-top: 16px; padding: 12px 14px; border-radius: 10px; border: 1px dashed currentColor; }
.photo-capture{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.photo-preview-wrap{width:180px;min-height:180px}.photo-preview,.profile-photo{display:block;width:180px;height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#f7f9f4}.photo-placeholder,.profile-photo-placeholder{width:180px;height:180px;border:1px dashed #cbd4c0;border-radius:12px;background:#f7f9f4;color:var(--muted);display:grid;place-items:center;text-align:center;padding:15px}.photo-controls{min-width:0}.photo-consent{display:block;margin-top:14px;font-weight:600}.camera-panel{margin-top:15px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#f7f9f4}.camera-panel video{display:block;width:min(100%,520px);max-height:420px;background:#111;border-radius:10px;object-fit:cover}.camera-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.beneficiary-profile{display:flex;align-items:center;gap:18px;background:#f7faef;border:1px solid #dfe8b7;border-radius:14px;padding:16px;margin-bottom:18px}.beneficiary-profile h2{margin:0}.profile-photo-wrap{flex:none}@media(max-width:650px){.photo-capture{grid-template-columns:1fr}.photo-preview-wrap,.photo-preview,.photo-placeholder{width:150px}.photo-preview,.photo-placeholder{height:150px}}
.status-pill{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.success{background:#e9f5df;color:#3e6520}.status-pill.warning{background:#fff3cf;color:#765b00}.status-pill.danger{background:#fde5e5;color:#8a1f1f}.status-pill.muted{background:#eef1ed;color:#58625a}

.field-validation{min-height:20px;margin-top:6px;font-size:13px;font-weight:700}.field-validation.valid{color:#3e6520}.field-validation.invalid{color:#8a1f1f}.field-validation.checking{color:#765b00}
