:root{--navy:#1b3a6b;--navy-dark:#12294d;--navy-tint:#e8edf5;--orange:#e07b2a;--orange-dark:#b9631e;--cream:#f5efe6;--paper:#fff;--line:#e4dbc9;--ink:#24211b;--ink-soft:#6b6459;--amber:#a9670f;--amber-bg:#fbf0dd;--red:#b3392c;--red-bg:#faebe8;--success:#1e7a4c;--success-bg:#e6f3ec;--radius-s:8px;--radius-m:14px;--radius-l:20px;--shadow:0 1px 2px rgba(27,58,107,.06),0 6px 20px rgba(27,58,107,.07);--latar:var(--cream);--kartu:var(--paper);--teks:var(--ink);--redup:var(--ink-soft);--garis:var(--line);--utama:var(--navy);--utama-teks:#fff;--aksen:var(--success);--ok:var(--success);--ok-bg:var(--success-bg);--peringatan:var(--amber);--peringatan-bg:var(--amber-bg);--galat:var(--red);--galat-bg:var(--red-bg);--info:var(--navy);--info-bg:var(--navy-tint);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;background:var(--cream);color:var(--ink);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main.wadah{flex:1 1;width:100%}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2.5px solid var(--orange);outline-offset:2px}h1{font-size:1.65rem;font-weight:800;letter-spacing:-.01em;margin:0 0 .35rem}h1,h2{color:var(--navy)}h2{font-size:1.1rem;font-weight:700;margin:0 0 .75rem}.muted{color:var(--ink-soft);font-size:.9rem}.wadah{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.sempit{max-width:440px}.nav{background:var(--paper);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:40}.nav-isi{max-width:1180px;margin:0 auto;padding:0 20px;min-height:64px;gap:18px;flex-wrap:wrap}.merek,.nav-isi{display:flex;align-items:center}.merek{gap:10px;color:var(--navy);font-weight:800;margin-right:6px}.merek:hover{text-decoration:none}.logo-mark{width:32px;height:32px;border-radius:9px;background:var(--navy);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.merek small{display:block;font-size:.68rem;font-weight:600;color:var(--ink-soft);line-height:1.1}.nav a{font-weight:600;font-size:.92rem}.nav a.aktif{color:var(--orange-dark);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}.nav a.tombol.kecil{color:#fff}.spasi{flex:1 1}.kartu{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid>.kartu{transition:box-shadow .15s ease,transform .15s ease}.grid>.kartu:hover{transform:translateY(-2px)}.baris{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.baris>*{flex:1 1 140px}label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:5px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:2px solid var(--navy-tint)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--orange)}input[type=file]{padding:8px;background:var(--cream)}textarea{min-height:150px;font-family:ui-monospace,Consolas,monospace;font-size:.85rem}.cek{display:flex;gap:8px;align-items:center;color:var(--ink);font-size:.95rem;font-weight:500;margin:0}.tombol,button{display:inline-block;padding:10px 18px;border-radius:var(--radius-s);border:1px solid var(--orange);background:var(--orange);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease}.tombol:hover,button:hover{background:var(--orange-dark);border-color:var(--orange-dark);text-decoration:none}.tombol.sekunder,button.sekunder{background:transparent;color:var(--navy);border-color:var(--navy)}.tombol.sekunder:hover,button.sekunder:hover{background:var(--navy-tint);border-color:var(--navy)}.tombol.kecil,button.kecil{padding:6px 12px;font-size:.85rem}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{background:var(--orange)}button.sekunder:disabled:hover{background:transparent}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--navy-tint);color:var(--navy)}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--amber-bg);color:var(--amber)}.badge.err{background:var(--red-bg);color:var(--red)}.galat,.info,.ok{padding:11px 14px;border-radius:var(--radius-s);margin:0 0 14px;font-size:.92rem;font-weight:500}.info{background:var(--navy-tint);color:var(--navy)}.galat{background:var(--red-bg);color:var(--red);border:1px solid #ebcfc8}.ok{background:var(--success-bg);color:var(--success)}.bar{height:10px;background:var(--navy-tint);overflow:hidden;margin:8px 0}.bar,.bar>div{border-radius:999px}.bar>div{height:100%;background:var(--orange)}.tabel-bungkus{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--ink-soft);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}td input[type=number],td select{padding:6px 8px;min-width:80px}.tab{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.harga{font-size:1.2rem;font-weight:800;color:var(--orange-dark)}.hero{background:var(--navy-dark);color:var(--cream);border-radius:var(--radius-l);padding:40px 32px;margin-bottom:20px}.hero h1{color:#fff;font-size:2rem;margin-bottom:10px}.hero p{color:#c7d3e8;max-width:640px;margin:0 0 22px;font-size:1.02rem}.hero .baris{max-width:440px;margin:0}.hero .tombol.sekunder{color:#fff;border-color:#93a3c2}.hero .tombol.sekunder:hover{background:hsla(0,0%,100%,.1);border-color:#fff}.footer{border-top:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-size:.85rem}.footer-isi{max-width:1180px;margin:0 auto;padding:18px 20px;display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:space-between}@media (max-width:600px){.wadah{padding:18px 14px 48px}.hero{padding:28px 20px}.hero h1{font-size:1.55rem}.nav-isi{gap:12px;padding:8px 14px}}.daftar-bab{margin:6px 0 0;padding-left:22px;font-size:.9rem;color:var(--ink-soft);max-height:220px;overflow:auto}.kartu-hasil{margin-bottom:0}