:root{--text:#5f665f;--text-h:#18211b;--text-strong:#354036;--bg:#f6f7f3;--panel:#fff;--input-bg:#fff;--border:#d9ddd4;--code-bg:#edf0e8;--accent:#28724f;--accent-strong:#1f5e40;--accent-bg:#28724f1a;--accent-border:#28724f59;--danger:#a33b32;--success:#237245;--success-bg:#2372451f;--success-border:#23724559;--shadow-sm:0 1px 2px #16231914;--shadow-lg:0 18px 40px #1623192e;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#a9b2a9;--text-h:#f4f7f2;--text-strong:#d9e0d6;--bg:#111610;--panel:#171e17;--input-bg:#111610;--border:#334032;--code-bg:#1d261d;--accent:#7ac69e;--accent-strong:#94d7b3;--accent-bg:#7ac69e1f;--accent-border:#7ac69e59;--danger:#f08c81;--success:#86d6a5;--success-bg:#86d6a51f;--success-border:#86d6a559;--shadow-sm:0 1px 2px #00000059;--shadow-lg:0 18px 40px #00000073}}#root{box-sizing:border-box;max-width:1280px;min-height:100svh;margin:0 auto}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:0;font-size:44px;line-height:1.05}@media (width<=1024px){h1{font-size:34px}}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-shell{flex-direction:column;gap:24px;min-height:100vh;padding:32px;display:flex}.app-header{text-align:left;justify-content:space-between;align-items:end;gap:24px;display:flex}.eyebrow,.section-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.app-header h1{margin:0}.header-summary{color:var(--text);max-width:340px}.header-actions{align-items:center;gap:8px;display:flex}.connection-status{border:1px solid var(--border);color:var(--text-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:.84rem;font-weight:700;display:inline-flex}.connection-status span{border-radius:999px;width:9px;height:9px}.connection-status.online span{background:var(--success)}.connection-status.offline{color:var(--danger)}.connection-status.offline span{background:var(--danger)}.icon-button{border:1px solid var(--border);color:var(--text-strong);background:0 0;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-weight:700;display:inline-flex}.icon-button:hover{border-color:var(--accent-border);color:var(--text-h)}.icon-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.icon-button span{font-size:1.1rem;line-height:1}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:left;border-radius:8px;padding:24px}.panel-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.panel-heading h2{margin:0}.field-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.save-grid{grid-template-columns:minmax(180px,1fr) minmax(220px,1.25fr) auto;align-items:end;gap:16px;display:grid}.save-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:420px;margin-bottom:20px;display:grid}.saved-count{color:var(--text);font-size:.85rem;font-weight:700}.save-confirmation{background:var(--panel);border:1px solid var(--success-border);box-shadow:var(--shadow-lg);color:var(--success);text-align:center;z-index:20;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:190px;padding:16px 18px;font-size:.9rem;animation:2.4s both toast-fade;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,-10px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.save-confirmation span{background:var(--success-bg);border:1px solid var(--success-border);border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:800;line-height:1;display:inline-flex}.save-confirmation strong{color:var(--success)}.error-confirmation{border-color:var(--danger);color:var(--danger)}.error-confirmation span{border-color:var(--danger);background:0 0}.error-confirmation strong{color:var(--danger)}.start-panel{max-width:720px}.start-panel h2{margin-bottom:8px}label{flex-direction:column;gap:6px;display:flex}label span{color:var(--text-strong);font-size:.78rem;font-weight:700}input,select{background:var(--input-bg);border:1px solid var(--border);box-sizing:border-box;color:var(--text-h);font:inherit;border-radius:6px;width:100%;min-height:42px;padding:8px 10px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}button{cursor:pointer;font:inherit;border-radius:6px}button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{background:var(--accent);border:1px solid var(--accent);color:#fff;min-height:40px;padding:8px 14px;font-weight:700}.secondary-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.row-button{border:1px solid var(--border);color:var(--text-strong);background:0 0;min-height:34px;padding:6px 10px}.row-button:hover{border-color:var(--accent-border);color:var(--text-h)}.danger-button{color:var(--danger)}.danger-button:hover{border-color:var(--danger);color:var(--danger)}.total-pill{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-h);border-radius:8px;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 12px;display:flex}.total-pill span{color:var(--text);font-size:.76rem;font-weight:700}.total-pill strong{font-size:1rem}.target-table-wrap{overflow-x:auto}.nutrient-card-grid{gap:12px;display:grid}.nutrient-card-view,.foliar-card-view,.catalog-card-view{display:none}.nutrient-card,.catalog-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.nutrient-card summary,.foliar-card summary,.catalog-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;list-style:none;display:flex}.nutrient-card summary::-webkit-details-marker{display:none}.foliar-card summary::-webkit-details-marker{display:none}.catalog-card summary::-webkit-details-marker{display:none}.nutrient-card summary:after,.foliar-card summary:after,.catalog-card summary:after{color:var(--accent);content:"+";font-size:1.35rem;font-weight:700;line-height:1}.nutrient-card[open] summary,.foliar-card[open] summary,.catalog-card[open] summary{border-bottom:1px solid var(--border)}.nutrient-card[open] summary:after,.foliar-card[open] summary:after,.catalog-card[open] summary:after{content:"-"}.nutrient-title,.foliar-title,.catalog-title{color:var(--text-h);font-size:1.25rem;font-weight:800}.nutrient-summary,.foliar-summary,.catalog-summary{color:var(--text-strong);margin-left:auto;font-size:.9rem;font-weight:700}.nutrient-card-body,.foliar-card-body,.catalog-card-body{gap:16px;padding:16px;display:grid}.foliar-card-grid,.catalog-card-grid{gap:12px;display:none}.foliar-card,.catalog-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.foliar-card-body>.row-button,.catalog-card-body>.row-button{justify-self:start}.foliar-nutrient-groups{gap:16px;display:grid}.foliar-nutrient-groups h3{color:var(--text-h);margin:0 0 10px;font-size:.95rem}.card-input-grid,.card-output-grid{gap:12px;display:grid}.card-input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-output-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.target-table{border-collapse:collapse;width:100%;min-width:980px}.product-table{min-width:1740px}.results-table{min-width:920px}.order-table{min-width:760px}.catalog-table{min-width:1500px}.target-table th,.target-table td{border-bottom:1px solid var(--border);text-align:right;vertical-align:middle;white-space:nowrap;padding:10px 8px}.target-table th:first-child,.target-table td:first-child{text-align:left}.target-table .empty-state{color:var(--text);text-align:center;padding:24px 8px}.target-table thead th{color:var(--text-strong);font-size:.78rem;font-weight:700}.target-table tbody th{color:var(--text-h);font-size:1rem;font-weight:700}.target-table .emphasis-row th,.target-table .emphasis-row td{background:var(--accent-bg);color:var(--text-h);font-weight:700}.target-table input,.target-table select{text-align:right;max-width:112px;min-height:38px;margin-left:auto}.product-table input{text-align:left;max-width:150px}.product-table input[type=number]{text-align:right;max-width:98px}.product-table select{text-align:left;max-width:160px}.catalog-table input{max-width:135px}.catalog-table input[type=number]{max-width:92px}.target-table tfoot th,.target-table tfoot td{color:var(--text-h);border-bottom:0;font-weight:700}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.results-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.order-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:20px;display:grid}.order-notes{gap:12px;display:grid}.summary-metric{border:1px solid var(--border);border-radius:8px;padding:14px}.summary-metric span{color:var(--text);margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.summary-metric strong{color:var(--text-h);font-size:1.2rem;display:block}.print-summary{display:none}@media (width<=900px){.app-shell{padding:20px}.app-header,.panel-heading{flex-direction:column;align-items:stretch}.save-grid{grid-template-columns:1fr;align-items:stretch}.admin-actions{justify-content:flex-start}.nutrient-table-view,.foliar-table-view,.catalog-table-view{display:none}.nutrient-card-view,.foliar-card-view,.catalog-card-view{display:grid}.field-grid,.card-input-grid,.card-output-grid,.summary-grid,.results-grid,.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-layout{grid-template-columns:1fr}.order-notes{grid-template-columns:repeat(3,minmax(0,1fr))}.total-pill{align-items:flex-start}}@media (width<=560px){.app-shell{padding:14px}.panel{padding:16px}.field-grid,.card-input-grid,.card-output-grid,.summary-grid,.results-grid,.order-notes,.admin-summary-grid{grid-template-columns:1fr}.nutrient-card summary,.foliar-card summary,.catalog-card summary{align-items:start;gap:10px}.nutrient-summary,.foliar-summary,.catalog-summary{font-size:.82rem}}@media print{@page{margin:14mm;size:letter portrait}body{color:#111827;background:#fff}.app-shell{min-height:auto;padding:0;display:block}.app-shell>:not(.print-summary){display:none!important}.print-summary{color:#111827;width:100%;font-size:9pt;line-height:1.35;display:block}.print-header{border-bottom:2px solid #111827;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:10px;display:flex}.print-header p,.print-header h1,.print-meta span,.print-meta strong,.print-section h2{margin:0}.print-header p,.print-meta span,.print-detail-grid span,.print-metric-grid span{color:#4b5563;text-transform:uppercase;font-size:8pt;font-weight:700}.print-header h1{font-size:20pt}.print-meta{text-align:right;gap:3px;display:grid}.print-meta strong{font-size:11pt}.print-detail-grid,.print-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.print-detail-grid div,.print-metric-grid div{border:1px solid #d1d5db;padding:7px}.print-detail-grid strong,.print-metric-grid strong{margin-top:2px;font-size:10pt;display:block}.print-metric-grid strong{font-size:12pt}.print-section{break-inside:avoid;margin-top:14px}.print-section h2{margin-bottom:6px;font-size:12pt}.print-table{border-collapse:collapse;width:100%}.print-table th,.print-table td{text-align:right;vertical-align:top;border:1px solid #d1d5db;padding:5px 6px}.print-table th:first-child,.print-table td:first-child{text-align:left}.print-table thead th,.print-table tfoot th,.print-table tfoot td{background:#f3f4f6;font-weight:800}}
