:root{--bg:#f4fbf6;--card:#fff;--accent:#216b31;--accent-strong:#174f25;--muted:#667085;--text:#0f1720;--danger:#b42318;--border:#dfeadf}
*{box-sizing:border-box}body{font-family:Inter,system-ui,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);margin:0;padding:24px}.container{max-width:1180px;margin:auto}
header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.title-banner{display:inline-block;background:var(--accent);color:#fff;padding:10px 14px;border-radius:8px;font-size:20px;font-weight:700}.subtitle{color:var(--muted);margin:8px 0}.header-actions{display:flex;gap:12px;align-items:center}.header-actions a{color:var(--accent-strong);text-decoration:none}
.card{background:var(--card);padding:20px;border-radius:10px;margin:14px 0;border:1px solid var(--border);box-shadow:0 6px 18px rgba(34,60,80,.05)}h2{font-size:20px;margin:0 0 14px}h3{font-size:16px}.grid{display:grid;gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
label{display:flex;flex-direction:column;gap:7px;font-weight:600}input,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;font:inherit}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.section-head p{color:var(--muted);margin:4px 0 14px}
button{background:var(--accent);color:#fff;border:0;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:650}button:hover{filter:brightness(.95)}button.secondary{background:#7a8288}.remove{background:#fff;color:var(--danger);border:1px solid #f0c2bd}.hidden{display:none!important}
.field-card{border:1px solid #cfe2d1;border-radius:10px;padding:16px;margin-top:14px;background:#fbfefb}.field-head,.materials-head{display:flex;justify-content:space-between;gap:14px;align-items:end}.field-head label{flex:1;max-width:430px}.field-grid{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:14px;margin-top:16px}.yield-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;padding:14px;border:1px solid #d7e8d9;border-radius:9px;background:#f3faf4}.yield-fields label+label{padding-left:16px;border-left:2px solid #d5e7d7}
.species-field{position:relative}.species-suggestions{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px rgba(15,23,32,.15);max-height:260px;overflow:auto}.species-suggestions button{display:block;width:100%;text-align:left;color:var(--text);background:#fff;border-radius:0;padding:9px 12px;font-weight:500}.species-suggestions button:hover{background:#edf7ef}
.field-materials{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.materials-head strong{font-size:15px}.organic-row{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-top:12px}.main-actions{display:flex;gap:10px;justify-content:flex-end;margin:16px 0}.message{padding:12px;border-radius:8px;background:#fee4e2;color:var(--danger)}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.balance-result-card{border:1px solid;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:5px;min-width:0}.result-grid .balance-result-card{min-height:122px;justify-content:center}.result-grid strong{font-size:25px}.balance-result-card small{color:var(--muted);line-height:1.45}.degradation-result{border-color:#e5a39d;background:#fff5f4;color:#a32920}.reproduction-result{border-color:#8bc99a;background:#f1faf3;color:#216b31}
.grade{font-size:18px;font-weight:800;padding:7px 12px;border-radius:8px;background:#e8f5e9;color:var(--accent-strong);white-space:nowrap}.grade.bad{background:#fee4e2;color:var(--danger)}.grade.warn{background:#fff4d6;color:#9a6700}.result-conclusion{margin:16px 0 22px;border:2px solid;border-radius:12px;overflow:hidden;background:#f1faf3;border-color:#8bc99a}.result-conclusion.warn{background:#fff8df;border-color:#d49b12}.result-conclusion.bad{background:#fff1f0;border-color:#b42318}.total-balance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(33,107,49,.2)}.total-balance>div{display:grid;grid-template-columns:auto auto;align-items:end;gap:4px 12px}.total-balance strong{font-size:30px;color:var(--accent-strong)}.total-balance small{color:var(--muted);grid-column:2}.result-conclusion.warn .total-balance strong{color:#8a6200}.result-conclusion.bad .total-balance strong{color:#a32920}.recommendation{padding:18px 20px}.recommendation h3{margin:0 0 5px}.recommendation p{margin:0;line-height:1.55}.recommendation p+h3{margin-top:14px}.result-conclusion.balanced .recommendation h3{color:#216b31}.result-conclusion.warn .recommendation h3{color:#8a6200}.result-conclusion.bad .recommendation h3{color:#a32920}
.field-result{border-top:1px solid var(--border);padding:16px 0}.field-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-result-head>div{display:flex;flex-direction:column;gap:3px}.field-result-head span{color:var(--muted)}.field-result-values{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.field-result-values b{font-size:19px;color:var(--accent-strong)}.field-result>p{margin:10px 0 0;color:var(--muted)}
.history-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.history-item p{margin:4px 0;color:var(--muted)}.history-actions{display:flex;gap:8px;align-items:center}
.report-history-head{align-items:flex-start}.report-history-head h2{margin-bottom:5px}.report-history-head p{margin:0;color:var(--muted)}.download-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.download-report-button{border:1px solid #b8d8be;background:#fff;color:var(--accent-strong);font-size:14px}.download-report-button:hover{background:#eef8f0}
@media(max-width:800px){body{padding:12px}header,.section-head{align-items:stretch;flex-direction:column}.grid.three,.field-grid,.result-grid,.field-result-values{grid-template-columns:1fr}.yield-fields{grid-template-columns:1fr}.yield-fields label+label{padding-left:0;padding-top:12px;border-left:0;border-top:2px solid #d5e7d7}.organic-row{grid-template-columns:1fr}.header-actions{justify-content:space-between}.field-result-head{align-items:flex-start}}

/* Jednoznaczny podział pozycji bilansu według znaku wskaźnika. */
.field-head{display:grid;grid-template-columns:2fr 1fr auto;gap:14px}
.balance-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px;align-items:start}
.balance-block{border:2px solid;border-radius:12px;padding:16px;min-width:0}
.reproduction-block{border-color:#8bc99a;background:#f1faf3}
.degradation-block{border-color:#e5a39d;background:#fff5f4}
.block-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.block-heading h3{font-size:19px;margin:0}.block-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}
.reproduction-block h3,.reproduction-block .subsection>strong{color:#216b31}.degradation-block h3{color:#a32920}
.sign-badge{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:25px;font-weight:800;flex:0 0 auto}
.sign-badge.positive{background:#d9f1df;color:#216b31}.sign-badge.negative{background:#fee4e2;color:#b42318}
.subsection+.subsection,.residue-panel+.subsection{margin-top:16px;padding-top:14px;border-top:1px solid #cfe2d1}
.reproduction-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:10px}
.residue-panel{margin-top:16px;padding:14px;border:1px solid #9fcfaa;border-radius:9px;background:#e8f6eb}
.residue-title{color:#216b31}.residue-note{font-size:13px;color:#4f6d55;margin:4px 0 10px}
.degradation-block .species-suggestions button:hover{background:#fff0ee}
.degradation-inputs{display:grid;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid #efc7c3}
.main-yield-hint{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.45}
.residue-check-wrap{display:flex;flex-direction:row;align-items:center;gap:9px;padding:11px;border:1px solid #e5a39d;border-radius:8px;background:#fff}
.residue-check-wrap input{width:18px;height:18px;accent-color:#b42318;flex:0 0 auto}
.residue-check-text{font-weight:650}
.residue-panel label{margin-top:10px}
.field-sign-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.field-sign-results h4{margin:0}.field-sign-results b{font-size:19px}.total-result{background:#f6fbf7;border-color:var(--border);color:var(--accent-strong)}.total-result.warn{background:#fff8df;border-color:#d49b12;color:#8a6200}.total-result.bad{background:#fff1f0;border-color:#b42318;color:#a32920}.field-assessment{margin-top:12px;padding:13px 15px;border-left:4px solid #2b8a3e;background:#f1faf3;border-radius:7px}.field-assessment.warn{border-color:#d49b12;background:#fff8df}.field-assessment.bad{border-color:#b42318;background:#fff1f0}.field-assessment p{margin:0;line-height:1.5}.field-assessment p+p{margin-top:7px}
@media(max-width:800px){.field-head,.balance-columns,.field-sign-results{grid-template-columns:1fr}.field-head .field-remove{justify-self:start}.total-balance{align-items:flex-start;flex-direction:column}.total-balance>div{grid-template-columns:1fr}.total-balance small{grid-column:auto}.download-actions,.download-report-button{width:100%}.download-report-button{min-height:44px}}
