:root{
  --t2:#0e3a2b;--t3:#15604a;--t4:#17795c;--t5:#1fbf80;
  --navy:#0c3527;--bg:#eef5f0;--surf:#fff;--surf2:#f3f7f4;--line:#dde9e2;
  --ink:#122a22;--sub:#2f4d43;--mut:#6b8479;--dim:#93a89f;
  --green:#059669;--green-bg:#ecfdf5;--red:#dc2626;--red-bg:#fef2f2;
  --amber:#d97706;--amber-bg:#fffbeb;--r:10px;--r2:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);font-size:14px;min-height:100vh;
  background:#f4f7f5;}
button{font-family:inherit;cursor:pointer}
.hidden{display:none!important}

/* ---------- LOGIN ---------- */
#gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(175deg,#0c3527,#15604a 55%,#17795c);padding:20px}
.card{width:min(400px,94vw);background:rgba(255,255,255,.10);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:34px 30px;color:#fff}
.card h1{font-size:20px;font-weight:800;margin-bottom:4px}
.card p{font-size:12.5px;color:rgba(204,243,238,.85);margin-bottom:22px}
.card label{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:rgba(204,243,238,.8);margin:14px 0 5px}
.card input{width:100%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  border-radius:10px;padding:11px 13px;color:#fff;font-size:14px;font-family:inherit}
.card input::placeholder{color:rgba(255,255,255,.5)}
.card button{width:100%;margin-top:22px;background:var(--t5);color:#04312b;border:0;
  border-radius:10px;padding:12px;font-size:14px;font-weight:700}
.card button:disabled{opacity:.6}
#gateErr,#regErr{color:#ffd0d0;font-size:12.5px;margin-top:12px;min-height:16px;text-align:center}
/* Baris "Belum punya akun? / Sudah punya akun?" di halaman login.
   DULU bernama .switch dan bentrok dengan komponen saklar geser di bawah
   (baris .switch{width:40px}), sehingga teksnya terjepit selebar 40px. */
.gate-switch{margin-top:16px;font-size:12.5px;color:rgba(204,243,238,.85);text-align:center;line-height:1.6}
.gate-switch a{color:#fff;font-weight:700;cursor:pointer;text-decoration:underline}

/* ---------- SHELL ---------- */
#app{display:flex;min-height:100vh}
/* Sidebar berlabel gaya Bankio: latar putih, ikon + teks, menu aktif = pil hijau. */
#sidebar{width:190px;background:var(--surf);border-right:1px solid var(--line);
  color:var(--ink);display:flex;flex-direction:column;align-items:stretch;gap:1px;
  padding:14px 12px;position:sticky;top:0;height:100vh;z-index:30}
/* Logo selalu di TENGAH, baik sidebar terbuka lebar maupun tertutup jadi rel. */
.brand{display:flex;align-items:center;justify-content:center;gap:10px;padding:2px 8px 12px}
.brand-mark{width:34px;height:34px;flex:none;border-radius:10px;background:var(--t4);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
  color:#fff;letter-spacing:.5px;overflow:hidden}
.brand-logo{width:100%;height:100%;object-fit:cover;border-radius:10px}
#nav,#navFoot{display:flex;flex-direction:column;align-items:stretch;gap:1px;width:100%}
#navFoot{margin-top:auto}
.nav-head{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--dim);padding:13px 10px 5px}
.navbtn{position:relative;display:flex;align-items:center;gap:11px;width:100%;
  padding:9px 11px;background:transparent;border:0;border-radius:10px;
  color:var(--sub);font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;
  transition:background .12s,color .12s}
.navbtn svg{width:19px;height:19px;flex:none}
.navbtn:hover{background:var(--surf2);color:var(--ink)}
.navbtn.active{background:var(--t4);color:#fff}
.navbtn:focus,.navbtn:focus-visible,.navbtn:active{outline:none!important;box-shadow:none!important}
.navbtn.soon{opacity:.5}
.nav-caret{margin-left:auto;font-size:14px;line-height:1;font-weight:800;opacity:.7}
.navbtn .label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-sep{display:none}
.ver-tag{margin:8px 0 4px;font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--dim);text-align:center}

/* ---- Sidebar bisa DITUTUP jadi rel ikon (hanya logo + ikon) ----
   Tombolnya duduk di KAKI sidebar, tepat di atas penanda versi. */
.sb-toggle{width:100%;height:34px;margin-top:4px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:10px;color:var(--mut);cursor:pointer;
  transition:background .12s,color .12s}
.sb-toggle:hover{background:var(--surf2);color:var(--ink)}
.sb-toggle svg{width:18px;height:18px;flex:none}
#sidebar{transition:width .16s ease}
#sidebar.rail{width:72px;padding:14px 10px}
#sidebar.rail .brand{padding:2px 0 12px}
/* judul bagian diganti garis tipis supaya rel tetap bersih */
#sidebar.rail .nav-head{font-size:0;padding:9px 0 7px}
#sidebar.rail .nav-head::after{content:'';display:block;height:1px;background:var(--line);margin:0 8px}
#sidebar.rail .navbtn{justify-content:center;padding:10px 0;gap:0}
#sidebar.rail .nav-caret{display:none}
/* label berubah jadi tooltip di samping ikon */
#sidebar.rail .navbtn .label{position:absolute;left:calc(100% + 9px);top:50%;transform:translateY(-50%);
  flex:none;background:var(--ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;
  padding:6px 10px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:80;
  box-shadow:0 4px 14px rgba(0,0,0,.22)}
#sidebar.rail .navbtn .label::before{content:'';position:absolute;left:-4px;top:50%;transform:translateY(-50%);
  border:4px solid transparent;border-right-color:var(--ink)}
#sidebar.rail .navbtn:hover .label{opacity:1}
#sidebar.rail .ver-tag{font-size:9px}

/* ---------- Pemilih tanggal (kalender seragam semua modul) ---------- */
.dp{position:relative;display:block}
.dp-native{position:absolute!important;opacity:0!important;width:0!important;height:0!important;
  padding:0!important;border:0!important;pointer-events:none!important;clip:rect(0 0 0 0)}
.dp-txt{width:100%;padding-right:30px!important}
.dp-txt:focus{outline:none;border-color:var(--t4);box-shadow:0 0 0 3px rgba(23,121,92,.13)}
.dp-ic{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--mut);
  pointer-events:auto;cursor:pointer;display:flex;line-height:0}
.dp-ic svg{width:16px;height:16px}
.dp-txt:disabled + .dp-ic{opacity:.45;cursor:not-allowed}
.dp-pop{position:fixed;z-index:400;width:290px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:0 16px 44px rgba(5,46,54,.18);overflow:hidden;user-select:none}
.dp-hd{display:flex;align-items:center;gap:2px;padding:10px 10px 8px;border-bottom:1px solid var(--line)}
.dp-nav{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;border-radius:7px;color:var(--mut);font-size:15px;line-height:1;cursor:pointer}
.dp-nav:hover{background:var(--surf2);color:var(--ink)}
.dp-judul{flex:1;text-align:center;font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap}
.dp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:9px 10px 2px}
.dp-dow span{text-align:center;font-size:11.5px;font-weight:700;color:var(--mut)}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:2px 10px 10px}
.dp-hari{height:32px;display:flex;align-items:center;justify-content:center;background:transparent;
  border:0;border-radius:8px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer}
