:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#283c30;background:#f4f4eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app-shell{max-width:1100px;margin:0 auto;padding:32px 20px 56px}.page-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.045em;line-height:1;margin-bottom:12px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.75rem;color:#56715b}.intro{color:#5f7164;margin-bottom:0}.dimensions{color:#56715b;font-size:.9rem;margin-bottom:0;white-space:nowrap}.map-layout{display:grid;grid-template-columns:minmax(0,640px) minmax(220px,1fr);gap:24px;align-items:start}.map-card,.map-notes{background:#fffdf7;border:1px solid #dce2d4;border-radius:16px;box-shadow:0 8px 30px #364a3710}.map-card{margin:0;padding:16px;display:grid;justify-items:center}.base-map{width:min(100%,370px);display:block;border:1px solid #b5c3a6}figcaption{color:#718073;font-size:.8rem;line-height:1.5;margin-top:12px;text-align:center}.map-notes{padding:24px}.map-notes h2{font-size:1.1rem;margin-bottom:16px}.map-notes dl{margin:0 0 24px}.map-notes dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e8ece3;padding:10px 0}.map-notes dt{color:#657769}.map-notes dd{margin:0;font-weight:600;text-align:right}.map-notes p{color:#657769;font-size:.86rem;line-height:1.5;margin-bottom:0}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid #376f4b;background:#376f4b;color:#fff;border-radius:8px;padding:10px 14px;font-size:.88rem}button:disabled{opacity:.45;cursor:default}.subtle-button{background:transparent;color:#376f4b}.file-bar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px}.file-button{display:inline-flex;align-items:center;border:1px solid #376f4b;border-radius:8px;color:#376f4b;background:#fffdf7;padding:9px 14px;font-size:.88rem;cursor:pointer}.file-button input{width:0;height:0;opacity:0;position:absolute}.file-button:focus-within{outline:2px solid #376f4b;outline-offset:2px}.save-status{display:flex;flex-wrap:wrap;gap:6px 18px;color:#4e6b52;font-size:.8rem;margin-bottom:20px}.save-status span{display:inline-flex;align-items:center;gap:5px}.save-status span:before{content:"";width:7px;height:7px;border-radius:50%;background:#6a9a6b}.error-message{background:#fce9e4;color:#973a2a;border-radius:8px;padding:12px;font-size:.87rem}.resume-panel{background:#e8f0e3;border:1px solid #bfd3bc;border-radius:12px;padding:22px;margin-bottom:20px}.resume-panel h2{font-size:1.25rem;margin-bottom:8px}.resume-panel p{color:#516b55}.resume-panel button{margin-right:8px}.map-notes label{display:grid;gap:6px;font-size:.84rem;font-weight:650;margin-bottom:16px}.map-notes input,.map-notes textarea{width:100%;border:1px solid #cad7c7;border-radius:7px;background:#fff;color:#283c30;padding:10px;font-weight:400}.map-notes textarea{resize:vertical}.map-notes h2:not(:first-child){margin-top:28px}.yard-workspace{margin-bottom:24px}.workspace-toolbar,.layer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.workspace-toolbar button{min-width:36px}.toolbar-spacer{flex:1}.layer-tools{color:#566f5a;font-size:.82rem;gap:8px 16px;margin-bottom:16px}.layer-tools label{display:inline-flex;align-items:center;gap:5px}.layer-tools span{margin-left:auto}.workspace-layout{display:grid;grid-template-columns:minmax(0,640px) minmax(280px,1fr);gap:24px;align-items:start}.interactive-map,.plant-panel{background:#fffdf7;border:1px solid #dce2d4;border-radius:16px;box-shadow:0 8px 30px #364a3710}.interactive-map{margin:0;padding:16px}.interactive-map svg{display:block;width:min(100%,400px);height:auto;aspect-ratio:1 / 3;margin:auto;border:1px solid #a9bfa8;touch-action:none;cursor:crosshair}.plant-panel{padding:20px;max-height:1200px;overflow:auto}.plant-panel h2{font-size:1.1rem;margin-bottom:12px}.inventory-group{border-bottom:1px solid #e4eadf;padding:5px 0 12px}.inventory-group h3{font-size:.86rem;margin:4px 0 8px}.inventory-group p{color:#829084;font-size:.8rem;margin-bottom:0}.inventory-item{display:block;width:100%;text-align:left;background:#f5f8f0;color:#294a33;border-color:#d9e4d8;margin:5px 0}.inventory-item.selected{background:#dcebdc;border-color:#5c9667}.inventory-item span{display:block;font-size:.72rem;color:#6c7f70;margin-top:2px}.plant-details{padding-top:18px}.plant-details label{display:grid;gap:5px;font-size:.8rem;font-weight:650;margin-bottom:12px}.plant-details input,.plant-details select,.plant-details textarea{width:100%;border:1px solid #cad7c7;border-radius:7px;background:#fff;color:#283c30;padding:9px;font-weight:400}.plant-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plant-field-grid .full-width{grid-column:1 / -1}.record-id,.coordinates{font-size:.72rem;color:#748578;overflow-wrap:anywhere}.plant-actions{display:flex;gap:8px}.coverage-detail{font-size:.76rem;line-height:1.5;color:#526d58}.coverage-actions{margin:10px 0 18px}.coverage-correction{border:1px solid #cddcc9;background:#f0f5ed;border-radius:9px;padding:12px;margin:12px 0 18px}.coverage-correction h3{font-size:.88rem;margin:0 0 6px}.coverage-correction p{font-size:.75rem;line-height:1.4;color:#5d715f}.plant-details .coverage-zone-choice{display:inline-flex;align-items:center;margin:4px 10px 5px 0;font-weight:500}.plant-details .coverage-zone-choice input{width:auto}.group-details{border:1px solid #d5e0cd;border-radius:9px;background:#f6f8f2;padding:12px;margin-bottom:16px}.group-details p{font-size:.75rem;line-height:1.45;color:#607464}.group-details .plant-field-grid{margin:3px 0}.group-details .plant-field-grid label{margin-bottom:5px}.group-warning{color:#a7432f!important;font-weight:650}.property-section{max-width:640px}.property-section .map-notes{padding:22px}.zone-workspace{margin:28px 0}.zone-workspace>h2{font-size:1.3rem;margin-bottom:6px}.zone-workspace>p{color:#667d69;font-size:.87rem;margin-bottom:16px}.zone-panel{background:#fffdf7;border:1px solid #dce2d4;border-radius:16px;padding:20px;max-height:1200px;overflow:auto}.zone-panel label{display:grid;gap:6px;font-size:.8rem;font-weight:650;margin-bottom:13px}.zone-panel input,.zone-panel select{width:100%;border:1px solid #cad7c7;border-radius:7px;padding:9px;background:#fff;color:#283c30}.zone-panel input[type=color]{padding:3px;height:38px}.zone-panel h3{font-size:.87rem;margin:18px 0 8px}.piece-list,.zone-panel .vertex-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.piece-list button,.zone-panel .vertex-list button{text-align:left;font-size:.76rem;padding:7px}.piece-list .active-piece,.zone-panel .vertex-list .active-piece{background:#d65b3b;border-color:#b4472e;color:#fff}.zone-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.zone-actions button{font-size:.76rem}.coverage-inspection{background:#edf3e9;border-radius:8px;padding:10px 12px;margin-top:20px}.coverage-inspection h3{margin-top:0}.coverage-inspection p{font-size:.8rem;line-height:1.5;margin-bottom:0}.source-note-form{margin-top:14px;border-top:1px solid #d4e1cf;padding-top:12px}.source-note-form h4{font-size:.83rem;margin:0 0 10px}.source-note-form textarea,.source-note-details textarea{width:100%;border:1px solid #cad7c7;border-radius:7px;padding:9px;font:inherit;resize:vertical}.saved-source-notes{margin-top:18px}.saved-source-notes>button{display:block;width:100%;text-align:left;margin:5px 0;font-size:.76rem}.selected-source-note{background:#dcebdc;color:#274b33}.source-note-details{border-top:1px solid #e1e8df;padding-top:10px;margin-top:10px}.source-note-details p{font-size:.8rem}.stale-note{color:#a13b2b;font-weight:650}.controller-workspace{margin:30px 0;padding:24px;border:1px solid #d8e0d4;border-radius:14px;background:#f8faf6}.controller-workspace h2{margin-top:0}.controller-grid,.program-settings,.runtime-grid,.monthly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.controller-workspace label{display:grid;gap:5px;font-size:.82rem}.controller-workspace input,.controller-workspace select{min-width:0;padding:7px;border:1px solid #bfcdbb;border-radius:6px;font:inherit}.controller-workspace input[type=checkbox]{width:auto}.program-list{display:grid;gap:16px;margin-top:24px}.program-card{border:1px solid #c8d5c4;border-radius:10px;padding:16px}.program-card legend{padding:0 6px;font-weight:700}.weekday-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.weekday-list label{display:flex;align-items:center;gap:4px}.program-settings>div,.program-budget{display:grid;align-content:start;gap:10px}.program-budget{margin-top:18px}.runtime-grid,.monthly-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.timeline{margin-top:24px;border-top:1px solid #c8d5c4;padding-top:12px}.timeline ol{max-height:320px;overflow:auto;padding-left:24px}.timeline li{padding:4px 0;font-size:.82rem}.calculation-status.unresolved{color:#a13b2b}.calculation-status.partial{color:#8c6021}.advice-export,.needs-checking{margin:24px 0;padding:20px;border:1px solid #c8d5c4;border-radius:12px;background:#f8faf6}.advice-export h2,.needs-checking h2{margin-top:0}.advice-export textarea{display:block;width:100%;margin:8px 0;padding:9px;border:1px solid #bfcdbb;border-radius:6px;font:inherit}.needs-checking li{margin:5px 0}.care-workspace{margin:30px 0}.care-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.care-card{border:1px solid #c8d5c4;border-radius:12px;padding:18px;background:#f8faf6}.care-card h3{margin-top:0}.care-card label,.care-card .target-field{display:grid;gap:5px;margin:10px 0;font-size:.83rem}.care-card input,.care-card select,.care-card textarea{width:100%;min-width:0;padding:8px;border:1px solid #bfcdbb;border-radius:6px;font:inherit}.care-card ol{padding-left:22px;max-height:300px;overflow:auto}.care-card li{margin:8px 0;font-size:.82rem;line-height:1.5}.care-card li button{margin-left:6px}@media(max-width:800px){.workspace-layout{grid-template-columns:1fr}.plant-panel{max-height:none}.layer-tools span{margin-left:0;width:100%}}@media(max-width:700px){.page-header{display:block}.dimensions{margin-top:16px}.map-layout{grid-template-columns:1fr}}
