@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap");
:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5e7eb;--primary:#176b57;--primary2:#0f5746;--danger:#b42318;--sidebar:#103f36}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--sidebar);color:#fff;padding:22px 16px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand strong{display:block}.brand small{display:block;opacity:.72;margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--sidebar);font-weight:800}.sidebar nav{display:grid;gap:7px}.sidebar nav a,.nav-muted{padding:10px 12px;border-radius:9px}.sidebar nav a:hover{background:rgba(255,255,255,.1)}.nav-muted{font-size:12px;opacity:.45}.content{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.userbox,.actions,.inline,.inline-form{display:flex;align-items:center;gap:9px}.page{padding:28px;max-width:1450px;margin:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(16,24,40,.04)}.card-head,.period-head,.page-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.period-head h2{margin:4px 0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:var(--primary)}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat b{font-size:29px;display:block}.stat span{font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.table-wrap{overflow:auto}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9f5f1;color:#12604d;font-size:11px;font-weight:800}.btn{border:1px solid transparent;border-radius:9px;padding:10px 14px;cursor:pointer;font:inherit;font-weight:650}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary2)}.btn-light{background:#fff;border-color:var(--line);color:var(--text)}.btn-danger{background:#fff0ee;border-color:#ffc9c2;color:var(--danger)}.btn-sm{padding:7px 10px;font-size:12px}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.alert.danger{background:#fef3f2;border-color:#fecdca;color:#b42318}.form-card{max-width:950px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid2.compact{gap:10px}.span2{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:650}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.empty{text-align:center;color:var(--muted);padding:26px}.guest{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff8f5,#f7f9fc)}.login-wrap{width:min(430px,92vw)}.login-wrap>.brand{color:var(--text)}.login-wrap .brand-mark{background:var(--primary);color:#fff}.login-card h1{margin-top:0}.login-card form{display:grid;gap:14px}.hero-card{border-left:5px solid var(--primary)}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 16px}.page{padding:18px}}@media(max-width:640px){.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.page-actions,.period-head{align-items:stretch;flex-direction:column}.actions,.inline-form{flex-wrap:wrap}.sidebar nav{grid-template-columns:1fr}.userbox>span{display:none}}
.nav-section{padding:14px 12px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;opacity:.58}.small{font-size:12px}.subcard{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f9fbfc}.subcard h3{margin-top:0}.checkline{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:16px}.checkline input,.service-check input{width:auto}.stats-3{grid-template-columns:repeat(3,1fr)}.wide{max-width:1100px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.service-check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:10px;background:#fff}.service-check span{display:grid;gap:2px}.service-check small{color:var(--muted)}.compact-actions{gap:5px}.service-state{font-size:12px;margin-bottom:6px}.badge-hadir{background:#ecfdf3;color:#067647}.badge-tidak_hadir{background:#fef3f2;color:#b42318}.badge-belum{background:#fff7e6;color:#9a6700}@media(max-width:640px){.service-grid{grid-template-columns:1fr}.stats-3{grid-template-columns:1fr 1fr 1fr}.compact-actions{flex-direction:column;align-items:stretch}}
/* V4: laporan, dokumentasi, notifikasi */
.notification-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;font-size:17px}.notification-button span{position:absolute;right:-6px;top:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;border:2px solid #fff}.sidebar nav a{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fff;color:var(--sidebar);display:grid;place-items:center;font-size:10px;font-weight:900}.notification-list{padding:0;overflow:hidden}.notification-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#f0faf7}.notification-item p{margin:5px 0;color:var(--muted)}.notification-item small{color:var(--muted)}.unread-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:5px;flex:0 0 auto}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.photo-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.photo-frame{position:relative;aspect-ratio:4/3;background:#eef2f6;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.photo-tag,.cover-tag{position:absolute;top:10px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.photo-tag{left:10px;background:rgba(255,255,255,.92);color:var(--text)}.cover-tag{right:10px;background:#fff7e6;color:#9a6700}.photo-meta{padding:12px;display:grid;gap:8px}.photo-meta small{color:var(--muted)}.compact-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.span-full{grid-column:1/-1}.report-status-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:14px;padding:18px 20px;margin-bottom:20px}.report-status-card h3{margin:4px 0 0}.stats-4{grid-template-columns:repeat(4,1fr)}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.summary-grid>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f9fbfc;display:grid;gap:3px}.summary-grid b{font-size:22px}.summary-grid span{font-size:12px;color:var(--muted)}.summary-foot{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 18px 22px;border-left:2px solid #d9e8e3;margin-left:6px}.timeline-item:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--primary);left:-6px;top:4px}.timeline-item:last-child{padding-bottom:0}.timeline-item p{margin:5px 0}.timeline-item small{color:var(--muted)}.row-unread{background:#f0faf7}.badge-new{margin-left:6px;background:#fee4e2;color:#b42318}.status-dikirim,.status-dikirim_ulang{background:#eff8ff;color:#175cd3}.status-diperiksa{background:#f4f3ff;color:#5925dc}.status-perlu_perbaikan{background:#fef3f2;color:#b42318}.status-valid,.status-terkunci{background:#ecfdf3;color:#067647}.status-draft{background:#f2f4f7;color:#475467}.file-note{font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(3,1fr)}.compact-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.photo-grid,.compact-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-status-card{align-items:stretch;flex-direction:column}.summary-grid{grid-template-columns:repeat(2,1fr)}.stats-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.photo-grid,.compact-photo-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr}}
.stats-admin{grid-template-columns:repeat(6,1fr)}@media(max-width:1200px){.stats-admin{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.stats-admin{grid-template-columns:repeat(2,1fr)}}
/* V5: monitoring, kunjungan rumah, viewer */
.attention-chip{display:inline-block;margin:2px 5px 2px 0;padding:5px 8px;border-radius:999px;background:#fff3e0;color:#8a4b08;font-size:11px;font-weight:700;border:1px solid #fed7aa}.grid-monitor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-monitor>.card{margin-bottom:0}.print-head{text-align:center}.print-note{font-size:12px;color:var(--muted)}@media(max-width:900px){.grid-monitor{grid-template-columns:1fr}}

/* V5.3: format Indonesia */
.input-hint{font-size:11px;font-weight:500;color:var(--muted);margin-left:4px}.alert.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}input[data-date-id],input[data-time-id]{font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* V5.5: operasional kegiatan kader */
.kader-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kader-readonly{display:flex;gap:8px;flex-wrap:wrap}.filter-bar{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto auto;gap:8px;align-items:end;flex:1}.compact-top{margin-top:12px;padding-top:12px}.stats-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.kader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:1fr 1fr 1fr auto}.filter-bar .btn:last-child{grid-column:auto}.stats-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.kader-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.stats-5{grid-template-columns:repeat(2,1fr)}}

/* V5.6 - ringkasan pemeriksaan */
.readonly-box{margin-top:6px;min-height:42px;padding:10px 12px;border:1px solid #d7dee7;border-radius:10px;background:#f7f9fb;font-weight:700;display:flex;align-items:center}

.rekap-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rekap-grid label{border:1px solid var(--line);border-radius:12px;padding:13px;background:#f9fbfc}.rekap-grid label strong{font-size:20px}.rekap-grid input{background:#fff}@media(max-width:900px){.rekap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.rekap-grid{grid-template-columns:1fr}}

/* V5.9: modul kegiatan dipisah */
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-card{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.15s ease}.module-card:hover{border-color:#9fc9bd;box-shadow:0 4px 14px rgba(16,63,54,.08);transform:translateY(-1px)}.module-card strong{font-size:15px}.module-card span{font-size:12px;color:var(--muted)}.text-success{color:#067647;font-weight:700}@media(max-width:1000px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.module-grid{grid-template-columns:1fr}}

/* V6.2: Layanan Hari Ini - ringkas untuk HP */
.mobile-service-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.mobile-service-head h2{margin:4px 0}.quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.quick-stats.secondary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.quick-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.quick-stats b{font-size:24px;display:block}.quick-stats span{font-size:11px;color:var(--muted)}.mobile-search{display:grid;grid-template-columns:1fr auto;gap:8px}.search-reset{margin:8px 0;font-size:12px;color:var(--primary)}.target-list{display:grid;gap:10px;margin-top:14px}.target-card{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.target-main{display:grid;gap:4px}.target-main>strong{font-size:16px}.target-main .badge{width:max-content}.target-main small{color:var(--muted)}.care-section{max-width:980px;margin-left:auto;margin-right:auto}.mobile-save-bar{max-width:980px;margin:0 auto 24px;position:sticky;bottom:10px;z-index:5;padding:8px;background:rgba(244,247,251,.94);border-radius:12px}.history-details summary{cursor:pointer;font-weight:700}.history-details[open] summary{margin-bottom:14px}
@media(max-width:720px){.mobile-service-head{flex-direction:column}.mobile-service-head>.btn{width:100%}.quick-stats{grid-template-columns:repeat(2,1fr)}.quick-stats.secondary{grid-template-columns:repeat(3,1fr)}.target-card{grid-template-columns:1fr}.target-action .btn,.target-action form{width:100%}.mobile-search{grid-template-columns:1fr}.mobile-search .btn{width:100%}.care-section{padding:15px}.mobile-one{grid-template-columns:1fr}.mobile-save-bar{bottom:6px}.service-search-card{padding:14px}.page{padding-bottom:92px}}
@media(max-width:420px){.quick-stats.secondary{grid-template-columns:1fr 1fr}.quick-stats.secondary>div:last-child{grid-column:1/-1}}

/* V6.4: mode kader sederhana - mobile first tanpa mengubah alur desktop */
.sidebar nav a.active{background:rgba(255,255,255,.16);font-weight:800}.mobile-bottom-nav{display:none}.simple-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.simple-head h2,.service-day-head h2,.service-form-head h2{margin:4px 0}.split-head{align-items:center}.today-card{background:#fff;border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 4px 18px rgba(16,63,54,.06)}.today-card h1{font-size:28px;margin:7px 0 8px}.today-card p{line-height:1.5}.today-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.today-progress>div{background:#f5faf8;border:1px solid #d8ece5;border-radius:13px;padding:13px}.today-progress b{display:block;font-size:24px}.today-progress span{font-size:11px;color:var(--muted)}.btn-big{padding:13px 18px;font-size:15px}.today-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--primary);font-weight:700}.quiet-day{border-left-color:#98a2b3}.home-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.home-summary a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:3px}.home-summary b{font-size:25px}.home-summary span{font-size:12px;color:var(--muted)}.compact-details summary{cursor:pointer;font-weight:800}.compact-details[open] summary{margin-bottom:14px}.simple-list{display:grid;gap:8px}.simple-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.simple-row:last-child{border-bottom:0}.simple-row>div{display:grid;gap:3px}.simple-row small{color:var(--muted)}
.service-day-head,.service-form-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}.service-day-head p,.service-form-head p{margin:4px 0;color:var(--muted)}.mobile-recap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.mobile-recap>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.mobile-recap b{font-size:24px;display:block}.mobile-recap span{font-size:11px;color:var(--muted)}.recap-note{font-size:12px;color:var(--muted);margin:0 0 16px;padding:0 2px}.primary-work-card{max-width:1000px}.work-title h3{margin:4px 0 12px}.big-mobile-search{display:grid;grid-template-columns:1fr auto;gap:8px}.big-mobile-search input{min-height:46px;font-size:15px}.section-label{margin:18px 0 8px}.compact-target-list{margin-top:8px}.mobile-target-card{grid-template-columns:1fr 130px}.target-name{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.success-text{color:#067647!important;font-weight:700}.compact-empty{padding:20px 8px}.empty-action{margin-top:12px}.day-end-actions{display:flex;justify-content:flex-end;gap:9px;margin:0 0 18px}.history-card-list{display:grid;gap:8px}.history-card{border:1px solid var(--line);border-radius:12px;padding:11px;display:grid;gap:4px}.history-card span,.history-card small{font-size:12px;color:var(--muted)}.draft-note{background:#eff8ff;border:1px solid #b2ddff;color:#175cd3;border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:12px}.simple-search-card{padding:14px}.people-card-list,.report-card-list{display:grid;gap:10px}.person-card,.report-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:16px}.person-main,.report-card-main{display:grid;gap:5px}.person-main small{color:var(--muted)}.person-actions{flex:0 0 auto}.report-card h3{margin:2px 0}.report-card p{margin:0}.report-card-action{display:grid;justify-items:end;gap:10px}.report-mini{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.report-mini b{color:var(--text)}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.simple-menu-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;align-items:center;gap:13px}.simple-menu-card:hover{border-color:#9fc9bd}.simple-menu-card>span:last-child{display:grid;gap:4px}.simple-menu-card small{color:var(--muted);line-height:1.4}.menu-icon{width:42px;height:42px;border-radius:12px;background:#eef8f5;display:grid;place-items:center;font-size:20px;flex:0 0 auto}
@media(max-width:900px){.role-posyandu .app-shell{grid-template-columns:1fr}.role-posyandu .sidebar{display:none}.role-posyandu .page{padding:16px 14px 94px}.role-posyandu .topbar{height:60px;padding:0 12px;position:sticky;top:0;z-index:20}.role-posyandu .topbar-title{max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-posyandu .userbox{gap:6px}.role-posyandu .userbox>span{display:none}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -6px 20px rgba(16,24,40,.08)}.mobile-bottom-nav a{display:grid;justify-items:center;gap:2px;color:#667085;font-size:18px;padding:2px}.mobile-bottom-nav a small{font-size:10px}.mobile-bottom-nav a.active{color:var(--primary);font-weight:800}.simple-head,.split-head,.service-day-head,.service-form-head{align-items:stretch;flex-direction:column}.split-head>.btn,.service-form-head>.btn{width:100%}.today-card{padding:18px}.today-card h1{font-size:23px}.today-progress{grid-template-columns:repeat(2,1fr)}.home-summary{grid-template-columns:repeat(3,1fr)}.home-summary a{padding:12px}.home-summary b{font-size:22px}.mobile-recap{grid-template-columns:repeat(2,1fr)}.primary-work-card{padding:14px}.big-mobile-search{grid-template-columns:1fr}.big-mobile-search .btn{width:100%;min-height:44px}.mobile-target-card{grid-template-columns:1fr}.target-action,.target-action form,.target-action .btn{width:100%}.day-end-actions{display:grid;grid-template-columns:1fr 1fr}.day-end-actions .btn{width:100%}.care-section{padding:14px}.mobile-save-bar{position:sticky;bottom:70px;z-index:12;padding:8px;background:rgba(244,247,251,.94);border-radius:12px}.person-card,.report-card{align-items:stretch;flex-direction:column}.person-actions,.person-actions .btn,.report-card-action,.report-card-action .btn{width:100%}.report-card-action{justify-items:stretch}.more-grid{grid-template-columns:1fr}.period-picker,.period-picker select{width:100%}}
@media(max-width:480px){.today-progress{grid-template-columns:repeat(2,1fr)}.home-summary{grid-template-columns:1fr 1fr 1fr;gap:7px}.home-summary a{padding:10px 8px}.home-summary b{font-size:20px}.home-summary span{font-size:10px}.day-end-actions{grid-template-columns:1fr}.mobile-bottom-nav a small{font-size:9px}.notification-button{width:34px;height:34px}.topbar .btn-sm{padding:6px 8px}}


/* V6.5: alur kader Mulai -> Layani -> Foto -> Selesaikan -> Laporan */
.today-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.today-next-grid a{border:1px solid #d8ece5;background:#f8fcfa;border-radius:13px;padding:12px;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.today-next-grid a>span{grid-row:1/3;font-size:20px}.today-next-grid strong{font-size:13px}.today-next-grid small{font-size:11px;color:var(--muted)}
.today-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}.today-flow>div,.today-flow>a{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px;display:flex;align-items:center;gap:9px}.today-flow b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#667085;flex:0 0 auto}.today-flow span{display:grid;gap:2px}.today-flow strong{font-size:12px}.today-flow small{font-size:10px;color:var(--muted)}.today-flow .done{border-color:#b7dfd3;background:#f3fbf8}.today-flow .done b{background:var(--primary);color:#fff}
.finish-shortcut{background:#fff;border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:16px;padding:17px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 18px}.finish-shortcut h3{margin:4px 0}.finish-shortcut p{margin:4px 0}.finish-shortcut-actions{display:flex;gap:8px;flex:0 0 auto}
.documentation-next{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:center;margin:18px 0}.documentation-next>div:first-child{display:grid;gap:4px}.documentation-next small{color:var(--muted)}
.auto-absence-note{margin-top:14px;border-top:1px solid var(--line);padding-top:13px;display:flex;gap:7px;flex-wrap:wrap;font-size:12px}.auto-absence-note span{color:var(--muted)}
.finish-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.finish-checklist>div{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:center;gap:9px}.finish-checklist>div>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.finish-checklist>div>span{display:grid;gap:2px}.finish-checklist small{color:var(--muted);font-size:11px}.finish-checklist .ok{background:#f3fbf8;border-color:#b7dfd3}.finish-checklist .ok>b{background:#067647;color:#fff}.finish-checklist .wait{background:#fff8eb;border-color:#fedf89}.finish-checklist .wait>b{background:#f79009;color:#fff}.final-help{text-align:center;margin:10px 0 0}
@media(max-width:900px){.finish-shortcut,.documentation-next{align-items:stretch;flex-direction:column}.finish-shortcut-actions{display:grid;grid-template-columns:1fr 1fr}.finish-checklist{grid-template-columns:1fr}.today-next-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.today-flow{grid-template-columns:1fr}.today-flow>div,.today-flow>a{padding:9px 11px}.finish-shortcut-actions{grid-template-columns:1fr}.today-next-grid{grid-template-columns:1fr}.documentation-next .actions{display:grid;width:100%}.documentation-next .actions .btn{width:100%}}

/* V6.6 - Dashboard kader modern, tetap sederhana untuk HP dan desktop */
.role-posyandu{--k-green:#087a5b;--k-green-dark:#075846;--k-green-soft:#e9f7f1;--k-purple:#7c3aed;--k-purple-soft:#f1eafe;--k-blue:#1677d2;--k-blue-soft:#e9f4ff;--k-orange:#e97813;--k-orange-soft:#fff2df;--k-shadow:0 8px 28px rgba(22,40,58,.065);background:#f5f8fb}
.role-posyandu .app-shell{grid-template-columns:270px minmax(0,1fr)}
.role-posyandu .sidebar{background:linear-gradient(180deg,#075d4c 0%,#06493e 100%);padding:24px 20px;position:sticky;top:0;height:100vh;overflow:auto}
.role-posyandu .brand{margin-bottom:18px;padding:0 8px}
.role-posyandu .brand-mark{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.96);color:#08745a;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.role-posyandu .brand strong{font-size:16px;letter-spacing:.01em}.role-posyandu .brand small{font-size:11px}
.kader-side-profile{display:flex;align-items:center;gap:11px;padding:13px;margin:4px 0 24px;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11)}
.kader-side-profile .side-avatar{width:38px;height:38px;border-radius:12px;background:#fff;color:#075d4c;display:grid;place-items:center;font-weight:850;flex:0 0 auto}
.kader-side-profile>div:last-child{display:grid;gap:3px;min-width:0}.kader-side-profile strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kader-side-profile small{font-size:10px;opacity:.74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-posyandu .nav-section{padding:0 10px;margin:0 0 5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;opacity:.6}
.role-posyandu .sidebar nav{gap:7px}.role-posyandu .sidebar .kader-nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:rgba(255,255,255,.88);font-size:13px;font-weight:650;transition:.16s ease}
.role-posyandu .sidebar .kader-nav-link:hover{background:rgba(255,255,255,.09);color:#fff}.role-posyandu .sidebar .kader-nav-link.active{background:linear-gradient(135deg,#12a878,#0b8a67);color:#fff;box-shadow:0 10px 22px rgba(2,47,36,.28)}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto}.nav-icon svg{width:20px;height:20px}.role-posyandu .nav-badge{margin-left:auto}
.role-posyandu .content{background:#f6f8fb}.role-posyandu .topbar{height:76px;border-bottom:1px solid #e8edf2;padding:0 26px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30}
.role-posyandu .topbar-title{display:grid;gap:3px}.role-posyandu .topbar-title>strong{font-size:14px}.role-posyandu .topbar-title>small{font-size:10px;color:var(--muted)}
.role-posyandu .userbox{gap:9px}.notification-button{position:relative;width:40px;height:40px;border:1px solid #e1e7ed;border-radius:13px;background:#fff;display:grid;place-items:center}.notification-button svg{width:19px;height:19px}.notification-button>span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:#d92d20;color:#fff;font-size:9px;display:grid;place-items:center;padding:0 4px}
.topbar-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#e7f5ef;color:#08745a;font-weight:850;border:2px solid #d4eee3}.topbar-user-copy{display:grid;gap:1px}.topbar-user-copy strong{font-size:12px}.topbar-user-copy small{font-size:9px;color:var(--muted)}.logout-btn{display:flex;align-items:center;gap:6px}.logout-btn svg{width:15px;height:15px}
.role-posyandu .page{max-width:1520px;padding:24px 26px 40px}

.kader-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:0 2px}.kader-welcome h1{font-size:25px;line-height:1.2;margin:3px 0 4px;letter-spacing:-.02em}.kader-welcome p{margin:0;color:#667085;font-size:12px}.welcome-kicker{font-size:10px;color:#08745a;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.period-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe6ec;border-radius:13px;padding:10px 14px;font-size:12px;font-weight:750;white-space:nowrap;box-shadow:0 2px 8px rgba(16,24,40,.03)}.period-chip svg{width:17px;height:17px;color:#08745a}
.dashboard-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;margin-bottom:16px;border:1px solid}.dashboard-notice.danger{background:#fff5f4;border-color:#fecdc8;color:#9b2c22}.dashboard-notice .notice-icon{width:34px;height:34px;border-radius:10px;background:#fff0ee;display:grid;place-items:center}.dashboard-notice .notice-icon svg{width:18px;height:18px}.dashboard-notice>div{display:grid;gap:3px}.dashboard-notice small{font-size:11px;color:#b5473c}.dashboard-notice>a{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800}.dashboard-notice>a svg{width:14px;height:14px}

.kader-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kader-stat{min-width:0;background:#fff;border:1px solid #e4e9ee;border-radius:17px;padding:15px 16px;display:flex;align-items:center;gap:13px;box-shadow:var(--k-shadow);transition:transform .15s ease,border-color .15s ease}.kader-stat[href]:hover{transform:translateY(-2px);border-color:#cbd8d3}.stat-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.stat-icon svg{width:27px;height:27px}.stat-copy{display:grid;gap:1px;min-width:0}.stat-copy b{font-size:25px;line-height:1.1}.stat-copy strong{font-size:12px}.stat-copy small{font-size:10px;color:#7b8494;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-green .stat-icon{background:var(--k-green-soft);color:var(--k-green)}.stat-purple .stat-icon{background:var(--k-purple-soft);color:var(--k-purple)}.stat-blue .stat-icon{background:var(--k-blue-soft);color:var(--k-blue)}.stat-orange .stat-icon{background:var(--k-orange-soft);color:var(--k-orange)}

.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:16px;margin-bottom:16px}.dashboard-panel{background:#fff;border:1px solid #e3e8ed;border-radius:18px;padding:19px;box-shadow:var(--k-shadow);min-width:0}.panel-title{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.045em;font-size:10px;color:#1c3e36}.panel-title-icon{width:27px;height:27px;border-radius:9px;background:#eaf8f2;color:#087a5b;display:grid;place-items:center}.panel-title-icon svg{width:15px;height:15px}.panel-head-inline{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head-inline>a{font-size:10px;color:#087a5b;font-weight:800;display:flex;align-items:center;gap:4px}.panel-head-inline>a svg{width:13px;height:13px}
.today-panel h2{font-size:22px;margin:13px 0 5px;letter-spacing:-.015em}.today-meta{margin:0 0 13px;color:#667085;font-size:11px;line-height:1.5}.today-help{margin:0 0 14px;font-size:11px;color:#526071;max-width:620px;line-height:1.5}.today-status{display:inline-flex;margin-top:14px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.07em}.today-status.live{background:#e8f8f1;color:#087a5b}.today-status.ready{background:#eef4ff;color:#175cd3}.today-status.done{background:#f2f4f7;color:#475467}.today-simple-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.today-simple-progress>div{border:1px solid #e5ece9;background:#f9fcfb;border-radius:12px;padding:10px}.today-simple-progress b{font-size:20px;display:block}.today-simple-progress span{font-size:9px;color:#748078}.primary-next-action{width:100%;min-height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,#0b9a70,#087a5b);color:#fff;padding:11px 15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;cursor:pointer;font:inherit;box-shadow:0 8px 18px rgba(8,122,91,.19)}.primary-next-action>span{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.14);display:grid;place-items:center}.primary-next-action svg{width:17px;height:17px}.primary-next-action>svg{width:16px;height:16px}.primary-next-action strong{font-size:12px;text-align:left;letter-spacing:.02em}.today-subactions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:9px}.today-subactions.three-actions{grid-template-columns:repeat(3,1fr)}.today-subactions>a,.secondary-next-action{border:1px solid #e4eae8;border-radius:12px;background:#fbfdfc;padding:10px;display:flex;align-items:center;gap:9px;min-width:0}.today-subactions>a>svg,.secondary-next-action>svg:first-child{width:18px;height:18px;color:#087a5b;flex:0 0 auto}.today-subactions>a>span,.secondary-next-action>span{display:grid;gap:2px;min-width:0}.today-subactions strong,.secondary-next-action strong{font-size:10px}.today-subactions small,.secondary-next-action small{font-size:9px;color:#7a8492;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.secondary-next-action>svg:last-child{width:14px;height:14px;margin-left:auto}.empty-today-visual{width:62px;height:62px;border-radius:18px;background:#eef8f5;color:#0b8a67;display:grid;place-items:center;margin-top:15px}.empty-today-visual svg{width:31px;height:31px}

.recap-content{display:grid;grid-template-columns:1fr 145px;gap:18px;align-items:center;margin-top:17px}.recap-lines{display:grid}.recap-lines>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0f3;font-size:10px}.recap-lines>div:last-child{border-bottom:0}.recap-lines span{display:flex;align-items:center;gap:7px;color:#475467}.recap-lines b{font-size:12px}.recap-dot{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900}.recap-dot.s{background:#e8f8f1;color:#087a5b}.recap-dot.d{background:#eaf4ff;color:#1677d2}.recap-dot.k{background:#fff1df;color:#e97813}.recap-dot.n{background:#fdecef;color:#d92d5c}.recap-separator{margin-top:4px}.progress-ring{width:118px;height:118px;border-radius:50%;background:conic-gradient(#0ca373 var(--progress),#edf1f3 0);display:grid;place-items:center;margin:auto;position:relative}.progress-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}.progress-ring>div{position:relative;z-index:1;display:grid;justify-items:center;gap:2px}.progress-ring b{font-size:19px}.progress-ring span{font-size:9px;color:#667085}.recap-next{margin-top:13px;border-radius:12px;background:#f0faf6;border:1px solid #d9efe6;padding:10px 12px;display:grid;gap:2px}.recap-next strong{font-size:10px;color:#087a5b}.recap-next span{font-size:10px;color:#53655f;line-height:1.45}

.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.mini-panel h3{font-size:15px;margin:13px 0 4px}.mini-panel>p{font-size:11px;color:#667085;margin:0 0 12px}.next-schedule-date{display:flex;align-items:baseline;gap:8px;margin-top:14px}.next-schedule-date b{font-size:16px}.next-schedule-date span{font-size:11px;color:#087a5b;font-weight:800}.text-action{font-size:10px;color:#087a5b;font-weight:850;display:inline-flex;align-items:center;gap:5px}.text-action svg{width:13px;height:13px}.mini-empty{display:flex;align-items:center;gap:12px;margin:15px 0 13px;padding:12px;border-radius:13px;background:#f8fafb;border:1px solid #edf0f2}.mini-empty>span{width:42px;height:42px;border-radius:13px;background:#eef5f2;color:#087a5b;display:grid;place-items:center;flex:0 0 auto}.mini-empty>span svg{width:21px;height:21px}.mini-empty>div{display:grid;gap:3px}.mini-empty strong{font-size:11px}.mini-empty small{font-size:9px;color:#7b8492;line-height:1.4}.active-info{background:#f2fbf7;border-color:#dcefe7}
.attention-strip{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;background:#fff8ea;border:1px solid #f8dfae;border-radius:14px;padding:11px 14px;margin-bottom:16px;color:#8a4b0f}.attention-strip>span{width:28px;height:28px;border-radius:9px;background:#ffedc7;display:grid;place-items:center}.attention-strip>span svg{width:16px;height:16px}.attention-strip>strong{font-size:10px}.attention-strip>small{font-size:9px;color:#976020}.attention-strip>svg{width:14px;height:14px}.schedule-details{padding:14px 18px}.schedule-details summary{cursor:pointer;font-size:11px;font-weight:800}.schedule-details[open] summary{margin-bottom:9px}

/* Selaraskan halaman kerja kader dengan dashboard baru */
.role-posyandu .simple-head,.role-posyandu .service-day-head,.role-posyandu .service-form-head{margin-bottom:16px}.role-posyandu .simple-head h2,.role-posyandu .service-day-head h2,.role-posyandu .service-form-head h2{font-size:22px;letter-spacing:-.01em}.role-posyandu .eyebrow{color:#087a5b}.role-posyandu .card,.role-posyandu .person-card,.role-posyandu .report-card,.role-posyandu .simple-menu-card,.role-posyandu .finish-shortcut,.role-posyandu .documentation-next{border-color:#e3e9ed;box-shadow:var(--k-shadow);border-radius:16px}.role-posyandu .btn-primary{background:#087a5b}.role-posyandu .btn-primary:hover{background:#066a4f}.role-posyandu .btn{border-radius:10px}.role-posyandu input,.role-posyandu select,.role-posyandu textarea{border-color:#ccd6dc;border-radius:10px;min-height:42px}.role-posyandu textarea{min-height:auto}.role-posyandu .mobile-recap>div{border-color:#e3e9ed;box-shadow:0 3px 14px rgba(22,40,58,.035)}.role-posyandu .mobile-recap b{font-size:22px}.role-posyandu .today-flow>div,.role-posyandu .today-flow>a{box-shadow:0 3px 14px rgba(22,40,58,.03)}.role-posyandu .person-card,.role-posyandu .report-card{transition:border-color .15s ease}.role-posyandu .person-card:hover,.role-posyandu .report-card:hover{border-color:#b9d4c9}.role-posyandu .simple-menu-card{transition:transform .15s ease,border-color .15s ease}.role-posyandu .simple-menu-card:hover{transform:translateY(-1px);border-color:#b9d4c9}.role-posyandu .menu-icon{background:#eaf8f2;color:#087a5b}

@media(max-width:1180px){.kader-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.recap-content{grid-template-columns:1fr 150px}}
@media(max-width:900px){
  .role-posyandu .app-shell{grid-template-columns:1fr}.role-posyandu .sidebar{display:none}.role-posyandu .topbar{height:58px;padding:0 12px}.role-posyandu .page{padding:14px 13px calc(86px + env(safe-area-inset-bottom))}.topbar-user-copy,.role-posyandu .logout-btn span{display:none}.role-posyandu .logout-btn{width:38px;height:38px;padding:0;display:grid;place-items:center}.role-posyandu .logout-btn svg{width:17px;height:17px}.topbar-avatar{display:none}.role-posyandu .topbar-title>small{display:none}
  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.985);border-top:1px solid #e0e7eb;padding:7px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));box-shadow:0 -8px 24px rgba(16,24,40,.09)}.mobile-bottom-nav a{display:grid;justify-items:center;gap:3px;color:#77808c;padding:3px 2px;font-size:10px}.mobile-bottom-nav a>span{width:22px;height:22px;display:grid;place-items:center}.mobile-bottom-nav a svg{width:21px;height:21px}.mobile-bottom-nav a small{font-size:9px}.mobile-bottom-nav a.active{color:#087a5b;font-weight:850}
  .kader-welcome{align-items:flex-start}.kader-welcome h1{font-size:21px}.period-chip{padding:8px 10px;font-size:10px}.dashboard-main-grid,.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-panel{padding:16px}.today-panel h2{font-size:19px}.today-simple-progress{grid-template-columns:repeat(4,1fr)}.today-simple-progress>div{padding:9px 7px}.today-simple-progress b{font-size:18px}.today-simple-progress span{font-size:8px}.dashboard-notice{grid-template-columns:auto 1fr}.dashboard-notice>a{grid-column:2}.role-posyandu .simple-head h2,.role-posyandu .service-day-head h2,.role-posyandu .service-form-head h2{font-size:20px}
}
@media(max-width:620px){
  .kader-welcome{display:grid;grid-template-columns:1fr auto;gap:10px}.kader-welcome>div:first-child{min-width:0}.kader-welcome h1{font-size:19px}.kader-welcome p{font-size:10px}.welcome-kicker{font-size:9px}.period-chip span{max-width:94px;overflow:hidden;text-overflow:ellipsis}.period-chip svg{width:15px;height:15px}
  .kader-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kader-stat{padding:11px;gap:9px;border-radius:14px}.stat-icon{width:39px;height:39px}.stat-icon svg{width:20px;height:20px}.stat-copy b{font-size:20px}.stat-copy strong{font-size:10px}.stat-copy small{font-size:8px}
  .today-simple-progress{grid-template-columns:repeat(2,1fr)}.today-subactions,.today-subactions.three-actions{grid-template-columns:1fr}.today-subactions>a{min-height:49px}.primary-next-action{min-height:50px}.recap-content{grid-template-columns:1fr 112px;gap:10px}.progress-ring{width:96px;height:96px}.progress-ring:before{inset:9px}.progress-ring b{font-size:17px}.recap-lines>div{padding:7px 0}.dashboard-lower-grid{gap:10px}.attention-strip{grid-template-columns:auto 1fr auto}.attention-strip>strong{grid-column:2}.attention-strip>small{grid-column:2}.attention-strip>svg{grid-column:3;grid-row:1/4}.panel-head-inline{align-items:flex-start}.panel-head-inline>a{white-space:nowrap}
}
@media(max-width:410px){.kader-stat-grid{grid-template-columns:1fr 1fr}.kader-stat{align-items:flex-start}.stat-icon{width:34px;height:34px}.stat-icon svg{width:18px;height:18px}.stat-copy b{font-size:18px}.stat-copy small{display:none}.recap-content{grid-template-columns:1fr}.progress-ring{margin:10px auto 0}.period-chip{grid-column:1/-1;justify-self:start}.kader-welcome{grid-template-columns:1fr}.dashboard-panel{padding:14px}.role-posyandu .page{padding-left:10px;padding-right:10px}}

/* V6.8: Tentang Aplikasi - mengikuti struktur LAMPID */
.about-app-page{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.about-hero-card{display:flex;align-items:center;gap:22px;padding:26px 28px;border:1px solid #dce9e1;border-radius:18px;background:linear-gradient(135deg,#f4fbf7 0%,#fff 55%,#eef8f2 100%);box-shadow:0 8px 26px rgba(20,58,39,.06)}.about-hero-mark{width:86px;height:86px;flex:0 0 86px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#0d6b42,#084d35);color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 12px 24px rgba(10,88,56,.2)}.about-hero-copy{min-width:0}.about-kicker,.about-panel-eyebrow{font-size:.66rem;letter-spacing:.11em;font-weight:800;color:#198253}.about-hero-copy h1{margin:4px 0 6px;font-size:1.7rem;font-weight:800;color:#183327}.about-hero-copy p{max-width:780px;margin:0;color:#65756d;font-size:.84rem;line-height:1.65}.about-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.about-badges span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d9e7de;border-radius:999px;background:#fff;color:#496258;font-size:.68rem;font-weight:700}.about-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about-panel{padding:20px;border:1px solid #e0e8e3;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(24,55,40,.045)}.about-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.about-panel-head h2{margin:3px 0 0;font-size:1.05rem;font-weight:800;color:#20372c}.about-head-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:#edf8f1;color:#137c47;font-size:1.05rem}.developer-profile-head{display:flex;align-items:center;gap:13px;padding:13px;border-radius:13px;background:#f5faf7;margin-bottom:14px}.developer-avatar{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0d7447,#0a5a3a);color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.03em}.developer-profile-head h3{margin:0 0 3px;font-size:1rem;font-weight:800;color:#1f3429}.developer-profile-head p{margin:0;color:#738079;font-size:.7rem;line-height:1.4}.developer-info-list{display:flex;flex-direction:column}.developer-info-row{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef}.developer-info-row:last-child{border-bottom:0}.developer-info-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0f7f3;color:#1b7b4d;font-size:.9rem}.developer-info-row div{display:flex;flex-direction:column;min-width:0}.developer-info-row small{font-size:.62rem;color:#87938c}.developer-info-row strong{margin-top:2px;font-size:.77rem;color:#293b32;line-height:1.35}.developer-contact-actions{display:flex;gap:8px;margin-top:15px}.developer-contact-actions .btn{border-radius:10px;font-size:.72rem;font-weight:700;padding:.55rem .8rem}.about-copy,.about-bio-card p{color:#627169;font-size:.78rem;line-height:1.7;margin:0}.about-feature-list{display:flex;flex-direction:column;margin-top:13px}.about-feature-list>div{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #edf1ef}.about-feature-list>div:last-child{border-bottom:0}.feature-check{color:#149053;font-size:.9rem;font-weight:900;margin-top:1px}.about-feature-list>div>span:last-child{display:flex;flex-direction:column}.about-feature-list strong{font-size:.75rem;color:#2a3d33}.about-feature-list small{margin-top:2px;color:#7b8881;font-size:.66rem;line-height:1.45}.about-bio-card p+p{margin-top:10px}.about-identity-card{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:#073f30;color:#fff;box-shadow:0 8px 24px rgba(4,48,35,.16)}.about-identity-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.12);font-size:1rem;font-weight:900}.about-identity-copy span{font-size:.58rem;letter-spacing:.11em;font-weight:800;color:#9dd5bc}.about-identity-copy h2{margin:3px 0 1px;font-size:1.05rem;font-weight:800}.about-identity-copy p{margin:0;color:#c9ded4;font-size:.68rem}.about-identity-meta{display:flex;flex-direction:column;text-align:right}.about-identity-meta small{font-size:.6rem;color:#9fc8b5}.about-identity-meta strong{font-size:.78rem;margin:2px 0 4px}.about-identity-meta span{font-size:.62rem;color:#b9d3c7}.about-motto{display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 12px;color:#738079;font-size:.7rem;text-align:center}.quote-mark{color:#14834b;font-size:1.4rem;line-height:1}.about-actions{display:flex;justify-content:flex-end}.no-print{display:flex}
@media(max-width:767.98px){.about-app-page{gap:11px}.about-hero-card{align-items:flex-start;padding:16px;border-radius:14px;gap:12px}.about-hero-mark{width:54px;height:54px;flex-basis:54px;border-radius:14px;font-size:1rem}.about-hero-copy h1{font-size:1.2rem}.about-hero-copy p{font-size:.73rem;line-height:1.55}.about-kicker{font-size:.56rem}.about-badges{margin-left:-66px;margin-top:13px}.about-main-grid{grid-template-columns:1fr;gap:11px}.about-panel{padding:15px;border-radius:14px}.about-panel-head{margin-bottom:12px}.about-panel-head h2{font-size:.96rem}.developer-profile-head{padding:11px}.developer-avatar{width:50px;height:50px;flex-basis:50px}.developer-profile-head h3{font-size:.9rem}.developer-contact-actions{display:grid;grid-template-columns:1fr 1fr}.developer-contact-actions .btn{min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal;line-height:1.2}.about-copy,.about-bio-card p{font-size:.73rem}.about-identity-card{grid-template-columns:48px 1fr;gap:11px;padding:15px}.about-identity-logo{width:46px;height:46px;border-radius:12px}.about-identity-meta{grid-column:1/-1;text-align:left;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.about-motto{font-size:.66rem;line-height:1.45}.about-actions .btn{width:100%;text-align:center}}
@media print{.no-print{display:none!important}}


/* V6.9: Tentang Aplikasi langsung di bawah Riwayat/Laporan */
.mobile-about-direct{display:none}
@media(max-width:900px){
  .mobile-about-direct{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 13px;margin:-4px 0 14px;color:var(--text);box-shadow:0 4px 14px rgba(16,24,40,.04)}
  .mobile-about-icon{width:42px;height:42px;border-radius:12px;background:#eaf7f2;color:var(--primary);display:grid;place-items:center;font-size:21px;font-weight:800}
  .mobile-about-direct strong{display:block;font-size:13px}.mobile-about-direct small{display:block;color:var(--muted);font-size:10px;margin-top:2px;line-height:1.35}
  .mobile-about-arrow{color:var(--primary);font-size:24px;line-height:1}
}

/* V6.10: Tentang Aplikasi terpisah di desktop, berada di dalam Lainnya pada HP */
.mobile-about-inside-more{display:none}
@media (max-width: 900px){
  .mobile-about-inside-more{display:grid}
}

/* V6.11: Dashboard & menu Admin lebih sederhana */
.role-admin_desa .sidebar{background:linear-gradient(180deg,#0d4f42 0%,#0a3d34 100%)}
.role-admin_desa .brand{margin-bottom:18px}.role-admin_desa .brand-mark{box-shadow:0 8px 20px rgba(0,0,0,.12)}
.role-admin_desa .sidebar nav{gap:5px}.role-admin_desa .sidebar nav .admin-nav-link{justify-content:flex-start;gap:11px;padding:10px 11px;color:rgba(255,255,255,.84);font-size:13px;font-weight:650}
.role-admin_desa .sidebar nav .admin-nav-link:hover{background:rgba(255,255,255,.09);color:#fff}.role-admin_desa .sidebar nav .admin-nav-link.active{background:#fff;color:#0d5f4c;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.role-admin_desa .sidebar nav .admin-nav-link .nav-badge{margin-left:auto}.role-admin_desa .nav-section{padding-top:8px;margin-bottom:3px}
.admin-menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--primary);place-items:center;flex:0 0 auto}.admin-menu-toggle svg{width:22px;height:22px}.admin-nav-overlay{display:none}

.admin-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-dashboard-head h1{margin:4px 0 5px;font-size:27px;line-height:1.2}.admin-dashboard-head p{margin:0;color:var(--muted);font-size:13px}.admin-period-pill{display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:10px 13px;border:1px solid #d8e9e3;border-radius:12px;background:#f4fbf8;white-space:nowrap}.admin-period-pill span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#628078;font-weight:800}.admin-period-pill strong{font-size:13px;color:#135c4b}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 12px rgba(16,24,40,.035);transition:.15s}.admin-stat-card:hover{transform:translateY(-1px);border-color:#c6ded6}.admin-stat-card.needs-action{border-color:#b7dcd0;background:#f7fcfa}.admin-stat-card.needs-warning{border-color:#fed7aa;background:#fffaf2}.admin-stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#edf8f4;font-size:21px;flex:0 0 44px}.admin-stat-card>span:last-child{display:grid;min-width:0}.admin-stat-card b{font-size:24px;line-height:1}.admin-stat-card strong{font-size:12px;margin-top:4px}.admin-stat-card small{font-size:9px;color:var(--muted);margin-top:2px}
.admin-next-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:17px 18px;border:1px solid #cfe5dd;border-left:4px solid var(--primary);border-radius:14px;background:linear-gradient(90deg,#f2faf7,#fff)}.admin-next-action.warning{border-left-color:#d48a16;background:linear-gradient(90deg,#fff9ed,#fff)}.admin-next-action.soft{border-left-color:#7c6bc7;background:linear-gradient(90deg,#f7f5ff,#fff)}.admin-next-action.success{border-left-color:#309a64;background:linear-gradient(90deg,#f1fbf5,#fff)}.admin-next-action h2{margin:2px 0 3px;font-size:18px}.admin-next-action p{margin:0;color:var(--muted);font-size:11px}.action-kicker{font-size:9px;letter-spacing:.09em;font-weight:900;color:var(--primary)}
.admin-dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px;margin-bottom:16px}.admin-dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 3px 13px rgba(16,24,40,.035)}.admin-dashboard-grid>.admin-dashboard-panel{margin-bottom:0}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-panel-head h2{margin:3px 0 0;font-size:16px}.admin-panel-head p{margin:4px 0 0}.admin-panel-head>a{font-size:11px;color:var(--primary);font-weight:800;white-space:nowrap}
.admin-empty-state{min-height:150px;display:grid;place-items:center;align-content:center;text-align:center;gap:4px;color:var(--muted)}.admin-empty-state>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eff8f5;color:var(--primary);font-size:18px}.admin-empty-state strong{font-size:13px;color:var(--text)}.admin-empty-state small{font-size:10px}.admin-empty-state.compact{min-height:100px}
.admin-task-list{display:grid}.admin-task-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #eef1f0}.admin-task-row:last-child{border-bottom:0}.task-status-dot{width:9px;height:9px;border-radius:50%;background:#8a98a5}.task-status-dot.status-dikirim,.task-status-dot.status-dikirim_ulang{background:#2f76df}.task-status-dot.status-diperiksa{background:#7357cf}.task-status-dot.status-perlu_perbaikan{background:#d04a3a}.task-copy{display:grid;min-width:0}.task-copy strong{font-size:12px}.task-copy small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-status-label{font-size:9px;font-weight:800;color:#5f6f68}.task-arrow{font-size:20px;color:#91a19a}
.admin-progress-wrap{display:grid;grid-template-columns:126px 1fr;gap:18px;align-items:center}.admin-progress-ring{--p:calc(var(--progress)*3.6deg);width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) var(--p),#e8efec 0);position:relative}.admin-progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.admin-progress-ring>div{position:relative;text-align:center;display:grid}.admin-progress-ring b{font-size:22px}.admin-progress-ring span{font-size:8px;color:var(--muted)}.admin-progress-lines{display:grid}.admin-progress-lines>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf1ef}.admin-progress-lines>div:last-child{border-bottom:0}.admin-progress-lines span{font-size:10px;color:var(--muted)}.admin-progress-lines strong{font-size:11px}.admin-info-strip{margin-top:12px;padding:9px 10px;border-radius:10px;background:#f4f8f6;font-size:10px;color:#617169}.admin-info-strip strong{color:var(--text)}
.admin-schedule-list{display:grid}.admin-schedule-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f0}.admin-schedule-row:last-child{border-bottom:0}.schedule-date{width:46px;height:46px;border-radius:11px;background:#f0f8f5;display:grid;place-items:center;align-content:center;color:var(--primary)}.schedule-date b{font-size:17px;line-height:1}.schedule-date span{font-size:8px;font-weight:800;margin-top:3px}.schedule-copy{display:grid;min-width:0}.schedule-copy strong{font-size:12px}.schedule-copy small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-quick-grid>a{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-quick-grid>a>span{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:#f1f8f5;display:grid;place-items:center}.admin-quick-grid strong{font-size:11px}.admin-quick-grid small{font-size:8px;color:var(--muted);margin-top:2px;line-height:1.35}

.admin-simple-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-simple-head h2{margin:3px 0 5px}.admin-simple-head p{margin:0}.admin-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-menu-card{display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.admin-menu-card:hover{border-color:#bfd9d0}.admin-menu-icon{width:46px;height:46px;border-radius:12px;background:#edf8f4;display:grid;place-items:center;font-size:21px}.admin-menu-card>span:nth-child(2){display:grid}.admin-menu-card strong{font-size:12px}.admin-menu-card small{font-size:9px;color:var(--muted);line-height:1.4;margin-top:3px}.admin-menu-arrow{font-size:24px;color:#93a29b}

.admin-report-head{align-items:center}.admin-report-filter select{min-width:160px}.admin-report-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-report-counts>a{display:grid;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.admin-report-counts>a.active{border-color:#8fcab7;background:#f3fbf8}.admin-report-counts>a.needs-action{border-color:#b4d9cd}.admin-report-counts b{font-size:21px}.admin-report-counts span{font-size:10px;font-weight:750}.admin-report-counts small{font-size:8px;color:var(--muted);margin-top:2px}.admin-report-list-card{padding:0;overflow:hidden}.admin-report-table td{font-size:11px}.admin-report-table th{font-size:10px}.report-row-action{text-align:right}
.admin-report-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.admin-report-detail-head h1{margin:4px 0 4px;font-size:24px}.admin-report-detail-head p{margin:0;color:var(--muted);font-size:11px}.back-link{display:block;margin-bottom:10px;font-size:10px;color:var(--primary);font-weight:800}.report-big-status{font-size:10px;padding:7px 10px;white-space:nowrap}.admin-report-actionbar{position:sticky;top:8px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;margin-bottom:14px;border:1px solid #cde2db;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(16,24,40,.08);backdrop-filter:blur(8px)}.admin-report-actionbar.passive{position:static;box-shadow:none;background:#f7faf9}.admin-report-actionbar>div:first-child{display:grid}.admin-report-actionbar strong{font-size:12px}.admin-report-actionbar small{font-size:9px;color:var(--muted);margin-top:2px}.admin-report-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.admin-report-summary>div{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-report-summary b{font-size:21px}.admin-report-summary span{font-size:9px;color:var(--muted)}
.admin-report-section{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:11px;overflow:hidden}.admin-report-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}.admin-report-section>summary::-webkit-details-marker{display:none}.admin-report-section>summary>span:first-child{display:grid}.admin-report-section>summary strong{font-size:12px}.admin-report-section>summary small{font-size:9px;color:var(--muted);margin-top:2px}.detail-chevron{font-size:18px;color:var(--primary);transition:.15s}.admin-report-section[open] .detail-chevron{transform:rotate(180deg)}.report-section-body{padding:0 16px 16px;border-top:1px solid #eef1f0}.report-section-body>.table-wrap{margin-top:8px}.report-section-body table td{font-size:10px}.report-section-body table th{font-size:9px}.admin-revision-card{max-width:none;border-left:4px solid #d14d3f;scroll-margin-top:90px}.admin-revision-card h2{margin:3px 0 0;font-size:16px}

/* Jadwal / halaman admin */
.role-admin_desa .page .period-head h2,.role-admin_desa .page .page-actions h2{font-size:20px}.admin-schedule-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.admin-schedule-head h2{margin:3px 0 4px}.admin-schedule-head p{margin:0}

@media(max-width:1180px){.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard-grid{grid-template-columns:1fr}.admin-quick-grid{grid-template-columns:repeat(2,1fr)}.admin-report-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .role-admin_desa .app-shell{display:block}.role-admin_desa .sidebar{display:block;position:fixed;left:0;top:0;bottom:0;width:min(310px,86vw);z-index:130;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;box-shadow:16px 0 36px rgba(0,0,0,.2)}.role-admin_desa.admin-menu-open .sidebar{transform:translateX(0)}.role-admin_desa .sidebar nav{grid-template-columns:1fr}.role-admin_desa.admin-menu-open{overflow:hidden}.admin-menu-toggle{display:grid}.admin-nav-overlay{position:fixed;inset:0;z-index:125;border:0;background:rgba(6,25,20,.42);padding:0}.role-admin_desa.admin-menu-open .admin-nav-overlay{display:block}.role-admin_desa .topbar{position:sticky;top:0;z-index:100;gap:10px}.role-admin_desa .topbar-title{min-width:0;flex:1}.role-admin_desa .topbar-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-admin_desa .userbox>span{display:none}
  .admin-dashboard-head{display:grid;grid-template-columns:1fr auto}.admin-dashboard-head h1{font-size:22px}.admin-dashboard-head p{font-size:11px}.admin-period-pill{padding:8px 10px}.admin-next-action{align-items:flex-start}.admin-next-action .btn{white-space:nowrap}.admin-more-grid{grid-template-columns:1fr}.admin-report-head{display:grid}.admin-report-filter{width:100%}.admin-report-filter select{flex:1;min-width:0}.admin-report-counts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .role-admin_desa .page{padding:12px}.role-admin_desa .topbar{height:62px}.role-admin_desa .notification-button{width:36px;height:36px}.role-admin_desa .logout-btn span{display:none}.role-admin_desa .logout-btn{width:36px;height:36px;padding:0;display:grid;place-items:center}.admin-dashboard-head{grid-template-columns:1fr}.admin-period-pill{justify-self:start;align-items:flex-start}.admin-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-stat-card{padding:11px;gap:9px}.admin-stat-icon{width:38px;height:38px;flex-basis:38px;font-size:18px}.admin-stat-card b{font-size:20px}.admin-stat-card strong{font-size:9px}.admin-stat-card small{font-size:8px}.admin-next-action{display:grid;padding:14px}.admin-next-action h2{font-size:16px}.admin-next-action .btn{width:100%;text-align:center}.admin-dashboard-panel{padding:14px}.admin-progress-wrap{grid-template-columns:98px 1fr;gap:12px}.admin-progress-ring{width:92px;height:92px}.admin-progress-ring:before{inset:8px}.admin-progress-ring b{font-size:18px}.admin-progress-lines>div{padding:6px 0}.admin-quick-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-quick-grid>a{padding:10px}.admin-schedule-row{grid-template-columns:44px 1fr}.admin-schedule-row>.badge{grid-column:2;justify-self:start}.schedule-date{width:40px;height:40px}.admin-report-counts{gap:7px}.admin-report-counts>a{padding:10px}.admin-report-summary{grid-template-columns:repeat(3,1fr);gap:7px}.admin-report-summary>div{padding:9px}.admin-report-summary b{font-size:18px}.admin-report-actionbar{position:static;display:grid}.admin-report-actionbar .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.admin-report-actionbar .actions form,.admin-report-actionbar .actions .btn{width:100%}.admin-report-actionbar .actions button{width:100%}.admin-report-detail-head{display:grid}.report-big-status{justify-self:start}.compact-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-report-table thead{display:none}.admin-report-table,.admin-report-table tbody,.admin-report-table tr,.admin-report-table td{display:block;width:100%}.admin-report-table tr{padding:12px 13px;border-bottom:1px solid var(--line)}.admin-report-table td{border:0;padding:4px 0;display:grid;grid-template-columns:92px 1fr;gap:8px}.admin-report-table td:before{content:attr(data-label);font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.admin-report-table td.report-row-action{display:block;padding-top:8px}.admin-report-table td.report-row-action:before{display:none}.admin-report-table td.report-row-action .btn{width:100%;text-align:center}.admin-report-list-card{border-radius:13px}
}

/* V6.12: Dashboard Admin final - desktop modern + HP ringkas */
.role-admin_desa .app-shell{grid-template-columns:230px minmax(0,1fr)}
.role-admin_desa .sidebar{padding:22px 15px;background:linear-gradient(180deg,#075a49 0%,#06483d 55%,#053d35 100%);position:sticky;top:0;height:100vh;overflow-y:auto}
.role-admin_desa .admin-brand{gap:11px;margin-bottom:18px;padding:0 5px}.role-admin_desa .admin-brand .brand-mark{width:43px;height:43px;border-radius:50%;color:#087056;background:#fff}.role-admin_desa .admin-brand .brand-mark svg{width:25px;height:25px}.role-admin_desa .admin-brand strong{font-size:16px;letter-spacing:.02em;line-height:1}.role-admin_desa .admin-brand small{font-size:11px;font-weight:800;opacity:.95;margin-top:5px;letter-spacing:.02em}
.admin-side-profile{display:flex;align-items:center;gap:10px;padding:13px 8px 15px;margin-bottom:9px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-side-profile .side-avatar{width:38px;height:38px;flex:0 0 38px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:#fff}.admin-side-profile>div:last-child{display:grid}.admin-side-profile strong{font-size:12px}.admin-side-profile small{font-size:9px;color:#a8ddca;margin-top:3px;display:flex;align-items:center;gap:5px}.online-dot{width:6px;height:6px;border-radius:50%;background:#27d17f;display:inline-block;box-shadow:0 0 0 3px rgba(39,209,127,.12)}
.role-admin_desa .nav-section{font-size:9px;padding:12px 10px 5px}.role-admin_desa .sidebar nav .admin-nav-link{font-size:11px;padding:9px 10px;border-radius:9px}.role-admin_desa .sidebar nav .admin-nav-link.active{background:rgba(22,162,121,.45);color:#fff;box-shadow:none}.role-admin_desa .sidebar nav .admin-nav-link .nav-icon{width:18px;height:18px}.role-admin_desa .sidebar nav .admin-nav-link .nav-icon svg{width:17px;height:17px}
.role-admin_desa .topbar{height:78px;padding:0 24px;box-shadow:0 1px 0 rgba(16,24,40,.03)}.role-admin_desa .topbar-title{display:grid;gap:3px}.role-admin_desa .topbar-title strong{font-size:19px}.role-admin_desa .topbar-title small{font-size:9px;color:var(--muted)}.admin-mobile-brand{display:none}.role-admin_desa .userbox{gap:10px}.admin-period-select{height:42px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 9px}.admin-period-select>span{width:19px;height:19px;color:#1f4c43;display:grid;place-items:center}.admin-period-select svg{width:17px;height:17px}.admin-period-select select{border:0;padding:0 24px 0 0;min-width:112px;font-size:11px;font-weight:750;background-color:transparent;box-shadow:none}.admin-period-select select:focus{outline:none}.role-admin_desa .notification-button{border-radius:50%;width:40px;height:40px}.admin-topbar-avatar{width:37px;height:37px;background:#eef7f4;color:#0b684f}.admin-user-copy{display:grid;min-width:74px}.admin-user-copy strong{font-size:11px}.admin-user-copy small{font-size:8px;color:var(--muted);margin-top:1px}.role-admin_desa .logout-btn{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:10px}.role-admin_desa .logout-btn svg{width:16px;height:16px}.role-admin_desa .logout-btn span{display:none}
.role-admin_desa .page{padding:22px 20px 30px;max-width:1500px;background:#f8fafb}.admin-mobile-period-card{display:none}

.admin-stat-grid-v612{gap:11px;margin-bottom:14px}.admin-stat-grid-v612 .admin-stat-card{min-height:92px;padding:14px 15px;border-radius:13px}.admin-stat-grid-v612 .admin-stat-icon{width:46px;height:46px;flex-basis:46px;border-radius:13px;font-size:0}.admin-stat-grid-v612 .admin-stat-icon svg{width:25px;height:25px}.admin-stat-card.tone-green .admin-stat-icon{background:#e7f7f0;color:#0c8a61}.admin-stat-card.tone-purple .admin-stat-icon{background:#f1eaff;color:#7947d8}.admin-stat-card.tone-blue .admin-stat-icon{background:#eaf3ff;color:#236ed3}.admin-stat-card.tone-orange .admin-stat-icon{background:#fff0da;color:#e57c12}.admin-stat-grid-v612 .admin-stat-card b{font-size:23px}.admin-stat-grid-v612 .admin-stat-card strong{font-size:11px}.admin-stat-grid-v612 .admin-stat-card small{font-size:8px}
.admin-next-action{min-height:93px;padding:14px 17px;border-left:1px solid #cfe5dd;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center}.admin-action-icon{width:44px;height:44px;border-radius:12px;background:#e9f8f2;color:#0d8a63;display:grid;place-items:center}.admin-action-icon svg{width:25px;height:25px}.admin-next-action.warning .admin-action-icon{background:#fff2da;color:#d17a12}.admin-next-action.soft .admin-action-icon{background:#f1edff;color:#7560c4}.admin-next-action.success .admin-action-icon{background:#eaf8ef;color:#13895a}.admin-next-action h2{font-size:15px}.admin-next-action p{font-size:9px;line-height:1.45}.admin-next-action .btn{font-size:10px;padding:9px 13px}
.admin-dashboard-flow{display:block}.admin-dashboard-grid{gap:13px;margin-bottom:13px}.admin-dashboard-primary{grid-template-columns:1.1fr .9fr}.admin-dashboard-secondary{grid-template-columns:1.08fr .92fr}.admin-dashboard-panel{border-radius:13px;padding:15px;margin-bottom:13px}.admin-dashboard-grid>.admin-dashboard-panel{margin-bottom:0}.admin-panel-head{margin-bottom:10px}.admin-panel-head .eyebrow{font-size:8px}.admin-panel-head .eyebrow em{font-style:normal;color:#64756e;letter-spacing:0;text-transform:none}.admin-panel-head h2{font-size:13px}.admin-panel-head>a{font-size:8px}.admin-empty-state{min-height:122px}.admin-empty-state.report-empty>span{width:56px;height:56px;border-radius:16px}.admin-empty-state.report-empty>span svg{width:30px;height:30px}.admin-empty-state strong{font-size:12px}.admin-empty-state small{font-size:8px}
.admin-task-row{padding:9px 1px}.task-copy strong{font-size:10px}.task-copy small{font-size:8px}.task-status-label{font-size:8px}.admin-progress-wrap{grid-template-columns:112px 1fr;gap:13px}.admin-progress-ring{width:105px;height:105px}.admin-progress-ring b{font-size:20px}.admin-progress-lines span,.admin-progress-lines strong{font-size:9px}
.admin-schedule-panel{padding-bottom:10px}.admin-schedule-row{grid-template-columns:58px minmax(0,1fr) auto auto;gap:12px;padding:10px 0}.schedule-date{width:56px;height:62px;border-radius:10px;background:#edf7f3}.schedule-date b{font-size:21px}.schedule-date span{font-size:9px}.schedule-date small{font-size:8px;color:#597268;margin-top:2px}.schedule-copy strong{font-size:11px}.schedule-copy small{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:8px;white-space:normal}.schedule-copy small span{display:inline-grid;place-items:center;color:#61756d;margin-left:5px}.schedule-copy small span:first-child{margin-left:0}.schedule-copy small svg{width:11px;height:11px}.schedule-detail-btn{font-size:9px;padding:7px 10px}
.admin-recap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-recap-grid>div{min-height:72px;padding:10px;border-radius:10px;border:1px solid #edf1ef;display:grid;align-content:center;background:#f7faf9}.admin-recap-grid span{font-size:9px;font-weight:850}.admin-recap-grid b{font-size:18px;margin:2px 0 0}.admin-recap-grid small{font-size:7px;color:#5f6c67}.admin-recap-grid .recap-green{background:#f0f9f5;color:#0b7958}.admin-recap-grid .recap-blue{background:#f0f6ff;color:#2365bd}.admin-recap-grid .recap-orange{background:#fff6ea;color:#d56e0d}.admin-recap-grid .recap-pink{background:#fff1f4;color:#c73c62}.admin-recap-grid .recap-purple{background:#f6f0ff;color:#7c43c4}.admin-recap-grid .recap-magenta{background:#fff1fa;color:#c53889}.admin-recap-grid .recap-sky{background:#edf8ff;color:#2474a8}.admin-recap-grid .recap-amber{background:#fff7e9;color:#ce770b}
.admin-monitor-list{display:grid}.admin-monitor-list>a{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf1ef}.admin-monitor-list>a:last-child{border-bottom:0}.monitor-icon{width:29px;height:29px;border-radius:9px;background:#eaf8f2;color:#0b8a61;display:grid;place-items:center}.monitor-icon svg{width:15px;height:15px}.admin-monitor-list>a>span:nth-child(2){font-size:9px}.admin-monitor-list strong{font-size:10px}.admin-monitor-list strong small{font-size:8px;color:var(--muted);font-weight:500}
.admin-mobile-bottom-nav{display:none}.admin-mobile-more-section{display:none}

@media(max-width:1180px){
  .role-admin_desa .app-shell{grid-template-columns:220px minmax(0,1fr)}.admin-dashboard-primary,.admin-dashboard-secondary{grid-template-columns:1fr}.admin-recap-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .role-admin_desa .sidebar{position:fixed;height:100vh}.role-admin_desa .topbar{height:64px}.role-admin_desa .admin-desktop-title{display:none}.admin-mobile-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.admin-mobile-brand>span{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e9f7f1;color:#087054}.admin-mobile-brand svg{width:21px;height:21px}.admin-mobile-brand strong{display:grid;font-size:11px;line-height:1.1}.admin-mobile-brand small{font-size:8px;margin-top:2px;font-weight:650}.admin-period-select{display:none}.admin-user-copy,.admin-topbar-avatar{display:none}
}
@media(max-width:640px){
  body.role-admin_desa{padding-bottom:72px;background:#f4f7f6}.role-admin_desa .topbar{background:linear-gradient(135deg,#075b49,#047158);border:0;color:#fff;padding:0 13px}.role-admin_desa .admin-menu-toggle{display:grid;border:0;background:transparent;color:#fff;width:34px;height:34px;padding:0}.role-admin_desa .admin-menu-toggle svg{width:23px;height:23px}.role-admin_desa .admin-mobile-brand{color:#fff}.role-admin_desa .admin-mobile-brand>span{background:#fff;color:#087054}.role-admin_desa .notification-button{border:0;background:transparent;color:#fff;width:34px;height:34px}.role-admin_desa .notification-button span{border-color:#087054}.role-admin_desa .logout-btn{display:none}.role-admin_desa .page{padding:13px 10px 16px;background:#f4f7f6}
  .admin-mobile-period-card{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;background:#fff;border:1px solid #dbe8e3;border-radius:12px;padding:10px 12px;margin-bottom:11px}.mobile-period-icon{width:34px;height:34px;border-radius:9px;background:#eaf8f2;color:#0b8a61;display:grid;place-items:center}.mobile-period-icon svg{width:18px;height:18px}.admin-mobile-period-card>span:last-child{display:grid}.admin-mobile-period-card small{font-size:7px;color:#44806d;font-weight:900;letter-spacing:.07em}.admin-mobile-period-card strong{font-size:11px;margin-top:2px}
  .admin-stat-grid-v612{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.admin-stat-grid-v612 .admin-stat-card{min-height:86px;padding:10px;gap:8px;align-items:flex-start}.admin-stat-grid-v612 .admin-stat-icon{width:37px;height:37px;flex-basis:37px;border-radius:10px}.admin-stat-grid-v612 .admin-stat-icon svg{width:20px;height:20px}.admin-stat-grid-v612 .admin-stat-card b{font-size:20px}.admin-stat-grid-v612 .admin-stat-card strong{font-size:8px;line-height:1.25}.admin-stat-grid-v612 .admin-stat-card small{font-size:7px;line-height:1.25}
  .admin-next-action{grid-template-columns:38px 1fr;padding:12px;gap:9px;margin-bottom:10px;min-height:0}.admin-action-icon{width:36px;height:36px}.admin-action-icon svg{width:20px;height:20px}.admin-next-action .btn{grid-column:2;width:100%;text-align:center;margin-top:3px}.admin-next-action h2{font-size:13px}.admin-next-action p{font-size:8px}.action-kicker{font-size:7px}
  .admin-dashboard-flow{display:flex;flex-direction:column}.admin-schedule-panel{order:1}.admin-dashboard-primary{order:2}.admin-dashboard-secondary{order:3}.admin-dashboard-primary,.admin-dashboard-secondary{display:grid;grid-template-columns:1fr;margin-bottom:0}.admin-progress-panel{display:none}.admin-report-queue-panel.is-empty-queue{display:none}.admin-monitoring-panel{display:none}.admin-dashboard-panel{padding:12px;border-radius:12px;margin-bottom:10px}.admin-panel-head{margin-bottom:8px}.admin-panel-head .eyebrow{font-size:7px}.admin-panel-head h2{font-size:11px}.admin-panel-head>a{font-size:7px}
  .admin-schedule-list .admin-schedule-row:nth-child(n+2){display:none}.admin-schedule-row{grid-template-columns:54px 1fr;gap:9px;padding:5px 0 2px}.schedule-date{width:52px;height:62px}.schedule-date b{font-size:20px}.schedule-copy strong{font-size:10px}.schedule-copy small{font-size:7px;gap:2px;line-height:1.5}.admin-schedule-row>.badge{grid-column:2;justify-self:start;font-size:7px;padding:4px 6px}.schedule-detail-btn{grid-column:1/-1;width:100%;text-align:center;margin-top:5px;min-height:34px;display:grid;place-items:center}
  .admin-task-row{grid-template-columns:8px minmax(0,1fr) auto;padding:9px 0}.task-status-label{display:none}.task-arrow{font-size:17px}.task-copy strong{font-size:9px}.task-copy small{font-size:7px}
  .admin-recap-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.admin-recap-grid>div{min-height:61px;padding:7px 6px;border-radius:8px}.admin-recap-grid span{font-size:7px}.admin-recap-grid b{font-size:15px}.admin-recap-grid small{font-size:6px}
  .admin-mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:150;height:66px;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(255,255,255,.98);border-top:1px solid #dfe7e4;box-shadow:0 -8px 24px rgba(15,55,45,.08)}.admin-mobile-bottom-nav a{display:grid;place-items:center;align-content:center;gap:3px;color:#314b43;border-radius:10px;font-size:0}.admin-mobile-bottom-nav a>span{width:22px;height:22px;display:grid;place-items:center}.admin-mobile-bottom-nav svg{width:20px;height:20px}.admin-mobile-bottom-nav small{font-size:8px;font-weight:750}.admin-mobile-bottom-nav a.active{color:#078157}.admin-mobile-bottom-nav a.active>span{color:#078157}.admin-mobile-more-section{display:block;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.admin-mobile-more-title{margin-bottom:10px}.admin-mobile-more-title h3{font-size:15px;margin:3px 0}.admin-mobile-more-title p{font-size:9px;margin:0}.admin-mobile-more-section .admin-more-grid{grid-template-columns:1fr}
}
@media(max-width:390px){.admin-recap-grid{grid-template-columns:repeat(4,1fr)}.admin-recap-grid>div{padding:6px 4px}.admin-recap-grid b{font-size:14px}.admin-stat-grid-v612 .admin-stat-card{gap:6px}.admin-stat-grid-v612 .admin-stat-icon{width:33px;height:33px;flex-basis:33px}}
.admin-side-profile .side-avatar{border-radius:50%;display:grid;place-items:center;font-weight:850}
.admin-sidebar-note{margin:22px 4px 0;padding:12px;border-radius:12px;background:rgba(20,153,116,.22);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:9px}.admin-sidebar-note>span{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#d9fff1}.admin-sidebar-note svg{width:20px;height:20px}.admin-sidebar-note>div{display:grid}.admin-sidebar-note strong{font-size:9px}.admin-sidebar-note b{font-size:10px;margin-top:1px}.admin-sidebar-note small{font-size:8px;color:#bde7d8;margin-top:4px}

/* V6.13: Penempatan dashboard Admin - tindakan operasional lebih dulu */
@media(min-width:1181px){
  .admin-dashboard-flow{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:13px;
  }
  .admin-dashboard-primary{display:contents}
  .admin-schedule-panel{grid-column:1;grid-row:1;margin-bottom:0}
  .admin-report-queue-panel{grid-column:2;grid-row:1;margin-bottom:0}
  .admin-progress-panel{grid-column:1 / -1;grid-row:2;margin-bottom:0}
  .admin-dashboard-secondary{grid-column:1 / -1;grid-row:3;margin-bottom:0}
  .admin-progress-wide-placeholder{display:none}
  .admin-progress-panel .admin-progress-wrap{grid-template-columns:118px minmax(0,1fr);gap:18px}
  .admin-progress-panel .admin-progress-lines{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .admin-progress-panel .admin-progress-lines>div{
    display:grid;
    align-content:center;
    justify-content:stretch;
    gap:3px;
    min-height:58px;
    padding:10px 12px;
    border:1px solid #edf1ef;
    border-radius:10px;
    background:#fafcfb;
  }
  .admin-progress-panel .admin-progress-lines>div:last-child{border-bottom:1px solid #edf1ef}
  .admin-progress-panel .admin-progress-lines span{font-size:8px}
  .admin-progress-panel .admin-progress-lines strong{font-size:12px}
}

@media(min-width:641px) and (max-width:1180px){
  .admin-dashboard-flow{display:grid;grid-template-columns:1fr;gap:13px}
  .admin-dashboard-primary{display:contents}
  .admin-schedule-panel{grid-column:1;grid-row:1;margin-bottom:0}
  .admin-report-queue-panel{grid-column:1;grid-row:2;margin-bottom:0}
  .admin-progress-panel{grid-column:1;grid-row:3;margin-bottom:0}
  .admin-dashboard-secondary{grid-column:1;grid-row:4;margin-bottom:0}
}

@media(max-width:640px){
  .admin-dashboard-flow{display:grid;grid-template-columns:1fr;gap:0}
  .admin-dashboard-primary{display:contents}
  .admin-schedule-panel{grid-column:1;grid-row:1}
  .admin-report-queue-panel{grid-column:1;grid-row:2}
  .admin-progress-panel{display:none}
  .admin-dashboard-secondary{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr;margin-bottom:0}
  .admin-monitoring-panel{display:none}
}

/* V6.14 — identitas desa dinamis */
.brand-mark img,.admin-mobile-brand img,.about-hero-mark img,.about-identity-logo img{width:100%;height:100%;object-fit:contain;display:block}.brand-mark img{padding:5px}.admin-mobile-brand img{max-width:25px;max-height:25px;border-radius:6px}.about-hero-mark img{padding:8px;border-radius:18px}.about-identity-logo img{padding:5px;border-radius:12px}.village-settings-card{max-width:980px}.village-settings-preview{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:20px;border:1px solid #dce8e3;border-radius:14px;background:#f5fbf8}.village-logo-preview{width:62px;height:62px;flex:0 0 62px;border-radius:15px;background:#0e6d55;color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden}.village-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff;padding:5px}.village-settings-preview>div:last-child{display:grid;min-width:0}.village-settings-preview small{font-size:10px;color:var(--muted)}.village-settings-preview strong{font-size:16px;margin:2px 0}.village-settings-preview span{font-size:11px;color:var(--muted);line-height:1.4}.village-app-settings{margin-top:20px}.village-logo-remove{display:flex!important;grid-template-columns:18px auto!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}.village-logo-remove input{width:16px;height:16px;margin:0}.village-impact-note{margin-top:18px;background:#f7fbf9}.village-impact-note p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
@media(max-width:640px){.village-settings-preview{align-items:flex-start}.village-logo-preview{width:52px;height:52px;flex-basis:52px}.village-settings-card .form-actions{flex-direction:column-reverse}.village-settings-card .form-actions .btn{width:100%;text-align:center}}

/* V6.15 — Pemeriksaan laporan ringkas untuk banyak sasaran */
.admin-report-mobile-actions,.admin-report-mobile-spacer{display:none}
.admin-report-summary-v615 .summary-warning{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.admin-report-summary-v615 .summary-warning span{color:#9a3412}.admin-report-summary-v615 .summary-ok{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.admin-report-summary-v615 .summary-ok span{color:#166534}
.report-review-alert{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px;border:1px solid;border-radius:13px;margin-bottom:12px;background:#fff}.report-review-alert>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:900}.report-review-alert>div{display:grid;gap:2px}.report-review-alert strong{font-size:11px}.report-review-alert small{font-size:9px;line-height:1.45}.report-review-alert.warning{border-color:#fed7aa;background:#fffaf3;color:#9a3412}.report-review-alert.warning>span{background:#ffedd5;color:#c2410c}.report-review-alert.warning small{color:#9a6a43}.report-review-alert.success{border-color:#bbf7d0;background:#f5fcf7;color:#166534}.report-review-alert.success>span{background:#dcfce7;color:#15803d}.report-review-alert.success small{color:#4d7660}
.admin-report-target-section{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:11px;overflow:hidden}.report-target-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;padding:15px 16px;border-bottom:1px solid #edf1ef}.report-target-head h2{margin:3px 0 3px;font-size:15px}.report-target-head p{margin:0;color:var(--muted);font-size:9px}.report-target-filter{display:flex;align-items:end;gap:7px}.report-target-filter label{display:grid;gap:4px;font-size:8px;font-weight:800;color:#5e6d68}.report-target-filter input,.report-target-filter select{height:34px;min-width:145px;padding:7px 9px;font-size:9px;border-radius:9px}.report-target-filter .report-search input{min-width:210px}.report-target-filter .btn{height:34px;display:grid;place-items:center;white-space:nowrap}
.report-target-list{display:grid}.report-target-item{border-bottom:1px solid #edf1ef;background:#fff}.report-target-item:last-child{border-bottom:0}.report-target-item>summary{list-style:none;display:grid;grid-template-columns:minmax(170px,1.05fr) minmax(95px,.58fr) minmax(220px,1.35fr) auto 68px;align-items:center;gap:13px;padding:12px 16px;cursor:pointer;transition:.15s}.report-target-item>summary::-webkit-details-marker{display:none}.report-target-item>summary:hover{background:#fafcfb}.report-target-item.needs-review>summary{background:#fffaf8}.report-target-item[open]>summary{background:#f7fbf9}.target-person,.target-group,.target-brief{display:grid;gap:2px;min-width:0}.target-person strong{font-size:10px}.target-person small,.target-group small,.target-brief small{font-size:7px;color:var(--muted);font-style:normal}.target-group strong{font-size:9px}.target-brief strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-brief em{font-size:7px;color:#4f6a61;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-state{justify-self:start;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}.target-state.ok{background:#ecfdf3;color:#067647}.target-state.warn{background:#fef3f2;color:#b42318}.target-open{justify-self:end;color:var(--primary);font-size:8px;font-weight:850;white-space:nowrap}.target-open b{display:inline-block;font-size:12px;margin-left:2px;transition:.15s}.report-target-item[open] .target-open b{transform:rotate(180deg)}
.report-target-detail-body{padding:14px 16px 16px;border-top:1px solid #edf1ef;background:#fbfdfc}.target-issue-box{display:grid;gap:3px;padding:9px 11px;margin-bottom:10px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#a92620}.target-issue-box strong{font-size:9px}.target-issue-box span{font-size:8px}.target-detail-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:9px}.target-detail-panel{border:1px solid #e5ece9;border-radius:11px;background:#fff;padding:11px}.target-detail-panel h4{margin:0 0 9px;font-size:10px}.target-kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.target-kv-grid>div{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:#f7faf9}.target-kv-grid span,.target-note span,.target-indicator-n span{font-size:7px;color:var(--muted)}.target-kv-grid strong{font-size:9px}.target-service-text{font-size:9px;line-height:1.55;margin:0;color:#324b43}.target-empty-detail{grid-column:1/-1;font-size:8px;color:var(--muted);padding:8px;border-radius:8px;background:#f7faf9}.target-indicator-n{display:grid;gap:2px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1ef}.target-indicator-n strong{font-size:10px}.target-indicator-n small{font-size:7px;color:var(--muted)}.target-notes-panel{display:grid;align-content:start}.target-note{display:grid;gap:3px;padding:7px 0;border-bottom:1px solid #edf1ef}.target-note:last-child{border-bottom:0}.target-note p{margin:0;font-size:8px;line-height:1.5;color:#344a43}
.report-target-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid #edf1ef;background:#fafcfb}.report-target-pagination>span{font-size:8px;color:var(--muted)}.report-target-pagination>div{display:flex;align-items:center;gap:7px}.report-target-pagination small{font-size:8px;color:var(--muted);white-space:nowrap}.report-target-empty{margin:14px}.report-doc-section{margin-top:0}

@media(max-width:900px){
  .report-target-head{grid-template-columns:1fr;align-items:stretch}.report-target-filter{display:grid;grid-template-columns:1fr 1fr auto auto}.report-target-filter .report-search input,.report-target-filter input,.report-target-filter select{min-width:0;width:100%}
  .report-target-item>summary{grid-template-columns:minmax(150px,1fr) 100px minmax(190px,1.2fr) auto 64px;gap:9px}
  .target-detail-grid{grid-template-columns:1fr 1fr}.target-notes-panel{grid-column:1/-1}
}
@media(max-width:640px){
  .admin-report-page{margin-bottom:0}.admin-report-detail-head h1{font-size:18px}.admin-report-detail-head p{font-size:8px}.admin-report-actionbar{padding:10px 11px}.admin-report-actionbar .actions{display:none}.admin-report-actionbar strong{font-size:10px}.admin-report-actionbar small{font-size:8px}.admin-report-summary-v615{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-report-summary-v615>div{padding:8px;min-height:60px}.admin-report-summary-v615 b{font-size:17px}.admin-report-summary-v615 span{font-size:7px}
  .admin-report-mobile-actions{position:fixed;left:8px;right:8px;bottom:72px;z-index:165;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;border:1px solid #dce7e3;border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 -5px 20px rgba(16,55,44,.14);backdrop-filter:blur(8px)}.admin-report-mobile-actions form,.admin-report-mobile-actions .btn,.admin-report-mobile-actions button{width:100%}.admin-report-mobile-actions .btn{min-height:36px;display:grid;place-items:center;font-size:9px}.admin-report-mobile-spacer{display:block;height:62px}
  .report-review-alert{grid-template-columns:31px 1fr;padding:10px;gap:8px}.report-review-alert>span{width:29px;height:29px;font-size:13px}.report-review-alert strong{font-size:9px}.report-review-alert small{font-size:7px}
  .report-target-head{padding:12px}.report-target-head h2{font-size:12px}.report-target-head p{font-size:7px;line-height:1.45}.report-target-filter{grid-template-columns:1fr 1fr;gap:6px}.report-target-filter label{font-size:7px}.report-target-filter .report-search{grid-column:1/-1}.report-target-filter input,.report-target-filter select{height:36px;font-size:9px}.report-target-filter .btn{height:36px;width:100%}
  .report-target-item>summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person state" "group group" "brief brief" "open open";gap:6px;padding:11px 12px}.target-person{grid-area:person}.target-group{grid-area:group;display:flex;gap:5px;align-items:center}.target-group small:after{content:":"}.target-brief{grid-area:brief;padding:7px 8px;border-radius:8px;background:#f7faf9}.target-state{grid-area:state;justify-self:end;font-size:7px;padding:4px 6px}.target-open{grid-area:open;justify-self:stretch;text-align:center;padding-top:5px;border-top:1px solid #edf1ef;font-size:8px}.target-person strong{font-size:10px}.target-person small{font-size:7px}.target-group strong,.target-brief strong{font-size:8px}.target-brief em{font-size:7px;white-space:normal;line-height:1.4}.report-target-detail-body{padding:10px 12px 12px}.target-detail-grid{grid-template-columns:1fr;gap:7px}.target-notes-panel{grid-column:auto}.target-detail-panel{padding:9px}.target-kv-grid{grid-template-columns:1fr 1fr;gap:5px}.target-kv-grid>div{padding:6px}.target-kv-grid span{font-size:6px}.target-kv-grid strong{font-size:8px}.target-service-text,.target-note p{font-size:8px}.target-issue-box{padding:8px}.target-issue-box strong,.target-issue-box span{font-size:7px}
  .report-target-pagination{display:grid;justify-items:stretch;padding:10px 12px}.report-target-pagination>span{text-align:center;font-size:7px}.report-target-pagination>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.report-target-pagination .btn{width:100%;font-size:8px;padding:7px 5px}.report-target-pagination small{text-align:center;font-size:7px}.report-doc-section .compact-photo-grid{grid-template-columns:1fr 1fr}
  .admin-revision-card{scroll-margin-top:64px}.admin-revision-card .grid2{grid-template-columns:1fr}.admin-revision-card .span2{grid-column:auto}
}
@media(max-width:390px){.admin-report-summary-v615{grid-template-columns:repeat(3,1fr)}.target-kv-grid{grid-template-columns:1fr}.report-doc-section .compact-photo-grid{grid-template-columns:1fr}}

/* V6.16 Rekap bulanan: definisi hitungan lebih jelas dan tampilan layar lebih ringkas */
.recap-definition-alert{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.recap-definition-alert>strong{width:100%}.recap-definition-alert span{font-size:12px;line-height:1.45}.recap-summary-v616{grid-template-columns:repeat(6,minmax(0,1fr))}.recap-two-col>.card{height:100%}.recap-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recap-group-grid>div{border:1px solid var(--line);border-radius:12px;padding:13px;background:#f9fbfc;display:grid;gap:3px}.recap-group-grid b{font-size:21px}.recap-group-grid span{font-size:11px;color:var(--muted)}.recap-table-v616{min-width:1120px}.recap-table-v616 th,.recap-table-v616 td{text-align:center;white-space:nowrap}.recap-table-v616 th:first-child,.recap-table-v616 td:first-child{text-align:left;position:sticky;left:0;background:inherit}.recap-table-v616 thead th:first-child{background:#fff;z-index:2}
@media(max-width:1100px){.recap-summary-v616{grid-template-columns:repeat(3,minmax(0,1fr))}.recap-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.recap-definition-alert{display:block}.recap-definition-alert span{display:block;margin-top:6px}.recap-summary-v616{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recap-table-v616{min-width:1040px}}
\n\n/* V6.17 — logo aman: selalu utuh, tidak terpotong */\n.brand-mark.has-logo{overflow:visible!important;background:#fff!important;border-radius:10px!important;padding:3px!important}\n.brand-mark.has-logo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:0!important;margin:auto!important}\n.role-admin_desa .admin-brand .brand-mark.has-logo{width:48px;height:48px;flex:0 0 48px;border-radius:10px!important}\n.admin-mobile-brand>span.has-logo{overflow:visible!important;border-radius:8px!important;padding:3px!important;background:#fff!important}\n.admin-mobile-brand>span.has-logo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;margin:auto!important}\n.about-hero-mark.has-logo,.about-identity-logo.has-logo,.village-logo-preview.has-logo{overflow:visible!important;background:#fff!important;padding:5px!important}\n.about-hero-mark.has-logo img,.about-identity-logo.has-logo img,.village-logo-preview.has-logo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;border-radius:0!important;margin:auto!important;background:transparent!important}\n@media(max-width:640px){.role-admin_desa .admin-brand .brand-mark.has-logo{width:46px;height:46px;flex-basis:46px}}\n
/* V6.18 — Modern Icon Refresh + Sidebar Refinement
   Fokus: satu keluarga ikon rounded-outline, jarak ikon-teks rapat,
   aksen warna lembut, state aktif kuat, dan bottom navigation modern. */
.role-posyandu .app-shell{grid-template-columns:252px minmax(0,1fr)}
.role-admin_desa .app-shell{grid-template-columns:244px minmax(0,1fr)}
.role-posyandu .sidebar,.role-admin_desa .sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.role-posyandu .sidebar{padding:22px 14px;background:linear-gradient(180deg,#075f4d 0%,#045142 52%,#043f36 100%)}
.role-admin_desa .sidebar{padding:20px 13px;background:linear-gradient(180deg,#075b49 0%,#064b40 55%,#043b33 100%)}

/* logo/profil lebih kompak seperti mockup */
.role-posyandu .brand{padding:0 7px;margin-bottom:14px;gap:10px}
.role-admin_desa .admin-brand{margin-bottom:14px;gap:10px}
.kader-side-profile{margin:2px 2px 19px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.095)}
.role-admin_desa .admin-side-profile{margin-bottom:16px}
.role-posyandu .nav-section,.role-admin_desa .nav-section{padding-left:9px;margin-bottom:4px;letter-spacing:.11em}

/* Kader: hentikan justify-content:space-between yang sebelumnya membuat teks jauh dari ikon */
.role-posyandu .sidebar nav{gap:4px}
.role-posyandu .sidebar .kader-nav-link{
  justify-content:flex-start!important;gap:9px!important;min-height:43px;padding:6px 9px!important;border-radius:12px;
  color:rgba(255,255,255,.91);font-size:12.5px;font-weight:700;letter-spacing:-.005em
}
.role-posyandu .sidebar .kader-nav-link>span:nth-child(2){flex:1;min-width:0}
.role-posyandu .sidebar .kader-nav-link .nav-icon{
  width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:rgba(255,255,255,.075);
  color:#c8f7e7;transition:background .16s ease,color .16s ease,transform .16s ease
}
.role-posyandu .sidebar .kader-nav-link .nav-icon svg{width:18px;height:18px}
.role-posyandu .sidebar .kader-nav-link:nth-of-type(2) .nav-icon{color:#bfe6ff;background:rgba(70,160,255,.12)}
.role-posyandu .sidebar .kader-nav-link:nth-of-type(3) .nav-icon{color:#dbc9ff;background:rgba(153,104,255,.12)}
.role-posyandu .sidebar .kader-nav-link:nth-of-type(4) .nav-icon{color:#ffd3af;background:rgba(255,151,75,.12)}
.role-posyandu .sidebar .kader-nav-link:nth-of-type(5) .nav-icon{color:#bff3e8;background:rgba(77,208,177,.11)}
.role-posyandu .sidebar .kader-nav-link:nth-of-type(6) .nav-icon{color:#fff1a8;background:rgba(255,210,68,.10)}
.role-posyandu .sidebar .kader-nav-link:hover{background:rgba(255,255,255,.085);transform:translateX(1px)}
.role-posyandu .sidebar .kader-nav-link.active{
  background:linear-gradient(135deg,rgba(28,172,126,.96),rgba(12,132,99,.96));
  color:#fff;box-shadow:0 8px 18px rgba(0,31,24,.20)
}
.role-posyandu .sidebar .kader-nav-link.active .nav-icon{background:#fff;color:#08745a;box-shadow:0 5px 12px rgba(0,44,34,.16);transform:scale(1.02)}
.role-posyandu .sidebar .nav-badge{margin-left:auto}

/* Admin desktop: ikon ber-chip, teks rapat, active modern */
.role-admin_desa .sidebar nav{gap:3px}
.role-admin_desa .sidebar nav .admin-nav-link{
  justify-content:flex-start!important;gap:9px!important;min-height:41px;padding:5px 8px!important;border-radius:11px;
  color:rgba(255,255,255,.90);font-size:11.6px!important;font-weight:700;letter-spacing:-.003em
}
.role-admin_desa .sidebar nav .admin-nav-link>span:nth-child(2){flex:1;min-width:0}
.role-admin_desa .sidebar nav .admin-nav-link .nav-icon{
  width:29px!important;height:29px!important;flex:0 0 29px;border-radius:9px;background:rgba(255,255,255,.075);
  color:#c9f7e6;display:grid;place-items:center;transition:.16s ease
}
.role-admin_desa .sidebar nav .admin-nav-link .nav-icon svg{width:17px!important;height:17px!important}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(2) .nav-icon{color:#bde6ff;background:rgba(63,160,255,.11)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(3) .nav-icon{color:#e0caff;background:rgba(157,105,255,.11)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(4) .nav-icon{color:#bff2e6;background:rgba(56,204,169,.11)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(5) .nav-icon{color:#ffd0a9;background:rgba(255,144,64,.11)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(6) .nav-icon{color:#bce7ff;background:rgba(69,173,255,.10)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(7) .nav-icon{color:#fff0a7;background:rgba(255,205,55,.10)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(8) .nav-icon{color:#e1d0ff;background:rgba(158,112,255,.10)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(9) .nav-icon{color:#b9f3de;background:rgba(73,205,159,.10)}
.role-admin_desa .sidebar nav .admin-nav-link:nth-of-type(10) .nav-icon{color:#ffe0b3;background:rgba(255,166,82,.10)}
.role-admin_desa .sidebar nav .admin-nav-link:hover{background:rgba(255,255,255,.08);transform:translateX(1px)}
.role-admin_desa .sidebar nav .admin-nav-link.active{
  background:linear-gradient(135deg,rgba(26,167,123,.92),rgba(10,126,95,.92))!important;color:#fff!important;
  box-shadow:0 7px 17px rgba(0,31,24,.17)!important
}
.role-admin_desa .sidebar nav .admin-nav-link.active .nav-icon{background:#fff;color:#08745a;box-shadow:0 4px 10px rgba(0,44,34,.14)}
.role-admin_desa .sidebar nav .admin-nav-link .nav-badge{margin-left:auto}

/* Ikon global terasa lebih halus dan konsisten */
.nav-icon svg,.mobile-bottom-nav svg,.admin-mobile-bottom-nav svg{stroke-width:1.9}
.notification-button{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.notification-button:hover{transform:translateY(-1px);border-color:#c7ddd5;box-shadow:0 5px 14px rgba(11,90,69,.08)}

/* Bottom navigation: active icon seperti app modern, bukan hanya teks berubah warna */
@media(max-width:900px){
  .role-posyandu .app-shell{grid-template-columns:1fr}
  .mobile-bottom-nav{height:70px;padding-top:6px;gap:2px;background:rgba(255,255,255,.985);backdrop-filter:blur(10px)}
  .mobile-bottom-nav a{gap:2px;padding:1px 2px;color:#69756f;font-size:0;border-radius:12px}
  .mobile-bottom-nav a>span{width:34px;height:30px;border-radius:10px;display:grid;place-items:center;transition:.16s ease}
  .mobile-bottom-nav a>span svg{width:20px;height:20px}
  .mobile-bottom-nav a small{font-size:9px;font-weight:700;letter-spacing:-.01em}
  .mobile-bottom-nav a.active{color:#087a5b;font-weight:850}
  .mobile-bottom-nav a.active>span{background:#e6f6ef;color:#087a5b;box-shadow:inset 0 0 0 1px #d3ede3}
}
@media(max-width:640px){
  .admin-mobile-bottom-nav{height:69px;padding-top:6px;background:rgba(255,255,255,.985);backdrop-filter:blur(10px)}
  .admin-mobile-bottom-nav a{gap:2px;border-radius:12px;color:#66736e}
  .admin-mobile-bottom-nav a>span{width:34px;height:30px;border-radius:10px!important;display:grid;place-items:center;transition:.16s ease}
  .admin-mobile-bottom-nav a>span svg{width:20px;height:20px}
  .admin-mobile-bottom-nav small{font-size:9px;font-weight:720}
  .admin-mobile-bottom-nav a.active{color:#087a5b}
  .admin-mobile-bottom-nav a.active>span{background:#e6f6ef;color:#087a5b;box-shadow:inset 0 0 0 1px #d3ede3}
  /* Drawer admin mengikuti sidebar modern ketika dibuka di HP */
  .role-admin_desa .sidebar{width:min(294px,86vw);padding:18px 13px}
  .role-admin_desa .sidebar nav .admin-nav-link{font-size:12px!important;min-height:43px}
  .role-admin_desa .sidebar nav .admin-nav-link .nav-icon{width:30px!important;height:30px!important;flex-basis:30px}
}

/* V6.19 — samakan tampilan admin lebih dekat ke mockup */
.role-admin_desa .sidebar nav a.admin-nav-link{padding:11px 12px;border-radius:14px;margin-bottom:6px;font-weight:700;transition:all .16s ease}
.role-admin_desa .sidebar nav a.admin-nav-link .nav-icon{width:32px;height:32px;flex:0 0 32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#dbfff1}
.role-admin_desa .sidebar nav a.admin-nav-link .nav-icon svg{width:18px;height:18px}
.role-admin_desa .sidebar nav a.admin-nav-link.active{background:#12936c;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 20px rgba(6,89,67,.18)}
.role-admin_desa .sidebar nav a.admin-nav-link.active .nav-icon{background:rgba(255,255,255,.16);color:#fff}
.role-admin_desa .sidebar nav a.admin-nav-link:hover{background:rgba(255,255,255,.08)}

.admin-sidebar-note{position:relative;margin:20px 2px 0;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(17,145,109,.34),rgba(10,105,80,.36));border:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1.05fr .95fr;gap:10px;align-items:end;overflow:hidden;min-height:138px}
.admin-sidebar-note:before{content:"";position:absolute;inset:auto -20px -30px auto;width:110px;height:110px;background:radial-gradient(circle at center,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none}
.admin-sidebar-note-copy{position:relative;z-index:1;display:grid;align-content:start;gap:2px}
.admin-sidebar-note-copy strong{font-size:12px;line-height:1.2;color:#f4fffb}
.admin-sidebar-note-copy b{font-size:18px;line-height:1.15;color:#fff}
.admin-sidebar-note-copy small{font-size:10px;line-height:1.45;color:#d8f5ea;margin-top:6px}
.admin-sidebar-illu{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center}
.admin-sidebar-illu svg{width:120px;max-width:100%;height:auto;display:block}

.admin-stat-grid-v612 .admin-stat-card,
.admin-dashboard-panel,
.admin-next-action{box-shadow:0 10px 24px rgba(16,24,40,.04)}
.admin-dashboard-panel{border:1px solid #e6ece9}
.admin-stat-grid-v612 .admin-stat-card{border:1px solid #e3e9e6}
.admin-schedule-row{padding:14px 0}
.admin-schedule-row:first-child{padding-top:4px}
.admin-panel-head h2{letter-spacing:-.01em}
.admin-progress-ring{box-shadow:inset 0 0 0 1px #e6ece9}
.admin-monitor-list a,.admin-task-row{border-radius:12px}
.admin-monitor-list a:hover,.admin-task-row:hover{background:#f8fbfa}

@media(max-width:900px){
  .admin-sidebar-note{grid-template-columns:1fr;min-height:0;padding:14px}
  .admin-sidebar-illu{justify-content:flex-end}
  .admin-sidebar-illu svg{width:110px}
}
@media(max-width:640px){
  .admin-sidebar-note{display:none}
  .role-admin_desa .sidebar nav a.admin-nav-link{padding:10px 12px}
}

/* ===== v6.20 dashboard mockup refresh ===== */
.mock-kader-hero-head{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 18px}.mock-kader-hero-head h1,.mock-admin-greeting h1{margin:0;font-size:34px;line-height:1.12;color:#0d223f}.mock-kader-hero-head p,.mock-admin-greeting p{margin:6px 0 0;color:#637381}.mock-kader-date{display:block;font-size:13px;color:#6b7280;margin-bottom:6px}
.mock-kader-stats,.mock-admin-topstats{display:grid;gap:16px;margin-bottom:18px}.mock-kader-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.mock-admin-topstats{grid-template-columns:repeat(5,minmax(0,1fr))}
.mock-stat-card,.admin-topstat-card{display:flex;justify-content:space-between;align-items:center;padding:18px 18px;border-radius:22px;background:#fff;border:1px solid #e7edf0;box-shadow:0 10px 30px rgba(14,60,43,.05);text-decoration:none;color:inherit}.mock-stat-card .copy,.admin-topstat-card .stat-copy{display:flex;flex-direction:column;gap:2px}.mock-stat-card small,.admin-topstat-card small{font-size:13px;color:#5f6b7a}.mock-stat-card b,.admin-topstat-card b{font-size:44px;line-height:1;color:#11213a}.mock-stat-card span,.admin-topstat-card span{font-size:13px;color:#718096}.mock-stat-card .icon,.admin-topstat-card .stat-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center}.mock-stat-card .icon svg,.admin-topstat-card .stat-icon svg{width:28px;height:28px}
.soft-green .icon,.green .stat-icon{background:#e8f7ef;color:#158a5d}.soft-blue .icon,.blue .stat-icon{background:#ebf3ff;color:#2f7bee}.soft-purple .icon,.purple .stat-icon{background:#f2ebff;color:#8457e6}.soft-orange .icon,.orange .stat-icon{background:#fff1df;color:#f19b2c}.mint .stat-icon{background:#ecfbf5;color:#28a46d}
.mock-kader-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-bottom:18px}.mock-kader-cta,.mock-side-panel,.mock-announcement-bar,.mock-admin-card{background:#fff;border:1px solid #e7edf0;border-radius:24px;box-shadow:0 14px 34px rgba(17,50,39,.06)}
.mock-kader-cta{padding:0;background:linear-gradient(135deg,#0b8c66,#046e51);display:grid;grid-template-columns:1fr 290px;overflow:hidden;min-height:260px}.cta-copy{padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:center}.cta-copy .eyebrow{font-size:14px;opacity:.85;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.cta-copy h2{font-size:46px;line-height:1;margin:8px 0 10px}.cta-copy p{font-size:16px;line-height:1.6;max-width:320px;color:rgba(255,255,255,.88)}.cta-btn{margin-top:18px;display:inline-flex;align-items:center;gap:10px;background:#fff;color:#0b6f52;text-decoration:none;border:0;padding:12px 16px;border-radius:14px;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.12)}.cta-btn svg{width:18px;height:18px}.cta-illus{display:flex;align-items:flex-end;justify-content:center;padding:18px 18px 0}.cta-illus svg{max-width:100%;height:auto}
.mock-side-panel{padding:22px}.panel-head,.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-head h3,.card-head h3{margin:0;font-size:26px;color:#11213a}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;border:1px solid #e3e9ee;background:#f7fafc;color:#51606f}.badge.green{background:#edf9f2;border-color:#d4eedf;color:#14895c}.badge.diperiksa,.badge.dikirim,.badge.menunggu{background:#fff4df;border-color:#ffe1a8;color:#c77b07}.badge.valid,.badge.terkunci,.badge.terverifikasi{background:#edf9f2;border-color:#d2eedf;color:#17865a}
.mini-schedule-card{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid #ecf1f4;border-radius:18px;background:#fcfefd}.mini-schedule-icon,.row-ico{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#edf7f1;color:#168b5e;flex:0 0 auto}.mini-schedule-icon svg,.row-ico svg{width:20px;height:20px}.mini-schedule-card strong,.mini-list-row strong{display:block;font-size:16px;color:#1a2845}.mini-schedule-card small,.mini-list-row small{display:block;color:#6b7280;line-height:1.55}.panel-link,.mock-card-foot a{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#0f7d59;font-weight:700;text-decoration:none}.panel-link svg,.mock-card-foot a svg{width:17px;height:17px}.mini-empty-lite{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed #dbe6ea;border-radius:18px;background:#fbfdfd;color:#5e7285}.mini-empty-lite span,.mini-empty-lite svg{width:22px;height:22px;color:#7ea38d}
.mock-announcement-bar{display:flex;align-items:center;gap:18px;padding:16px 18px;margin-bottom:18px}.announce-left{display:flex;align-items:center;gap:10px;color:#9a5b00}.announce-left strong{color:#7b4f00}.announce-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#fff7e7}.announce-body{flex:1;color:#294150}.mock-announcement-bar a{display:inline-flex;gap:8px;align-items:center;text-decoration:none;color:#0f7d59;font-weight:700}
.mock-admin-greeting{margin-bottom:18px}.mock-admin-main-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:18px;margin-bottom:18px}.mock-admin-card{padding:22px}.donut-wrap{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center}.mock-donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(#47b562 0 var(--d1), #4f89ff var(--d1) var(--d2), #ffb11a var(--d2) 360deg);position:relative;margin:auto}.mock-donut:before{content:"";position:absolute;inset:22px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #eff3f6}.donut-legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.donut-legend li{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;font-size:14px;color:#5c6a79}.donut-legend .dot{width:10px;height:10px;border-radius:50%}.dot.done{background:#47b562}.dot.run{background:#4f89ff}.dot.wait{background:#ffb11a}.donut-legend b{color:#1a2845;font-size:13px}
.admin-list-tight{display:flex;flex-direction:column;gap:12px}.mini-list-row{display:flex;align-items:center;gap:12px;padding:12px 0;text-decoration:none;color:inherit;border-bottom:1px solid #eef2f5}.mini-list-row:last-child{border-bottom:none}.mini-list-row .row-copy{flex:1}.mini-list-row.no-link{cursor:default}.mock-admin-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recap-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mini-kpi{padding:16px;border-radius:18px;background:#fafcfd;border:1px solid #edf2f4;display:flex;flex-direction:column;gap:6px}.mini-kpi span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.mini-kpi span svg{width:20px;height:20px}.mini-kpi strong{font-size:30px;line-height:1;color:#15233d}.mini-kpi small{font-size:14px;color:#667281}.mini-kpi.green span{background:#eaf8ef;color:#18925f}.mini-kpi.pink span{background:#fff0f4;color:#ef6683}.mini-kpi.orange span{background:#fff5e8;color:#f19b2c}.mini-kpi.purple span{background:#f4efff;color:#8457e6}.monitor-illus{margin:8px 0 16px}.monitor-illus svg{width:100%;height:auto;display:block;border-radius:18px}.monitor-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.monitor-summary-row div{padding:12px 14px;border-radius:16px;background:#f9fbfc;border:1px solid #edf2f4}.monitor-summary-row small{display:block;font-size:13px;color:#64748b}.monitor-summary-row strong{display:block;font-size:28px;line-height:1.1;color:#0f213c;margin:4px 0}.monitor-summary-row span{font-size:13px;color:#1c9b62}
.inline-form{display:inline}
@media (max-width: 1199px){.mock-kader-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mock-admin-topstats{grid-template-columns:repeat(3,minmax(0,1fr))}.mock-admin-main-grid,.mock-admin-bottom-grid{grid-template-columns:1fr}.donut-wrap{grid-template-columns:130px 1fr}.mock-donut{width:130px;height:130px}.recap-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 860px){.mock-kader-grid,.mock-kader-cta{grid-template-columns:1fr}.cta-copy{padding:24px}.cta-copy h2{font-size:38px}.mock-kader-stats,.mock-admin-topstats{grid-template-columns:repeat(2,minmax(0,1fr))}.mock-kader-hero-head h1,.mock-admin-greeting h1{font-size:28px}.panel-head h3,.card-head h3{font-size:22px}.mock-announcement-bar{flex-direction:column;align-items:flex-start}}
@media (max-width: 640px){.mock-kader-hero-head{margin-bottom:14px}.mock-kader-hero-head h1,.mock-admin-greeting h1{font-size:24px}.mock-kader-stats,.mock-admin-topstats,.recap-mini-grid,.monitor-summary-row{grid-template-columns:1fr 1fr}.mock-stat-card,.admin-topstat-card,.mock-admin-card,.mock-side-panel,.mock-announcement-bar{border-radius:18px;padding:16px}.mock-stat-card b,.admin-topstat-card b{font-size:30px}.mock-stat-card .icon,.admin-topstat-card .stat-icon{width:52px;height:52px;border-radius:15px}.cta-copy h2{font-size:34px}.cta-copy p{font-size:14px}.donut-wrap{grid-template-columns:1fr}.donut-legend{margin-top:8px}.mock-donut{width:120px;height:120px}.mini-kpi strong{font-size:24px}.monitor-summary-row strong{font-size:22px}}
@media (max-width: 420px){.mock-kader-stats,.mock-admin-topstats,.recap-mini-grid,.monitor-summary-row{grid-template-columns:1fr}.mock-admin-card,.mock-side-panel{padding:14px}.mock-announcement-bar{padding:14px}.cta-btn{width:100%;justify-content:center}}

/* =========================================================
   V6.21 — Visual Match Final (Desktop Kader/Admin + Mobile)
   ========================================================= */
:root{
  --mock-green:#08745a;
  --mock-green-2:#0b8a66;
  --mock-deep:#075441;
  --mock-ink:#15213a;
  --mock-muted:#6f7c89;
  --mock-line:#e7ecea;
  --mock-surface:#ffffff;
  --mock-bg:#f7faf9;
}
body.role-posyandu,body.role-admin_desa{background:var(--mock-bg)}
.role-posyandu .app-shell{grid-template-columns:230px minmax(0,1fr)}
.role-admin_desa .app-shell{grid-template-columns:220px minmax(0,1fr)}
.role-posyandu .sidebar,.role-admin_desa .sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,#075a47 0%,#054938 100%);padding:18px 12px;overflow-y:auto}
.role-posyandu .brand,.role-admin_desa .admin-brand{margin:0 6px 18px;gap:10px}
.role-posyandu .brand .brand-mark,.role-admin_desa .admin-brand .brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:12px}
.role-posyandu .brand strong,.role-admin_desa .admin-brand strong{font-size:14px;line-height:1.15;color:#fff}
.role-posyandu .brand small,.role-admin_desa .admin-brand small{font-size:9px;line-height:1.2;color:#d8eee7;opacity:.9;margin-top:3px}
.role-admin_desa .mock-admin-brand{padding:0 4px 14px;border-bottom:1px solid rgba(255,255,255,.10)}
.role-admin_desa .mock-admin-brand .brand-mark{background:#fff}
.kader-side-profile{margin:0 6px 18px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.09)}
.kader-side-profile .side-avatar{width:38px;height:38px;border-radius:50%;background:#eaf7f1;color:#08725a}
.kader-side-profile strong{font-size:12px}.kader-side-profile small{font-size:9px}
.role-posyandu .nav-section,.role-admin_desa .nav-section{padding:7px 10px 7px;font-size:8px;letter-spacing:.13em;color:#c4e2d8;opacity:.78}
.role-posyandu .sidebar nav,.role-admin_desa .sidebar nav{gap:3px}
.role-posyandu .sidebar .kader-nav-link,.role-admin_desa .sidebar nav a.admin-nav-link{min-height:40px;padding:8px 10px;border-radius:10px;gap:9px;margin:0;color:#f4fffb;font-size:11px;font-weight:680;justify-content:flex-start}
.role-posyandu .sidebar .kader-nav-link .nav-icon,.role-admin_desa .sidebar nav a.admin-nav-link .nav-icon{width:24px;height:24px;flex:0 0 24px;border-radius:7px;background:transparent!important;color:#effff8!important;box-shadow:none!important}
.role-posyandu .sidebar .kader-nav-link .nav-icon svg,.role-admin_desa .sidebar nav a.admin-nav-link .nav-icon svg{width:17px!important;height:17px!important}
.role-posyandu .sidebar .kader-nav-link.active,.role-admin_desa .sidebar nav a.admin-nav-link.active{background:rgba(30,151,111,.78);color:#fff;box-shadow:none;transform:none}
.role-posyandu .sidebar .kader-nav-link.active .nav-icon,.role-admin_desa .sidebar nav a.admin-nav-link.active .nav-icon{background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important}
.sidebar-version{margin:auto 6px 0;padding:13px 12px;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;gap:8px;color:#d9eee7;font-size:10px}
.sidebar-version span{width:24px;height:24px;display:grid;place-items:center;color:#bfe8d8}.sidebar-version svg{width:17px;height:17px}.sidebar-version strong{font-size:10px}

.role-posyandu .topbar,.role-admin_desa .topbar{height:74px;padding:0 24px;border-bottom:1px solid #e7ecea;background:#fff;box-shadow:none}
.role-posyandu .topbar-title,.role-admin_desa .topbar-title{display:grid;gap:3px}
.role-posyandu .topbar-title strong,.role-admin_desa .topbar-title strong{font-size:17px;line-height:1.15;color:var(--mock-ink)}
.role-posyandu .topbar-title small,.role-admin_desa .topbar-title small{font-size:9px;color:#7d8994}
.role-posyandu .userbox,.role-admin_desa .userbox{gap:10px}
.role-posyandu .notification-button,.role-admin_desa .notification-button{width:37px;height:37px;border-radius:12px;border:1px solid #e1e8e5;background:#fff;color:#20334c}
.role-posyandu .topbar-avatar,.role-admin_desa .admin-topbar-avatar{width:34px;height:34px;border-radius:50%;background:#eaf6f0;color:#0d795c;border:0}
.role-posyandu .topbar-user-copy strong,.role-admin_desa .admin-user-copy strong{font-size:10px}.role-posyandu .topbar-user-copy small,.role-admin_desa .admin-user-copy small{font-size:8px}
.role-posyandu .page,.role-admin_desa .page{max-width:none;margin:0;padding:18px 22px 28px;background:#fbfcfc}
.admin-period-select{height:38px;border-radius:10px;padding:0 8px}.admin-period-select select{font-size:10px;min-width:110px}
.posyandu-mobile-brand{display:none}

/* KADER desktop dashboard */
.mock-kader-dashboard-final{display:flex;flex-direction:column;gap:14px}
.mock-mobile-kader-greeting{display:none}
.mock-kader-stats-final{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mock-kader-stat{min-height:94px;padding:15px 14px;border:1px solid var(--mock-line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,65,48,.035);display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit}
.mock-kader-stat>span{display:flex;flex-direction:column;min-width:0}.mock-kader-stat small{font-size:9px;color:#78848f}.mock-kader-stat b{font-size:27px;line-height:1;color:#15223b;margin:6px 0 4px}.mock-kader-stat em{font-style:normal;font-size:8px;color:#72808d}.mock-kader-stat i{width:43px;height:43px;flex:0 0 43px;border-radius:14px;display:grid;place-items:center}.mock-kader-stat i svg{width:22px;height:22px}.mock-kader-stat .tone-green{background:#e8f7ef;color:#14875b}.mock-kader-stat .tone-blue{background:#eaf2ff;color:#347be8}.mock-kader-stat .tone-purple{background:#f2ebff;color:#8257dc}.mock-kader-stat .tone-orange{background:#fff1df;color:#e88718}
.mock-kader-main-final{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:14px}
.mock-kader-service-banner{min-height:190px;display:grid;grid-template-columns:minmax(0,1fr) 260px;overflow:hidden;border-radius:15px;background:linear-gradient(135deg,#087b59,#046347);box-shadow:0 9px 24px rgba(6,80,59,.12)}
.mock-kader-service-copy{padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;z-index:1}.mock-kader-service-copy h2{font-size:26px;line-height:1.08;margin:0 0 8px}.mock-kader-service-copy p{font-size:10px;line-height:1.55;margin:0;color:#d9f2e8;max-width:270px}
.mock-white-action{margin-top:15px;display:inline-flex;align-items:center;gap:8px;background:#fff;color:#116a50;border:0;border-radius:10px;padding:9px 12px;font-size:9px;font-weight:800;cursor:pointer}.mock-white-action span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#eaf7f1}.mock-white-action svg{width:13px;height:13px}
.mock-kader-family-img{width:280px;height:205px;object-fit:contain;align-self:end;justify-self:end;margin:0 -8px -12px 0;filter:drop-shadow(0 10px 18px rgba(0,0,0,.12))}
.mock-kader-next-card{padding:18px;border:1px solid var(--mock-line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,65,48,.035);display:flex;flex-direction:column}.mock-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.mock-panel-heading h3{font-size:12px;margin:0;color:#16243d}.mock-panel-heading>span{font-size:8px;padding:4px 8px;border-radius:999px;background:#eaf7ef;color:#188459;font-weight:800}
.mock-next-content{display:flex;gap:10px;align-items:flex-start;margin:18px 0 12px;padding:12px;border:1px solid #edf1ef;border-radius:12px;background:#fbfdfc}.mock-next-content>i{width:33px;height:33px;flex:0 0 33px;border-radius:9px;background:#e9f7f0;color:#16855b;display:grid;place-items:center}.mock-next-content>i svg{width:17px;height:17px}.mock-next-content strong{display:block;font-size:10px;color:#17223a}.mock-next-content small{display:block;font-size:8px;color:#75818d;margin-top:3px}.mock-next-empty{margin:18px 0 12px;display:flex;align-items:center;gap:8px;color:#76838d}.mock-next-empty i{width:31px;height:31px;border-radius:9px;background:#f1f5f3;display:grid;place-items:center}.mock-next-empty i svg{width:16px;height:16px}.mock-next-empty p{font-size:9px;margin:0}.mock-kader-next-card>a{margin-top:auto;padding-top:12px;border-top:1px solid #eef2f0;font-size:8px;font-weight:800;color:#0b7655;display:flex;align-items:center;justify-content:center;gap:7px}.mock-kader-next-card>a svg{width:13px;height:13px}
.mock-kader-announcement{min-height:50px;padding:10px 13px;border:1px solid var(--mock-line);border-radius:13px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;box-shadow:0 5px 16px rgba(12,65,48,.025)}.mock-kader-announcement>div{display:flex;align-items:center;gap:8px}.mock-kader-announcement>div span{font-size:14px}.mock-kader-announcement strong{font-size:9px;color:#674916}.mock-kader-announcement p{font-size:8px;color:#465563;margin:0}.mock-kader-announcement a{font-size:8px;color:#0d7657;font-weight:800;display:flex;align-items:center;gap:5px}.mock-kader-announcement a svg{width:12px;height:12px}

/* ADMIN desktop dashboard */
.mock-admin-dashboard-final{display:flex;flex-direction:column;gap:14px}.mock-admin-mobile-period{display:none}
.mock-admin-stats-final{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mock-admin-stats-final>a{min-height:94px;padding:15px 14px;border:1px solid var(--mock-line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,65,48,.035);display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit}.mock-admin-stats-final>a>div{display:flex;flex-direction:column}.mock-admin-stats-final small{font-size:9px;color:#77848e}.mock-admin-stats-final b{font-size:27px;line-height:1;color:#15223b;margin:6px 0 4px}.mock-admin-stats-final em{font-size:8px;font-style:normal;color:#72808d}.mock-admin-stats-final i{width:43px;height:43px;border-radius:14px;display:grid;place-items:center}.mock-admin-stats-final i svg{width:22px;height:22px}.mock-admin-stats-final i.green{background:#e8f7ef;color:#14875b}.mock-admin-stats-final i.blue{background:#eaf2ff;color:#347be8}.mock-admin-stats-final i.purple{background:#f2ebff;color:#8257dc}.mock-admin-stats-final i.mint{background:#eaf8f1;color:#1d9366}
.mock-admin-quick-mobile{display:none}
.mock-admin-three-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:12px}
.mock-admin-panel-final{padding:15px;border:1px solid var(--mock-line);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,65,48,.035);min-width:0}.mock-panel-head-final{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.mock-panel-head-final h3{font-size:11px;color:#16243d;margin:0}.mock-panel-head-final>a{font-size:8px;color:#0e7858;font-weight:800;display:flex;align-items:center;gap:5px}.mock-panel-head-final>a svg{width:12px;height:12px}
.mock-status-layout{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:13px;min-height:120px}.mock-status-donut{width:100px;height:100px;border-radius:50%;background:conic-gradient(#43b65f 0 var(--done),#568cff var(--done) var(--run),#ffb31a var(--run) 360deg);position:relative;margin:auto}.mock-status-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1ef}.mock-status-layout ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.mock-status-layout li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:7px}.mock-status-layout li>span{width:7px;height:7px;border-radius:50%}.mock-status-layout li>span.done{background:#43b65f}.mock-status-layout li>span.run{background:#568cff}.mock-status-layout li>span.wait{background:#ffb31a}.mock-status-layout li em{font-style:normal;color:#51606d}.mock-status-layout li b{font-size:7px;color:#2f3d4b}.mock-panel-foot-final{border-top:1px solid #eef2f0;padding-top:9px;margin-top:7px;font-size:7px;color:#697681}
.mock-admin-list-final{display:grid}.mock-admin-list-final>a,.mock-admin-list-final>div:not(.mock-empty-row){min-height:44px;padding:7px 0;border-bottom:1px solid #eef2f0;display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:8px;align-items:center}.mock-admin-list-final>a:last-child,.mock-admin-list-final>div:last-child{border-bottom:0}.mock-admin-list-final>a>span,.mock-admin-list-final>div>span{width:27px;height:27px;border-radius:8px;background:#edf8f3;color:#16825b;display:grid;place-items:center}.mock-admin-list-final svg{width:14px;height:14px}.mock-admin-list-final strong{display:block;font-size:8px;color:#17243d}.mock-admin-list-final small{display:block;font-size:7px;color:#77848f;margin-top:2px}.mock-admin-list-final em{font-style:normal;font-size:6.5px;padding:4px 6px;border-radius:999px;background:#eff3f1;color:#53645d;white-space:nowrap}.mock-admin-list-final em.status-dikirim,.mock-admin-list-final em.status-diperiksa,.mock-admin-list-final em.status-dikirim_ulang{background:#fff3df;color:#b46d06}.mock-admin-list-final em.status-valid,.mock-admin-list-final em.status-terkunci{background:#eaf8ef;color:#148259}.mock-admin-list-final em.status-perlu_perbaikan{background:#fff0ef;color:#b23a32}.mock-empty-row{padding:20px;text-align:center;color:#81908a;font-size:8px}
.mock-panel-more{margin-top:8px;padding-top:9px;border-top:1px solid #eef2f0;font-size:7.5px;font-weight:800;color:#0e7858;display:flex;justify-content:center;align-items:center;gap:5px}.mock-panel-more svg{width:12px;height:12px}
.rekap-wide-panel{padding-bottom:13px}.mock-rekap-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mock-rekap-four>div{min-height:73px;border:1px solid #edf1ef;border-radius:12px;padding:11px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center}.mock-rekap-four i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.mock-rekap-four i svg{width:17px;height:17px}.mock-rekap-four i.green{background:#eaf7ef;color:#17875c}.mock-rekap-four i.pink{background:#fff0f4;color:#eb6880}.mock-rekap-four i.orange{background:#fff5e7;color:#e58a19}.mock-rekap-four i.purple{background:#f4efff;color:#8158da}.mock-rekap-four span{display:flex;flex-direction:column}.mock-rekap-four small{font-size:7px;color:#76838d}.mock-rekap-four b{font-size:18px;color:#17243c;line-height:1.05;margin:2px 0}.mock-rekap-four em{font-style:normal;font-size:6.5px;color:#1c9665}

/* Shared modern list cards for mobile pages in the mockup */
.mock-person-card{grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important}.mock-person-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:0 0 44px}.mock-person-avatar img{width:100%;height:100%;display:block;object-fit:cover}.mock-person-card .person-main{min-width:0}
.admin-menu-card,.simple-menu-card{border-radius:14px!important;box-shadow:none!important}
.admin-menu-icon,.menu-icon{width:34px!important;height:34px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:#eef8f4!important;color:#0b7b59!important;font-size:16px!important;flex:0 0 34px!important}

/* Tablet */
@media(max-width:1100px) and (min-width:901px){
  .role-posyandu .app-shell{grid-template-columns:210px minmax(0,1fr)}.role-admin_desa .app-shell{grid-template-columns:205px minmax(0,1fr)}
  .mock-kader-stats-final,.mock-admin-stats-final{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mock-kader-main-final{grid-template-columns:1fr}.mock-admin-three-grid{grid-template-columns:1fr 1fr}.mock-admin-three-grid .status-panel{grid-column:1/-1}
}

/* KADER mobile — mirrors the first/second/third/fourth phone concepts */
@media(max-width:900px){
  body.role-posyandu{padding-bottom:72px;background:#f8fbf9}
  .role-posyandu .topbar{height:72px;padding:0 13px;background:linear-gradient(135deg,#08795a,#05684e);border:0;color:#fff;position:sticky;top:0;z-index:80}
  .role-posyandu .topbar-title,.role-posyandu .topbar-avatar,.role-posyandu .topbar-user-copy,.role-posyandu .logout-btn{display:none!important}
  .posyandu-mobile-brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1;color:#fff}.posyandu-mobile-brand>span{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#fff;display:grid;place-items:center;color:#087459;padding:3px}.posyandu-mobile-brand>span img{width:100%;height:100%;object-fit:contain}.posyandu-mobile-brand strong{display:grid;font-size:11px;line-height:1.1}.posyandu-mobile-brand small{font-size:7px;font-weight:600;opacity:.86;margin-top:3px}
  .role-posyandu .notification-button{background:transparent;border:0;color:#fff;width:34px;height:34px}.role-posyandu .notification-button span{border-color:#087459}
  .role-posyandu .page{padding:12px 10px calc(78px + env(safe-area-inset-bottom));background:#f8fbf9}
  .mock-kader-dashboard-final{display:flex;flex-direction:column;gap:10px}.mock-mobile-kader-greeting{display:block;order:0;padding:2px 2px 0}.mock-mobile-kader-greeting h2{margin:0;font-size:16px;color:#16243c}.mock-mobile-kader-greeting p{margin:4px 0 0;font-size:9px;color:#7a8792}
  .mock-kader-main-final{order:1;display:block}.mock-kader-service-banner{min-height:160px;grid-template-columns:minmax(0,1fr) 145px;border-radius:14px}.mock-kader-service-copy{padding:17px}.mock-kader-service-copy h2{font-size:18px}.mock-kader-service-copy p{font-size:9px;max-width:190px}.mock-white-action{padding:8px 10px;margin-top:11px;font-size:8px}.mock-kader-family-img{width:165px;height:155px;margin:0 -18px -8px 0}.mock-kader-next-card{display:none}
  .mock-kader-stats-final{order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mock-kader-stat{min-height:75px;padding:9px 9px;border-radius:12px}.mock-kader-stat small{font-size:7px}.mock-kader-stat b{font-size:18px;margin:3px 0}.mock-kader-stat em{font-size:6.5px}.mock-kader-stat i{width:31px;height:31px;flex-basis:31px;border-radius:9px}.mock-kader-stat i svg{width:16px;height:16px}
  .mock-kader-announcement{display:none}
  .mobile-bottom-nav{height:68px;background:#fff;border-top:1px solid #e3e9e6;box-shadow:0 -7px 22px rgba(13,74,55,.08);padding-top:6px}.mobile-bottom-nav a{color:#6b7881}.mobile-bottom-nav a>span{width:30px;height:26px;border-radius:8px}.mobile-bottom-nav a>span svg{width:18px;height:18px}.mobile-bottom-nav a small{font-size:8px}.mobile-bottom-nav a.active{color:#087459}.mobile-bottom-nav a.active>span{background:transparent;box-shadow:none;color:#087459}
  .simple-head{margin-bottom:10px}.simple-head .eyebrow{display:none}.simple-head h2{font-size:15px;margin:0}.simple-head p{font-size:8px}.simple-head .btn{font-size:8px;padding:8px 10px;border-radius:9px}
  .simple-search-card{padding:8px;border-radius:10px;margin-bottom:9px;background:#fff}.big-mobile-search{display:grid;grid-template-columns:1fr auto!important;gap:7px}.big-mobile-search input{font-size:9px;padding:9px 10px}.big-mobile-search .btn{width:auto!important;min-height:0!important;padding:8px 10px;font-size:8px}
  .people-card-list{display:grid;gap:8px}.person-card.mock-person-card{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;padding:10px!important;border-radius:12px!important;background:#fff!important;border:1px solid #e7ece9!important}.mock-person-avatar{width:40px;height:40px}.person-card .target-name{gap:5px}.person-card .target-name strong{font-size:9px}.person-card .badge{font-size:6.5px;padding:3px 5px}.person-card small{font-size:7px;line-height:1.4}.person-card .person-actions .btn{padding:6px 8px;font-size:7px}
  .more-grid{display:grid!important;gap:7px}.simple-menu-card{min-height:54px;padding:9px 10px!important;background:#fff!important;border:1px solid #e7ece9!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center}.simple-menu-card strong{font-size:9px}.simple-menu-card small{font-size:7px;line-height:1.35}.simple-menu-card:after{content:"›";font-size:17px;color:#93a099}.menu-icon{font-size:14px!important}
}

/* ADMIN mobile — mirrors mockup summary / dashboard / laporan / lainnya */
@media(max-width:640px){
  body.role-admin_desa{padding-bottom:70px;background:#f7faf9}
  .role-admin_desa .topbar{height:74px;background:linear-gradient(135deg,#08795a,#05684e);padding:0 12px}.role-admin_desa .admin-menu-toggle{display:none!important}.role-admin_desa .admin-mobile-brand{display:flex;align-items:center;gap:8px}.role-admin_desa .admin-mobile-brand>span{width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:#fff!important}.role-admin_desa .admin-mobile-brand strong{font-size:10px}.role-admin_desa .admin-mobile-brand small{font-size:7px}.role-admin_desa .page{padding:11px 10px calc(78px + env(safe-area-inset-bottom));background:#f7faf9}
  .mock-admin-dashboard-final{gap:9px}.mock-admin-mobile-period{display:flex;align-items:center;gap:7px;color:#0c6f53;font-size:8px;padding:0 2px}.mock-admin-mobile-period span{width:20px;height:20px;display:grid;place-items:center}.mock-admin-mobile-period svg{width:15px;height:15px}.mock-admin-mobile-period strong{font-size:8px}
  .mock-admin-stats-final{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mock-admin-stats-final>a{min-height:78px;padding:9px;border-radius:12px}.mock-admin-stats-final small{font-size:6.5px}.mock-admin-stats-final b{font-size:18px;margin:4px 0 2px}.mock-admin-stats-final em{font-size:6px}.mock-admin-stats-final i{width:31px;height:31px;border-radius:9px}.mock-admin-stats-final i svg{width:16px;height:16px}
  .mock-admin-quick-mobile{display:block;padding:2px 1px}.mock-admin-quick-mobile h3{font-size:10px;margin:0 0 7px}.mock-admin-quick-mobile>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mock-admin-quick-mobile a{display:grid;place-items:center;gap:4px;padding:8px 4px;border-radius:11px;background:#fff;border:1px solid #e7ece9;color:#30433d}.mock-admin-quick-mobile a span{width:29px;height:29px;border-radius:9px;background:#eaf7f1;color:#08775a;display:grid;place-items:center}.mock-admin-quick-mobile a svg{width:15px;height:15px}.mock-admin-quick-mobile small{font-size:6.5px;text-align:center;line-height:1.25}
  .mock-admin-three-grid{display:flex;flex-direction:column;gap:8px}.mock-admin-panel-final{padding:11px;border-radius:12px}.mock-panel-head-final{margin-bottom:8px}.mock-panel-head-final h3{font-size:9px}.status-panel{order:1}.schedule-panel{order:2}.reports-panel{display:none}.mock-status-layout{grid-template-columns:84px minmax(0,1fr);gap:8px;min-height:88px}.mock-status-donut{width:78px;height:78px}.mock-status-donut:after{inset:14px}.mock-status-layout li{font-size:6px;grid-template-columns:7px minmax(0,1fr) auto;gap:4px}.mock-status-layout li b{font-size:6px}.mock-panel-foot-final{font-size:6px;padding-top:6px}.mock-admin-list-final>a,.mock-admin-list-final>div:not(.mock-empty-row){grid-template-columns:24px minmax(0,1fr) auto;gap:6px;padding:6px 0;min-height:38px}.mock-admin-list-final>a>span,.mock-admin-list-final>div>span{width:24px;height:24px;border-radius:7px}.mock-admin-list-final svg{width:12px;height:12px}.mock-admin-list-final strong{font-size:7px}.mock-admin-list-final small{font-size:6px}.mock-panel-more{font-size:6.5px;padding-top:7px;margin-top:5px}.rekap-wide-panel{display:none}
  .admin-mobile-bottom-nav{height:66px;background:#fff;border-top:1px solid #e3e9e6;box-shadow:0 -7px 22px rgba(13,74,55,.08)}.admin-mobile-bottom-nav a{color:#6a777f}.admin-mobile-bottom-nav a>span{width:30px;height:26px;border-radius:8px!important}.admin-mobile-bottom-nav svg{width:18px;height:18px}.admin-mobile-bottom-nav small{font-size:8px}.admin-mobile-bottom-nav a.active{color:#087459}.admin-mobile-bottom-nav a.active>span{background:transparent;box-shadow:none;color:#087459}
  .admin-simple-head{margin-bottom:9px}.admin-simple-head .eyebrow{display:none}.admin-simple-head h2{font-size:15px;margin:0}.admin-simple-head p{font-size:8px}.admin-report-head{gap:8px}.admin-report-filter{display:flex;gap:6px}.admin-report-filter select{font-size:8px;padding:8px 9px;border-radius:9px}
  .admin-report-counts{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.admin-report-counts>a{padding:8px 9px;border-radius:10px}.admin-report-counts>a:nth-child(n+3){display:none}.admin-report-counts b{font-size:15px}.admin-report-counts span{font-size:7px}.admin-report-counts small{font-size:6px}
  .admin-report-list-card{padding:0;background:transparent;border:0;box-shadow:none}.admin-report-table-wrap{overflow:visible}.admin-report-table,.admin-report-table tbody{display:block}.admin-report-table thead{display:none}.admin-report-table tr{display:grid;grid-template-columns:1fr auto;gap:6px;background:#fff;border:1px solid #e7ece9;border-radius:12px;padding:10px;margin-bottom:7px}.admin-report-table td{display:block!important;border:0!important;padding:0!important;font-size:7px}.admin-report-table td:before{display:none!important}.admin-report-table td:nth-child(1){grid-column:1}.admin-report-table td:nth-child(4){grid-column:2;grid-row:1}.admin-report-table td:nth-child(2),.admin-report-table td:nth-child(3),.admin-report-table td:nth-child(5){grid-column:1}.admin-report-table td:nth-child(6){grid-column:1/-1}.admin-report-table td:nth-child(2) strong,.admin-report-table td:nth-child(3) strong{font-size:7px}.admin-report-table .badge{font-size:6px;padding:3px 5px}.report-row-action .btn{width:100%;font-size:7px;padding:7px 8px}
  .admin-more-grid{display:grid;gap:7px}.admin-menu-card{min-height:54px;padding:9px 10px!important;background:#fff!important;border:1px solid #e7ece9!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important}.admin-menu-card strong{font-size:9px!important}.admin-menu-card small{font-size:7px!important;line-height:1.35}.admin-menu-arrow{font-size:16px!important;color:#98a39f}.admin-menu-icon{font-size:14px!important}.admin-mobile-more-section{margin-top:8px;padding-top:8px}.admin-mobile-more-title{display:none}
}

/* V6.22 — final mobile breakpoint fix.
   V6.21 desktop rules were declared after older mobile rules, causing the desktop
   sidebar to win the cascade inside phone emulation. Force the mobile shell here. */
@media (max-width:900px){
  body.role-posyandu .app-shell{
    display:block!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
  }
  body.role-posyandu .sidebar{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
  }
  body.role-posyandu .content{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  body.role-posyandu .topbar,
  body.role-posyandu .page{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
  }
}

@media (max-width:640px){
  body.role-admin_desa .app-shell{
    display:block!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
  }
  body.role-admin_desa .sidebar{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
  }
  body.role-admin_desa .content{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  body.role-admin_desa .topbar,
  body.role-admin_desa .page{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
  }
  body.role-admin_desa .admin-nav-overlay{
    display:none!important;
  }
}

/* V6.23 — Data Kader Posyandu & Rekap Kader Admin */
.kader-structure-head{align-items:flex-start}.kader-structure-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.kader-structure-summary>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:3px}.kader-structure-summary b{font-size:28px;color:#0a7557}.kader-structure-summary span{font-size:11px;color:var(--muted)}
.kader-structure-list{display:grid;gap:10px}.kader-structure-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;box-shadow:0 5px 16px rgba(16,63,54,.04)}.kader-structure-card.is-inactive{opacity:.68}.kader-avatar{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:18px;font-weight:900;background:#eaf8f2;color:#087456}.kader-avatar.male{background:#edf4ff;color:#236ed3}.kader-structure-copy{display:grid;gap:4px}.kader-structure-copy strong{font-size:15px}.kader-structure-copy small{font-size:11px;color:var(--muted)}.kader-role-line{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.role-pill,.account-pill{font-size:8px;font-weight:850;border-radius:999px;padding:4px 7px}.role-pill{background:#f1f5f3;color:#466159}.role-pill.primary{background:#e7f8f0;color:#087657}.account-pill{background:#eef3ff;color:#3459b5}.kader-structure-actions{display:flex;align-items:center;gap:8px}.privacy-note{margin:15px 0 0;padding:11px 13px;border:1px solid #dbe9e4;border-radius:12px;background:#f6faf8;color:#52665f;font-size:10px;line-height:1.5}.privacy-note strong{color:#285548}.form-privacy{grid-column:1/-1;margin:6px 0 0}.kader-profile-form .grid2{align-items:start}
.kader-recap-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.kader-recap-title .actions{display:flex;gap:8px;flex-wrap:wrap}.kader-counts{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.kader-counts>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.kader-counts b{display:block;font-size:24px}.kader-counts span{font-size:10px;color:var(--muted)}.kader-recap-filter{display:grid;grid-template-columns:1.5fr 1fr .9fr .8fr auto;gap:10px;align-items:end;padding:13px;margin-bottom:14px}.kader-recap-filter label{margin:0}.kader-recap-filter input,.kader-recap-filter select{min-height:38px}.kader-recap-table th,.kader-recap-table td{font-size:10px;vertical-align:top}.kader-recap-table th{white-space:nowrap}.kader-recap-mobile{display:none}.admin-privacy-note{margin-top:12px}.kader-admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.kader-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kader-admin-card-head h3{margin:2px 0 1px;font-size:15px}.kader-admin-card-head p{margin:0;font-size:10px;color:var(--muted)}.kader-admin-card dl{display:grid;gap:0;margin:12px 0 0}.kader-admin-card dl>div{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line)}.kader-admin-card dt{font-size:9px;color:var(--muted)}.kader-admin-card dd{margin:0;font-size:10px;font-weight:650;word-break:break-word}
@media(max-width:900px){.kader-structure-summary{grid-template-columns:repeat(3,1fr)}.kader-recap-filter{grid-template-columns:1fr 1fr}.kader-recap-filter .btn{width:100%}.kader-counts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.kader-structure-head .btn{width:100%;text-align:center}.kader-structure-summary{grid-template-columns:repeat(3,1fr);gap:7px}.kader-structure-summary>div{padding:10px 8px;border-radius:12px}.kader-structure-summary b{font-size:20px}.kader-structure-summary span{font-size:8px}.kader-structure-card{grid-template-columns:42px minmax(0,1fr);padding:12px;gap:10px}.kader-avatar{width:42px;height:42px;border-radius:13px}.kader-structure-actions{grid-column:2;justify-content:space-between}.kader-profile-form{padding:13px}.kader-profile-form .grid2{grid-template-columns:1fr}.kader-recap-title{display:grid}.kader-recap-title .actions{display:grid;grid-template-columns:1fr 1fr}.kader-recap-title .actions .btn{width:100%;text-align:center}.kader-recap-filter{grid-template-columns:1fr;padding:11px}.kader-recap-desktop{display:none}.kader-recap-mobile{display:grid;gap:10px}.kader-admin-card dl>div{grid-template-columns:105px 1fr}.admin-privacy-note{margin-bottom:74px}}
@media(max-width:390px){.kader-structure-summary{grid-template-columns:1fr 1fr 1fr}.kader-recap-title .actions{grid-template-columns:1fr}}
.kader-structure-groups{display:grid;gap:16px}.kader-role-section{display:grid;gap:8px}.kader-role-heading{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.kader-role-heading h3{margin:0;font-size:13px;color:#27473d}.kader-role-heading span{font-size:9px;color:var(--muted);background:#edf4f1;padding:4px 7px;border-radius:999px}.kader-role-section .kader-structure-list{gap:8px}

/* V6.25 — onboarding biodata Ketua Kader */
.kader-onboarding-note,.kader-primary-status{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #cfe8de;background:linear-gradient(135deg,#eefaf5,#fff);border-radius:16px;padding:15px 17px;margin-bottom:16px}
.kader-onboarding-note{justify-content:flex-start}.onboarding-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#0d8a63;color:#fff;display:grid;place-items:center;font-size:19px;font-weight:900}.kader-onboarding-note>div,.kader-primary-status>div{display:grid;gap:3px}.kader-onboarding-note strong,.kader-primary-status strong{font-size:14px}.kader-onboarding-note small,.kader-primary-status small{color:#64756e;line-height:1.45}.kader-primary-status.warning{border-color:#f0d7a7;background:#fffaf0}.kader-primary-status.incomplete{border-color:#f1d4a8;background:linear-gradient(135deg,#fff9ed,#fff)}.kader-primary-status.complete{border-color:#cfe8de;background:#f4fbf7}.kader-primary-status .eyebrow{font-size:8px}
@media(max-width:640px){.kader-onboarding-note,.kader-primary-status{align-items:stretch;flex-direction:column;padding:13px}.kader-primary-status .btn{width:100%;text-align:center}.kader-profile-form .form-actions{position:sticky;bottom:78px;z-index:8;background:rgba(255,255,255,.95);padding-top:10px}}
.kader-counts{grid-template-columns:repeat(5,minmax(0,1fr))}.kader-admin-statuses{display:grid;justify-items:end;gap:5px}.badge-warning{background:#fff4e5;color:#b54708;border-color:#fedf89}
@media(max-width:900px){.kader-counts{grid-template-columns:repeat(2,1fr)}}

/* Unggah foto otomatis */
.photo-upload-message{margin:12px 0 4px;color:var(--muted,#667085);font-size:12px;line-height:1.55}.photo-grid img{max-width:100%;height:100%;object-fit:cover}.photo-grid .photo-frame{overflow:hidden}


/* ===============================
   V6.27 UI Refresh - Modern Colorful Theme
   =============================== */
:root{
  --bg:#eef4f7;
  --bg-soft:#f7fafc;
  --card:#ffffff;
  --card-soft:#f8fbfd;
  --text:#153047;
  --muted:#66788a;
  --line:#dbe5ec;
  --primary:#0f8b6d;
  --primary-2:#0b6b72;
  --primary-3:#14b8a6;
  --secondary:#3b82f6;
  --accent:#f59e0b;
  --danger:#dc2626;
  --success:#16a34a;
  --sidebar:#0f3f4b;
  --sidebar-2:#0f766e;
  --shadow-sm:0 8px 24px rgba(15, 52, 74, .06);
  --shadow-md:0 18px 50px rgba(15, 52, 74, .12);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(56,189,248,.10), transparent 24%),
    radial-gradient(circle at top right, rgba(20,184,166,.10), transparent 20%),
    linear-gradient(180deg,#f4f8fb 0%, #edf3f7 100%);
}
h1,h2,h3,h4,.topbar-title strong,.card-head h2,.period-head h2,.page>h1,.page>h2{
  font-family:"Plus Jakarta Sans","Inter",ui-sans-serif,system-ui,sans-serif;
  color:#0f2740;
  letter-spacing:-.02em;
}
a{transition:all .2s ease}
small,.muted{color:var(--muted)}
.page{
  max-width:1480px;
  padding:26px;
}
.card,.stat,.admin-dashboard-panel,.admin-panel,.report-summary-card,.summary-card,.data-card{
  border:1px solid rgba(219,229,236,.92);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  background:linear-gradient(180deg,#fff 0%, #fbfdff 100%);
}
.card:hover,.stat:hover{box-shadow:0 16px 34px rgba(15,52,74,.08)}
.eyebrow,.login-kicker,.nav-section{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.eyebrow,.login-kicker{color:var(--primary);}
.sidebar{
  background:linear-gradient(180deg,var(--sidebar) 0%, #125c67 55%, var(--sidebar-2) 100%);
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:12px 0 40px rgba(8,34,49,.14);
}
.brand{gap:14px}
.brand small{opacity:.82}
.brand-mark{
  width:50px;height:50px;border-radius:16px;
  background:linear-gradient(135deg,#ffffff 0%, #dff7f1 100%);
  color:var(--sidebar);
  box-shadow:0 10px 26px rgba(0,0,0,.10);
}
.brand-mark.has-logo{overflow:hidden;padding:4px;background:#fff}
.brand-mark.has-logo img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.nav-section{font-size:11px;color:rgba(234,255,251,.72);margin:10px 6px 8px}
.sidebar nav{gap:9px}
.sidebar nav a,
.nav-muted,
.admin-nav-link,
.kader-nav-link{
  border-radius:14px !important;
  padding:12px 14px !important;
  font-weight:700;
  color:rgba(255,255,255,.88);
  border:1px solid transparent;
  transition:all .22s ease;
}
.sidebar nav a:hover,
.admin-nav-link:hover,
.kader-nav-link:hover{
  transform:translateX(2px);
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.10);
}
.sidebar nav a.active,
.admin-nav-link.active,
.kader-nav-link.active{
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08)) !important;
  border-color:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 10px 22px rgba(0,0,0,.10);
}
.nav-icon{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.10);
}
.nav-icon svg{width:19px;height:19px}
.nav-badge{
  background:#fff !important;
  color:#0f766e !important;
  box-shadow:0 6px 14px rgba(0,0,0,.10);
}
.topbar{
  position:sticky;top:0;z-index:40;
  height:78px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(219,229,236,.85);
  box-shadow:0 8px 24px rgba(15,52,74,.04);
}
.topbar-title strong{font-size:1.12rem}
.topbar-title small{display:block;margin-top:4px;color:var(--muted)}
.actions{gap:12px}
.topbar-avatar,.side-avatar{
  background:linear-gradient(135deg,#d5f5ef 0%, #bfe8ff 100%);
  color:#0f5360;
  border:1px solid rgba(15,107,114,.12);
  box-shadow:0 8px 20px rgba(15,52,74,.10);
}
.topbar-user-copy strong{font-size:.95rem}
.topbar-user-copy small{color:var(--muted)}
.notification-button{
  width:46px;height:46px;border-radius:14px;
  background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.notification-button svg{width:20px;height:20px;color:#1a5160}
.notification-button span{
  background:linear-gradient(135deg,#ef4444,#f97316) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 6px 16px rgba(239,68,68,.30);
}
.btn{
  border-radius:14px;
  padding:11px 16px;
  font-weight:800;
  letter-spacing:-.01em;
  box-shadow:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--primary) 0%, var(--primary-2) 100%);
  border:none;
  color:#fff;
  box-shadow:0 12px 24px rgba(15,139,109,.24);
}
.btn-primary:hover{transform:translateY(-1px);filter:saturate(1.04);box-shadow:0 16px 28px rgba(15,139,109,.28)}
.btn-light{
  background:#fff;
  border-color:var(--line);
  color:#14324b;
  box-shadow:var(--shadow-sm);
}
.btn-danger{
  background:#fff3f2;
  color:#c2261a;
  border-color:#ffd4cf;
}
.btn-big{padding:14px 18px;font-size:15px}
.alert{
  border-radius:16px;
  padding:14px 16px;
  box-shadow:var(--shadow-sm);
}
.alert.success{background:linear-gradient(180deg,#edfcf3,#f6fffa);color:#137c43;border-color:#b7ebca}
.alert.danger{background:linear-gradient(180deg,#fff4f2,#fffaf9);color:#c9362a;border-color:#ffdad5}
input,select,textarea{
  border-radius:14px;
  padding:12px 13px;
  border:1px solid #d6e1e8;
  background:#fff;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
input::placeholder,textarea::placeholder{color:#95a5b3}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:#77c7bb;
  box-shadow:0 0 0 4px rgba(20,184,166,.14);
}
label{gap:8px;color:#203447;font-weight:700}
.form-actions{border-top:1px solid #e7eef3;padding-top:20px}
table{border-collapse:separate;border-spacing:0}
.table-wrap{border:1px solid var(--line);border-radius:18px;overflow:auto;background:#fff;box-shadow:var(--shadow-sm)}
th{
  background:linear-gradient(180deg,#f6fafc,#f1f7fb);
  color:#627587;
  font-size:12px;
  font-weight:800;
}
th:first-child{border-top-left-radius:16px}
th:last-child{border-top-right-radius:16px}
td{background:rgba(255,255,255,.88)}
tr:hover td{background:#f8fcff}
.badge{
  padding:7px 11px;
  border-radius:999px;
  background:linear-gradient(135deg,#e5fbf1,#eefbfd);
  color:#126b64;
  font-weight:800;
  border:1px solid #cdeee2;
}
.empty{
  border-radius:18px;
  background:linear-gradient(180deg,#fafcff,#f5f8fb);
  border:1px dashed #d4e1e8;
  padding:30px;
}
.stats{gap:16px}
.stat{
  position:relative;
  overflow:hidden;
  padding:20px 18px;
}
.stat:before{
  content:"";
  position:absolute;inset:0 auto auto 0;
  width:100%;height:4px;
  background:linear-gradient(90deg,var(--primary),var(--primary-3),#6ea8fe);
}
.stat b{font-family:"Plus Jakarta Sans","Inter",sans-serif;color:#0f2740}
.stat span{display:block;margin-top:6px;color:var(--muted)}
.page-actions,.card-head,.period-head{gap:18px}
.page-actions .btn,.card-head .btn{white-space:nowrap}
/* Dashboard / admin helper blocks */
.admin-stat-card,
.admin-dashboard-panel,
.admin-next-action,
.admin-schedule-panel,
.admin-report-queue-panel,
.admin-progress-panel,
.admin-monitoring-panel,
.admin-summary-card,
.admin-more-grid>a,
.admin-mobile-period-card{
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff,#fbfdff) !important;
  border:1px solid #dbe5ec !important;
  box-shadow:var(--shadow-sm);
}
.admin-stat-card .admin-stat-icon,
.monitor-icon,
.mobile-period-icon,
.admin-action-icon{
  background:linear-gradient(135deg,#ebfbf5,#e7f4ff) !important;
  color:#0e746b !important;
}
.admin-more-grid>a:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
/* Guest / login redesign */
body.guest-modern{
  min-height:100vh;
  padding:28px;
  display:block;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 26%),
    radial-gradient(circle at bottom right, rgba(20,184,166,.18), transparent 24%),
    linear-gradient(135deg,#edf6ff 0%, #f3fbf9 52%, #f7fafc 100%);
}
.guest-shell{
  width:min(1280px,100%);
  margin:0 auto;
  min-height:calc(100vh - 56px);
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
  align-items:stretch;
  gap:24px;
}
.guest-hero,.guest-panel{
  min-width:0;
}
.guest-hero{
  display:flex;
  align-items:stretch;
}
.guest-brand-card{
  width:100%;
  padding:34px;
  border-radius:30px;
  background:linear-gradient(145deg,#0f3f4b 0%, #0f766e 60%, #14b8a6 100%);
  color:#f5fffd;
  box-shadow:0 30px 70px rgba(11,60,73,.22);
  position:relative;
  overflow:hidden;
}
.guest-brand-card:before,
.guest-brand-card:after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:rgba(255,255,255,.10);
}
.guest-brand-card:before{width:280px;height:280px;top:-120px;right:-60px}
.guest-brand-card:after{width:180px;height:180px;bottom:-70px;left:-50px}
.guest-hero__badge{
  position:absolute;
  opacity:0;
}
.guest-brand .brand-mark{
  background:linear-gradient(135deg,#fff,#daf8ef);
  color:#0f3f4b;
}
.guest-brand{color:#fff;margin-bottom:28px}
.guest-brand strong{font-size:1.08rem}
.guest-brand small{color:rgba(255,255,255,.82)}
.guest-brand-card h1{
  color:#fff;
  font-size:clamp(2rem,3.3vw,3.2rem);
  line-height:1.1;
  margin:0 0 16px;
}
.guest-brand-card>p{
  max-width:640px;
  color:rgba(255,255,255,.88);
  font-size:1.02rem;
  line-height:1.7;
  margin:0 0 28px;
}
.guest-feature-grid{display:grid;gap:14px}
.guest-feature-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.10);
}
.guest-feature-item>span{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;font-size:22px;
  background:rgba(255,255,255,.14);
}
.guest-feature-item strong{display:block;font-size:1rem;color:#fff}
.guest-feature-item small{display:block;margin-top:5px;color:rgba(255,255,255,.82);line-height:1.6}
.guest-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.guest-flashes{margin-bottom:16px}
.login-card-modern{
  padding:32px;
  border:none;
  border-radius:28px;
  box-shadow:0 30px 70px rgba(15,52,74,.12);
}
.login-brand-block{margin-bottom:22px}
.login-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e9fbf6;border:1px solid #cdeee4;font-size:.72rem}
.login-card-modern h1{margin:14px 0 10px;font-size:clamp(1.8rem,2.7vw,2.4rem)}
.login-card-modern p{line-height:1.65}
.login-form-modern{display:grid;gap:16px}
.login-form-modern label>span{font-size:.9rem;color:#21384d}
.login-helper-row{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #e6edf2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.login-helper-row strong{display:block;font-size:.95rem}
.login-helper-row small{display:block;margin-top:4px;color:var(--muted);line-height:1.55}
.login-helper-pill{
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,#eef8ff,#e8faf6);
  color:#0f6e68;
  font-weight:800;
  border:1px solid #d7ece7;
  white-space:nowrap;
}
/* Admin login/setup forms on narrow screens */
@media (max-width:1100px){
  .guest-shell{grid-template-columns:1fr;min-height:auto}
  .guest-brand-card,.login-card-modern{border-radius:24px}
}
@media (max-width:900px){
  .page{padding:20px}
  .topbar{padding:0 16px;height:72px}
  .guest-brand-card{padding:26px}
  .login-card-modern{padding:24px}
}
@media (max-width:640px){
  body.guest-modern{padding:14px}
  .guest-shell{gap:16px}
  .guest-brand-card,.login-card-modern{padding:20px;border-radius:22px}
  .guest-brand-card h1{font-size:1.7rem}
  .guest-feature-item{grid-template-columns:42px 1fr;padding:14px}
  .guest-feature-item>span{width:42px;height:42px;font-size:20px}
  .login-helper-row{flex-direction:column;align-items:flex-start}
  .page{padding:14px}
}