.dp-hari:hover{background:var(--surf2)}
.dp-luar{color:var(--dim)}
.dp-kini{box-shadow:inset 0 0 0 1px var(--t4);color:var(--t3);font-weight:700}
.dp-pilih{background:var(--t4)!important;color:#fff!important;font-weight:700;box-shadow:none}
.dp-foot{border-top:1px solid var(--line);padding:8px}
.dp-kini-btn{width:100%;background:transparent;border:0;border-radius:8px;padding:8px;
  font-size:13px;font-weight:600;font-family:inherit;color:var(--t3);cursor:pointer}
.dp-kini-btn:hover{background:var(--surf2)}


/* Tab (dipakai di halaman Pengaturan) */
.tabbar{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.tab{background:transparent;border:0;padding:9px 15px;font-size:13px;font-weight:600;color:var(--mut);
  cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--t4);border-bottom-color:var(--t4)}

/* ── Halaman daftar (Biaya, dll) ── */
.crumb{font-size:12.5px;color:var(--mut);margin-bottom:10px}
.crumb b{color:var(--ink)}
.crumb-link{color:var(--t3);cursor:pointer}
.crumb-link:hover{text-decoration:underline}
.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tools-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.search{border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:13px;width:210px;font-family:inherit}
.dt{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12.5px;font-family:inherit;color:var(--ink)}
.btn.sm{padding:7px 12px;font-size:12.5px}
.arrow{color:var(--mut)}
.filter-tabs{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ft{background:transparent;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--sub);cursor:pointer}
.ft:hover{background:var(--surf2)}
.ft.active{background:var(--t4);color:#fff;border-color:var(--t4)}
table.grid{width:100%;border-collapse:collapse;font-size:13px}
table.grid th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--mut);font-weight:700;
  text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--surf2);white-space:nowrap}
table.grid td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.grid tr:last-child td{border-bottom:0}
table.grid tbody tr:hover td{background:var(--surf2)}
table.grid tfoot td{padding:14px;background:var(--surf2);border-top:1px solid var(--line);font-size:13.5px}
table.grid tfoot tr:first-child td{border-top:2px solid var(--line)}

/* ── Pagination ── */
.pager{display:flex;align-items:center;gap:14px;justify-content:flex-end;padding:14px;flex-wrap:wrap}
.pg-count{color:var(--mut);font-size:13px;margin-right:auto}
.pg-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pg{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--line);background:#fff;border-radius:8px;font-size:13px;font-weight:600;color:var(--sub);cursor:pointer}
.pg:hover:not(:disabled){background:var(--surf2)}
.pg.active{background:var(--t4);color:#fff;border-color:var(--t4)}
.pg:disabled{opacity:.4;cursor:default}
.pg-ell{padding:0 2px;color:var(--mut)}
.pg-per{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit}
.lnk{color:var(--t3);font-weight:600;cursor:pointer}
.sub{font-size:11.5px;color:var(--dim);margin-top:2px}
.tagpill{font-size:11px;background:#ccf3ee;color:var(--t3);padding:2px 8px;border-radius:20px}
.tagpill.green{background:var(--green-bg);color:var(--green)}

/* ── Modal ── */
.modal-bg{position:fixed;inset:0;background:rgba(5,46,54,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}
.paid-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;background:var(--green-bg);color:var(--green);font-weight:700;font-size:13px;white-space:nowrap}
.modal-box{background:#fff;border-radius:14px;padding:22px 24px;width:min(600px,96vw);max-height:90vh;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.modal-box h3{font-size:16px;font-weight:700;margin-bottom:16px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form2 .field{display:flex;flex-direction:column;gap:5px}
@media(max-width:560px){.form2{grid-template-columns:1fr}}

/* ── Form Tambah (Biaya, dll) ── */
.formgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:760px){.formgrid{grid-template-columns:1fr}}
.req{color:var(--red)}
.field textarea{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;resize:vertical}
.toggle-row{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--sub)}
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:none}
.switch input{opacity:0;width:0;height:0}
.switch>span{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:20px;transition:.2s}
.switch>span::before{content:'';position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked + span{background:var(--t4)}
.switch input:checked + span::before{transform:translateX(18px)}
.items{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px;table-layout:fixed}
.items th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--mut);font-weight:700;padding:8px;background:var(--surf2);border-bottom:1px solid var(--line)}
.items td{padding:6px 8px;vertical-align:top}
.items input,.items select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}
.items input.right{text-align:right}
.items .del{background:var(--red-bg);color:var(--red);border:0;border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:700}
.totbox{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px}
.totrow{display:flex;gap:40px;align-items:center}
.totrow .lbl{color:var(--mut);font-weight:600;font-size:13px}
.totrow .val{font-weight:800;min-width:130px;text-align:right}

/* ── Detail Biaya ── */
.det-field{margin-bottom:16px}
.det-lbl{font-size:12.5px;color:var(--mut)}
.det-val{font-size:14px;font-weight:600;margin-top:2px}
.det-item{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.det-amt{font-weight:600;white-space:nowrap}
.det-tot{margin-top:16px;display:flex;flex-direction:column;gap:11px;max-width:420px;margin-left:auto}
.det-totrow{display:flex;justify-content:space-between;gap:30px;font-size:13.5px}
.det-sisa{font-size:17px;font-weight:800;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}

/* ── Form Pesanan Pembelian (item + totals) ── */
.lnk-add{color:var(--t3);font-weight:600;font-size:13px;cursor:pointer;display:inline-block}
.lnk-add:hover{text-decoration:underline}
.toggle-bar{display:flex;align-items:center;gap:16px;margin:16px 0 10px;flex-wrap:wrap}
.prd-toggle{border-top:1px solid var(--line);padding:16px 0}
.po-items input,.po-items select{padding:8px 8px}
.pt-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13.5px}
.pt-row .pt-input{width:130px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;font-family:inherit;text-align:right}
.pt-total{font-weight:800;font-size:15px}
.pt-sisa{font-weight:800;font-size:16px;border-bottom:0}
details summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--sub);padding:8px 0;list-style:revert}
details textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:13px;font-family:inherit;margin-top:6px;resize:vertical}

/* ── Popover (Filter / Tampilkan kolom) ── */
.popover{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,.18);
  padding:16px;width:290px;max-height:74vh;overflow:auto;z-index:200}
.popover h4{font-size:13px;font-weight:700;margin-bottom:12px}
.popover .pf{margin-bottom:12px}
.popover .pf label{display:block;font-size:12px;color:var(--mut);font-weight:600;margin-bottom:5px}
.popover select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}
.colrow{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;font-weight:600;color:var(--sub);cursor:pointer}
.pop-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.submenu-pop{width:198px;padding:6px;box-shadow:5px 8px 24px rgba(0,0,0,.14)}
.submenu-item{display:block;width:100%;text-align:left;background:transparent;border:0;padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.submenu-item + .submenu-item{margin-top:2px}
.submenu-item:hover{background:var(--surf2);color:var(--t3)}

/* ── Aksi dropdown (detail PO) ── */
.detbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.aksi-wrap{position:relative;display:flex;gap:8px;align-items:center}
.aksi-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:6px;width:236px;z-index:60}

