:root{
  --forest-950:#0b281d;
  --forest-900:#113426;
  --forest-800:#174630;
  --forest-700:#225d40;
  --leaf:#3f7c58;
  --leaf-2:#79a367;
  --leaf-soft:#e7f0e9;
  --lime:#c6d7a4;
  --ochre:#b9792e;
  --blue:#477386;
  --clay:#a85f48;
  --violet:#706889;
  --danger:#a8453f;
  --danger-soft:#fae9e7;
  --ink:#17241c;
  --muted:#647269;
  --faint:#8b958e;
  --canvas:#f3f5f1;
  --card:#fff;
  --line:#dce4dc;
  --line-strong:#cbd6cc;
  --shadow:0 14px 42px rgba(21,54,37,.09);
  --shadow-small:0 5px 18px rgba(21,54,37,.08);
  --radius:16px;
  --radius-small:11px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
button,input,select,textarea{accent-color:var(--forest-700)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(63,124,88,.28);outline-offset:2px}
[hidden]{display:none!important}
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;padding:10px 14px;border-radius:8px;background:white;color:var(--forest-900);font-weight:800;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
.eyebrow{margin:0 0 5px;color:#718078;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.eyebrow.light{color:#bdd1c2}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--lime);color:var(--forest-900);font-size:21px;font-weight:900;letter-spacing:-.06em}
.brand-mark.large{width:56px;height:56px;border-radius:17px;font-size:29px}

/* Boot and authentication */
.boot-screen{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--forest-950);color:#dbe8df}
.boot-screen p{margin:0;color:#a8b9ae;font-size:12px;font-weight:650}
.boot-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.18);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-shell{min-height:100dvh;background:#edf1ec}
.auth-story{position:relative;min-height:230px;overflow:hidden;padding:24px;background:linear-gradient(135deg,var(--forest-950),var(--forest-700));color:white}
.auth-brand{position:relative;z-index:2;display:flex;gap:11px;align-items:center}
.auth-brand b,.auth-brand small{display:block}
.auth-brand b{font-size:17px}.auth-brand small{color:#a9bdb0;font-size:10px}
.auth-story-copy{position:relative;z-index:2;margin-top:44px;max-width:560px}
.auth-story-copy h1{margin:7px 0 12px;font-size:32px;line-height:1.02;letter-spacing:-.055em}
.auth-story-copy>p:last-child{max-width:500px;margin:0;color:#c7d7cc;font-size:12px;line-height:1.65}
.field-lines{position:absolute;inset:0 0 0 42%;opacity:.35;transform:rotate(-7deg)}
.field-lines i{position:absolute;border:1px solid rgba(220,235,218,.34);border-radius:48% 52% 55% 45%}
.field-lines i:nth-child(1){width:280px;height:130px;left:20px;top:-40px}.field-lines i:nth-child(2){width:360px;height:150px;left:70px;top:80px}.field-lines i:nth-child(3){width:220px;height:110px;left:-20px;top:175px}.field-lines i:nth-child(4){width:170px;height:100px;left:310px;top:0}.field-lines i:nth-child(5){width:300px;height:1px;left:10px;top:150px;border-width:1px 0 0}
.auth-panel{padding:0 16px 24px}
.auth-card{position:relative;z-index:3;max-width:520px;margin:-20px auto 0;padding:25px 21px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.auth-step{display:inline-flex;padding:5px 8px;border-radius:6px;background:var(--leaf-soft);color:var(--leaf);font-size:9px;font-weight:850;letter-spacing:.13em}
.auth-form h2,.auth-error h2{margin:12px 0 7px;font-size:25px;letter-spacing:-.04em}
.auth-form>p{margin:0 0 23px;color:var(--muted);font-size:12px;line-height:1.6}
.auth-form .field{margin-bottom:15px}
.auth-foot{text-align:center;color:#79877e;font-size:10px}
.auth-error{text-align:center;padding:16px 0}
.auth-error>span{width:44px;height:44px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--danger-soft);color:var(--danger);font-size:21px;font-weight:900}
.auth-error p{color:var(--muted)}
.password-field{position:relative;display:block}
.password-field input{padding-right:60px!important}
.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);padding:6px;border:0;background:transparent;color:var(--leaf);font-size:10px;font-weight:800;cursor:pointer}
.form-error{padding:9px 11px!important;margin:0 0 14px!important;border-radius:8px;background:var(--danger-soft);color:var(--danger)!important;font-size:11px!important;font-weight:700}

/* Shared controls */
.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:800;line-height:1.1;cursor:pointer;transition:transform .16s,background .16s,border .16s,box-shadow .16s}
.button:hover{transform:translateY(-1px)}
.button:disabled{opacity:.46;cursor:not-allowed;transform:none}
.button.primary{background:var(--forest-800);color:white;box-shadow:0 7px 17px rgba(17,52,38,.16)}
.button.primary:hover{background:var(--forest-900)}
.button.secondary{border-color:var(--line-strong);background:#fff;color:#34463a}
.button.light{background:#f4f8ec;color:var(--forest-900)}
.button.ghost{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#d7e4da}
.button.danger{background:var(--danger);color:#fff}
.button.small{min-height:34px;padding:7px 10px;font-size:10px}
.button.wide{width:100%;margin-top:5px}
.tone-green{--run-color:#397354;--definition-color:#397354;--ring-color:#9bc282}.tone-ochre{--run-color:#b57932;--definition-color:#b57932;--ring-color:#d8a457}.tone-blue{--run-color:#466d80;--definition-color:#466d80;--ring-color:#79a7b9}.tone-clay{--run-color:#a55b45;--definition-color:#a55b45;--ring-color:#ce846d}.tone-violet{--run-color:#6b6382;--definition-color:#6b6382;--ring-color:#9e95b5}.tone-olive{--run-color:#788044;--definition-color:#788044;--ring-color:#a9b270}
.icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer}
.text-button{padding:5px;border:0;background:transparent;color:var(--leaf);font-size:11px;font-weight:800;cursor:pointer}
.field{display:grid;gap:7px;min-width:0}
.field>span:first-child{font-size:10px;font-weight:850;color:#4f5f55;letter-spacing:.02em}
.field small{color:#7e8b82;font-size:9px;line-height:1.4}
.field input,.field select,.field textarea,.compact-field input,.compact-field select{width:100%;min-height:44px;padding:10px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fbfcfa;color:var(--ink);outline:0}
.field textarea{resize:vertical;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--leaf);background:#fff;box-shadow:0 0 0 3px rgba(63,124,88,.09)}
.field input[readonly]{background:#edf1ec;color:#57645b}
.form-grid{display:grid;gap:15px}
.switch-field{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbf9;cursor:pointer}
.switch-field span b,.switch-field span small{display:block}.switch-field b{font-size:11px}.switch-field small{margin-top:3px;color:var(--muted);font-size:9px}
.switch-field input{position:absolute;opacity:0;pointer-events:none}
.switch-field i{position:relative;width:38px;height:22px;flex:0 0 auto;border-radius:999px;background:#cbd4cd;transition:.18s}
.switch-field i:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}
.switch-field input:checked+i{background:var(--leaf)}.switch-field input:checked+i:after{transform:translateX(16px)}
.switch-field input:focus-visible+i{outline:3px solid rgba(63,124,88,.25);outline-offset:2px}

/* App shell: phone first */
.app-shell{min-height:100dvh}
.app-main{min-width:0}
.sidebar{position:fixed;z-index:80;inset:0 auto 0 0;width:min(286px,88vw);display:flex;flex-direction:column;padding:20px 15px calc(17px + var(--safe-bottom));background:var(--forest-950);color:#dce8df;transform:translateX(-102%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.22)}
.sidebar.open{transform:translateX(0)}
.sidebar-scrim{position:fixed;z-index:70;inset:0;background:rgba(5,21,14,.47);backdrop-filter:blur(2px)}
.side-brand{display:flex;align-items:center;gap:11px;padding:2px 7px 19px;border-bottom:1px solid rgba(255,255,255,.1)}
.side-brand>span:nth-child(2){min-width:0;flex:1}.side-brand b,.side-brand small{display:block}.side-brand b{font-size:17px}.side-brand small{margin-top:1px;color:#93a89a;font-size:10px}
.side-close{font-size:25px;color:#a8b9ae}
.side-workspace{display:flex;align-items:center;gap:10px;margin:16px 4px 4px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035)}
.side-workspace b,.side-workspace small{display:block}.side-workspace b{font-size:11px}.side-workspace small{margin-top:2px;color:#90a497;font-size:9px}
.online-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#a8ca79;box-shadow:0 0 0 5px rgba(168,202,121,.11)}
.nav-label{margin:25px 11px 9px;color:#708a7a;font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.side-nav{display:grid;gap:5px}
.nav-item{min-height:44px;width:100%;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;border:0;border-radius:10px;background:transparent;color:#9fb2a5;text-align:left;font-size:12px;font-weight:700;cursor:pointer}
.nav-item:hover{background:rgba(255,255,255,.05);color:white}.nav-item.active{background:#24533a;color:white}
.nav-icon{font-size:17px;text-align:center;color:#a9bdaf}.nav-count{min-width:21px;padding:2px 6px;border-radius:99px;background:rgba(255,255,255,.08);font-size:9px;text-align:center}
.side-footer{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.signed-user{display:flex;align-items:center;gap:10px;padding:0 6px 12px}.signed-user>span:nth-child(2){min-width:0}.signed-user b,.signed-user small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signed-user b{font-size:11px}.signed-user small{margin-top:2px;color:#8ea396;font-size:9px;text-transform:capitalize}
.user-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#d8e2c7;color:var(--forest-900);font-weight:900}
.side-logout{width:100%;min-height:37px}
.topbar{position:sticky;z-index:45;top:0;min-height:68px;display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid rgba(207,218,208,.95);background:rgba(243,245,241,.94);backdrop-filter:blur(14px)}
.mobile-menu{flex:0 0 auto;font-size:20px}
.top-title{display:none}
.top-actions{min-width:0;display:flex;align-items:center;gap:7px;margin-left:auto}
.season-picker{min-width:0;display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--line-strong);border-radius:9px;background:#fff}
.season-picker span{display:none;color:#758279;font-size:9px;font-weight:850;text-transform:uppercase}
.season-picker select{max-width:112px;min-height:31px;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:800;outline:0}
.sync-button{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);cursor:pointer}
.sync-button>span:last-child{display:none}.sync-dot{width:8px;height:8px;border-radius:50%;background:#7cab68}
.sync-button.saving .sync-dot{background:var(--ochre);animation:pulse 1s infinite}.sync-button.error .sync-dot{background:var(--danger)}
@keyframes pulse{50%{opacity:.35}}
.desktop-action{display:none}
.content{max-width:1520px;margin:auto;padding:18px 14px calc(92px + var(--safe-bottom));outline:0}
.app-view{display:none}.app-view.active{display:block}
.dashboard-welcome{position:relative;min-height:205px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;overflow:hidden;padding:25px 22px;border-radius:18px;background:linear-gradient(125deg,var(--forest-950),#275e40);color:white;box-shadow:var(--shadow)}
.dashboard-welcome>div:first-child,.dashboard-welcome>.button{position:relative;z-index:2}
.dashboard-welcome h2{margin:6px 0 8px;font-size:28px;line-height:1.08;letter-spacing:-.045em}.dashboard-welcome p:last-child{max-width:600px;margin:0;color:#c1d3c7;font-size:11px}
.field-lines.compact{inset:0 0 0 48%}
.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0 22px}
.metric-card{min-width:0;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}
.metric-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;font-weight:900}.metric-icon.green{background:#e4efe7;color:var(--leaf)}.metric-icon.ochre{background:#f5e9d7;color:var(--ochre)}.metric-icon.blue{background:#e2edf1;color:var(--blue)}.metric-icon.clay{background:#f4e4df;color:var(--clay)}
.metric-card small,.metric-card strong,.metric-card p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-card small{color:#758279;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.metric-card strong{margin:3px 0;font-size:21px;line-height:1}.metric-card p{margin:0;color:#8b958e;font-size:8px}
.setup-card{margin-bottom:22px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}
.setup-card.complete{display:none}.setup-card h2{margin:5px 0 6px;font-size:20px;letter-spacing:-.035em}.setup-card>p{margin:0 0 18px;color:var(--muted);font-size:11px}
.setup-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none}.setup-step{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.setup-step.done{background:var(--leaf-soft);border-color:#cfe0d2}.setup-step>span{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#edf0ec;color:#7c8980;font-size:10px;font-weight:900}.setup-step.done>span{background:var(--leaf);color:#fff}.setup-step b,.setup-step small{display:block}.setup-step b{font-size:11px}.setup-step small{margin-top:2px;color:var(--muted);font-size:9px}.setup-step .button{margin-left:auto;min-height:33px;padding:7px 10px;font-size:9px}
.section-block{margin-top:25px}.section-heading,.page-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:17px}.section-heading h2,.page-heading h2{margin:2px 0 4px;font-size:23px;letter-spacing:-.04em}.section-heading p:last-child,.page-heading p:last-child{margin:0;color:var(--muted);font-size:11px}
.run-grid{display:grid;gap:12px}.run-card{position:relative;overflow:hidden;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-small)}.run-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--run-color,var(--leaf))}.run-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.run-card-title{min-width:0}.run-card-title span{display:block;color:#7a867e;font-size:9px;font-weight:800;text-transform:uppercase}.run-card h3{overflow:hidden;margin:3px 0 0;font-size:16px;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;background:#edf2ee;color:#516259;font-size:8px;font-weight:850;text-transform:uppercase}.status-chip.complete{background:#e1efe4;color:#32704b}.status-chip.outstanding{background:#f5eadc;color:#8c622d}.progress-track{height:7px;overflow:hidden;margin:16px 0 9px;border-radius:99px;background:#e9eeea}.progress-track>span{height:100%;display:block;border-radius:inherit;background:var(--run-color,var(--leaf))}.run-progress-line{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.run-progress-line b{color:var(--ink)}.run-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.run-card-stats span{min-width:0}.run-card-stats b,.run-card-stats small{display:block}.run-card-stats b{font-size:12px}.run-card-stats small{margin-top:2px;color:#839087;font-size:8px}.run-tonnage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 0;border-top:1px solid var(--line)}.run-tonnage-summary span{min-width:0}.run-tonnage-summary b,.run-tonnage-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-tonnage-summary b{font-size:9px}.run-tonnage-summary small{margin-top:2px;color:var(--muted);font-size:7px;text-transform:uppercase}.run-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.run-card-actions .button{flex:1}

/* Page collections */
.page-heading{margin-bottom:20px}.heading-actions{display:flex;flex-wrap:wrap;gap:8px}
.toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.search-box{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff}.search-box>span{color:#718078;font-size:17px}.search-box input{width:100%;border:0;outline:0;background:transparent;font-size:11px}.toolbar-summary{color:var(--muted);font-size:10px;font-weight:700}
.empty-state{padding:38px 20px;border:1px dashed #cbd6cc;border-radius:16px;background:rgba(255,255,255,.54);text-align:center}.empty-symbol{width:48px;height:48px;display:grid;place-items:center;margin:0 auto 12px;border-radius:14px;background:var(--leaf-soft);color:var(--leaf);font-size:22px}.empty-state h3{margin:0 0 5px;font-size:17px}.empty-state p{max-width:430px;margin:0 auto 16px;color:var(--muted);font-size:10px;line-height:1.55}.compact-empty{padding:27px 16px}
.farm-grid{display:grid;gap:13px}.farm-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-small)}.farm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px}.farm-ident{min-width:0;display:flex;align-items:center;gap:11px}.farm-symbol{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:var(--forest-900);color:#e4eddf;font-size:13px;font-weight:900}.farm-ident h3,.farm-ident p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.farm-ident h3{margin:0;font-size:15px}.farm-ident p{margin:3px 0 0;color:var(--muted);font-size:9px}.card-menu{display:flex;align-items:center;gap:3px}.mini-action{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#647269;font-size:16px;cursor:pointer}.mini-action:hover{border-color:var(--line);background:#f5f7f4}.mini-action.danger{color:var(--danger)}
.land-list{border-top:1px solid var(--line)}.land-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf0ed}.land-row:last-child{border-bottom:0}.land-main{min-width:0;display:flex;align-items:center;gap:9px}.land-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--leaf-2)}.land-main b,.land-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-main b{font-size:10px}.land-main small{margin-top:2px;color:var(--muted);font-size:7px}.land-side{display:flex;align-items:center;gap:6px}.area-pill{padding:4px 7px;border-radius:7px;background:#eef2ee;color:#4e5e54;font-size:8px;font-weight:800}.farm-add-land{width:100%;min-height:42px;border:0;border-top:1px solid var(--line);background:#fafbf9;color:var(--leaf);font-size:10px;font-weight:850;cursor:pointer}
.land-open{min-width:0;max-width:100%;display:block;flex:1;margin:0;padding:2px;border:0;border-radius:5px;background:transparent;color:inherit;text-align:left;cursor:pointer}.land-open:hover b{color:var(--leaf)}.land-open:focus-visible{outline:3px solid rgba(63,124,88,.28);outline-offset:2px}.mapped-mark{display:inline-flex;align-items:center;gap:4px;color:#4c795c;font-size:8px;font-weight:800}.mapped-mark:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:2px;background:#79a367}
.land-map-link{min-height:32px;padding:5px 8px;border:1px solid #b9cbbd;border-radius:8px;background:#f7faf7;color:var(--leaf);font-size:8px;font-weight:850;white-space:nowrap;cursor:pointer}.land-map-link:hover{border-color:#8eaa94;background:var(--leaf-soft)}.land-map-link:focus-visible{outline:3px solid rgba(63,124,88,.24);outline-offset:1px}
.season-grid{display:grid;gap:12px}.season-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.season-card.selected{border-color:#9fbea7;box-shadow:0 0 0 3px rgba(63,124,88,.08)}.season-card h3{margin:0;font-size:16px}.season-card p{margin:3px 0 0;color:var(--muted);font-size:9px}.season-actions{display:flex;align-items:center;gap:5px}.current-badge{padding:5px 8px;border-radius:99px;background:var(--leaf-soft);color:var(--leaf);font-size:8px;font-weight:850;text-transform:uppercase}
.process-panel{margin-bottom:15px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.process-panel.runs-panel{padding:16px}.subheading{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.subheading h3{margin:0;font-size:16px}.subheading p{margin:3px 0 0;color:var(--muted);font-size:9px}.subheading>span{color:#748178;font-size:9px;font-weight:800}.definition-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.definition-card{min-width:190px;scroll-snap-align:start;display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafbf9}.definition-color{width:10px;height:34px;flex:0 0 auto;border-radius:99px;background:var(--definition-color,var(--leaf))}.definition-card>div:nth-child(2){min-width:0;flex:1}.definition-card b,.definition-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.definition-card b{font-size:11px}.definition-card small{margin-top:2px;color:var(--muted);font-size:8px}.definition-empty{width:100%;padding:18px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--muted);font-size:10px;text-align:center}
.run-list{display:grid;gap:9px}.run-list-item{display:grid;grid-template-columns:4px minmax(0,1fr);gap:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.run-list-color{background:var(--run-color,var(--leaf))}.run-list-body{min-width:0;padding:13px}.run-list-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.run-list-title{min-width:0}.run-list-title h4{overflow:hidden;margin:0;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.run-list-title p{margin:3px 0 0;color:var(--muted);font-size:8px}.run-list-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.meta-pill{padding:5px 7px;border-radius:7px;background:#edf1ed;color:#56665c;font-size:8px;font-weight:750}.run-list-actions{display:flex;align-items:center;gap:3px}.visibility-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:white;color:#9aa49d;cursor:pointer}.visibility-toggle.on{background:var(--leaf-soft);border-color:#cfe0d2;color:var(--leaf)}

/* Reports */
.filter-card{display:grid;gap:11px;margin-bottom:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.compact-field{gap:5px}.compact-field>span{font-size:8px}.report-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;padding:17px;border-radius:16px;background:linear-gradient(120deg,var(--forest-950),var(--forest-700));color:#fff}.progress-ring{--progress:0;--ring-color:#9bc282;width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--ring-color) calc(var(--progress)*1%),rgba(255,255,255,.13) 0)}.progress-ring:before{content:"";grid-area:1/1;width:66px;height:66px;border-radius:50%;background:var(--forest-900)}.progress-ring>div{z-index:1;grid-area:1/1;text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font-size:20px}.progress-ring span{color:#b7cbbc;font-size:8px}.report-title{min-width:0}.live-label{display:flex;align-items:center;gap:5px;color:#bcd0c1;font-size:8px;font-weight:850;letter-spacing:.12em}.live-label i{width:6px;height:6px;border-radius:50%;background:#9ccb78;box-shadow:0 0 0 4px rgba(156,203,120,.13)}.report-title h3{overflow:hidden;margin:5px 0 2px;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.report-title p{margin:0;color:#b9cabe;font-size:8px}.report-totals{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12)}.report-totals b,.report-totals small{display:block}.report-totals b{font-size:11px}.report-totals small{margin-top:2px;color:#a9bdb0;font-size:7px;text-transform:uppercase}
.bulk-toolbar{position:sticky;z-index:12;bottom:calc(68px + var(--safe-bottom));display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:12px 0;padding:10px 11px;border:1px solid var(--line-strong);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(25,54,38,.14);backdrop-filter:blur(10px)}.bulk-toolbar label{font-size:10px;font-weight:750}.bulk-toolbar>b{color:var(--muted);font-size:9px}.bulk-toolbar>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.bulk-toolbar .button{min-height:37px;padding:8px;font-size:9px}
.report-list-head{display:flex;justify-content:space-between;gap:10px;margin:15px 2px 8px}.report-list-head span{font-size:10px;font-weight:850}.report-list-head small{color:var(--muted);font-size:8px}
.report-table{width:100%;border-collapse:separate;border-spacing:0}.report-table thead{display:none}.report-table tbody{display:grid;gap:9px}.report-table tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.report-table td{min-width:0;padding:0;border:0}.report-table td:first-child{grid-row:1/span 6;align-self:start;padding-top:2px}.report-table td:not(:first-child):before{content:attr(data-label);display:block;margin-bottom:3px;color:#839087;font-size:7px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.report-table input[type="checkbox"]{width:18px;height:18px}.report-land b,.report-land small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-land b{font-size:12px}.report-land small{margin-top:2px;color:var(--muted);font-size:8px}.status-button{min-height:31px;padding:6px 9px;border:0;border-radius:8px;font-size:8px;font-weight:850;text-transform:uppercase;cursor:pointer}.status-button.complete{background:#e2efe5;color:#2f7049}.status-button.outstanding{background:#f5eadc;color:#8a612d}.report-date,.report-note,.report-tonnes{width:100%;min-height:36px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa;font-size:10px}.report-note{min-height:58px;resize:vertical}.report-date:disabled,.report-note:disabled,.report-tonnes:disabled{opacity:.67;cursor:not-allowed}

/* Team */
.role-guide{display:grid;gap:7px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.role-guide span{color:var(--muted);font-size:9px}.role-guide b{color:var(--ink)}
.user-list{display:grid;gap:10px}.user-card{display:grid;gap:13px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.user-card.inactive{opacity:.66}.user-ident{min-width:0;display:flex;align-items:center;gap:10px}.user-ident>div{min-width:0}.user-ident b,.user-ident small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-ident b{font-size:12px}.user-ident small{margin-top:2px;color:var(--muted);font-size:8px}.user-controls{display:grid;grid-template-columns:1fr auto;gap:7px}.user-controls select{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fafbf9;font-size:10px}.active-button{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--leaf);font-size:9px;font-weight:850;cursor:pointer}.active-button.deactivate{color:var(--danger)}.reset-button{grid-column:1/-1;min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fafbf9;color:#526158;font-size:9px;font-weight:800;cursor:pointer}

/* Dialogs */
.modal{width:min(560px,calc(100% - 20px));max-height:min(88dvh,820px);margin:auto;padding:0;border:0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(9,30,20,.28)}
.modal::backdrop{background:rgba(7,26,17,.55);backdrop-filter:blur(3px)}
.modal>form{padding:20px}.wide-modal{width:min(800px,calc(100% - 20px))}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}.modal-head h2{margin:2px 0 0;font-size:21px;letter-spacing:-.04em}.modal-intro{max-width:560px;margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.modal-close{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:9px;background:#f0f3ef;color:#657168;font-size:23px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px;padding-top:16px;border-top:1px solid var(--line)}
.scope-fieldset{margin:17px 0 0;padding:0;border:0}.scope-fieldset legend{margin-bottom:7px;font-size:10px;font-weight:850}.scope-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted);font-size:9px}.scope-list{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fafbf9}.scope-farm{border-bottom:1px solid var(--line)}.scope-farm:last-child{border-bottom:0}.scope-farm-title{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;background:#f0f4f0}.scope-farm-title b{font-size:10px}.scope-farm-title button{border:0;background:transparent;color:var(--leaf);font-size:8px;font-weight:850;cursor:pointer}.scope-land{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 11px;border-top:1px solid #e9ede9;cursor:pointer}.scope-land>input{width:17px;height:17px}.scope-land b,.scope-land small{display:block}.scope-land b{font-size:10px}.scope-land small{margin-top:2px;color:var(--muted);font-size:8px}.scope-land>small{font-size:8px;font-weight:750}.tonnage-panel{display:grid;gap:11px;margin-top:14px;padding:13px;border:1px solid #bfd0c1;border-radius:12px;background:#f1f6f1}.tonnage-summary{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.scope-area{white-space:nowrap}.scope-tonnes{display:flex;align-items:center;gap:4px}.scope-tonnes input{width:78px;min-height:36px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px;text-align:right}.scope-tonnes small{color:var(--muted);font-size:9px;font-weight:850}.scope-tonnes input:disabled{opacity:.55;cursor:not-allowed}.run-tonnage-meta{color:#45604e!important;font-weight:750}.report-tonnes{width:100%;min-width:94px;min-height:36px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa;font-size:10px;text-align:right}.report-tonnes:disabled{opacity:.67;cursor:not-allowed}.history-tonnes{min-width:0}.history-tonnes input{width:100%;min-height:34px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px;text-align:right}.land-history-row>label>span{display:block;margin-bottom:3px;color:var(--muted);font-size:6px;font-weight:850;text-transform:uppercase}.history-note{grid-column:1/-1}.confirm-modal{width:min(410px,calc(100% - 25px));text-align:center}.confirm-symbol{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;background:var(--danger-soft);color:var(--danger);font-size:20px;font-weight:900}.confirm-modal h2{margin:0 0 7px;font-size:20px}.confirm-modal p{margin:0;color:var(--muted);font-size:11px}.confirm-modal .modal-actions{justify-content:center}
.toast{position:fixed;z-index:120;left:50%;bottom:calc(76px + var(--safe-bottom));max-width:calc(100% - 24px);padding:11px 15px;border-radius:10px;background:#152c20;color:#f1f6f2;font-size:10px;font-weight:750;box-shadow:0 13px 38px rgba(0,0,0,.24);opacity:0;pointer-events:none;transform:translate(-50%,14px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.bottom-nav{position:fixed;z-index:50;inset:auto 0 0;min-height:63px;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px calc(5px + var(--safe-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(22,48,33,.08);backdrop-filter:blur(13px)}.bottom-nav button{display:grid;place-items:center;gap:1px;border:0;background:transparent;color:#7a867e;font-size:8px;font-weight:750;cursor:pointer}.bottom-nav button span{font-size:17px}.bottom-nav button.active{color:var(--forest-800)}
.mobile-operation-add{display:none}

/* CSP-safe dynamic progress and palette classes */
.progress-track progress{width:100%;height:7px;display:block;border:0;border-radius:99px;background:#e9eeea;color:var(--run-color,var(--leaf));appearance:none}
.progress-track progress::-webkit-progress-bar{border-radius:99px;background:#e9eeea}.progress-track progress::-webkit-progress-value{border-radius:99px;background:var(--run-color,var(--leaf))}.progress-track progress::-moz-progress-bar{border-radius:99px;background:var(--run-color,var(--leaf))}
.progress-ring.progress-0{background:conic-gradient(var(--ring-color) 0%,rgba(255,255,255,.13) 0)}.progress-ring.progress-10{background:conic-gradient(var(--ring-color) 10%,rgba(255,255,255,.13) 0)}.progress-ring.progress-20{background:conic-gradient(var(--ring-color) 20%,rgba(255,255,255,.13) 0)}.progress-ring.progress-30{background:conic-gradient(var(--ring-color) 30%,rgba(255,255,255,.13) 0)}.progress-ring.progress-40{background:conic-gradient(var(--ring-color) 40%,rgba(255,255,255,.13) 0)}.progress-ring.progress-50{background:conic-gradient(var(--ring-color) 50%,rgba(255,255,255,.13) 0)}.progress-ring.progress-60{background:conic-gradient(var(--ring-color) 60%,rgba(255,255,255,.13) 0)}.progress-ring.progress-70{background:conic-gradient(var(--ring-color) 70%,rgba(255,255,255,.13) 0)}.progress-ring.progress-80{background:conic-gradient(var(--ring-color) 80%,rgba(255,255,255,.13) 0)}.progress-ring.progress-90{background:conic-gradient(var(--ring-color) 90%,rgba(255,255,255,.13) 0)}.progress-ring.progress-100{background:conic-gradient(var(--ring-color) 100%,rgba(255,255,255,.13) 0)}

/* Tablet */
@media (min-width:600px){
  .auth-panel{padding:0 24px 35px}.auth-card{padding:32px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:15px}.metric-card strong{font-size:23px}
  .section-heading,.page-heading{flex-direction:row;align-items:flex-end;justify-content:space-between}.section-heading>.button,.page-heading>.button{flex:0 0 auto}
  .toolbar{flex-direction:row;align-items:center;justify-content:space-between}.search-box{width:min(360px,100%)}
  .farm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.run-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{grid-column:span 2}
  .report-hero{grid-template-columns:auto minmax(0,1fr) auto}.report-totals{grid-column:auto;min-width:260px;border-top:0;border-left:1px solid rgba(255,255,255,.12);padding:7px 0 7px 17px}
  .bulk-toolbar{grid-template-columns:auto 1fr auto}.bulk-toolbar>div{grid-column:auto;display:flex}.bulk-toolbar>b{justify-self:start}
  .role-guide{grid-template-columns:repeat(3,1fr)}.user-card{grid-template-columns:minmax(180px,1fr) minmax(250px,1fr);align-items:center}.reset-button{grid-column:auto}.user-controls{grid-template-columns:1fr auto auto}
  .modal>form{padding:25px}.toast{bottom:25px}
}

@media (min-width:820px){
  .content{padding:27px 27px 100px}.dashboard-welcome{min-height:250px;padding:32px 36px}.dashboard-welcome h2{font-size:34px}.dashboard-welcome{flex-direction:row;align-items:center;justify-content:space-between}.dashboard-welcome>.button{flex:0 0 auto}
  .setup-steps{grid-template-columns:repeat(3,1fr)}.setup-step{align-items:flex-start}.setup-step .button{display:none}
  .farm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.run-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-card{grid-template-columns:1.25fr .8fr .8fr 1fr}.search-field{grid-column:auto}
  .report-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.report-table{min-width:960px;border-collapse:collapse}.report-table thead{display:table-header-group}.report-table tbody{display:table-row-group}.report-table tr{display:table-row;padding:0;border:0;background:#fff}.report-table th{padding:10px 11px;border-bottom:1px solid var(--line);background:#f7f9f6;color:#708078;font-size:8px;font-weight:850;letter-spacing:.07em;text-align:left;text-transform:uppercase}.report-table td{display:table-cell;padding:10px 11px;border-bottom:1px solid #e9ede9;vertical-align:middle}.report-table tr:last-child td{border-bottom:0}.report-table td:first-child{width:42px}.report-table td:not(:first-child):before{display:none}.report-note{min-height:37px;height:37px;min-width:190px}.report-date{min-width:132px}
}

/* Desktop */
@media (min-width:1020px){
  .app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}
  .sidebar{position:sticky;z-index:40;top:0;width:250px;height:100dvh;transform:none;box-shadow:none}.side-close{display:none}.sidebar-scrim{display:none!important}
  .topbar{min-height:82px;padding:13px 29px}.mobile-menu{display:none}.top-title{display:block}.top-title span{display:block;color:#7c8981;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.top-title h1{margin:3px 0 0;font-size:20px;letter-spacing:-.035em}.season-picker{padding:7px 10px}.season-picker span{display:block}.season-picker select{max-width:140px}.sync-button{width:auto;display:flex;padding:0 10px;gap:6px}.sync-button>span:last-child{display:block;font-size:9px;font-weight:750}.desktop-action{display:inline-flex}.content{padding:28px 30px 65px}
  .bottom-nav{display:none}.bulk-toolbar{bottom:13px}.toast{bottom:25px}
  .run-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.farm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (min-width:1320px){
  .app-shell{grid-template-columns:264px minmax(0,1fr)}.sidebar{width:264px;padding-left:18px;padding-right:18px}.farm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.run-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:850px){
  .auth-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr)}.auth-story{min-height:100dvh;padding:48px}.auth-brand{font-size:18px}.auth-story-copy{position:absolute;left:48px;right:35px;top:50%;margin:0;transform:translateY(-50%)}.auth-story-copy h1{font-size:52px}.auth-story-copy>p:last-child{font-size:13px}.auth-panel{display:grid;place-content:center;padding:35px}.auth-card{width:min(460px,100%);margin:0}.auth-foot{margin-top:17px}
}

@media (max-width:599px){
  .modal{width:100%;max-height:90dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.modal>form{max-height:90dvh;overflow:auto;padding-bottom:calc(20px + var(--safe-bottom))}.wide-modal{width:100%}.modal::backdrop{background:rgba(7,26,17,.5)}
  .modal-actions{position:sticky;bottom:calc(-20px - var(--safe-bottom));margin-left:-20px;margin-right:-20px;padding:13px 20px calc(13px + var(--safe-bottom));background:#fff}.modal-actions .button{flex:1}
  .confirm-modal{width:calc(100% - 20px);margin:auto}.confirm-modal>form{overflow:visible}.confirm-modal .modal-actions{position:static;margin-left:0;margin-right:0;padding:16px 0 0}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Interactive land map and boundary workflows */
.map-toolbar{display:grid;gap:10px;align-items:end;margin-bottom:14px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-small)}
.map-toolbar .compact-field{min-width:0}.map-toolbar .toolbar-summary{align-self:center;padding:2px;color:#718078;white-space:nowrap}
.land-map-workspace{display:grid;gap:13px;align-items:start}
.map-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-small)}
.map-empty{min-height:380px;display:grid;place-content:center;justify-items:center;padding:35px 20px;text-align:center;background:linear-gradient(145deg,#fbfcfa,#edf2ea)}
.map-empty h3{margin:0 0 5px;font-size:18px;letter-spacing:-.025em}.map-empty p{max-width:390px;margin:0 0 17px;color:var(--muted);font-size:10px;line-height:1.55}
.map-canvas-wrap{position:relative;isolation:isolate;height:clamp(370px,58dvh,540px);min-height:370px;overflow:hidden;background:#e9eee5;cursor:grab}
.map-canvas-wrap:active{cursor:grabbing}.map-canvas-wrap:before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(28deg,transparent 48%,rgba(255,255,255,.42) 49%,rgba(255,255,255,.42) 50%,transparent 51%),linear-gradient(118deg,transparent 66%,rgba(34,93,64,.055) 67%,rgba(34,93,64,.055) 68%,transparent 69%),radial-gradient(circle at 22% 18%,rgba(198,215,164,.38),transparent 34%);background-size:155px 155px,230px 230px,100% 100%;pointer-events:none}
#landMapCanvas{position:relative;z-index:1;width:100%;height:100%;display:block;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}
.map-land-boundary{fill:#cfd8bd;fill-opacity:.92;stroke:#526c51;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s,fill-opacity .16s,stroke .16s,stroke-width .16s,filter .16s}
.map-land-boundary.status-complete{fill:#79a367;stroke:#2f6747}.map-land-boundary.status-partial{fill:#d7b36d;stroke:#8a612d}.map-land-boundary.status-outstanding{fill:#dbe3c8;stroke:#657250;stroke-dasharray:6 3}.map-land-boundary.status-unassigned{fill:#e8ebe2;stroke:#8c968d;stroke-dasharray:2 4}
.map-land-boundary:hover{fill-opacity:1;stroke-width:3;filter:drop-shadow(0 4px 5px rgba(15,45,29,.2))}.map-land-boundary.selected{fill-opacity:1;stroke:var(--ochre);stroke-width:4;stroke-dasharray:none;filter:drop-shadow(0 5px 7px rgba(49,66,41,.28))}
.map-land-boundary:focus,.map-land-boundary:focus-visible{outline:0;stroke:#8b5718;stroke-width:5;stroke-dasharray:none;filter:drop-shadow(0 0 4px rgba(255,255,255,.95)) drop-shadow(0 4px 7px rgba(26,52,35,.28))}
.map-land-label{fill:#183523;stroke:rgba(255,255,255,.92);stroke-width:1.6px;paint-order:stroke;pointer-events:none;font-size:6px;font-weight:800;text-anchor:middle;dominant-baseline:middle;letter-spacing:.005em}
.map-controls{position:absolute;z-index:4;top:12px;right:12px;display:grid;gap:3px;padding:4px;border:1px solid rgba(172,187,174,.82);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 25px rgba(22,51,34,.16);backdrop-filter:blur(8px)}
.map-controls button{width:44px;height:44px;display:grid;place-items:center;border:0;border-bottom:1px solid var(--line);border-radius:8px;background:transparent;color:var(--forest-800);font-size:19px;font-weight:800;cursor:pointer}.map-controls button:last-child{border-bottom:0}.map-controls button:hover{background:var(--leaf-soft)}.map-controls button:active{background:#dce8de;transform:scale(.96)}
.map-legend{position:absolute;z-index:3;top:12px;left:12px;max-width:calc(100% - 86px);display:flex;flex-wrap:wrap;gap:5px 9px;padding:7px 9px;border:1px solid rgba(194,205,194,.78);border-radius:10px;background:rgba(255,255,255,.91);color:#526158;font-size:8px;font-weight:750;box-shadow:0 5px 18px rgba(26,52,35,.09);backdrop-filter:blur(7px)}
.map-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.map-legend i{width:9px;height:9px;display:inline-block;border:1px solid #5f705f;border-radius:3px;background:#cfd8bd}.map-legend .complete i{background:#79a367}.map-legend .partial i{background:#d7b36d}.map-legend .outstanding i{background:#dbe3c8;border-style:dashed}.map-legend .unassigned i{background:#e8ebe2;border-style:dotted}
.map-privacy{position:absolute;z-index:3;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 9px;border:1px solid rgba(194,205,194,.72);border-radius:99px;background:rgba(255,255,255,.88);color:#68766d;font-size:8px;font-weight:750;box-shadow:0 4px 15px rgba(26,52,35,.08);backdrop-filter:blur(7px)}

.land-detail{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-small)}
.land-detail-empty{min-height:220px;display:grid;place-content:center;justify-items:center;padding:28px 22px;text-align:center}.land-detail-empty>span{width:44px;height:44px;display:grid;place-items:center;margin-bottom:11px;border-radius:13px;background:var(--leaf-soft);color:var(--leaf);font-size:18px}.land-detail-empty h3{margin:0 0 5px;font-size:14px}.land-detail-empty p{max-width:330px;margin:0;color:var(--muted);font-size:9px;line-height:1.55}
.land-detail-head{padding:16px 16px 13px;border-bottom:1px solid var(--line);background:linear-gradient(140deg,#fbfcfa,#eef3eb)}.land-detail-kicker{margin:0 0 4px;color:var(--leaf);font-size:7px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.land-detail-head h3{overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.15;letter-spacing:-.025em}.land-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:7px;color:var(--muted);font-size:8px}.land-detail-meta b{color:var(--ink)}
.boundary-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:99px;background:#e2ede4;color:#356e4c;font-size:8px;font-weight:850;text-transform:uppercase}.boundary-badge:before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor}
.land-season-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.summary-stat{min-width:0;padding:8px 5px;border-radius:9px;background:#f3f6f1;text-align:center}.summary-stat b,.summary-stat span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-stat b{font-size:11px}.summary-stat span{margin-top:2px;color:var(--muted);font-size:6px;font-weight:750;text-transform:uppercase}
.land-history{display:grid;gap:7px;padding:14px 15px}.land-history>h4{margin:0 0 2px;font-size:10px}.land-history-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.history-main{min-width:0}.history-main b,.history-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-main b{font-size:9px}.history-main small{margin-top:2px;color:var(--muted);font-size:7px}.history-state{display:inline-flex;align-items:center;min-height:23px;padding:4px 6px;border-radius:99px;font-size:6px;font-weight:850;text-transform:uppercase}.history-state.complete{background:#e1efe4;color:#32704b}.history-state.outstanding{background:#f5eadc;color:#8c622d}
.land-detail-actions{display:grid;gap:7px;padding:0 16px 17px}.land-detail-actions .button{width:100%}

.unmapped-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-small)}.unmapped-panel .subheading{align-items:flex-start}.unmapped-panel .subheading>span{min-width:28px;padding:4px 7px;border-radius:99px;background:#edf1ed;color:#59675e;text-align:center}
.unmapped-list{display:grid;gap:7px}.unmapped-land-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.unmapped-land-open{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.unmapped-land-open b,.unmapped-land-open small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unmapped-land-open b{font-size:10px}.unmapped-land-open small{margin-top:2px;color:var(--muted);font-size:8px}.unmapped-land-open>span:last-child{font-size:9px;font-weight:800;white-space:nowrap}.unmapped-land-open:hover b{color:var(--leaf)}.unmapped-land-open:focus-visible{outline:3px solid rgba(63,124,88,.22);outline-offset:1px}.unmapped-land-item .button{min-height:38px}

.boundary-source-fields .import-safety{grid-column:1/-1}.import-safety{display:grid;gap:2px;padding:11px 12px;border:1px solid #cadecf;border-radius:10px;background:var(--leaf-soft);color:#466150}.import-safety b{font-size:10px}.import-safety span{font-size:8px;line-height:1.5}.field input[type="file"]{padding:6px;background:#fafbf9}.field input[type="file"]::file-selector-button{min-height:32px;margin-right:9px;padding:6px 10px;border:0;border-radius:7px;background:var(--forest-800);color:#fff;font-size:9px;font-weight:800;cursor:pointer}
.boundary-preview{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.boundary-preview .subheading{align-items:center}.boundary-preview-help{margin:8px 0 12px;color:var(--muted);font-size:9px;line-height:1.5}.boundary-preview-list{max-height:390px;display:grid;gap:9px;overflow:auto;padding:2px 4px 2px 0;overscroll-behavior:contain}.boundary-preview-item{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.boundary-preview-item.skipped{opacity:.66;background:#f1f3f0}.boundary-preview-item.has-error{border-color:#d9918a;background:#fff8f7;box-shadow:0 0 0 2px rgba(176,67,57,.05)}.boundary-preview-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.boundary-preview-main{min-width:0}.boundary-preview-main b,.boundary-preview-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boundary-preview-main b{font-size:11px}.boundary-preview-main small{margin-top:2px;color:var(--muted);font-size:8px}.boundary-preview-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px;color:#77847c;font-size:8px}.boundary-area{color:#536359;font-size:9px;font-weight:850;white-space:nowrap}.boundary-assignment-field,.boundary-new-name{gap:5px}.boundary-assignment-field select,.boundary-new-name input{min-height:44px}.boundary-assignment-note{display:grid;gap:2px;margin:0;padding:9px 10px;border:1px solid #c8ddcc;border-radius:9px;background:#eef6ef;color:#476150}.boundary-assignment-note.replace{border-color:#e3c79e;background:#faf1e4;color:#76572e}.boundary-assignment-note b{font-size:9px}.boundary-assignment-note span{font-size:8px;line-height:1.45}.boundary-item-error{margin:0;color:var(--danger);font-size:9px;font-weight:750;line-height:1.4}.import-warning{margin:10px 0 0;padding:9px 11px;border:1px solid #ead4b5;border-radius:9px;background:#fbf1e4;color:#7d592c;font-size:9px;line-height:1.5}
.land-process-list{max-height:min(410px,46dvh);display:grid;gap:8px;overflow:auto;padding:2px;overscroll-behavior:contain}.land-process-option{min-width:0;min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:#fafbf9;cursor:pointer}.land-process-option:has(input:checked){border-color:#91ad97;background:#edf5ee}.land-process-option.assigned{cursor:default;opacity:.74}.land-process-option input{width:18px;height:18px;margin:0;accent-color:var(--leaf)}.land-process-name{min-width:0}.land-process-name b,.land-process-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-process-name b{font-size:10px}.land-process-name small{margin-top:2px;color:var(--muted);font-size:8px}.land-process-state{padding:5px 7px;border-radius:99px;background:#e6eee7;color:#4e6b58;font-size:7px;font-weight:850;text-transform:uppercase;white-space:nowrap}.land-process-option.assigned .land-process-state{background:#edf0ed;color:#667269}.land-process-summary{min-height:18px;margin:10px 0;color:var(--muted);font-size:9px;line-height:1.5}.land-process-create{width:100%;min-height:44px}.land-process-empty{display:grid;justify-items:center;gap:3px;padding:20px;border:1px dashed #cbd5cc;border-radius:11px;background:#fafbf9;text-align:center}.land-process-empty>span{color:var(--leaf);font-size:18px}.land-process-empty b{font-size:11px}.land-process-empty small{color:var(--muted);font-size:8px}
#landActivityDialog .field+.field{margin-top:14px}#landActivityDialog textarea{min-height:88px}

@media (min-width:600px){
  .map-toolbar{grid-template-columns:minmax(145px,.55fr) minmax(220px,1fr) auto;padding:14px}.map-toolbar .toolbar-summary{justify-self:end}
  .map-canvas-wrap{height:clamp(430px,62dvh,610px)}
  .land-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.unmapped-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .boundary-preview-item{padding:11px 13px}.boundary-preview-list{max-height:350px}
}

@media (min-width:1020px){
  .land-map-workspace{grid-template-columns:minmax(0,1fr) minmax(315px,350px)}
  .map-canvas-wrap{height:min(650px,calc(100dvh - 225px));min-height:500px}.map-empty{min-height:500px}
  .land-detail{position:sticky;top:100px;max-height:calc(100dvh - 125px);overflow:auto;overscroll-behavior:contain}.land-detail-empty{min-height:500px}
  .unmapped-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (min-width:1320px){.land-map-workspace{grid-template-columns:minmax(0,1fr) 380px}.map-toolbar{grid-template-columns:200px minmax(280px,1fr) auto}}

@media (max-width:599px){
  [data-page="map"] .heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}[data-page="map"] .heading-actions .button{width:100%;padding-left:9px;padding-right:9px}
  .map-toolbar{padding:11px}.map-toolbar .toolbar-summary{padding-top:0}.map-canvas-wrap{height:clamp(370px,56dvh,500px)}
  .map-legend{right:67px;max-width:none}.map-legend span{font-size:7px}.map-privacy{right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .land-season-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 13px}.land-history{padding:14px 13px}.land-detail-actions{padding:0 13px 14px}
  .land-row{align-items:start}.land-side{max-width:150px;flex-wrap:wrap;justify-content:flex-end}.land-map-link{min-height:36px}.area-pill{order:-1}
  .unmapped-panel{padding:14px}.unmapped-land-item{grid-template-columns:minmax(0,1fr)}.unmapped-land-item .button{width:100%}
  .boundary-preview-list{max-height:42dvh}.boundary-preview-item{padding:11px}.boundary-preview-help{margin-top:6px}.boundary-dialog .modal-actions{z-index:3}
  #boundaryDialog .form-grid{gap:13px}#landActivityDialog .modal-actions .button{font-size:10px}
}

@media (pointer:coarse){.map-controls button{width:46px;height:46px}.map-land-boundary{stroke-width:2.5}.unmapped-land-item .button,.land-map-link{min-height:44px}}
@media (forced-colors:active){.map-land-boundary{fill:Canvas;stroke:CanvasText}.map-land-boundary.selected,.map-land-boundary:focus{stroke:Highlight}.map-legend,.map-privacy,.map-controls{background:Canvas;border-color:CanvasText}}


/* Season planting dashboard */
.planting-toolbar{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin:0 0 18px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-soft)}
.planting-toolbar .toolbar-summary{align-self:center;justify-self:end;color:var(--muted);font-size:10px;font-weight:800}
.planting-metrics{margin-bottom:18px}
.planting-panel{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)}
.planting-panel>.subheading{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.planting-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.planting-columns .planting-panel{margin-bottom:0}
.cultivar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.cultivar-card{padding:15px;border:1px solid #d7e2d9;border-radius:14px;background:linear-gradient(145deg,#fff,#f7faf7)}
.cultivar-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.cultivar-card-head p,.planting-card-head p{margin:0 0 3px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cultivar-card-head h4,.planting-card-head h4{margin:0;color:var(--ink);font-size:14px;line-height:1.2}
.cultivar-card-head strong{white-space:nowrap;color:var(--leaf);font-size:14px}
.cultivar-progress{height:6px;margin:12px 0 7px;overflow:hidden;border-radius:999px;background:#dfe8df}
.cultivar-progress span{display:block;height:100%;border-radius:inherit;background:var(--leaf)}
.cultivar-totals{margin:0 0 11px;color:var(--muted);font-size:9px;font-weight:700}
.cultivar-locations{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.cultivar-locations li{display:flex;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid #e5ebe5;color:var(--muted);font-size:9px}
.cultivar-locations li span:last-child{white-space:nowrap;font-weight:800;color:var(--ink-soft)}
.planting-list{display:grid;gap:10px}
.planting-list.compact{padding:0 13px 14px}
.planting-card{padding:14px;border:1px solid #d9e2da;border-radius:14px;background:#fff}
.planting-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.planting-card-head h4{font-size:13px}
.planting-card-head>div>span{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.planting-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.planting-status.planned{background:#fff2d9;color:#8b5c14}
.planting-status.planted{background:#dff1e5;color:#1e6842}
.planting-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.planting-card-meta span{display:grid;gap:1px;padding:7px 8px;border-radius:9px;background:#f4f7f4;color:var(--muted);font-size:8px}
.planting-card-meta b{overflow-wrap:anywhere;color:var(--ink);font-size:9px}
.planting-notes{margin:9px 0 0;padding:8px 9px;border-left:3px solid #b9cbbb;background:#f7faf7;color:var(--muted);font-size:9px;line-height:1.45}
.planting-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.button.compact{min-height:32px;padding:7px 10px;border-radius:9px;font-size:8px}
.planting-calculation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:14px 0;padding:12px 14px;border:1px solid #cdddcf;border-radius:12px;background:#edf5ef}
.planting-calculation span{color:var(--muted);font-size:9px;font-weight:800}
.planting-calculation b{color:var(--leaf);font-size:14px}
.planting-calculation small{grid-column:1/-1;color:var(--muted);font-size:8px}
.land-plantings{border-top:1px solid var(--line)}
.land-plantings>.subheading{padding:14px 13px 10px}
.land-plantings .planting-card-meta{grid-template-columns:1fr 1fr}
.land-plantings .planting-actions .button{flex:1 1 auto}
@media (max-width:800px){.planting-columns{grid-template-columns:1fr}.planting-toolbar{grid-template-columns:1fr 1fr}.planting-toolbar .toolbar-summary{grid-column:1/-1;justify-self:start}.cultivar-grid{grid-template-columns:1fr}}
@media (max-width:520px){.planting-toolbar{grid-template-columns:1fr}.planting-toolbar .toolbar-summary{grid-column:auto}.planting-panel{padding:13px}.planting-card-meta{grid-template-columns:1fr 1fr}.cultivar-locations li{align-items:start;flex-direction:column;gap:2px}.cultivar-locations li span:last-child{white-space:normal}.planting-actions .button{flex:1 1 auto}}


/* Whole-farm operations hub */
.operation-quick-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-bottom:18px}
.operation-quick-grid button{display:grid;gap:3px;min-width:0;padding:13px 9px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft)}
.operation-quick-grid button:hover{border-color:#9db6a4;background:#f7faf7}.operation-quick-grid span{color:var(--leaf);font-size:17px}.operation-quick-grid b{font-size:10px}.operation-quick-grid small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.operation-metrics{margin-bottom:16px}.operation-search-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.operation-search-row .search-box{max-width:520px}.operation-search-row>span{color:var(--muted);font-size:9px;font-weight:800}
.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.operation-panel{min-width:0;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)}.operation-panel.span-2{grid-column:1/-1}.operation-panel>.subheading{margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}.operation-panel>.subheading>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.operation-panel>.subheading .button{min-height:34px;padding:8px 10px;font-size:8px}
.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.inventory-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid #d9e3da;border-radius:13px;background:#fbfcfb}.inventory-card.low-stock{border-color:#dfad9b;background:#fff8f5}.inventory-card>div:first-child span{color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase}.inventory-card h4{margin:3px 0 2px;font-size:13px}.inventory-card p{margin:0;color:var(--muted);font-size:8px}.inventory-card>strong{color:var(--leaf);font-size:16px;text-align:right}.inventory-card>strong small{font-size:8px}.inventory-meta{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.inventory-meta span{display:grid;gap:2px;padding:6px 8px;border-radius:8px;background:#f0f5f1;color:var(--muted);font-size:7px}.inventory-meta b{color:var(--ink);font-size:8px}.inventory-card .operation-card-actions{grid-column:1/-1}
.operation-list{display:grid;gap:9px;max-height:620px;overflow:auto}.operation-card{padding:12px;border:1px solid #dbe4dc;border-radius:12px;background:#fff}.operation-card-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.operation-card-head p{margin:0 0 2px;color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase}.operation-card-head h4{margin:0;font-size:12px}.operation-card-head>strong{white-space:nowrap;color:var(--leaf);font-size:11px}.operation-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.operation-card-meta span{padding:4px 6px;border-radius:7px;background:#f1f5f2;color:var(--muted);font-size:7px;font-weight:700}.operation-note{margin:8px 0 0;padding:7px;border-left:3px solid #b7c9ba;background:#f7faf7;color:var(--muted);font-size:8px}.operation-card-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.operation-empty{padding:22px;border:1px dashed #cad6cc;border-radius:11px;color:var(--muted);font-size:9px;text-align:center}
.work-status{padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900;text-transform:uppercase}.work-status.planned{background:#fff0d1;color:#835b18}.work-status.in-progress{background:#dcecf4;color:#2f657f}.work-status.completed{background:#dff1e5;color:#246543}
.operation-sublist{display:grid;gap:5px;margin-top:11px}.operation-sublist>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:7px 9px;border-radius:9px;background:#f4f7f4}.operation-sublist span{display:grid}.operation-sublist b{font-size:8px}.operation-sublist small{color:var(--muted);font-size:7px}.operation-sublist strong{font-size:8px}.operation-sublist .operation-card-actions{margin:0}
.yield-summary,.rain-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin-bottom:10px}.yield-summary>span,.rain-summary>span{display:grid;gap:2px;padding:9px;border-radius:10px;background:#edf5ef}.yield-summary b,.rain-summary b{font-size:9px}.yield-summary small{color:var(--muted);font-size:7px}.yield-summary strong,.rain-summary strong{color:var(--leaf);font-size:10px}
.machine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.machine-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px;border:1px solid #d9e3da;border-radius:12px}.machine-card.service-due{border-color:#d9aa71;background:#fff9ef}.machine-card>span{font-size:18px;color:var(--leaf)}.machine-card p{margin:0;color:var(--muted);font-size:7px;text-transform:uppercase}.machine-card h4{margin:1px 0;font-size:11px}.machine-card small{display:block;color:var(--muted);font-size:7px}.machine-card>strong{text-align:right;font-size:11px}.machine-card .operation-card-actions{grid-column:1/-1;margin:0}
.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.attachment-grid.compact{grid-template-columns:1fr;padding:0 13px 14px}.attachment-card{position:relative;display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:10px;min-width:0;padding:9px;border:1px solid #d9e3da;border-radius:12px;background:#fff}.attachment-preview{display:grid;place-items:center;width:75px;height:58px;overflow:hidden;border-radius:8px;background:#e7eee8}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-preview.document span{font-size:11px;font-weight:900;color:#7b4938}.attachment-card p{margin:1px 0 2px;color:var(--muted);font-size:7px;text-transform:uppercase}.attachment-card h4{margin:0 0 3px;font-size:10px;overflow-wrap:anywhere}.attachment-card small,.attachment-card div>span{display:block;color:var(--muted);font-size:7px}
.land-operations{border-top:1px solid var(--line)}.land-operations>.subheading{padding:14px 13px 9px}.land-operation-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:0 13px 11px}.land-operation-actions button{min-height:32px;padding:5px;border:1px solid #cddacf;border-radius:8px;background:#f5f8f5;color:var(--leaf);font-size:7px;font-weight:900;cursor:pointer}.land-operation-feed{display:grid;gap:5px;padding:0 13px 12px}.land-operation-feed article{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:7px;border-radius:8px;background:#f5f8f5}.land-operation-feed article>span{color:var(--leaf)}.land-operation-feed div{display:grid}.land-operation-feed b{font-size:8px}.land-operation-feed small,.land-operation-feed>p{margin:0;color:var(--muted);font-size:7px}
.map-toolbar-expanded{grid-template-columns:minmax(130px,.5fr) minmax(150px,.6fr) minmax(220px,1fr) auto}.map-visual-legend{position:absolute;left:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:5px;max-width:70%;padding:6px 8px;border:1px solid rgba(36,67,50,.18);border-radius:9px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px)}.map-visual-legend span{display:flex;align-items:center;gap:4px;color:#40574a;font-size:6px;font-weight:800}.map-visual-legend i{width:9px;height:9px;border-radius:3px}
#operationFormFields>.field{margin-top:13px}#operationDialog .form-grid{align-items:start}
.spray-products{display:grid;gap:10px;margin-top:17px;padding:14px;border:1px solid #bfd0c1;border-radius:14px;background:#f4f8f4}.spray-products-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.spray-products-head h3{margin:0;font-size:12px}.spray-products-head p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.spray-product-list{display:grid;gap:10px}.spray-product-row{padding:12px;border:1px solid #d4dfd5;border-radius:11px;background:#fff}.spray-product-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.spray-product-row-head span{display:block;color:var(--leaf);font-size:7px;font-weight:900;letter-spacing:.12em}.spray-product-row-head h4{margin:2px 0 0;font-size:11px}.spray-product-row-head button:disabled{visibility:hidden}.spray-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.spray-product-inventory{grid-column:1/-1}.spray-product-count{margin:0;color:var(--muted);font-size:8px;font-weight:800;text-align:right}.spray-conditions-grid{margin-top:15px}.danger-text{color:var(--danger)!important}.button.compact:disabled{opacity:.5;cursor:not-allowed}
.prescription-callout{display:grid;gap:4px;margin:4px 0 15px;padding:12px 14px;border:1px solid #b9cfbd;border-radius:13px;background:#eef6ef}.prescription-callout b{color:var(--leaf);font-size:10px}.prescription-callout span{color:var(--muted);font-size:8px;line-height:1.5}.spreading-zones{display:grid;gap:10px;margin-top:17px;padding:14px;border:1px solid #cdbd9f;border-radius:14px;background:#faf7ef}.spreading-zones-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.spreading-zones-head h3{margin:0;font-size:12px}.spreading-zones-head p{max-width:560px;margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.spreading-zone-list{display:grid;gap:10px}.spreading-zone-row{padding:12px;border:1px solid #ded2bc;border-radius:11px;background:#fff}.spreading-zone-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.spreading-zone-head span{display:block;color:#805b21;font-size:7px;font-weight:900;letter-spacing:.12em}.spreading-zone-head h4{margin:2px 0 0;font-size:11px}.spreading-zone-head button:disabled{visibility:hidden}.spreading-zone-grid{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,.8fr));gap:11px;align-items:end}.spreading-zone-total{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#f6f1e6}.spreading-zone-total span{color:var(--muted);font-size:8px;font-weight:800}.spreading-zone-total b{color:#805b21;font-size:11px}.spreading-zone-count{margin:0;color:var(--muted);font-size:8px;font-weight:800;text-align:right}.spreading-calculation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:15px 0;padding:13px 14px;border:1px solid #d8c9aa;border-radius:13px;background:#fbf6e9}.spreading-calculation span{color:var(--muted);font-size:9px;font-weight:800}.spreading-calculation b{color:#805b21;font-size:15px}.spreading-calculation small{grid-column:1/-1;color:var(--muted);font-size:8px}.spreading-map-field{grid-column:1/-1}.spreading-existing-maps{display:grid;gap:7px;margin:13px 0;padding:11px;border:1px solid #d5dfd6;border-radius:12px;background:#f7faf7}.spreading-existing-maps>span{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.spreading-existing-maps>div,.spreading-map-strip{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.spreading-existing-maps a,.spreading-map-strip a{display:block;width:86px;height:64px;overflow:hidden;border:1px solid #cbd8cd;border-radius:9px;background:#e6eee7}.spreading-existing-maps img,.spreading-map-strip img{width:100%;height:100%;object-fit:cover}.spreading-map-strip>span{display:grid;place-items:center;width:46px;border-radius:9px;background:#edf3ee;color:var(--leaf);font-size:9px;font-weight:900}.spreading-map-missing{margin:9px 0 0;color:var(--muted);font-size:8px;font-style:italic}.spreading-card>.operation-note+.spreading-map-strip{margin-top:9px}
.spreading-existing-maps .spreading-pdf-link,.spreading-map-strip .spreading-pdf-link{display:grid;place-items:center;align-content:center;gap:3px;padding:7px;color:var(--leaf);text-align:center;text-decoration:none}.spreading-pdf-link b{font-size:12px}.spreading-pdf-link small{display:block;max-width:100%;overflow:hidden;color:var(--muted);font-size:6px;text-overflow:ellipsis;white-space:nowrap}.prescription-record-warning{margin:8px 0 0;padding:8px 9px;border:1px solid #e0bf82;border-radius:9px;background:#fff8e8;color:#805b21;font-size:8px;font-weight:700}
.prescription-files-field{grid-column:1/-1}.prescription-import-dialog .modal-intro{font-size:14px}.prescription-import-dialog .field>span{font-size:13px}.prescription-import-dialog .field>small{font-size:12px;line-height:1.45}.prescription-import-dialog input,.prescription-import-dialog select,.prescription-import-dialog textarea{font-size:16px}.prescription-callout b{font-size:15px}.prescription-callout span{font-size:13px}.prescription-import-preview{display:grid;gap:15px}.prescription-import-preview .subheading h3{font-size:20px}.prescription-import-preview .subheading p{font-size:13px}.prescription-import-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.prescription-import-metrics article{display:grid;gap:4px;padding:14px;border:1px solid #d5e0d7;border-radius:12px;background:#f7faf7}.prescription-import-metrics article.warning{border-color:#dfbd7d;background:#fff8e8}.prescription-import-metrics span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.prescription-import-metrics b{font-size:21px}.prescription-import-metrics small{color:var(--muted);font-size:12px}.prescription-import-list{display:grid;gap:11px;max-height:430px;overflow:auto;padding-right:3px}.prescription-allocation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:15px;border:1px solid #cfdbd1;border-radius:13px;background:#fff}.prescription-allocation.zero-only{background:#f7f8f6}.prescription-allocation p{margin:0;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.1em}.prescription-allocation h4{margin:3px 0;font-size:18px}.prescription-allocation>div>small{color:var(--muted);font-size:12px}.prescription-allocation>strong{color:var(--leaf);font-size:19px}.prescription-allocation-zones{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.prescription-allocation-zones>span{display:grid;gap:2px;padding:9px 11px;border-radius:9px;background:#f5efe3}.prescription-allocation-zones>span.zero-zone{background:#eef1ed}.prescription-allocation-zones b{color:#805b21;font-size:15px}.prescription-allocation-zones small{color:var(--muted);font-size:12px}.prescription-import-warning{padding:14px;border:1px solid #d9a764;border-radius:12px;background:#fff7e7}.prescription-import-warning>b{color:#805b21;font-size:16px}.prescription-import-warning p{margin:6px 0;color:#644d28;font-size:13px}.prescription-import-warning small{display:block;margin-top:7px;color:var(--muted);font-size:12px}.prescription-review-confirm{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #cdbd9f;border-radius:12px;background:#faf7ef;cursor:pointer}.prescription-review-confirm input{width:20px;height:20px;margin-top:2px}.prescription-review-confirm span{display:grid;gap:3px}.prescription-review-confirm b{font-size:15px}.prescription-review-confirm small{color:var(--muted);font-size:13px;line-height:1.45}
.prescription-library-help{display:flex;gap:10px;margin-bottom:18px;padding:15px 17px;border:1px solid #b9cfbd;border-radius:14px;background:#eef6ef;font-size:14px;line-height:1.5}.prescription-library-help b{flex:0 0 auto;color:var(--forest-700)}.prescription-library-toolbar{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(170px,.55fr) minmax(240px,1fr) auto;gap:12px;align-items:end;margin-bottom:16px}.prescription-library-toolbar .toolbar-summary{align-self:center}.prescription-library-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.prescription-library-metric{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-small)}.prescription-library-metric.warning{border-color:#dfbd7d;background:#fff8e8}.prescription-library-metric span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.prescription-library-metric strong{color:var(--forest-800);font-size:24px}.prescription-library-metric small{color:var(--muted);font-size:12px}.prescription-map-library{display:grid;gap:18px}.prescription-map-card{overflow:hidden;border:1px solid #cad8cc;border-radius:18px;background:#fff;box-shadow:var(--shadow-small)}.prescription-map-card>header{display:flex;justify-content:space-between;gap:18px;padding:19px 20px;background:linear-gradient(135deg,#f2f7f2,#fff)}.prescription-map-card>header p{margin:0;color:var(--leaf);font-size:12px;font-weight:900;text-transform:uppercase}.prescription-map-card>header h3{margin:4px 0 2px;font-size:22px}.prescription-map-card>header>div>span{color:var(--muted);font-size:14px}.prescription-map-total{display:grid;align-content:start;justify-items:end;min-width:150px}.prescription-map-total small{color:var(--muted);font-size:11px;font-weight:900}.prescription-map-total strong{color:var(--leaf);font-size:26px}.prescription-map-total span{color:var(--muted);font-size:12px}.prescription-map-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-block:1px solid var(--line);background:var(--line)}.prescription-map-meta span{display:grid;gap:2px;padding:12px 16px;background:#fff;color:var(--ink);font-size:14px}.prescription-map-meta b{color:var(--muted);font-size:10px;text-transform:uppercase}.prescription-library-warning{display:flex;gap:10px;margin:15px 18px 0;padding:12px 14px;border:1px solid #d9a764;border-radius:11px;background:#fff7e7;color:#644d28;font-size:13px}.prescription-library-warning.neutral{border-color:#bfd0c1;background:#f2f7f2;color:var(--forest-700)}.prescription-land-list{display:grid;gap:10px;padding:18px}.prescription-land-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(280px,1.5fr) minmax(130px,.45fr);gap:14px;align-items:center;padding:14px;border:1px solid #d5e0d7;border-radius:13px}.prescription-land-row.zero-only{background:#f5f7f4}.prescription-land-name small,.prescription-land-total small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.prescription-land-name h4{margin:2px 0;font-size:19px}.prescription-land-name p{margin:0;color:var(--muted);font-size:12px}.prescription-land-zones{display:flex;flex-wrap:wrap;gap:8px}.prescription-land-zones>span{display:grid;gap:2px;min-width:125px;padding:9px 11px;border-radius:9px;background:#f5efe3}.prescription-land-zones>span.zero-zone{background:#e9eeea}.prescription-land-zones b{color:#805b21;font-size:15px}.prescription-land-zones small{color:var(--muted);font-size:12px}.prescription-land-total{display:grid;justify-items:end}.prescription-land-total strong{color:var(--leaf);font-size:21px}.prescription-land-total span{color:var(--muted);font-size:12px}.prescription-library-files{display:flex;flex-wrap:wrap;gap:9px;padding:0 18px 18px}.prescription-library-files a{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 13px;border:1px solid #bfd0c1;border-radius:10px;background:#f1f6f2;color:var(--forest-700);font-size:13px;text-decoration:none}.prescription-library-files a b{display:grid;place-items:center;width:36px;height:28px;border-radius:6px;background:#dce9df;font-size:11px}.prescription-library-no-file{margin:0;padding:0 18px 18px;color:var(--muted);font-size:13px}.prescription-library-notes{margin:0 18px 18px;padding:12px 14px;border-left:4px solid #b9cbbb;background:#f7faf7;color:var(--muted);font-size:13px}.prescription-library-notes b{display:block;color:var(--ink);font-size:12px}
.operation-picker-dialog{width:min(560px,calc(100% - 20px))}.operation-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operation-picker-grid button{min-height:88px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8faf7;color:var(--ink);text-align:left;cursor:pointer}.operation-picker-grid button:hover{border-color:#9db6a4;background:#f0f6f1}.operation-picker-grid button>span{grid-row:1/3;align-self:center;color:var(--leaf);font-size:23px}.operation-picker-grid button>b{font-size:11px}.operation-picker-grid button>small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){.operation-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map-toolbar-expanded{grid-template-columns:1fr 1fr}.map-toolbar-expanded .toolbar-summary{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.operations-grid{grid-template-columns:1fr}.operation-panel.span-2{grid-column:auto}.operation-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-search-row{align-items:stretch;flex-direction:column}.operation-search-row .search-box{max-width:none}.inventory-grid,.machine-grid,.attachment-grid{grid-template-columns:1fr}}
@media(max-width:520px){.operation-panel{padding:12px}.operation-quick-grid button{padding:11px 9px}.operation-card-meta{display:grid;grid-template-columns:1fr 1fr}.land-operation-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.attachment-card{grid-template-columns:62px minmax(0,1fr) auto}.attachment-preview{width:62px;height:52px}.map-visual-legend{right:10px;max-width:none}.spray-products,.spreading-zones{padding:11px}.spray-products-head,.spreading-zones-head{align-items:flex-start;flex-direction:column}.spray-products-head .button,.spreading-zones-head .button{width:100%}.spray-product-grid,.spreading-zone-grid{grid-template-columns:1fr}.spray-product-inventory{grid-column:auto}.spreading-zone-total{grid-column:auto}.spreading-calculation{grid-template-columns:1fr}.spreading-calculation b{margin-bottom:5px}.spreading-calculation small{grid-column:auto}.prescription-import-metrics{grid-template-columns:1fr 1fr}.prescription-allocation{grid-template-columns:minmax(0,1fr) auto}.prescription-import-list{max-height:none}.prescription-import-dialog .modal-actions{position:sticky;bottom:0;background:#fff}}
@media(max-width:1019px){body[data-current-view="operations"][data-role="owner"] .mobile-operation-add,body[data-current-view="operations"][data-role="manager"] .mobile-operation-add{position:fixed;z-index:49;right:14px;bottom:calc(72px + var(--safe-bottom));display:inline-flex;min-height:46px;padding:11px 16px;border-radius:99px;box-shadow:0 10px 28px rgba(17,52,38,.25)}}
@media(max-width:520px){.operation-picker-grid{grid-template-columns:1fr}.operation-picker-grid button{min-height:72px}.operation-picker-dialog>form{padding-bottom:calc(20px + var(--safe-bottom))}}
@media(max-width:850px){.prescription-library-toolbar{grid-template-columns:1fr 1fr}.prescription-library-toolbar .search-field{grid-column:1/-1}.prescription-library-toolbar .toolbar-summary{justify-self:start}.prescription-library-metrics{grid-template-columns:1fr 1fr}.prescription-map-meta{grid-template-columns:1fr 1fr}.prescription-land-row{grid-template-columns:1fr}.prescription-land-total{justify-items:start}.prescription-map-card>header{align-items:flex-start}.prescription-library-help{display:grid}}
@media(max-width:520px){.prescription-import-dialog .modal-head h2{font-size:24px}.prescription-import-dialog .form-grid{grid-template-columns:1fr}.prescription-import-metrics{grid-template-columns:1fr}.prescription-library-toolbar,.prescription-library-metrics,.prescription-map-meta{grid-template-columns:1fr}.prescription-library-toolbar .search-field{grid-column:auto}.prescription-map-card>header{display:grid;padding:16px}.prescription-map-total{justify-items:start}.prescription-map-card>header h3{font-size:20px}.prescription-land-list{padding:12px}.prescription-land-row{padding:13px}.prescription-land-zones>span{width:100%}.prescription-library-warning{display:grid;margin:12px 12px 0}.prescription-library-files{padding:0 12px 14px}.prescription-library-files a{width:100%}}
