:root{--navy:#0f2747;--navy-muda:#1d3d6b;--hijau:#16a34a;--hijau-tua:#15803d;--hijau-muda:#dcfce7;--merah:#dc2626;--merah-muda:#fee2e2;--kuning:#d97706;--kuning-muda:#fef3c7;--putih:#fff;--latar:#f5f7fa;--teks:#1f2937;--teks-pudar:#6b7280;--garis:#e5e7eb;--radius:12px;--bayangan:0 4px 20px #0f274714;color:var(--teks);background:var(--latar);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--latar);min-height:100vh;margin:0}a{color:var(--hijau-tua);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.auth{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-kartu{background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);box-shadow:var(--bayangan);width:100%;max-width:420px;padding:32px 24px}.auth-logo{color:var(--navy);letter-spacing:1px;text-align:center;font-size:28px;font-weight:800}.auth-logo span{color:var(--hijau)}.auth-tagline{text-align:center;color:var(--teks-pudar);margin:4px 0 24px;font-size:13px}.auth-judul{color:var(--navy);margin:0 0 4px;font-size:22px}.auth-subjudul{color:var(--teks-pudar);word-break:break-word;margin:0 0 20px;font-size:14px}.auth-bawah{color:var(--teks-pudar);text-align:center;margin-top:16px;font-size:14px}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--navy);font-size:14px;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--garis);background:var(--putih);width:100%;color:var(--teks);border-radius:8px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--hijau);outline-offset:-1px;border-color:var(--hijau)}.input-password{display:flex;position:relative}.input-password input{padding-right:96px}.tombol-lihat{color:var(--teks-pudar);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:13px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-kode{letter-spacing:1px;text-transform:uppercase;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.form-baris-kanan{text-align:right;margin-top:-6px;font-size:14px}.tombol{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:600;text-decoration:none;display:inline-flex}.tombol:hover{text-decoration:none}.tombol:disabled{opacity:.6;cursor:not-allowed}.tombol-utama{background:var(--hijau);color:var(--putih)}.tombol-utama:hover:not(:disabled){background:var(--hijau-tua)}.tombol-garis{background:var(--putih);color:var(--navy);border-color:var(--garis)}.tombol-garis:hover:not(:disabled){border-color:var(--navy)}.tombol-penuh{width:100%}.tombol-link{color:var(--teks-pudar);font:inherit;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.alert{border-radius:8px;margin-bottom:4px;padding:12px 14px;font-size:14px}.alert-error{background:var(--merah-muda);color:#991b1b}.alert-sukses{background:var(--hijau-muda);color:#14532d}.alert-info{color:#1e3a8a;background:#eff6ff}.kotak-info{border:1px solid var(--garis);border-radius:8px;margin:16px 0;padding:12px 14px;font-size:14px}.kotak-info ul{margin:8px 0 0;padding-left:18px}.teks-kecil{color:var(--teks-pudar);margin:0;font-size:13px}.teks-tengah{text-align:center}.teks-error{color:var(--merah)}.memuat{min-height:60vh;color:var(--teks-pudar);justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:3px solid var(--garis);border-top-color:var(--hijau);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite putar}@keyframes putar{to{transform:rotate(360deg)}}.app{min-height:100vh}.sidebar{background:var(--navy);color:#cbd5e1;z-index:30;flex-direction:column;width:256px;transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;padding:20px 18px 16px;display:flex}.brand-logo{background:var(--hijau);width:36px;height:36px;color:var(--putih);border-radius:10px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.brand-nama{color:var(--putih);letter-spacing:1px;font-weight:800}.brand-nama span{color:#4ade80}.brand-sub{color:#94a3b8;font-size:12px}.nav{flex:1;padding:4px 10px 12px;overflow-y:auto}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:14px 10px 6px;font-size:11px}.nav-item{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:9px 10px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--putih);background:#ffffff0f;text-decoration:none}.nav-item.aktif{background:var(--hijau);color:var(--putih)}.nav-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-segera{color:#94a3b8;border:1px solid #334155;border-radius:999px;flex-shrink:0;margin-left:auto;padding:1px 7px;font-size:10px}.nav-item.aktif .nav-segera{color:var(--putih);border-color:#ffffff80}.sidebar-kaki{border-top:1px solid #1e3a5f;padding:12px 10px 14px}.pengguna{align-items:center;gap:10px;min-width:0;padding:4px 10px 10px;display:flex}.avatar{background:var(--navy-muda);width:34px;height:34px;color:var(--putih);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.pengguna-info{flex-direction:column;min-width:0;display:flex}.pengguna-info b{color:var(--putih);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.pengguna-info small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ikon-tombol{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:6px;display:inline-grid}.ikon-tombol:hover{background:#7f7f7f1f}.tutup-menu{color:#cbd5e1;margin-left:auto;display:none}.overlay{display:none}.utama{flex-direction:column;min-height:100vh;margin-left:256px;display:flex}.topbar{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--garis);background:#f5f7faeb;align-items:center;gap:8px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar-judul{color:var(--navy);margin:0;font-size:20px}.buka-menu{color:var(--navy);display:none}.konten{width:100%;max-width:1200px;padding:24px 28px 40px}@media (width<=900px){.sidebar{width:272px;max-width:85vw;transform:translate(-100%)}.menu-buka .sidebar{transform:translate(0);box-shadow:0 0 40px #0000004d}.menu-buka .overlay{z-index:20;background:#0f274773;display:block;position:fixed;inset:0}.tutup-menu,.buka-menu{display:inline-grid}.utama{margin-left:0}.topbar{padding:10px 16px}.topbar-judul{font-size:18px}.konten{padding:16px 16px 32px}}.kartu{background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);margin-bottom:16px;padding:20px}.kartu-kepala{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.kartu-kepala h3{color:var(--navy);margin:0;font-size:16px}.kartu-kepala a{font-size:14px}.kartu-kepala-sub{margin-top:22px}.kosong{text-align:center;padding:40px 20px}.kosong h2{color:var(--navy);margin:12px 0 6px;font-size:20px}.kosong p{color:var(--teks-pudar);max-width:440px;margin:0 auto 20px}.kosong-ikon{background:var(--hijau-muda);width:64px;height:64px;color:var(--hijau-tua);border-radius:16px;place-items:center;margin:0 auto;font-size:30px;display:grid}.lencana{color:var(--navy-muda);white-space:nowrap;background:#eef2f7;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.lencana-layak{background:var(--hijau-muda);color:#166534}.lencana-waspada{background:var(--kuning-muda);color:#92400e}.lencana-tidak_layak{background:var(--merah-muda);color:#991b1b}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.grid-2{grid-template-columns:1fr}}.sapaan{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.sapaan h2{color:var(--navy);margin:0;font-size:22px}.sapaan p{color:var(--teks-pudar);margin:2px 0 0}.statistik{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.statistik{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.statistik{grid-template-columns:1fr}}.stat{background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);flex-direction:column;gap:4px;min-width:0;padding:16px 18px;display:flex}.stat-label{color:var(--teks-pudar);font-size:13px}.stat-nilai{color:var(--navy);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px}.stat-catatan{color:var(--teks-pudar);font-size:12px}.stat-hijau{background:var(--navy);border-color:var(--navy)}.stat-hijau .stat-label,.stat-hijau .stat-catatan{color:#cbd5e1}.stat-hijau .stat-nilai{color:#4ade80}.mini-statistik{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.mini-statistik{grid-template-columns:repeat(2,1fr)}}.mini-statistik div{background:var(--latar);border-radius:8px;flex-direction:column;gap:2px;padding:12px;display:flex}.mini-statistik span,.mini-statistik small{color:var(--teks-pudar);font-size:12px}.mini-statistik b{color:var(--navy);font-variant-numeric:tabular-nums}.daftar-ide{margin:0;padding:0;list-style:none}.daftar-ide li{border-bottom:1px solid var(--garis);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.daftar-ide li:last-child{border-bottom:none}.daftar-ide b{color:var(--navy);display:block}.daftar-ide small{color:var(--teks-pudar)}.batang-daftar{flex-direction:column;gap:10px;display:flex}.batang{grid-template-columns:110px 1fr 32px;align-items:center;gap:10px;font-size:14px;display:grid}.batang-label{color:var(--teks);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.batang-jalur{background:#eef2f7;border-radius:999px;height:8px;overflow:hidden}.batang-isi{background:var(--hijau);border-radius:999px;height:100%;display:block}.batang-nilai{text-align:right;color:var(--navy)}.modal-latar{z-index:50;background:#0f274780;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--putih);border-radius:var(--radius);flex-direction:column;width:100%;max-height:calc(100vh - 64px);display:flex;box-shadow:0 20px 60px #00000040}.modal-sedang{max-width:460px}.modal-lebar{max-width:820px}.modal-kepala{border-bottom:1px solid var(--garis);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-kepala h2{color:var(--navy);overflow-wrap:anywhere;margin:0;font-size:18px}.modal-isi{padding:20px;overflow-y:auto}.modal-isi>p:first-child{margin-top:0}.modal-kaki{border-top:1px solid var(--garis);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@media (width<=600px){.modal-latar{align-items:stretch;padding:0}.modal{border-radius:0;min-height:100%;max-height:none}.modal-isi,.modal-kaki .tombol{flex:1}}.form-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.form-grid-2{grid-template-columns:repeat(2,1fr)}@media (width<=700px){.form-grid,.form-grid-2{grid-template-columns:1fr}}textarea{resize:vertical}.input-angka{display:flex;position:relative}.input-angka input{text-align:right;font-variant-numeric:tabular-nums}.input-rupiah input{padding-left:40px}.input-awalan{color:var(--teks-pudar);pointer-events:none;font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tombol-bahaya{background:var(--merah);color:var(--putih)}.tombol-bahaya:hover:not(:disabled){background:#b91c1c}.tombol-garis.teks-error{color:var(--merah)}.notifikasi{z-index:60;max-width:360px;box-shadow:var(--bayangan);position:fixed;bottom:20px;right:20px}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.toolbar select{width:auto;min-width:150px}.pencarian{min-width:220px;color:var(--teks-pudar);flex:1;align-items:center;display:flex;position:relative}.pencarian svg{position:absolute;left:12px}.pencarian input{padding-left:38px}@media (width<=600px){.toolbar select{flex:1}.toolbar .tombol{width:100%}}.tabel-wadah{overflow-x:auto}.tabel{border-collapse:collapse;width:100%;font-size:14px}.tabel th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--teks-pudar);border-bottom:1px solid var(--garis);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}.tabel td{border-bottom:1px solid var(--garis);vertical-align:middle;padding:10px 12px}.tabel tbody tr:hover{background:#fafbfc}.tabel .angka{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tabel .aksi{text-align:right;white-space:nowrap}.tombol-nama{font:inherit;color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.tombol-nama:hover{color:var(--hijau-tua);text-decoration:underline}.sub-nama{color:var(--teks-pudar);font-size:12px;display:block}@media (width<=760px){.tabel-responsif thead{display:none}.tabel-responsif,.tabel-responsif tbody,.tabel-responsif tr,.tabel-responsif td{width:100%;display:block}.tabel-responsif tr{border:1px solid var(--garis);border-radius:10px;margin-bottom:10px;padding:8px 12px}.tabel-responsif td{text-align:right;border:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.tabel-responsif td:before{content:attr(data-label);color:var(--teks-pudar);text-align:left;font-size:13px}.tabel-responsif td:first-child{text-align:left;font-size:16px;display:block}.tabel-responsif td:first-child:before,.tabel-responsif td.aksi:before{content:none}.tabel-responsif td.aksi{border-top:1px solid var(--garis);justify-content:flex-end;margin-top:4px;padding-top:8px}}.pilih-status{cursor:pointer;border-radius:999px;width:auto;padding:4px 28px 4px 10px;font-size:13px;font-weight:600}.status-draft{color:var(--navy-muda);background:#eef2f7}.status-dianalisis{color:#1e40af;background:#dbeafe}.status-aktif{background:var(--hijau-muda);color:#166534}.status-arsip{color:var(--teks-pudar);background:#f3f4f6}.detail-atas{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.detail{gap:10px;margin:0 0 20px;display:grid}.detail-baris{grid-template-columns:180px 1fr;gap:12px;display:grid}.detail-baris dt{color:var(--teks-pudar);font-size:14px}.detail-baris dd{white-space:pre-line;overflow-wrap:anywhere;margin:0}@media (width<=600px){.detail-baris{grid-template-columns:1fr;gap:2px}}.galeri{border-top:1px solid var(--garis);padding-top:16px}.galeri-kepala{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.galeri-kepala h3{color:var(--navy);margin:0 0 2px;font-size:16px}.galeri-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.galeri-item{border:1px solid var(--garis);border-radius:10px;flex-direction:column;margin:0;display:flex;overflow:hidden}.galeri-foto{cursor:zoom-in;aspect-ratio:4/3;background:#eef2f7;border:none;padding:0}.galeri-foto img{object-fit:cover;width:100%;height:100%;display:block}.galeri-keterangan{border:none;border-bottom:1px solid var(--garis);border-radius:0;padding:8px 10px;font-size:13px}.galeri-item figcaption{color:var(--teks-pudar);justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.galeri-item .tombol-link{font-size:12px;text-decoration:none}.galeri-kosong{border:2px dashed var(--garis);background:var(--latar);width:100%;color:var(--teks-pudar);font:inherit;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.galeri-kosong:hover{border-color:var(--hijau);color:var(--hijau-tua)}.kotak-ai{background:#f8fafc}.kotak-ai b{color:var(--navy)}.gambar-besar{object-fit:contain;background:#0f172a;border-radius:8px;width:100%;max-height:70vh;display:block}.gambar-konfirmasi{object-fit:cover;border-radius:8px;width:100%;max-height:200px}.pilih-ide{background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;display:flex}.pilih-ide label{color:var(--navy);font-size:14px;font-weight:600}.pilih-ide select{width:auto;min-width:240px;max-width:100%;font-weight:600}@media (width<=600px){.pilih-ide select{width:100%;min-width:0}}.statistik-3{grid-template-columns:repeat(3,1fr)}@media (width<=900px){.statistik-3{grid-template-columns:1fr}}.sel-edit{width:140px;max-width:100%;display:inline-flex;position:relative}.sel-edit input{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;border-radius:6px;padding:6px 8px}.sel-edit input:hover{border-color:var(--garis);background:var(--putih)}.sel-edit input:focus{background:var(--putih)}.sel-rupiah input{padding-left:30px}.sel-awalan{color:var(--teks-pudar);pointer-events:none;font-size:13px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.sel-teks{width:100%;min-width:160px}.sel-teks input{text-align:left;color:var(--navy);font-weight:600}.sel-satuan .sel-teks{width:90px;min-width:0}.sel-satuan .sel-teks input{color:var(--teks);font-weight:400}.sel-satuan-kecil .sel-teks{width:70px}.sel-gabung{justify-content:flex-end;align-items:center;display:inline-flex}.tabel-edit td{padding-top:4px;padding-bottom:4px}.tabel tfoot td{color:var(--navy);border-bottom:none;border-top:2px solid var(--garis);padding:10px 12px;font-weight:700}.konfirmasi-kecil{gap:8px;display:inline-flex}.konfirmasi-kecil .tombol-link{font-size:13px;font-weight:600;text-decoration:none}@media (width<=760px){.tabel-responsif td .sel-edit{width:150px}.tabel-responsif td:first-child .sel-teks{width:100%}.tabel-responsif td:first-child .sel-teks input{padding-left:0;font-size:16px}.tabel tfoot{display:none}}.tc-daftar{flex-direction:column;gap:8px;margin:12px 0;display:flex}.tc-baris{grid-template-columns:minmax(180px, 2fr) repeat(calc(var(--kolom) - 1), minmax(90px, 1fr)) 120px 36px;align-items:end;gap:8px;display:grid}.tc-sel{flex-direction:column;gap:4px;min-width:0;display:flex}.tc-label{color:var(--teks-pudar);font-size:12px}.tc-baris:not(:first-child) .tc-label{display:none}.tc-input-wadah{display:flex;position:relative}.tc-input-wadah input{padding-right:70px}.tanda-ide{color:var(--hijau-tua);background:var(--hijau-muda);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tc-hasil{color:var(--navy);text-align:right;white-space:nowrap;padding-bottom:10px;font-size:13px;font-weight:600}.tc-kaki{justify-content:flex-end;display:flex}@media (width<=760px){.tc-baris{border:1px solid var(--garis);border-radius:10px;grid-template-columns:1fr 1fr;padding:10px}.tc-baris .tc-label{display:block!important}.tc-nama{grid-column:1/-1}.tc-hasil{text-align:left;padding-bottom:8px}.tc-baris .ikon-tombol{justify-self:end}.tc-kaki .tombol{width:100%}}.form-biaya{grid-template-columns:1.2fr 1.4fr 1fr 1fr 1.2fr auto;align-items:end;gap:10px;display:grid}.form-biaya-kirim{align-items:flex-end}.form-biaya-kirim .teks-kecil{white-space:nowrap;min-height:18px}@media (width<=1100px){.form-biaya{grid-template-columns:1fr 1fr 1fr}}@media (width<=600px){.form-biaya{grid-template-columns:1fr}.form-biaya-kirim .tombol{width:100%}.form-biaya-kirim{align-items:stretch}}.hari-operasional{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hari-operasional h3{color:var(--navy);margin:0 0 4px;font-size:16px}.hari-operasional p{margin:0}.hari-input{align-items:center;gap:8px;display:flex}.hari-input .input-angka{width:72px}.pilih-kecil{width:auto;padding:5px 26px 5px 8px;font-size:13px}.jenis-tetap{color:var(--navy);background:#eef2f7;font-weight:600}.jenis-variabel{background:var(--kuning-muda);color:#92400e;font-weight:600}.teks-sukses{color:var(--hijau-tua)}.catatan-peringatan{color:#92400e;margin-top:12px}.modal-penuh{max-width:1180px}.tombol-kecil{padding:6px 12px;font-size:13px}.produk-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.produk-kartu{border:1px solid var(--garis);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.produk-kepala b{color:var(--navy);font-size:16px;display:block}.produk-hpp{color:var(--teks-pudar);align-items:baseline;gap:6px;font-size:14px;display:flex}.produk-hpp b{color:var(--hijau-tua);font-size:24px}.produk-rincian{color:var(--teks-pudar);grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;display:grid}.produk-harga{border-top:1px solid var(--garis);padding-top:10px;font-size:14px}.produk-aksi{align-items:center;gap:8px;display:flex}.produk-aksi .ikon-tombol{margin-left:auto}.hpp-tata{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.hpp-info{grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:8px}.hpp-bagian{border-top:1px solid var(--garis);margin-top:14px;padding-top:14px}.hpp-bagian-kepala{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.hpp-bagian-kepala h3{color:var(--navy);margin:0;font-size:15px}.hpp-baris{grid-template-columns:minmax(150px,2fr) 1.3fr .8fr .9fr .8fr .9fr 110px 36px;align-items:end;gap:8px;margin-bottom:8px;display:grid}.hpp-baris-lain{grid-template-columns:1.2fr 2fr 1.4fr 110px 36px}.hpp-baris-error{grid-column:1/-1;margin:-2px 0 4px;font-size:12px}.hpp-ringkas{background:var(--latar);border-radius:10px;padding:16px;position:sticky;top:0}.hpp-ringkas h3{color:var(--navy);margin:0 0 10px;font-size:15px}.hpp-ringkas hr{border:none;border-top:1px solid var(--garis);margin:8px 0}.hpp-ringkas-baris{justify-content:space-between;gap:10px;padding:3px 0;font-size:13px;display:flex}.hpp-ringkas-baris span{color:var(--teks-pudar)}.hpp-ringkas-baris.kuat{font-size:15px}.hpp-ringkas-baris.kuat span{color:var(--navy);font-weight:600}.hpp-angka-besar{background:var(--navy);color:#cbd5e1;border-radius:10px;flex-direction:column;margin:12px 0 8px;padding:14px;display:flex}.hpp-angka-besar b{color:#4ade80;font-size:26px}.hpp-kaki-hpp{color:var(--teks-pudar);align-self:center;margin-right:auto;font-size:14px}.hpp-kaki-hpp b{color:var(--hijau-tua);font-size:16px}@media (width<=1000px){.hpp-tata{grid-template-columns:1fr}.hpp-ringkas{position:static}}@media (width<=760px){.hpp-info{grid-template-columns:1fr 1fr}.hpp-info-nama{grid-column:1/-1}.hpp-baris,.hpp-baris-lain{border:1px solid var(--garis);border-radius:10px;grid-template-columns:1fr 1fr;padding:10px}.hpp-baris .tc-label,.hpp-baris-lain .tc-label{display:block!important}.hpp-nama{grid-column:1/-1}.hpp-baris .ikon-tombol,.hpp-baris-lain .ikon-tombol{justify-self:end}.hpp-kaki-hpp{text-align:center;width:100%}}.hpp-bagian .hpp-baris~.hpp-baris .tc-label,.hpp-bagian .hpp-baris-lain~.hpp-baris-lain .tc-label{display:none}.harga-tata{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}@media (width<=1000px){.harga-tata{grid-template-columns:1fr}}.sub-angka{color:var(--teks-pudar);font-size:11px;font-weight:400;display:block}.baris-dipilih{background:#f0fdf4}.harga-terpilih{text-align:right;color:var(--teks-pudar);flex-direction:column;font-size:13px;display:flex}.harga-terpilih b{color:var(--hijau-tua);font-size:22px}.harga-terpilih.rugi b,.harga-terpilih.rugi span:last-child{color:var(--merah)}.harga-kustom{border-top:1px solid var(--garis);grid-template-columns:auto 180px 1fr auto;align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:grid}.harga-kustom label{color:var(--navy);font-size:14px;font-weight:600}@media (width<=600px){.harga-kustom{grid-template-columns:1fr}}.hb-daftar{background:var(--latar);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.hb-baris{grid-template-columns:52px 1fr 76px;align-items:center;gap:8px;font-size:13px;display:grid}.hb-baris.dipilih{font-weight:700}.hb-jalur{background:#e5e7eb;border-radius:4px;height:14px;display:flex;overflow:hidden}.hb-hpp{background:#94a3b8}.hb-laba{background:var(--hijau)}.hb-baris.dipilih .hb-laba{background:var(--hijau-tua)}.hb-angka{text-align:right;font-variant-numeric:tabular-nums}.hb-legenda,.grafik-legenda{color:var(--teks-pudar);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.hb-legenda i,.grafik-legenda i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.lg-hpp{background:#94a3b8}.lg-laba{background:var(--hijau)}.analisis-tata{grid-template-columns:400px 1fr;align-items:start;gap:16px;display:grid}@media (width<=1100px){.analisis-tata{grid-template-columns:1fr}}.analisis-form .form-grid-2{grid-template-columns:1fr 1fr}.analisis-form .field label{font-size:13px}.sub-judul{text-transform:uppercase;letter-spacing:.05em;color:var(--teks-pudar);margin:16px 0 8px;font-size:13px}.sumber-data{color:var(--hijau-tua);background:var(--hijau-muda);border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.total-modal{background:var(--latar);border-radius:8px;justify-content:space-between;margin-top:10px;padding:10px 12px;font-size:14px;display:flex}.total-modal b{color:var(--navy)}.analisis-form .tombol-penuh{margin-top:18px}.status-analisis h2{color:var(--navy);margin:2px 0 6px;font-size:24px}.status-analisis p{margin:0}.status-layak{background:#f0fdf4;border-color:#86efac}.status-layak h2{color:#166534}.status-waspada{background:#fffbeb;border-color:#fcd34d}.status-waspada h2{color:#92400e}.status-tidak_layak{background:#fef2f2;border-color:#fca5a5}.status-tidak_layak h2{color:#991b1b}.skenario-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=700px){.skenario-grid{grid-template-columns:1fr}}.skenario-kartu{background:var(--putih);border:1px solid var(--garis);border-top:4px solid var(--navy);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px;display:flex}.sk-pesimis{border-top-color:#d97706}.sk-optimis{border-top-color:var(--hijau)}.sk-kepala{justify-content:space-between;align-items:center;gap:6px;display:flex}.sk-kepala b{color:var(--navy)}.sk-label{color:var(--teks-pudar);margin-top:6px;font-size:12px}.sk-besar{color:var(--navy);font-variant-numeric:tabular-nums;font-size:22px}.sk-baris{border-top:1px solid var(--garis);justify-content:space-between;gap:8px;padding-top:5px;font-size:13px;display:flex}.sk-baris span{color:var(--teks-pudar)}.grafik{margin:0}.grafik svg{width:100%;height:auto;display:block}.grafik text{fill:var(--teks-pudar);font-family:inherit;font-size:11px}.grafik .grafik-nol{fill:var(--teks);font-weight:700}.grafik-legenda{margin-top:6px}.tabel-rincian td:first-child{color:var(--teks-pudar)}.baris-penting td{background:#fafbfc;font-weight:700;color:var(--navy)!important}.lencana-baris{flex-wrap:wrap;gap:4px;display:inline-flex}.ai-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px;display:flex}.tombol-ai{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe;padding:9px 14px}.tombol-ai:hover:not(:disabled){background:#ede9fe;border-color:#7c3aed}.tanda-ai{color:#5b21b6;background:#ede9fe}.analisis-ai-teks{white-space:pre-line;margin:6px 0 0}.galeri-ai{color:#5b21b6;font-weight:600;text-decoration:none}.laporan-tata{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:start;gap:16px;display:grid}.daftar-cek{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.daftar-cek li{align-items:baseline;gap:10px;font-size:14px;display:flex}.daftar-cek li>span:first-child{flex-shrink:0;width:16px;font-weight:700}.cek-ok>span:first-child{color:var(--hijau)}.cek-belum{color:var(--teks-pudar)}.daftar-cek .tombol-link{margin-left:auto;font-size:13px}.laporan-unduh{text-align:center;justify-items:center;gap:10px;display:grid}.laporan-unduh h3{margin:0}.laporan-ikon{background:var(--navy);color:#86efac;letter-spacing:1px;border-radius:6px;place-items:center;width:56px;height:68px;font-weight:800;display:grid}.pilihan-cek{text-align:left;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.pilihan-cek input{flex-shrink:0;width:auto}@media (width<=860px){.laporan-tata{grid-template-columns:1fr}}.admin-buat{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.admin-buat .field{margin:0}.admin-buat input[type=number]{width:110px}.admin-catatan{flex:1;min-width:200px}.admin-kode-hasil{border:1px solid var(--garis);border-radius:8px;width:100%;padding:10px;font-family:ui-monospace,Consolas,monospace;font-size:14px}.filter-bar{flex-wrap:wrap;gap:10px;margin:10px 0 14px;display:flex}.filter-bar input{flex:1;width:auto;min-width:200px}.filter-bar select{flex:none;width:auto}.kode-lisensi{color:var(--navy);padding:0;font-family:ui-monospace,Consolas,monospace;font-weight:600;text-decoration:none}.teks-hijau{color:var(--hijau-tua)}.admin-aksi{white-space:nowrap}.admin-aksi .tombol+.tombol{margin-left:6px}
