*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f3f5f3;color:#202520}header{background:#173f2a;color:white;padding:18px 4%;display:flex;justify-content:space-between;align-items:center}header h1{margin:0;font-size:25px}header span{opacity:.75}button{cursor:pointer;border:1px solid #aab2aa;background:#fff;border-radius:6px;padding:8px 12px}button:hover{background:#eef3ee}.price,.calculate{background:#2e6b46;color:#fff;border-color:#2e6b46}.calculate{font-size:16px;padding:11px 18px}nav{display:flex;background:white;border-bottom:1px solid #ccd2cc;padding-left:4%}.tab{border:0;border-radius:0;padding:14px 20px}.tab.active{border-bottom:3px solid #2e6b46;font-weight:700}main{max-width:1250px;margin:20px auto;padding:0 18px}.panel{display:none}.panel.active{display:block}.card{background:white;border:1px solid #d5dbd5;border-radius:8px;padding:16px;margin-bottom:14px}.card h2{margin:0 0 10px;font-size:17px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:13px;font-weight:600}input,select{width:100%;padding:7px;border:1px solid #b9c1b9;border-radius:4px;margin-top:4px}.modes{display:flex;gap:25px}.modes input{width:auto}.muted{color:#667066;font-size:13px;margin:3px 0 10px}.row{display:grid;grid-template-columns:minmax(160px,1fr) 130px 35px;gap:8px;align-items:center;margin:5px 0}.row input{margin:0}.titleline{display:flex;justify-content:space-between;align-items:center}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border:1px solid #cbd0cb;padding:7px;text-align:left}th{background:#e7eae7}#productTable input{min-width:75px;border:0;background:transparent}.summary{border:1px solid #cbd0cb}.summary>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #d7dbd7;padding:8px}.summary b{background:#f0f2f0;margin:-8px;padding:8px;margin-right:10px}.warn{background:#fff4cc;border:1px solid #e2bd49;padding:12px;border-radius:6px;margin-bottom:12px}.error{background:#ffe0e0;border:1px solid #c55;padding:12px;border-radius:6px}.bad input{background:#ffd6d6;border-color:red}.modal{display:none;position:fixed;inset:0;background:#0007;align-items:center;justify-content:center;z-index:10000;isolation:isolate}.modal.show{display:flex}.modalbox{position:relative;z-index:10001;background:white;border-radius:9px;padding:18px;width:min(520px,92vw);max-height:80vh;overflow:auto;-webkit-overflow-scrolling:touch}.rule{display:grid;grid-template-columns:100px 70px 80px 50px 1fr 35px;gap:7px;align-items:center;margin:5px 0}.rule input,.rule select{margin:0}@media(max-width:800px){.grid4,.twocol{grid-template-columns:1fr}.modes{flex-direction:column;gap:8px}header{align-items:flex-start;gap:10px;flex-direction:column}.rule{grid-template-columns:1fr 1fr}.summary>div{grid-template-columns:130px 1fr}}@media print{header,nav,button,#results>.card:nth-child(2){display:none!important}body{background:white}main{margin:0;max-width:none}.card{border:0}.panel{display:none!important}#results{display:block!important}}
.reportgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 14px}.checks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:14px}.checks label{font-weight:500}.checks input{width:auto;margin-right:5px}textarea{width:100%;padding:7px;border:1px solid #b9c1b9;border-radius:4px;margin-top:4px;font-family:inherit}@media(max-width:800px){.reportgrid{grid-template-columns:1fr}}

.logobox{grid-column:span 3;border:1px solid #d5dbd5;border-radius:6px;padding:10px;display:grid;grid-template-columns:140px 1fr auto;gap:10px;align-items:center}
.logobox input{margin:0}.logoPreviewWrap{min-height:54px;display:flex;align-items:center}.logoPreviewWrap img{max-height:65px;max-width:220px;object-fit:contain}
@media(max-width:800px){.logobox{grid-column:span 1;grid-template-columns:1fr}}

.addnutrient{display:flex;gap:8px;margin-top:10px;max-width:310px}
.addnutrient select{margin:0;flex:1}
.addnutrient button{white-space:nowrap}

.userbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.buttonlink{display:inline-block;background:#eef2ee;border:1px solid #b9c1b9;border-radius:5px;padding:8px 10px;color:#243024;text-decoration:none}.loginbody{min-height:100vh;display:grid;place-items:center;background:#f3f5f3}.loginbox{width:min(420px,92vw);background:white;padding:28px;border-radius:10px;box-shadow:0 3px 18px #0002}.loginbox label{display:block;margin:14px 0}.loginbox input{width:100%;box-sizing:border-box}input:disabled{background:#f1f3f1;color:#555}

.blendoptions{margin-top:14px;padding-top:12px;border-top:1px solid #d5dbd5}.blendoptions input{width:auto;margin-right:6px}.inactive-card{opacity:.48;background:#eef1ee}.inactive-card input,.inactive-card select,.inactive-card button{cursor:not-allowed}.inactive-field{opacity:.48}.inactive-field input{background:#eef1ee;cursor:not-allowed}

/* V2.8.7 mobile input/focus improvements */
input,select,textarea,button{-webkit-tap-highlight-color:rgba(0,0,0,.08);touch-action:manipulation}
input,textarea{-webkit-user-select:text;user-select:text;position:relative;z-index:1}
.loginbox input{font-size:16px;min-height:44px;padding:10px 11px;touch-action:manipulation}
.loginbox button{min-height:44px}
@media(max-width:800px){input,select,textarea{font-size:16px;min-height:42px}button,.buttonlink{min-height:42px}.loginbox{width:min(420px,94vw);padding:24px 20px}}

body.modal-open{overflow:hidden}.modal input,.modal select,.modal button{position:relative;z-index:10002}
/* V2.9 development */
.brand{display:flex;align-items:center;gap:18px}.brand img{width:220px;max-height:74px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.brand h1{margin:0}.live-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.blend-inputs{min-width:0}.live-card{position:sticky;top:14px}.live-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.live-title h2{margin:0}.live-status{font-size:.78rem;opacity:.72}.live-metric{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(128,128,128,.2)}.live-analysis{font-size:1.05rem;font-weight:700;padding:12px 0}.live-products{font-size:.88rem;margin-top:10px}.saved-table{width:100%;border-collapse:collapse}.saved-table th,.saved-table td{text-align:left;padding:10px;border-bottom:1px solid rgba(128,128,128,.2)}.saved-actions{display:flex;gap:6px;flex-wrap:wrap}.saved-actions button{padding:6px 9px}
@media(max-width:980px){.live-layout{grid-template-columns:1fr}.live-card{position:static}.brand img{width:170px}}
@media(max-width:650px){header{align-items:flex-start}.brand{align-items:flex-start;gap:10px}.brand img{width:125px}.brand h1{font-size:1.25rem}.saved-table thead{display:none}.saved-table,.saved-table tbody,.saved-table tr,.saved-table td{display:block;width:100%}.saved-table tr{padding:10px 0}.saved-table td{border:0;padding:4px 0}}

/* V2.9 release: keep Blend Details inputs aligned when labels wrap beside Live Blend */
#requirements .grid4{align-items:end}

/* V2.9.1 patch: larger branding, reset blend, attribution footer */
.brand img{width:290px;max-height:96px;padding:4px}
.blend-details-title{margin-bottom:10px}.blend-details-title h2{margin:0}
.reset-blend{border-color:#b42318;color:#b42318;background:#fff;font-weight:700}.reset-blend:hover{background:#fff1f0}
.site-footer{text-align:center;color:#6b746b;font-size:12px;padding:8px 18px 22px}
.login-logo{display:block;width:min(320px,100%);max-height:120px;object-fit:contain;margin:0 auto 16px}
.loginbody{position:relative;padding-bottom:52px}.login-footer{position:absolute;bottom:0;left:0;right:0}
@media(max-width:980px){.brand img{width:220px;max-height:82px}}
@media(max-width:650px){.brand img{width:165px;max-height:70px}.blend-details-title{align-items:center}.reset-blend{padding:7px 9px}}


/* V2.9.2 visual refresh — functionality unchanged */
body{background:#f7f8f7;color:#1f2722}
.app-header{background:#fff;color:#1f2722;padding:16px 4%;min-height:150px;align-items:center;border-bottom:0}
.app-header .brand{display:block}
.app-header .brand img{width:520px;max-width:46vw;max-height:126px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0}
.app-header .userbar{justify-content:flex-end}
.app-header .signed-in{color:#344139;opacity:1}
.app-header .buttonlink{background:#fff;border:1px solid #d5dbd7;color:#26332b;padding:10px 13px}
.app-header .buttonlink:hover{background:#f4f7f5}
.app-header .price{background:#17724f;border-color:#17724f;color:#fff}
.main-nav{background:#087c61;padding:0 4%;border:0;gap:4px;min-height:62px;align-items:stretch}
.main-nav .tab{background:transparent;color:#fff;border:0;border-radius:0;padding:17px 20px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:10px;position:relative}
.main-nav .tab:hover{background:rgba(255,255,255,.08)}
.main-nav .tab.active{border:0;background:rgba(0,0,0,.05);font-weight:700}
.main-nav .tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:4px;background:#d2a437}
.navicon{font-size:24px;line-height:1;color:#fff;font-weight:400}
main{max-width:1500px;margin:26px auto;padding:0 28px}
.card{border-color:#dce2de;border-radius:10px;box-shadow:0 1px 2px rgba(20,55,38,.03);padding:20px}
.card h2{font-size:19px}
#requirements>.live-layout>.blend-inputs>.card:first-child{padding:22px 24px}
.reset-blend{border:1.5px solid #c71818;color:#c71818;background:#fff;border-radius:7px;font-size:14px;padding:10px 14px}
.reset-blend:hover{background:#fff6f6}
.site-footer{display:flex;justify-content:center;gap:min(34vw,520px);align-items:center;background:#f1f4f2;border-top:1px solid #e3e7e4;color:#5f6962;font-size:12px;padding:13px 24px;margin-top:28px}
@media(max-width:1100px){.app-header .brand img{width:410px;max-width:52vw}.main-nav .tab{padding:15px 13px;font-size:14px}.navicon{font-size:20px}}
@media(max-width:800px){.app-header{min-height:0;padding:14px 18px}.app-header .brand img{width:300px;max-width:90vw}.app-header .userbar{justify-content:flex-start}.main-nav{padding:0 8px;overflow-x:auto;white-space:nowrap}.main-nav .tab{flex:0 0 auto}.site-footer{gap:20px;justify-content:space-between}}
@media(max-width:520px){.app-header .brand img{width:240px}.navicon{display:none}.main-nav .tab{padding:14px 11px;font-size:13px}.site-footer{flex-direction:column;gap:4px;text-align:center}}

/* V3.0 DEV1 — Customers & Farms */
.customer-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e2e7e3}
.customer-picker select{background:#fff}
#customerList{display:grid;gap:14px;margin-top:16px}.customer-card{border:1px solid #dce2de;border-radius:9px;padding:16px;background:#fbfcfb}.customer-head,.farm-title,.farm-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.customer-head h3{margin:0 0 4px;color:#176347}.customer-meta{font-size:13px;color:#667066}.customer-actions{display:flex;gap:7px}.customer-notes{font-size:13px;color:#566159}.farm-list{margin-top:14px;padding-top:12px;border-top:1px solid #e1e6e2}.farm-title{margin-bottom:7px}.farm-row{padding:8px 0;border-top:1px solid #edf0ed}.farm-row small{color:#788078;margin-left:8px}.danger-lite{color:#a32121;border-color:#d9a9a9;background:#fff}.empty-state{text-align:center;padding:34px;color:#657067;background:#f7f9f7;border:1px dashed #cdd5cf;border-radius:8px}
@media(max-width:700px){.customer-picker{grid-template-columns:1fr}.customer-head,.farm-row{align-items:flex-start;flex-direction:column}.customer-actions{width:100%}}

/* V3.0 DEV1.1 — Grower > Farm > Field hierarchy */
.hierarchy-picker{grid-template-columns:repeat(3,1fr)}
.grower-search{margin:16px 0 8px}.grower-search input{width:min(420px,100%);padding:10px 12px;border:1px solid #cfd8d1;border-radius:7px;background:#fff}
#customerList{display:block;margin-top:10px}.grower-node,.farm-node,.field-node{border:1px solid #dce2de;border-radius:8px;background:#fff;margin:8px 0;overflow:hidden}.grower-node>summary,.farm-node>summary,.field-node>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}.grower-node>summary::-webkit-details-marker,.farm-node>summary::-webkit-details-marker,.field-node>summary::-webkit-details-marker{display:none}.grower-node>summary:before,.farm-node>summary:before,.field-node>summary:before{content:'▶';font-size:11px;color:#176347;flex:0 0 auto}.grower-node[open]>summary:before,.farm-node[open]>summary:before,.field-node[open]>summary:before{content:'▼'}.grower-node>summary>span:first-of-type,.farm-node>summary>span:first-of-type{flex:1}.grower-node summary small,.farm-node summary small{display:block;color:#6d776f;font-weight:400;margin-top:2px}.grower-node>summary b{color:#176347}.node-count{font-size:12px;color:#718078;white-space:nowrap}.node-body{padding:0 15px 14px;border-top:1px solid #edf0ed}.grower-info{padding:12px 0}.grower-info p{margin:7px 0}.node-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.farm-tree{margin-left:18px}.farm-node{background:#fbfcfb}.farm-body{padding:0 14px 12px;border-top:1px solid #edf0ed}.field-tree{margin:10px 0 0 18px}.field-node{background:#f8faf8}.field-node>summary{padding:10px 12px}.field-body{padding:0 12px 12px;border-top:1px solid #edf0ed;font-size:13px}.field-body p{margin:9px 0}.tree-empty{padding:8px 4px;margin:0}
@media(max-width:700px){.hierarchy-picker{grid-template-columns:1fr}.farm-tree,.field-tree{margin-left:8px}.grower-node>summary,.farm-node>summary{align-items:flex-start}.node-count{font-size:11px}}
/* V3.0 DEV1.2 compact private Grower > Farm > Field tree */
#customerList{border:1px solid #dce3de;border-radius:9px;overflow:visible;background:#fff}
.compact-grower,.compact-farm{margin:0;border:0;background:#fff}.compact-grower+.compact-grower{border-top:1px solid #e7ebe8}
.compact-grower>summary,.compact-farm>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;cursor:pointer;position:relative}
.compact-grower>summary::-webkit-details-marker,.compact-farm>summary::-webkit-details-marker{display:none}
.compact-farm>summary{min-height:36px;padding:6px 10px}.tree-caret{width:13px;flex:0 0 13px;color:#176347}.tree-caret:before{content:'▶';font-size:10px}.compact-grower[open]>summary>.tree-caret:before,.compact-farm[open]>summary>.tree-caret:before{content:'▼'}
.tree-name{font-weight:650;color:#1d2a22;white-space:nowrap}.grower-name{color:#176347}.tree-note,.field-note{font-size:12px;color:#788179;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-note:before,.field-note:before{content:'—';margin:0 7px 0 2px;color:#a4aaa5}
.compact-farms{padding:0 10px 8px 31px}.compact-farm{border-left:1px solid #dce5df}.compact-fields{padding:0 8px 5px 28px;border-left:1px solid #e3e9e5;margin-left:16px}
.compact-field{display:flex;align-items:center;gap:7px;min-height:31px;padding:3px 6px;position:relative}.tree-dot{color:#176347;font-size:16px;line-height:1}.field-name{font-weight:550;color:#26332b;white-space:nowrap}
.tree-menu{margin-left:auto;position:relative;flex:0 0 auto}.tree-menu>summary{list-style:none;width:30px;height:28px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#5d6860;cursor:pointer}.tree-menu>summary::-webkit-details-marker{display:none}.tree-menu>summary:hover{background:#eef3ef}.tree-menu-pop{position:absolute;right:0;top:30px;z-index:30;min-width:145px;padding:5px;background:#fff;border:1px solid #ccd5ce;border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.12);display:grid;gap:2px}.tree-menu-pop button{border:0;background:#fff;text-align:left;padding:7px 9px;border-radius:4px;white-space:nowrap}.tree-menu-pop button:hover{background:#f0f4f1}.tree-menu-pop .menu-danger{color:#a32121}
.tree-add{border:0;background:transparent;color:#176347;padding:5px 6px;font-size:12px;cursor:pointer}.tree-add:hover{text-decoration:underline}.compact-empty{font-size:12px;color:#7a837c;padding:5px 6px}.grower-empty{padding-left:2px}
@media(max-width:700px){.tree-note,.field-note{display:none}.compact-farms{padding-left:20px}.compact-fields{padding-left:15px}.tree-menu-pop{right:0}}

/* V3.0 DEV2.1 — hierarchical saved blends */
.save-assign-toggle{display:inline-flex!important;align-items:center;gap:7px;width:auto!important;cursor:pointer;font-weight:600;margin:8px 0}
.save-assign-toggle input{margin:0!important;width:15px!important;height:15px!important;flex:0 0 15px}
.save-assignment{margin:12px 0 16px}.save-assignment .season-label{display:block;margin-top:8px}.save-assignment .season-label input{display:block;width:100%;margin-top:5px}
.saved-section{margin-top:18px}.saved-section>h3{margin:0 0 8px;font-size:16px;color:#243128}.field-saved-section{margin-top:24px}
.saved-general{border:1px solid #dce3de;border-radius:8px;background:#fff;overflow:visible}
.saved-blend-row{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 10px;border-bottom:1px solid #edf0ed}.saved-blend-row:last-child{border-bottom:0}
.saved-blend-name{font-weight:600;color:#26332b}.saved-compact-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.saved-compact-actions>button{padding:5px 10px}
.saved-tree-node{margin:0;border:0;background:#fff}.saved-tree-node>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:39px;padding:6px 10px;cursor:pointer;border-bottom:1px solid #edf0ed}.saved-tree-node>summary::-webkit-details-marker{display:none}
.saved-tree-node>summary>.tree-caret:before{content:'▶';font-size:10px}.saved-tree-node[open]>summary>.tree-caret:before{content:'▼'}
.saved-grower{border:1px solid #dce3de;border-radius:8px;overflow:visible;margin-bottom:7px}.saved-grower>summary{font-weight:650}
.saved-tree-children{padding-left:24px}.saved-farm,.saved-field,.saved-season{border-left:1px solid #dfe7e1}.saved-season>summary{min-height:33px;font-size:13px;color:#566159}.saved-season-items{padding-left:20px}
.saved-menu{margin-left:0}.saved-menu .tree-menu-pop{z-index:50}
@media(max-width:700px){.saved-tree-children{padding-left:12px}.saved-season-items{padding-left:8px}.saved-blend-row{padding-left:6px}}

/* V3.0 DEV2.2 saved blend overview */
.saved-overview{font-size:13px;color:#59655d;margin-left:12px;white-space:nowrap}.saved-sep{color:#9aa49d;margin:0 5px}
@media(max-width:800px){.saved-blend-row{flex-wrap:wrap}.saved-overview{order:3;width:100%;margin:0 0 3px 23px}.saved-compact-actions{margin-left:auto}}

/* V3.0 DEV3 advanced optimizer */
.advanced-card{padding:0!important}.advanced-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.advanced-card>summary::-webkit-details-marker{display:none}.advanced-card>summary small{display:block;font-weight:400;color:#6d776f;margin-top:3px}.advanced-chevron{font-size:18px;color:#176347}.advanced-card[open] .advanced-chevron{transform:rotate(180deg)}.advanced-body{padding:0 18px 18px;border-top:1px solid #e6ebe7}.advanced-grid{display:grid;grid-template-columns:minmax(220px,360px);gap:12px;margin:15px 0}.advanced-grid label{font-weight:600}.advanced-grid input{display:block;width:100%;margin-top:5px}.advanced-table th,.advanced-table td{text-align:left;vertical-align:middle}.advanced-table td:not(:first-child),.advanced-table th:not(:first-child){text-align:center}.advanced-table input[type=number]{width:105px}.advanced-rules{margin-top:18px;padding-top:12px;border-top:1px solid #e7ebe8}.live-actual{padding:9px 0 11px;margin-bottom:5px;border-bottom:1px solid #e7ebe8}.live-actual span{display:block;font-size:12px;color:#6c776f;margin-bottom:3px}.live-actual b{font-size:13px;line-height:1.5}

/* V3.0 DEV3.1 — Quick Blend / saved grower toggle */
.grower-mode-toggle{display:inline-flex!important;align-items:center;gap:8px;width:auto!important;margin:10px 0 12px;font-weight:650;cursor:pointer;color:#26332b}
.grower-mode-toggle input{width:16px!important;height:16px!important;margin:0!important;flex:0 0 16px}
#savedGrowerPicker{margin-bottom:12px;padding:12px;border:1px solid #dce5df;border-radius:8px;background:#f8faf8}

/* V3.1 DEV4 quote detail view */
.quote-row{width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.quote-row:hover{background:#f7f9f7}.quote-open{margin-left:auto;font-size:13px;font-weight:700;color:#315c3b}.quote-detail-card{margin-top:16px}.quote-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.quote-detail-head h3{margin:0 0 4px}.quote-status{text-transform:capitalize;font-size:12px;font-weight:700;padding:5px 9px;border:1px solid #d9e1da;border-radius:999px;background:#f7f9f7}.quote-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 22px}.quote-summary-grid>div{border:1px solid #e1e6e2;border-radius:7px;padding:10px;background:#fafbfa}.quote-summary-grid small{display:block;color:#68736b;margin-bottom:4px}.quote-summary-grid b{display:block;font-size:14px}.quote-detail-table{width:100%;border-collapse:collapse}.quote-detail-table th,.quote-detail-table td{padding:9px 10px;border-bottom:1px solid #e6e9e6;text-align:right;white-space:nowrap}.quote-detail-table th:first-child,.quote-detail-table td:first-child{text-align:left}.quote-frozen-note{margin-top:12px}@media(max-width:850px){.quote-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.quote-summary-grid{grid-template-columns:1fr}.quote-open{width:100%;margin-left:23px}.quote-detail-head{flex-direction:column}}

/* V3.1 DEV5 quote workflow */
.quote-workflow{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;margin:0 0 14px;border:1px solid #e1e6e2;border-radius:8px;background:#fafbfa}.quote-workflow label{font-size:12px;font-weight:650;color:#536058}.quote-workflow select,.quote-workflow input{display:block;min-width:160px;margin-top:5px}.quote-workflow button{margin-bottom:0}@media(max-width:560px){.quote-workflow{display:grid}.quote-workflow select,.quote-workflow input{width:100%}}

/* V3.1 DEV6 — quote PDF controls and expiry highlighting */
.quote-row.quote-expired{background:#fff3f3;border-left:4px solid #c62828}.quote-row.quote-expired .saved-blend-name,.quote-row.quote-expired .saved-overview,.quote-row.quote-expired .quote-open{color:#a61f1f}.quote-row.quote-expired:hover{background:#ffeaea}
.quote-pdf-box{margin-top:18px;padding:15px;border:1px solid #dce4dd;border-radius:9px;background:#f8faf8}.quote-pdf-box h3{margin:0 0 3px}.quote-pdf-box p{margin:0 0 12px}.quote-pdf-options{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.quote-pdf-options label{display:flex;align-items:center;gap:7px;font-weight:600}.quote-notes-label{display:block;font-size:12px;font-weight:650;color:#536058;margin-bottom:12px}.quote-notes-label textarea{display:block;width:100%;margin-top:5px;resize:vertical;box-sizing:border-box}.quote-pdf-box button{font-weight:700}
.quote-detail-card.quote-detail-expired{border-color:#d85b5b}.quote-detail-card.quote-detail-expired .quote-status{border-color:#d85b5b;background:#fff0f0;color:#a61f1f}
.quote-template-row{display:flex;gap:8px;align-items:center;margin:8px 0}.quote-template-row select{min-width:220px;max-width:360px}.quote-pdf-options{display:flex;flex-wrap:wrap;gap:8px 18px}.quote-pdf-options label{min-width:145px}
/* V3.1 DEV8 multi-blend quote detail */
.quote-blend-block{margin-top:18px;padding-top:14px;border-top:1px solid #dfe6e1}.quote-blend-block h3{margin:0 0 10px}.quote-blend-block h4{margin:14px 0 7px}.quote-multi-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;background:#f5f8f5;border:1px solid #d9e4dc;border-radius:8px;padding:12px 14px;margin:12px 0}.quote-multi-total small{font-weight:700;text-transform:uppercase;color:#66736a}.quote-multi-total b{font-size:1.25rem;color:#1f5a36}
/* V3.1 DEV8 multi-blend quote detail */
.quote-blend-block{margin-top:18px;padding-top:14px;border-top:1px solid #dfe6e1}.quote-blend-block h3{margin:0 0 10px}.quote-blend-block h4{margin:14px 0 7px}.quote-multi-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;background:#f5f8f5;border:1px solid #d9e4dc;border-radius:8px;padding:12px 14px;margin:12px 0}.quote-multi-total small{font-weight:700;text-transform:uppercase;color:#66736a}.quote-multi-total b{font-size:1.25rem;color:#1f5a36}

.quote-assign-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.quote-assign-actions .calculate{font-size:14px;padding:8px 14px}#quoteAssignModal label{display:block;margin-top:12px}#quoteAssignSelect{margin-top:7px}

/* DEV8.4.1: compact combined/separate PDF radio controls */
.quote-output-mode {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin-top: 10px;
}
.quote-output-mode > strong {
  flex: 0 0 100%;
}
.quote-output-mode > label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: auto !important;
  margin: 0;
  white-space: nowrap;
}
.quote-output-mode > label input[type="radio"] {
  width: auto !important;
  min-width: 0 !important;
  margin: 0;
  flex: 0 0 auto;
}

/* DEV9: growing-season organization and quote blend removal */
.quote-season-filter{min-width:150px;max-width:190px;margin-left:auto}
.quote-season-filter select{margin-top:4px}
.quote-blend-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quote-blend-title h3{margin-bottom:8px}
.quote-remove-blend{width:auto!important;white-space:nowrap}

/* V3.1 DEV9.2 — lightweight quote blend edit workflow */
.quote-edit-banner{align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #d6b85a;border-radius:10px;background:#fff9e8}
.quote-edit-banner span{margin-left:6px;color:#59615c;font-size:.92rem}.quote-blend-actions{display:flex;gap:8px;flex-wrap:wrap}
/* V3.1 DEV10.1 — scalable module navigation / clearer module selector */
.module-nav{display:flex;background:#087c61;padding:0 4%;border:0;min-height:62px;align-items:stretch;gap:0;position:relative;z-index:200}
.module-picker{position:relative;display:flex;align-items:stretch;margin-right:20px;padding-right:20px}
.module-picker:after{content:"";position:absolute;right:0;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.42);box-shadow:1px 0 0 rgba(0,0,0,.12)}
.module-trigger{min-width:245px;border:1px solid rgba(255,255,255,.42);border-radius:4px;background:#066b54;color:#fff;padding:8px 14px 9px 16px;text-align:left;display:grid;grid-template-columns:1fr 34px;grid-template-rows:auto auto;column-gap:12px;align-content:center;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.module-trigger:hover,.module-trigger:focus-visible{background:#075f4c;border-color:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px rgba(255,255,255,.16);outline:none}.module-kicker{grid-column:1/2;font-size:10px;text-transform:uppercase;letter-spacing:.09em;opacity:.78;font-weight:700}.module-trigger #activeModuleLabel{grid-column:1/2;font-size:16px;font-weight:750;line-height:1.15}.module-chevron{grid-column:2/3;grid-row:1/3;align-self:center;justify-self:center;font-size:25px;font-weight:700;line-height:1;transition:transform .15s ease}.module-trigger[aria-expanded="true"] .module-chevron{transform:rotate(180deg)}
.module-menu{display:none;position:absolute;left:0;top:calc(100% + 6px);width:330px;background:#fff;border:1px solid #d5dbd7;border-radius:8px;box-shadow:0 12px 30px #0002;padding:6px;z-index:1000}.module-menu.show{display:block}
.module-option{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 12px}.module-option:hover{background:#f1f6f3}.module-option.active{background:#e7f2ed}.module-option b,.module-option small{display:block}.module-option small{margin-top:3px;color:#68736b;font-size:11px;font-weight:400}
.module-tabs{display:flex;align-items:stretch;min-width:0}.module-tabs[hidden]{display:none}.module-nav .tab{background:transparent;color:#fff;border:0;border-radius:0;padding:17px 20px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:10px;position:relative}.module-nav .tab:hover{background:rgba(255,255,255,.08)}.module-nav .tab.active{border:0;background:rgba(0,0,0,.05);font-weight:700}.module-nav .tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:4px;background:#d2a437}
.module-placeholder{display:flex;align-items:center;color:rgba(255,255,255,.72);font-size:13px;padding:0 14px;font-style:italic}.module-link{display:flex;align-items:center;color:#fff;text-decoration:none;padding:0 18px;font-size:14px;font-weight:600}.module-link:hover{background:rgba(255,255,255,.08)}
@media(max-width:800px){.module-nav{padding:0 8px;flex-wrap:wrap;overflow:visible}.module-picker{width:100%;border-bottom:1px solid rgba(255,255,255,.18);margin:0;padding-right:0}.module-picker:after{display:none}.module-trigger{width:100%;min-width:0}.module-menu{width:min(360px,calc(100vw - 16px))}.module-tabs{width:100%;overflow-x:auto;white-space:nowrap}.module-nav .tab{flex:0 0 auto}.module-placeholder{min-height:48px;white-space:normal}.module-link{min-height:48px;flex:0 0 auto}}

/* DEV11 Record Keeping UI prototype */
.record-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 18px}.record-page-head h1{margin:2px 0 4px;font-size:27px}.record-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#0b795f;margin:0}.record-primary{background:#0b795f!important;color:#fff!important;border-color:#0b795f!important}.record-open-card{border-top:4px solid #d7a72b}.record-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.record-card-title h2{margin:0 0 4px}.record-badge,.crop-pill{display:inline-block;background:#eef7f3;color:#0b795f;border:1px solid #c9e2d8;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.record-picker-grid{display:grid;grid-template-columns:1.4fr 1.2fr 1.2fr .8fr;gap:14px;margin-top:18px}.record-picker-grid label,.record-year-select label{font-weight:700;font-size:13px}.record-picker-grid select,.record-year-select select{display:block;width:100%;margin-top:6px}.record-picker-actions{display:flex;gap:8px;margin-top:16px}.record-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.record-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #cbd3cf;border-radius:8px;background:#fafcfb;color:#68736e;gap:5px}.record-empty b{color:#29322e}.record-empty.compact{min-height:92px}.record-sep{color:#a5ada9;font-weight:400;margin:0 4px}.field-hero{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;border-left:5px solid #0b795f}.field-hero h2{font-size:25px;margin:8px 0 2px}.field-hero p{margin:0;color:#68736e}.field-hero-stat{text-align:right;border-left:1px solid #dce2df;padding-left:28px}.field-hero-stat b{display:block;font-size:28px}.field-hero-stat span{color:#68736e;font-size:12px;text-transform:uppercase}.field-hero-actions{display:flex;gap:8px}.field-record-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;margin-top:16px}.field-record-grid .card{margin:0}.field-kv{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px;margin-top:16px}.field-kv span{color:#68736e}.field-kv b{text-align:right}.field-apps,.field-history{grid-column:1/-1}.history-strip{display:flex;align-items:center;gap:12px;margin:18px 0}.history-strip span{min-width:112px;padding:12px 16px;border:1px solid #d8dfdc;border-radius:8px;background:#fafcfb}.history-strip span.current{border-color:#0b795f;background:#eef7f3}.history-strip i{font-style:normal;color:#98a29d}.record-coming{max-width:900px}.record-coming h1{margin-bottom:8px}@media(max-width:850px){.record-picker-grid,.record-dashboard-grid,.field-record-grid{grid-template-columns:1fr}.field-apps,.field-history{grid-column:auto}.field-hero{grid-template-columns:1fr}.field-hero-stat{text-align:left;border-left:0;padding-left:0}.record-page-head{align-items:flex-start;flex-direction:column}.history-strip{overflow-x:auto}.record-picker-grid{grid-template-columns:1fr 1fr}}

/* DEV11.2 Grower dashboard + whole-grower crop plan prototype */
.grower-dashboard-hero{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px;border-left:5px solid #0b795f}.grower-dashboard-hero h2{font-size:25px;margin:8px 0 2px}.grower-dashboard-hero p{margin:0;color:#68736e}.grower-stat{min-width:120px;text-align:center;border-left:1px solid #dce2df;padding-left:28px}.grower-stat b{display:block;font-size:27px}.grower-stat span{display:block;color:#68736e;font-size:12px;text-transform:uppercase;margin-top:3px}.crop-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.crop-stat{margin:0!important;display:flex;align-items:center;gap:14px;padding:17px 20px!important}.crop-stat b{display:block;font-size:20px}.crop-stat span:not(.crop-dot){display:block;color:#68736e;margin-top:2px}.crop-dot{width:13px;height:13px;border-radius:50%;display:inline-block;background:#0b795f;flex:0 0 13px}.crop-dot.soy{background:#809b47}.crop-dot.wheat{background:#d7a72b}.single-field-picker{display:block;font-weight:700;margin:18px 0 12px}.single-field-picker select{display:block;width:100%;margin-top:6px}.plan-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.plan-mini span{padding:12px;border:1px solid #dce2df;border-radius:7px;background:#fafcfb;color:#68736e}.plan-mini b{display:block;color:#1d2924;font-size:20px}.crop-plan-group{margin-bottom:16px}.crop-plan-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.crop-plan-head>div{display:flex;align-items:center;gap:10px}.crop-plan-head h2{margin:0}.crop-plan-head span:not(.crop-dot){color:#68736e}.crop-plan-head>b{font-size:18px}.crop-plan-table{width:100%}.crop-plan-table td,.crop-plan-table th{white-space:nowrap}.field-link{cursor:pointer}.field-link:hover td{background:#f1f8f5}.status-chip{display:inline-block;border:1px solid #d7ddd9;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:#fafbfa;color:#68736e}.status-chip.ready{background:#eef7f3;color:#0b795f;border-color:#c9e2d8}.field-head-pickers{display:flex;gap:10px}.field-head-pickers label{font-weight:700;font-size:13px}.field-head-pickers select{display:block;min-width:140px;margin-top:6px}.demo-plan-list{margin-top:10px}.demo-plan-list>div{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e3e7e5}.demo-plan-list>div:last-child{border-bottom:0}.demo-plan-list span{color:#68736e}.demo-plan-list em{font-style:normal;font-size:11px;font-weight:800;color:#0b795f;background:#eef7f3;border-radius:999px;padding:4px 8px}@media(max-width:850px){.grower-dashboard-hero,.crop-stat-grid{grid-template-columns:1fr}.grower-stat{text-align:left;border-left:0;padding-left:0}.plan-mini{grid-template-columns:1fr}.field-head-pickers{width:100%;flex-wrap:wrap}.field-head-pickers label{flex:1}.field-head-pickers select{width:100%}}

/* DEV11.2 Fertility plan + printable quick-reference prototype */
.fertility-plan-list{margin-top:10px}.fertility-plan-row,.seed-plan-row{width:100%;display:grid;grid-template-columns:1.35fr .75fr .8fr auto;gap:14px;align-items:center;padding:12px 8px;border:0;border-bottom:1px solid #e3e7e5;background:transparent;text-align:left}.fertility-plan-row{cursor:pointer}.fertility-plan-row:hover{background:#f1f8f5}.fertility-plan-row span,.seed-plan-row span{display:flex;flex-direction:column;gap:2px}.fertility-plan-row small,.seed-plan-row small{color:#68736e}.fertility-plan-row em,.seed-plan-row em{font-style:normal;font-size:11px;font-weight:800;color:#0b795f;background:#eef7f3;border-radius:999px;padding:4px 8px}.report-actions{display:flex;align-items:flex-end;gap:10px}.report-actions label{font-size:13px;font-weight:700}.report-actions select{display:block;margin-top:5px}.report-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:5px solid #0b795f}.report-summary h2{margin:8px 0 2px}.report-legend{display:flex;gap:22px}.report-legend span{display:flex;flex-direction:column;color:#68736e;font-size:12px}.report-legend b{color:#1d2924}.print-plan-group{margin-top:16px}.quick-ref-table{width:100%}.quick-ref-table td,.quick-ref-table th{vertical-align:middle}.quick-ref-table td small{display:block;color:#68736e;margin-top:2px}.blend-detail-dialog{width:min(680px,calc(100vw - 30px));border:0;border-radius:10px;box-shadow:0 20px 60px #0005;padding:0}.blend-detail-dialog::backdrop{background:#0006}.blend-detail-dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e1e5e3;padding-bottom:14px}.dialog-head h2{margin:3px 0}.dialog-head>button{font-size:26px;border:0;background:transparent;padding:0 5px}.blend-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.blend-detail-grid div{padding:12px;border:1px solid #dce2df;border-radius:7px}.blend-detail-grid span{display:block;color:#68736e;font-size:12px}.blend-detail-grid b{display:block;margin-top:3px}.blend-ingredients{width:100%;margin-top:10px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:18px}@media(max-width:850px){.fertility-plan-row,.seed-plan-row{grid-template-columns:1fr 1fr}.report-summary,.report-legend,.report-actions{align-items:flex-start;flex-direction:column}.blend-detail-grid{grid-template-columns:1fr}}
@media print{header,.module-nav,footer,.record-page-head .report-actions,.screen-only,.blend-detail-dialog{display:none!important}body{background:#fff}.panel{display:none!important}#recordReports{display:block!important}.card{box-shadow:none!important;border:1px solid #bbb!important;break-inside:avoid}.record-page-head{display:block!important;margin-bottom:10px}.record-page-head .muted{display:none}.report-summary{margin-bottom:10px}.print-plan-group{margin-top:10px;padding:12px!important}.quick-ref-table{font-size:11px}.quick-ref-table th,.quick-ref-table td{padding:7px!important}.module-nav+main{padding-top:0}}
/* DEV11.3 all-growers dashboard prototype */
.company-dashboard-hero{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(110px,.5fr));align-items:center;gap:18px}.company-crops{margin-bottom:16px}.grower-directory{padding:18px}.record-search-wrap{display:flex;align-items:center;gap:8px;position:relative;margin:8px 0 6px}.record-search-wrap input{margin:0;padding:11px 82px 11px 38px;font-size:15px}.record-search-icon{position:absolute;left:13px;font-size:22px;color:#61706a;pointer-events:none}.record-search-wrap button{position:absolute;right:6px;border:0;background:transparent;color:#0b795f;font-weight:700}.record-search-hint{font-size:12px;color:#68736e;margin:0 0 12px}.grower-card-list{display:grid;gap:9px}.grower-overview-card{width:100%;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(300px,2fr) 100px 120px;align-items:center;gap:18px;text-align:left;padding:14px 16px;background:#fff;border:1px solid #d8dfdb}.grower-overview-card:hover{background:#f4faf7;border-color:#9bc9b8}.grower-overview-card span{display:flex;flex-direction:column}.grower-overview-card b{font-size:15px}.grower-overview-card small{color:#68736e;margin-top:3px}.grower-overview-card strong{font-size:18px}.grower-overview-card em{font-style:normal;font-weight:800;color:#0b795f;text-align:right}.grower-crop-mix{font-size:13px;color:#53615b}.grower-back-row{margin-bottom:10px}.grower-back-row button{font-weight:700;color:#0b795f}.grower-overview-card.search-match{border-color:#0b795f;background:#f1f8f5}@media(max-width:900px){.company-dashboard-hero{grid-template-columns:1fr 1fr}.company-dashboard-hero>div:first-child{grid-column:1/-1}.grower-overview-card{grid-template-columns:1fr 100px}.grower-overview-card .grower-crop-mix{grid-column:1/-1;grid-row:2}.grower-overview-card em{grid-column:2;grid-row:1}}
/* The older Blender print rule forces #results visible. Record Keeping reports must explicitly suppress it. */
@media print{#results{display:none!important}#recordReports{display:block!important}}
/* DEV12 Record Keeping live-data additions */
.record-kv{display:grid;grid-template-columns:1fr 1.4fr;gap:10px 18px}.record-kv span{color:#66736e}.record-kv b{text-align:right}.cropyear-modal{max-width:720px}.cropyear-modal textarea{width:100%;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.rk-grower{cursor:default}.rk-grower button{margin-left:auto}.field-record-selectors{display:flex;gap:10px;align-items:end}.field-record-selectors label{min-width:190px}.fertility-plan-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e1e6e3}.fertility-plan-row div{display:flex;flex-direction:column;gap:3px}.fertility-plan-row span{color:#64716d}.empty-state{text-align:center;padding:24px}.record-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.field-hero{display:flex;align-items:center;gap:24px}.field-hero>div:first-child{flex:1}@media(max-width:800px){.record-detail-grid{grid-template-columns:1fr}.field-record-selectors,.field-hero{flex-direction:column;align-items:stretch}.record-kv{grid-template-columns:1fr}.record-kv b{text-align:left}}
/* DEV13 fertility applications */
.fertility-app-row{width:100%;display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;text-align:left;border:0;border-bottom:1px solid #e1e6e3;background:transparent;cursor:pointer}.fertility-app-row:hover{background:#f1f8f5}.fertility-app-row>div{display:flex;flex-direction:column;gap:3px}.fertility-app-row>div:nth-child(2){align-items:flex-start}.fertility-app-row .status-chip{text-transform:capitalize}.modal-actions .danger{color:#a12d2d}@media(max-width:800px){.fertility-app-row{grid-template-columns:1fr auto}.fertility-app-row>div:nth-child(2){grid-column:1/-1}}

/* DEV14.1 multi-field crop-plan assignment */
.bcp-modal{max-width:820px}.bcp-fields{max-height:420px;overflow:auto;margin:16px 0;border:1px solid #d8ded8;border-radius:10px;background:#fafcf9}.bcp-crop-group+.bcp-crop-group{border-top:1px solid #d8ded8}.bcp-crop-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#eef4ee}.bcp-crop-head label{margin:0}.bcp-crop-head span{font-size:.86rem;color:#617064}.bcp-field-row{display:grid;grid-template-columns:auto 1fr 90px 24px;gap:10px;align-items:center;padding:9px 12px;margin:0;border-top:1px solid #edf0ed}.bcp-field-row>span{display:flex;flex-direction:column}.bcp-field-row small{color:#728075}.bcp-field-acres{width:90px}.bcp-field-row em{font-style:normal;color:#728075}.bcp-summary{padding:10px 12px;border-radius:8px;background:#eef4ee;margin-bottom:10px}
/* DEV15 — Crop Plan usability and management */
.crop-plan-group{margin-top:14px;padding:0;overflow:hidden}.crop-plan-group-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #dde5df}.crop-plan-group-head h2{margin:5px 0 0}.crop-plan-group-head>div:last-child{text-align:right}.crop-plan-group-head>div:last-child b,.crop-plan-group-head>div:last-child span{display:block}.plan-summary-list{display:flex;flex-wrap:wrap;gap:6px}.plan-summary-chip{display:flex;flex-direction:column;align-items:flex-start;padding:6px 9px!important;border:1px solid #cddbd2!important;background:#f5faf6!important;border-radius:7px!important;min-width:120px}.plan-summary-chip b{font-size:12px}.plan-summary-chip span{font-size:11px;color:#53635a}.crop-plan-table td:first-child small,.unplanned-field-list small{display:block;color:#68756d;margin-top:2px}.unplanned-fields{margin-top:14px}.unplanned-field-list>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #e3e8e4}.blend-plan-detail{max-width:720px}.plan-cost-grid:empty{display:none}

/* DEV15.1 mass applications */
.mass-app-card{max-width:980px}.mass-app-controls{margin-top:16px}.rate-inline{display:grid;grid-template-columns:1fr 120px;gap:8px}.mass-app-actions{display:flex;justify-content:flex-end;margin-top:12px}@media(max-width:700px){.rate-inline{grid-template-columns:1fr}.mass-app-actions button{width:100%}}

/* DEV16 — live Record Keeping reports */
.rk-report-controls{margin-bottom:12px}.rk-report-controls .grid2{max-width:620px}.rk-report-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.rk-report-choice{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:15px 16px;border:1px solid #d7dfda;background:#fff;border-radius:9px}.rk-report-choice span{font-size:12px;color:#68736e;margin-top:4px}.rk-report-choice.active{border-color:#0b795f;background:#f1f8f5;box-shadow:inset 0 0 0 1px #0b795f}.rk-report-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 14px}.requirements-table td:last-child{min-width:220px;white-space:normal}.crop-plan-head>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.crop-plan-head h2{margin:0}.crop-plan-head span{color:#68736e;font-size:13px}@media(max-width:760px){.rk-report-picker{grid-template-columns:1fr}.rk-report-toolbar{justify-content:stretch}.rk-report-toolbar button{flex:1}.requirements-table td:last-child{min-width:160px}}
@media print{.rk-report-controls,.rk-report-picker,.rk-report-toolbar{display:none!important}#rrBody{display:block!important}.requirements-table td:last-child{min-width:0}.report-summary{border-left:4px solid #777!important}}

/* DEV16.1 — branded Crop Plan report summary */
.report-summary-branded{display:block;padding:20px 24px;border-left:5px solid #0b795f}.report-brand{display:flex;align-items:center;gap:18px;padding-bottom:16px;border-bottom:1px solid #dfe6e2}.report-brand img{width:88px;max-height:72px;object-fit:contain}.report-company{font-size:13px;font-weight:900;letter-spacing:1.6px;color:#0b795f;margin-bottom:7px}.report-brand h2{margin:7px 0 0;font-size:25px}.report-overview{padding-top:16px}.report-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-totals>div{padding:10px 12px;border:1px solid #dce4df;border-radius:7px;background:#f8faf9}.report-totals span{display:block;font-size:11px;font-weight:700;color:#68736e;text-transform:uppercase;letter-spacing:.35px}.report-totals b{display:block;margin-top:3px;font-size:16px;color:#1d2924}.report-crop-breakdown{margin-top:15px}.report-crop-breakdown h3{margin:0 0 8px;font-size:13px;color:#405049}.report-crop-stats{display:flex;flex-wrap:wrap;gap:8px}.report-crop-stat{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #cfdcd5;border-radius:999px;background:#f1f8f5;font-size:12px}.report-crop-stat b{color:#0b795f}.report-crop-stat span{font-weight:700}@media(max-width:760px){.report-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.report-brand{align-items:flex-start}.report-brand img{width:70px}}
@media print{.report-summary-branded{padding:14px 16px!important;border-left:4px solid #777!important}.report-brand{gap:12px;padding-bottom:10px}.report-brand img{width:72px;max-height:58px}.report-company{font-size:11px}.report-brand h2{font-size:20px}.report-overview{padding-top:10px}.report-totals{gap:6px}.report-totals>div{padding:7px 9px}.report-crop-breakdown{margin-top:9px}.report-crop-stats{gap:5px}.report-crop-stat{padding:5px 8px}.print-plan-group{break-inside:auto}.quick-ref-table tr{break-inside:avoid}}

/* DEV16.2 — clickable Blender-originated crop plan details */
.plan-summary-chip .view-blend-hint{display:inline-block;margin-left:7px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2f6b45}.blend-ingredients th:nth-child(2),.blend-ingredients th:nth-child(3),.blend-ingredients td:nth-child(2),.blend-ingredients td:nth-child(3){text-align:right}

/* DEV16.3 — Crop Planning & Report Polish */
.plan-note-hint{margin-top:3px;font-size:10px!important;font-weight:800;color:#6b5b24!important;text-transform:uppercase;letter-spacing:.04em}.report-application-note{display:block!important;margin-top:4px!important;font-size:11px!important;font-style:italic;color:#59665f!important;font-weight:400;line-height:1.3;white-space:pre-line}.report-application-row{break-inside:avoid;page-break-inside:avoid}.print-plan-group .crop-plan-head{break-after:avoid;page-break-after:avoid}.quick-ref-table thead{display:table-header-group}
@media print{.report-application-note{font-size:9.5px!important;color:#444!important}.report-application-row{break-inside:avoid!important;page-break-inside:avoid!important}.print-plan-group .crop-plan-head{break-after:avoid!important;page-break-after:avoid!important}.quick-ref-table thead{display:table-header-group!important}}
/* DEV17 grower directory + year-to-year planning */
.grower-head-actions{display:flex;gap:10px;align-items:center}.grower-directory-stats{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:14px}.grower-directory-stats>div{background:#fff;border:1px solid #dfe7e1;border-radius:12px;padding:15px 18px;box-shadow:0 2px 8px rgba(20,55,38,.04)}.grower-directory-stats b{display:block;font-size:1.35rem;color:#174d36}.grower-directory-stats span{display:block;color:#6b756f;font-size:.82rem;margin-top:2px}.grower-manager-card{padding:0;overflow:visible}.grower-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #e6ece8}.grower-toolbar .record-search-wrap{margin:0;max-width:460px;flex:1}.compact-grower>summary{min-height:58px;padding:11px 18px}.compact-farm>summary{padding-left:24px}.compact-farms{background:#fbfcfb}.compact-fields{margin-left:30px}.grower-name{font-size:1.02rem;color:#173f30}.grower-rollup{margin-left:8px}.hierarchy-picker .grower-search-label{grid-column:span 2}.hierarchy-picker .grower-search-label input{min-width:210px}.import-summary{margin-top:18px;padding:16px;border:1px solid #dfe7e1;border-radius:10px;background:#f8fbf9}.import-summary>label{display:block;margin:12px 0}.import-warning{padding:10px;border-radius:7px;background:#fff4dd;color:#765514}.copy-plan-row{display:flex!important;gap:12px;align-items:flex-start;padding:12px;border:1px solid #e1e8e3;border-radius:9px;margin:8px 0;background:#fff}.copy-plan-row input{margin-top:4px}.copy-plan-row span{display:flex;flex-direction:column;gap:3px}.copy-plan-row small,.copy-plan-row em{color:#66736c;font-size:.84rem}.crop-plan-head-actions{display:flex;align-items:center;gap:14px}.crop-plan-head-actions>div{display:flex;flex-direction:column;align-items:flex-end}.crop-plan-head-actions button{font-size:.82rem;padding:7px 10px}
@media(max-width:760px){.grower-directory-stats{grid-template-columns:repeat(2,1fr)}.grower-toolbar,.grower-head-actions{align-items:stretch;flex-direction:column}.hierarchy-picker .grower-search-label{grid-column:auto}.crop-plan-head-actions{align-items:flex-end;flex-direction:column;gap:6px}}

/* DEV17.1 — unified searchable grower picker + persistent Record Keeping context */
.search-select{position:relative}.search-select input{width:100%}.search-select-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:80;max-height:260px;overflow:auto;background:#fff;border:1px solid #ccd8d1;border-radius:9px;box-shadow:0 10px 28px rgba(22,54,38,.16);padding:5px}.search-select-menu.show{display:block}.search-select-option{display:block;width:100%;text-align:left;border:0;background:#fff;padding:9px 10px;border-radius:6px}.search-select-option:hover,.search-select-option.selected{background:#eef7f3;color:#0b795f}.search-select-empty{padding:10px;color:#68736e}.hierarchy-picker{grid-template-columns:repeat(4,1fr)}
.record-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 16px;background:#f4f8f5;border:1px solid #d9e5dd;border-left:4px solid #0b795f;border-radius:10px}.record-context-grower{display:flex;flex-direction:column}.record-context-grower span,.record-context-year span{font-size:10px;font-weight:800;letter-spacing:.11em;color:#708078}.record-context-grower b{font-size:1.35rem;color:#174d36;margin-top:1px}.record-context-year{display:flex;align-items:center;gap:6px}.record-context-year label{display:flex;flex-direction:column}.record-context-year select{min-width:100px;font-weight:800;padding:6px 28px 6px 9px}.record-context-year button{font-size:1.35rem;line-height:1;padding:7px 11px}.record-context+.record-page-head{margin-top:0}
@media(max-width:760px){.hierarchy-picker{grid-template-columns:1fr}.record-context{align-items:flex-start;flex-direction:column}.record-context-year{width:100%}.record-context-year label{flex:1}.record-context-year select{width:100%}}

/* DEV18 multi-product fertilizer applications */
.mass-fertilizer-mix{grid-column:1/-1;border:1px solid #d7e1dc;border-radius:10px;padding:12px;background:#f8fbf9}.mass-mix-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.mass-mix-title small{display:block;color:#68756f;margin-top:2px}.ma-component-row{display:grid;grid-template-columns:minmax(220px,2fr) 110px 120px 42px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #e4ebe7}.ma-component-row:first-child{border-top:0}.ma-component-row small{grid-column:1/-1;color:#68756f}.mass-manure-single{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mass-manure-single[hidden],.mass-fertilizer-mix[hidden]{display:none!important}@media(max-width:800px){.ma-component-row{grid-template-columns:1fr 1fr}.ma-component-row button{width:42px}.mass-manure-single{grid-template-columns:1fr}}
/* DEV19 / NM1 — manure nutrient credit */
.manure-detail-card{margin:14px 0;padding:14px;border:1px solid var(--line,#d7dce2);border-radius:10px;background:#f8faf8}.manure-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.manure-detail-head small{display:block;margin-top:3px;color:#65706b}.manure-detail-head button{white-space:nowrap}.nm-book-note,.nm-credit-preview{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #dfe5df}.nm-credit-preview{font-weight:600}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.manure-detail-card h4{margin:12px 0 6px}@media(max-width:760px){.grid3{grid-template-columns:1fr}.manure-detail-head{align-items:flex-start;flex-direction:column}}
/* DEV22 NM1 manure hierarchy + grower source library */
.nm-source-save{padding:10px 0 2px}.mass-manure-single{grid-template-columns:repeat(2,minmax(0,1fr))}.nm-credit-preview{margin-top:10px}
.nm-library-source{padding:0;overflow:hidden}.nm-library-source-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;background:#f5f8f5}.nm-library-source-head h3{margin:0 0 4px}.nm-library-tests{padding:0 16px 16px}.nm-library-test{display:grid;grid-template-columns:1.1fr 1fr 1.4fr;gap:12px;padding:12px 0;border-bottom:1px solid #e0e5e0;font-size:13px}.nm-import-row{border:1px solid #d5dbd5;border-radius:8px;padding:12px;margin:10px 0}.nm-import-meta{font-size:12px;color:#667066;margin:5px 0 10px}.nm-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:700px){.nm-library-test,.nm-import-grid{grid-template-columns:1fr}}

/* DEV25 NM2 */
.nm-yield-card{margin:16px 0;padding:14px;border:1px solid var(--border,#d8dde3);border-radius:10px;background:rgba(0,0,0,.015)}.nm-yield-card h3{margin:0 0 12px}.nm-yield-card h3 small{font-weight:400;color:#68727d}.nm2-controls{margin-bottom:16px}.nm2-hero{display:flex;justify-content:space-between;gap:18px;align-items:center}.nm2-note{max-width:390px;color:#68727d;font-size:.9rem}.nm2-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.nm2-stat b{font-size:1.65rem}.nm2-stat span,.nm2-stat small{display:block}.nm2-stat small{color:#68727d;margin-top:5px}.nm2-year-detail{padding:12px 0;border-bottom:1px solid #e4e7eb}.nm2-year-detail>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;color:#4f5964}@media(max-width:800px){.nm2-stat-grid{grid-template-columns:1fr}.nm2-hero,.nm2-year-detail>div{display:block}}
/* DEV30 Nutrient Tracking */
.nm2-mode-card{margin-bottom:14px}.nm2-mode-toggle{display:flex;gap:8px;flex-wrap:wrap}.nm2-year-input{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:18px;padding:14px 0;border-top:1px solid #dfe5e2}.nm2-year-input:first-of-type{border-top:0}.nm2-year-input small{display:block;margin-top:4px;color:#65716d}.nm2-removal-edit{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.nm2-removal-edit label{min-width:120px}.nm2-removal-edit input[type=number]{max-width:150px}.nm2-unit{padding:10px 0}.nm2-sandbox-row{margin-top:12px}.nm2-sandbox-residue,.nm2-sandbox-result{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.nm2-sandbox-residue label{max-width:220px}.nm2-sandbox-result{justify-content:space-between;border-top:1px solid #dfe5e2;padding-top:12px}@media(max-width:800px){.nm2-year-input{grid-template-columns:1fr}}
/* DEV31 NM3 grower nutrient dashboard */
.nm3-controls{margin-bottom:14px}.nm3-controls .grid2{max-width:650px}.nm3-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.nm3-stat b{display:block;font-size:1.65rem}.nm3-stat span,.nm3-stat small{display:block}.nm3-stat small{color:#68727d;margin-top:5px}.nm3-table td:first-child small,.nm3-table td:nth-child(3) small{display:block;color:#68736e;margin-top:3px}.nm3-table td{white-space:nowrap}.nm3-table td:first-child,.nm3-table td:nth-child(3){white-space:normal}.nm3-unplanned{background:#fafbfa}@media(max-width:800px){.nm3-stat-grid{grid-template-columns:1fr}}

/* DEV34 / NM5 reports */
.nm5-controls .grid4{align-items:end}.nm5-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.nm5-note{margin-top:12px}.nm5-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nm5-report-grid>div{border:1px solid var(--line,#ddd);border-radius:10px;padding:14px;background:rgba(0,0,0,.015)}.nm5-report-grid b,.nm5-report-grid small{display:block}.nm5-report-grid small{margin-top:5px;color:var(--muted,#667)}@media(max-width:800px){.nm5-report-grid{grid-template-columns:1fr}}
/* V3.2 Field Boundary Mapping */
.field-map-layout{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:16px;align-items:start}.field-map-sidebar{max-height:calc(100vh - 190px);overflow:auto}.field-map-sidebar label{display:block;margin-bottom:10px}.field-map-card{padding:0;overflow:hidden}.field-map-card #fieldBoundaryMap{height:calc(100vh - 225px);min-height:560px;background:#e8ece8}.fm-map-note{padding:7px 12px;font-size:12px;color:#68736b;border-top:1px solid #ddd}.fm-field-list{display:grid;gap:7px;margin:12px 0 16px}.fm-field-row{width:100%;text-align:left;border:1px solid #d8dfd8;background:#fff;border-radius:8px;padding:9px 10px;display:flex;justify-content:space-between;gap:8px}.fm-field-row.active{outline:2px solid #52765b;background:#f4f8f4}.fm-field-row small{display:block;color:#6d756e;margin-top:2px}.fm-boundary-dot{font-size:11px;font-weight:700;white-space:nowrap}.fm-editor{border-top:1px solid #dde2dd;padding-top:14px}.fm-editor h3{margin:0 0 4px}.fm-acre-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.fm-acre-compare div{background:#f4f6f4;border-radius:7px;padding:8px}.fm-acre-compare b{display:block;font-size:17px}.fm-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fm-actions button{margin:0}.fm-draw-help{font-size:12px;color:#68736b;margin:8px 0}.fm-crop-key{font-size:12px;margin-top:4px}.fm-vertex{background:#fff;border:2px solid #315f3b;border-radius:50%;width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important}@media(max-width:900px){.field-map-layout{grid-template-columns:1fr}.field-map-sidebar{max-height:none}.field-map-card #fieldBoundaryMap{height:60vh;min-height:430px}}
.fm-farm-group{display:grid;gap:6px;margin-bottom:10px}.fm-farm-heading{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#526057;padding:3px 2px;border-bottom:1px solid #e2e7e2}
.fm-batch-launch{margin-top:14px;padding-top:14px;border-top:1px solid #ddd;display:grid;gap:5px}.fm-import-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:5000;padding:4vh 4vw;overflow:auto}.fm-import-dialog{max-width:1100px;margin:auto;background:#fff;padding:20px}.fm-import-head,.fm-import-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.fm-import-footer{margin-top:18px;justify-content:flex-end}.fm-import-row{border:1px solid #ddd;border-radius:8px;padding:12px;margin:10px 0;display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(320px,2fr);gap:15px}.fm-import-source small{display:block}.fm-import-controls{display:grid;gap:8px}.fm-import-controls .inline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.fm-import-controls label{margin:0;min-width:140px}.fm-import-error{color:#a12622;font-weight:600}@media(max-width:800px){.fm-import-row{grid-template-columns:1fr}}
/* V3.2 DEV4 — map-based Mass Application field selection */
.ma-map-modal-card{width:min(1100px,94vw);max-height:92vh;overflow:auto;padding:18px}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-head h2{margin:0 0 4px}.modal-head>button{font-size:22px;line-height:1;padding:5px 10px}.ma-map-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:10px 0}.ma-map-toolbar>span:first-child{font-weight:700;white-space:nowrap}#maFieldMap{height:min(66vh,650px);min-height:440px;border:1px solid #d5dbd5;border-radius:8px;background:#e8ece8}.ma-map-modal-card .modal-actions{margin-bottom:0}@media(max-width:800px){.ma-map-toolbar{display:block}.ma-map-toolbar>span{display:block;margin-bottom:5px}#maFieldMap{min-height:380px;height:58vh}}
/* V3.2 DEV5 — satellite basemap, searchable mapping grower, field-record map preview */
.fm-basemap-toggle{position:absolute;z-index:500;right:20px;top:20px;display:flex;background:#fff;border:1px solid #cad5ce;border-radius:8px;padding:3px;box-shadow:0 2px 9px rgba(20,50,35,.14)}.field-map-card{position:relative}.fm-basemap-toggle button{border:0;background:transparent;padding:7px 11px;border-radius:6px}.fm-basemap-toggle button.active{background:#176347;color:#fff}.field-map-preview-card{overflow:hidden}.rk-field-mini-map{height:285px;border-radius:9px;border:1px solid #dce4df;cursor:pointer;background:#e8ece9}.field-map-open{margin-top:10px}.field-map-empty{min-height:210px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed #cdd8d1;border-radius:9px;background:#f8faf9;padding:24px}.field-map-empty p{margin:6px 0 14px}.field-map-sidebar .search-select{margin-top:6px}

/* V3.2 DEV5A map styling */
.field-map-label{background:rgba(8,25,43,.78)!important;color:#fff!important;border:0!important;border-radius:6px!important;box-shadow:0 1px 4px rgba(0,0,0,.35)!important;padding:4px 7px!important;text-align:center!important;font-size:12px!important;line-height:1.2!important;pointer-events:none!important}.field-map-label:before{display:none!important}.field-map-label b{font-size:13px}.rk-field-mini-map .leaflet-tooltip{white-space:nowrap}
/* V3.2 DEV6 crop-year map colouring */
.field-map-card{position:relative}.fm-legend-wrap{position:absolute;right:18px;top:68px;z-index:600}.fm-legend-toggle{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;box-shadow:0 2px 8px #0002;font-weight:700}.fm-crop-legend{width:220px;background:rgba(255,255,255,.96);border:1px solid #cbd5e1;border-radius:10px;padding:12px;box-shadow:0 3px 14px #0003}.fm-crop-legend.collapsed{display:none}.fm-legend-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.fm-legend-head button{border:0;background:transparent;font-size:20px;padding:0 4px}.fm-legend-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:4px 0}.fm-legend-row input[type=color]{width:28px;height:24px;padding:0;border:0;background:transparent}.fm-opacity-row{display:grid;grid-template-columns:1fr;gap:4px;border-top:1px solid #e5e7eb;margin-top:8px;padding-top:9px}.fm-opacity-row input{width:100%}.fm-opacity-row b{font-size:12px;color:#64748b}.fm-reset-colors{width:100%;margin-top:8px}.fm-field-crop{font-size:11px;font-weight:700;color:#475569;margin-left:5px}.field-map-label{font-weight:700;text-align:center;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;color:#fff;background:transparent;border:0;box-shadow:none}.field-map-label:before{display:none}
.fm-legend-toggle{display:none}
.quote-list-tabs{display:flex;gap:8px;margin:4px 0 14px;border-bottom:1px solid #dfe5e0;padding-bottom:8px}.quote-list-tabs button{background:#f5f7f5;color:#46524a;border:1px solid #d9e0da}.quote-list-tabs button.active{background:#245b38;color:#fff;border-color:#245b38}.quote-row-wrap{display:flex;align-items:stretch;gap:8px}.quote-row-wrap .quote-row{flex:1}.quote-row.quote-inactive{background:#f7f7f7}.quote-row.quote-inactive .saved-overview{color:#707770}.quote-list-delete{width:auto;align-self:center;padding:7px 10px}.danger{background:#fff!important;color:#a12626!important;border:1px solid #d9a4a4!important}.danger:hover{background:#fff0f0!important}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 18px;margin:12px 0}.permission-grid label{display:flex;align-items:center;gap:8px;font-weight:500}.permission-grid input{width:auto}

/* V3.4 DEV2 admin activity */
.audit-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.audit-toolbar h2{margin-bottom:2px}.audit-filters{display:flex;gap:8px;flex-wrap:wrap}.buttonlink.compact{padding:5px 9px;font-size:.88rem}.buttonlink.active{box-shadow:inset 0 -3px 0 currentColor}.admin-quote-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}.admin-quote-meta>div{padding:10px 12px;border:1px solid var(--border,#ddd);border-radius:8px}.muted{opacity:.7}

/* V3.5: persistent record context and shared administration presentation. */
.has-record-context{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start;max-width:1500px}
.rk-shared-context{position:sticky;top:100px;display:grid;gap:18px;grid-column:1;grid-row:1}
.rk-shared-context[hidden]{display:none}
.has-record-context>.panel.active{grid-column:2;min-width:0}
.has-record-context .record-context{display:none}
.has-record-context label[hidden]{display:none!important}
.crop-swatch{display:inline-block;width:15px;height:15px;border:1px solid #34463d;border-radius:3px;margin-right:8px;vertical-align:middle;flex-shrink:0}
.fm-entrance-marker{background:#173f2a;color:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 5px #222;text-align:center;font-weight:700;line-height:20px}
.admin-page main{max-width:1440px}.admin-page .card{padding:24px;border-radius:12px}.admin-page th{background:#f1f5f2;color:#475a4c;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.admin-page td,.admin-page th{padding:12px;border:0;border-bottom:1px solid #e2e8e2}.admin-page td form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-page td input[type=password]{max-width:220px}.admin-page .permission-grid input,#cropAdminRows input[type=checkbox]{width:auto}.admin-page .buttonlink{display:inline-block}.admin-page header>div:last-child{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.has-record-context{grid-template-columns:1fr}.rk-shared-context{position:static;grid-template-columns:1fr 1fr;grid-row:auto}.has-record-context>.panel.active{grid-column:1}.admin-page form{min-width:0!important}}
@media print{@page record-report{size:letter landscape;margin:12mm}#recordReports{page:record-report}.has-record-context{display:block!important}.rk-shared-context{display:none!important}.print-plan-group,.report-summary{break-inside:auto!important}thead{display:table-header-group}tr{break-inside:avoid}body:has(#results.active) #recordReports{display:none!important}body:has(#results.active) #results{display:block!important}}

#cropAdmin input[type=color]{height:34px;width:80px;padding:3px} .rk-report-controls[hidden]{display:none!important}

/* Precise point placement; Leaflet controls keep their normal button cursors. */
#fieldBoundaryMap.fm-drawing,#fieldBoundaryMap.fm-drawing .leaflet-interactive,#fieldBoundaryMap.fm-drawing .leaflet-grab{cursor:crosshair!important}