/* ── Picker produk (di baris item form Pembelian) ── */
.po-picker,.po-vpicker,.so-picker,.so-vpicker,.iv-picker,.iv-vpicker,.dv-picker,.dv-vpicker{padding:4px;max-height:280px;z-index:200}
.picker-item{display:block;width:100%;text-align:left;background:transparent;border:0;padding:9px 11px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--ink)}
.picker-item:hover{background:var(--surf2)}
.picker-item .sub{display:block;font-size:11.5px;color:var(--dim);margin-top:1px}
.picker-add{color:var(--t3);font-weight:600;border-top:1px solid var(--line)}
main{flex:1;min-width:0;display:flex;flex-direction:column}
header{background:var(--surf);border-bottom:1px solid var(--line);padding:14px 26px;
  display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}
/* Nama perusahaan di kanan kepala halaman (pindah dari sidebar). */
.hd-co{margin-left:auto;font-weight:800;font-size:15px;color:var(--t3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
header .who{text-align:right;font-size:12px;color:var(--mut)}
header .who b{color:var(--ink)}
.avatar-sm{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--surf)}
.avatar-lg{width:80px;height:80px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--surf)}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.badge.trial{background:var(--amber-bg);color:var(--amber)}
.badge.aktif{background:var(--green-bg);color:var(--green)}
.badge.suspend{background:var(--red-bg);color:var(--red)}
.badge.habis{background:var(--red-bg);color:var(--red)}
.logout{background:var(--red-bg);color:var(--red);border:0;padding:7px 13px;border-radius:8px;font-size:12px;font-weight:700}

/* ---------- Pengaturan: menu kategori + kartu pilihan (gaya Kledo) ---------- */
#setNav{width:212px;flex:0 0 auto;border:1px solid var(--line);border-radius:12px;padding:8px;background:var(--surf)}
#setNav .setnav-item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:9px;
  padding:10px 12px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--sub);
  cursor:pointer;margin-bottom:2px;transition:background .12s,color .12s}
#setNav .setnav-item:hover{background:var(--surf2);color:var(--ink)}
#setNav .setnav-item.active{background:var(--t4);color:#fff}
.set-sec{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mut);margin:0 0 10px}
.set-kartu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.set-kartu{display:flex;align-items:flex-start;gap:14px;text-align:left;width:100%;
  background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  font-family:inherit;cursor:pointer;transition:border-color .12s,background .12s}
.set-kartu:hover{border-color:var(--t4);background:var(--surf2)}
.set-kartu-ic{flex:none;width:42px;height:42px;border-radius:11px;background:var(--bg);color:var(--t4);
  display:flex;align-items:center;justify-content:center}
.set-kartu-ic svg{width:21px;height:21px}
.set-kartu-teks{display:flex;flex-direction:column;gap:3px;min-width:0}
.set-kartu-teks b{font-size:14.5px;font-weight:700;color:var(--ink)}
.set-kartu-teks span{font-size:12.5px;color:var(--mut);line-height:1.45}
.set-kembali{background:none;border:0;padding:0 0 12px;font-family:inherit;font-size:13px;
  font-weight:700;color:var(--t3);cursor:pointer}
.set-kembali:hover{text-decoration:underline}

/* ---------- Tombol ikon di kepala halaman (mis. jam audit) ---------- */
.hd-ikon{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--mut);
  cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.hd-ikon:hover{background:var(--surf2);color:var(--ink);border-color:var(--t4)}
.hd-ikon.aktif{background:var(--t4);border-color:var(--t4);color:#fff}
.hd-ikon svg{width:18px;height:18px}

/* Ringkasan audit yang muncul dari ikon jam */
.au-pop{position:fixed;z-index:400;width:min(430px,94vw);background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:0 18px 48px rgba(5,46,54,.20);overflow:hidden}
.au-pop-hd{font-size:13px;font-weight:800;color:var(--ink);padding:14px 18px 12px;border-bottom:1px solid var(--line)}
.au-pop-isi{max-height:min(460px,60vh);overflow:auto;padding:4px 16px}
.au-pop-all{width:100%;background:transparent;border:0;border-top:1px solid var(--line);padding:12px;
  font-size:13px;font-weight:700;font-family:inherit;color:var(--t3);cursor:pointer}
.au-pop-all:hover{background:var(--surf2)}
/* Di dalam popover kolom waktunya dipersempit supaya muat */
.au-pop .au-item{grid-template-columns:74px 22px minmax(0,1fr);padding:12px 0}
.au-pop .au-item::before{left:84px}
.au-pop .au-kapan{font-size:11px;padding-right:10px;white-space:normal}
.au-pop .au-detail{padding:8px 10px}

/* ---------- Halaman Audit (garis waktu perubahan) ---------- */
.au-line{position:relative}
.au-item{position:relative;display:grid;grid-template-columns:118px 26px minmax(0,1fr);
  gap:0;align-items:start;padding:14px 0}
.au-item::before{content:'';position:absolute;left:130px;top:0;bottom:0;width:2px;background:var(--line)}
.au-item:first-child::before{top:22px}
.au-item:last-child::before{bottom:auto;height:22px}
.au-kapan{font-size:12px;color:var(--mut);text-align:right;padding-right:14px;padding-top:3px;white-space:nowrap}
.au-dot{position:relative;z-index:1;width:13px;height:13px;margin:5px auto 0;border-radius:50%;
  background:#fff;border:3px solid var(--dim)}
.au-dot.au-hijau{border-color:var(--green)}
.au-dot.au-biru{border-color:var(--t4)}
.au-dot.au-merah{border-color:var(--red)}
.au-isi{padding-left:12px;min-width:0}
.au-judul{font-size:13.5px;color:var(--sub)}
.au-judul b{color:var(--t3);font-weight:700}
.au-ringkas{font-size:12.5px;color:var(--sub);margin-top:3px}
.au-meta{font-size:11.5px;color:var(--dim);margin-top:3px}
.au-detail{margin-top:8px;background:var(--surf2);border-radius:9px;padding:10px 12px}
.au-detail-hd{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--mut);margin-bottom:5px}
.au-baris{font-size:12.5px;color:var(--ink);padding:2px 0;line-height:1.6}
.au-kolom{color:var(--mut)}
.au-lama{color:var(--dim)}
.au-panah{color:var(--mut)}
.au-baru{font-weight:700}
@media(max-width:640px){
  .au-item{grid-template-columns:0 22px minmax(0,1fr)}
  .au-item::before{left:10px}
  .au-kapan{display:none}
  .au-meta{margin-top:4px}
}

/* ---------- Halaman Penomoran Otomatis ---------- */
.pn-wrap{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:760px){.pn-wrap{grid-template-columns:1fr}}
.pn-nav{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:11px;padding:7px;background:var(--surf)}
.pn-nav-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  background:none;border:0;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:13.5px;
  font-weight:600;color:var(--sub);cursor:pointer;text-align:left;transition:background .12s,color .12s}
.pn-nav-item:hover{background:var(--surf2);color:var(--ink)}
.pn-nav-item.active{background:var(--t4);color:#fff}
.pn-nav-item b{font-size:12px;font-weight:700;opacity:.75}
.pn-judul{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:2px}
.pn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}
.pn-kartu{display:flex;align-items:center;gap:12px;text-align:left;width:100%;background:var(--surf);
  border:1px solid var(--line);border-radius:11px;padding:13px 15px;font-family:inherit;cursor:pointer;
  transition:border-color .12s,background .12s}
