@font-face{font-family:__Sora_ce197d;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/1d4eaed977255102-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_ce197d;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f3f7e95f2dbc4fe4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Sora_Fallback_ce197d;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_ce197d{font-family:__Sora_ce197d,__Sora_Fallback_ce197d;font-style:normal}.__variable_ce197d{--font-sora:"__Sora_ce197d","__Sora_Fallback_ce197d"}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ae822095a172cc5c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3c70c5716f1730b3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fc727f226c737876-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/77fb5eec12c66d49-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/281dae1e814de8c6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Mono_e8b655;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/806de4d605d3ad01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Mono_Fallback_e8b655;src:local("Arial");ascent-override:81.58%;descent-override:26.30%;line-gap-override:0.00%;size-adjust:137.28%}.__className_e8b655{font-family:__Space_Mono_e8b655,__Space_Mono_Fallback_e8b655;font-style:normal}.__variable_e8b655{--font-space-mono:"__Space_Mono_e8b655","__Space_Mono_Fallback_e8b655"}:root{--bg-page:#faf9f7;--bg-surface:#fff;--bg-surface-alt:#f4f1ed;--bg-overlay:hsla(0,0%,100%,.92);--bg-input:#fff;--bg-hover:#f0ede8;--bg-selected:#fff4f2;--border:#e2ddd7;--border-strong:#c9c3bb;--border-accent:rgba(199,70,52,.25);--border-focus:#c74634;--text-primary:#201f1e;--text-secondary:#605e5c;--text-tertiary:#8a8886;--text-inverse:#fff;--text-link:#c74634;--redwood:#c74634;--redwood-hover:#a83a2c;--redwood-light:#fff4f2;--redwood-glow:rgba(199,70,52,.08);--redwood-strong:#e25241;--teal:#0c7c6c;--teal-light:#e8f6f3;--teal-bg:rgba(12,124,108,.06);--risk-high:#d4382c;--risk-high-bg:#fff0ee;--risk-moderate:#d97b0b;--risk-moderate-bg:#fff8ed;--risk-low:#0c7c6c;--risk-low-bg:#e8f6f3;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);--shadow-xl:0 16px 40px rgba(0,0,0,.1);--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh}body{font-family:var(--font-sora),"Oracle Sans",system-ui,-apple-system,sans-serif;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;line-height:1.6;font-size:15px}.rw-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs)}.rw-header-inner{display:flex;align-items:center;gap:var(--space-lg);max-width:1340px;margin:0 auto;padding:0 var(--space-lg);height:56px}.rw-header-brand{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;flex-shrink:0}.rw-brand-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--redwood),var(--redwood-hover));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;font-family:var(--font-space-mono),monospace}.rw-brand-text{display:flex;flex-direction:column;gap:0}.rw-brand-name{font-weight:700;font-size:15px;color:var(--text-primary);line-height:1.2;letter-spacing:-.01em}.rw-brand-sub{font-size:10.5px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-space-mono),monospace}.rw-menu-toggle{display:none;width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);align-items:center;justify-content:center;color:var(--text-secondary);font-size:20px}.rw-menu-toggle:hover{background:var(--bg-hover)}.rw-nav{display:flex;align-items:center;gap:var(--space-xs);list-style:none;padding:0;margin:0 0 0 auto}.rw-nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-full);border:1px solid transparent;transition:all .12s ease;white-space:nowrap}.rw-nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.rw-nav-link-active{color:var(--redwood);background:var(--redwood-light);border-color:var(--border-accent)}.rw-nav-divider{width:1px;height:24px;background:var(--border);margin:0 var(--space-sm)}.rw-nav-logout{cursor:pointer;font-family:inherit;color:var(--risk-high);border-color:rgba(212,56,44,.15);background:var(--risk-high-bg)}.rw-nav-logout:hover{background:rgba(212,56,44,.12);color:var(--risk-high)}.rw-nav-lang{display:flex;align-items:center}.rw-lang-select{font-family:inherit;font-size:13px;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;outline:none}.rw-lang-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(79,70,229,.15)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell>.app-main,.app-shell>main{flex:1 1;width:min(1340px,96vw);margin:0 auto;padding:var(--space-lg) var(--space-lg) var(--space-2xl)}.app-shell:has(.dashboard-full) .rw-header{display:none}.app-shell:has(.dashboard-full)>.app-main{width:100%;max-width:none;padding:0;margin:0}.dashboard-full{padding:0;width:100%;max-width:none}.dashboard-layout{display:contents}.rw-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.rw-card:hover{box-shadow:var(--shadow-md)}.card,.glass-card,.rw-card-flat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card,.glass-card{box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover,.glass-card:hover{box-shadow:var(--shadow-md)}.card h2,.card h3{margin:0 0 8px}.card p{margin:0;color:var(--text-secondary)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.card-header h2{font-size:1.2rem;letter-spacing:-.01em}.card-header h2,.card-header h3{margin:4px 0 0;color:var(--text-primary)}.card-header h3{font-size:1.05rem}.hero-kicker,.kicker,.tag{display:inline-block;font-family:var(--font-space-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--redwood);margin-bottom:4px}.tag-glow{background:var(--redwood-light);border:1px solid var(--border-accent);padding:3px 12px;color:var(--redwood)}.btn,.tag-glow{border-radius:var(--radius-full)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);transition:all .12s ease;font-family:inherit;line-height:1.4}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--text-inverse);background:var(--redwood);border-color:var(--redwood);box-shadow:0 1px 3px rgba(199,70,52,.2)}.btn-primary:hover:not(:disabled){background:var(--redwood-hover);border-color:var(--redwood-hover);box-shadow:0 2px 8px rgba(199,70,52,.28);transform:translateY(-1px)}.btn-secondary{color:var(--redwood);background:transparent;border-color:var(--border-accent)}.btn-secondary:hover:not(:disabled){background:var(--redwood-light);border-color:var(--redwood)}.btn-lg{padding:12px 28px;font-size:15px}.btn-sm{padding:6px 14px;font-size:13px}.dash-stack,.page-stack{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.dash-grid{display:grid;grid-template-columns:1.6fr .75fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:flex-start}.dash-sidebar{position:-webkit-sticky;position:sticky;top:76px}.dash-hero{padding:clamp(28px,4vw,44px);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bg-surface) 60%,var(--redwood-light) 100%);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:rw-rise .5s ease-out both}.dash-hero-content h1{margin:8px 0 0;font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.08;letter-spacing:-.03em;color:var(--text-primary)}.dash-hero-content p{margin:14px 0 0;color:var(--text-secondary);max-width:54ch;font-size:15px}.dash-hero-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);align-content:center}.hero-stat{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-md);background:var(--bg-surface);text-align:center;box-shadow:var(--shadow-xs)}.hero-stat strong{display:block;font-size:1.5rem;color:var(--redwood);letter-spacing:-.03em}.hero-stat span{display:block;margin-top:2px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.form-card{background:linear-gradient(180deg,var(--redwood-glow) 0,transparent 20%),var(--bg-surface)}.form-row{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:12.5px;color:var(--text-secondary);font-weight:600}.field-hint{font-size:11px;color:var(--text-tertiary);margin-top:-2px}.field input,.field select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--redwood-glow)}.field select option{background:var(--bg-surface);color:var(--text-primary)}.field-group{display:grid;grid-template-columns:2fr 1fr;grid-gap:8px;gap:8px}.req{font-size:10px;font-weight:700;color:var(--redwood);background:var(--redwood-light);padding:1px 6px;border-radius:4px;margin-left:4px;letter-spacing:.04em;font-family:var(--font-space-mono),monospace;text-transform:uppercase}.form-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap}.error-msg{color:var(--risk-high);font-size:13.5px;margin:0}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--redwood);border-radius:50%;animation:rw-spin .8s linear infinite}.spinner-sm{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:rw-spin .7s linear infinite}@keyframes rw-spin{to{transform:rotate(1turn)}}.weather-card{background:linear-gradient(135deg,var(--teal-bg),transparent 40%),var(--bg-surface)}.weather-grid{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-sm);gap:var(--space-sm);margin-top:var(--space-md)}.weather-metric{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface-alt);text-align:center;transition:border-color .2s}.weather-metric:hover{border-color:var(--teal)}.weather-icon{font-size:1.3rem;line-height:1}.weather-metric strong{font-size:1.05rem;color:var(--teal)}.weather-metric span:last-child{font-size:10.5px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.weather-loading{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.weather-loading p{margin:0;color:var(--text-secondary);font-size:14px}.placeholder-text{margin-top:var(--space-md);color:var(--text-tertiary);font-size:14px}.steps{grid-gap:var(--space-md);margin-top:var(--space-md)}.step,.steps{display:grid;gap:var(--space-md)}.step{grid-template-columns:auto 1fr;grid-gap:var(--space-md);align-items:flex-start}.step-num{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--redwood-light);border:1px solid var(--border-accent);color:var(--redwood);font-family:var(--font-space-mono),monospace;font-weight:700;font-size:14px}.step strong{display:block;font-size:14px;color:var(--text-primary)}.step p{margin:2px 0 0;font-size:13px;color:var(--text-secondary)}.risk-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;font-family:var(--font-space-mono),monospace;letter-spacing:.06em}.risk-badge-high{background:var(--risk-high-bg);color:var(--risk-high);border:1px solid rgba(212,56,44,.2)}.risk-badge-moderate{background:var(--risk-moderate-bg);color:var(--risk-moderate);border:1px solid rgba(217,123,11,.2)}.risk-badge-low{background:var(--risk-low-bg);color:var(--risk-low);border:1px solid rgba(12,124,108,.2)}.overview-grid{display:grid;grid-gap:0;gap:0;margin-top:var(--space-sm)}.overview-item{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:10px 0;border-bottom:1px solid var(--border)}.overview-item:last-child{border-bottom:none}.overview-item span:first-child{font-size:13px}.overview-item strong{font-size:14px}.timestamp{margin-top:var(--space-sm);font-size:11.5px;color:var(--text-tertiary)}.summary-pills{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-sm);gap:var(--space-sm);margin-top:var(--space-md)}.summary-pill{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border-radius:var(--radius);text-align:center}.summary-pill strong{font-size:1.5rem;letter-spacing:-.03em}.summary-pill span{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.pill-danger{background:var(--risk-high-bg);border:1px solid rgba(212,56,44,.15)}.pill-danger strong{color:var(--risk-high)}.pill-danger span{color:rgba(212,56,44,.7)}.pill-warn{background:var(--risk-moderate-bg);border:1px solid rgba(217,123,11,.15)}.pill-warn strong{color:var(--risk-moderate)}.pill-warn span{color:rgba(217,123,11,.7)}.pill-safe{background:var(--risk-low-bg);border:1px solid rgba(12,124,108,.15)}.pill-safe strong{color:var(--risk-low)}.pill-safe span{color:rgba(12,124,108,.7)}.stage-timeline-card{background:linear-gradient(135deg,var(--teal-bg),transparent 30%),var(--bg-surface)}.stage-counter{display:inline-flex;align-items:center;padding:5px 14px;border-radius:var(--radius-full);background:var(--teal);color:#fff;font-size:12px;font-weight:700;font-family:var(--font-space-mono),monospace}.stage-track{position:relative;height:80px;margin:20px 20px 0}.stage-track-bar{right:0;background:var(--border)}.stage-track-bar,.stage-track-progress{position:absolute;top:12px;left:0;height:4px;border-radius:var(--radius-full)}.stage-track-progress{background:linear-gradient(90deg,var(--teal),var(--redwood));transition:width .4s ease}.stage-node{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.stage-dot{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);background:var(--bg-surface);transition:all .3s ease}.stage-node-active .stage-dot{background:var(--redwood);border-color:var(--redwood);box-shadow:0 0 0 5px var(--redwood-glow)}.stage-node-done .stage-dot{background:var(--teal);border-color:var(--teal)}.stage-node-future .stage-dot{background:var(--bg-surface-alt);border-color:var(--border)}.stage-label{font-size:10px;color:var(--text-tertiary);text-transform:capitalize;white-space:nowrap;font-weight:600}.stage-node-active .stage-label{color:var(--redwood)}.stage-meta{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-md);gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}.stage-meta-item{text-align:center}.stage-meta-item span{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.stage-meta-item strong{display:block;margin-top:4px;font-size:14px;text-transform:capitalize;color:var(--text-primary)}.pest-results{display:grid;grid-gap:0;gap:0}.pest-row{display:grid;grid-template-columns:40px 1fr 60px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:14px 0;border-bottom:1px solid var(--border);animation:rw-slide-up .4s ease-out both}.pest-row:last-child{border-bottom:none}.pest-row-rank{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-surface-alt);border:1px solid var(--border);font-family:var(--font-space-mono),monospace;font-weight:700;font-size:13px;color:var(--text-secondary)}.pest-row-info{display:grid;grid-gap:6px;gap:6px}.pest-row-top{display:flex;align-items:center;gap:var(--space-sm)}.pest-row-top strong{font-size:14px}.pest-row-bar-track{height:6px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.pest-row-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease-out}.pest-row-rec{margin:0;font-size:12.5px;color:var(--text-secondary);line-height:1.4}.pest-row-score{font-size:1.15rem;font-weight:700;font-family:var(--font-space-mono),monospace;text-align:right;letter-spacing:-.02em}.pesticide-grid{grid-template-columns:repeat(3,1fr)}.pesticide-grid,.pesticide-tier{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.pesticide-tier{transition:transform .2s ease,box-shadow .2s ease}.pesticide-tier:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.tier-high{border-color:rgba(212,56,44,.2)}.tier-moderate{border-color:rgba(217,123,11,.2)}.tier-low{border-color:rgba(12,124,108,.2)}.pesticide-tier-suggested{box-shadow:var(--shadow-md);border-color:var(--redwood)!important}.tier-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.suggested-tag{font-size:11px;font-weight:700;color:var(--redwood);background:var(--redwood-light);border:1px solid var(--border-accent);padding:2px 10px;border-radius:var(--radius-full)}.tier-section{display:grid;grid-gap:4px;gap:4px}.tier-type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-xs);font-family:var(--font-space-mono),monospace;text-transform:uppercase;letter-spacing:.04em}.type-chemical{background:var(--risk-high-bg);color:var(--risk-high);border:1px solid rgba(212,56,44,.15)}.type-organic{background:var(--risk-low-bg);color:var(--risk-low);border:1px solid rgba(12,124,108,.15)}.tier-detail{margin:0;font-size:12.5px;color:var(--text-secondary)}.tier-dose{margin:0;font-size:13px;color:var(--text-primary)}.tier-divider{height:1px;background:var(--border)}.tier-monitor{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface-alt);display:grid;grid-gap:4px;gap:4px}.tier-monitor strong{font-size:14px;color:var(--text-primary)}.tier-monitor p{font-size:12.5px;line-height:1.4}.sub-text,.tier-monitor p{margin:0;color:var(--text-secondary)}.sub-text{font-size:14px}.results-section{animation:rw-rise .5s ease-out both}.dash-shell{display:grid;grid-template-columns:240px 1fr;height:100vh;overflow:hidden}.dash-nav{background:#1a1a1f;color:#ebebef;display:flex;flex-direction:column;border-right:1px solid hsla(0,0%,100%,.06);overflow-y:auto;padding:0}.dash-nav-brand{gap:10px;padding:20px 16px 16px;border-bottom:1px solid hsla(0,0%,100%,.06)}.dash-nav-brand,.dash-nav-logo{display:flex;align-items:center}.dash-nav-logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--redwood),var(--teal));justify-content:center;color:#fff;font-weight:800;font-size:14px;font-family:var(--font-space-mono),monospace}.dash-nav-brand-text{display:flex;flex-direction:column}.dash-nav-brand-name{font-weight:700;font-size:14px;color:#ebebef}.dash-nav-brand-sub{font-size:10px;color:#8a8f98;text-transform:uppercase;letter-spacing:.06em}.dash-nav-section{padding:12px 8px 4px}.dash-nav-section-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#62666d;padding:0 8px 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:6px;color:#b4b8c0;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;font-family:inherit;text-align:left;position:relative}.dash-nav-item:hover{background:hsla(0,0%,100%,.05);color:#ebebef}.dash-nav-item-active{background:hsla(0,0%,100%,.08);color:#ebebef}.dash-nav-item-active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--redwood)}.dash-nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.dash-nav-count{font-weight:600;color:#62666d;background:hsla(0,0%,100%,.06)}.dash-nav-badge,.dash-nav-count{margin-left:auto;font-size:11px;padding:1px 6px;border-radius:4px}.dash-nav-badge{font-weight:700;color:#fff;background:var(--risk-high);min-width:18px;text-align:center}.dash-nav-area{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:transparent;border-radius:6px;color:#8a8f98;font-size:12px;cursor:pointer;transition:all .12s;font-family:inherit;text-align:left}.dash-nav-area:hover{background:hsla(0,0%,100%,.04);color:#b4b8c0}.dash-nav-area-active{color:#ebebef}.dash-nav-area-dot{width:6px;height:6px;border-radius:50%;background:#62666d;flex-shrink:0}.dash-nav-area-active .dash-nav-area-dot{background:var(--teal)}.dash-nav-area-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-nav-footer{margin-top:auto;padding:12px;border-top:1px solid hsla(0,0%,100%,.06)}.dash-nav-user{display:flex;align-items:center;gap:8px;padding:6px 4px}.dash-nav-avatar{width:28px;height:28px;border-radius:50%;background:hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#ebebef}.dash-nav-username{font-size:12px;color:#8a8f98}.dash-nav-logout{display:flex;align-items:center;gap:6px;width:100%;margin-top:8px;padding:8px 12px;border:1px solid hsla(0,0%,100%,.08);border-radius:8px;background:hsla(0,0%,100%,.04);color:#ebebef;font-size:12px;cursor:pointer;transition:background .15s}.dash-nav-logout:hover{background:rgba(220,38,38,.15);color:#fca5a5}.dash-content{overflow-y:auto;padding:0 24px 40px;background:var(--bg-page)}.dash-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:20px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg-page);z-index:10}.dash-topbar-left{display:flex;flex-direction:column;gap:2px}.dash-topbar-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.dash-topbar-sub{font-size:12px;color:var(--text-tertiary)}.dash-topbar-stats{display:flex;gap:6px}.dash-topbar-controls{display:flex;align-items:center;gap:10px;margin-left:auto;margin-right:16px}.lang-select{padding:5px 10px;border-radius:6px;font-size:13px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;min-width:90px}.lang-select:focus{outline:2px solid var(--teal);outline-offset:1px}.font-controls{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.font-btn{padding:4px 10px;font-size:13px;font-weight:600;border:none;background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:background .15s}.font-btn:hover{background:var(--teal);color:#fff}.font-size-label{padding:4px 6px;font-size:11px;color:var(--text-tertiary);background:var(--bg);min-width:36px;text-align:center}.stat-chip{display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:8px;min-width:52px}.stat-chip strong{font-size:16px;color:var(--text-primary)}.stat-chip span{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.stat-chip-alert strong{color:var(--risk-high)}.dashboard-topbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);padding:var(--space-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-sm)}.dashboard-title{margin:0;font-size:1.15rem;color:var(--text-primary)}.dashboard-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:13.5px}.landing-hero{display:grid;grid-template-columns:1.4fr .95fr;grid-gap:var(--space-xl);gap:var(--space-xl);padding:clamp(28px,4vw,48px);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bg-surface) 50%,var(--redwood-light) 100%);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:rw-rise .5s ease-out both}.landing-hero-copy h1{margin:0;font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.04;letter-spacing:-.03em;color:var(--text-primary)}.landing-lead{margin:14px 0 0;max-width:58ch;color:var(--text-secondary);font-size:15px}.landing-hero-panel{display:grid;grid-gap:var(--space-md);gap:var(--space-md);align-content:flex-start}.signal-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.signal-card h3{margin:0}.signal-card p{margin:8px 0 0;color:var(--text-secondary)}.signal-card-accent{background:linear-gradient(145deg,#9e2a1e,#c74634);border-color:rgba(199,70,52,.5);color:#fff}.signal-card-accent .signal-label,.signal-card-accent h3,.signal-card-accent p{color:#ffe8e5}.signal-label{font-family:var(--font-space-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--redwood)}.signal-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.signal-list span{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:600;font-size:14px}.signal-list span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--redwood)}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-md);gap:var(--space-md)}.stat-chip{padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.stat-chip strong{display:block;font-size:1.7rem;line-height:1;color:var(--redwood);letter-spacing:-.03em}.stat-chip span{display:block;margin-top:6px;color:var(--text-secondary);font-size:14px}.grid-2{grid-gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:var(--space-md)}.grid-3{grid-gap:var(--space-md);grid-template-columns:repeat(3,1fr)}.deployment-card,.feature-card,.process-card,.role-card{animation:rw-rise .42s ease-out both}.flow-list{grid-gap:var(--space-md);margin-top:var(--space-md)}.flow-list,.flow-step{display:grid;gap:var(--space-md)}.flow-step{grid-template-columns:auto 1fr;grid-gap:var(--space-md);align-items:flex-start}.flow-index{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--redwood-light);border:1px solid var(--border-accent);color:var(--redwood);font-family:var(--font-space-mono),monospace;font-weight:700}.flow-step h3{margin:0 0 4px}.flow-step p{margin:0;color:var(--text-secondary)}.cta-band{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--bg-surface) 60%,var(--redwood-light) 100%);box-shadow:var(--shadow-md)}.cta-band h2{margin:0}.cta-band p{margin:10px 0 0;color:var(--text-secondary);max-width:52ch}.hero-actions{margin-top:var(--space-lg);display:flex;gap:var(--space-sm);flex-wrap:wrap}.inline-list{margin:10px 0 0;padding-left:18px;color:var(--text-secondary);display:grid;grid-gap:7px;gap:7px}.auth-layout{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg);grid-template-columns:1.1fr .9fr;align-items:stretch;min-height:calc(100vh - 180px)}.auth-panel{border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md)}.auth-panel-brand{background:linear-gradient(145deg,var(--redwood-light),var(--bg-surface));display:grid;align-content:flex-start}.auth-panel-form{display:grid;align-items:center;background:var(--bg-surface)}.auth-form-shell{max-width:420px;width:100%}.auth-title{margin:8px 0 0;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.02em}.auth-subtitle{margin:10px 0 0;color:var(--text-secondary)}.auth-form-title{margin:0;font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.02em}.auth-form-copy{margin:10px 0 0;color:var(--text-secondary)}.auth-side-card{margin-top:var(--space-lg);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface)}.auth-form{margin-top:var(--space-md);display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.auth-error{font-size:13.5px}.auth-meta{margin:2px 0 0;color:var(--text-tertiary);font-size:12.5px}.logout-wrap{display:grid;grid-gap:6px;gap:6px;justify-items:end}.logout-error{margin:0;font-size:12.5px;color:var(--risk-high)}.micro{margin:0;color:var(--text-tertiary);font-size:13px}a{color:var(--text-link)}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;vertical-align:top}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.pill,th{font-size:11px;font-family:var(--font-space-mono),monospace}.pill{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-weight:600}.pill-high{background:var(--risk-high-bg);color:var(--risk-high);border:1px solid rgba(212,56,44,.15)}.pill-medium{background:var(--risk-moderate-bg);color:var(--risk-moderate);border:1px solid rgba(217,123,11,.15)}.pill-low{background:var(--risk-low-bg);color:var(--risk-low);border:1px solid rgba(12,124,108,.15)}.section-heading{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.metric,.section-heading{display:flex;justify-content:space-between}.metric{gap:var(--space-sm);align-items:baseline;border-bottom:1px dashed var(--border);padding:7px 0}.metric:last-child{border-bottom:0}.metric strong{color:var(--text-primary)}.process-flow-section{margin-top:var(--space-lg)}.process-flow-wrapper{padding:var(--space-xl);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow-x:auto}.process-flow-wrapper svg{display:block;margin:0 auto;max-width:100%;height:auto}.toast-container{position:fixed;top:68px;right:20px;z-index:9999;display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);max-width:400px;width:100%;pointer-events:none}.toast{pointer-events:auto;gap:var(--space-sm);padding:12px 16px;border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:toast-in .3s ease-out both}.toast,.toast-icon{display:flex;align-items:center}.toast-icon{flex-shrink:0;width:28px;height:28px;justify-content:center;border-radius:50%;font-size:13px;font-weight:700}.toast-msg{flex:1 1;font-size:13.5px;color:var(--text-primary);line-height:1.4}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;border-radius:var(--radius-xs);transition:background .12s}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-success{border-left:3px solid var(--risk-low)}.toast-success .toast-icon{background:var(--risk-low-bg);color:var(--risk-low)}.toast-error{border-left:3px solid var(--risk-high)}.toast-error .toast-icon{background:var(--risk-high-bg);color:var(--risk-high)}.toast-warning{border-left:3px solid var(--risk-moderate)}.toast-warning .toast-icon{background:var(--risk-moderate-bg);color:var(--risk-moderate)}.toast-info{border-left:3px solid var(--teal)}.toast-info .toast-icon{background:var(--teal-light);color:var(--teal)}@keyframes toast-in{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.dash-footer{margin-top:var(--space-lg);padding:var(--space-xl) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-sm);text-align:center}.dash-footer-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-md);gap:var(--space-md);margin-bottom:var(--space-md)}.footer-stat{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface-alt)}.footer-stat strong{display:block;font-size:1.5rem;color:var(--redwood);letter-spacing:-.03em}.footer-stat span{display:block;margin-top:2px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.footer-copy{margin:0;font-size:12.5px;color:var(--text-tertiary)}.stage-tooltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:50;width:260px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:none;animation:rw-rise .2s ease-out both}.stage-tooltip strong{display:block;font-size:13.5px;color:var(--text-primary);margin-bottom:2px}.stage-tooltip-duration{display:inline-block;font-size:11px;font-family:var(--font-space-mono),monospace;color:var(--redwood);background:var(--redwood-light);border:1px solid var(--border-accent);padding:1px 8px;border-radius:var(--radius-full);margin-bottom:6px}.stage-tooltip p{margin:0;font-size:12px;line-height:1.45;color:var(--text-secondary)}.stage-tooltip-hint{display:block;margin-top:8px;font-size:11px;font-weight:600;color:var(--redwood)}.stage-action-panel{margin-top:var(--space-lg);padding:var(--space-lg);background:linear-gradient(135deg,var(--redwood-glow),transparent 40%),var(--bg-surface-alt);border:1px solid var(--border);border-radius:var(--radius-lg);animation:rw-rise .35s ease-out both}.stage-action-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.stage-action-desc{margin:0 0 var(--space-md);font-size:14px;color:var(--text-secondary);line-height:1.55;max-width:74ch}.stage-action-grid{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:var(--space-lg);gap:var(--space-lg)}.stage-action-col h4{margin:0 0 var(--space-sm);font-size:14px;color:var(--text-primary)}.stage-action-list{margin:0;padding-left:20px;display:grid;grid-gap:8px;gap:8px}.stage-action-list li{font-size:13px;color:var(--text-secondary);line-height:1.45}.stage-action-list li::marker{color:var(--redwood);font-weight:700}.stage-pest-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}.stage-pest-chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;background:var(--risk-high-bg);color:var(--risk-high);border:1px solid rgba(212,56,44,.15)}.stage-action-meta{display:grid;grid-gap:10px;gap:10px}.stage-action-meta>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--border)}.stage-action-meta>div:last-child{border-bottom:none}.stage-action-meta>div span{font-size:12px;color:var(--text-tertiary)}.stage-action-meta>div strong{font-size:13px;color:var(--text-primary)}.stage-current-badge span{display:inline-flex;align-items:center;gap:6px;font-size:12px!important;font-weight:700;color:var(--redwood)!important}.pesticide-rec-box{background:linear-gradient(180deg,var(--redwood-glow) 0,transparent 12%),var(--bg-surface)}@keyframes rw-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes rw-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.pesticide-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:980px){.auth-layout,.dash-grid,.dash-hero,.grid-3,.landing-hero{grid-template-columns:1fr}.dash-sidebar{position:static}.form-row-3,.stage-meta,.stats-strip{grid-template-columns:1fr}.stage-meta{gap:8px}.stage-label,.stage-tooltip{display:none}.stage-action-grid{grid-template-columns:1fr}.rw-menu-toggle{display:flex}.rw-nav{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);padding:var(--space-md);gap:var(--space-xs)}.rw-nav.rw-nav-open{display:flex}.rw-nav-divider{display:none}}@media (max-width:760px){.grid-2,.grid-3,.pesticide-grid{grid-template-columns:1fr}.weather-grid{grid-template-columns:repeat(2,1fr)}.summary-pills{grid-template-columns:1fr}.cta-band,.dash-hero,.landing-hero{padding:var(--space-lg)}.dashboard-topbar{flex-direction:column;align-items:flex-start}.logout-wrap{justify-items:start}.card-header,.cta-band,.section-heading{flex-direction:column;align-items:flex-start}.dash-footer-stats,.dash-hero-stats{grid-template-columns:repeat(2,1fr)}.field-group{grid-template-columns:1fr}}.dash-tabs{display:flex;gap:4px;background:var(--surface);border-radius:12px;padding:4px;border:1px solid var(--border)}.dash-tab{flex:1 1;padding:10px 16px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.dash-tab:hover{background:var(--bg-elevated);color:var(--text-primary)}.dash-tab-active{background:var(--accent);color:#fff}.tab-badge{background:#fff;color:var(--accent);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.area-bar{align-items:center;gap:12px;padding:12px 0}.area-bar,.area-chips{display:flex;flex-wrap:wrap}.area-chips{gap:8px;flex:1 1}.area-chip{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .2s;font-family:inherit;text-align:left}.area-chip strong{font-size:14px;color:var(--text-primary)}.area-chip span{font-size:12px;color:var(--text-secondary)}.area-chip:hover{border-color:var(--accent);transform:translateY(-1px)}.area-chip-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.area-info-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:12px}.area-info-grid>div{display:flex;flex-direction:column;gap:2px;padding:8px 0}.area-info-grid span{font-size:12px;color:var(--text-secondary)}.area-info-grid strong{font-size:15px;color:var(--text-primary)}.action-row{display:flex;gap:10px;flex-wrap:wrap}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-bar h2{margin:0}.harvest-card{border-left:4px solid var(--text-secondary)}.harvest-ok{border-left-color:var(--risk-low);background:color-mix(in srgb,var(--risk-low) 5%,var(--surface))}.harvest-warn{border-left-color:var(--risk-high);background:color-mix(in srgb,var(--risk-high) 5%,var(--surface))}.harvest-meta{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0;font-size:13px;color:var(--text-secondary)}.harvest-meta span{display:flex;align-items:center;gap:4px}.harvest-reasons{margin:8px 0 0 18px;padding:0}.harvest-reasons li{margin-bottom:4px;color:var(--text-secondary);font-size:14px}.harvest-suggestions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.harvest-suggestions h4{margin:0 0 6px;font-size:14px;color:var(--text-primary)}.harvest-suggestions ul{margin:0 0 0 18px;padding:0}.harvest-suggestions li{margin-bottom:4px;color:var(--teal);font-size:13px;font-weight:500}.obs-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.obs-item{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.obs-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.obs-type-badge{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:6px}.obs-type-daily{background:color-mix(in srgb,var(--teal) 15%,transparent);color:var(--teal)}.obs-type-weekly{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.obs-date{font-size:12px;color:var(--text-secondary)}.obs-pest-row{display:flex;align-items:center;justify-content:space-between;margin:4px 0}.obs-health,.obs-notes{font-size:13px;color:var(--text-secondary)}.obs-notes{margin:4px 0 0;font-style:italic}.risk-overview .overview-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:10px}.overview-item{display:flex;flex-direction:column;gap:2px}.overview-item span:first-child,.timestamp{font-size:12px;color:var(--text-secondary)}.timestamp{margin-top:10px}.log-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.log-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.log-date{min-width:80px;color:var(--text-secondary)}.log-score{font-weight:700;min-width:40px}.log-pest{color:var(--text-secondary)}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-card{position:relative;border-left:4px solid var(--border)}.alert-unread{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.alert-risk{border-left-color:var(--risk-high)}.alert-harvest{border-left-color:var(--risk-low)}.alert-observation{border-left-color:var(--teal)}.alert-weekly{border-left-color:var(--risk-moderate)}.alert-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.alert-time{font-size:12px;color:var(--text-secondary);white-space:nowrap}.alert-new-badge{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;text-transform:uppercase;background:var(--accent);color:#fff;padding:2px 8px;border-radius:6px}.risk-log-table-wrap{overflow-x:auto}.risk-log-table{width:100%;border-collapse:collapse;font-size:14px}.risk-log-table th{text-align:left;padding:10px 12px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);border-bottom:2px solid var(--border)}.risk-log-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.risk-log-table tr:hover td{background:var(--bg-elevated)}.auth-forms-wrapper{width:100%}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border)}.auth-tab{flex:1 1;padding:10px 16px;background:transparent;cursor:pointer;font-weight:600;font-size:14px;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;font-family:inherit}.auth-tab:hover{color:var(--text-primary)}.auth-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-error{color:var(--risk-high)}.auth-error,.auth-meta{font-size:13px;margin:0}.auth-meta{color:var(--text-secondary)}.otp-header{text-align:center;margin-bottom:8px}.otp-icon{font-size:32px;display:block;margin-bottom:8px}.otp-input{text-align:center;font-size:24px;letter-spacing:12px;font-weight:700;max-width:200px;margin:0 auto}.btn-danger{background:var(--risk-high);color:#fff;border:none}.btn-danger:hover{filter:brightness(1.1)}.dash-sidebar{min-width:0}.obs-count{font-size:12px;font-weight:500}.obs-count,.tab-count{color:var(--text-secondary)}.tab-count{font-size:11px;background:var(--border);padding:1px 6px;border-radius:8px;margin-left:4px}.dash-tab-active .tab-count{background:hsla(0,0%,100%,.3);color:#fff}.obs-form-card{border-left:4px solid var(--teal)}.obs-toggle-section{display:flex;flex-direction:column;gap:8px}.obs-toggle-label{font-weight:600;font-size:14px;color:var(--text-primary)}.obs-toggle-row{display:flex;gap:8px}.obs-toggle-btn{flex:1 1;padding:12px 16px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;font-weight:600;font-size:14px;color:var(--text-secondary);transition:all .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px}.obs-toggle-btn:hover{border-color:var(--text-secondary)}.obs-toggle-active.obs-toggle-no{border-color:var(--risk-low);background:var(--risk-low-bg);color:var(--risk-low)}.obs-toggle-active.obs-toggle-yes{border-color:var(--risk-high);background:var(--risk-high-bg);color:var(--risk-high)}.obs-pest-detail-panel{background:var(--risk-high-bg);border:1px solid color-mix(in srgb,var(--risk-high) 20%,transparent);border-radius:10px;padding:16px;animation:slideDown .2s ease}.level-cards{display:flex;gap:6px;margin-top:4px}.level-card{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border:2px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .2s;font-family:inherit}.level-card:hover{transform:translateY(-1px)}.level-card-icon{font-size:20px}.level-card-text{font-size:12px;font-weight:600;color:var(--text-secondary)}.level-card-active.level-card-low{border-color:var(--risk-low);background:var(--risk-low-bg)}.level-card-active.level-card-low .level-card-text{color:var(--risk-low)}.level-card-active.level-card-medium{border-color:var(--risk-moderate);background:var(--risk-moderate-bg)}.level-card-active.level-card-medium .level-card-text{color:var(--risk-moderate)}.level-card-active.level-card-high{border-color:var(--risk-high);background:var(--risk-high-bg)}.level-card-active.level-card-high .level-card-text{color:var(--risk-high)}.obs-photo-section{display:flex;flex-direction:column;gap:8px}.obs-photo-label{font-weight:600;font-size:14px;color:var(--text-primary)}.obs-photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;border:2px dashed var(--border);border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text-secondary);text-align:center}.obs-photo-dropzone:hover{border-color:var(--accent);background:var(--bg-elevated)}.obs-photo-icon{font-size:28px}.obs-photo-hint{font-size:12px;color:var(--text-secondary);opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.obs-photo-preview{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.obs-photo-preview img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.obs-photo-info{display:flex;flex-direction:column;gap:6px}.obs-photo-info span{font-size:13px;color:var(--text-secondary);word-break:break-all}.input-disabled{opacity:.6;cursor:not-allowed}.obs-health-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);margin:2px 0}.obs-health-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.obs-health-good{background:var(--risk-low)}.obs-health-moderate{background:var(--risk-moderate)}.obs-health-poor{background:var(--risk-high)}.obs-no-pest{font-size:13px;color:var(--risk-low);margin:2px 0}.obs-thumb{width:100%;max-height:120px;object-fit:cover;border-radius:8px;margin-top:6px;border:1px solid var(--border)}.obs-table .nowrap{white-space:nowrap}.obs-pest-tag{color:var(--risk-high);font-weight:500}.obs-clear-tag{color:var(--risk-low)}.obs-table-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.obs-notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weather-card{border-left:3px solid var(--teal)}.weather-time{font-size:11px;color:var(--text-tertiary)}.weather-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.weather-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface-alt);text-align:center}.weather-icon{font-size:22px}.weather-item strong{font-size:18px;color:var(--text-primary);letter-spacing:-.02em}.weather-item span:last-child{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.obs-rec-card{border-left:3px solid var(--redwood);animation:rw-rise .4s ease-out both}.obs-rec-level{margin:8px 0 12px;font-size:14px}.obs-rec-section{margin-bottom:16px}.obs-rec-section h4{margin:0 0 8px;font-size:14px}.obs-rec-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.obs-rec-tier{border-top:1px solid var(--border);padding-top:16px}.obs-rec-tier h4{margin:0 0 12px;font-size:14px}.obs-rec-tier-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.obs-rec-tier-item{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface-alt)}.obs-rec-tier-item strong{font-size:14px}.obs-rec-tier-item span{font-size:12px;color:var(--text-secondary)}.obs-rec-dose{font-weight:600;color:var(--text-primary)!important}.obs-rec-monitor{margin-top:12px;font-size:13px;color:var(--text-secondary)}.pest-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-top:6px}.pest-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:all .2s;font-family:inherit;text-align:center}.pest-card:hover{border-color:var(--text-secondary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.pest-card-active{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.pest-card-active,.pest-card-active:hover{border-color:var(--accent)}.pest-card-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border);background:var(--bg-elevated)}.pest-card-active .pest-card-img{border-color:var(--accent)}.pest-card-fallback{font-size:28px;line-height:1;display:none}.pest-card-img:not([src])+.pest-card-fallback,.pest-card-img[style*="display: none"]+.pest-card-fallback,.pest-card:not(:has(.pest-card-img)) .pest-card-fallback{display:block}.pest-card-other .pest-card-fallback{display:block}.pest-card-name{font-size:12px;font-weight:700;color:var(--text-primary);line-height:1.2}.pest-card-sci{font-size:10px;color:var(--text-secondary);font-style:italic;line-height:1.2}.pest-card-check{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.form-actions{display:flex;gap:10px;justify-content:flex-end}.form-actions .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.form-actions .btn-secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.quick-start-card{text-align:center;padding:40px 24px;animation:slideDown .3s ease}.quick-start-icon{font-size:48px;margin-bottom:12px}.quick-start-card h2{margin:0 0 8px}.quick-start-card>p{color:var(--text-secondary);max-width:480px;margin:0 auto 24px}.quick-start-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px;text-align:left}.qs-step{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;background:var(--bg-elevated);font-size:14px;color:var(--text-secondary)}.qs-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.empty-state-card{text-align:center;padding:40px 24px;animation:slideDown .3s ease}.empty-state-icon{font-size:40px;margin-bottom:8px}.empty-state-card h3{margin:0 0 8px}.empty-state-card p{color:var(--text-secondary);max-width:480px;margin:0 auto}.section-bar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filter-pills{display:flex;gap:4px}.filter-pill{padding:6px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:all .15s;font-family:inherit}.filter-pill:hover{border-color:var(--text-secondary)}.filter-pill-active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-pill-active.filter-pill-high{background:var(--risk-high);border-color:var(--risk-high)}.filter-pill-active.filter-pill-moderate{background:var(--risk-moderate);border-color:var(--risk-moderate)}.filter-pill-active.filter-pill-low{background:var(--risk-low);border-color:var(--risk-low)}.alert-card{display:flex;gap:14px;align-items:flex-start;animation:slideDown .25s ease}.alert-type-icon{flex-shrink:0;font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:10px}.alert-body{flex:1 1;min-width:0}.alert-meta{display:flex;align-items:center;gap:8px;margin-top:6px}.alert-type-tag{font-size:11px;text-transform:capitalize;font-weight:600;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 8px;border-radius:6px}.log-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.log-summary-card{padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);text-align:center}.log-summary-card strong{display:block;font-size:28px;margin-top:4px}.log-summary-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.log-summary-high{border-left:3px solid var(--risk-high)}.log-summary-high strong{color:var(--risk-high)}.log-summary-moderate{border-left:3px solid var(--risk-moderate)}.log-summary-moderate strong{color:var(--risk-moderate)}.log-summary-low{border-left:3px solid var(--risk-low)}.log-summary-low strong{color:var(--risk-low)}@media (max-width:900px){.area-info-grid{grid-template-columns:repeat(2,1fr)}.action-row{flex-direction:column}.action-row .btn{width:100%}.level-cards{flex-direction:column}.dash-shell{grid-template-columns:200px 1fr}.dash-topbar-stats{display:none}.dash-topbar-controls{margin-left:0}}@media (max-width:760px){.area-info-grid{grid-template-columns:1fr}.area-bar{flex-direction:column;align-items:stretch}.risk-overview .overview-grid{grid-template-columns:1fr}.obs-photo-preview,.obs-toggle-row{flex-direction:column}.obs-photo-preview{align-items:flex-start}.dash-shell{grid-template-columns:56px 1fr}.dash-nav-area-name,.dash-nav-badge,.dash-nav-brand-text,.dash-nav-count,.dash-nav-item span:not(.dash-nav-icon),.dash-nav-section-label,.dash-nav-username{display:none}.dash-nav-item{justify-content:center;padding:10px}.dash-nav-area{justify-content:center;padding:8px}.dash-nav-brand{padding:16px 8px}.dash-nav-brand,.dash-nav-user{justify-content:center}.dash-content{padding:0 12px 24px}.dash-topbar,.section-bar{flex-direction:column;align-items:flex-start;gap:8px}.section-bar-actions{flex-direction:column;width:100%}}