/* Layanan Mandiri — komponen bersama halaman warga (ls-button,
   ls-form, ls-track, wl-, wz-, wa-, pw- di bawah). Halaman
   katalog publik /layanan-surat DIBUANG atas keputusan pemilik
   (8 November 2026); aturan khusus halaman itu ikut dihapus,
   berkas ini tetap hidup karena halaman warga memuatnya.
   Satu aturan bernama layanan-public dipertahankan: main
   halaman masuk/daftar warga meminjam kelas itu, jadi kotak
   ukurannya tidak boleh berubah oleh penghapusan ini. */
.layanan-public{max-width:1080px;margin:0 auto;padding:24px 20px 56px}
.ls-button{display:inline-block;background:var(--accent,#1d6f42);color:var(--onblue,#fff);border:0;border-radius:10px;padding:11px 18px;font-weight:600;cursor:pointer;text-decoration:none}
.ls-button:disabled{opacity:.55;cursor:wait}
.ls-button-small{padding:8px 13px;font-size:.92rem}
.ls-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border,#d5d9d2);border-radius:10px;padding:7px 11px;background:var(--surface,#fff)}
.ls-search input{border:0;outline:0;background:transparent;min-width:180px}
.ls-search svg{width:17px;height:17px;opacity:.6}
.ls-privacy{max-width:60ch}
.ls-needs{border:1px solid var(--border,#e1e5de);border-radius:14px;padding:14px 18px;margin:16px 0;background:var(--surface,#fff)}
.ls-needs h2{font-size:1rem;margin:0 0 6px}
.ls-needs ul{margin:0;padding-left:20px}
.layanan-public form fieldset{border:1px solid var(--border,#e1e5de);border-radius:14px;padding:16px 18px;margin:16px 0}
.layanan-public form legend{font-weight:700;padding:0 6px}
.layanan-public form label{display:block;margin:0 0 13px;font-weight:600;font-size:.94rem}
.layanan-public form input,.layanan-public form textarea,.layanan-public form select{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid var(--border,#cfd4cb);border-radius:9px;font:inherit;font-weight:400;background:var(--surface,#fff);color:inherit;box-sizing:border-box}
.ls-hint{display:block;font-weight:400;color:var(--muted,#5a6157);font-size:.83rem;margin-top:4px}
.ls-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.ls-grid2{grid-template-columns:1fr}}
.ls-turnstile{margin:6px 0 12px}
.ls-success{border:1.5px solid var(--accent,#1d6f42);border-radius:14px;padding:20px;margin-top:20px}
.ls-code{font-size:1.9rem;font-weight:800;letter-spacing:.14em;text-align:center;padding:12px;border:1.5px dashed var(--accent,#1d6f42);border-radius:12px;margin:14px 0}
.ls-track-card{border:1px solid var(--border,#e1e5de);border-radius:14px;padding:18px;margin-top:18px;background:var(--surface,#fff)}
.ls-track-status{display:inline-block;font-weight:700;padding:4px 11px;border-radius:999px;background:var(--accent-soft,#e3f0e7);color:var(--accent,#1d6f42);margin:0 0 8px}
.ls-track-card h3{margin:0 0 4px}
.ls-track-note{border-left:3px solid var(--accent,#1d6f42);padding:6px 10px;background:var(--accent-soft,#f2f7f3);border-radius:0 8px 8px 0}
.ls-track-needs{padding-left:20px}
.ls-track-needs .is-done{color:var(--muted,#5a6157)}
/* Dashboard Layanan Desa warga berakun (tahap a3) */
.wl-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:10px 0 2px;font-size:.92rem}
.wl-nav a{font-weight:600}
.wl-nav-btn{margin-left:auto;background:none;border:1px solid var(--border,#cfd4cb);border-radius:9px;padding:6px 12px;font:inherit;font-size:.88rem;cursor:pointer;color:inherit}
.wl-village{font-size:1.06rem}
.wl-req{display:block;text-decoration:none;color:inherit}
.wl-req-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.wl-req-date{color:var(--muted,#5a6157);font-size:.85rem}
.wl-guidance{margin:6px 0 0}
.wl-timeline{list-style:none;margin:10px 0;padding:0}
.wl-timeline li{border-left:3px solid var(--border,#cfd4cb);padding:2px 0 12px 12px;position:relative}
.wl-timeline li:last-child{padding-bottom:2px}
.wl-timeline .wl-ev-date{display:block;color:var(--muted,#5a6157);font-size:.82rem}
.wl-timeline .wl-ev-note{border-left:none;background:var(--accent-soft,#f2f7f3);border-radius:8px;padding:6px 10px;margin-top:4px}
.wl-account-warn{border:1.5px solid #b3541e;border-radius:14px;padding:14px 18px;margin:14px 0;background:#fdf3ec;color:#7a3410}
.wl-kind-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--border,#e1e5de);border-radius:12px;padding:12px 14px;margin:8px 0;background:var(--surface,#fff);text-decoration:none;color:inherit}
.wl-kind-row .wl-kind-state{font-size:.82rem;color:var(--muted,#5a6157);white-space:nowrap}
.wl-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:0 0 10px}
.wl-check input{width:auto;margin-top:3px}
/* Wizard daftar berbasis KK (Konsep Portal Warga tahap 1) */
#wa-wizard{scroll-margin-top:96px}
.wz-step{scroll-margin-top:96px}
.wz-steps{display:flex;align-items:center;gap:14px;font-weight:700;margin:4px 0 18px}
.wz-progress{flex:1;height:8px;border-radius:999px;background:var(--border,#e1e5de);overflow:hidden}
.wz-progress span{display:block;height:100%;width:20%;background:var(--accent,#1d6f42);border-radius:999px;transition:width .25s ease}
.wz-step h2{font-size:1.25rem;margin:0 0 10px}
.wz-step label{display:block;margin:0 0 13px;font-weight:600;font-size:.94rem}
.wz-step input,.wz-step textarea,.wz-step select{display:block;width:100%;margin-top:5px;padding:10px 11px;border:1px solid var(--border,#cfd4cb);border-radius:9px;font:inherit;font-weight:400;background:var(--surface,#fff);color:inherit;box-sizing:border-box}
.wz-note{border:1px solid var(--border,#e1e5de);border-left:3px solid var(--accent,#1d6f42);border-radius:0 10px 10px 0;padding:10px 14px;margin:14px 0;background:var(--accent-soft,#f2f7f3)}
.wz-note p{margin:4px 0}
.wz-warn{border-left-color:#b3541e;background:#fdf3ec;color:#7a3410}
.wz-member{border:1px solid var(--border,#e1e5de);border-radius:14px;padding:14px 16px 6px;margin:14px 0;background:var(--bg,#f6f7ee)}
.wz-member label{margin-bottom:11px}
.wz-remove{background:none;border:0;color:#a33;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:4px 0 10px}
.wz-add{margin:2px 0 8px;background:var(--surface,#fff);color:var(--accent,#1d6f42);border:1.5px solid var(--accent,#1d6f42)}
.wz-bio{border:1px solid var(--border,#e1e5de);border-radius:14px;padding:16px 18px;margin:16px 0;background:var(--bg,#f6f7ee)}
.wz-bio legend{font-weight:700;padding:0 6px}
.wz-pass{display:flex;gap:8px;align-items:stretch}
.wz-pass input{flex:1}
.wz-eye{margin-top:5px;border:1px solid var(--border,#cfd4cb);background:var(--surface,#fff);color:inherit;border-radius:9px;padding:0 14px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.wz-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.wz-nav .ls-button{flex:1;text-align:center}
.wz-back{background:var(--surface,#fff);color:inherit;border:1.5px solid var(--border,#cfd4cb)}
.wz-review-head p{margin:5px 0}
.wz-table{width:100%;border-collapse:collapse;margin:14px 0}
.wz-table th,.wz-table td{padding:8px 10px;border-bottom:1px solid var(--border,#e1e5de);text-align:left;vertical-align:top}
.wz-table th{font-size:.85rem;color:var(--muted,#5a6157)}
@media (max-width:560px){.wz-table th,.wz-table td{padding:7px 6px;font-size:.9rem}.wz-nav .ls-button{flex:1;text-align:center}}
/* Halaman akun warga: kartu terpusat, kolom isian rapi satu
   kolom (daftar/masuk/akun saya/perubahan data) */
body.wa-body{min-height:100dvh}
.wa-top{max-width:1240px;margin:0 auto;padding:20px 36px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.wa-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text,inherit)}
.wa-brand img{border-radius:10px}
.wa-brand-text small{display:block;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-strong,var(--muted,#65745f))}
.wa-brand-text strong{display:block;font-size:1.06rem;line-height:1.25}
.wa-home{flex-shrink:0;font-size:.88rem;font-weight:600;text-decoration:none;color:var(--text,inherit);border:1px solid var(--line,#dce3d2);background:var(--panel,#fffef8);border-radius:999px;padding:8px 15px}
main.wa-main{padding:10px 16px 30px}
.wa-card{max-width:540px;margin:14px auto 0;background:var(--panel,#fffef8);border:1px solid var(--line,#dce3d2);border-radius:20px;box-shadow:0 14px 34px rgba(24,44,30,.12);padding:30px 32px 28px;color:var(--text,inherit)}
.wa-head{text-align:center;margin-bottom:22px}
.wa-head .public-kicker{margin-bottom:8px!important}
.wa-head h1{font-size:1.65rem;margin:0 0 8px}
.wa-head p{color:var(--muted,#65745f);font-size:.94rem;max-width:46ch;margin:0 auto}
.wa-foot{text-align:center;color:var(--muted,#65745f);font-size:.84rem;margin:20px auto 6px}
.wa-card label{display:block;margin:0 0 13px;font-weight:600;font-size:.94rem}
.wa-card input,.wa-card select,.wa-card textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line,#cfd4cb);border-radius:10px;font:inherit;font-weight:400;background:var(--panel,#fffef8);color:inherit;box-sizing:border-box}
.wa-card input[type="file"]{padding:8px 12px}
.wa-card input:focus,.wa-card select:focus,.wa-card textarea:focus{outline:2px solid var(--blue,#385e3e);outline-offset:1px;border-color:var(--blue,#385e3e)}
.wa-card .ls-button{display:block;width:100%;text-align:center;padding:13px 18px;border-radius:11px;font-size:1rem;box-sizing:border-box}
.wa-card .wz-nav .ls-button{width:auto;flex:1}
.wa-card .ls-privacy{max-width:none;font-size:.84rem;color:var(--muted,#65745f)}
.wa-card .ls-success{margin-top:4px}
.wa-card #wa-me>h2,.wa-card .ls-form>h2{font-size:1.15rem}
@media (max-width:600px){
.wa-top{padding:14px 16px 2px}
main.wa-main{padding:6px 0 20px}
.wa-card{border:0;border-radius:0;box-shadow:none;margin-top:6px;padding:24px 18px}
.wa-brand-text strong{font-size:1rem}
}

/* Halaman masuk/daftar warga memakai bingkai entry (adegan desa) seperti
   halaman masuk perangkat; kartu di dalamnya mengikuti mockup yang di-ACC
   Bos 6 Nov 2026: cip desa, kolom berikon, tombol daftar berbentuk tombol. */
.wa-card-entry label{display:block;margin:0 0 13px;font-weight:600;font-size:.94rem}
.wa-card-entry .ls-form>label>input,.wa-card-entry .ls-form>label>select,.wa-card-entry .ls-form>label>textarea,
.wa-card-entry .wz-step label>input,.wa-card-entry .wz-step label>select,
.wa-card-entry .wz-member label>input,.wa-card-entry .wz-member label>select,
.wa-card-entry .wz-bio label>input,.wa-card-entry .wz-bio label>select{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line,#cfd4cb);border-radius:10px;font:inherit;font-weight:400;background:var(--panel,#fffef8);color:inherit;box-sizing:border-box}
.wa-card-entry input:focus,.wa-card-entry select:focus,.wa-card-entry textarea:focus{outline:2px solid var(--blue,#385e3e);outline-offset:1px;border-color:var(--blue,#385e3e)}
.wa-card-entry .ls-button{display:block;width:100%;text-align:center;padding:13px 18px;border-radius:11px;font-size:1rem;box-sizing:border-box;background:var(--blue,#385e3e);border:1px solid var(--blue,#385e3e);color:var(--onblue,#fff);font-weight:700;cursor:pointer}
.wa-card-entry .wz-nav .ls-button{width:auto;flex:1}
.wa-card-entry .ls-button.secondary{background:transparent;color:var(--blue,#385e3e)}
.wa-card-foot{border-top:1px solid var(--line,#dce3d2);margin-top:26px;padding-top:18px;text-align:center}
.wa-btn-daftar{display:flex;align-items:center;justify-content:center;gap:9px;height:50px;border-radius:12px;background:var(--soft,#eef4ea);border:1.5px solid var(--blue,#385e3e);color:var(--blue,#385e3e);font-size:.97rem;font-weight:700;text-decoration:none}
.wa-btn-daftar:hover{background:var(--line,#e2eedd)}
.wa-btn-daftar .icon{width:19px;height:19px}
.wa-foot-help{font-size:.84rem;color:var(--muted,#65745f);line-height:1.55;margin-top:12px}
.wa-entry-footer{max-width:1240px;margin:0 auto;width:100%}
/* Bingkai entry warga: isolasi konteks tumpuk agar adegan desa
   (z-index negatif) terlihat seperti di halaman masuk perangkat;
   margin otomatis aturan main situs publik harus dimatikan agar
   kartu tidak melebar melewati layar HP; kolom berikon di dalam
   kartu tidak boleh membawa bingkai ganda dari aturan form umum. */
body.wa-entry-body{isolation:isolate}
.wa-entry .entry-main{margin:0}
.wa-card-entry .input-wrap input{border:0;background:transparent;margin-top:0;padding-top:12px;padding-bottom:12px}
.wa-card-entry .input-wrap input:focus{outline:0}
/* Kontras teks cerita warga di atas adegan: halo lembut warna
   latar agar judul dan keterangan tetap terbaca di bagian
   adegan yang ramai (catatan telaah PR #141). */
body.wa-entry-body .entry-story h2{text-shadow:0 1px 14px rgb(246 247 238/.9),0 0 3px rgb(246 247 238/.85)}
body.wa-entry-body .entry-story p,body.wa-entry-body .entry-eyebrow{text-shadow:0 1px 10px rgb(246 247 238/.9),0 0 3px rgb(246 247 238/.8)}
/* Portal Warga (tahap 2): komponen ls-/wa- di dalam cangkang
   portal mengikuti palet dashboard admin (terang/gelap) lewat
   pemetaan variabel — bukan palet situs publik. */
body.warga-portal{--surface:var(--panel);--border:var(--line);--accent:var(--blue);--accent-soft:var(--soft)}
body.warga-portal .ls-form{max-width:none}
body.warga-portal .panel .ls-form{margin:0}

/* ===== Portal Warga — bahasa desain Opsi 1 (dipilih Bos 7 Nov 2026):
   kartu anggota beravatar inisial, ubin aksi, garis waktu, grup
   formulir, pil status. Semua halaman portal memakai komponen ini
   agar selaras; panel luar diratakan karena kartu membawa
   permukaannya sendiri. ===== */
body.warga-portal .main-content .panel{background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
body.warga-portal .ls-button{border-radius:14px;padding:13px 20px}
body.warga-portal .ls-privacy{background:var(--soft);border-radius:14px;padding:13px 15px;max-width:none}
body.warga-portal .ls-form input,body.warga-portal .ls-form select,body.warga-portal .ls-form textarea{border-radius:12px}
.pw-sec{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:24px 2px 11px;font-size:.97rem;font-weight:750;color:var(--text)}
.pw-sec .pw-count{color:var(--muted);font-size:.8rem;font-weight:600}
.pw-kk{background:var(--blue);color:var(--onblue);border-radius:20px;padding:18px 20px}
.pw-kk-label{font-size:.68rem;letter-spacing:.14em;font-weight:700;opacity:.75;text-transform:uppercase}
.pw-kk-num{font-size:1.28rem;font-weight:800;letter-spacing:.05em;margin:4px 0 6px}
.pw-kk-addr{font-size:.85rem;opacity:.88;line-height:1.55}
.pw-member{display:flex;gap:13px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0 0 10px;box-shadow:0 2px 8px rgb(19 36 32/.05)}
.pw-ava{width:47px;height:47px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;flex:none;background:var(--blue);color:var(--onblue)}
.pw-ava.t2{background:color-mix(in srgb,var(--blue) 52%,var(--panel));color:var(--text)}
.pw-ava.t3{background:var(--soft);color:var(--blue)}
.pw-member-main{flex:1;min-width:0}
.pw-member-name{font-weight:700;font-size:.98rem;overflow-wrap:anywhere}
.pw-member-meta{color:var(--muted);font-size:.8rem;margin-top:2px}
.pw-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.pw-chip{font-size:.66rem;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:6px;background:var(--soft);color:var(--blue);text-transform:uppercase}
.pw-chip-you{background:var(--blue);color:var(--onblue)}
.pw-chip-off{background:var(--soft);color:var(--muted)}
.pw-pill{font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;background:var(--mint);color:var(--green);display:inline-block}
.pw-pill-wait{background:var(--warm);color:light-dark(#8a5f10,#ffce83)}
.pw-pill-off{background:var(--soft);color:var(--muted)}
.pw-pill-bad{background:light-dark(#fbe9e5,#4a2c26);color:var(--danger)}
.pw-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pw-tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:15px 8px 13px;text-align:center;color:var(--text);box-shadow:0 2px 8px rgb(19 36 32/.05)}
.pw-tile:hover{text-decoration:none;border-color:var(--blue)}
.pw-tile-ic{width:43px;height:43px;margin:0 auto 8px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.pw-tile-ic svg{width:21px;height:21px}
.pw-tile-t{font-size:.83rem;font-weight:700;line-height:1.3}
@media (max-width:400px){.pw-tiles{gap:8px}}
.pw-tl{position:relative;margin-left:8px;padding-left:22px}
.pw-tl:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:2px;background:var(--line);border-radius:2px}
.pw-ev{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px 15px;margin:0 0 10px}
.pw-ev:before{content:"";position:absolute;left:-22px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--blue);border:2.5px solid var(--bg)}
.pw-ev.off:before{background:var(--muted)}
.pw-ev-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.pw-ev-title{font-weight:700;font-size:.9rem;overflow-wrap:anywhere}
.pw-ev-body{color:var(--muted);font-size:.8rem;margin-top:4px;line-height:1.55}
.pw-group{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 17px 10px;margin:0 0 14px}
.pw-group-title{font-size:.72rem;letter-spacing:.09em;font-weight:750;color:var(--blue);margin:0 0 4px;text-transform:uppercase}
.pw-card-title{font-size:.97rem;font-weight:750;margin:0 0 8px;color:var(--text)}
.pw-group label{margin:13px 0 10px}
.pw-seg{display:flex;background:var(--soft);border-radius:12px;padding:4px;gap:4px}
.pw-seg label{flex:1;margin:0;position:relative}
.pw-seg input{position:absolute;opacity:0;width:1px;min-height:0}
.pw-seg span{display:block;text-align:center;font-size:.86rem;padding:10px 2px;border-radius:9px;font-weight:600;color:var(--muted);cursor:pointer}
.pw-seg input:checked+span{background:var(--panel);color:var(--text);box-shadow:0 1px 4px rgb(19 36 32/.16)}
.pw-seg input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.pw-segfield{margin:13px 0 10px}
.pw-segfield-label{display:block;font-size:12px;font-weight:600;margin:0 0 8px}
.pw-pick{display:flex;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;margin:0 0 9px;cursor:pointer}
.pw-pick input{width:18px;min-height:18px;flex:none;accent-color:var(--blue)}
.pw-pick:has(input:checked){border-color:var(--blue);background:var(--soft)}
.pw-pick-name{font-weight:700;font-size:.92rem;display:block}
.pw-pick-meta{color:var(--muted);font-size:.78rem;display:block;margin-top:1px;font-weight:400}
.pw-back{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;font-weight:650;color:var(--blue);margin:0 0 6px}
.pw-note{background:var(--soft);border-radius:14px;padding:13px 15px;font-size:.86rem;line-height:1.55}
.pw-note:empty{display:none}
.pw-empty{border:1.5px dashed var(--line);border-radius:16px;padding:20px 16px;text-align:center;color:var(--muted);font-size:.86rem}
.pw-success{border:1.5px solid var(--green);border-radius:18px;padding:22px;margin-top:6px;background:var(--panel)}
.pw-success h2{font-size:1.1rem;margin:0 0 8px}
.pw-success .ls-button{margin-top:14px}
.pw-rowlink{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px 16px;margin:0 0 10px;color:var(--text);box-shadow:0 2px 8px rgb(19 36 32/.04)}
.pw-rowlink:hover{text-decoration:none;border-color:var(--blue)}
.pw-rowlink .pw-tile-ic{margin:0;width:42px;height:42px;flex:none}
.pw-rowlink-main{flex:1;min-width:0}
.pw-rowlink-t{font-weight:700;font-size:.92rem;display:block}
.pw-rowlink-d{color:var(--muted);font-size:.79rem;margin-top:1px;display:block}
.pw-chev{color:var(--muted);font-size:1.1rem;flex:none}
.pw-idcard{display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;margin:0 0 12px;box-shadow:0 2px 8px rgb(19 36 32/.05)}
.pw-idcard .pw-ava{width:54px;height:54px;font-size:1.05rem}
/* Layanan Surat warga diratakan ke Opsi 1 */
body.warga-portal .wl-req{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:15px 17px;box-shadow:0 2px 8px rgb(19 36 32/.05);margin:0 0 10px}
body.warga-portal .ls-track-card{background:var(--panel)}
body.warga-portal .ls-track-status{display:inline-block;font-weight:700;font-size:.72rem;padding:4px 10px;border-radius:999px;background:var(--mint);color:var(--green);margin:2px 0 6px}
body.warga-portal .wl-kind-row{border-radius:16px;padding:14px 16px;box-shadow:0 2px 8px rgb(19 36 32/.04)}
body.warga-portal .wl-timeline{position:relative;margin-left:8px}
body.warga-portal .wl-timeline:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:2px;background:var(--line)}
body.warga-portal .wl-timeline li{border-left:0;position:relative;padding:2px 0 14px 20px}
body.warga-portal .wl-timeline li:before{content:"";position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%;background:var(--blue);border:2.5px solid var(--bg)}
body.warga-portal .wl-account-warn{border:1.5px solid light-dark(#e5c39a,#6b5636);border-radius:16px;padding:13px 15px}
body.warga-portal #wl-groups h2{font-size:.97rem;font-weight:750;margin:22px 2px 6px;color:var(--text)}
body.warga-portal .ls-form h3{font-size:.97rem;font-weight:750;margin:20px 0 8px;color:var(--text)}
body.warga-portal #wl-biodata{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px 15px}
body.warga-portal #wl-biodata p{margin:5px 0;font-size:.9rem}
body.warga-portal #wl-kind-detail h2{font-size:.97rem;font-weight:750;margin:18px 0 8px;color:var(--text)}
body.warga-portal #wl-kind-detail ul,body.warga-portal #wl-kind-detail ol{margin:0 0 6px;padding-left:20px;line-height:1.65;font-size:.92rem}
body.warga-portal #wl-detail h3{margin-top:16px}
/* Perubahan Data warga diratakan ke Opsi 1 */
body.warga-portal .wp-request{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px 15px;margin:0 0 10px;box-shadow:0 2px 8px rgb(19 36 32/.04)}
body.warga-portal .wp-status-line{display:flex;align-items:center;gap:9px;margin-top:7px;flex-wrap:wrap}
body.warga-portal .wp-field{border:1px solid var(--line);border-radius:14px;padding:11px 13px;margin:0 0 10px}
body.warga-portal .wp-toggle{display:flex;align-items:center;gap:9px;font-weight:650;font-size:.9rem;margin:0;cursor:pointer}
body.warga-portal .wp-toggle input{width:18px;min-height:18px;flex:none;accent-color:var(--blue)}
body.warga-portal .wp-field>input,body.warga-portal .wp-field>select{margin-top:10px}
body.warga-portal #wp-root fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:14px 0}
body.warga-portal #wp-root fieldset legend{font-size:.72rem;letter-spacing:.09em;font-weight:750;color:var(--blue);text-transform:uppercase;padding:0 6px}
body.warga-portal #wp-root fieldset label{display:flex;align-items:center;gap:9px;font-weight:500;margin:8px 0}
body.warga-portal #wp-root fieldset label input{width:18px;min-height:18px;flex:none;accent-color:var(--blue)}
body.warga-portal #wp-root textarea{width:100%;box-sizing:border-box;border-radius:12px;margin:0 0 12px}
body.warga-portal .lr-compare th{white-space:normal}