.pn-kartu:hover{border-color:var(--t4);background:var(--surf2)}
.pn-kartu-ic{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bg);color:var(--t4);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.pn-kartu-teks{display:flex;flex-direction:column;gap:2px;min-width:0}
.pn-kartu-teks b{font-size:13.5px;font-weight:700;color:var(--ink)}
.pn-kartu-teks span{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-opsi{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.pn-preview{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--bg);
  border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px}
.pn-preview span{font-size:12.5px;color:var(--mut)}
.pn-preview b{font-size:15px;font-weight:800;color:var(--t3);font-variant-numeric:tabular-nums}
.pn-token{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.pn-token .note{width:100%}
.pn-tok{background:var(--surf2);border:1px solid var(--line);border-radius:20px;padding:4px 11px;
  font-size:12px;font-weight:700;font-family:inherit;color:var(--t3);cursor:pointer}
.pn-tok:hover{background:var(--bg);border-color:var(--t4)}

/* ---------- Halaman Billing (Pengaturan → Perusahaan → Billing) ---------- */
.bl-atas{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:820px){.bl-atas{grid-template-columns:1fr}}
.bl-paket,.bl-pakai{margin:0}
.bl-kicker{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.bl-nama{font-size:26px;font-weight:800;color:var(--ink);margin:4px 0 14px;line-height:1.15}
.bl-rinci{display:flex;flex-direction:column;gap:7px;font-size:13px;margin-bottom:14px}
.bl-rinci>div{display:flex;justify-content:space-between;gap:14px}
.bl-rinci span{color:var(--mut)}
.bl-aktif{font-size:13px;color:var(--sub);border-top:1px solid var(--line);padding-top:13px}
.bl-sisa{display:inline-block;font-size:11.5px;font-weight:700;color:var(--t3);
  background:var(--bg);padding:1px 9px;border-radius:20px;margin-left:4px;white-space:nowrap}
.bl-sisa.bl-merah{color:var(--red);background:var(--red-bg)}
.bl-perpanjang{width:100%;margin-top:14px}
.bl-baris{margin-bottom:15px}
.bl-baris:last-of-type{margin-bottom:0}
.bl-baris-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;margin-bottom:6px}
.bl-baris-hd span{color:var(--mut)}
.bl-track{height:7px;border-radius:20px;background:var(--surf2);overflow:hidden}
.bl-fill{height:100%;border-radius:20px;background:var(--t4);transition:width .25s}
.bl-fill-penuh{background:var(--red)}

/* ---------- Menu akun di pojok kanan atas ---------- */
.akun-wrap{position:relative;flex:none}
.akun-btn{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:transparent;
  border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background .12s,border-color .12s}
.akun-btn:hover{background:var(--surf2);border-color:var(--t4)}
.akun-btn .avatar-sm{width:32px;height:32px;border:0;border-radius:8px;object-fit:cover}
.akun-caret{color:var(--mut);font-size:11px;line-height:1}
.akun-pop{position:fixed;z-index:400;width:320px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:0 18px 48px rgba(5,46,54,.20);overflow:hidden}
.akun-halo{font-size:15px;font-weight:800;color:var(--ink);padding:16px 18px 14px;border-bottom:1px solid var(--line)}
.akun-sec{padding:13px 18px;border-bottom:1px solid var(--line)}
.akun-baris{display:flex;gap:10px;align-items:baseline;font-size:13.5px;padding:3px 0}
.akun-k{width:74px;flex:none;font-weight:700;color:var(--ink)}
.akun-k::after{content:':';margin-left:4px;color:var(--mut);font-weight:400}
.akun-v{flex:1;min-width:0;color:var(--sub)}
.akun-potong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.akun-sisa{font-size:11.5px;font-weight:700;color:var(--t3);background:var(--bg);
  padding:1px 8px;border-radius:20px;margin-left:6px;white-space:nowrap}
.akun-perpanjang{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;
  background:var(--t4);color:#fff;border:0;border-radius:9px;padding:11px;
  font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:filter .12s}
.akun-perpanjang:hover{filter:brightness(1.08)}
.akun-perpanjang svg{width:17px;height:17px;flex:none}
.akun-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;
  border:0;border-bottom:1px solid var(--line);padding:13px 18px;
  font-size:13.5px;font-weight:600;font-family:inherit;color:var(--ink);cursor:pointer;transition:background .12s}
.akun-item:last-child{border-bottom:0}
.akun-item:hover{background:var(--surf2)}
.akun-item svg{width:18px;height:18px;flex:none;color:var(--mut)}
.content{padding:26px;flex:1}
h2.page{font-size:19px;font-weight:800;margin-bottom:18px}

/* cards + tables */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--surf);border:1px solid var(--line);border-radius:var(--r2);padding:18px}
.stat .lbl{font-size:12px;color:var(--mut);font-weight:600;margin-bottom:8px}
.stat .val{font-size:24px;font-weight:800}
.panel{background:var(--surf);border:1px solid var(--line);border-radius:var(--r2);padding:20px;margin-bottom:20px}
.panel h3{font-size:14px;font-weight:700;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:700}
tr:last-child td{border-bottom:0}
.right{text-align:right}
/* Header kolom angka ikut rata kanan agar SEJAJAR dengan isinya (semua tabel modul) */
table.grid th.right,table.grid td.right,table.grid tfoot td.right,.items th.right,.items td.right{text-align:right}
.empty{padding:30px;text-align:center;color:var(--dim);font-size:13px}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:12px;font-weight:600;color:var(--sub)}
.field input,.field select{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit}
input.money{text-align:right}
/* ---------- Dropdown pencarian (combobox) ---------- */
.ss{position:relative;width:100%}
.ss-ctrl{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surf);cursor:pointer;min-height:38px}
.ss-ctrl:focus{outline:2px solid var(--t5);outline-offset:0}
.ss-val{flex:1;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-val.ss-ph{color:var(--mut)}
.ss-caret{color:var(--mut);font-size:11px}
.ss-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:280px;max-width:420px;background:var(--surf);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(5,46,54,.16);overflow:hidden}
.ss-panel.hidden{display:none}
.ss-search{padding:8px;border-bottom:1px solid var(--line)}
.ss-search input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit}
.ss-list{max-height:220px;overflow:auto}
.ss-item{padding:9px 12px;font-size:13px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-item:hover{background:var(--bg)}
.ss-item.sel{background:var(--bg);font-weight:600;color:var(--t3)}
.ss-empty{padding:12px;font-size:13px;color:var(--mut);text-align:center}
.ss-add{padding:10px 12px;border-top:1px solid var(--line);color:var(--t3);font-weight:600;font-size:13px;cursor:pointer;background:var(--surf)}
.ss-add:hover{background:var(--bg)}
/* ---------- Jurnal (kartu per-entri, gaya Kledo) ---------- */
.je{border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden;background:#fff}
.je-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px 4px}
.je-title{font-size:16px;font-weight:800;color:var(--ink)}
.je-ref{color:var(--mut);font-weight:600;font-size:14px}
.je-date{color:var(--mut);font-size:13px;white-space:nowrap}
.je-sub{padding:2px 16px 12px;color:var(--mut);font-size:13px;border-bottom:1px solid var(--line)}
/* Lebar kolom DIPATOK: tiap entri jurnal punya tabelnya sendiri, jadi tanpa ini
   kolom Debit/Kredit berhenti di posisi berbeda-beda antar kartu dan daftarnya
   terlihat bergerigi. */
.je-table{width:100%;border-collapse:collapse;table-layout:fixed}
.je-col-amt{width:150px}
.je-table thead th{text-align:left;font-size:12px;color:var(--mut);font-weight:600;padding:10px 16px;background:var(--bg)}
.je-table th.right,.je-table td.right{text-align:right}
.je-table tbody td{padding:10px 16px;border-top:1px solid var(--line);vertical-align:top}
.je-akun{font-weight:700;color:var(--ink)}
.je-kode{color:var(--mut);font-size:12px;white-space:nowrap}
.je-linesub{color:var(--mut);font-size:12px;margin-top:3px}
/* tabular-nums: tiap angka selebar sama, jadi rupiah berjajar rapi ke bawah */
.je-amt,.je-tot td.right{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.je-amt{color:var(--t3);font-weight:600;white-space:nowrap}
.je-tot td{border-top:1px solid var(--line);font-weight:800;color:var(--t3)}
.je-tot td:first-child{font-size:12px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.3px}
@media (max-width:720px){ .je-col-amt{width:110px} .je-table thead th,.je-table tbody td{padding:9px 10px} }
/* ---------- Buku Besar (daftar akun expandable, gaya Kledo) ---------- */
.bb-table{width:100%;border-collapse:collapse;margin-top:12px}
.bb-table>thead th{text-align:left;font-size:13px;color:var(--sub);font-weight:700;padding:12px;border-bottom:2px solid var(--line)}
.bb-table th.right,.bb-table td.right{text-align:right}
.bb-row>td{padding:12px;border-bottom:1px solid var(--line);cursor:pointer}
.bb-row:hover>td{background:var(--bg)}
.bb-name{font-weight:600}
.bb-exp{display:inline-block;width:18px;height:18px;line-height:16px;text-align:center;border:1px solid var(--line);border-radius:5px;margin-right:10px;color:var(--t3);font-weight:700;font-size:13px}
.bb-detwrap.hidden{display:none}
.bb-detwrap>td{padding:0 12px 12px 42px;background:var(--bg);border-bottom:1px solid var(--line)}
.bb-dettable{width:100%;border-collapse:collapse}
.bb-dettable th{text-align:left;font-size:11px;color:var(--mut);font-weight:600;padding:6px 8px}
.bb-dettable td{font-size:12px;padding:5px 8px;color:var(--sub)}
.bb-dettable td.right,.bb-dettable th.right{text-align:right}
.bb-open td{color:var(--mut);font-style:italic}
.bb-tot td{padding:12px;border-top:2px solid var(--ink);font-size:15px;font-weight:800}
/* ---------- Kas & Bank: kartu klik + menu Transaksi Baru + tabel transaksi ---------- */
.kb-card[data-open]{cursor:pointer;transition:box-shadow .15s}
.kb-card[data-open]:hover{box-shadow:0 6px 20px rgba(5,46,54,.12)}
.kba-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(5,46,54,.16);min-width:190px;overflow:hidden}
.kba-menu.hidden{display:none}
.kba-menu button{display:block;width:100%;text-align:left;padding:11px 14px;background:#fff;border:0;font-size:14px;font-family:inherit;color:var(--ink);cursor:pointer}
.kba-menu button:hover{background:var(--bg)}
.kba-table tfoot .kba-tot td{border-top:2px solid var(--ink);padding-top:12px;font-weight:800;font-size:15px}
/* Gembok pada transaksi yang berasal dari dokumen — tidak boleh dihapus dari sini */
.kba-kunci{opacity:.35;font-size:12px;cursor:help;user-select:none}
/* ---------- Kas & Bank ---------- */
.kb-card{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;background:#fff;overflow:hidden}
.kb-card-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}
.kb-name{font-weight:800;font-size:16px}
.kb-code{color:var(--mut);font-size:13px;margin-top:2px}
.kb-atur{background:#059669;border-color:#059669}
.kb-bal{display:flex;gap:70px;padding:18px 20px;flex-wrap:wrap}
.kb-bal-val{font-size:22px;font-weight:800;color:var(--t3)}
.kb-bal-lbl{color:var(--mut);font-size:13px;margin-top:3px}
/* ---------- Bagan Akun ---------- */
.ak-group{margin-top:16px}
.ak-group-hd{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--t3);padding:6px 2px;border-bottom:2px solid var(--line);margin-bottom:2px}
.ak-row{cursor:pointer}
.ak-row:hover{background:var(--surf2)}
.ak-sub{font-size:11px;color:var(--mut);font-weight:500;margin-left:8px}
/* ---------- Jurnal Umum ---------- */
.jr-entry{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:12px}
.jr-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.jr-src{color:var(--mut);font-size:12px;background:var(--surf2);padding:2px 8px;border-radius:20px}
.jr-note{color:var(--mut);font-size:12px;margin:3px 0 4px}
.jr-table{margin-top:8px}
.jr-table td{font-size:13px;padding:5px 8px}
.jr-tot td{border-top:1px solid var(--line)}
/* ---------- Pemetaan Akun ----------
   Dua kolom TETAP supaya semua kotak akun lurus dari atas ke bawah.
   Catatan: <select> disembunyikan oleh enhanceSelect() dan diganti kotak
   .ss selebar 100%, jadi lebar diatur di kolom grid — bukan di .pm-sel. */
.pm-row,.pm-head{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:center}
.pm-row{padding:10px 12px;border-bottom:1px solid var(--line)}
.pm-row:hover{background:var(--surf2)}
.pm-head{padding:0 12px 8px;font-size:11px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line);margin-bottom:2px}
.pm-lbl{font-weight:600;font-size:13.5px}
.pm-hint{font-size:12px;color:var(--mut);margin-top:2px;line-height:1.45}
.pm-sel{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;
  font-size:13px;font-family:inherit;background:#fff}
.pm-row .ss{width:100%}
.pm-group{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--t3);
  background:var(--bg);border-radius:8px;padding:9px 12px;margin:20px 0 6px}
.pm-group:first-of-type{margin-top:4px}
@media(max-width:720px){
  .pm-row,.pm-head{grid-template-columns:1fr;gap:8px}
  .pm-head{display:none}
}

/* Peringatan jurnal gagal — menetap di pojok sampai ditutup */
.jr-warn{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:390px;background:#fff;border:1px solid #f3b4b4;border-left:5px solid var(--red,#d92d20);border-radius:12px;padding:14px 16px;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.jr-warn-hd{font-weight:800;color:var(--red,#d92d20);margin-bottom:4px}
.jr-warn-msg{font-size:13.5px;line-height:1.45;color:var(--ink,#111)}
.jr-warn-sub{font-size:12px;color:var(--mut,#667085);margin-top:8px;line-height:1.45}
.jr-warn-x{margin-top:10px;border:1px solid var(--line,#e3e8ef);background:var(--bg,#f7f9fc);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
/* ---------- Neraca bergaya laporan keuangan ---------- */
.nb-banner{display:flex;justify-content:space-between;align-items:center;background:var(--bg);
  border:1px solid var(--line);border-radius:9px;padding:13px 18px;margin:0 0 8px;font-size:17px;font-weight:800}
.nb-banner span:last-child{font-size:13.5px;font-weight:700;color:var(--sub)}
.nb-grup{margin-bottom:18px;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.nb-nama{font-size:14.5px;font-weight:800;padding:12px 18px 4px}
.nb-row{display:flex;justify-content:space-between;gap:24px;padding:10px 18px 10px 34px;font-size:14px;
  border-top:1px solid var(--line)}
.nb-row:nth-child(even){background:var(--bg)}
.nb-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--t3);font-weight:600}
.nb-total{display:flex;justify-content:space-between;gap:24px;padding:12px 18px;font-size:14.5px;font-weight:800;
  background:var(--surf2);border-top:2px solid var(--line)}
.nb-total span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.nb-akhir{display:flex;justify-content:space-between;gap:24px;padding:16px 18px;margin:2px 0 26px;
  font-size:17px;font-weight:800;border-top:2px solid var(--t3);border-bottom:2px solid var(--t3)}
.nb-akhir span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.nb-kosong{padding:14px 18px;color:var(--mut);font-size:13.5px;border:1px solid var(--line);border-radius:9px;margin-bottom:18px}
/* Baris hasil (Laba Kotor / Laba Bersih) — banner dengan nilai di kanan */
.nb-hasil{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--bg);
  border:1px solid var(--line);border-radius:9px;padding:15px 18px;margin:0 0 18px;font-size:17px;font-weight:800}
.nb-hasil span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
/* ---------- Halaman daftar Laporan ---------- */
#lapGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px 26px}
.lp-grup{min-width:0}
.lp-judul{font-size:15px;font-weight:800;margin-bottom:8px}
.lp-kotak{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surf)}
.lp-item{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;cursor:pointer;
  border-bottom:1px solid var(--line);transition:background .12s}
.lp-item:last-child{border-bottom:0}
.lp-item:hover{background:var(--bg)}
.lp-nama{font-weight:700;font-size:14px;color:var(--t3)}
.lp-ket{font-size:12px;color:var(--mut);margin-top:2px;line-height:1.45}
.lp-star{border:0;background:none;font-size:16px;line-height:1;padding:2px;cursor:pointer;color:var(--dim)}
.lp-star.on{color:#f0a04b}
/* ---------- Beranda ---------- */
.db-item{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);font-size:13.6px}
.db-item:last-child{border-bottom:0}
.db-ikon{width:30px;height:30px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--bg);border-radius:9px;font-size:15px}
.db-tren{display:flex;align-items:flex-end;gap:14px;height:170px;padding:0 4px}
.db-kol{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%}
.db-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.db-bar{width:26px;min-height:2px;border-radius:5px 5px 0 0;transition:height .25s}
.db-bar-p{background:var(--t4)}
.db-bar-b{background:#f0a04b}
.db-bln{font-size:11.5px;color:var(--mut);font-weight:600}
.db-tanda{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:middle;margin-right:5px}
.db-ring{display:flex;gap:34px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.db-ring>div{display:flex;flex-direction:column;gap:2px}
.db-ring .lbl{font-size:12px;color:var(--mut)}
.db-ring b{font-size:16px}
/* Kartu sorotan (Kas & Bank) — hijau pekat gaya Bankio */
.stat.hero{background:var(--t4);border-color:var(--t4)}
.stat.hero .lbl{color:rgba(255,255,255,.82)}
.stat.hero .val{color:#fff}
.stat.hero .note{color:rgba(255,255,255,.8)}
/* Dua panel berdampingan: donat kategori | bar tren */
.db-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media(max-width:860px){.db-grid2{grid-template-columns:1fr}}
.db-donut-wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.db-legend{flex:1;min-width:170px;display:flex;flex-direction:column}
.db-lg{display:flex;align-items:center;gap:9px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}
.db-lg:last-child{border-bottom:0}
.db-lg-nama{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-lg-val{font-weight:700;white-space:nowrap}
.db-lg-pct{color:var(--mut);min-width:38px;text-align:right;font-weight:600}
/* Pesan aplikasi (pengganti kotak alert bawaan peramban) */
.app-pesan-wrap{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;flex-direction:column;gap:8px;max-width:390px}
.app-pesan{background:#fff;border:1px solid var(--line);border-left:5px solid var(--t4);border-radius:11px;
  padding:12px 14px;box-shadow:0 10px 28px rgba(0,0,0,.15);font-size:13.2px;line-height:1.45;color:var(--ink)}
.app-pesan.galat{border-left-color:var(--red,#dc2626);border-color:#f3b4b4}
.app-pesan-x{margin-top:9px;border:1px solid var(--line);background:var(--bg);border-radius:8px;
  padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}
/* Penanda stok menyentuh batas minimal di daftar Produk */
.prd-low{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:20px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;font-size:11px;font-weight:700}
/* Saklar yang dimatikan (mis. jadwal cicilan sebelum Bayar Nanti dinyalakan) */
.switch input:disabled + span{opacity:.4;cursor:not-allowed}
/* Penanda jurnal yang tanggalnya belum tiba (mis. amortisasi bulan berikutnya) */
.je-sched{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:20px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:700;vertical-align:middle}
/* ---------- Laporan ---------- */
.lap-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 18px 12px;border-bottom:1px solid var(--line)}
.lap-tabs{display:flex;gap:6px;flex-wrap:wrap}
.lap-tabs .lt{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:9px;cursor:pointer;font-weight:600;font-size:13px;color:var(--sub);transition:all .15s}
.lap-tabs .lt:hover{border-color:var(--t4,#0e8a85);color:var(--t3)}
.lap-tabs .lt.active{background:var(--t4,#17795c);color:#fff;border-color:var(--t4,#17795c);box-shadow:0 4px 12px rgba(23,121,92,.28)}
.lap-dates{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--mut)}
.lap-dates input{margin-left:6px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;font-family:inherit}
.lap-doc{max-width:none}
.lap-title{font-size:22px;font-weight:800;color:var(--ink)}
.lap-period{color:var(--mut);font-size:13px;margin-bottom:16px}
.lap-head{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--t3);margin-top:22px;margin-bottom:2px;padding:9px 16px;background:var(--bg);border-radius:9px}
.lap-line{display:flex;justify-content:space-between;gap:24px;padding:10px 16px;font-size:14.5px;border-bottom:1px solid var(--line)}
.lap-line span:first-child{font-weight:500}
.lap-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.lap-line.lap-sub{font-weight:700;border-top:2px solid var(--line);border-bottom:none;background:var(--bg);border-radius:0 0 8px 8px}
.lap-line.lap-sub span:first-child{font-weight:700}
.lap-line.lap-final{align-items:center;font-size:17px;border:none;margin-top:16px;padding:16px 20px;background:linear-gradient(135deg,var(--t4,#17795c),var(--t3,#15604a));color:#fff;border-radius:12px;box-shadow:0 8px 22px rgba(21,96,74,.22)}
.lap-line.lap-final span{color:#fff;font-weight:800}
.lap-line.lap-muted span{color:var(--mut);font-weight:400}
.nr-sub{font-weight:700;font-size:14px;color:var(--ink);padding:14px 16px 2px}
.lap-open td{color:var(--mut);font-style:italic}
.btn{background:var(--t4);color:#fff;border:0;padding:10px 16px;border-radius:9px;font-size:13px;font-weight:700}
.btn.ghost{background:#e2e8f0;color:#334155}
.row-form{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:12px;align-items:end}
.note{font-size:12px;color:var(--mut);margin-top:10px}
.soon-view{padding:50px;text-align:center;color:var(--dim)}
.soon-view b{color:var(--sub);font-size:16px;display:block;margin-bottom:6px}

/* ---------- KONTAK ---------- */
.ct-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;margin:1px 4px 1px 0}
.ct-badge.vendor{background:var(--red-bg);color:var(--red)}
.ct-badge.pelanggan{background:#eff6ff;color:#2563eb}
.ct-badge.pegawai{background:var(--green-bg);color:var(--green)}
.ct-badge.investor{background:var(--amber-bg);color:var(--amber)}
.ct-badge.lainnya{background:#f5f3ff;color:#7c3aed}
.kon-sec{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden;background:#fff}
.kon-sec>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}
.kon-sec>summary::-webkit-details-marker{display:none}
.kon-sec>summary::before{content:'›';color:var(--t3);font-weight:800;font-size:16px;line-height:1;transition:transform .15s;display:inline-block;width:12px}
.kon-sec[open]>summary::before{transform:rotate(90deg)}
.kon-sec[open]>summary{border-bottom:1px solid var(--line)}
.kon-ic{font-size:15px}
.kon-body{padding:16px}
.kon-sub{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;position:relative}
.kon-sub-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--amber-bg);color:var(--amber);font-size:12px;font-weight:700;vertical-align:middle}
.linkadd{background:none;border:0;color:var(--t4);font-weight:700;font-size:13px;cursor:pointer;padding:6px 0}
.kon-remove{position:absolute;top:12px;right:12px;background:none;border:0;color:var(--red);cursor:pointer;font-size:12.5px;font-weight:700}
/* Tambah kontak cepat (lengkap) via modal */
.qc-sec{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--t3);font-weight:700;margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.qc-sec:first-of-type{margin-top:8px}
.modal-box:has(.qc-sec){width:min(760px,96vw)}
/* Tombol buka/tutup bagian rinci — form kontak jadi ringkas saat pertama muncul */
.qc-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:16px 0 2px;
  background:var(--surf2);border:1px dashed var(--line);border-radius:10px;padding:11px;
  font-size:13px;font-weight:700;font-family:inherit;color:var(--t3);cursor:pointer;
  transition:background .12s,border-color .12s}
.qc-more:hover{background:var(--bg);border-color:var(--t4)}
.qc-more-ic{font-size:12px;line-height:1;transition:transform .15s}
.qc-more.open .qc-more-ic{transform:rotate(180deg)}

/* ---------- Isian kolom seragam (dropdown & angka tampil bersih) ---------- */
.field select, .items select, .po-items select, .popover select, .pg-per{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232d7a85' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 9px center; background-color:#fff; padding-right:28px;
}
.items input[type=number], .po-items input[type=number], .field input[type=number], .pt-input{ -moz-appearance:textfield; }
.items input[type=number]::-webkit-outer-spin-button, .items input[type=number]::-webkit-inner-spin-button,
.po-items input[type=number]::-webkit-outer-spin-button, .po-items input[type=number]::-webkit-inner-spin-button,
.field input[type=number]::-webkit-outer-spin-button, .field input[type=number]::-webkit-inner-spin-button,
.pt-input::-webkit-outer-spin-button, .pt-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* Nilai Total per-baris tampil sebagai sel kolom yang jelas (kotak read-only) */
.items .lt{display:block;text-align:right;font-weight:700;white-space:nowrap;color:#0b3b42;
  padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surf2)}

/* ---------- Form Tambah Tagihan Pembelian (dari PO) ---------- */
.tf-vend{font-size:12px;color:var(--mut);margin-top:7px;line-height:1.8}
/* Field Nomor Pengiriman (multi-pilih gaya picker) */
.dv-select{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 11px;min-height:42px;background:#fff;cursor:pointer;flex-wrap:wrap}
.dv-select:hover{border-color:var(--t4)}
.dv-tags{display:flex;gap:6px;flex-wrap:wrap;flex:1;align-items:center}
.dv-ph{color:var(--dim);font-size:13px}
.dv-tag{display:inline-flex;align-items:center;gap:5px;background:#ccf3ee;color:var(--t3);font-size:12.5px;font-weight:600;padding:4px 5px 4px 11px;border-radius:16px}
.dv-tagx{background:none;border:0;color:var(--t3);font-weight:800;cursor:pointer;font-size:15px;line-height:1;padding:0 3px;border-radius:50%}
.dv-tagx:hover{background:rgba(13,107,122,.15)}
.dv-caret{color:var(--mut);font-size:11px}
.po-items input:disabled,.po-items select:disabled{background:var(--surf2);color:var(--dim);cursor:not-allowed;border-color:var(--line)}

/* ---------- Pilih baris & hapus massal ---------- */
.chk-col{width:40px}
table.grid th.chk-col,table.grid td.chk-col{text-align:center;vertical-align:middle;padding-left:12px;padding-right:6px}
.chk-col input{width:16px;height:16px;cursor:pointer;accent-color:var(--t4)}
.bulkbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--red-bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--sub)}
.bulk-actions{margin-left:auto;display:flex;gap:8px}
.btn.danger{background:var(--red);color:#fff}
.btn.danger:hover{filter:brightness(.94)}

/* ---------- Halaman DETAIL (lebih lega & terbaca) ---------- */
.detailview{padding:26px 30px}
.detailview .det-lbl{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);font-weight:600}
.detailview .det-val{font-size:15.5px;font-weight:600;margin-top:4px}
.detailview .det-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px 44px;margin-bottom:22px;max-width:720px}
@media(max-width:620px){.detailview .det-cols{grid-template-columns:1fr}}
.det-doc-kicker{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700}
.det-doc-title{font-size:23px;font-weight:800;color:var(--ink);margin-top:3px}
.det-headcard{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px 40px;align-items:flex-start;background:var(--surf2);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:4px 0 6px}
.det-meta{display:grid;grid-template-columns:repeat(2,auto);gap:18px 44px}
.det-sechead{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:700;margin:24px 0 10px}
.detailview table.grid{font-size:14px}
.detailview table.grid th{padding:12px 16px}
.detailview table.grid td{padding:14px 16px}
.detailview .det-tot{max-width:470px;gap:13px;margin-top:22px}
.detailview .det-totrow{font-size:14.5px}
.detailview .det-sisa{font-size:19px;padding-top:14px}
@media(max-width:620px){.det-meta{grid-template-columns:1fr}}

/* ---------- Nomor Produksi (nomor seri / batch) ---------- */
.np-btn{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 8px;
  border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;
  font:600 11px/1.6 inherit;vertical-align:middle;transition:.15s}
.np-btn span{letter-spacing:.2px}
.np-btn.kurang{border-color:#e5484d;color:#c62a2f;background:#fff5f5}
.np-btn.ok{border-color:#15604a;color:#15604a;background:#eefaf4}
.np-btn:hover{filter:brightness(.96)}

.modal-box:has(.np-tabs){width:min(820px,96vw)}
.np-sub{color:var(--t3);font-size:12.5px;margin-bottom:14px}
.np-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}
.np-tab{border:0;background:none;padding:8px 14px;cursor:pointer;font:600 13px/1 inherit;
  color:var(--t3);border-bottom:2px solid transparent;margin-bottom:-1px}
.np-tab.active{color:var(--brand);border-bottom-color:var(--brand)}
.np-panel{margin-bottom:14px}
.np-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.np-form .field{margin:0;min-width:110px}
.np-form .field.np-grow{flex:1;min-width:180px}
.np-form .btn.sm{white-space:nowrap}

.np-tabel{margin-top:2px}
.np-tabel td,.np-tabel th{vertical-align:middle}
.np-tabel .np-no{color:var(--t3);text-align:center}
.np-del{border:0;background:none;color:#c62a2f;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px}
.np-del:hover{background:#fff0f0}
.np-kosong{padding:22px;text-align:center;color:var(--t3);font-size:13px;
  border:1px dashed var(--line);border-radius:10px}

.np-status{margin-top:12px;padding:9px 12px;border-radius:8px;font-size:12.5px;font-weight:600}
.np-status.kurang{background:#fff5f5;color:#c62a2f}
.np-status.pas{background:#eefaf4;color:#15604a}
.btn.ghost.danger{background:#fff;color:#c62a2f;border-color:#f3c9cb}
.btn.ghost.danger:hover{background:#fff5f5}
.np-actions .btn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- Kolom Tag: pilih dari daftar atau ketik baru ---------- */
.tagf{position:relative;width:100%}
.tagf select{width:100%}
.tagf input[data-r="baru"]{width:100%}
.tagf.baru .ss,.tagf.baru select{display:none!important}
.tagf:not(.baru) input[data-r="baru"]{display:none}

/* ---------- Tambahan Diskon: saklar % / Rp ---------- */
.pt-mode{display:inline-flex;margin-left:8px;border:1px solid var(--line);border-radius:7px;overflow:hidden;vertical-align:middle}
.pt-mode button{border:0;background:#fff;padding:3px 9px;font:700 11px/1.5 inherit;color:var(--t3);cursor:pointer}
.pt-mode button+button{border-left:1px solid var(--line)}
.pt-mode button.on{background:var(--brand);color:#fff}
.pt-diskon{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.pt-diskon .pt-input{width:92px}
.pt-hasil{color:var(--t3);font-style:normal;font-size:12.5px;white-space:nowrap}
.pt-akunrow{font-size:13px}
.pt-akunrow .ss{width:200px}
.pt-akunrow>span:first-child{color:var(--t3)}

/* ---------- Penanda fitur yang belum berfungsi ---------- */
.belum{position:relative;opacity:.42;filter:grayscale(.85);cursor:not-allowed !important}
.belum:hover{opacity:.55}
.belum::after{content:"belum aktif";position:absolute;top:-8px;right:-6px;
  background:#7b8794;color:#fff;font:700 9px/1.5 inherit;letter-spacing:.3px;
  padding:1px 6px;border-radius:99px;white-space:nowrap;pointer-events:none;z-index:2}
details.belum{opacity:.5;filter:grayscale(.85)}
details.belum::after{top:0;right:0}
/* Saklar mati → aplikasi tampil normal sepenuhnya */
body.fs-off .belum{opacity:1;filter:none;cursor:pointer !important}
body.fs-off .belum::after{display:none}

/* ---------- Halaman Status Fitur ---------- */
.sf-ringkas{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 14px}
.sf-kartu{flex:1;min-width:150px;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.sf-kartu b{display:block;font-size:26px;line-height:1.1}
.sf-kartu span{font-size:12.5px;color:var(--t3)}
.sf-kartu.ok{background:#eefaf4;border-color:#bfe6d6}.sf-kartu.ok b{color:#15604a}
.sf-kartu.setengah{background:#fff8ec;border-color:#f0dcb4}.sf-kartu.setengah b{color:#9a6a10}
.sf-kartu.belum{background:#f6f7f8;border-color:var(--line);opacity:1;filter:none;cursor:default}
.sf-kartu.belum::after{display:none}
.sf-kartu.belum b{color:#61707c}
.sf-bar{height:8px;border-radius:99px;background:#eceff1;overflow:hidden}
.sf-bar span{display:block;height:100%;background:var(--brand);border-radius:99px}
.sf-tabel td{vertical-align:top}
.sf-tag{display:inline-block;padding:2px 9px;border-radius:99px;font:700 11px/1.7 inherit}
.sf-tag.ok{background:#eefaf4;color:#15604a}
.sf-tag.sebagian{background:#fff8ec;color:#9a6a10}
.sf-tag.belum{background:#f2f4f5;color:#61707c}

/* ---------- Nomor Produksi: mode keluar ---------- */
.np-pilih tbody tr.np-exp{background:#fff6f6}
.np-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;
  background:#ffe9e9;color:#c62a2f;font:700 10px/1.7 inherit;vertical-align:middle}
.np-pilihfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:10px;font-size:12.5px;color:var(--t3)}
.np-tabel tr.np-lebih input[data-k="qty"]{border-color:#e5484d;background:#fff5f5}
.np-galat{color:#c62a2f;font-size:11.5px;margin-top:3px;line-height:1.4;text-align:right}

/* Penanda pada elemen yang tidak punya ruang di pojoknya */
th.belum{position:relative}
.np-kolom{color:var(--t3);opacity:.45}
.set-kartu.belum{cursor:not-allowed !important}
.db-item.belum{cursor:not-allowed !important}
body.fs-off .np-kolom{opacity:.45}

/* ---------- Inventory: bentangkan nomor produksi ---------- */
.inv-grid td.inv-tg{padding-left:10px;padding-right:0;width:38px}
.inv-exp{width:22px;height:22px;line-height:1;border:1px solid var(--line);border-radius:6px;
  background:#fff;color:var(--t3);cursor:pointer;font:700 14px/1 inherit;padding:0}
.inv-exp:hover{border-color:var(--brand);color:var(--brand)}
.inv-exp.buka{background:var(--brand);border-color:var(--brand);color:#fff}
tr.inv-rinci>td{background:#fafbfb;padding:0 16px 14px}
.inv-lot{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.inv-lot th{background:#f4f6f7;color:var(--t3);font:700 11.5px/1.8 inherit;text-align:left;
  padding:7px 12px;letter-spacing:.2px;text-transform:uppercase}
.inv-lot th.right,.inv-lot td.right{text-align:right}
.inv-lot td{padding:9px 12px;border-top:1px solid var(--line);font-size:13px}
.inv-lot tr.lot-lewat td{background:#fff6f6}
.inv-lot tr.lot-dekat td{background:#fffaf0}
.np-badge.dekat{background:#fff0d6;color:#9a6a10}
.inv-lot-kosong{padding:14px 2px;color:var(--t3);font-size:12.5px}
.inv-lot-catatan{margin-top:8px;font-size:12px;color:#9a6a10;background:#fff8ec;
  border:1px solid #f0dcb4;border-radius:8px;padding:7px 10px}

/* ---------- Jurnal Umum: daftar rata ---------- */
.jr-grid td .lnk{font-weight:600}
.jr-grid td{vertical-align:top}
.jr-grid td.right{vertical-align:middle}
.jr-kunci{opacity:.35;font-size:12px;cursor:help}
