/* Soil scanner page extras. Uses the variables from style.css. */
.sl-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.2rem);align-items:start}
.sl-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1rem,2.4vw,1.5rem)}
.sl-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 3.6rem;gap:.7rem;align-items:center;padding:.45rem 0;border-bottom:1px dashed var(--line)}
.sl-row:last-of-type{border-bottom:0}
.sl-row label{font-weight:600;font-size:.95rem;color:var(--ink)}
.sl-row small{display:block;font-weight:400;color:var(--mute);font-size:.78rem}
.sl-row output{font:700 .98rem var(--f-d);text-align:right;color:var(--ink)}
.sl-row input[type=range]{width:100%;accent-color:var(--leaf);min-height:32px}
.sl-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .9rem}
.sl-presets button{border:1px solid var(--line);background:var(--mist);color:var(--ink);border-radius:999px;padding:.45rem .9rem;min-height:40px;font:600 .88rem var(--f-b);cursor:pointer}
.sl-presets button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sl-score{display:flex;align-items:center;gap:1.1rem;margin-bottom:1rem}
.sl-dial{--p:0;--c:var(--leaf);width:5.6rem;height:5.6rem;border-radius:50%;display:grid;place-items:center;flex:none;
 background:conic-gradient(var(--c) calc(var(--p)*1%),var(--line) 0)}
.sl-dial b{display:grid;place-items:center;width:4.3rem;height:4.3rem;border-radius:50%;background:#fff;font:800 1.45rem var(--f-d);color:var(--ink)}
.sl-score h3{margin:0 0 .15rem;font-size:1.25rem;text-transform:capitalize}.sl-score p{margin:0;color:var(--mute);font-size:.92rem}
.sl-bars{display:grid;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none}
.sl-bars li{display:grid;grid-template-columns:6.2rem minmax(0,1fr) 2.2rem;gap:.6rem;align-items:center;font-size:.88rem;color:var(--mute)}
.sl-bars i{display:block;height:.55rem;border-radius:99px;background:var(--line);overflow:hidden}.sl-bars i::after{content:"";display:block;height:100%;width:var(--w);background:var(--c);border-radius:99px}
.sl-tips{margin:.2rem 0 0;padding-left:1.1rem}.sl-tips li{margin-bottom:.35rem;font-size:.96rem}
.sl-crops{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.sl-crops span{background:var(--mist);border:1px solid var(--line);border-radius:99px;padding:.25rem .7rem;font-size:.86rem;font-weight:600;color:var(--ink)}
.sl-kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.sl-kit>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem}
.sl-kit h3{font-size:1.12rem;margin:0 0 .35rem}.sl-kit p{margin:0 0 .6rem;color:var(--mute);font-size:.95rem}.sl-kit ul{margin:0;padding-left:1.1rem;font-size:.92rem;color:var(--text)}
.sl-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:.6rem;margin:0 0 1rem;padding:0;list-style:none}
.sl-flow li{flex:1 1 9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.8rem .9rem;font-size:.92rem;position:relative}
.sl-flow li strong{display:block;font:700 1rem var(--f-d);color:var(--ink);margin-bottom:.15rem}
.apk-box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.2rem);align-items:start}
.apk-card{background:var(--ink);color:#e6f2ea;border-radius:var(--r-lg);padding:clamp(1.2rem,2.6vw,1.8rem)}
.apk-card h3{color:#fff;margin:0 0 .4rem}.apk-card p{color:#cfe3d7;margin:0 0 1rem;font-size:.96rem}
.apk-card .btn[aria-disabled=true]{opacity:.55;pointer-events:none}
.apk-card small{display:block;margin-top:.7rem;color:#a9c5b6;font-size:.82rem;word-break:break-all}
@media(max-width:900px){.sl-grid,.apk-box{grid-template-columns:minmax(0,1fr)}.sl-kit{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.sl-row{grid-template-columns:6rem minmax(0,1fr) 3.2rem}.sl-bars li{grid-template-columns:5rem minmax(0,1fr) 2rem}}
