/* SAGOE Government Data Operations + Persistent Left Bar V1 */
.sg-gov-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:#f3f6f5}
.sg-gov-sidebar{position:sticky;top:0;z-index:30;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#0a4033 0%,#0b4f3c 62%,#08382e 100%);color:#fff;border-right:1px solid rgba(255,255,255,.08)}
.sg-gov-sidebar-inner{padding:18px 14px 20px}
.sg-gov-brand{display:flex;align-items:center;gap:11px;padding:4px 7px 16px;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}
.sg-gov-brand img{width:44px;height:44px;flex:0 0 44px;object-fit:contain;padding:2px;border-radius:10px;background:#fff}
.sg-gov-brand strong{display:block;color:#fff;font-size:13px;line-height:1.2}.sg-gov-brand small{display:block;margin-top:3px;color:#c7ddd4;font-size:9.5px;line-height:1.3}
.sg-gov-nav{display:flex;flex-direction:column;gap:3px;margin-top:13px}.sg-gov-nav-label{margin:13px 9px 5px;color:#9fc3b6;font-size:8.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.sg-gov-nav-link{min-height:39px;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#ecf7f3;text-decoration:none;font-size:11.5px;font-weight:650;transition:background-color .15s ease,color .15s ease}
.sg-gov-nav-link svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sg-gov-nav-link:hover,.sg-gov-nav-link:focus-visible{color:#fff;background:rgba(255,255,255,.12);outline:none}.sg-gov-nav-link.is-active{color:#0b4f3c;background:#fff;box-shadow:0 7px 20px rgba(0,0,0,.12)}
.sg-gov-workspace{min-width:0;background:#f3f6f5}
body.sg-penduduk-page{margin:0;background:#f3f6f5;color:#1e2d27;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45}
.sg-penduduk-page *{box-sizing:border-box}
.sg-penduduk-page .top{padding:0;background:#fff;color:#20362d;border-bottom:1px solid #dfe7e3;box-shadow:none}.sg-penduduk-page .topin{max-width:none;min-height:76px;margin:0;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sg-penduduk-page .top h1,.sg-penduduk-page .top h2{margin:0;color:#18352a;font-size:19px;line-height:1.2;letter-spacing:-.015em}.sg-penduduk-page .top a{color:#28533f}.sg-penduduk-page .wrap{width:100%;max-width:none;margin:0;padding:16px 18px 42px}
.sg-penduduk-page .flash{padding:10px 12px;margin-bottom:10px;border:1px solid transparent;border-radius:8px;box-shadow:none}.sg-penduduk-page .ok{background:#edf8f1;color:#17643f;border-color:#c6e4d2}.sg-penduduk-page .err{background:#fff1f1;color:#9a2929;border-color:#efcaca}
.sg-penduduk-page .stats{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:8px;margin-bottom:10px}.sg-penduduk-page .stat,.sg-penduduk-page .card{background:#fff;border:1px solid #dfe7e3;border-radius:9px;box-shadow:0 1px 4px rgba(25,53,43,.04)}
.sg-penduduk-page .stat{padding:10px 11px}.sg-penduduk-page .stat small{display:block;overflow:hidden;color:#6e7c76;font-size:9px;font-weight:750;letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sg-penduduk-page .stat b{display:block;margin-top:3px;color:#173d30;font-size:20px;line-height:1.05;font-variant-numeric:tabular-nums}
.sg-penduduk-page .card{padding:13px;margin-bottom:10px}.sg-penduduk-page .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sg-penduduk-page .muted,.sg-penduduk-page .countline{color:#6e7c76}
.sg-penduduk-page .quality{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.sg-penduduk-page .pill{min-height:28px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid #eadcb8;border-radius:6px;background:#fffaf0;color:#81510e;text-decoration:none;font-size:10px;font-weight:650}.sg-penduduk-page .pill b{margin:0;padding:1px 5px;border-radius:999px;background:#f4e6bf;font-variant-numeric:tabular-nums}
.sg-penduduk-page .actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sg-penduduk-page .btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid transparent;border-radius:7px;text-decoration:none;font-size:11px;font-weight:750;cursor:pointer}.sg-penduduk-page .primary{background:#126343;color:#fff;border-color:#126343}.sg-penduduk-page .secondary{background:#f5f8f6;color:#28503f;border-color:#d6e1dc}.sg-penduduk-page .danger{background:#fff5ef;color:#9a3c16;border-color:#efd0bf}
.sg-penduduk-page .filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(120px,1fr)) minmax(90px,.7fr);gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1ef}.sg-penduduk-page input,.sg-penduduk-page select,.sg-penduduk-page textarea{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cfdcd6;border-radius:7px;background:#fff;color:#24372f;font:inherit;font-size:11px}.sg-penduduk-page input:focus,.sg-penduduk-page select:focus,.sg-penduduk-page textarea:focus{border-color:#4e9279;outline:3px solid rgba(78,146,121,.13)}.sg-penduduk-page .filters .btn{width:100%}
.sg-penduduk-page .tablewrap{overflow:auto;border:1px solid #d9e3de;border-radius:8px;background:#fff;scrollbar-width:thin;scrollbar-color:#9db7ac #edf2ef}.sg-penduduk-page .tablewrap table{width:100%;min-width:1350px;border-collapse:separate;border-spacing:0;font-size:11px}.sg-penduduk-page .tablewrap caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sg-penduduk-page .tablewrap th{position:sticky;top:0;z-index:3;padding:9px 10px;background:#0f4d3b;color:#fff;border-bottom:1px solid #083b2e;text-align:left;font-size:10px;font-weight:750;white-space:nowrap}.sg-penduduk-page .tablewrap td{padding:8px 10px;border-bottom:1px solid #edf1ef;background:#fff;color:#2a3d35;vertical-align:middle}.sg-penduduk-page .tablewrap tbody tr:nth-child(even) td{background:#fbfcfb}.sg-penduduk-page .tablewrap tr:hover td{background:#f2f8f5}
.sg-penduduk-page .mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10px;font-variant-numeric:tabular-nums}.sg-penduduk-page .name{color:#18563f;font-weight:800;text-decoration:underline;text-decoration-color:#aac9bc}.sg-penduduk-page .badge{min-height:23px;display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;text-transform:capitalize}.sg-penduduk-page .aktif{background:#e5f7ec;color:#17643f}.sg-penduduk-page .pindah_keluar{background:#fff4d9;color:#88550e}.sg-penduduk-page .meninggal{background:#eceff1;color:#4b5563}.sg-penduduk-page .duplikat{background:#feeaea;color:#9f2424}
.sg-penduduk-page .pagination{display:flex;justify-content:center;gap:5px;margin-top:10px;flex-wrap:wrap}.sg-penduduk-page .pagination a,.sg-penduduk-page .pagination span{min-width:31px;min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid #d7e1dc;border-radius:6px;background:#fff;color:#315347;text-decoration:none;font-size:10px;font-weight:750}.sg-penduduk-page .pagination .on{background:#126343;color:#fff;border-color:#126343}
@media(max-width:1280px){.sg-penduduk-page .stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sg-penduduk-page .filters{grid-template-columns:repeat(4,minmax(0,1fr))}.sg-penduduk-page .filters .wide{grid-column:span 2}}
@media(max-width:960px){.sg-gov-shell{display:block}.sg-gov-sidebar{position:relative;height:auto;overflow:visible}.sg-gov-sidebar-inner{padding:12px}.sg-gov-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sg-gov-nav-label{grid-column:1/-1;margin:11px 7px 2px}.sg-gov-nav-link{background:rgba(255,255,255,.07)}.sg-penduduk-page .topin{padding:13px 14px}.sg-penduduk-page .wrap{padding:13px 10px 34px}.sg-penduduk-page .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-penduduk-page .filters .wide{grid-column:1/-1}}
@media(max-width:560px){.sg-gov-nav{grid-template-columns:1fr}.sg-gov-nav-label{grid-column:auto}.sg-penduduk-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-penduduk-page .filters{grid-template-columns:1fr}.sg-penduduk-page .filters .wide{grid-column:auto}.sg-penduduk-page .actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sg-penduduk-page .actions .btn,.sg-penduduk-page .actions form{width:100%}.sg-penduduk-page .tablewrap table{min-width:1080px}}
@media(prefers-reduced-motion:reduce){.sg-gov-nav-link{transition:none}}
/* ==========================================================================
   SAGOE Government Shell V2 — one shared left bar for admin operational pages
   ========================================================================== */
body.sg-gov-admin-page{
    margin:0 !important;
    display:block !important;
    min-height:100vh;
    background:#f3f6f5;
    color:#1e2d27;
}

.sg-gov-workspace{
    min-width:0;
    width:100%;
}

.sg-gov-workspace > .sidebar,
.sg-gov-workspace > aside.sidebar,
.sg-gov-workspace > nav.sidebar,
.sg-gov-workspace > .admin-sidebar,
.sg-gov-workspace > aside.admin-sidebar{
    display:none !important;
}

.sg-gov-workspace > .main,
.sg-gov-workspace > main,
.sg-gov-workspace > .content,
.sg-gov-workspace > .page,
.sg-gov-workspace > .container{
    margin-left:0 !important;
}

.sg-gov-workspace .sidebar + .content,
.sg-gov-workspace .sidebar + main,
.sg-gov-workspace .sidebar + .main{
    margin-left:0 !important;
}

.sg-gov-nav-link.is-active{
    position:relative;
}

.sg-gov-nav-link.is-active::before{
    content:"";
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:3px;
    border-radius:999px;
    background:#0b4f3c;
}

/* Dashboard migrated from pilot sidebar to shared left bar */
.sg-gov-shell .sg-admin-main{
    min-width:0;
}

.sg-gov-shell .sg-admin-topbar{
    left:auto;
}

/* Persistent compact left rail on tablet/mobile: left bar never disappears */
@media(max-width:960px){
    .sg-gov-shell{
        display:grid !important;
        grid-template-columns:76px minmax(0,1fr) !important;
        min-height:100vh;
    }

    .sg-gov-sidebar{
        position:sticky !important;
        top:0;
        height:100vh !important;
        overflow-y:auto !important;
    }

    .sg-gov-sidebar-inner{
        padding:10px 8px 14px !important;
    }

    .sg-gov-brand{
        justify-content:center;
        padding:2px 2px 11px !important;
    }

    .sg-gov-brand img{
        width:40px !important;
        height:40px !important;
        flex-basis:40px !important;
    }

    .sg-gov-brand > span,
    .sg-gov-nav-label,
    .sg-gov-nav-link > span{
        position:absolute !important;
        width:1px !important;
        height:1px !important;
        padding:0 !important;
        margin:-1px !important;
        overflow:hidden !important;
        clip:rect(0,0,0,0) !important;
        white-space:nowrap !important;
        border:0 !important;
    }

    .sg-gov-nav{
        display:flex !important;
        flex-direction:column !important;
        gap:5px !important;
        margin-top:9px !important;
    }

    .sg-gov-nav-link{
        min-height:44px !important;
        justify-content:center !important;
        padding:8px !important;
        background:rgba(255,255,255,.07);
    }

    .sg-gov-nav-link svg{
        width:20px !important;
        height:20px !important;
    }

    .sg-gov-nav-link.is-active::before{
        top:7px;
        bottom:7px;
    }

    .sg-penduduk-page .topin{
        padding:12px 13px;
    }

    .sg-penduduk-page .wrap{
        padding:13px 10px 34px;
    }
}

@media(max-width:560px){
    .sg-gov-shell{
        grid-template-columns:66px minmax(0,1fr) !important;
    }

    .sg-gov-sidebar-inner{
        padding-left:6px !important;
        padding-right:6px !important;
    }

    .sg-gov-brand img{
        width:36px !important;
        height:36px !important;
        flex-basis:36px !important;
    }

    .sg-gov-nav-link{
        min-height:42px !important;
        padding:7px !important;
    }
}


/* SAGOE-A11Y-UTILITIES-V1 */
.sg-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.sg-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 10000;
    transform: translateY(-160%);
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffffff;
    color: #0f5132;
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
    font-weight: 700;
    text-decoration: none;
}
.sg-skip-link:focus {
    transform: translateY(0);
    outline: 3px solid currentColor;
    outline-offset: 3px;
}
