/* Farm directory, record and editor are separate screens. */
.cultivation-timelines{max-height:330px;overflow:auto}
.cultivation-timelines article,.cultivation-tasks article{padding:12px 0;border-bottom:1px solid #d4e3dc;overflow-wrap:anywhere}
.cultivation-stage-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px;border-radius:12px;overflow:hidden;background:#e0f2e8;font-size:.78rem}
.cultivation-stage-bar span{padding:10px 5px;border-right:2px solid white;overflow-wrap:anywhere}
.cultivation-stage-bar span:nth-child(2){background:#c7e9b8}.cultivation-stage-bar span:nth-child(3){background:#f0e6ac}
.cultivation-calendar input{max-width:100%;min-width:0}.cultivation-calendar p{line-height:1.4}
#portalGrowPlans .farmer-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
#portalGrowPlans .farmer-plan-fields .full{grid-column:1/-1}
#portalGrowPlans .farmer-plan-fields label{min-width:0;display:flex;flex-direction:column;font-size:.85rem;gap:5px}
#portalGrowPlans .farmer-plan-fields input,#portalGrowPlans .farmer-plan-fields select{box-sizing:border-box;min-width:0;width:100%;max-width:100%;font-size:16px;padding:10px 7px;margin-top:auto}
#portalGrowPlans .farmer-plan-fields input[type=date]{min-inline-size:0}
#portalGrowPlans .farmer-plan-save{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#portalGrowPlans .farmer-plan-save .btn{min-width:0;padding:10px 5px;font-size:.85rem;white-space:normal}
#portalFarmForm .farm-editor-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#portalFarmForm .farm-editor-actions .btn{min-width:0;width:100%;padding:12px 6px;font-size:.9rem;white-space:normal}
#farmDraftList .farm-summary-card{margin-top:12px}
#farmDraftStatus{margin:10px 0 0;font-size:.82rem;line-height:1.4}
#portalFarms[data-farm-screen="detail"]>.section-head{display:none}
#portalFarms .panel,#portalFarms .portal-product-row,#portalFarms .portal-workspace-heading>*{min-width:0;max-width:100%;box-sizing:border-box}
#portalFarmDetail h2{font-size:1.35rem;overflow-wrap:anywhere;margin:0 0 14px}
#portalFarmDetail .farm-detail-facts{margin:0 0 18px;gap:12px}
#portalFarmDetail .actions{display:flex;flex-wrap:wrap;gap:8px}
#portalProductFarmPanel .portal-product-table-head{display:none}
#portalProductFarmPanel .portal-product-row{display:block;overflow-wrap:anywhere;padding:14px;border-radius:14px}
#portalProductFarmPanel .portal-product-row details{margin-top:10px}
#portalProductFarmPanel .portal-product-row summary{cursor:pointer;color:#14634d;font-weight:700;font-size:.9rem}
#portalProductFarmPanel .farm-checks{margin:12px 0;display:grid;grid-template-columns:minmax(0,1fr)}
#portalProductFarmPanel .farm-checks label{min-width:0;display:flex;align-items:flex-start;gap:8px}
#portalProductFarmPanel .farm-checks input{width:18px;flex:0 0 18px}
#portalProductFarmPanel .portal-farm-actions{display:flex;flex-wrap:wrap;gap:8px}
#portalProductFarmPanel fieldset{min-width:0}
#portalProductFarmPanel .portal-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#portalProductFarmPanel .portal-workspace-heading h2{font-size:1.2rem;margin:0}
#portalProductFarmPanel button{white-space:normal;max-width:100%}
#portalFarmHistoryPanel summary small,#portalFarmHistoryPanel summary>span:last-child{display:none}
#portalFarmHistoryPanel summary{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){#portalFarmDetail,#portalProductFarmPanel,#portalFarmHistoryPanel{padding:16px}#portalProductFarmPanel .portal-workspace-heading .btn{font-size:.88rem;padding:10px 12px}#portalProductFarmPanel .portal-product-add-actions{display:grid;grid-template-columns:1fr}#portalProductFarmPanel .portal-product-name{min-width:0}}
#portalFarmLocationStatus{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6}
#portalFarmForm .farm-share-choice{min-width:0;padding:18px}
#portalFarmForm .farm-share-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#portalFarmForm .farm-share-details>div{min-width:0}
#portalFarmForm .farm-share-details label{display:block;margin-bottom:6px;font-size:.9rem;line-height:1.4}
#portalFarmForm .farm-share-details input:not([type="checkbox"]),#portalFarmForm .farm-share-details select,#portalFarmForm .farm-share-details textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;font-size:16px}
#portalFarmForm .farm-share-details textarea{min-height:100px}
#portalFarmForm .farm-share-toggle,#portalFarmForm .farm-share-details .access-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
#portalFarmForm .farm-share-choice input[type="checkbox"]{flex:0 0 20px;width:20px;height:20px;margin-top:3px}
#portalFarmForm .farm-share-choice>p{font-size:.86rem;line-height:1.5}
@media(max-width:600px){#portalFarmForm .farm-share-details{grid-template-columns:minmax(0,1fr)}#portalFarmForm .farm-share-choice{padding:14px}}
#portalFarms[data-farm-screen="list"] #portalFarmDetail,
#portalFarms[data-farm-screen="list"] #portalFarmListBack,
#portalFarms:not([data-farm-screen="list"]) .portal-farm-directory,
#portalFarms:not([data-farm-screen="list"]) #addPortalFarmBtn,
#portalFarms:not([data-farm-screen="detail"]) #portalProductFarmPanel,
#portalFarms:not([data-farm-screen="detail"]) #portalFarmDetail,
#portalFarms:not([data-farm-screen="detail"]) #portalFarmHistoryPanel{display:none!important}
.farm-add-bar{display:block;width:100%;padding:22px 24px;margin:12px 0 22px;border:0;border-radius:20px;background:#b8eb69;color:#064e3b;text-align:left;font-size:1.3rem;font-weight:800;cursor:pointer}
.farm-add-bar::before{content:"＋";display:inline-grid;place-items:center;width:46px;height:46px;margin-right:16px;border-radius:14px;background:#075b43;color:white;font-size:1.8rem;vertical-align:middle}
#portalFarmListBack{margin-bottom:14px}
.farm-summary-card{border:1px solid #cfdfd8;border-radius:17px;background:white;overflow:hidden}
.farm-summary-card button{display:grid;gap:7px;width:100%;padding:18px;border:0;background:none;text-align:left;color:#123f34;cursor:pointer;font:inherit}
.farm-summary-card strong{font-size:1.12rem}.farm-summary-card small{color:#62756e}.farm-summary-card span{font-size:.8rem;color:#24644e}
.farm-summary-card button:focus-visible,.farm-add-bar:focus-visible{outline:3px solid #147d55;outline-offset:-4px}
.farm-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.farm-detail-facts dt{font-size:.8rem;color:#62756e}.farm-detail-facts dd{margin:4px 0;overflow-wrap:anywhere}
#portalProductFarmList [hidden]{display:none!important}
@media(max-width:600px){#portalFarms>.section-head{margin-bottom:10px}.farm-detail-facts{grid-template-columns:1fr}#portalFarms .portal-workspace-heading{flex-wrap:wrap}#portalFarms .access-actions .btn{width:100%}}
.cultivation-calendar{font-family:inherit;background:#fff;border:1px solid #dce9e2;border-radius:18px;padding:16px;margin:12px 0;color:#173e32;min-width:0}
.cultivation-calendar .cultivation-timelines{max-height:none;overflow:visible;margin-top:16px}
.cultivation-visual{display:flex;overflow-x:auto;gap:0;padding:16px 0;scroll-snap-type:x proximity}
.cultivation-stage{flex:1 0 110px;max-width:180px;background:transparent;border:0;position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;padding:6px;color:#566477;scroll-snap-align:center;cursor:pointer}
.cultivation-stage:before{content:'';height:2px;background:#d5e6dd;position:absolute;top:29px;left:0;right:0}
.cultivation-stage:first-child:before{left:50%}.cultivation-stage:last-child:before{right:50%}
.cultivation-stage-icon{position:relative;display:grid;place-items:center;border:2px solid #63ac86;width:48px;height:48px;border-radius:50%;background:#f0faf4;color:#006640;font-size:24px}
.cultivation-stage.current .cultivation-stage-icon{background:#006640;color:white;box-shadow:0 0 0 5px #d9eedf}
.cultivation-stage.current{color:#005533;font-weight:bold}.cultivation-stage.past .cultivation-stage-icon{background:#d9eedf}
.cultivation-stage small{font-size:11px}.cultivation-key{font-size:12px;color:#526d60}
.cultivation-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:12px 0}
.cultivation-calendar>.cultivation-toolbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.cultivation-calendar>.cultivation-toolbar>label{grid-column:span 4;display:flex;flex-direction:column;gap:6px;margin:0;padding:0;align-self:end}
.cultivation-calendar>.cultivation-toolbar>button{grid-column:span 2;width:100%;min-width:0}
.cultivation-calendar .cultivation-toolbar button{box-sizing:border-box;height:48px;min-height:48px;margin:0;padding:6px 8px;border:1px solid #bdd8ca;border-radius:12px;background:#eef8f2;color:#075738;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:normal}
.cultivation-calendar .cultivation-toolbar button:hover{background:#dcefe3}
.cultivation-calendar .cultivation-toolbar button:focus-visible{outline:3px solid #88bf9e;outline-offset:2px}
.cultivation-calendar>.cultivation-toolbar .cultivation-day{box-sizing:border-box;width:100%;min-width:0;height:48px;min-height:48px;margin:0;font-size:14px}
.cultivation-calendar button{min-height:42px;cursor:pointer}.cultivation-calendar label{display:block;min-width:0}
.cultivation-calendar input,.cultivation-calendar select,.cultivation-calendar textarea{box-sizing:border-box;max-width:100%;font:inherit;padding:9px;border:1px solid #c4d8ce;border-radius:8px}
.cultivation-calendar textarea{width:100%}.cultivation-calendar input[type=file]{width:100%}
.cultivation-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.cultivation-month-grid button{padding:4px;background:#f1f8f4;border:1px solid #d4e5db;border-radius:8px}.cultivation-month-grid button.selected{background:#006640;color:white}.cultivation-month-grid small{display:block;font-size:8px}
.cultivation-photo{max-width:150px;max-height:150px;object-fit:contain;border-radius:8px}
.task-photo-picker{display:flex;align-items:flex-start;flex-direction:column;gap:10px;margin:8px 0 16px}
.cultivation-calendar .task-photo-add,.cultivation-calendar .task-photo-remove{box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid #b8d7c5;border-radius:12px;background:#edf8f1;color:#075738;font:inherit;font-weight:600;white-space:normal}
.cultivation-calendar .task-photo-add{background:#006640;border-color:#006640;color:white}
.task-photo-picker button:focus-visible{outline:3px solid #88bf9e;outline-offset:3px}
.task-photo-info{font-size:.8rem;overflow-wrap:anywhere;color:#526d60}
.task-photo-preview{border:1px solid #d7e6dd;background:#f5faf7;max-width:100%}
.cultivation-tasks>button{display:block;box-sizing:border-box;width:100%;max-width:360px;min-height:48px;margin:14px 0 4px;padding:12px 18px;border:1px solid #006640;border-radius:14px;background:#006640;color:#fff;font:inherit;font-weight:600;line-height:1.45;text-align:center;white-space:normal;box-shadow:0 3px 8px #00664020}
.cultivation-tasks>button:hover{background:#005333;border-color:#005333}
.cultivation-tasks>button:focus-visible{outline:3px solid #88bf9e;outline-offset:3px}
.cultivation-tasks article{background:#f6faf7;margin:10px 0;border-radius:12px;overflow-wrap:anywhere}
.cultivation-tasks summary{cursor:pointer;padding:10px 0;color:#006640}.cultivation-feedback{font-weight:600}
#farmerNewGrowPlanBtn{grid-template-rows:auto;align-items:center}
#farmerNewGrowPlanBtn>span{grid-row:1;line-height:1}
#farmerNewGrowPlanBtn>strong{grid-row:1;align-self:center;margin:0;line-height:1.25}
.task-status{display:inline-flex;align-items:center;background:#e1f3e9;color:#14543b;font-weight:700;border-radius:999px;padding:5px 12px;font-size:.85rem;margin-bottom:6px}
.cultivation-tasks [data-status]:disabled{opacity:.5;cursor:not-allowed}
.task-save-feedback{font-weight:600;line-height:1.45}
