:root{--dark:#17392f;--dark2:#0e3029;--ink:#1c342b;--muted:#64766d;--green:#26755b;--greenlight:#eaf4ee;--gold:#ca9b57;--surface:#fff;--bg:#f6f7f4;--line:#e2e9e3;--warning:#9a5d13;--lightwarn:#fff7e8;--red:#a64832}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--green)}a:hover{text-decoration:underline}.shell{max-width:1450px;margin:0 auto;padding:0 34px}.skip{position:absolute;left:-10000px;z-index:300;background:white;padding:10px}.skip:focus{left:10px;top:10px}.topbar{background:var(--dark2);color:white;border-bottom:1px solid #35554c}.topinner{height:79px;display:flex;justify-content:space-between;align-items:center}.identity{display:flex;align-items:center;gap:12px;color:white;text-decoration:none!important}.identity-symbol{height:43px;width:43px;display:grid;place-items:center;background:#416954;border:1px solid #86a28d;font-family:Manrope;font-size:23px;font-weight:800;border-radius:12px}.identity-symbol span{color:#d9b878}.identity strong{font-family:Manrope;display:block;font-size:16px;letter-spacing:.09em;line-height:1.3}.small-separator{color:#8baa99}.identity small{display:block;color:#b4c8bf;font-size:11px;letter-spacing:.07em}.toptools{display:flex;align-items:center;gap:26px}.source-pill{border:1px solid #577266;border-radius:50px;padding:7px 14px;color:#dbebe2;font-size:12px}.source-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#b7cd85;margin-right:7px}.muted-link{color:#e2efe7;text-decoration:none;font-size:13px}
.hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(275px,.62fr);margin:24px 0;overflow:hidden;background:linear-gradient(110deg,#1b4b3b,#154034);color:#fff;border-radius:18px}.hero-main{padding:37px 44px 39px;background:radial-gradient(ellipse at 96% 5%,rgba(185,208,143,.15),transparent 58%)}.overline{letter-spacing:.18em;font-size:11px;color:#d4c397;font-weight:700;margin:0 0 13px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(25px,3.15vw,37px);line-height:1.19;letter-spacing:-.045em;max-width:730px;margin:0 0 16px;font-weight:750}.herolead{max-width:735px;font-size:14px;line-height:1.9;color:#d7e5da;margin:0}.hero-mini{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;font-size:12px;color:#deebde}.hero-mini i{font-style:normal;color:#d6b879;margin-right:5px}.hero-side{padding:29px 32px;background:linear-gradient(155deg,#234d3f,#173b30);border-left:1px solid #3e6a58}.hero-number{font-family:Manrope;font-size:39px;font-weight:800;letter-spacing:-.06em;line-height:1.3}.hero-number span{font-size:14px;font-weight:500;letter-spacing:0}.hero-side p{font-size:13px;color:#dfe8d9;margin:12px 0}.hero-side b{color:#e1be85;margin-right:8px}.hero-side-note{font-size:11px;display:block;color:#bdcec1;line-height:1.5;border-top:1px solid #507161;margin-top:18px;padding-top:15px}.layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:23px;align-items:start}.input-panel,.result-column{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 24px rgba(21,53,40,.035)}.input-panel{padding:23px 23px 27px}.stepbadge{font-size:10px;letter-spacing:.16em;color:#39816c;font-weight:800}.panel-top h2,.resulthead h2{font-family:Manrope;font-size:20px;letter-spacing:-.03em;margin:6px 0}.panel-top p,.resulthead p{margin:5px 0 16px;color:var(--muted);font-size:12px}.field{margin:19px 0}.field label{display:block;color:#294b3d;font-size:12px;font-weight:700;margin-bottom:7px}.field label strong{color:#b45c39}.field select,.field input{min-height:43px;width:100%;border:1px solid #d5e0d7;border-radius:7px;padding:10px 12px;color:#213d32;background:#fff;outline-offset:2px}.field input:focus,.field select:focus{outline:2px solid #7ab89a;border-color:var(--green)}.field small{display:block;margin-top:7px;color:#77867c;font-size:11px;line-height:1.45}.input-unit{position:relative}.input-unit input{padding-right:88px}.input-unit>span{position:absolute;right:11px;top:11px;font-size:12px;color:#6f7e71}.primary-btn{background:var(--green);color:#fff;padding:13px 15px;border:0;border-radius:8px;font-weight:700;width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left}.primary-btn:hover{background:#145d46}.primary-btn:disabled{opacity:.64;cursor:wait}.reset-btn{width:100%;border:0;background:transparent;margin-top:9px;color:#5d7567;font-size:12px;padding:8px}.advanced{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:20px}.advanced summary{color:#2f6653;cursor:pointer;font-size:12px;font-weight:700}.advanced summary span{display:block;margin-left:20px;font-size:11px;font-weight:400;color:#87948b}.advanced-in{margin-top:12px}.advanced-in>p{font-size:12px;color:var(--muted)}.data-note{display:flex;gap:10px;background:#f3f6f1;border:1px solid #e2e9df;padding:10px;border-radius:8px;margin-top:21px}.data-note>span{font-size:18px;color:#4e8167}.data-note p{font-size:11px;color:#63796b;margin:0}.form-error{background:#fff0ed;border:1px solid #e8b1a5;border-radius:6px;padding:10px;font-size:12px;color:#993e2b}
.result-column{padding:27px 28px 32px;min-height:800px}.resulthead{display:flex;align-items:center;justify-content:space-between;gap:12px}.resulthead h2{font-size:23px}.resulthead p{margin-bottom:9px}.result-actions{display:flex;gap:8px}.secondary-btn{border:1px solid #cddbcf;background:white;border-radius:7px;padding:9px 12px;color:#285b49;font-size:12px;font-weight:700;white-space:nowrap}.secondary-btn:hover{background:#eef6f0}.secondary-btn:disabled{color:#9ba9a0;cursor:default}.status{border-radius:7px;padding:11px 14px;margin:18px 0;font-size:12px;color:#305d4b;background:#eff7f2;border:1px solid #d8eadf}.status.error{background:#fff2ed;color:#a0402c;border-color:#f0c8bc}.status.wait{background:#f7f7ef;color:#6e6a39}.tabs{border-bottom:1px solid #dfe8df;display:flex;gap:24px;overflow-x:auto;margin-top:11px}.tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 3px 13px;color:#667b6c;white-space:nowrap;font-size:13px;font-weight:700}.tabs button.active{border-bottom-color:#268363;color:#235d48}.loading-placeholder span{display:block;background:#eff3ed;min-height:100px;border-radius:8px;margin:18px 0;animation:pulse 1.8s infinite alternate}.loading-placeholder span:nth-child(2){min-height:190px}@keyframes pulse{to{opacity:.5}}.section{margin:24px 0 0}.section-heading{display:flex;align-items:baseline;gap:12px;margin:22px 0 12px}.section-heading h3{font-family:Manrope;font-size:18px;letter-spacing:-.03em;line-height:1.4;margin:0}.section-heading small{font-size:12px;color:#849085}.big-decision{padding:25px;background:linear-gradient(115deg,#e7f3e8,#f4f7ea);border:1px solid #d0e7d5;border-radius:11px}.decision-eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:#3e7a5d}.decision-date{font:800 clamp(23px,3vw,30px)/1.35 Manrope;margin:10px 0 8px;color:#1f503b;letter-spacing:-.04em}.decision-note{margin:0;color:#526d5d;max-width:710px;font-size:13px}.decision-detail{background:#fff9e9;border:1px solid #efdfbb;border-radius:7px;color:#805d27;padding:10px 13px;font-size:12px;margin-top:13px}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.metric{border:1px solid #e0e9e0;border-radius:10px;padding:17px 15px;background:#fff;min-width:0}.metric .k{font-size:11px;color:#6d8071;font-weight:700;line-height:1.4}.metric strong{font:800 25px/1.4 Manrope;display:block;color:#1e4d3e;letter-spacing:-.04em;margin:8px 0 3px;overflow-wrap:anywhere}.metric small{display:block;color:#7c887e;font-size:11px}.panel{background:#fff;border:1px solid var(--line);padding:19px 20px;border-radius:9px;margin:15px 0}.panel h3{font:750 16px/1.4 Manrope;letter-spacing:-.02em;margin:0 0 11px}.panel p{color:#53665b;margin:7px 0 12px}.panel ul{padding-left:20px}.panel li{margin:7px 0}.two-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.helper{border-left:3px solid #b6cda9;padding:9px 12px;background:#f6f8f4;border-radius:2px 8px 8px 2px;color:#617368;font-size:12px;margin:13px 0}.warning{background:var(--lightwarn);border:1px solid #ead8ae;color:#86622c;padding:12px 14px;border-radius:7px;font-size:12px}.plain-list{margin:0;padding:0;list-style:none}.plain-list li{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-top:1px solid #edf0eb}.plain-list li:first-child{border-top:0}.list-icon{width:27px;min-width:27px;height:27px;display:grid;place-items:center;background:#edf5ed;color:#398366;border-radius:8px;font-weight:800}.list-body b{display:block;font-weight:700;color:#25493a}.list-body span{font-size:12px;color:#718173}.progress{font-size:12px;color:#728272;margin-bottom:10px}.progressline{height:5px;background:#edf0e9;border-radius:50px;overflow:hidden;margin-bottom:12px}.progressline span{display:block;height:100%;background:#388568;transition:width .2s}.checklist label{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #e8eee8;cursor:pointer;font-size:13px}.checklist label:last-child{border-bottom:0}.checklist input{margin-top:5px;accent-color:#26755b}.checklist small{display:block;font-size:11px;color:#718271}.checklist b{font-weight:700}.smalltext{color:#728075;font-size:11px}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}.tablewrap table{width:100%;border-collapse:collapse;font-size:12px;min-width:550px}.tablewrap thead{background:#f2f6f1;color:#486750}.tablewrap th,.tablewrap td{text-align:left;padding:11px 12px;border-bottom:1px solid #e9efe8;vertical-align:top}.tablewrap td.num,.tablewrap th.num{text-align:right;font-variant-numeric:tabular-nums}.tablewrap tbody tr:last-child td{border-bottom:0}.tablewrap tbody tr:hover{background:#f8faf7}.chart{width:100%;height:auto;display:block;max-height:300px}.chart text{font-family:DM Sans,sans-serif;font-size:11px;fill:#64776b}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#5f7064;margin:10px 0}.legend i{display:inline-block;height:10px;width:10px;border-radius:2px;margin-right:5px}.statline{background:#f5f8f3;padding:12px 14px;margin:14px 0;border-radius:8px;font-size:13px}.statline strong{color:#23573d}.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phase-item{border:1px solid #e0eae0;border-radius:8px;padding:11px 12px}.phase-item strong{display:block;color:#284e3c;font-size:12px}.phase-item span{font-size:11px;color:#677b6e}.phase-item b{display:block;margin-top:7px;color:#255a46;font-size:16px}.detail-link{font-size:12px}.fallback{padding:19px;border:1px solid #f0d8c7;background:#fff9f5;border-radius:9px}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dbe7da;padding:24px 4px 36px;margin-top:28px;color:#718077;font-size:11px}.footer b{display:block;font-size:12px;color:#335d49;letter-spacing:.08em}.footer span{display:block}.footer>div:last-child{text-align:right}
@media(max-width:1150px){.shell{padding:0 20px}.layout{grid-template-columns:300px minmax(0,1fr)}.input-panel{padding:18px}.result-column{padding:21px}.resulthead{align-items:flex-start;flex-direction:column}.two-cols{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.topinner{height:68px}.source-pill{display:none}.hero{grid-template-columns:1fr}.hero-main{padding:25px 24px}.hero-side{padding:18px 24px}.hero-side p{display:inline-block;margin-right:15px}.hero-side-note{margin-top:9px}.layout{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}.toptools{gap:8px}.identity small{font-size:10px}.footer{flex-direction:column}.footer>div:last-child{text-align:left}}@media(max-width:520px){.shell{padding:0 11px}.topinner{padding:0 11px}.identity strong{font-size:13px}.identity-symbol{height:36px;width:36px}.muted-link{font-size:11px}.hero{margin-top:11px}.hero h1{font-size:25px}.hero-mini{gap:8px}.hero-mini span{width:100%}.hero-side p{display:block;margin:4px}.input-panel,.result-column{padding:17px}.result-actions{width:100%}.result-actions button{flex:1}.metric-row{gap:8px}.metric{padding:12px}.metric strong{font-size:20px}.tabs{gap:12px}.tabs button{font-size:11px}.decision-date{font-size:23px}.phase-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading small{display:block}}@media print{@page{size:A4;margin:13mm}body{background:white;font-size:11px}.topbar,.hero,.input-panel,.result-actions,.tabs,.footer,.status,.no-print{display:none!important}.shell{max-width:none;padding:0}.layout{display:block}.result-column{padding:0;border:0;box-shadow:none;min-height:0}.resulthead{display:block;border-bottom:2px solid #345f4b}.resulthead h2{font-size:18px}.section-heading h3{font-size:15px}.panel,.metric,.big-decision{box-shadow:none;break-inside:avoid}.metric-row{grid-template-columns:repeat(3,1fr)}.metric strong{font-size:17px}.chart{max-height:175px}.tablewrap{overflow:visible}.tablewrap table{min-width:0;font-size:9px}.tablewrap th,.tablewrap td{padding:5px}.panel{margin:8px 0;padding:10px 12px}.section{margin:9px 0}.decision-date{font-size:21px}#content{display:block}}

/* V3.1 — profil tanah hasil laboratorium */
.soil-choice{background:#f6f8f2;border:1px solid #dbe5d7;border-radius:11px;padding:15px 14px;margin:18px 0}
.soil-choice-head h3{font-size:15px;color:#1c4836;letter-spacing:-.02em;margin:7px 0}
.soil-choice-head p{font-size:11.5px;color:#64786a;margin:0;line-height:1.55}
.lab-kicker{font-size:10px;font-weight:800;letter-spacing:.09em;color:#397754}
.soil-choice .field{margin:11px 0}
.soil-preview{border:1px solid #e2e7df;background:white;padding:12px;font-size:12px;color:#476254;line-height:1.65;border-radius:8px}
.soil-preview b{color:#24543a}.soil-preview strong{color:#244c3a}.soil-preview small{display:block;color:#8d724b;margin-top:8px}
.lab-result{background:#f8faf6;border:1px solid #dfe9dc;border-radius:10px;padding:15px;margin:12px 0}
.lab-result h4{margin:0 0 8px;color:#254a37;font-size:15px}.lab-result p{margin:8px 0}
.lab-metrics{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.lab-metrics span{display:block;background:white;padding:10px 12px;border:1px solid #e4ebe0;border-radius:8px;font-size:12px;flex:1;min-width:135px}
.lab-metrics strong{display:block;font-size:17px;color:#235a3f}.lab-caution{border-left:3px solid #cfac63;padding:8px 11px;background:#fff9eb;color:#785e2d;font-size:12px;margin:12px 0}
