@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--color-primary: #2d6a4f;--color-primary-light: #40916c;--color-primary-lighter: #52b788;--color-primary-lightest: #b7e4c7;--color-primary-bg: #d8f3dc;--color-primary-dark: #1b4332;--color-secondary: #e07c24;--color-secondary-light: #f4a261;--color-secondary-dark: #c96c12;--color-earth: #8b6914;--color-earth-light: #c9a84c;--color-danger: #e63946;--color-danger-light: #fce4ec;--color-warning: #f4a261;--color-warning-light: #fff3e0;--color-success: #2d6a4f;--color-success-light: #d8f3dc;--color-info: #457b9d;--color-info-light: #e3f2fd;--color-bg: #f8faf9;--color-bg-secondary: #eef3f0;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #d4ddd8;--color-border-light: #e8ede9;--color-text: #1a2e23;--color-text-secondary: #5a7268;--color-text-muted: #8a9e94;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .08), 0 4px 10px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-primary: #52b788;--color-primary-light: #74c69d;--color-primary-lighter: #95d5b2;--color-primary-lightest: #2d6a4f;--color-primary-bg: rgba(45, 106, 79, .15);--color-primary-dark: #b7e4c7;--color-secondary: #f4a261;--color-secondary-light: #e07c24;--color-secondary-dark: #ffd699;--color-earth: #c9a84c;--color-earth-light: #8b6914;--color-danger: #ff6b7a;--color-danger-light: rgba(230, 57, 70, .15);--color-warning: #ffb74d;--color-warning-light: rgba(244, 162, 97, .15);--color-success: #52b788;--color-success-light: rgba(45, 106, 79, .15);--color-info: #64b5f6;--color-info-light: rgba(69, 123, 157, .15);--color-bg: #0f1a14;--color-bg-secondary: #162a1e;--color-surface: #1a2e23;--color-surface-elevated: #213b2e;--color-border: #2d5040;--color-border-light: #243d30;--color-text: #e8f5e9;--color-text-secondary: #9cb8a8;--color-text-muted: #6b8f7d;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 6px rgba(0, 0, 0, .25), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .3), 0 4px 10px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .35), 0 8px 16px rgba(0, 0, 0, .2)}*,*:before,*:after{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body);font-size:15px}.app-layout{display:flex;min-height:100vh;position:relative}@media(max-width:768px){.app-layout{flex-direction:column}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--color-warning);color:#fff;padding:8px;text-align:center;font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 5px #0003}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;z-index:10000;transition:top .2s}.skip-link:focus{top:0}.mobile-header{display:none;padding:var(--space-md) var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.mobile-header-logo{display:flex;align-items:center;gap:10px}.mobile-header-logo img{height:32px;width:auto;object-fit:contain}.mobile-header-logo span{font-size:1.3rem;font-weight:900;color:var(--color-primary-dark)}.sidebar-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90}.app-main{flex:1;margin-left:280px;min-height:100vh;display:flex;flex-direction:column}@media(max-width:768px){.app-main{margin-left:0;padding-bottom:70px}}.app-topbar{padding:var(--space-md) var(--space-xl);display:flex;justify-content:flex-end;align-items:center}.app-content{padding:var(--space-xl);max-width:1200px;margin:0 auto;width:100%;flex:1}@media(max-width:768px){.app-content{padding:var(--space-md)}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch;gap:var(--space-md)}}.page-title{font-size:1.75rem;font-weight:800}.page-subtitle{color:var(--color-text-secondary);font-size:.95rem;margin-top:var(--space-xs)}.dashboard-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}@media(max-width:768px){.dashboard-actions .btn{flex:1;justify-content:center}}.gardens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}@media(max-width:768px){.gardens-grid{grid-template-columns:1fr}}.plants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}@media(max-width:768px){.plants-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr!important;gap:var(--space-lg)!important}}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.85rem}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mt-3xl{margin-top:var(--space-3xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-3xl) var(--space-xl);border-style:dashed!important;background:var(--color-surface)}.empty-state .empty-state-icon{margin-bottom:var(--space-lg);color:var(--color-primary);background:var(--color-primary-bg);padding:var(--space-lg);border-radius:var(--radius-full)}.empty-state h3{margin-bottom:var(--space-xs)}.empty-state p{color:var(--color-text-secondary);max-width:400px;margin:0 auto}.empty-state .empty-state-action{margin-top:var(--space-xl)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-sidebar{width:280px;background:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition-base)}@media(max-width:768px){.app-sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;z-index:200;transform:translate(-100%);box-shadow:var(--shadow-xl)}.app-sidebar.open{transform:translate(0)}}.app-sidebar .sidebar-logo{display:flex;align-items:center;gap:12px;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-md)}.app-sidebar .sidebar-logo .sidebar-logo-icon{display:flex;align-items:center;justify-content:center;width:auto;height:auto;background:transparent;box-shadow:none}.app-sidebar .sidebar-logo .sidebar-logo-icon img{height:48px;width:auto;object-fit:contain}.app-sidebar .sidebar-logo .logo-text-container{display:flex;flex-direction:column;justify-content:center}.app-sidebar .sidebar-logo .logo-text-container .logo-title{font-size:1.6rem;font-weight:900;color:var(--color-primary-dark);display:block;margin-bottom:-2px;line-height:1.1}.app-sidebar .sidebar-logo .logo-text-container .logo-subtitle{font-size:.85rem;color:var(--color-text-muted)}.app-sidebar .search-wrapper{padding:0 var(--space-md);margin-bottom:var(--space-sm)}.app-sidebar .search-wrapper .search-trigger{width:100%;height:40px;padding:0 12px;display:flex;align-items:center;gap:10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.875rem;transition:background-color .2s ease,border-color .2s ease,color var(--transition-fast) 0s;cursor:pointer}.app-sidebar .search-wrapper .search-trigger:hover{background:var(--color-bg);border-color:var(--color-primary-light);color:var(--color-text-secondary)}.app-sidebar .search-wrapper .search-trigger kbd{margin-left:auto;padding:2px 4px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:4px;font-size:.7rem;font-family:inherit;color:var(--color-text-muted)}.app-sidebar .theme-toggle-wrapper{padding:0 var(--space-md);margin-bottom:var(--space-md)}.app-sidebar .theme-toggle-wrapper .theme-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color var(--transition-fast) 0s}.app-sidebar .theme-toggle-wrapper .theme-toggle:hover{background:var(--color-bg);border-color:var(--color-primary-light)}.app-sidebar .theme-toggle-wrapper .theme-toggle .theme-toggle-track{width:38px;height:20px;background:var(--color-border-light);border-radius:20px;position:relative;transition:background .2s ease}.app-sidebar .theme-toggle-wrapper .theme-toggle .theme-toggle-track .theme-toggle-thumb{width:16px;height:16px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;top:2px;left:2px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 3px #0003;color:var(--color-warning)}.app-sidebar .theme-toggle-wrapper .theme-toggle .theme-toggle-track .theme-toggle-thumb.dark{transform:translate(18px);color:#818cf8}.sidebar-nav{flex:1;padding:var(--space-md);overflow-y:auto}.sidebar-nav-section{margin-bottom:var(--space-lg)}.sidebar-nav-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-xs)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.9rem;font-weight:500;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);border:none;background:none;width:100%;text-align:left;cursor:pointer;text-decoration:none}.sidebar-nav-item:hover{background:var(--color-primary-bg);color:var(--color-primary)}.sidebar-nav-item.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;box-shadow:0 4px 12px #2d6a4f40}.sidebar-nav-item.active .unread-badge{border-color:var(--color-primary)}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-nav-item .nav-icon-wrapper{position:relative;display:flex;align-items:center}.unread-badge{position:absolute;top:-6px;right:-8px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:800;min-width:16px;height:16px;padding:0 4px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-surface);z-index:10;box-shadow:0 2px 4px #0000001a;transition:border-color .2s ease}.sidebar-user{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-md);background:var(--color-bg-secondary)}.sidebar-user .sidebar-user-avatar{width:38px;height:38px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-lighter),var(--color-secondary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.sidebar-user .sidebar-user-info{flex:1;min-width:0}.sidebar-user .sidebar-user-info .sidebar-user-name{font-weight:600;font-size:.9rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .sidebar-user-info .sidebar-user-email{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:var(--space-md) var(--space-xl);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--color-surface-rgb, 255, 255, 255),.9)}.app-topbar{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-sm) var(--space-xl);gap:var(--space-md)}@media(max-width:768px){.app-topbar{display:none}}.mobile-header{display:none;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:90}@media(max-width:768px){.mobile-header{display:flex}}.mobile-header-logo{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-weight:800;font-size:1.1rem;color:var(--color-primary-dark)}.mobile-header-logo span:first-child{font-size:1.4rem}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text);padding:var(--space-sm);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer}.mobile-menu-btn:hover{background:var(--color-bg-secondary)}@media(max-width:768px){.mobile-menu-btn{display:flex}}@media(max-width:768px){.mobile-only-btn{display:flex!important}}.mobile-only-btn{display:none!important}.bottom-nav{display:none;position:fixed;bottom:0;left:0;width:100%;height:70px;background:var(--color-surface);border-top:1px solid var(--color-border-light);box-shadow:0 -4px 15px #00000008;z-index:1100;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom)}@media(max-width:768px){.bottom-nav{display:flex}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--color-text-muted);text-decoration:none;font-size:.65rem;font-weight:500;flex:1;height:100%;transition:color var(--transition-fast);background:transparent;border:none;font-family:var(--font-body);cursor:pointer}.bottom-nav-item.active,.bottom-nav-item:hover,.bottom-nav-item:active{color:var(--color-primary)}.bottom-nav-item.active svg{fill:var(--color-primary-bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;border:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;cursor:pointer}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;box-shadow:0 4px 12px #2d6a4f40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2d6a4f59}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border-light);border-color:var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#c62836}.btn-ghost{background:transparent;color:var(--color-text-secondary);padding:8px 12px}.btn-ghost:hover{background:var(--color-bg-secondary);color:var(--color-text)}.btn-sm{padding:6px 14px;font-size:.825rem}.btn-lg{padding:14px 28px;font-size:1rem}.btn-icon{padding:8px;border-radius:var(--radius-md)}.btn-icon:active{transform:scale(.92)}.btn-quick-water{width:36px;height:36px;border-radius:var(--radius-full);border:1.5px solid var(--color-info);background:transparent;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-quick-water:hover{background:var(--color-info);transform:scale(1.1);box-shadow:0 0 12px #3b82f64d}.btn-quick-water:active{transform:scale(.9)}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;box-shadow:var(--shadow-sm);position:relative}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border);z-index:1001}.card:has(.companion-tooltip-trigger){overflow:visible!important}.card-garden{position:relative;overflow:hidden;cursor:pointer}.card-garden:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-lightest)}.card-plant{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md)}.card-plant:hover{background:var(--color-primary-bg);border-color:var(--color-primary-lightest)}.plant-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-weight:600;font-size:.85rem;color:var(--color-text);margin-bottom:var(--space-sm)}.form-input{width:100%;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.95rem;transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2d6a4f26}.form-input::placeholder{color:var(--color-text-muted);opacity:1}.form-error{color:var(--color-danger);font-size:.8rem;margin-top:var(--space-xs)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235a7268' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge.badge-planned{background:var(--color-info-light);color:var(--color-info)}.badge.badge-sowed{background:var(--color-warning-light);color:var(--color-secondary-dark)}.badge.badge-growing{background:var(--color-success-light);color:var(--color-success)}.badge.badge-harvested{background:var(--color-primary-bg);color:var(--color-primary-dark)}.badge.badge-removed{background:var(--color-danger-light);color:var(--color-danger)}.badge.badge-facile{background:var(--color-success-light);color:var(--color-success)}.badge.badge-moyen{background:var(--color-warning-light);color:var(--color-secondary-dark)}.badge.badge-difficile{background:var(--color-danger-light);color:var(--color-danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;align-items:center;gap:var(--space-md);min-height:80px}@media(max-width:768px){.stat-card{padding:10px;gap:8px;min-height:70px}}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}@media(max-width:768px){.stat-icon{width:32px;height:32px;border-radius:6px}.stat-icon svg{width:16px;height:16px}}.stat-icon.green{background:var(--color-primary-bg);color:var(--color-primary)}.stat-icon.orange{background:var(--color-warning-light);color:var(--color-secondary)}.stat-icon.blue{background:var(--color-info-light);color:var(--color-info)}.stat-number{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;color:var(--color-text);line-height:1}@media(max-width:768px){.stat-number{font-size:1.2rem}}.stat-label{font-size:1rem;color:var(--color-text-muted);margin-top:0}@media(max-width:768px){.stat-label{font-size:.8rem;line-height:1.1}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-md);animation:fadeIn .25s ease}.modal{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@media(max-width:768px){.modal{max-width:calc(100vw - 2rem);margin:var(--space-md)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border-light)}.modal-header h2{font-size:1.2rem}@media(max-width:600px){.modal-header{padding:var(--space-md) var(--space-lg)}}.modal-body{padding:var(--space-xl)}@media(max-width:600px){.modal-body{padding:var(--space-lg)}}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border-light)}@media(max-width:600px){.modal-footer{padding:var(--space-md) var(--space-lg)}}.empty-state{text-align:center;padding:var(--space-xl) var(--space-lg);display:flex!important;flex-direction:column;justify-content:center}.empty-state .empty-state-icon{width:80px;height:80px;margin:0 auto var(--space-lg);background:var(--color-primary-bg);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.empty-state h3{font-size:1.25rem;margin-bottom:var(--space-sm)}.empty-state p{color:var(--color-text-muted);max-width:400px;margin:0 auto var(--space-lg)}.companion-tooltip-trigger{position:relative}.companion-tooltip-trigger:hover .companion-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}@media(max-width:768px){.companion-tooltip-trigger:hover .companion-tooltip{transform:translateY(0)}}.companion-tooltip{position:absolute;bottom:130%;left:50%;transform:translate(-50%) translateY(10px);background:#1e293b;color:#fff;padding:12px 16px;border-radius:var(--radius-md);font-size:.8rem;font-weight:400;line-height:1.5;width:280px;z-index:1000;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0000000d;pointer-events:none;text-align:left;border:1px solid rgba(255,255,255,.1)}.companion-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#1e293b transparent transparent transparent}@media(max-width:768px){.companion-tooltip{position:fixed;bottom:90px;left:20px;right:20px;width:auto;max-width:none;transform:translateY(20px);z-index:9999;border-radius:var(--radius-lg);box-shadow:0 10px 30px #0006;border:1px solid rgba(255,255,255,.15);background:#1e293b;padding:16px 20px}.companion-tooltip:after{display:none}}.notification-bell-wrapper{position:relative}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.notification-bell:hover{border-color:var(--color-primary-lightest);background:var(--color-primary-bg);color:var(--color-primary)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--color-warning);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--color-surface)}.notification-badge.critical{background:var(--color-danger);animation:pulse 2s infinite}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:440px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;display:flex;flex-direction:column;animation:slideUp .2s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.notification-dropdown .notification-dropdown-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between;background:var(--color-surface)}.notification-dropdown .notification-dropdown-header h3{font-size:.95rem;font-weight:700;margin:0}.notification-dropdown .notification-dropdown-body{max-height:360px;overflow-y:auto;padding:var(--space-xs) 0}.notification-dropdown .notification-item{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast);text-align:left;border-bottom:1px solid var(--color-border-light)}.notification-dropdown .notification-item:last-child{border-bottom:none}.notification-dropdown .notification-item:hover{background:var(--color-primary-bg)}.notification-dropdown .notification-item:hover .notification-item-arrow{transform:translate(2px);color:var(--color-primary)}.notification-dropdown .notification-item .notification-item-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-dropdown .notification-item .notification-item-content{flex:1;min-width:0}.notification-dropdown .notification-item .notification-item-title{font-size:.875rem;font-weight:700;color:var(--color-text);display:block;margin-bottom:2px}.notification-dropdown .notification-item .notification-item-subtitle{font-size:.75rem;color:var(--color-text-secondary);display:block}.notification-dropdown .notification-item .notification-item-arrow{color:var(--color-text-muted);transition:all var(--transition-fast)}.notification-dropdown .notification-empty{padding:var(--space-xl) var(--space-lg);text-align:center;background:var(--color-surface)}.notification-dropdown .notification-empty span{font-size:2rem;display:block;margin-bottom:var(--space-sm)}.notification-dropdown .notification-empty p{margin:0;font-weight:600;color:var(--color-text)}.notification-dropdown .notification-empty .text-sm{color:var(--color-text-muted);font-weight:400;margin-top:4px}.notification-dropdown .notification-dropdown-footer{padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);text-align:center;border-top:1px solid var(--color-border-light)}.search-trigger{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-muted);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.search-trigger:hover{border-color:var(--color-primary-lightest);background:var(--color-primary-bg);color:var(--color-primary)}.search-trigger span{flex:1;text-align:left}.search-trigger kbd{font-size:.7rem;padding:2px 6px;border-radius:4px;background:var(--color-bg-secondary);border:1px solid var(--color-border);font-family:var(--font-body);color:var(--color-text-muted)}.search-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:min(20vh,150px);z-index:1000;animation:fadeIn .15s ease}.search-modal{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:560px;box-shadow:var(--shadow-xl),0 0 0 1px #0000000d;overflow:hidden;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;max-height:480px}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.search-input-wrapper .search-input-icon{color:var(--color-text-muted);flex-shrink:0}.search-input-wrapper .search-input{flex:1;border:none;outline:none;font-size:1.05rem;color:var(--color-text);background:transparent;font-family:var(--font-body)}.search-input-wrapper .search-input::placeholder{color:var(--color-text-muted)}.search-input-wrapper .search-kbd{font-size:.7rem;padding:4px 8px;border-radius:6px;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted);font-weight:700}.search-results{flex:1;overflow-y:auto;padding:var(--space-sm) 0}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}.search-section-label{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-xs);font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em}.search-result-item{width:100%;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:none;background:transparent;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.search-result-item.selected{background:var(--color-primary-bg)}.search-result-item.selected .search-result-title{color:var(--color-primary)}.search-result-item.selected .search-result-arrow{transform:translate(2px);opacity:1;color:var(--color-primary)}.search-result-item .search-result-emoji{width:38px;height:38px;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.search-result-item .search-result-info{flex:1;display:flex;flex-direction:column;min-width:0}.search-result-item .search-result-info .search-result-title{font-size:.95rem;font-weight:700;color:var(--color-text);transition:color var(--transition-fast)}.search-result-item .search-result-info .search-result-subtitle{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-item .search-result-arrow{color:var(--color-text-muted);opacity:0;transition:all var(--transition-fast)}.search-empty{padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--color-text-muted)}.search-empty span{font-size:2.5rem;display:block;margin-bottom:var(--space-md)}.search-empty p{font-size:.95rem;font-weight:500}.search-footer{padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);display:flex;justify-content:center;gap:var(--space-lg);font-size:.72rem;color:var(--color-text-muted)}.search-footer kbd{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:4px;padding:1px 4px;font-weight:700;color:var(--color-text);margin-right:4px}.calendar-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--space-lg);align-items:start}@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.calendar-header>div{text-align:center}.calendar-header .calendar-month{font-family:var(--font-heading);font-size:1.2rem;font-weight:800}.calendar-today-btn{font-size:.75rem;color:var(--color-primary);background:var(--color-primary-bg);border:1px solid var(--color-primary-lightest);padding:4px 12px;border-radius:var(--radius-full);cursor:pointer;font-weight:600;font-family:var(--font-body);margin-top:4px;transition:all var(--transition-fast)}.calendar-today-btn:hover{background:var(--color-primary-lightest);transform:translateY(-1px)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 4px;min-height:56px;border:1.5px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-family:var(--font-body);transition:all var(--transition-fast)}.calendar-cell.empty{cursor:default}.calendar-cell:not(.empty):hover{background:var(--color-primary-bg);border-color:var(--color-primary-lightest)}.calendar-cell.today{background:var(--color-primary-bg)}.calendar-cell.today .calendar-day-number{background:var(--color-primary);color:#fff!important;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.calendar-cell.selected{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:inset 0 0 0 1px var(--color-primary)}.calendar-day-number{font-size:.85rem;font-weight:600;color:var(--color-text);z-index:1}.calendar-day-name{text-align:center;font-size:.72rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px}.calendar-cell-dots{display:flex;align-items:center;gap:3px;margin-top:4px;flex-wrap:wrap;justify-content:center}.calendar-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.calendar-legend{display:flex;gap:var(--space-lg);justify-content:center;margin-top:var(--space-lg);flex-wrap:wrap;padding:0 var(--space-md)}.calendar-legend span{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-muted)}.calendar-event-item{display:flex;align-items:center;gap:var(--space-md);padding:12px 14px;width:100%;border:none;border-left:4px solid;background:var(--color-surface-elevated);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-body);transition:all var(--transition-fast);margin-bottom:var(--space-sm);box-shadow:var(--shadow-sm)}.calendar-event-item:hover{background:var(--color-primary-bg);transform:translate(4px);box-shadow:var(--shadow-md)}.calendar-event-item .calendar-event-emoji{font-size:1.25rem;flex-shrink:0}.calendar-event-item .calendar-event-info{flex:1;min-width:0}.calendar-event-item .calendar-event-title{font-size:.875rem;font-weight:700;color:var(--color-text);display:block}.calendar-event-item .calendar-event-subtitle{font-size:.75rem;color:var(--color-text-secondary);display:block}.theme-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:8px 12px;border:none;background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:.82rem;font-family:var(--font-body);color:var(--color-text-secondary);transition:background var(--transition-fast)}.theme-toggle:hover{background:var(--color-primary-bg);color:var(--color-primary)}.theme-toggle:hover .theme-toggle-track{background:var(--color-primary-lightest)}.theme-toggle .theme-toggle-track{width:36px;height:20px;border-radius:10px;background:var(--color-border);position:relative;flex-shrink:0;transition:background var(--transition-fast)}.theme-toggle .theme-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#f59e0b;transition:transform var(--transition-base),background var(--transition-base);box-shadow:0 1px 3px #00000026}.theme-toggle .theme-toggle-thumb.dark{transform:translate(16px);background:var(--color-primary-dark);color:#6366f1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.animate-in{animation:slideUp .4s cubic-bezier(.34,1.56,.64,1) both}.animate-in:nth-child(1){animation-delay:50ms}.animate-in:nth-child(2){animation-delay:.1s}.animate-in:nth-child(3){animation-delay:.15s}.animate-in:nth-child(4){animation-delay:.2s}.animate-in:nth-child(5){animation-delay:.25s}.animate-in:nth-child(6){animation-delay:.3s}.achievement-toast{position:fixed;top:24px;right:24px;z-index:10000;width:350px;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-xl);border:1px solid var(--color-surface-hover);overflow:hidden;transform:translate(400px);transition:transform .5s cubic-bezier(.68,-.55,.27,1.55);pointer-events:auto}.achievement-toast.show{transform:translate(0)}.achievement-toast-content{display:flex;align-items:center;padding:16px;gap:16px}.achievement-toast-icon-container{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #0003;animation:bounce 1s infinite alternate}.achievement-toast-body{flex:1}.achievement-toast-label{text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.05em;color:var(--color-primary);margin-bottom:2px}.achievement-toast-title{font-weight:700;font-size:1rem;color:var(--color-text)}.achievement-toast-xp{font-size:.85rem;font-weight:600;color:var(--color-primary-dark);margin-top:2px}.achievement-toast-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:50%;transition:background .2s}.achievement-toast-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.achievement-toast-progress{height:4px;background:var(--color-primary);width:100%;transform-origin:left;animation:achievement-timeout 8s linear forwards}@keyframes achievement-timeout{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes bounce{0%{transform:scale(1)}to{transform:scale(1.1)}}.gamification-summary{max-width:350px}@media(max-width:768px){.gamification-summary{max-width:100%;width:100%}}.gamification-summary .level-badge-container{display:flex;flex-direction:row;align-items:baseline;gap:6px;line-height:1}.gamification-summary .level-label{font-size:.85rem;font-weight:800;color:var(--color-primary);letter-spacing:.05em;margin-bottom:0}.gamification-summary .level-number{font-size:2rem;font-weight:900;font-family:Outfit,sans-serif;color:var(--color-text);text-shadow:0 0 20px rgba(var(--color-primary-rgb),.3)}.gamification-summary .xp-progress-text{font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;display:flex;gap:4px;margin-bottom:4px}.gamification-summary .xp-progress-text .xp-current{color:var(--color-primary)}.gamification-summary .xp-progress-text .xp-separator{color:var(--color-text-muted)}.gamification-summary .xp-progress-text .xp-total{color:var(--color-text-muted);opacity:.7}.gamification-summary .progress-bar-track{height:8px;background:var(--color-surface-hover);border-radius:4px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.05)}.gamification-summary .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:4px;transition:width 1s cubic-bezier(.34,1.56,.64,1);position:relative}.gamification-summary .progress-bar-glow{position:absolute;top:0;right:0;height:100%;width:40px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);filter:blur(4px);animation:progress-slide 3s infinite}@keyframes progress-slide{0%{transform:translate(-100px)}to{transform:translate(350px)}}.confirm-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.confirm-modal-container{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 20px 50px #0000004d;overflow:hidden}.confirm-modal-body{padding:24px 24px 0;text-align:center}.confirm-modal-body h3{font-size:1.25rem;font-weight:800;margin-bottom:10px}.confirm-modal-body p{color:var(--color-text-secondary);line-height:1.6;font-size:.95rem}.confirm-modal-footer{padding:24px;display:flex;gap:12px;margin-top:8px}.confirm-modal-footer .btn{flex:1;justify-content:center}.plant-config-grid{display:grid;grid-template-columns:130px 1fr;gap:20px}@media(max-width:600px){.plant-config-grid{grid-template-columns:1fr;gap:16px}}.plant-type-toggle{display:flex;flex-direction:column;gap:8px;width:100%}@media(max-width:600px){.plant-type-toggle{flex-direction:row}.plant-type-toggle button{flex:1}}.month-selector-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}@media(max-width:480px){.month-selector-grid{grid-template-columns:repeat(4,1fr);gap:6px}}.modal-scrollable{max-height:90vh;overflow-y:auto}.modal-scrollable::-webkit-scrollbar{width:6px}.modal-scrollable::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.modal-sticky-header{position:sticky;top:0;background-color:var(--color-surface);z-index:10}.modal-sticky-footer{position:sticky;bottom:0;background-color:var(--color-surface);z-index:10;border-top:1px solid var(--color-border);margin-top:auto}.swap-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(max-width:480px){.swap-options-grid{grid-template-columns:1fr}}.swap-option-btn{border:1px solid transparent;transition:all .2s ease}.swap-option-btn.is-selected{border-color:var(--color-primary-light)}.swap-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.swap-category-btn{border:1px solid transparent;transition:all .2s ease}.swap-category-btn.is-selected{border-color:var(--color-primary-light)}.swap-detailed-panel{border-radius:var(--radius-md)}.calendar-widget{overflow:visible}.calendar-widget .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar-widget .calendar-header h3{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:8px}.calendar-widget .calendar-tabs{display:flex;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:3px;margin-bottom:var(--space-md);gap:2px;position:sticky;top:0;z-index:20;background-color:var(--color-surface);box-shadow:0 2px 8px #00000026}.calendar-widget .calendar-tabs .tab-btn{flex:1;padding:8px 4px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.8rem;font-weight:500;font-family:var(--font-body);background:transparent;color:var(--color-text-muted);transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px}.calendar-widget .calendar-tabs .tab-btn.active{font-weight:700;background:var(--color-surface);box-shadow:var(--shadow-sm)}.calendar-widget .calendar-tabs .tab-btn.active.mode-sowing{color:#2d6a4f}.calendar-widget .calendar-tabs .tab-btn.active.mode-planting{color:#3b82f6}.calendar-widget .calendar-tabs .tab-btn.active.mode-harvest{color:#b45309}.calendar-widget .month-info-badge{padding:10px 14px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;margin-bottom:var(--space-lg);display:flex;align-items:center;gap:8px}.calendar-widget .month-info-badge.mode-sowing{background:#d8f3dc;color:#2d6a4f}.calendar-widget .month-info-badge.mode-planting{background:#e3f2fd;color:#3b82f6}.calendar-widget .month-info-badge.mode-harvest{background:#fef3c7;color:#b45309}.calendar-widget .calendar-scroll-area{overflow:auto;max-height:65vh;margin:0 -10px;padding:0 10px;scroll-behavior:smooth}.calendar-widget .calendar-scroll-area .calendar-content{min-width:450px;display:flex;flex-direction:column;min-height:100%}.calendar-widget .calendar-rows-stack{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-md)}.calendar-widget .month-labels-grid{display:flex;gap:4px;position:sticky;bottom:0;z-index:20;background-color:var(--color-surface);box-shadow:0 -4px 12px #00000014;margin:auto -10px 0;padding:8px 10px 8px 142px;border-top:1px solid var(--color-border-light)}.calendar-widget .month-labels-grid .month-label{flex:1;font-size:.7rem;text-align:center;color:var(--color-text-muted);font-weight:500}.calendar-widget .month-labels-grid .month-label.current-month{font-weight:800;color:var(--month-color)}.calendar-widget .calendar-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md)}.calendar-widget .calendar-footer .legend-container{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center}.calendar-widget .calendar-footer .legend-item{display:flex;align-items:center;gap:6px}.calendar-widget .calendar-footer .legend-item .legend-box{width:20px;height:12px;border-radius:3px;border:1.5px solid rgba(0,0,0,.1);background:var(--bg-pattern)}.calendar-widget .calendar-footer .legend-item .legend-text{font-size:.75rem;color:var(--color-text-muted)}.calendar-widget .calendar-footer .legend-item .current-month-box{width:20px;height:14px;border-radius:4px;background:var(--color-bg-secondary);border:2.5px solid var(--cur-color);box-shadow:0 0 0 2px var(--cur-shadow)}.calendar-widget .expand-btn{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.calendar-widget .expand-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-primary-light);color:var(--color-text-secondary)}.calendar-row{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:var(--radius-md);transition:background .2s}.calendar-row.clickable{cursor:pointer}.calendar-row.clickable:hover{background:var(--color-bg-secondary)}.calendar-row.clickable:hover .add-icon{opacity:1!important}.calendar-row .plant-label{width:120px;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-row .plant-label .add-icon{opacity:0;transition:opacity .2s;flex-shrink:0;color:var(--icon-color)}.calendar-row .months-bars-container{display:flex;gap:4px;flex:1}.calendar-row .month-bar{flex:1;height:24px;border-radius:4px;background:var(--color-bg-secondary);border:1.5px solid transparent;opacity:.2;transition:all .15s ease;position:relative;align-self:center;display:flex;flex-direction:column;overflow:hidden}@media(max-width:480px){.calendar-row .month-bar{height:20px;border-radius:3px}}.calendar-row .month-bar.is-current{height:30px;border-radius:6px;opacity:.4;background:#ffffff14;border:2.5px solid var(--active-color)}.calendar-row .month-bar.is-active{opacity:1;background:transparent}.calendar-row .month-bar.is-active.is-current{border:2.5px solid var(--active-dark);box-shadow:0 0 0 3px var(--active-color-trans),0 2px 8px var(--active-color-shadow)}.calendar-row .month-bar .indoor-layer,.calendar-row .month-bar .outdoor-layer{flex:1;width:100%;background:var(--bg-layer)}.quick-add-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.quick-add-modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);position:relative;border:1px solid var(--color-border-light);max-height:95vh;overflow-y:auto}@media(max-width:480px){.quick-add-modal{padding:var(--space-lg);border-radius:var(--radius-lg);max-height:calc(100vh - 40px)}}.quick-add-modal .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.quick-add-modal .modal-header h2{font-size:1.4rem;font-weight:800;color:var(--color-text);display:flex;align-items:center;gap:10px}.quick-add-modal .section-label{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-sm);display:block;letter-spacing:.05em}.quick-add-modal .status-toggle-group{display:flex;gap:8px;background:var(--color-bg-secondary);padding:4px;border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.quick-add-modal .status-toggle-group .status-btn{flex:1;padding:10px 4px;border-radius:var(--radius-md);border:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .2s;background:transparent;color:var(--color-text-muted)}.quick-add-modal .status-toggle-group .status-btn.active{background:var(--color-surface);box-shadow:var(--shadow-sm);font-weight:700}.quick-add-modal .status-toggle-group .status-btn.active.status-sowed{color:#2d6a4f}.quick-add-modal .status-toggle-group .status-btn.active.status-growing{color:#3b82f6}.quick-add-modal .status-toggle-group .status-btn.active.status-planned{color:#b45309}.quick-add-modal .ideal-window-hint{background:var(--color-warning-light);padding:12px;border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.8rem;border:1px solid var(--color-warning-border)}.quick-add-modal .ideal-window-hint .hint-title{font-weight:700;color:var(--color-warning-dark);margin-bottom:4px;display:flex;align-items:center;gap:6px}.quick-add-modal .date-input-group{margin-bottom:var(--space-xl)}.quick-add-modal .date-input-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);display:block;margin-bottom:var(--space-xs)}.quick-add-modal .date-input-group .date-input{width:100%;padding:10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:.9rem}.quick-add-modal .gardens-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding-right:4px;margin-bottom:var(--space-xl)}@media(max-width:480px){.quick-add-modal .gardens-list{max-height:280px}}.quick-add-modal .garden-select-card{display:flex;align-items:center;justify-content:flex-start;padding:16px;border-radius:var(--radius-lg);text-align:left;gap:14px;position:relative;overflow:hidden;transition:all .2s;background:var(--color-surface);border:1.5px solid var(--color-border-light);width:100%}@media(max-width:480px){.quick-add-modal .garden-select-card{padding:14px 12px;gap:10px}}.quick-add-modal .garden-select-card.selected{border:2px solid var(--color-primary)!important;background:var(--color-primary-bg)!important;box-shadow:0 4px 12px var(--color-primary-light)}.quick-add-modal .garden-select-card.ideal-fit{border:2px solid var(--color-success)}.quick-add-modal .garden-select-card .analysis-badge{position:absolute;top:0;right:0;padding:4px 12px;font-size:.65rem;font-weight:800;color:#fff;border-bottom-left-radius:10px;display:flex;align-items:center;gap:4px;background:var(--badge-bg)}.quick-add-modal .garden-select-card .garden-emoji{font-size:1.6rem}.quick-add-modal .garden-select-card .garden-name{font-weight:800;color:var(--color-text);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}@media(max-width:480px){.quick-add-modal .garden-select-card .garden-name{max-width:150px;font-size:.95rem}}.quick-add-modal .garden-select-card .companion-badgess{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.quick-add-modal .garden-select-card .companion-badgess .badge{font-size:.65rem;padding:2px 8px;background:var(--color-success);color:#fff;border-radius:var(--radius-sm);font-weight:800;display:flex;align-items:center;gap:3px}.quick-add-modal .garden-select-card .selection-indicator{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;margin-left:auto}.quick-add-modal .garden-select-card .selection-indicator.checked{border-color:var(--color-primary);background:var(--color-primary)}.quick-add-modal .garden-select-card .selection-indicator.checked .dot{width:8px;height:8px;background:#fff;border-radius:50%}.quick-add-modal .submit-btn{width:100%;padding:14px;border-radius:var(--radius-lg);font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-lg)}.garden-map-card{margin-bottom:var(--space-xl)}.garden-map-card.no-header{margin-bottom:0}.garden-map-card .map-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.garden-map-card .map-card-header h2{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px}.garden-map-card .map-card-header .header-actions{display:flex;gap:8px}.garden-map-layout{display:flex;flex-direction:column;gap:var(--space-lg);height:auto}.garden-map-layout.is-fullscreen{flex-direction:row;height:100%}@media(max-width:768px){.garden-map-layout.is-fullscreen{flex-direction:column;overflow-y:auto}}.map-sidebar{flex:none;background:var(--color-bg-secondary);padding:var(--space-md);border-radius:var(--radius-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);-webkit-user-select:none;user-select:none;touch-action:none}.is-fullscreen .map-sidebar{flex:0 0 280px}@media(max-width:768px){.is-fullscreen .map-sidebar{flex:none;max-height:35vh}}.map-sidebar .sidebar-section-title{font-size:.9rem;margin-bottom:var(--space-sm);font-weight:600}.map-sidebar .draggable-items-grid{display:flex;gap:8px;flex-wrap:wrap}.draggable-item{cursor:grab;padding:4px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;gap:6px;font-size:.8rem;touch-action:none;transition:opacity .2s}.draggable-item.is-dragging{opacity:.5}.draggable-item .item-swatch{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.draggable-item .item-swatch span{font-size:.7rem}.draggable-item .quantity-badge{color:var(--color-text-muted)}.map-main-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.garden-map-container{position:relative;width:100%;background:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:4% 4%;background-color:#dce5d8;border:2px solid rgba(0,0,0,.1);border-radius:var(--radius-md);box-shadow:inset 0 0 20px #0000000d;overflow:hidden;margin:0 auto;touch-action:none}.layout-element{position:absolute;transform:translate(-50%,-50%);border:2px solid rgba(0,0,0,.2);border-radius:4px;display:flex;align-items:center;justify-content:center;z-index:1;touch-action:none;-webkit-user-select:none;user-select:none}.layout-element .element-emoji{font-size:1.2rem;opacity:.8;-webkit-user-select:none;user-select:none}.layout-element .element-label{position:absolute;top:2px;left:4px;font-size:.6rem;color:var(--color-text-secondary);font-weight:700;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.layout-element .layout-actions{position:absolute;top:-24px;right:0;display:none;background:var(--color-surface);padding:2px 4px;border-radius:4px;box-shadow:0 2px 5px #0003;z-index:10;gap:6px}.layout-element .layout-actions button{border:none;background:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:opacity .2s}.layout-element .layout-actions button:hover{opacity:.7}.layout-element:hover .layout-actions{display:flex}.layout-element .resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;background:linear-gradient(135deg,transparent 50%,var(--color-primary) 50%);cursor:se-resize;border-bottom-right-radius:3px;z-index:20}.placed-plant{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:none;-webkit-user-select:none;user-select:none}.placed-plant .plant-icon-box{width:100%;height:100%;border-radius:4px;background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;position:relative;border:2px solid var(--color-primary)}.placed-plant .plant-icon-box.is-past{background:var(--color-bg-secondary);border-color:var(--color-border);filter:grayscale(1) opacity(.5)}.placed-plant .plant-icon-box.has-warning{border-color:var(--color-danger)}.placed-plant .warning-icon-wrapper{position:absolute;top:-8px;right:-8px;background:var(--color-surface);color:var(--color-danger);border-radius:50%;padding:2px;box-shadow:0 2px 5px #0003;z-index:30;display:flex;align-items:center;justify-content:center}.placed-plant .plant-map-label{font-size:.6rem;font-weight:700;background:var(--color-surface);color:var(--color-text);padding:1px 4px;border-radius:2px;border:1px solid var(--color-border);white-space:nowrap;position:absolute;bottom:-15px;box-shadow:var(--shadow-sm);opacity:.95;pointer-events:none}.placed-plant .plant-map-label.is-past{opacity:.6}.placed-plant .layout-actions{position:absolute;top:-24px;right:0;display:none;background:var(--color-surface);padding:2px 4px;border-radius:4px;box-shadow:0 2px 5px #0003;z-index:40;gap:6px}.placed-plant .layout-actions button{border:none;background:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:opacity .2s}.placed-plant .layout-actions button:hover{opacity:.7}.placed-plant .layout-actions button svg{width:14px;height:14px}@media(max-width:768px){.placed-plant .layout-actions{display:flex!important;top:-36px;right:-10px;background:var(--color-surface);border:1px solid var(--color-border)}}.placed-plant:hover .layout-actions{display:flex}.placed-plant .resize-handle{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;background:linear-gradient(135deg,transparent 50%,var(--color-primary) 50%);cursor:se-resize;border-bottom-right-radius:3px;z-index:20}@media(max-width:768px){.placed-plant .resize-handle{width:30px;height:30px;right:-8px;bottom:-8px}}.map-controls-hint{display:flex;gap:var(--space-md);margin-top:var(--space-md);color:var(--color-text-muted);font-size:.8rem;flex-wrap:wrap;justify-content:center}.map-fullscreen-overlay{position:fixed;inset:0;background:var(--color-bg);z-index:9999;padding:var(--space-xl);display:flex;flex-direction:column}@media(max-width:768px){.map-fullscreen-overlay{padding:var(--space-md)}}.map-fullscreen-overlay .fullscreen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}@media(max-width:768px){.map-fullscreen-overlay .fullscreen-header{margin-bottom:var(--space-sm)}.map-fullscreen-overlay .fullscreen-header h2{font-size:1rem}}.map-fullscreen-overlay .fullscreen-header h2{display:flex;align-items:center;gap:8px}.map-fullscreen-overlay .fullscreen-content{flex:1;min-height:0;display:flex;flex-direction:column}.cookie-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:calc(100% - 48px);max-width:1000px;z-index:9999;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-2xl);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;animation:slide-up .4s cubic-bezier(.16,1,.3,1) forwards;box-sizing:border-box}@media(max-width:768px){.cookie-banner{flex-direction:column;text-align:center;bottom:80px;width:calc(100% - 32px);padding:20px;gap:16px}}.cookie-banner .cookie-content{display:flex;align-items:flex-start;gap:16px;min-width:0}@media(max-width:768px){.cookie-banner .cookie-content{flex-direction:column;align-items:center}}.cookie-banner .cookie-content .cookie-icon{flex-shrink:0;width:48px;height:48px;background-color:var(--color-success-light);color:var(--color-success);border-radius:12px;display:flex;align-items:center;justify-content:center}.cookie-banner .cookie-content .cookie-text{min-width:0}.cookie-banner .cookie-content .cookie-text h3{font-family:Outfit,sans-serif;font-size:1.1rem;margin-bottom:4px;color:var(--color-text-primary)}.cookie-banner .cookie-content .cookie-text p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.cookie-banner .cookie-content .cookie-text p a{color:var(--color-primary);text-decoration:underline;font-weight:500}.cookie-banner .cookie-actions{display:flex;gap:12px;flex-shrink:0}@media(max-width:768px){.cookie-banner .cookie-actions{width:100%;flex-direction:column}.cookie-banner .cookie-actions .btn{width:100%;white-space:normal;text-align:center}}.cookie-banner .cookie-actions .btn{padding:10px 24px;font-size:.9rem;border-radius:12px}.cookie-banner .cookie-actions .btn-secondary{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.cookie-banner .cookie-actions .btn-secondary:hover{background-color:var(--color-border)}@keyframes slide-up{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.eco-score{margin-top:var(--space-xl)}.eco-score-header{font-size:1.15rem;font-weight:700;margin-bottom:var(--space-lg);display:flex;align-items:center;gap:8px}.eco-score-badge{font-size:.72rem;padding:2px 10px;border-radius:var(--radius-full);font-weight:600}.eco-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.eco-score-gauge-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl)}.eco-score-gauge-wrapper{position:relative;width:120px;height:120px}.eco-score-gauge-wrapper svg{transform:rotate(-90deg)}.eco-score-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.eco-score-gauge-value{font-size:1.8rem;font-weight:900;line-height:1}.eco-score-gauge-max{font-size:.7rem;color:var(--color-text-muted);font-weight:600}.eco-score-criteria{width:100%;display:flex;flex-direction:column;gap:10px}.eco-score-criteria-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.eco-score-criteria-label{font-size:.78rem;font-weight:600}.eco-score-criteria-detail{font-size:.72rem;color:var(--color-text-muted)}.eco-score-bar-track{height:6px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden}.eco-score-bar-fill{height:100%;border-radius:4px;transition:width .8s ease}.eco-score-melliferous-card{display:flex;flex-direction:column;gap:var(--space-md)}.eco-score-melliferous-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-xs)}.eco-score-melliferous-header h3{font-size:.95rem;font-weight:700}.eco-score-plant-tags{display:flex;flex-wrap:wrap;gap:6px}.eco-score-plant-tag{padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:4px}.eco-score-suggestions-header{display:flex;align-items:center;gap:8px;margin-top:var(--space-sm)}.eco-score-suggestions-header span{font-size:.82rem;font-weight:600;color:var(--color-warning)}.eco-score-suggestion-tag{padding:4px 12px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px dashed var(--color-border)}.eco-score-bad-alert{margin-top:auto;padding:10px 14px;background:#fef2f2;border-radius:var(--radius-md);border-left:3px solid #ef4444;display:flex;align-items:center;gap:8px;font-size:.8rem;color:#dc2626;font-weight:600}.landing-container{font-family:Inter,sans-serif;overflow-x:hidden;min-height:100vh}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:color-mix(in srgb,var(--color-surface) 95%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);height:72px}.landing-nav .nav-inner{max-width:1240px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}.landing-nav .nav-logo{display:flex;align-items:center;gap:12px;color:var(--color-primary);text-decoration:none}.landing-nav .nav-logo img.h-42{height:42px;width:auto;object-fit:contain}.landing-nav .nav-logo-text{font-family:Outfit,sans-serif;font-weight:800;font-size:1.4rem;letter-spacing:-.03em;color:var(--color-text)}.landing-nav .nav-actions{display:flex;align-items:center;gap:1.5rem}@media(max-width:600px){.landing-nav{height:60px}.landing-nav .nav-inner{padding:0 .8rem;gap:.5rem}.landing-nav .nav-logo{gap:6px!important}.landing-nav .nav-logo img{height:28px!important}.landing-nav .nav-logo-text{font-size:1.15rem!important}.landing-nav .nav-actions{gap:.4rem!important}.landing-nav .nav-actions button.theme-btn{padding:.25rem!important}.landing-nav .nav-actions button.theme-btn svg{width:18px;height:18px}.landing-nav .nav-actions button.main-btn{font-size:.75rem!important;padding:.5rem .6rem!important;white-space:nowrap}}.hero-wrap{padding-top:140px;padding-bottom:100px;background:radial-gradient(circle at 90% 10%,rgba(82,183,136,.1) 0%,transparent 40%),radial-gradient(circle at 10% 90%,rgba(45,106,79,.06) 0%,transparent 40%)}.hero-wrap .hero-container{max-width:1240px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}@media(max-width:1024px){.hero-wrap .hero-container{grid-template-columns:1fr;text-align:center;gap:4rem}}.hero-wrap .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-primary-bg);color:var(--color-primary);padding:8px 16px;border-radius:100px;font-size:.85rem;font-weight:700;margin-bottom:2rem}.hero-wrap .hero-title{font-family:Outfit,sans-serif;font-size:clamp(3rem,6vw,4.8rem);font-weight:900;line-height:1.05;color:var(--color-text);margin-bottom:2rem;letter-spacing:-.04em}.hero-wrap .hero-title span{display:block;color:var(--color-primary)}.hero-wrap .hero-desc{font-size:1.25rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:3.5rem;max-width:600px}@media(max-width:1024px){.hero-wrap .hero-desc{margin-left:auto;margin-right:auto}}.hero-wrap .hero-buttons{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:4rem}@media(max-width:1024px){.hero-wrap .hero-buttons{justify-content:center}}@media(max-width:600px){.hero-wrap .hero-buttons button{width:100%;justify-content:center}}.hero-wrap .hero-buttons .hero-main-cta{padding:1.1rem 3rem;font-size:1.2rem;font-weight:800;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 20px -5px #2d6a4f66}.hero-wrap .hero-buttons .hero-secondary-cta-link{background:transparent;border:none;color:var(--color-text-secondary);font-weight:700;font-size:1rem;cursor:pointer;padding:.5rem 1rem;transition:color .2s;text-decoration:underline;text-underline-offset:4px}.hero-wrap .hero-buttons .hero-secondary-cta-link:hover{color:var(--color-primary)}.reassurance-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:1.5rem 2rem}.reassurance-bar .bar-inner{max-width:1240px;margin:0 auto;display:flex;justify-content:center;gap:3rem}@media(max-width:768px){.reassurance-bar .bar-inner{flex-direction:column;gap:1rem;align-items:center}}.reassurance-bar .re-item{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.95rem;color:var(--color-text-secondary)}.reassurance-bar .re-item svg{color:var(--color-primary)}.pain-section{padding:100px 2rem;background:var(--color-bg)}.pain-section .section-head{text-align:center;max-width:800px;margin:0 auto 5rem}.pain-section .pain-grid{max-width:1200px;margin:4rem auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.pain-section .pain-card{padding:4rem 2.5rem;background:var(--color-surface);border-radius:24px;border:1px solid var(--color-border-light);transition:transform .3s;text-align:center;display:flex;flex-direction:column;align-items:center}.pain-section .pain-card:hover{transform:translateY(-5px)}.pain-section .pain-card h3{font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:1.25rem}.pain-section .pain-card p{color:var(--color-text-secondary);line-height:1.7;font-size:1.1rem}.usage-groups{max-width:1200px;margin:4rem auto 0;display:flex;flex-direction:column;gap:3rem}.usage-block{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:32px;padding:2.5rem}.usage-block .usage-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}@media(max-width:600px){.usage-block .usage-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.usage-block .usage-header .usage-badge{background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.usage-block .usage-header .usage-badge.signature{background:var(--color-primary-bg);color:var(--color-primary)}.usage-block .usage-header h3{font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:800;margin:0}.usage-block.standout{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-primary-bg) 100%);border:2px solid var(--color-primary-lightest)}.usage-block.standout .standout-content{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}@media(max-width:768px){.usage-block.standout .standout-content{grid-template-columns:1fr;text-align:center}}.usage-block.standout .standout-content .standout-icon{width:80px;height:80px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);box-shadow:var(--shadow-md)}@media(max-width:768px){.usage-block.standout .standout-content .standout-icon{margin:0 auto}}.usage-block.standout .standout-content h4{font-size:1.4rem;font-weight:800;margin-bottom:1rem}.usage-block.standout .standout-content p{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem;max-width:700px}.usage-block.standout .standout-content .usage-list{list-style:none;padding:0;display:flex;gap:2rem;flex-wrap:wrap}@media(max-width:768px){.usage-block.standout .standout-content .usage-list{justify-content:center}}.usage-block.standout .standout-content .usage-list li{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--color-primary-dark)}.feature-grid-slim{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-card-slim{display:flex;gap:1.25rem;align-items:flex-start;padding:1.5rem;background:var(--color-bg-secondary);border-radius:16px}.feature-card-slim .card-icon{color:var(--color-primary)}.feature-card-slim h4{font-weight:800;font-size:1.1rem;margin-bottom:.25rem}.feature-card-slim p{font-size:.95rem;color:var(--color-text-secondary)}.seo-editorial{padding:140px 2rem;background:var(--color-surface)}.seo-editorial .editorial-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:6rem}@media(max-width:768px){.seo-editorial .editorial-inner{grid-template-columns:1fr;gap:3rem}}.seo-editorial .editorial-block h2{font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:800;margin-bottom:1.5rem;line-height:1.3}.seo-editorial .editorial-block p{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary)}.seo-editorial .editorial-block strong{color:var(--color-primary-dark)}.faq-section{padding:140px 2rem}.faq-section .section-head{text-align:center;margin-bottom:5rem}.faq-section .faq-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:4rem}@media(max-width:768px){.faq-section .faq-grid{grid-template-columns:1fr;gap:2.5rem}}.faq-section .faq-item{text-align:left}.faq-section .faq-item h3{font-size:1.3rem;font-weight:800;margin-bottom:1.25rem;color:var(--color-text);line-height:1.4}.faq-section .faq-item p{color:var(--color-text-secondary);line-height:1.7;font-size:1.05rem}.standout-cta{padding:1.25rem 3rem!important;background:#fff!important;color:#1b4332!important;border:none!important;box-shadow:var(--shadow-lg);transition:all .3s ease!important}.standout-cta:hover{background:#eaffee!important;color:#1b4332!important;transform:translateY(-4px)!important;box-shadow:var(--shadow-xl)}.title-gradient{font-family:Outfit,sans-serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:900;background:linear-gradient(to bottom right,var(--color-text) 50%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.5rem}.mockup-visual{position:relative;display:flex;justify-content:center}@media(max-width:768px){.mockup-visual{padding-bottom:80px}}.mockup-visual .phone-frame{width:320px;height:640px;background:var(--color-bg);border-radius:54px;border:12px solid var(--color-bg-secondary);box-shadow:var(--shadow-xl);position:relative;display:flex;flex-direction:column;overflow:hidden;z-index:5}.mockup-visual .phone-frame .phone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:24px;background:var(--color-bg-secondary);border-bottom-left-radius:16px;border-bottom-right-radius:16px;z-index:10;border:1px solid var(--color-border);border-top:none}.mockup-visual .phone-frame .phone-header{padding:1.5rem 1.25rem .5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-light)}.mockup-visual .phone-frame .phone-header .phone-logo{display:flex;align-items:center;gap:10px}.mockup-visual .phone-frame .phone-header .phone-logo img{height:28px;width:auto;object-fit:contain}.mockup-visual .phone-frame .phone-header .phone-logo span{font-weight:800;font-size:1.1rem;color:var(--color-text)}.mockup-visual .phone-frame .phone-header .phone-notif{position:relative}.mockup-visual .phone-frame .phone-header .phone-notif .notif-circle{width:32px;height:32px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.mockup-visual .phone-frame .phone-header .phone-notif .notif-badge{position:absolute;top:-4px;right:-4px;background:#f59e0b;color:#fff;font-size:.55rem;font-weight:800;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.mockup-visual .phone-frame .phone-content-scroll{padding:1.25rem;flex:1;padding-bottom:90px;overflow-y:auto}.mockup-visual .phone-frame .phone-content-scroll .greeting{margin-bottom:1.5rem}.mockup-visual .phone-frame .phone-content-scroll .greeting .title{color:var(--color-text);font-size:1.4rem;font-weight:900;margin-bottom:2px;letter-spacing:-.03em}.mockup-visual .phone-frame .phone-content-scroll .greeting .subtitle{color:var(--color-text-secondary);font-size:.85rem}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini{margin-bottom:1.5rem}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top .level-info .label{color:var(--color-primary);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top .level-info .value{color:var(--color-text);font-size:1.8rem;font-weight:900;line-height:1}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top .xp-info{font-size:.8rem;font-weight:700}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top .xp-info .current{color:var(--color-primary)}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-top .xp-info .total{color:var(--color-text-muted)}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-bar{width:100%;height:6px;background:var(--color-border-light);border-radius:10px}.mockup-visual .phone-frame .phone-content-scroll .gamification-mini .progress-bar .fill{height:100%;background:var(--color-primary);border-radius:10px}.mockup-visual .phone-frame .phone-content-scroll .action-grid-mini{display:flex;gap:10px;margin-bottom:1.5rem}.mockup-visual .phone-frame .phone-content-scroll .action-grid-mini .btn-mini{flex:1;background:transparent;border:1px solid var(--color-border);border-radius:12px;padding:.65rem;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--color-text-secondary);font-size:.85rem;font-weight:700}.mockup-visual .phone-frame .phone-content-scroll .action-grid-mini .btn-mini.primary{flex:1.5;background:var(--color-primary-lightest);border:none;color:var(--color-primary-dark);font-weight:800}.mockup-visual .phone-frame .phone-content-scroll .stats-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:2rem}.mockup-visual .phone-frame .phone-content-scroll .stats-mini-grid .stat-mini-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:14px;padding:.85rem;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow-sm)}.mockup-visual .phone-frame .phone-content-scroll .stats-mini-grid .stat-mini-card .icon{color:var(--color-text-muted)}.mockup-visual .phone-frame .phone-content-scroll .stats-mini-grid .stat-mini-card .details .val{color:var(--color-text);font-size:1.2rem;font-weight:800;line-height:1.1}.mockup-visual .phone-frame .phone-content-scroll .stats-mini-grid .stat-mini-card .details .lbl{color:var(--color-text-muted);font-size:.65rem;font-weight:600}.mockup-visual .phone-frame .phone-content-scroll .section-title-mini{display:flex;align-items:center;gap:8px;margin-bottom:1rem}.mockup-visual .phone-frame .phone-content-scroll .section-title-mini h3{color:var(--color-text);font-size:1.1rem;font-weight:800;margin:0}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow-sm)}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .top .info .nme{color:var(--color-text);font-size:.95rem;font-weight:800}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .top .info .typ{color:var(--color-text-muted);font-size:.75rem;display:flex;align-items:center;gap:4px}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .mid{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .mid .dim{color:var(--color-text-muted);font-size:.8rem}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .mid .viz{width:40px;height:24px;background:var(--color-primary-bg);border-radius:6px;border:1px solid var(--color-primary-lightest)}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .btm{display:flex;justify-content:space-between;align-items:center}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .btm .tags{display:flex;gap:6px}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .btm .tags span{background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:2px 8px;border-radius:8px;font-size:.65rem;font-weight:700}.mockup-visual .phone-frame .phone-content-scroll .garden-mini-card .btm .count{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.mockup-visual .phone-frame .phone-content-scroll .activity-mini{margin-top:1.5rem}.mockup-visual .phone-frame .phone-content-scroll .activity-mini .empty-slot{background:var(--color-surface);height:80px;border:1px solid var(--color-border-light);border-radius:16px;box-shadow:var(--shadow-sm)}.mockup-visual .phone-frame .phone-nav{position:absolute;bottom:0;left:0;right:0;height:65px;background:var(--color-bg);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;padding-bottom:10px;z-index:20}.mockup-visual .phone-frame .phone-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-text-muted)}.mockup-visual .phone-frame .phone-nav .nav-item.active{color:var(--color-primary)}.mockup-visual .phone-frame .phone-nav .nav-item span{font-size:.6rem;font-weight:700}.mockup-visual .float-item{position:absolute;background:var(--color-surface);padding:1.25rem;border-radius:20px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:15px;z-index:10;font-weight:700;font-size:.95rem;color:var(--color-text);border:1px solid var(--color-border-light)}.mockup-visual .float-item.pos-top{top:10%;left:-15%;animation:landingFloat 6s ease-in-out infinite}.mockup-visual .float-item.pos-bottom{bottom:15%;right:-15%;animation:landingFloat 6s ease-in-out infinite reverse}.mockup-visual .float-item .icon-circle{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.mockup-visual .float-item .icon-circle.warning-bg{background:var(--color-warning-light);color:var(--color-warning)}.mockup-visual .float-item .icon-circle.success-bg{background:var(--color-success-light);color:var(--color-success)}@media(max-width:768px){.mockup-visual .float-item{padding:.6rem .85rem;gap:10px;font-size:.8rem;border-radius:14px}.mockup-visual .float-item.pos-top{left:-5%}.mockup-visual .float-item.pos-bottom{right:-5%}.mockup-visual .float-item .icon-circle{width:32px;height:32px;border-radius:8px}.mockup-visual .float-item .icon-circle svg{width:16px!important;height:16px!important}}.feature-section{padding:120px 2rem}.feature-section .section-head{text-align:center;margin-bottom:5rem}.feature-section .section-head h2{font-family:Outfit,sans-serif;color:var(--color-text);font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:1rem;letter-spacing:-.02em}.feature-section .section-head p{color:var(--color-text-secondary);font-size:1.2rem;max-width:700px;margin:0 auto}.feature-section .feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:3rem;max-width:1200px;margin:0 auto}.feature-section .feature-card{padding:3.5rem;background:var(--color-surface);border-radius:32px;border:1px solid var(--color-border-light);transition:all .4s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.feature-section .feature-card:hover{background:var(--color-surface-elevated);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.feature-section .feature-card .icon-box{width:64px;height:64px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;font-size:24px}.feature-section .feature-card h3{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800;color:var(--color-text);margin-bottom:1.25rem}.feature-section .feature-card p{color:var(--color-text-secondary);line-height:1.7;font-size:1.1rem}.stats-bar{background:var(--color-surface-elevated);border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);padding:100px 2rem;color:var(--color-text)}.stats-bar .stats-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4rem;text-align:center}.stats-bar .stat-num{font-family:Outfit,sans-serif;font-size:4rem;font-weight:800;color:var(--color-primary);line-height:1;margin-bottom:.75rem;letter-spacing:-.02em}.stats-bar .stat-label{color:var(--color-text-muted);text-transform:uppercase;font-weight:700;font-size:.8rem;letter-spacing:.15em}.cta-wrap{padding:100px 2rem}.cta-wrap .cta-inner{max-width:1080px;margin:0 auto;border-radius:56px;background:#2d6a4f;padding:6rem 4rem;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2.5rem;box-shadow:0 40px 100px -20px #2d6a4f66}.cta-wrap .cta-inner h2{font-family:Outfit,sans-serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;line-height:1.1;color:#fff}.cta-wrap .cta-inner p{font-size:1.3rem;opacity:.9;max-width:600px;color:#fff}.cta-wrap .cta-inner .cta-btn{background:#fff;color:#1b4332;padding:1.25rem 4rem;border-radius:22px;font-weight:800;font-size:1.25rem;border:none;cursor:pointer;transition:transform .2s}.cta-wrap .cta-inner .cta-btn:hover{transform:scale(1.05)}.cta-wrap .cta-inner .cta-logo-wrap{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:1.5rem;opacity:.95}.cta-wrap .cta-inner .cta-logo-wrap .cta-logo-img{height:96px;width:auto;object-fit:contain}.cta-wrap .cta-inner .cta-logo-wrap .cta-logo-text{font-size:4rem;font-weight:900;color:#fff;letter-spacing:-.03em;line-height:1}@media(max-width:768px){.cta-wrap .cta-inner{padding:4rem 2rem;border-radius:40px}.cta-wrap .cta-inner .cta-logo-wrap{gap:12px;flex-direction:column}.cta-wrap .cta-inner .cta-logo-wrap .cta-logo-img{height:64px}.cta-wrap .cta-inner .cta-logo-wrap .cta-logo-text{font-size:2.5rem}.cta-wrap .cta-inner .cta-btn{padding:1rem 2rem;font-size:1.1rem;width:100%}.cta-wrap .cta-inner p{font-size:1.1rem}}.cta-wrap .cta-inner .cta-badges{display:flex;gap:2rem;font-size:.9rem;font-weight:700;color:#ffffffb3}.cta-wrap .cta-inner .cta-badges .badge-item{display:flex;align-items:center;gap:8px}@media(max-width:600px){.cta-wrap .cta-inner .cta-badges{flex-direction:column;gap:1rem}}@keyframes landingFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.landing-footer{padding:0 var(--space-xl);border-top:1px solid var(--color-border-light);background:var(--color-surface)}.landing-footer .footer-inner{max-width:1200px;margin:0 auto;padding:4rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}@media(max-width:768px){.landing-footer .footer-inner{flex-direction:column;padding:3rem 0;text-align:center}}.landing-footer .footer-inner .footer-logo{display:flex;align-items:center;gap:14px}.landing-footer .footer-inner .footer-logo img{height:42px;width:auto;object-fit:contain}.landing-footer .footer-inner .footer-logo span{font-size:1.4rem;font-weight:900;color:var(--color-text);letter-spacing:-.02em}@media(max-width:768px){.landing-footer .footer-inner .footer-logo{justify-content:center}}.landing-footer .footer-inner .footer-links{display:flex;gap:2.5rem;font-weight:700;color:var(--color-text-secondary)}.landing-footer .footer-inner .footer-links .footer-link{background:none;border:none;color:inherit;cursor:pointer;font-weight:inherit;transition:all var(--transition-fast);padding:0;font-size:.95rem}.landing-footer .footer-inner .footer-links .footer-link:hover{color:var(--color-primary)}@media(max-width:768px){.landing-footer .footer-inner .footer-links{justify-content:center;gap:1.5rem;flex-wrap:wrap}}.landing-footer .footer-inner .footer-copyright{color:var(--color-text-muted);font-size:.9rem;font-weight:600}.mockup-legend{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);white-space:nowrap;font-weight:700;color:var(--color-text-secondary);font-size:.9rem;background:var(--color-surface);padding:8px 20px;border-radius:100px;border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);z-index:20}@media(max-width:768px){.mockup-legend{white-space:normal;text-align:center;width:90vw;max-width:340px;bottom:-56px;font-size:.82rem;padding:10px 16px;border-radius:16px;line-height:1.5}}.mockup-callout{position:absolute;display:flex;align-items:center;gap:12px;background:var(--color-surface);padding:10px 16px;border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);z-index:10;animation:landingFloat 4s ease-in-out infinite}.mockup-callout .co-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.mockup-callout .co-content{font-size:.85rem;font-weight:800;color:var(--color-text)}.mockup-callout.co-level{top:15%;left:-25%;animation-delay:0s}.mockup-callout.co-weather{top:45%;right:-25%;animation-delay:1s}.mockup-callout.co-harvest{bottom:20%;left:-25%;animation-delay:2s}@media(max-width:1200px){.mockup-callout{padding:8px 12px}.mockup-callout .co-content{font-size:.75rem}.mockup-callout.co-level{left:-5%}.mockup-callout.co-weather{right:-5%}.mockup-callout.co-harvest{left:-5%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-bg) 50%,var(--color-surface) 100%);position:relative;overflow:hidden;color:var(--color-text)}.auth-page:before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(45,106,79,.08) 0%,transparent 70%);border-radius:50%}.auth-page:after{content:"";position:absolute;bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,rgba(224,124,36,.06) 0%,transparent 70%);border-radius:50%}.auth-page .theme-toggle-container{position:absolute;top:1.25rem;right:1.25rem;z-index:10}.auth-page .theme-toggle-container .theme-btn{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-light);transition:all .2s ease}.auth-page .theme-toggle-container .theme-btn:hover{background:var(--color-bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-2xl);width:100%;max-width:440px;box-shadow:var(--shadow-xl);position:relative;z-index:1;border:1px solid var(--color-border-light)}@media(max-width:768px){.auth-card{margin:var(--space-md);padding:var(--space-xl)}}.auth-card .back-link{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary);text-decoration:none;margin-bottom:1.5rem;font-weight:600;font-size:.9rem}.auth-card .auth-logo-link{text-decoration:none;display:block;margin-bottom:1.5rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:var(--space-lg)}.auth-logo .auth-logo-icon{display:flex;align-items:center;justify-content:center;background:transparent;box-shadow:none;width:auto;height:auto}.auth-logo .auth-logo-icon img{height:56px;width:auto;object-fit:contain}.auth-logo .logo-text{font-size:2.2rem;font-weight:900;color:var(--color-primary-dark);letter-spacing:-.02em}.auth-title{text-align:center;margin-bottom:var(--space-xl)}.auth-title h1{font-size:1.5rem;margin-bottom:var(--space-xs);display:block}.auth-title p{color:var(--color-text-muted);font-size:.9rem}.auth-form .btn{width:100%;margin-top:var(--space-sm)}.auth-form .form-error{margin-bottom:1rem;text-align:center}.auth-footer{text-align:center;margin-top:var(--space-lg);font-size:.875rem;color:var(--color-text-muted)}.auth-footer a{font-weight:600}.auth-verify-screen{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-lg) 0}.auth-verify-screen .verify-icon{font-size:3rem;margin-bottom:var(--space-lg);line-height:1}.auth-verify-screen h1{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-md)}.auth-verify-screen p{color:var(--color-text-muted);font-size:.9rem;line-height:1.6;max-width:340px}.auth-verify-screen .btn{display:inline-flex}.dashboard-page-container{padding-bottom:var(--space-2xl)}.dashboard-page-container .gamification-summary{margin-top:var(--space-md)}.dashboard-page-container .gamification-summary .level-badge-container{display:flex;align-items:center;gap:4px}.dashboard-page-container .gamification-summary .level-badge-container .level-label{font-size:.7rem;font-weight:700;color:var(--color-text-muted)}.dashboard-page-container .gamification-summary .level-badge-container .level-number{font-size:1.25rem;font-weight:800;color:var(--color-primary)}.dashboard-page-container .gamification-summary .xp-progress-text{font-size:.8rem}.dashboard-page-container .gamification-summary .xp-progress-text .xp-current{font-weight:700;color:var(--color-primary)}.dashboard-page-container .gamification-summary .xp-progress-text .xp-separator{margin:0 2px;color:var(--color-text-muted)}.dashboard-page-container .gamification-summary .xp-progress-text .xp-total{color:var(--color-text-muted)}.dashboard-page-container .gamification-summary .progress-bar-container{margin-top:4px}.dashboard-page-container .gamification-summary .progress-bar-container .progress-bar-track{height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.dashboard-page-container .gamification-summary .progress-bar-container .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-full);position:relative;transition:width .5s ease}.dashboard-page-container .gamification-summary .progress-bar-container .progress-bar-glow{position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4));filter:blur(2px)}.dashboard-page-container .dashboard-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}.dashboard-page-container .dashboard-actions .btn-share{gap:8px;border:1.5px solid var(--color-border)}.dashboard-page-container .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.dashboard-page-container .stat-card{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.dashboard-page-container .stat-card .stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.dashboard-page-container .stat-card .stat-icon.green{background:var(--color-primary-bg);color:var(--color-primary)}[data-theme=dark] .dashboard-page-container .stat-card .stat-icon.green{background:#05966926;color:#34d399}.dashboard-page-container .stat-card .stat-icon.orange{background:#fff7ed;color:#ea580c}[data-theme=dark] .dashboard-page-container .stat-card .stat-icon.orange{background:#ea580c26;color:#fb923c}.dashboard-page-container .stat-card .stat-icon.blue{background:#eff6ff;color:#2563eb}[data-theme=dark] .dashboard-page-container .stat-card .stat-icon.blue{background:#2563eb26;color:#60a5fa}.dashboard-page-container .stat-card .stat-info{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.dashboard-page-container .stat-card .stat-info .stat-number{font-size:1.75rem;font-weight:800;font-family:var(--font-heading)}.dashboard-page-container .stat-card .stat-info .stat-label{font-size:.9rem;color:var(--color-text-secondary)}.dashboard-page-container .dashboard-main-columns{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl);align-items:start}@media(max-width:992px){.dashboard-page-container .dashboard-main-columns{grid-template-columns:1fr}}.dashboard-page-container .gardens-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.dashboard-page-container .gardens-section .section-header h2{font-size:1.15rem;font-weight:700}.dashboard-page-container .gardens-section .gardens-list{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.dashboard-page-container .gardens-section .garden-card{cursor:pointer;padding:var(--space-lg);transition:transform .2s ease,border-color .2s ease}.dashboard-page-container .gardens-section .garden-card:hover{transform:translateY(-2px);border-color:var(--color-primary-light)}.dashboard-page-container .gardens-section .garden-card .garden-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.dashboard-page-container .gardens-section .garden-card .garden-info h3{font-size:1.1rem;font-weight:700}.dashboard-page-container .gardens-section .garden-card .garden-specs{display:flex;gap:var(--space-lg);align-items:start;margin-bottom:var(--space-md);flex-wrap:wrap}.dashboard-page-container .gardens-section .garden-card .garden-specs .text-content{flex:1;min-width:200px}.dashboard-page-container .gardens-section .garden-card .garden-specs .map-preview{width:120px;height:80px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border-light)}.dashboard-page-container .gardens-section .garden-card .garden-footer{display:flex;align-items:center;justify-content:space-between}.dashboard-page-container .gardens-section .garden-card .garden-footer .plant-badges{display:flex;gap:6px;flex-wrap:wrap}.dashboard-page-container .side-widgets{display:flex;flex-direction:column;gap:var(--space-lg)}.dashboard-page-container .seasonal-tips-card{background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-surface) 100%);border-color:var(--color-primary-lightest)}.dashboard-page-container .seasonal-tips-card .tips-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.dashboard-page-container .seasonal-tips-card .tips-header h3{font-size:1rem;font-weight:700}.dashboard-page-container .seasonal-tips-card .tips-list{list-style:none;display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.dashboard-page-container .seasonal-tips-card .tips-list li{font-size:.875rem;line-height:1.5;display:flex;gap:8px}.dashboard-page-container .calendar-section{margin-top:var(--space-xl)}.plants-catalog-container{padding-bottom:var(--space-2xl)}.plants-catalog-container .filters-section{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.plants-catalog-container .filters-section .search-wrapper{position:relative;flex:1 1 250px}.plants-catalog-container .filters-section .search-wrapper .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.plants-catalog-container .filters-section .search-wrapper .form-input{padding-left:42px}.plants-catalog-container .filters-section .filter-select.category{flex:0 0 175px}.plants-catalog-container .filters-section .filter-select.location{flex:0 0 155px}.plants-catalog-container .filters-section .filter-select.sowing{flex:0 0 175px}.plants-catalog-container .filters-section .filter-select.planting{flex:0 0 185px}.plants-catalog-container .plants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.plants-catalog-container .card-plant{cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-lg);position:relative;transition:transform .2s ease,border-color .2s ease}.plants-catalog-container .card-plant:hover{transform:translateY(-2px);border-color:var(--color-primary-light)}.plants-catalog-container .card-plant:hover .plan-action-btn{opacity:1;transform:scale(1.1)}.plants-catalog-container .card-plant .plant-icon{font-size:2.5rem;width:64px;height:64px;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.plants-catalog-container .card-plant .plant-details{flex:1;min-width:0}.plants-catalog-container .card-plant .plant-details .name-row{display:flex;align-items:center;gap:var(--space-sm)}.plants-catalog-container .card-plant .plant-details .name-row h3{font-size:1rem;font-weight:600;margin:0}.plants-catalog-container .card-plant .plant-details .category{font-size:.875rem;margin-top:2px}.plants-catalog-container .card-plant .plant-details .periods{margin-top:8px;display:flex;flex-direction:column;gap:2px}.plants-catalog-container .card-plant .plant-details .periods .period-info{font-size:.825rem}.plants-catalog-container .card-plant .plan-action-btn{position:absolute;bottom:12px;right:12px;color:var(--color-primary);background:var(--color-primary-bg);opacity:.8;transition:transform .2s ease,opacity .2s ease}.plants-catalog-container .card-plant .plan-action-btn:hover{background:var(--color-primary-lightest);opacity:1}.garden-detail-container{padding-bottom:var(--space-3xl);position:relative;overflow-x:hidden}@media(max-width:768px){.garden-detail-container{margin-left:0;margin-right:0;width:100%}}.garden-detail-container .loading-container{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--color-primary);font-weight:600}.garden-detail-container .garden-bg-decoration{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.garden-detail-container .garden-bg-decoration .decoration-icon{position:absolute;color:var(--color-primary);opacity:.04;filter:blur(1px)}.garden-detail-container .garden-bg-decoration .decoration-icon.icon-1{top:5%;right:-50px;transform:rotate(15deg)}.garden-detail-container .garden-bg-decoration .decoration-icon.icon-2{top:30%;left:-30px;transform:rotate(-20deg)}.garden-detail-container .garden-bg-decoration .decoration-icon.icon-3{bottom:10%;right:5%;transform:rotate(45deg);opacity:.03}.garden-detail-container .garden-header-section{position:relative;z-index:10;margin-bottom:var(--space-2xl)}@media(max-width:768px){.garden-detail-container .garden-header-section{padding:0 var(--space-md)}}.garden-detail-container .garden-header-section .back-link{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:600;margin-bottom:var(--space-lg);transition:opacity .2s}.garden-detail-container .garden-header-section .back-link:hover{color:var(--color-primary)}.garden-detail-container .garden-header-section .garden-info-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xl)}@media(max-width:768px){.garden-detail-container .garden-header-section .garden-info-header{flex-direction:column;gap:var(--space-lg)}.garden-detail-container .garden-header-section .garden-info-header .garden-actions{width:100%;display:flex;flex-direction:column;gap:10px}.garden-detail-container .garden-header-section .garden-info-header .garden-actions button{width:100%;justify-content:center;padding:12px;font-size:.9rem}}.garden-detail-container .garden-header-section .garden-info-header .page-title{font-size:2.25rem;font-weight:900;color:var(--color-text);margin-bottom:var(--space-xs);letter-spacing:-.02em}.garden-detail-container .garden-header-section .garden-info-header .garden-meta{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-sm)}.garden-detail-container .garden-header-section .garden-info-header .garden-meta .meta-item{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-full);display:flex;align-items:center;gap:6px;border:1px solid var(--color-border-light)}.garden-detail-container .garden-header-section .garden-info-header .garden-description{color:var(--color-text-muted);font-size:1rem;max-width:700px;line-height:1.6}.garden-detail-container .garden-header-section .garden-info-header .garden-actions{display:flex;gap:10px;flex-shrink:0}.garden-detail-container .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-bottom:var(--space-3xl);position:relative;z-index:10}@media(max-width:768px){.garden-detail-container .stats-grid{grid-template-columns:1fr;gap:var(--space-sm);padding:0 var(--space-md)}}.garden-detail-container .stats-grid .stat-card{background:rgba(var(--color-surface-rgb),.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--color-border-rgb),.1);border-radius:var(--radius-xl);padding:var(--space-lg);display:flex;align-items:center;gap:var(--space-lg);transition:transform .3s ease,background .3s ease;box-shadow:var(--shadow-md)}.garden-detail-container .stats-grid .stat-card:hover{transform:translateY(-4px);background:var(--color-surface);box-shadow:var(--shadow-lg)}.garden-detail-container .stats-grid .stat-card .stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.garden-detail-container .stats-grid .stat-card .stat-icon.green{background:#ecfdf5;color:#059669}[data-theme=dark] .garden-detail-container .stats-grid .stat-card .stat-icon.green{background:#05966926;color:#34d399}.garden-detail-container .stats-grid .stat-card .stat-icon.orange{background:#fff7ed;color:#ea580c}[data-theme=dark] .garden-detail-container .stats-grid .stat-card .stat-icon.orange{background:#ea580c26;color:#fb923c}.garden-detail-container .stats-grid .stat-card .stat-icon.blue{background:#eff6ff;color:#2563eb}[data-theme=dark] .garden-detail-container .stats-grid .stat-card .stat-icon.blue{background:#2563eb26;color:#60a5fa}.garden-detail-container .stats-grid .stat-card .stat-number{font-size:1.75rem;font-weight:900;color:var(--color-text);line-height:1}.garden-detail-container .stats-grid .stat-card .stat-label{font-size:.85rem;color:var(--color-text-muted);font-weight:600;margin-top:2px}.garden-detail-container .map-toggle-section{margin-bottom:var(--space-2xl);position:relative;z-index:10}@media(max-width:768px){.garden-detail-container .map-toggle-section{padding:0 var(--space-md)}}.garden-detail-container .map-toggle-section .map-toggle-btn{width:100%;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;align-items:center;justify-content:space-between;color:var(--color-text);font-weight:700;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}.garden-detail-container .map-toggle-section .map-toggle-btn:hover{background:var(--color-surface);border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.garden-detail-container .map-toggle-section .map-toggle-btn .toggle-label{display:flex;align-items:center;gap:10px}.garden-detail-container .map-toggle-section .map-container-wrapper{margin-top:var(--space-md);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-md);border:1px solid var(--color-border-light);overflow:hidden;box-shadow:var(--shadow-md)}.garden-detail-container .mobile-status-selector{display:none;gap:8px;overflow-x:auto;padding:var(--space-sm) 4px;margin-bottom:var(--space-lg);scrollbar-width:none;-ms-overflow-style:none}.garden-detail-container .mobile-status-selector::-webkit-scrollbar{display:none}@media(max-width:1024px){.garden-detail-container .mobile-status-selector{display:flex;flex-wrap:wrap;justify-content:center;padding:0 var(--space-md)}}.garden-detail-container .mobile-status-selector .status-tab{flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);padding:6px 12px;border-radius:var(--radius-full);display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s;font-family:inherit}.garden-detail-container .mobile-status-selector .status-tab .emoji{font-size:1.1rem}.garden-detail-container .mobile-status-selector .status-tab .label{font-size:.8rem;font-weight:700;color:var(--color-text-secondary)}.garden-detail-container .mobile-status-selector .status-tab .badge{font-size:.7rem;background:var(--color-surface);color:var(--color-primary);padding:1px 6px;border-radius:var(--radius-full);font-weight:800}.garden-detail-container .mobile-status-selector .status-tab.active{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.05);box-shadow:0 4px 12px var(--color-primary-light)}.garden-detail-container .mobile-status-selector .status-tab.active .label{color:#fff}.garden-detail-container .mobile-status-selector .status-tab.active .badge{background:#fff;color:var(--color-primary)}.garden-detail-container .kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-3xl);position:relative;z-index:10}@media(max-width:1024px){.garden-detail-container .kanban-board{grid-template-columns:1fr;gap:var(--space-md);margin-top:var(--space-md);width:100%;padding:0 var(--space-md)}}.garden-detail-container .kanban-board .kanban-column{background:rgba(var(--color-bg-secondary-rgb),.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-2xl);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);min-height:200px;position:relative;z-index:1;transition:z-index .3s}@media(max-width:1024px){.garden-detail-container .kanban-board .kanban-column{padding:0;background:transparent;border-radius:0}.garden-detail-container .kanban-board .kanban-column.mobile-hidden{display:none!important}.garden-detail-container .kanban-board .kanban-column.mobile-visible{display:flex!important}}.garden-detail-container .kanban-board .kanban-column.has-active-dropdown{z-index:200}.garden-detail-container .kanban-board .kanban-column .kanban-column-header{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:900;padding:4px 8px;margin-bottom:4px}@media(max-width:1024px){.garden-detail-container .kanban-board .kanban-column .kanban-column-header{display:none}}.garden-detail-container .kanban-board .kanban-column .kanban-column-header .emoji{font-size:1.4rem}.garden-detail-container .kanban-board .kanban-column .kanban-column-header .count{font-weight:400;font-size:.85rem;color:var(--color-text-muted);background:var(--color-surface);padding:1px 8px;border-radius:var(--radius-full)}.garden-detail-container .kanban-board .kanban-column .kanban-cards-stack{display:flex;flex-direction:column;gap:12px}.garden-detail-container .kanban-board .kanban-column .empty-state-column{text-align:center;padding:2rem 1rem;border:2px dashed rgba(var(--color-border-rgb),.1);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.8rem;font-weight:500}.garden-detail-container .plant-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-md);display:flex;flex-direction:column;gap:12px;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 8px -2px #0000000d;z-index:1}@media(max-width:768px){.garden-detail-container .plant-card{padding:16px;gap:12px;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}}.garden-detail-container .plant-card.is-active{z-index:50;border-color:var(--color-primary-light);box-shadow:0 8px 16px -4px #0000001a}.garden-detail-container .plant-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--color-primary-light);box-shadow:0 12px 20px -8px #0000001a;z-index:20}.garden-detail-container .plant-card:hover .hover-arrow{opacity:1;transform:translate(2px)}.garden-detail-container .plant-card .card-main{display:flex;align-items:center;gap:12px}@media(max-width:768px){.garden-detail-container .plant-card .card-main{gap:10px}}.garden-detail-container .plant-card .card-main .plant-emoji{width:44px;height:44px;background:var(--color-bg-secondary);font-size:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}@media(max-width:768px){.garden-detail-container .plant-card .card-main .plant-emoji{width:36px;height:36px;font-size:1.25rem;border-radius:10px}}.garden-detail-container .plant-card .card-main .plant-info{flex:1;min-width:0}.garden-detail-container .plant-card .card-main .plant-info .plant-name{font-size:.95rem;font-weight:800;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;cursor:pointer;line-height:1.2}@media(max-width:768px){.garden-detail-container .plant-card .card-main .plant-info .plant-name{font-size:.8rem}}.garden-detail-container .plant-card .card-main .plant-info .plant-name .hover-arrow{opacity:.3;transition:all .2s}.garden-detail-container .plant-card .card-main .plant-info .plant-quantity{font-size:.75rem;font-weight:800;color:var(--color-primary);background:var(--color-primary-bg);padding:0 6px;border-radius:4px;display:inline-block;margin-top:4px}.garden-detail-container .plant-card .growth-progress{height:5px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.garden-detail-container .plant-card .growth-progress .progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-full)}.garden-detail-container .plant-card .card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--color-border-light)}@media(max-width:768px){.garden-detail-container .plant-card .card-footer{flex-direction:column;align-items:stretch;gap:8px}}.garden-detail-container .plant-card .card-footer .footer-left{display:flex;align-items:center;gap:8px}@media(max-width:768px){.garden-detail-container .plant-card .card-footer .footer-left{justify-content:space-between}}.garden-detail-container .plant-card .card-footer .btn-quick-water{width:32px;height:32px;border-radius:10px;background:#eff6ff;border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;font-size:1rem}@media(max-width:768px){.garden-detail-container .plant-card .card-footer .btn-quick-water{width:28px;height:28px;font-size:.85rem}}.garden-detail-container .plant-card .card-footer .btn-quick-water:hover{transform:scale(1.1);background:#dbeafe}.garden-detail-container .plant-card .card-footer .status-dropdown-wrapper{position:relative}.garden-detail-container .plant-card .card-footer .status-chip{border:none;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;display:flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}@media(max-width:768px){.garden-detail-container .plant-card .card-footer .status-chip{padding:3px 10px;font-size:.7rem}}.garden-detail-container .plant-card .card-footer .status-chip.chip-planned{background:#f3f4f6;color:#4b5563}.garden-detail-container .plant-card .card-footer .status-chip.chip-sowed{background:#ecfdf5;color:#059669}.garden-detail-container .plant-card .card-footer .status-chip.chip-growing{background:#fff7ed;color:#ea580c}.garden-detail-container .plant-card .card-footer .status-chip.chip-harvested{background:#eff6ff;color:#2563eb}.garden-detail-container .plant-card .card-footer .status-chip.chip-removed{background:#fef2f2;color:#dc2626}.garden-detail-container .plant-card .card-footer .status-chip svg{transition:transform .2s}.garden-detail-container .plant-card .card-footer .status-chip.active svg{transform:rotate(180deg)}.garden-detail-container .plant-card .card-footer .status-chip:hover{opacity:.8}.garden-detail-container .plant-card .card-footer .status-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;min-width:130px;z-index:100}.garden-detail-container .plant-card .card-footer .status-dropdown-menu .menu-item{width:100%;padding:6px 12px;border:none;background:transparent;color:var(--color-text);text-align:left;font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.garden-detail-container .plant-card .card-footer .status-dropdown-menu .menu-item:hover{background:var(--color-bg-secondary)}.garden-detail-container .plant-card .card-footer .status-dropdown-menu .menu-item.selected{color:var(--color-primary);background:var(--color-primary-bg)}.garden-detail-container .plant-card .card-footer .footer-right{display:flex;gap:4px;justify-content:flex-end}.garden-detail-container .plant-card .card-footer .icon-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted);transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}@media(max-width:768px){.garden-detail-container .plant-card .card-footer .icon-btn{width:26px;height:26px}}.garden-detail-container .plant-card .card-footer .icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-text)}.garden-detail-container .plant-card .card-footer .icon-btn.delete:hover{background:#fef2f2;color:#dc2626}.garden-detail-container .secondary-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);margin-top:var(--space-xl)}@media(max-width:1024px){.garden-detail-container .secondary-content-grid{grid-template-columns:1fr}}@media(max-width:768px){.garden-detail-container .mt-2xl{padding:0 var(--space-md)}}.animate-in{opacity:0;transform:translateY(15px);animation:simpleEnter .5s cubic-bezier(.16,1,.3,1) forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}@keyframes simpleEnter{to{opacity:1;transform:translateY(0)}}.expand-in{animation:expandSection .4s ease-out}@keyframes expandSection{0%{opacity:0;max-height:0;transform:scaleY(.95)}to{opacity:1;max-height:2000px;transform:scaleY(1)}}.community-header{margin-bottom:var(--space-xl)}.community-header>.flex{display:flex;align-items:center;gap:var(--space-md)}@media(max-width:600px){.community-header>.flex{flex-direction:column;align-items:stretch}.community-header>.flex .flex-1{text-align:center}.community-header>.flex .flex-1 .community-title-wrapper{justify-content:center}.community-header>.flex>.flex{width:100%}.community-header>.flex>.flex .btn{width:100%;justify-content:center}}.community-header .community-title-wrapper{display:flex;align-items:center;gap:12px}.community-header .community-title-wrapper h1{font-size:1.8rem;margin-bottom:0}.community-layout{display:flex;gap:var(--space-lg);flex-wrap:wrap}.community-filters-aside{width:260px;flex-shrink:0}@media(max-width:992px){.community-filters-aside{width:100%}}.community-filters-aside .filters-card{position:sticky;top:var(--space-md)}.community-filters-aside .filter-group{margin-bottom:1.5rem}.community-filters-aside .filter-group:last-child{margin-bottom:0;padding-top:1.5rem;border-top:1px solid var(--color-border-light)}.community-filters-aside .filter-label{display:block;font-size:.85rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text)}.community-filters-aside .filter-buttons{display:flex;flex-direction:column;gap:4px}.community-filters-aside .filter-buttons .btn{justify-content:flex-start;font-size:.85rem;font-weight:500;padding:10px 14px;width:100%;border-radius:var(--radius-md)}.community-filters-aside .search-input-wrapper{display:flex;align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:0 12px;transition:all var(--transition-fast)}.community-filters-aside .search-input-wrapper:focus-within{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #2d6a4f26}.community-filters-aside .search-input-wrapper .search-icon{color:var(--color-text-muted);flex-shrink:0}.community-filters-aside .search-input-wrapper .form-input{border:none!important;background:transparent!important;padding:10px 8px!important;font-size:.85rem;width:100%;color:var(--color-text);box-shadow:none!important}.community-filters-aside .search-input-wrapper .form-input:focus{box-shadow:none!important}.location-filter .range-wrapper{margin-top:16px}.location-filter .range-wrapper .range-info{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}.location-filter .range-wrapper .input-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--color-border-light);border-radius:10px;outline:none}.location-filter .range-wrapper .input-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-primary);border:3px solid var(--color-surface);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .1s ease}.location-filter .range-wrapper .input-range::-webkit-slider-thumb:hover{transform:scale(1.1)}.location-filter .range-wrapper .input-range::-moz-range-thumb{width:18px;height:18px;background:var(--color-primary);border:3px solid var(--color-surface);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm)}.community-main{flex:1;min-width:350px}.community-main .results-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.community-main .view-toggle{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px}.community-main .view-toggle .btn{border-radius:6px;font-size:.85rem}.community-main .community-empty-state{text-align:center;padding:var(--space-3xl)}.community-main .community-empty-state .icon-circle{margin:0 auto var(--space-lg);background:var(--color-primary-bg);color:var(--color-primary);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center}.community-main .community-empty-state h3{font-size:1.25rem;margin-bottom:var(--space-sm)}.community-main .community-empty-state p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.swap-card{display:flex;flex-direction:column;height:100%}.swap-card .card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.swap-card .card-top .badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.swap-card .card-top .date{font-size:.75rem;color:var(--color-text-muted)}.swap-card h3{font-size:1.1rem;font-weight:800;margin-bottom:var(--space-xs)}.swap-card .description{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-md);flex:1}.swap-card .meta-info{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.swap-card .meta-info .meta-item{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.swap-card .meta-info .dot{width:4px;height:4px;border-radius:50%;background:var(--color-border)}.swap-card .card-footer{padding-top:var(--space-md);border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between;margin-top:auto}.swap-card .card-footer .user-info{display:flex;align-items:center;gap:var(--space-sm)}.swap-card .card-footer .user-info .avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--color-primary-bg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-weight:800;font-size:.75rem;border:1px solid var(--color-primary-light)}.swap-card .card-footer .user-info .username{font-size:.8rem;font-weight:700;color:var(--color-text)}.messages-page{padding:0;height:calc(100vh - 120px)!important;max-width:1400px;margin:0 auto;overflow:hidden}@media(max-width:768px){.messages-page{height:calc(100vh - 80px)!important}}.messenger-container{display:flex;height:100%;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl)}@media(max-width:768px){.messenger-container{border-radius:0;border:none}}.conversations-sidebar{width:380px;border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;background:var(--color-bg-secondary)}@media(max-width:1024px){.conversations-sidebar{width:320px}}@media(max-width:768px){.conversations-sidebar{width:100%}}.conversations-sidebar .sidebar-header{padding:var(--space-xl);border-bottom:1px solid var(--color-border-light)}.conversations-sidebar .sidebar-header h1{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:var(--space-md)}.conversations-sidebar .sidebar-header .search-box{position:relative;display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-md)}.conversations-sidebar .sidebar-header .search-box svg{color:var(--color-text-muted)}.conversations-sidebar .sidebar-header .search-box input{border:none;background:none;padding:12px 10px;width:100%;font-size:.9rem;color:var(--color-text)}.conversations-sidebar .sidebar-header .search-box input::placeholder{color:var(--color-text-muted)}.conversations-sidebar .conversations-list{flex:1;overflow-y:auto}.conversations-sidebar .conversations-list .empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--color-text-muted);gap:var(--space-sm)}.conversation-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border-light);text-decoration:none;color:inherit;transition:all .2s}.conversation-item:hover{background:var(--color-surface)}.conversation-item.active{background:var(--color-primary-bg);border-left:4px solid var(--color-primary);padding-left:calc(var(--space-xl) - 4px)}.conversation-item .partner-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0;border:1px solid var(--color-primary-light)}.conversation-item .conv-details{flex:1;min-width:0}.conversation-item .conv-details .conv-top{display:flex;justify-content:space-between;margin-bottom:2px}.conversation-item .conv-details .conv-top .partner-name{font-weight:700;font-size:.95rem}.conversation-item .conv-details .conv-top .conv-time{font-size:.75rem;color:var(--color-text-muted)}.conversation-item .conv-details .conv-preview{font-size:.85rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.unread .conv-preview{font-weight:700;color:var(--color-text)}.conversation-item.unread .partner-name:after{content:"";width:8px;height:8px;background:var(--color-primary);border-radius:50%;display:inline-block;margin-left:6px}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--color-surface);position:relative}.chat-area .no-chat-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-3xl)}.chat-area .no-chat-selected .icon-circle{background:var(--color-bg-secondary);color:var(--color-text-muted);margin-bottom:var(--space-lg)}.chat-area .no-chat-selected h3{font-size:1.25rem;font-weight:700;margin-bottom:8px}.chat-area .no-chat-selected p{color:var(--color-text-muted);max-width:320px}.chat-header{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;gap:var(--space-md);background:var(--color-surface);z-index:10}@media(min-width:769px){.chat-header .back-btn{display:none}}.chat-header .back-btn{border:none;background:none;color:var(--color-text-muted);cursor:pointer}.chat-header .partner-info{display:flex;align-items:center;gap:var(--space-md)}.chat-header .partner-info .partner-meta{display:flex;flex-direction:column}.chat-header .partner-info .partner-meta h2{font-size:1.1rem;font-weight:800;margin:0}.chat-header .partner-info .partner-meta .status-text{font-size:.75rem;font-weight:600}.chat-header .partner-info .partner-meta .status-text.online{color:#10b981}.chat-header .partner-info .partner-meta .status-text.offline{color:var(--color-text-muted)}.chat-header .partner-info .partner-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--color-primary-light)}.chat-context-bar{background:var(--color-primary-bg);padding:8px 24px;border-bottom:1px solid var(--color-primary-light);display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--color-primary-dark);z-index:5}.chat-context-bar svg{color:var(--color-primary);flex-shrink:0}.chat-context-bar strong{font-weight:700;color:var(--color-primary)}.messages-list{flex:1;overflow-y:auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:12px;background:var(--color-bg-secondary)}.messages-list .date-separator{text-align:center;margin:var(--space-lg) 0;position:relative}.messages-list .date-separator:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border-light);z-index:1}.messages-list .date-separator span{background:var(--color-bg-secondary);padding:4px 12px;font-size:.7rem;font-weight:700;color:var(--color-text-muted);position:relative;z-index:2;border-radius:20px;border:1px solid var(--color-border-light)}.messages-list .chat-loading{display:flex;justify-content:center;padding:var(--space-xl)}.message-bubble-wrapper{display:flex;width:100%}.message-bubble-wrapper.sent{justify-content:flex-end}.message-bubble-wrapper.sent .message-bubble{background:var(--color-primary);color:#fff;border-radius:18px 18px 4px}.message-bubble-wrapper.sent .message-bubble .message-time{color:#ffffffb3}.message-bubble-wrapper.received{justify-content:flex-start}.message-bubble-wrapper.received .message-bubble{background:var(--color-surface);color:var(--color-text);border-radius:18px 18px 18px 4px;border:1px solid var(--color-border-light)}.message-bubble-wrapper.received .message-bubble .message-time{color:var(--color-text-muted)}.message-bubble{max-width:75%;padding:10px 16px;position:relative;box-shadow:0 1px 2px #0000000d}.message-bubble p{font-size:.95rem;line-height:1.4;margin:0;word-break:break-word}.message-bubble .message-time{font-size:.65rem;display:block;text-align:right;margin-top:4px;font-weight:600}.chat-input-wrapper{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border-light);display:flex;gap:var(--space-md);background:var(--color-surface)}.chat-input-wrapper input{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;font-size:.95rem;background:var(--color-bg-secondary);color:var(--color-text)}.chat-input-wrapper input::placeholder{color:var(--color-text-muted)}.chat-input-wrapper .btn-icon{width:50px;height:50px;border-radius:50%;flex-shrink:0}@media(max-width:900px){.messenger-container.has-active-chat .conversations-sidebar{display:none}.messenger-container.has-active-chat .chat-area{display:flex}.messenger-container:not(.has-active-chat) .conversations-sidebar{display:flex}.messenger-container:not(.has-active-chat) .chat-area{display:none}}.plant-detail-container{padding-bottom:var(--space-2xl)}.plant-detail-container .loading-container{text-align:center;padding:4rem;color:var(--color-text-muted)}.plant-detail-container .empty-state{text-align:center;padding:var(--space-2xl)}.plant-detail-container .empty-state .emoji{font-size:4rem;margin-bottom:var(--space-md)}.plant-detail-container .empty-state h3{margin-bottom:var(--space-sm)}.plant-detail-container .empty-state p{margin-bottom:var(--space-lg)}.plant-detail-container .plant-hero{background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-surface) 60%);margin-bottom:var(--space-xl);overflow:hidden;padding:var(--space-xl)}.plant-detail-container .plant-hero .hero-content{display:flex;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.plant-detail-container .plant-hero .emoji-container{width:100px;height:100px;border-radius:var(--radius-xl);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:3.5rem;flex-shrink:0;box-shadow:var(--shadow-md)}.plant-detail-container .plant-hero .info-header{flex:1;min-width:200px}.plant-detail-container .plant-hero .info-header h1{font-family:var(--font-heading);font-size:2.25rem;font-weight:800;margin-bottom:4px;color:var(--color-text)}.plant-detail-container .plant-hero .info-header .badges{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-sm)}.plant-detail-container .plant-hero .info-header .description{line-height:1.6;max-width:500px;margin-top:var(--space-sm);color:var(--color-text-secondary)}.plant-detail-container .plant-hero .family-card{margin-top:var(--space-md);padding:12px 16px;border-radius:var(--radius-md);background:var(--color-surface-elevated);border:1px solid var(--color-border-light);font-size:.85rem;box-shadow:inset 0 0 0 1px #00000005}.plant-detail-container .plant-hero .family-card .family-name{font-weight:700;color:var(--color-primary);margin-bottom:4px}.plant-detail-container .plant-hero .family-card .family-name .latin{font-style:italic;font-weight:400;opacity:.8}.plant-detail-container .plant-hero .family-card .characteristics{color:var(--color-text-secondary);line-height:1.4}.plant-detail-container .plant-hero .action-button{margin-top:var(--space-md);gap:8px;box-shadow:0 4px 14px #2d6a4f4d}.plant-detail-container .info-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.plant-detail-container .info-card{padding:var(--space-lg);display:flex;flex-direction:column;align-items:center;text-align:center}.plant-detail-container .info-card .icon-wrapper{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm)}.plant-detail-container .info-card .label{margin-bottom:2px;font-size:.875rem;color:var(--color-text-muted)}.plant-detail-container .info-card .value{font-weight:600;font-size:.95rem}.plant-detail-container .additional-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.plant-detail-container .detail-card{padding-top:3rem;padding-bottom:var(--space-xl)}.plant-detail-container .detail-card h3{font-size:1rem;font-weight:700;margin-bottom:var(--space-xl);display:flex;align-items:center;justify-content:center;gap:8px}.plant-detail-container .spacing-container{display:flex;gap:var(--space-xl);flex-wrap:wrap;justify-content:center}.plant-detail-container .spacing-container .spacing-box{text-align:center;padding:12px 20px;border-radius:var(--radius-md);background:var(--color-primary-bg);flex:1 1 120px;max-width:160px}.plant-detail-container .spacing-container .spacing-box .label{margin-bottom:4px;font-size:.875rem;color:var(--color-text-muted)}.plant-detail-container .spacing-container .spacing-box .value{font-weight:700;font-size:1.4rem;color:var(--color-primary)}.plant-detail-container .spacing-container .spacing-box .value span{font-size:.85rem;font-weight:500}.plant-detail-container .badge-container{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.plant-detail-container .badge-companion{padding:4px 10px;cursor:pointer;position:relative}.plant-detail-container .badge-companion.is-good{background:var(--color-success-light);color:var(--color-success)}.plant-detail-container .badge-companion.is-bad{background:#fee2e2;color:#b91c1c}.plant-detail-container .gardener-tips{background:linear-gradient(135deg,var(--color-warning-light) 0%,var(--color-surface) 100%);padding:var(--space-xl);text-align:center}.plant-detail-container .gardener-tips p{line-height:1.7;font-size:.9rem;color:var(--color-text-secondary)}.plant-detail-container .risks-container{border-left:4px solid #ef4444}.plant-detail-container .risks-container .badge-risk{background:#fee2e2;color:#b91c1c;border:none}.plant-detail-container .rotation-profile{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.plant-detail-container .rotation-profile .rotation-item{display:flex;align-items:center;gap:10px;font-size:.9rem;justify-content:center}.plant-detail-container .rotation-profile .rotation-item .emoji{width:24px;text-align:center}.plant-detail-container .rotation-profile .rotation-item.is-sensible{color:#b91c1c}.plant-detail-container .rotation-profile .rotation-item.is-appauvrissante{color:#9a3412}.plant-detail-container .rotation-profile .rotation-item.is-ameliorante{color:#15803d}.plant-detail-container .rotation-profile .rotation-hint{margin-top:6px;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.companion-bottom-sheet-overlay{position:fixed;inset:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end}.companion-bottom-sheet-container{width:100%;background:var(--color-surface);border-radius:20px 20px 0 0;padding:24px 20px 32px;box-shadow:0 -4px 30px #0003}.companion-bottom-sheet-container .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.companion-bottom-sheet-container .header h3{font-weight:700;font-size:1.1rem}.companion-bottom-sheet-container .header .close-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.companion-bottom-sheet-container .reason{color:var(--color-text-secondary);line-height:1.6;margin-bottom:20px;font-size:.95rem}.seeds-page-container{padding-bottom:var(--space-2xl)}.seeds-page-container .voice-modal-overlay{position:fixed;inset:0;z-index:10000;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.seeds-page-container .seeds-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.seeds-page-container .seeds-form-grid.three-cols{grid-template-columns:1fr 1fr 1fr}.seeds-page-container .form-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.seeds-page-container .empty-inventory{padding:var(--space-3xl) 0;text-align:center;color:var(--color-text-muted)}.seeds-page-container .empty-inventory .icon{margin:0 auto var(--space-md);opacity:.3}.seeds-page-container .seeds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg);margin-top:2rem}.seeds-page-container .seed-card{position:relative}.seeds-page-container .seed-card.is-expired{border-top:4px solid var(--color-danger)}.seeds-page-container .seed-card.is-expiring-soon{border-top:4px solid var(--color-warning)}.seeds-page-container .seed-card.is-normal{border-top:4px solid var(--color-primary)}.seeds-page-container .seed-card .status-badge{position:absolute;top:-12px;right:12px;color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:700}.seeds-page-container .seed-card .status-badge.expired{background:var(--color-danger)}.seeds-page-container .seed-card .status-badge.expiring{background:var(--color-warning)}.seeds-page-container .seed-card .header{display:flex;justify-content:space-between;align-items:flex-start}.seeds-page-container .seed-card .header h3{margin:0 0 4px;font-size:1.1rem}.seeds-page-container .seed-card .header .variety{font-style:italic;margin-bottom:8px}.seeds-page-container .seed-card .quantity-badge{background:var(--color-bg-secondary);padding:var(--space-sm);border-radius:var(--radius-sm);margin-top:var(--space-sm);display:flex;justify-content:space-between;align-items:center}.seeds-page-container .seed-card .quantity-badge .number{font-size:1.2rem;font-weight:700;color:var(--color-primary)}.seeds-page-container .seed-card .expiration{display:flex;align-items:center;gap:4px;font-size:.875rem}.seeds-page-container .seed-card .expiration.expired{color:var(--color-danger)}.seeds-page-container .seed-card .expiration.expiring{color:var(--color-warning)}.seeds-page-container .seed-card .expiration.normal{color:var(--color-text-muted)}.seeds-page-container .seed-card .notes{margin-top:var(--space-md);margin-bottom:0;font-size:.875rem}.planner-page-container{padding-bottom:var(--space-2xl)}.planner-page-container .year-selector{display:flex;gap:var(--space-md);background:var(--color-bg-secondary);padding:4px;border-radius:var(--radius-md)}.planner-page-container .year-selector .year-btn{padding:6px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.85rem;font-weight:500;background:transparent;color:var(--color-text-muted);transition:all .2s}.planner-page-container .year-selector .year-btn.active{font-weight:700;background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.planner-page-container .year-selector .year-btn:hover:not(.active){background:#0000000d}.planner-page-container .planner-hint{display:flex;gap:12px;align-items:center;margin-bottom:var(--space-xl);background:var(--color-info-light);padding:16px;border-radius:var(--radius-lg);border:1px solid var(--color-info)}.planner-page-container .planner-hint p{font-size:.9rem;color:var(--color-info);margin:0}.planner-page-container .garden-section{margin-bottom:var(--space-xl)}.planner-page-container .garden-section .garden-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.planner-page-container .garden-section .garden-header h2{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px}.planner-page-container .garden-section .empty-garden{padding:var(--space-xl);text-align:center;background:#00000005;border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.875rem}.planner-page-container .garden-section .plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}.planner-page-container .garden-section .plan-card{padding:var(--space-md);display:flex;align-items:center;gap:var(--space-md)}.planner-page-container .garden-section .plan-card .emoji-container{width:40px;height:40px;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.4rem}.planner-page-container .garden-section .plan-card .info{flex:1}.planner-page-container .garden-section .plan-card .info .name{font-weight:700}.planner-page-container .garden-section .plan-card .info .dates{display:flex;gap:8px;margin-top:4px;font-size:.75rem;color:var(--color-text-muted)}.planner-page-container .garden-section .plan-card .info .dates span{display:flex;align-items:center;gap:4px}.settings-page-container{padding-bottom:var(--space-2xl)}.settings-page-container .settings-tabs{display:flex;gap:4px;margin-bottom:var(--space-xl);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:4px;width:fit-content}.settings-page-container .profile-section{max-width:600px}.settings-page-container .profile-header{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.settings-page-container .profile-header .avatar-placeholder{width:72px;height:72px;background:var(--color-primary-bg);color:var(--color-primary-dark);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:2px solid var(--color-surface);box-shadow:var(--shadow-sm)}.settings-page-container .profile-header .user-info h3{margin:0}.settings-page-container .profile-header .user-info p{margin:4px 0 0;font-size:.9rem}.settings-page-container .stats-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-xl)}.settings-page-container .stats-summary .stat-item{text-align:center;padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.settings-page-container .stats-summary .stat-item .label{font-size:.8rem;display:block;margin-bottom:4px}.settings-page-container .stats-summary .stat-item .value{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.settings-page-container .security-section{max-width:600px}.settings-page-container .data-section{max-width:700px}.settings-page-container .security-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}.tasks-page-container{padding-bottom:var(--space-2xl)}.tasks-page-container .tasks-summary-badge{font-size:.85rem;padding:6px 14px}.tasks-page-container .tasks-summary-badge.is-urgent{background:var(--color-danger-light);color:var(--color-danger)}.tasks-page-container .tasks-summary-badge.is-warning{background:var(--color-warning-light);color:var(--color-warning)}.tasks-page-container .empty-state{text-align:center;padding:var(--space-2xl);background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-surface) 100%);border:1px solid var(--color-primary-lightest);border-radius:var(--radius-lg)}.tasks-page-container .empty-state .icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--space-md);color:var(--color-primary)}.tasks-page-container .empty-state h2{font-size:1.4rem;font-weight:700;margin-bottom:var(--space-sm)}.tasks-page-container .empty-state p{max-width:400px;margin:0 auto}.tasks-page-container .tasks-sections-list{display:flex;flex-direction:column;gap:var(--space-xl)}.tasks-page-container .task-section .section-title{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.tasks-page-container .task-section .section-title h2{font-size:1rem;font-weight:700}.tasks-page-container .task-section .cards-list{display:flex;flex-direction:column;gap:var(--space-sm)}.tasks-page-container .task-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.tasks-page-container .task-card.critical{border-left:3px solid var(--color-danger)}.tasks-page-container .task-card.warning{border-left:3px solid var(--color-warning)}.tasks-page-container .task-card.info{border-left:3px solid var(--color-info)}.tasks-page-container .task-card .type-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tasks-page-container .task-card .type-icon.critical{background:var(--color-danger-light);color:var(--color-danger)}.tasks-page-container .task-card .type-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.tasks-page-container .task-card .type-icon.info{background:var(--color-info-light);color:var(--color-info)}.tasks-page-container .task-card .content{flex:1;min-width:0}.tasks-page-container .task-card .content .header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.tasks-page-container .task-card .content .header .name{font-weight:700;font-size:.95rem}.tasks-page-container .task-card .content .header .urgency-badge{font-size:.7rem}.tasks-page-container .task-card .content .message{margin-top:2px;font-size:.875rem}.tasks-page-container .task-card .content .location{margin-top:2px;display:flex;align-items:center;gap:4px;font-size:.875rem}.tasks-page-container .task-card .actions{display:flex;gap:8px;flex-shrink:0}.tasks-page-container .weather-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.tasks-page-container .weather-card.critical{border-left:3px solid var(--color-danger)}.tasks-page-container .weather-card.warning{border-left:3px solid var(--color-warning)}.tasks-page-container .weather-card.info{border-left:3px solid var(--color-info)}.tasks-page-container .weather-card .weather-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tasks-page-container .weather-card .weather-icon.critical{background:var(--color-danger-light);color:var(--color-danger)}.tasks-page-container .weather-card .weather-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.tasks-page-container .weather-card .weather-icon.info{background:var(--color-info-light);color:var(--color-info)}.tasks-page-container .weather-card .content{flex:1;min-width:0}.tasks-page-container .weather-card .content .title{font-weight:700;font-size:.95rem}.tasks-page-container .weather-card .content .message{margin-top:2px;font-size:.875rem}.legal-page{padding-top:100px;padding-bottom:80px;min-height:100vh;background-color:var(--color-bg);color:var(--color-text-primary)}.legal-page .legal-container{max-width:800px;margin:0 auto;padding:0 20px}.legal-page .back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:40px;color:var(--color-primary);text-decoration:none;font-weight:500;transition:transform .2s ease}.legal-page .back-link:hover{transform:translate(-5px)}.legal-page .legal-header{margin-bottom:60px;text-align:center}.legal-page .legal-header h1{font-size:3rem;font-family:Outfit,sans-serif;margin-bottom:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-success));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.legal-page .legal-header p{color:var(--color-text-secondary);font-size:1.1rem}.legal-page .legal-content{background-color:var(--color-surface);padding:60px;border-radius:24px;box-shadow:var(--shadow-xl);line-height:1.8}@media(max-width:768px){.legal-page .legal-content{padding:30px}}.legal-page .legal-content section{margin-bottom:40px}.legal-page .legal-content section h2{font-size:1.5rem;margin-bottom:20px;color:var(--color-primary);font-family:Outfit,sans-serif;border-bottom:2px solid var(--color-border);padding-bottom:10px;display:inline-block}.legal-page .legal-content section p{margin-bottom:15px;color:var(--color-text-secondary)}.legal-page .legal-content section ul{margin-left:20px;list-style-type:disc;color:var(--color-text-secondary)}.legal-page .legal-content section ul li{margin-bottom:8px}.legal-page .footer-notice{margin-top:40px;text-align:center;color:var(--color-text-lighter);font-size:.9rem}.notfound-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background:radial-gradient(circle at center,var(--color-surface) 0%,var(--color-bg) 100%);text-align:center;overflow:hidden}.notfound-content{max-width:600px;width:100%}.notfound-scene{position:relative;margin-bottom:4rem}.notfound-scene .nf-number-wrap{display:flex;align-items:center;justify-content:center;gap:.5rem}.notfound-scene .nf-number-wrap .nf-digit{font-family:Outfit,sans-serif;font-size:clamp(8rem,20vw,12rem);font-weight:900;line-height:1;color:var(--color-border-light);text-shadow:10px 10px 0px rgba(0,0,0,.1)}.notfound-scene .nf-number-wrap .nf-digit.nf-hole{width:clamp(100px,15vw,180px);height:clamp(100px,15vw,180px);background:var(--color-bg-secondary);border-radius:50%;border:8px solid var(--color-border);box-shadow:inset 0 10px 20px #0006,0 10px 20px #0003;display:flex;align-items:center;justify-content:center;position:relative;margin:0 1rem}.notfound-scene .nf-number-wrap .nf-digit.nf-hole .nf-earth{position:absolute;bottom:0;width:100%;height:40%;background:#3d2b1f;border-bottom-left-radius:100px;border-bottom-right-radius:100px;display:flex;justify-content:center;align-items:flex-end;padding-bottom:5px}.notfound-scene .nf-shovel-planted{color:var(--color-text-muted);transform:translateY(-20px) rotate(-10deg);filter:drop-shadow(0 5px 10px rgba(0,0,0,.3));z-index:5}.notfound-scene .nf-decoration{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none}.notfound-scene .nf-decoration .nf-sun{position:absolute;top:-40px;left:10%;color:var(--color-warning);opacity:.4;animation:nfSunRotate 20s linear infinite}.notfound-title{font-family:Outfit,sans-serif;font-size:clamp(1.8rem,5vw,2.5rem);font-weight:900;color:var(--color-text);margin-bottom:1.5rem}.notfound-text{color:var(--color-text-secondary);font-size:1.15rem;line-height:1.8;margin-bottom:3.5rem;max-width:480px;margin-left:auto;margin-right:auto}.notfound-actions{display:flex;gap:1.5rem;justify-content:center}.notfound-actions .btn-glow{padding:1rem 2rem;font-weight:800;border-radius:16px;display:flex;align-items:center;gap:12px;transition:all .3s ease}.notfound-actions .btn-glow.btn-primary{box-shadow:0 10px 20px -5px #52b78866}.notfound-actions .btn-glow.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 30px -5px #52b78899}.notfound-actions .btn-glow.btn-secondary{border:1px solid var(--color-border)}.notfound-actions .btn-glow.btn-secondary:hover{background:var(--color-surface-elevated);transform:translateY(-3px)}@media(max-width:580px){.notfound-actions{flex-direction:column-reverse;gap:1rem}.notfound-actions button{width:100%;justify-content:center}}@keyframes nfSproutGrow{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.1) translateY(-5px)}}@keyframes nfSunRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
