:root{--phi: 1.618;--primary-900: #122827;--primary-800: #1d3e3d;--primary-700: #2c5957;--primary-600: #3f7977;--primary-500: #529a98;--primary-400: #73aeac;--primary-300: #9bc5c3;--primary-200: #c2dcda;--primary-100: #def1f0;--primary-50: #f0f7f7;--accent-green: #529a98;--accent-green-dark: #1d3e3d;--accent-green-light: #9bc5c3;--accent-leaf: #9bc5c3;--accent-sage: #c2dcda;--accent-cream: #f9fdfd;--accent-amber: #e6a817;--accent-coral: #dc6b6b;--accent-teal: #529a98;--bg-primary: #ffffff;--bg-secondary: #f4faf9;--bg-tertiary: #e9f5f3;--bg-header: linear-gradient(160deg, #1d3e3d 0%, #3f7977 50%, #529a98 100%);--bg-header-soft: linear-gradient(160deg, #1d3e3d 0%, #529a98 100%);--surface-card: rgba(255, 255, 255, .7);--surface-card-hover: rgba(255, 255, 255, .82);--surface-elevated: rgba(255, 255, 255, .9);--surface-muted: rgba(255, 255, 255, .45);--surface-input: rgba(255, 255, 255, .55);--surface-overlay: rgba(0, 0, 0, .35);--text-primary: #0a1f1e;--text-secondary: #2f4746;--text-tertiary: #7d9391;--text-on-dark: #ffffff;--text-accent: #3f7977;--border-subtle: rgba(82, 154, 152, .05);--border-light: rgba(82, 154, 152, .1);--border-input: rgba(82, 154, 152, .15);--border-accent: rgba(82, 154, 152, .28);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .03);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 6px 20px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 30px rgba(0, 0, 0, .1);--shadow-btn: 0 4px 12px rgba(82, 154, 152, .25);--shadow-card: 0 1px 4px rgba(0, 0, 0, .03);--space-xs: 4px;--space-sm: 6px;--space-md: 10px;--space-lg: 16px;--space-xl: 26px;--space-2xl: 42px;--space-3xl: 68px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 40px;--radius-full: 9999px;--text-xs: .618rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.236rem;--text-xl: 1.618rem;--text-2xl: 2.618rem;--size-icon-sm: 16px;--size-icon: 20px;--size-icon-lg: 26px;--size-badge: 26px;--size-avatar-sm: 26px;--size-avatar: 42px;--size-avatar-lg: 68px;--size-touch: 42px;--size-touch-lg: 68px;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", "system-ui", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro", "system-ui", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--transition-morph: width .28s var(--ease-spring), height .28s var(--ease-spring), max-width .28s var(--ease-spring), max-height .36s var(--ease-out-expo), padding .26s var(--ease-spring), border-radius .3s var(--ease-spring), transform .24s var(--ease-spring), opacity .2s ease, box-shadow .22s ease, background .22s ease, color .18s ease, border-color .18s ease;--nav-height: 68px;--max-width: 430px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f0;overscroll-behavior:none}body{font-family:var(--font-body);color:var(--text-primary);background-color:#f3f4f0;font-size:var(--text-base);line-height:1.5;overflow-x:hidden;overscroll-behavior:none;min-height:100vh;min-height:100dvh}#root{display:flex;justify-content:center;min-height:100vh;min-height:100dvh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}button,a,[role=button],.toggle-slider,.toggle-slider:before,.badge,.glass-card,.settings__option,.settings__option--clickable,.settings__alert,.settings__select,.settings__loc-btn,.db-hero__pill,.db-hero__bell,.db-hero__account,.db-notif__item,.db-field-btn,.db-field-drop,.db-field-drop__item,.db-sensor,.db-ai,.db-harvest__fill,.db-range-tab,.db-icon-btn,.ai-chat-fab,.ai-chat-panel,.ai-chat-quick-btn,.ai-chat-send-btn,.ai-chat-icon-btn,.analysis__insight,.analysis__insight-icon,.analysis__insight-chevron,.forecast-tab{transition:var(--transition-morph);will-change:transform}.db-field-drop,.settings__alerts,.analysis__insight-desc,.ai-chat-empty,.ai-chat-messages{transition:max-height .36s var(--ease-out-expo),opacity .22s ease,transform .28s var(--ease-spring)}button:active,[role=button]:active,.db-hero__pill--clickable:active{transform:scale(.96);transition-duration:80ms}.app-container{width:100%;max-width:var(--max-width);min-height:100vh;min-height:100dvh;position:relative;overflow:hidden;background:#f3f4f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 42px #0000001a;isolation:isolate}.fixed-overlay-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none;display:flex;justify-content:center}.fixed-overlay-content{position:relative;width:100%;max-width:var(--max-width);height:100%;pointer-events:none}.fixed-nav-cluster{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:var(--space-xl);padding:0 var(--space-xl);pointer-events:none}.page{min-height:100vh;min-height:100dvh;padding:0;padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-xl));position:relative;z-index:1;background:transparent}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl);padding-top:var(--space-2xl)}.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em;color:var(--text-primary);text-shadow:0 2px 4px rgba(255,255,255,.5)}.page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;margin-top:var(--space-xs);text-shadow:0 1px 2px rgba(255,255,255,.5)}.glass-card{background:#fff;border-radius:18px;padding:var(--space-xl);transition:all var(--transition-base);box-shadow:0 1px 8px #0000000f;border:none}.glass-card:hover{box-shadow:0 4px 16px #0000001a}.glass-card--accent{border:1.5px solid rgba(12,94,74,.3);box-shadow:0 2px 12px #0c5e4a14}.glass-card--accent:hover{box-shadow:0 6px 24px #0c5e4a24}.section{margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.section-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.section-action{font-size:var(--text-sm);color:var(--accent-green);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.section-action:hover{opacity:.7}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.stat-grid--3{grid-template-columns:repeat(3,1fr)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);font-weight:700;font-size:var(--text-base);transition:all var(--transition-base);position:relative;overflow:hidden}.btn--primary{background:var(--accent-green);color:var(--text-on-dark);box-shadow:var(--shadow-btn)}.btn--primary:hover{background:var(--accent-green-dark);transform:translateY(-1px);box-shadow:0 6px 26px #0c5e4a59}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:var(--surface-muted);color:var(--text-primary);border:1px solid var(--border-light)}.btn--secondary:hover{background:var(--primary-50)}.btn--danger{background:#dc6b6b1a;color:var(--accent-coral);border:1px solid rgba(220,107,107,.2)}.btn--full{width:100%}.btn--lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-md)}.toggle{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle input{display:none}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d9d9d9;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-base)}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:all var(--transition-base);box-shadow:0 2px 4px #00000026}.toggle input:checked+.toggle-slider{background:var(--accent-green)}.toggle input:checked+.toggle-slider:after{transform:translate(24px);background:#fff}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge--success{background:#0c5e4a1f;color:var(--accent-green-dark)}.badge--warning{background:#e6a8171f;color:var(--accent-amber)}.badge--danger{background:#dc6b6b1f;color:var(--accent-coral)}.badge--info{background:#3a9e8f1f;color:var(--accent-teal)}::-webkit-scrollbar{display:none;width:0;height:0}*{-ms-overflow-style:none;scrollbar-width:none}@keyframes fadeInUp{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-var(--space-sm))}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.animate-in{animation:fadeInUp .3s ease forwards}.animate-delay-1{animation-delay:.05s}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.tab-pills{display:flex;background:var(--surface-muted);border-radius:var(--radius-full);padding:3px;border:1px solid var(--border-subtle)}.tab-pill{flex:1;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;color:var(--text-tertiary);text-align:center;transition:all var(--transition-base);cursor:pointer}.tab-pill--active{background:var(--accent-green);color:var(--text-on-dark);box-shadow:var(--shadow-btn)}@media(max-width:430px){:root{--space-lg: 14px;--space-xl: 22px;--space-2xl: 36px}}.living-navbar{position:relative;z-index:1000;display:flex;justify-content:center;padding:0;pointer-events:none}.living-navbar__inner{pointer-events:auto;display:flex;align-items:center;gap:0;padding:6px;background:#ffffffa6;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid rgba(255,255,255,.5);border-radius:9999px;box-shadow:0 4px 6px #00000005,0 12px 24px #0000000f;overflow:hidden}.living-navbar__link{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;outline:none;position:relative;z-index:1}.living-navbar__item-container{position:relative;padding:0}.living-navbar__item{display:flex;align-items:center;padding:10px 16px;border-radius:9999px;cursor:pointer;position:relative;z-index:2;white-space:nowrap;will-change:transform,filter;color:var(--text-secondary)}.living-navbar__item--active{color:var(--primary-900)}.living-navbar__icon{flex-shrink:0;transition:color .2s ease}.living-navbar__item--active .living-navbar__icon{color:var(--primary-900)}.living-navbar__label{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;overflow:hidden;display:inline-block;white-space:nowrap}.living-navbar__pill{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:9999px;z-index:1;box-shadow:0 2px 8px #00000014}@media(max-width:639px){.living-navbar{width:auto}.living-navbar__inner{padding:4px}}.living-navbar__link,.living-navbar__item,.living-navbar__pill{transition:none!important;will-change:auto!important}.ai-chat-fab{position:relative;z-index:999;flex-shrink:0;width:var(--size-avatar);height:var(--size-avatar);pointer-events:auto;border-radius:var(--radius-full);border:none;background:linear-gradient(135deg,var(--primary-800),var(--primary-600));color:var(--text-on-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #1e3a8a66,0 2px 4px #0000001f;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow var(--transition-base),background var(--transition-base);outline:none}.ai-chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px #1e3a8a80,0 3px 6px #00000026}.ai-chat-fab:active{transform:scale(.96)}.ai-chat-fab--open{background:#fff;color:#e53935;border:1px solid rgba(229,57,53,.15);box-shadow:0 4px 12px #00000014,0 2px 8px #e5393526}.ai-chat-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:997;opacity:0;pointer-events:none;transition:opacity .3s ease;background:#00000014;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:backdropIn .2s ease}.ai-chat-backdrop--open{opacity:1;pointer-events:auto}.ai-chat-panel{position:fixed;height:80vh;bottom:0;left:50%;width:100%;max-width:var(--max-width, 430px);z-index:1001;pointer-events:none;opacity:0;transform:translate(-50%) translateY(100%);margin-bottom:0;padding-bottom:0;display:flex;flex-direction:column;background:#fff;border-top:1px solid rgba(0,0,0,.06);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -8px 32px #0000001f,0 -2px 8px #0000000f;transition:opacity .3s cubic-bezier(.34,1.2,.64,1),transform .3s cubic-bezier(.34,1.2,.64,1)}.ai-chat-panel:after{content:"";position:absolute;top:100%;left:0;right:0;height:50vh;background:#fff;z-index:-1}.ai-chat-panel--open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.ai-chat-panel.ai-chat-panel--fullscreen{height:100dvh;border-radius:0;padding-top:max(env(safe-area-inset-top),48px);padding-bottom:0}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ai-chat-header__info{display:flex;align-items:center;gap:var(--space-md)}.ai-chat-header__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-800),var(--primary-400));color:var(--text-on-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #1e3a8a4d}.ai-chat-header__name{font-family:var(--font-body);font-weight:700;font-size:var(--text-md);color:var(--text-primary);letter-spacing:.2px}.ai-chat-header__actions{display:flex;align-items:center;gap:var(--space-sm)}.ai-chat-icon-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-base),color var(--transition-base);outline:none}.ai-chat-icon-btn:hover{background:var(--border-light);color:var(--text-primary)}.ai-chat-messages{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);scroll-behavior:smooth}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}.ai-chat-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-lg);gap:var(--space-sm)}.ai-chat-empty__icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-50),var(--primary-100));color:var(--primary-800);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.ai-chat-empty__title{font-family:var(--font-body);font-weight:700;font-size:var(--text-lg);color:var(--text-primary)}.ai-chat-empty__desc{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.5;max-width:280px}.ai-chat-quick-prompts{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-top:var(--space-md)}.ai-chat-quick-btn{padding:7px 14px;border-radius:var(--radius-full);border:1px solid var(--border-accent);background:#0c5e4a0f;color:var(--accent-green-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-fast);outline:none}.ai-chat-quick-btn:hover{background:#0c5e4a1f;border-color:#0c5e4a80;transform:translateY(-1px)}.ai-chat-quick-btn:active{transform:translateY(0)}.ai-chat-message{display:flex;align-items:flex-end;gap:var(--space-sm);animation:msgIn .25s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message--user{flex-direction:row-reverse}.ai-chat-message__avatar{width:var(--size-avatar-sm);height:var(--size-avatar-sm);border-radius:50%;background:linear-gradient(135deg,var(--primary-800),var(--primary-400));color:var(--text-on-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat-message__bubble{max-width:78%;padding:var(--space-md) var(--space-lg);border-radius:18px;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.55;white-space:pre-wrap;word-break:break-word}.ai-chat-message--user .ai-chat-message__bubble{background:linear-gradient(135deg,var(--primary-800),var(--primary-600));color:var(--text-on-dark);border-bottom-right-radius:4px}.ai-chat-message--assistant .ai-chat-message__bubble{background:var(--border-subtle);color:var(--text-primary);border-bottom-left-radius:4px}.ai-chat-message--error .ai-chat-message__bubble{background:#dc6b6b14;color:var(--accent-coral);border:1px solid rgba(220,107,107,.2)}.ai-chat-message__bubble--loading{display:flex;align-items:center;gap:5px;padding:var(--space-lg) 18px}.ai-chat-message__bubble--loading span{width:7px;height:7px;border-radius:50%;background:var(--text-tertiary);animation:dotBounce 1.2s infinite ease-in-out}.ai-chat-message__bubble--loading span:nth-child(1){animation-delay:0s}.ai-chat-message__bubble--loading span:nth-child(2){animation-delay:.2s}.ai-chat-message__bubble--loading span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-chat-input-area{padding:var(--space-md) var(--space-lg) 20px;border-top:1px solid var(--border-subtle);flex-shrink:0;display:flex;align-items:center}.ai-chat-error{font-size:var(--text-sm);color:var(--accent-coral);margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#dc6b6b0f;border-radius:var(--radius-sm);border:1px solid rgba(220,107,107,.15)}.ai-chat-input-row{display:flex;align-items:center;gap:var(--space-sm);background:var(--border-subtle);border-radius:9999px;padding:6px 6px 6px var(--space-lg);border:1.5px solid var(--border-light);transition:border-color var(--transition-base);width:100%;min-height:52px}.ai-chat-input-row:focus-within{border-color:var(--border-accent);background:var(--surface-elevated)}.ai-chat-input{flex:1;border:none;background:transparent;outline:none;resize:none;font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);line-height:1.4;max-height:100px;overflow-y:auto;padding:0;display:flex;align-items:center;align-self:center}.ai-chat-input::placeholder{color:var(--text-tertiary)}.ai-chat-send-btn{width:42px;height:42px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-800),var(--primary-600));color:var(--text-on-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform var(--transition-fast),opacity var(--transition-base);outline:none}.ai-chat-send-btn:hover:not(.ai-chat-send-btn--disabled){transform:scale(1.08)}.ai-chat-send-btn--disabled{opacity:.35;cursor:not-allowed}.ai-chat-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:639px){.ai-chat-fab{width:var(--size-avatar);height:var(--size-avatar)}.ai-chat-panel{height:80vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .5s cubic-bezier(.25,1,.5,1)}.splash--fading{opacity:0;pointer-events:none}.splash__logo-wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);animation:splash-logo-in .7s cubic-bezier(.34,1.56,.64,1) .2s forwards}.splash__logo-scale{display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.25,1,.5,1),filter .5s cubic-bezier(.25,1,.5,1)}.splash--fading .splash__logo-scale{transform:scale(.92);filter:blur(2px)}.splash__logo-img{width:clamp(120px,35vw,180px);height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes splash-logo-in{to{opacity:1;transform:scale(1)}}
