:root{--background-deep: #020203;--background-base: #050506;--background-elevated: #0a0a0c;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--foreground: #ededef;--foreground-muted: #8a8f98;--foreground-subtle: rgba(255, 255, 255, .6);--accent: #5e6ad2;--accent-bright: #6872d9;--accent-glow: rgba(94, 106, 210, .3);--border-default: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .1);--border-accent: rgba(94, 106, 210, .3);--input-bg: #0f0f12;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--primary-color: var(--accent);--primary-hover: var(--accent-bright);--primary-light: #a5b4fc;--primary-dark: #4c56c4;--secondary-color: var(--accent);--accent-color: var(--accent);--background: var(--background-base);--surface-elevated: var(--background-elevated);--surface-selected: rgba(94, 106, 210, .12);--text-primary: var(--foreground);--text-secondary: var(--foreground-muted);--text-muted: var(--foreground-muted);--text-accent: var(--accent-bright);--text-inverse: var(--background-base);--border: var(--border-default);--border-light: var(--border-hover);--border-focus: var(--accent);--border-error: #ef4444;--success: #34d399;--warning: #f59e0b;--error: #ef4444;--info: var(--accent-bright);--shadow-sm: 0 0 0 1px rgba(255, 255, 255, .06), 0 2px 8px rgba(0, 0, 0, .35);--shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 2px 20px rgba(0, 0, 0, .4), 0 0 40px rgba(0, 0, 0, .2);--shadow-lg: 0 0 0 1px rgba(255, 255, 255, .1), 0 8px 40px rgba(0, 0, 0, .5), 0 0 80px rgba(94, 106, 210, .1);--shadow-xl: 0 0 0 1px rgba(94, 106, 210, .5), 0 4px 12px rgba(94, 106, 210, .3), inset 0 1px 0 0 rgba(255, 255, 255, .2);--radius-sm: 6px;--radius: 8px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--font-sans: "Inter", "Geist Sans", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--transition-fast: .2s var(--ease-out-expo);--transition: .3s var(--ease-out-expo);--transition-slow: .3s var(--ease-out-expo)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;background:var(--background-base)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-base);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}.app{min-height:100vh;background:var(--background);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-6);border:1px solid var(--border);transition:all var(--transition);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));opacity:0;transition:opacity var(--transition)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-light)}.card:hover:before{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all var(--transition);font-size:var(--font-size-sm);line-height:1;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary-dark));transform:translateY(-1px);box-shadow:var(--shadow)}.btn-secondary{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-light)}.btn-danger{background:linear-gradient(135deg,var(--error),#dc2626);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-outline:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--primary-color)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs)}.btn-sm:has(>svg:only-child){padding:var(--space-2)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)!important;border:1px solid #f59e0b!important;color:#0f172a!important;font-weight:700!important;box-shadow:0 4px 12px #f59e0b4d!important;transition:all .2s ease!important}.btn-warning:hover{transform:translateY(-2px)!important;box-shadow:0 8px 20px #f59e0b66!important;background:linear-gradient(135deg,#d97706,#b45309)!important}.btn-warning:active{transform:translateY(0)!important;box-shadow:0 4px 12px #f59e0b4d!important}.btn-warning:disabled{opacity:.6!important;cursor:not-allowed!important;transform:none!important}.btn-warning[href],.btn-warning[href]:hover{text-decoration:none!important}.input,.select,.textarea{width:100%;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius);background:var(--surface-elevated);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #5e6ad233;background:var(--surface)}.textarea{resize:vertical;min-height:100px;font-family:inherit}.form-group{margin-bottom:var(--space-4)}.label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.modal-form{padding:0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);font-size:var(--font-size-sm)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.55rem .7rem;background:#1e293b;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#5e6ad280;box-shadow:0 0 0 2px #5e6ad226;background:#1e293bf2}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172ab8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-content{width:100%;max-width:520px;max-height:calc(100vh - 2rem);overflow-y:auto;background:#0f172a;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 40px #00000073;padding:1.25rem 1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.modal-close:hover{background:#64748b33;color:var(--text-primary);border-color:var(--border)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.modal-actions button{padding:.55rem 1rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600}.modal-actions button[type=submit]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:transparent}.modal-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover),var(--primary-dark))}.modal-actions button[type=button]{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border)}.modal-actions button[type=button]:hover:not(:disabled){background:var(--surface-hover)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.flex{display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.inline{display:inline}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.w-2{width:.5rem}.h-2{height:.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-8{width:2rem}.h-8{height:2rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-12{width:3rem}.h-12{height:3rem}.mr-1{margin-right:var(--space-1)}.ml-1{margin-left:var(--space-1)}.mx-auto{margin-left:auto;margin-right:auto}.min-h-64{min-height:16rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.space-y-4>*+*{margin-top:var(--space-4)}@media(min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--text-accent)}.text-error{color:var(--error)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;text-transform:capitalize;border:1px solid transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-shrink:0}.stage-seedling{background:#22c55e33;color:#86efac;border-color:#22c55e66}.stage-vegetative{background:#10b98133;color:#6ee7b7;border-color:#10b98166}.stage-flowering{background:#ec489933;color:#f9a8d4;border-color:#ec489966}.stage-harvest{background:#f59e0b33;color:#fbbf24;border-color:#f59e0b66}.stage-cured{background:#6366f133;color:#a5b4fc;border-color:#6366f166}header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293bcc;border-bottom:1px solid var(--border)}.navbar{position:sticky;top:0;z-index:100;width:100%;background:linear-gradient(135deg,#0a0a0c,#050506);border-bottom:1px solid #0f2027;padding:var(--space-4) 0;box-shadow:0 2px 8px #0003}.navbar-content{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:var(--space-4)}.navbar-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:#fff;transition:all var(--transition)}.navbar-brand:hover{color:#ffffffe6;text-decoration:none}.brand-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent);border-radius:var(--radius-lg);color:#0f172a;box-shadow:0 2px 4px #0000001a}.brand-icon svg{width:1.5rem;height:1.5rem;flex-shrink:0}.brand-text{display:flex;flex-direction:column}.brand-title{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.brand-subtitle{font-size:.875rem;color:#fffc;margin:0;line-height:1.2}.navbar-nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1}.nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius);text-decoration:none;color:#cbd5e1;font-weight:500;font-size:.95rem;transition:all var(--transition);position:relative;white-space:nowrap}.nav-item:hover{color:#f8fafc;background:#5e6ad226;text-decoration:none;transform:translateY(-1px)}.nav-item-active{color:var(--accent);background:#5e6ad233}.nav-icon{width:20px;height:20px}.nav-label{font-size:.95rem;font-weight:500}.navbar-toggles{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.unit-toggle-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:44px;height:36px;padding:0 var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(94,106,210,.35);background:#5e6ad21f;color:var(--accent);font-weight:700;font-size:.9rem;cursor:pointer;transition:all var(--transition)}.unit-toggle-btn:hover{background:#5e6ad238;color:#f8fafc}.bottom-nav{display:none}@media(max-width:1024px){.navbar-nav{gap:var(--space-2)}.nav-item{font-size:.875rem;padding:var(--space-2) var(--space-3)}.nav-icon{width:18px;height:18px}}@media(max-width:768px){.navbar{padding:var(--space-3) 0}.navbar-content{gap:var(--space-2);padding:0 var(--space-2)}.navbar-nav,.brand-subtitle{display:none}.brand-title{font-size:1.1rem}.brand-icon{width:36px;height:36px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;align-items:stretch;justify-content:space-around;gap:0;min-height:56px;padding:var(--space-1) 0 calc(var(--space-1) + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#0a0a0c,#050506);border-top:1px solid #0f2027;box-shadow:0 -4px 16px #00000059}.bottom-nav-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:48px;padding:var(--space-1) 2px;text-decoration:none;color:#94a3b8;font-weight:500;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition);-webkit-tap-highlight-color:transparent}.bottom-nav-item:hover,.bottom-nav-item:focus-visible{color:#e2e8f0;background:#5e6ad21a;text-decoration:none;outline:none}.bottom-nav-item-active{color:var(--accent);background:#5e6ad21f}.bottom-nav-icon{width:22px;height:22px;flex-shrink:0}.bottom-nav-label{font-size:.65rem;line-height:1.1;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.app>main.container{padding-bottom:var(--space-6)}}.plant-card{position:relative;background:#ffffff05;border-radius:var(--radius);padding:1rem 1.125rem;border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color var(--transition),background var(--transition);box-shadow:none}.plant-card:hover{border-color:var(--border-focus);background:#5e6ad20a;box-shadow:none;transform:none}.plant-name{display:block;color:var(--text-accent);font-weight:600;font-size:var(--font-size-lg);margin-bottom:var(--space-1);text-decoration:none;transition:color var(--transition)}.plant-name:hover{color:var(--primary-light)}.plant-strain{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-2)}.plant-tent{display:inline-flex;align-items:center;gap:.35rem;margin:0;line-height:1.2}.plant-tent svg{flex-shrink:0}.plant-notes{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--space-4)}.plant-meta{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.plant-meta-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm)}.plant-actions{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--border)}.plant-actions .btn-sm{padding:var(--space-2)}.plant-link{color:var(--text-accent);text-decoration:none;font-weight:500;font-size:var(--font-size-sm);transition:color var(--transition)}.plant-link:hover{color:var(--primary-light)}.env-card{text-align:center;padding:var(--space-6);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.env-card:hover{border-color:var(--primary-color);transform:translateY(-1px)}.env-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:var(--space-2) 0}.env-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.plant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.875rem;width:100%}.plant-card{width:100%;min-width:0;box-sizing:border-box}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.plant-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.plant-grid{grid-template-columns:1fr}.plant-card{min-width:unset}}.grow-tent-container{width:100%;max-width:100%}@media(max-width:768px){.container{padding:0 var(--space-3)}.card{padding:var(--space-4)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{padding:var(--space-3) var(--space-4)}.text-3xl{font-size:var(--font-size-2xl)}}@media(max-width:480px){.container{padding:0 var(--space-2)}.card{padding:var(--space-3)}.plant-actions{flex-direction:row;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:flex-end}.plant-actions .btn{width:auto;min-width:2.75rem;min-height:2.75rem;justify-content:center}.plants-empty .btn,.journal-empty .btn,.plants-modal-actions .btn,.modal-actions button,.archive-detail-actions .btn{width:100%;justify-content:center}.modal-content{margin:1rem;max-height:calc(100dvh - 2rem)}.upload-zone{padding:2rem 1rem}.values-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-header{padding:1rem}.dashboard-title{font-size:1.35rem}.header-content{align-items:flex-start}.header-actions,.plants-toolbar{width:100%;gap:.5rem}.plants-toolbar .plants-segment{flex:1 1 auto}.plants-view-toggle{display:none!important}.plants-toolbar .btn-primary{flex:1 1 100%;justify-content:center}.journal-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.journal-header-actions .btn-primary{grid-column:1 / -1}.journal-header-actions .btn{width:100%;justify-content:center;min-height:2.5rem}.journal-filters .plants-filters-grid{grid-template-columns:1fr}.plant-detail-actions{width:100%}.plant-detail-actions .btn{flex:1 1 calc(50% - .25rem);justify-content:center;min-height:2.5rem}input,select,textarea,.plants-filter-input,.calculator-page .calc-field select,.calculator-page .calc-field input[type=number]{font-size:16px!important}.plants-modal,.plants-modal-panel{padding:1rem!important}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1 1 auto}}.env-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.env-form-span-full{grid-column:1 / -1}.env-form-span-date{grid-column:span 2}.env-trends-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem;min-width:0}.env-chart-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));cursor:pointer}.env-chart-modal{background:#0f172afa;border:1px solid rgba(100,116,139,.3);border-radius:16px;padding:1rem;width:100%;max-width:900px;max-height:min(90dvh,90vh);overflow-y:auto;cursor:default}.env-chart-modal-body{width:100%;height:min(360px,50vh);min-height:220px}.archive-grows-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem}.archive-detail-modal{padding:1.5rem;max-height:min(85dvh,85vh)}.archive-detail-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}@media(max-width:640px){.env-form-grid{grid-template-columns:1fr}.env-form-span-date{grid-column:1 / -1}.env-chart-modal-overlay{padding:.75rem;align-items:flex-end}.env-chart-modal{max-height:min(92dvh,92vh);border-radius:16px 16px 12px 12px}.archive-detail-modal{padding:1rem}.archive-detail-actions{flex-direction:column-reverse}.archive-detail-actions .btn{width:100%;justify-content:center}}.page-panel,.calculator-page .calc-panel{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.125rem;margin-bottom:.875rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:none}.language-options{display:flex;flex-wrap:wrap;gap:.5rem}.page-panel-title,.calculator-page .calc-panel-title{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.page-panel-title svg,.calculator-page .calc-panel-title svg{color:var(--primary-color);width:1.125rem;height:1.125rem;flex-shrink:0}.dashboard-header{background:linear-gradient(135deg,#5e6ad21a,#06b6d41a);border:1px solid rgba(94,106,210,.2);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1rem}.header-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.dashboard-title{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0;font-size:1.75rem;font-weight:800;color:#e2e8f0}.dashboard-title-text{background:linear-gradient(135deg,var(--accent),#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:var(--accent)}.dashboard-subtitle{color:#94a3b8;font-size:.875rem;margin:.35rem 0 0}.header-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{position:relative;background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:1.5rem;overflow:hidden;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000004d;border-color:#5e6ad24d}.stat-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.stat-info{flex:1}.stat-label{color:#94a3b8;font-size:.875rem;font-weight:500;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:#e2e8f0;font-size:2.5rem;font-weight:800;margin:0;line-height:1}.stat-description{color:#64748b;font-size:.875rem;margin:.5rem 0 0}.stat-icon{color:#5e6ad2cc;opacity:.8}.stat-visual{position:absolute;top:0;right:0;width:100px;height:100%;background:linear-gradient(135deg,transparent,rgba(94,106,210,.1));border-radius:0 16px 16px 0;opacity:.5}.stat-plants .stat-icon{color:var(--accent)}.stat-plants .stat-visual{background:linear-gradient(135deg,transparent,rgba(94,106,210,.1))}.stat-stages .stat-icon{color:#06b6d4}.stat-stages .stat-visual{background:linear-gradient(135deg,transparent,rgba(6,182,212,.1))}.stat-activity .stat-icon{color:#8b5cf6}.stat-activity .stat-visual{background:linear-gradient(135deg,transparent,rgba(139,92,246,.1))}.stat-card:has(.stat-label:contains("Temperature")) .stat-icon{color:#ef4444}.stat-card:has(.stat-label:contains("Temperature")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(239,68,68,.1))}.stat-card:has(.stat-label:contains("Humidity")) .stat-icon{color:#3b82f6}.stat-card:has(.stat-label:contains("Humidity")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(59,130,246,.1))}.stat-card:has(.stat-label:contains("VPD")) .stat-icon{color:#06b6d4}.stat-card:has(.stat-label:contains("VPD")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(6,182,212,.1))}.stat-card:has(.stat-label:contains("CO₂")) .stat-icon{color:var(--accent)}.stat-card:has(.stat-label:contains("CO₂")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(94,106,210,.1))}.stat-card:has(.stat-label:contains("PPFD")) .stat-icon{color:#f59e0b}.stat-card:has(.stat-label:contains("PPFD")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(245,158,11,.1))}.stat-card:has(.stat-label:contains("pH")) .stat-icon{color:#84cc16}.stat-card:has(.stat-label:contains("pH")) .stat-visual{background:linear-gradient(135deg,transparent,rgba(132,204,22,.1))}.dashboard-section{background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:2rem;margin-bottom:2rem;transition:all .3s ease}.dashboard-section:hover{border-color:#5e6ad24d;box-shadow:0 8px 32px #0003}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.2)}.section-title{color:#e2e8f0;font-size:1.5rem;font-weight:700;margin:0}.section-link{color:var(--accent);font-weight:600;text-decoration:none;transition:all .2s ease;display:flex;align-items:center}.section-link:hover{color:var(--accent);transform:translate(4px)}.section-content{position:relative}.plants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.plant-preview-card{background:#ffffff0d;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:1.5rem;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden}.plant-preview-card:hover{transform:translateY(-4px);border-color:#5e6ad280;box-shadow:0 12px 28px #0000004d}.plant-preview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),#06b6d4);opacity:0;transition:opacity .3s ease}.plant-preview-card:hover:before{opacity:1}.plant-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.plant-preview-name{color:#e2e8f0;font-size:1.25rem;font-weight:700;margin:0}.plant-preview-strain{color:#94a3b8;font-size:.875rem;margin:0 0 .5rem}.plant-preview-tent{color:var(--accent);font-size:.875rem;margin:0 0 1rem;font-weight:500}.plant-preview-stats{display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.2)}.plant-stat{color:#64748b;font-size:.75rem;font-weight:500}.activity-feed{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:all .3s ease}.activity-item:hover{background:var(--surface-hover);border-color:var(--border-light);transform:translateY(-1px)}.activity-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:var(--radius);font-size:1.25rem;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.activity-type{font-weight:600;color:var(--text-primary);text-transform:capitalize}.activity-time{font-size:.875rem;color:var(--text-muted)}.activity-details{color:var(--text-secondary);margin:0 0 .5rem;line-height:1.5}.activity-notes{font-size:.875rem;color:var(--text-muted);font-style:italic;margin:0;line-height:1.4}.activity-item-wrapper{position:relative;margin-bottom:var(--space-2)}.activity-item-wrapper:hover .activity-actions{opacity:1;visibility:visible}.activity-actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:var(--space-1);opacity:0;visibility:hidden;transition:all var(--transition);z-index:10}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all var(--transition);box-shadow:var(--shadow-sm)}.action-btn:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.action-btn-edit:hover{background:#5e6ad21a;border-color:var(--primary-color)}.action-btn-delete:hover{background:#ef44441a;border-color:#ef4444}.activity-item-compact{cursor:pointer;-webkit-user-select:none;user-select:none}.activity-item-compact:hover{background:var(--surface);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.activity-item-compact.clickable:hover:after{content:none}.activity-content-compact{padding-right:var(--space-8)}@media(max-width:640px){.activity-actions{opacity:1;visibility:visible;position:relative;top:auto;right:auto;margin-top:var(--space-2);justify-content:flex-end}.activity-content-compact{padding-right:0}.activity-item-wrapper{display:flex;flex-direction:column}.action-btn{width:32px;height:32px;font-size:1rem}}.modal-input{width:100%;padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(100,116,139,.3);border-radius:12px;color:#f8fafc;font-size:.875rem;outline:none;transition:all .2s ease}.modal-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-input::placeholder{color:#64748b}.modal-input[type=number]::-webkit-outer-spin-button,.modal-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-input[type=number]{-moz-appearance:textfield;appearance:textfield}.calculator-page{width:100%;padding:0 0 2rem}.calculator-page .calc-ref{margin-top:.875rem}.calculator-page .calc-ref-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .875rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color var(--transition),background var(--transition)}.calculator-page .calc-ref-toggle:hover{border-color:var(--border-focus);background:#5e6ad20a}.calculator-page .calc-ref-toggle-main{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;min-width:0}.calculator-page .calc-ref-toggle-main svg{color:var(--primary-color);flex-shrink:0;width:1rem;height:1rem}.calculator-page .calc-chips{display:flex;flex-wrap:wrap;gap:.375rem;flex:1;justify-content:flex-end}.calculator-page .calc-chip{font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:#0f172a8c;border:1px solid rgba(100,116,139,.35);border-radius:999px;padding:.2rem .55rem;white-space:nowrap}.calculator-page .calc-chip strong{color:var(--text-primary);font-weight:600}.calculator-page .calc-ref-chevron{color:var(--text-muted);flex-shrink:0;font-size:.75rem;transition:transform var(--transition)}.calculator-page .calc-ref-toggle[aria-expanded=true] .calc-ref-chevron{transform:rotate(180deg)}.calculator-page .calc-ref-body{margin-top:.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.calculator-page .calc-ref-item{border:1px solid var(--border);border-radius:8px;padding:.625rem .75rem;background:#0f172a59;font-size:.75rem;color:var(--text-secondary);line-height:1.45}.calculator-page .calc-ref-item h3{margin:0 0 .35rem;font-size:.75rem;font-weight:600}.calculator-page .calc-ref-item--green h3{color:#34d399}.calculator-page .calc-ref-item--blue h3{color:#3b82f6}.calculator-page .calc-ref-item--amber h3{color:#f59e0b}.calculator-page .calc-ref-item--violet h3{color:#a78bfa}.calculator-page .calc-ref-item strong{color:var(--text-primary)}.calculator-page .calc-workspace{display:grid;grid-template-columns:1fr;gap:.875rem;align-items:start}@media(min-width:900px){.calculator-page .calc-ref-body{grid-template-columns:repeat(4,1fr)}}.calculator-page .calc-fields{display:grid;grid-template-columns:1fr;gap:.75rem .875rem}@media(min-width:520px){.calculator-page .calc-fields{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.calculator-page .calc-fields{grid-template-columns:1fr 1fr}}.calculator-page .calc-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.calculator-page .calc-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.calculator-page .calc-field select,.calculator-page .calc-field input[type=number]{width:100%;background:#1e293b;border:1px solid var(--border);border-radius:8px;padding:.5rem .625rem;color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.calculator-page .calc-field select:focus,.calculator-page .calc-field input[type=number]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #5e6ad21f}.calculator-page .calc-field select option{background:#1e293b;color:var(--text-primary)}.calculator-page .calc-field-hint{font-size:.6875rem;color:var(--text-muted);line-height:1.35;margin:0}.calculator-page .calc-recipe-panel .calc-recipe-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.calculator-page .calc-recipe-panel .calc-recipe-head .calc-target-row{flex:1;min-width:0;justify-content:flex-start}.calculator-page .calc-recipe-panel .calc-recipe-head .calc-tank-control{margin-left:auto}.calculator-page .calc-tank-control{display:flex;flex-direction:row;align-items:center;gap:.5rem}.calculator-page .calc-tank-control label{font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em;line-height:1;white-space:nowrap}.calculator-page .calc-tank-input-wrap{display:flex;align-items:center;gap:.35rem;background:#1e293b;border:1px solid var(--border);border-radius:8px;padding:.15rem .5rem .15rem .15rem;transition:border-color var(--transition),box-shadow var(--transition)}.calculator-page .calc-tank-input-wrap:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #5e6ad21f}.calculator-page .calc-tank-input-wrap input{width:4.5ch;min-width:4.5ch;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.875rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-align:right;padding:.35rem .2rem;font-variant-numeric:tabular-nums}.calculator-page .calc-tank-input-wrap input[type=number]::-webkit-outer-spin-button,.calculator-page .calc-tank-input-wrap input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calculator-page .calc-tank-input-wrap input[type=number]{-moz-appearance:textfield;appearance:textfield}.calculator-page .calc-tank-unit{font-size:.75rem;font-weight:600;color:var(--text-muted);padding-right:.15rem}.calculator-page .calc-recipe-summary{margin:0 0 .85rem;padding-bottom:.75rem;border-bottom:1px solid rgba(71,85,105,.45)}.calculator-page .calc-recipe-tags{display:flex;flex-wrap:wrap;gap:.35rem}.calculator-page .calc-tag{font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:#0f172a8c;border:1px solid rgba(100,116,139,.35);border-radius:6px;padding:.2rem .45rem;line-height:1.3;text-transform:capitalize}.calculator-page .calc-tag--brand{color:var(--primary-color);border-color:#5e6ad24d;background:#5e6ad214;text-transform:none;font-weight:600}.calculator-page .calc-target-row{display:flex;flex-wrap:wrap;gap:.4rem}.calculator-page .calc-target-pill{font-size:.75rem;color:var(--text-muted);background:#0f172a80;border:1px solid rgba(100,116,139,.3);border-radius:999px;padding:.2rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums}.calculator-page .calc-target-pill strong{color:var(--text-primary);font-weight:600;margin-left:.25rem}.calculator-page .calc-target-unit{margin-left:.2rem;color:var(--text-muted);font-size:.6875rem}.calculator-page .calc-mix-sheet{border:1px solid rgba(71,85,105,.4);border-radius:10px;overflow:hidden;background:#0f172a33;width:100%}.calculator-page .calc-mix-section{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .7rem;border-bottom:1px solid rgba(71,85,105,.35)}.calculator-page .calc-mix-section--amber{color:#fbbf24;background:#f59e0b1a}.calculator-page .calc-mix-section--blue{color:#93c5fd;background:#3b82f61a;border-top:1px solid rgba(71,85,105,.35)}.calculator-page .calc-mix-table{width:100%;border-collapse:collapse;table-layout:fixed}.calculator-page .calc-mix-table tr+tr{border-top:1px solid rgba(71,85,105,.28)}.calculator-page .calc-mix-table td{padding:.45rem .7rem;vertical-align:middle}.calculator-page .calc-mix-table td.calc-mix-ord{width:2rem;padding-right:.25rem;padding-left:.7rem}.calculator-page .calc-mix-table td.calc-mix-name{font-size:.875rem;font-weight:500;color:var(--text-primary);width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:.75rem}.calculator-page .calc-mix-table td.calc-mix-amount{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;font-weight:600;white-space:nowrap;text-align:right;width:5.5rem;padding-left:.5rem;font-variant-numeric:tabular-nums}.calculator-page .calc-mix-amount--amber{color:#fbbf24}.calculator-page .calc-mix-amount--blue{color:#60a5fa}.calculator-page .calc-step-num{width:1.25rem;height:1.25rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff}.calculator-page .calc-step-num--amber{background:#d97706}.calculator-page .calc-step-num--blue{background:#2563eb}.calculator-page .calc-optional{font-size:.65rem;font-weight:500;color:var(--text-muted);margin-left:.4rem;text-transform:lowercase}.calculator-page .calc-step-note{margin:.35rem 0 0;font-size:.6875rem;color:var(--text-muted);line-height:1.4}.calculator-page .calc-step-note--inset{margin:0;padding:.4rem .7rem .55rem;border-top:1px solid rgba(71,85,105,.28);background:#0f172a40}.calculator-page .calc-howto{margin-top:.75rem;border-top:1px solid rgba(71,85,105,.4);padding-top:.55rem}.calculator-page .calc-howto summary{cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--text-secondary);list-style:none;display:flex;align-items:center;gap:.35rem;-webkit-user-select:none;user-select:none}.calculator-page .calc-howto summary::-webkit-details-marker{display:none}.calculator-page .calc-howto summary:before{content:"▸";color:var(--text-muted);font-size:.75rem}.calculator-page .calc-howto[open] summary:before{content:"▾"}.calculator-page .calc-howto ol{margin:.5rem 0 0;padding-left:1.15rem;font-size:.75rem;color:var(--text-secondary);line-height:1.55}.calculator-page .calc-howto ol li{margin-bottom:.25rem}.calculator-page .calc-howto ol li strong{color:var(--text-primary)}.calculator-page .calc-empty-recipe{font-size:.875rem;color:var(--text-muted);margin:0;padding:.5rem 0}@media(max-width:519px){.calculator-page .calc-chips{display:none}.calculator-page .calc-ref-body{grid-template-columns:1fr}}.page-title-icon{display:block;flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--accent);stroke:var(--accent);-webkit-text-fill-color:var(--accent)}.plants-status-badge{display:inline-flex;align-items:center;margin-left:.25rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#f59e0b;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);border-radius:999px;-webkit-text-fill-color:#f59e0b;background-clip:padding-box}.plants-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.plants-segment{display:inline-flex;padding:.2rem;background:#1e293bb3;border:1px solid rgba(100,116,139,.3);border-radius:10px;gap:.15rem}.plants-segment-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.plants-segment-btn:hover{color:#e2e8f0;background:#64748b33}.plants-segment-btn.is-active{background:#5e6ad233;color:var(--accent)}.plants-segment-btn.is-active.is-archived{background:#f59e0b33;color:#f59e0b}.plants-filters{background:#ffffff05;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);border:1px solid var(--border);padding:1rem 1.125rem;margin-bottom:.875rem}.plants-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;align-items:end}.plants-filter-field label{display:block;margin-bottom:.3rem;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.plants-search-wrap{position:relative}.plants-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#94a3b8;pointer-events:none}.plants-filter-input{width:100%;padding:.55rem .7rem;background:#1e293b;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem;transition:border-color var(--transition),background var(--transition)}.plants-search-wrap .plants-filter-input{padding-left:2.35rem}.plants-filter-input:focus{outline:none;border-color:#5e6ad280;background:#1e293bf2}.plants-sort-row{display:flex;align-items:stretch;gap:.5rem}.plants-sort-row .plants-filter-input{flex:1}.plants-sort-dir{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:.55rem;background:#1e293bcc;border:1px solid rgba(100,116,139,.3);border-radius:8px;color:#e2e8f0;cursor:pointer;transition:border-color .15s ease,background .15s ease}.plants-sort-dir:hover{border-color:#5e6ad266;background:#1e293bf2}.plants-empty{background:#ffffff05;border-radius:var(--radius);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2rem 1.25rem;text-align:center;margin-bottom:.875rem}.plants-empty-icon{width:56px;height:56px;color:#475569;margin:0 auto 1rem}.plants-empty h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#cbd5e1}.plants-empty p{margin:0 0 1.5rem;color:#94a3b8}@media(max-width:640px){.plants-toolbar{width:100%}.plants-segment{flex:1 1 calc(50% - .25rem)}.plants-segment-btn{flex:1;justify-content:center}}.plants-page.is-table-mode{max-width:1560px;margin-left:auto;margin-right:auto}.main .container:has(.plants-page.is-table-mode),.container:has(.plants-page.is-table-mode){max-width:1600px}.plants-filters.is-sticky{position:sticky;top:.5rem;z-index:20;background:#0f172aeb;box-shadow:0 8px 24px #00000040}.plants-filters-grid.has-tent{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.plants-result-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(100,116,139,.2);font-size:.8125rem;color:#94a3b8}.plants-clear-filters{background:none;border:none;padding:0;color:var(--accent);font-size:.8125rem;font-weight:600;cursor:pointer}.plants-clear-filters:hover{text-decoration:underline}.plants-clear-filters:disabled{opacity:.45;cursor:default;text-decoration:none}.plants-list-stack{display:flex;flex-direction:column;gap:.875rem}.grow-tent-header{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.grow-tent-header.is-table{margin-bottom:0}.grow-tent-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.grow-tent-header-main{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;min-width:0}.plants-tent-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border-radius:6px;border:1px solid rgba(100,116,139,.35);background:#1e293b99;color:#94a3b8;cursor:pointer}.plants-tent-toggle:hover{color:#e2e8f0;border-color:#5e6ad266}.plants-tent-home-icon{color:var(--primary-color);flex-shrink:0}.plants-tent-action{font-size:.8rem;padding:.4rem .75rem}.plants-tent-action-danger{color:#ef4444;border-color:#ef444466}.plants-env-muted{color:#64748b;font-size:.75rem;white-space:nowrap}.plants-env-glance{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.65rem}.plants-env-metric{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;white-space:nowrap}.plants-table-panel{overflow:hidden;padding:0}.plants-table-panel-header{padding:.875rem 1.125rem .65rem}.plants-table-scroll{overflow-x:auto}.plants-inventory-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px;text-align:left}.plants-th{padding:.5rem .55rem;font-weight:600;color:#94a3b8;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#1e293b8c;border-bottom:1px solid rgba(100,116,139,.3)}.plants-th:first-child,.plants-td-plant{padding-left:1rem}.plants-th-actions,.plants-td-actions{width:52px;min-width:52px;max-width:52px;padding-left:.25rem;padding-right:.75rem;text-align:right;vertical-align:middle}.plants-td{padding:.45rem .55rem;vertical-align:middle;font-size:.8125rem}.plants-table-row{cursor:pointer}.plants-table-row.is-even{background:#0f172a38}.plants-table-row.has-border{border-bottom:1px solid rgba(100,116,139,.12)}.plants-table-row:hover{background:#22c55e0f}.plants-table-plant{display:flex;flex-direction:column;min-width:0;gap:.05rem}.plants-table-name{color:var(--accent);font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plants-table-meta{color:#94a3b8;font-size:.72rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plants-table-sub{color:#94a3b8;font-size:.7rem}.plants-stage-pill{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .45rem;border-radius:100px;font-size:.68rem;font-weight:600;border:1px solid;text-transform:capitalize;white-space:nowrap}.plants-logs-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:6px;color:var(--accent-bright);text-decoration:none;font-size:.72rem;font-weight:600}.plants-logs-chip:hover{border-color:#22c55e73}.plants-td-muted{color:#cbd5e1}.plants-td-nowrap{white-space:nowrap;color:#94a3b8;font-size:.75rem}.plants-td-notes{max-width:0}.plants-td-notes span{display:block;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plants-td-notes span.is-empty{color:#64748b}.plants-td-check{text-align:center;width:2.5rem}.plants-row-menu{display:inline-flex;align-items:center;justify-content:flex-end;width:100%}.plants-row-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:background .15s ease,color .15s ease}.plants-row-menu-trigger:hover,.plants-row-menu-trigger.is-open{background:#64748b40;color:#e2e8f0}.plants-table-row:hover .plants-row-menu-trigger{color:#cbd5e1}.plants-row-menu-dropdown{position:fixed;z-index:1200;min-width:10.5rem;padding:.35rem;background:#0f172afa;border:1px solid rgba(100,116,139,.45);border-radius:10px;box-shadow:0 14px 36px #00000080;display:flex;flex-direction:column;gap:.1rem}.plants-row-menu-dropdown button{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .65rem;border:none;border-radius:7px;background:transparent;color:#e2e8f0;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap}.plants-row-menu-dropdown button:hover{background:#64748b47}.plants-row-menu-dropdown button.is-danger{color:#f87171}.plants-row-menu-dropdown button.is-danger:hover{background:#ef44441f}.plants-select-active{border-color:#5e6ad28c!important;color:var(--accent)!important}.plants-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.875rem;padding:.75rem 1rem;background:#5e6ad214;border:1px solid rgba(94,106,210,.3);border-radius:var(--radius);position:sticky;top:5.5rem;z-index:19}.plants-bulk-count{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:#e2e8f0}.plants-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.plants-bulk-group{display:flex;align-items:stretch;gap:.35rem}.plants-bulk-group .plants-filter-input{min-width:8.5rem;max-width:11rem}.plants-modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.plants-modal{background:#0f172af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(100,116,139,.2);box-shadow:0 20px 60px #00000080;padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.plants-modal-sm{max-width:480px}.plants-modal-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#f8fafc}.plants-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.plants-modal-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.25rem}.plants-modal-form{display:flex;flex-direction:column;gap:1rem}.plants-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.plants-modal-label{display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:600;color:#cbd5e1}.plants-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.5rem}.plants-field-error{margin:.25rem 0 0;font-size:.75rem;color:#ef4444}.plants-filter-input.is-error{border-color:#ef4444}.plants-textarea{resize:vertical;font-family:inherit;min-height:4.5rem}.logs-picker-search{margin-bottom:1rem}.logs-picker-section{margin-bottom:1.25rem}.logs-picker-section-title{margin:0 0 .65rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.logs-picker-list{display:flex;flex-direction:column;gap:.4rem}.logs-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.65rem}.logs-picker-row{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.7rem .85rem;background:#0f172a8c;border:1px solid rgba(100,116,139,.35);border-radius:10px;cursor:pointer;color:inherit;transition:border-color .15s ease,background .15s ease}.logs-picker-row:hover{border-color:#5e6ad280;background:#1e293bb3}.logs-picker-row-icon{width:36px;height:36px;border-radius:8px;background:#22c55e26;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logs-picker-row-body{min-width:0;flex:1}.logs-picker-row-name{color:#f8fafc;font-weight:650;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-picker-row-meta{color:#94a3b8;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logs-picker-row-side{color:#64748b;font-size:.72rem;white-space:nowrap;flex-shrink:0}.journal-page{display:flex;flex-direction:column;gap:.75rem}.journal-header-badge{margin-left:.4rem;padding:.12rem .45rem;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;border:1px solid rgba(100,116,139,.35);border-radius:6px;vertical-align:middle}.journal-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.journal-header-actions .btn{min-height:2.15rem;padding:.4rem .75rem;font-size:.8125rem}.journal-action-change-label{white-space:nowrap}.journal-filters{margin-bottom:0}.journal-list-panel{padding:0;overflow:hidden}.journal-table-scroll{overflow-x:auto}.journal-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}.journal-table thead th{padding:.45rem .75rem;text-align:left;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#1e293b8c;border-bottom:1px solid rgba(100,116,139,.28)}.journal-th-time{width:4.25rem}.journal-th-type{width:7rem}.journal-th-data{width:34%}.journal-th-notes{width:auto}.journal-th-actions{width:2.75rem}.journal-day-row td{padding:0;border-bottom:1px solid rgba(100,116,139,.2);background:#0f172ab8}.journal-day-head-inline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .75rem}.journal-day-label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#94a3b8}.journal-day-count{font-size:.7rem;font-weight:600;color:#64748b;min-width:1.25rem;text-align:center;padding:.1rem .4rem;border-radius:999px;background:#64748b26}.journal-data-row td{padding:.4rem .75rem;border-bottom:1px solid rgba(100,116,139,.1);vertical-align:middle;font-size:.8125rem}.journal-data-row:hover{background:#22c55e0d}.journal-td-time{font-size:.75rem;font-weight:600;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.journal-type-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .45rem;border-radius:6px;border:1px solid;background:transparent;font-size:.68rem;font-weight:650;white-space:nowrap}.journal-td-primary{color:#e2e8f0;font-size:.8125rem;font-weight:550;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-metrics{margin-top:.1rem;color:#94a3b8;font-size:.72rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-td-notes{color:#94a3b8;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-td-actions{text-align:right;width:2.75rem}.journal-row-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.journal-row-menu-btn:hover{background:#64748b33;color:#e2e8f0}.journal-load-more{padding:.75rem 1rem;text-align:center;border-top:1px solid rgba(100,116,139,.2)}.journal-load-more .btn{min-height:2rem;padding:.35rem .85rem;font-size:.8rem}.journal-form{padding:.85rem 1rem 1rem}.journal-form-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem;gap:.75rem}.journal-form-title{margin:0;font-size:.95rem;font-weight:700;color:#f1f5f9}.journal-form-plant{margin:.15rem 0 0;font-size:.75rem;color:#94a3b8}.journal-form-close{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.25rem;border-radius:6px;flex-shrink:0}.journal-form-close:hover{color:#e2e8f0;background:#64748b33}.journal-form-section+.journal-form-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(100,116,139,.18)}.journal-form-section-label{margin-bottom:.45rem;font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.journal-form-core{display:grid;grid-template-columns:minmax(10rem,.9fr) minmax(10rem,.9fr) minmax(0,1.4fr);gap:.65rem;align-items:end}.journal-form-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.journal-form-metric-wide{grid-column:1 / -1}.journal-form-notes{min-height:3.25rem;resize:vertical}.journal-form-hint{margin:.65rem 0 0;font-size:.75rem;color:#64748b}.journal-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.85rem}@media(max-width:900px){.journal-form-core{grid-template-columns:1fr 1fr}.journal-form-summary{grid-column:1 / -1}.journal-form-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.journal-form-core,.journal-form-metrics{grid-template-columns:1fr}}.journal-empty{text-align:center;padding:2rem 1.25rem}.journal-empty h3{margin:0 0 .4rem;color:#cbd5e1;font-size:1rem}.journal-empty p{margin:0 0 1rem;color:#94a3b8;font-size:.875rem}.journal-empty-inline{text-align:center;padding:1.5rem;color:#94a3b8;font-size:.875rem}.journal-picker-panel{padding:1rem}.env-tent-clear-btn{display:inline-flex;align-items:center;gap:.35rem}.env-tent-card:hover{border-color:#5e6ad266}.plant-detail-page{display:flex;flex-direction:column;gap:.75rem}.plant-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@media(max-width:640px){.plant-detail-actions{width:100%}.plant-detail-actions .btn{flex:1 1 calc(50% - .25rem);justify-content:center;min-height:2.75rem}}.plant-detail-stage-badge{margin-left:.35rem;vertical-align:middle}.plant-detail-page .stage-badge{padding:.12rem .45rem;gap:.25rem;font-size:.68rem;font-weight:600;border-radius:6px;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent}.plant-detail-page .stage-seedling{background:transparent;color:#86efac;border-color:#22c55e59}.plant-detail-page .stage-vegetative{background:transparent;color:#6ee7b7;border-color:#10b98159}.plant-detail-page .stage-flowering{background:transparent;color:#e9a8c9;border-color:#ec48994d}.plant-detail-page .stage-harvest{background:transparent;color:#fbbf24;border-color:#f59e0b59}.plant-detail-page .stage-drying,.plant-detail-page .stage-curing,.plant-detail-page .stage-cured{background:transparent;color:#a5b4fc;border-color:#6366f14d}.plant-detail-fact .stage-badge{align-self:flex-start}.plant-detail-summary{padding:.85rem 1rem}.plant-detail-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem .75rem;margin:0}@media(max-width:960px){.plant-detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.plant-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.plant-detail-fact{min-width:0;padding:.45rem .55rem;border-radius:8px;background:#0f172a59;border:1px solid rgba(100,116,139,.18)}.plant-detail-fact dt{margin:0 0 .2rem;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.plant-detail-fact dd{margin:0;display:flex;flex-direction:column;gap:.1rem;font-size:.875rem;font-weight:600;color:#f1f5f9;line-height:1.25}.plant-detail-sub{font-size:.7rem;font-weight:500;color:#94a3b8}.plant-detail-muted{color:#64748b;font-weight:500}.plant-detail-tent-link,.plant-detail-logs-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);text-decoration:none;font-weight:600}.plant-detail-tent-link:hover,.plant-detail-logs-link:hover{text-decoration:underline}.plant-detail-notes{margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(100,116,139,.2)}.plant-detail-notes-label{display:block;margin-bottom:.25rem;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.plant-detail-notes p{margin:0;color:#e2e8f0;font-size:.875rem;line-height:1.45;white-space:pre-wrap}.plant-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid rgba(100,116,139,.2)}.plant-detail-section-title{margin:0;font-size:.95rem;font-weight:700;color:#f1f5f9}.plant-detail-section-sub{margin:.15rem 0 0;font-size:.75rem;color:#94a3b8}.plant-detail-activity-actions{display:flex;align-items:center;gap:.4rem}.plant-detail-activity-actions .btn{min-height:2rem;height:2rem;padding:0 .7rem;font-size:.75rem;font-weight:600;border-radius:8px;line-height:1;display:inline-flex;align-items:center;gap:.3rem}.plant-detail-activity-actions .btn svg{width:.875rem;height:.875rem}.plant-detail-activity-actions .plant-detail-log-btn{color:var(--accent);border-color:#5e6ad266}.plant-detail-activity-actions .plant-detail-log-btn:hover{background:#5e6ad21a;border-color:#5e6ad28c;color:#86efac}.plant-detail-activity{padding:0;overflow:hidden}.plant-detail-empty-logs{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1.75rem 1rem;text-align:center;color:#94a3b8;font-size:.875rem}.plant-detail-empty-logs svg{color:#475569}.plant-detail-empty-logs p{margin:0;max-width:22rem}.plant-detail-table-scroll{overflow-x:auto}.plant-detail-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:560px}.plant-detail-table th{padding:.45rem .75rem;text-align:left;font-size:.65rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#64748b;background:#1e293b66;border-bottom:1px solid rgba(100,116,139,.25)}.plant-detail-table td{padding:.5rem .75rem;font-size:.8125rem;border-bottom:1px solid rgba(100,116,139,.12);vertical-align:middle}.plant-detail-table tbody tr{cursor:pointer;transition:background .12s ease}.plant-detail-table tbody tr:nth-child(2n){background:#0f172a33}.plant-detail-table tbody tr:hover{background:#22c55e0f}.plant-detail-when{width:7.5rem;white-space:nowrap}.plant-detail-when-date{display:block;color:#e2e8f0;font-weight:600;font-size:.8125rem;line-height:1.2}.plant-detail-when-time{display:block;color:#64748b;font-size:.7rem;margin-top:.1rem}.plant-detail-type-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;border:1px solid;font-size:.68rem;font-weight:650;text-transform:capitalize;white-space:nowrap}.plant-detail-chips{display:flex;flex-wrap:wrap;gap:.3rem}.plant-detail-chip{display:inline-flex;padding:.12rem .4rem;border-radius:5px;font-size:.7rem;font-weight:600;border:1px solid transparent}.plant-detail-chip.tone-green{color:#34d399;background:#10b9811a;border-color:#10b98133}.plant-detail-chip.tone-blue{color:#60a5fa;background:#3b82f61a;border-color:#3b82f633}.plant-detail-chip.tone-purple{color:#c084fc;background:#a855f71a;border-color:#a855f733}.plant-detail-chip.tone-amber{color:#fbbf24;background:#f59e0b1a;border-color:#f59e0b33}.plant-detail-log-notes{color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;width:40%}.plant-detail-more{padding:.55rem 1rem;border-top:1px solid rgba(100,116,139,.2);text-align:center}.plant-detail-more a{color:var(--accent);font-size:.8125rem;font-weight:600;text-decoration:none}.plant-detail-more a:hover{text-decoration:underline}.plant-detail-edit{padding:.85rem 1rem 1rem}.plant-detail-edit .plant-detail-section-head{padding:0 0 .65rem;margin-bottom:.75rem}.plant-detail-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}@media(max-width:720px){.plant-detail-edit-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.plant-detail-edit-grid{grid-template-columns:1fr}}.plant-detail-field label{display:block;margin-bottom:.25rem;font-size:.7rem;font-weight:600;color:#94a3b8}.plant-detail-field-span{grid-column:1 / -1}.app{position:relative;isolation:isolate;min-height:100vh;background:transparent}.app>main.container,.app main{position:relative;z-index:1}.navbar{z-index:100}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ambient-base{position:absolute;inset:0;background:radial-gradient(ellipse at top,#0a0a0f,#050506,#020203)}.ambient-noise{position:absolute;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}.ambient-grid{position:absolute;inset:0;opacity:.02;background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);background-size:64px 64px}.ambient-blob{position:absolute;border-radius:50%;filter:blur(150px);will-change:transform;animation:ambient-float 9s ease-in-out infinite}.ambient-blob-1{top:-18%;left:50%;width:900px;height:1400px;transform:translate(-50%);background:#5e6ad240;filter:blur(150px)}.ambient-blob-2{top:12%;left:-12%;width:600px;height:800px;background:#a855f726;filter:blur(120px);animation-duration:10s;animation-delay:-2s}.ambient-blob-3{top:28%;right:-10%;width:500px;height:700px;background:#5e6ad21f;filter:blur(100px);animation-duration:8s;animation-delay:-4s}.ambient-blob-4{bottom:-20%;left:30%;width:700px;height:500px;background:#5e6ad21a;filter:blur(130px);animation-duration:11s;animation-delay:-1s}@keyframes ambient-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(1deg)}}@keyframes shine-sweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes text-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.card,.page-panel,.stat-card,.plant-card,.plants-filters,.dashboard-header,.plants-empty,.more-tile{--spot-x: 50%;--spot-y: 0%}.card:after,.page-panel:after,.more-tile:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity var(--transition);background:radial-gradient(150px circle at var(--spot-x) var(--spot-y),rgba(94,106,210,.15),transparent 70%)}.card:hover:after,.page-panel:hover:after,.more-tile:hover:after{opacity:1}.card>*,.page-panel>*,.more-tile>*{position:relative;z-index:1}.card{background:linear-gradient(180deg,#ffffff14,#ffffff05);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--foreground)}.card:before{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);opacity:1}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.page-panel,.calculator-page .calc-panel,.plants-filters,.plants-empty,.plant-card,.more-tile{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff12,#ffffff05);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.plant-card:hover,.page-panel:hover,.plants-filters:hover{border-color:var(--border-hover);background:linear-gradient(180deg,#ffffff17,#ffffff08);box-shadow:var(--shadow-lg)}.btn{border-radius:var(--radius);font-weight:600;letter-spacing:-.01em;transition:background var(--transition),box-shadow var(--transition),transform var(--duration-fast, .2s) var(--ease-out-expo),color var(--transition)}.btn:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-xl)}.btn-primary:hover{background:var(--accent-bright);transform:translateY(-1px);box-shadow:0 0 0 1px #5e6ad28c,0 8px 24px #5e6ad259,inset 0 1px #ffffff38}.btn-secondary,.btn:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-outline){background:#ffffff0d;color:var(--foreground);border:1px solid transparent;box-shadow:inset 0 1px #ffffff14}.btn-secondary:hover,.btn:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-outline):hover{background:#ffffff14;color:var(--foreground)}.btn-outline{background:transparent;color:var(--foreground-muted);border:1px solid var(--border-hover)}.btn-outline:hover{background:#ffffff0d;color:var(--foreground);border-color:var(--border-accent)}.btn:focus-visible,.unit-toggle-btn:focus-visible,.nav-item:focus-visible,.bottom-nav-item:focus-visible,.plants-filter-input:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;box-shadow:0 0 0 2px var(--background-base),0 0 0 4px #5e6ad280}.input,.select,.textarea,.plants-filter-input,.modal-input,.form-group input,.form-group select,.form-group textarea,.calculator-page .calc-field select,.calculator-page .calc-field input[type=number]{background:var(--input-bg);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:#f3f4f6}.input::placeholder,.plants-filter-input::placeholder,.modal-input::placeholder{color:#6b7280}.input:focus,.select:focus,.textarea:focus,.plants-filter-input:focus,.modal-input:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--input-bg);box-shadow:0 0 0 3px var(--accent-glow)}.navbar{background:#050506b8;border-bottom:1px solid var(--border-default);box-shadow:0 8px 32px #00000059;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.75rem 0}.navbar-brand{color:var(--foreground)}.brand-icon{background:var(--accent);color:#fff;box-shadow:0 0 0 1px #5e6ad280,0 4px 16px #5e6ad259;border-radius:12px}.brand-title{font-size:1.125rem;font-weight:600;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#ffffffb3);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.brand-subtitle{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--foreground-muted)}.nav-item{color:var(--foreground-muted);border-radius:var(--radius)}.nav-item:hover{color:var(--foreground);background:#ffffff0d;transform:none}.nav-item-active{color:var(--foreground);background:#5e6ad229;box-shadow:inset 0 1px #ffffff14}.unit-toggle-btn{border:1px solid var(--border-accent);background:#5e6ad21f;color:var(--primary-light);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.06em}.unit-toggle-btn:hover{background:#5e6ad238;color:var(--foreground)}.navbar-search{position:relative;min-width:0;flex:1 1 180px;max-width:320px}.navbar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);opacity:.55;pointer-events:none}.navbar-hits{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;padding:.4rem;display:grid;gap:.25rem}.navbar-hits.card:hover{transform:none}@media(max-width:1100px){.navbar-content{flex-wrap:wrap}.navbar-search{order:3;flex:1 1 100%;max-width:none}.navbar-toggles{margin-left:auto}}@media(max-width:768px){.navbar-search{flex:1 1 100%;max-width:none}.bottom-nav{background:#050506eb;border-top:1px solid var(--border-default);box-shadow:0 -8px 32px #00000073;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav-item{color:var(--foreground-muted)}.bottom-nav-item:hover,.bottom-nav-item:focus-visible{color:var(--foreground);background:#ffffff0d}.bottom-nav-item-active{color:var(--primary-light);background:#5e6ad224}}.dashboard-header{background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--border-default);box-shadow:var(--shadow);animation:fade-up .6s var(--ease-out-expo) both}.dashboard-title{font-weight:600;letter-spacing:-.03em;color:var(--foreground)}.dashboard-title-text{background:linear-gradient(180deg,#fff,#ffffffb8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.page-title-icon{color:var(--accent-bright);stroke:var(--accent-bright);-webkit-text-fill-color:var(--accent-bright)}.dashboard-subtitle{color:var(--foreground-muted);line-height:1.6}.page-kicker{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--foreground-muted);margin:0 0 .5rem}.page-kicker-accent{background:linear-gradient(90deg,#5e6ad2,#a5b4fc,#5e6ad2);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:text-shimmer 6s linear infinite}.ops-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.ops-bento .card{min-width:0;padding:1.25rem 1.35rem;animation:fade-up .6s var(--ease-out-expo) both}.ops-bento .card:nth-child(1){animation-delay:.04s}.ops-bento .card:nth-child(2){animation-delay:.08s}.ops-bento .card:nth-child(3){animation-delay:.12s}.ops-bento .card:nth-child(4){animation-delay:.16s}.ops-bento .card:nth-child(5){animation-delay:.2s}.ops-bento .card:nth-child(6){animation-delay:.24s}.ops-bento .card:nth-child(7){animation-delay:.28s}.ops-bento .card:nth-child(8){animation-delay:.32s}.ops-bento-hero{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;min-height:180px}.ops-metric-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--foreground-muted)}.ops-metric-value{font-size:1.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin-top:.35rem;color:var(--foreground)}.ops-bento-hero .ops-metric-value{font-size:clamp(2.25rem,5vw,3.5rem);margin-top:.75rem}.ops-forecast{padding:0;overflow:hidden}.ops-forecast-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border-default);font-size:.875rem}.ops-forecast-row:last-child{border-bottom:none}.ops-forecast-row a{color:var(--foreground);text-decoration:none;font-weight:500}.ops-forecast-row a:hover{color:var(--primary-light)}.ops-forecast-meta{color:var(--foreground-muted);font-variant-numeric:tabular-nums;text-align:right}@media(max-width:900px){.ops-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-bento-hero{grid-column:span 2;grid-row:span 1;min-height:120px}}@media(max-width:520px){.ops-bento{grid-template-columns:1fr}.ops-bento-hero{grid-column:span 1}.ops-forecast-row{flex-direction:column;align-items:flex-start;gap:.25rem}.ops-forecast-meta{text-align:left}}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.more-tile{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;text-decoration:none;color:var(--foreground);background:linear-gradient(180deg,#ffffff12,#ffffff05);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.more-tile:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:var(--shadow-lg);color:var(--foreground);text-decoration:none}.more-tile-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#5e6ad21f;color:var(--primary-light);flex-shrink:0}.more-tile-label{font-weight:600;letter-spacing:-.02em}@media(max-width:768px){.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-panel h3,.page-panel .page-panel-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600;letter-spacing:-.02em;color:var(--foreground)}.page-panel .plants-filter-input+.plants-filter-input{margin-top:.5rem}.page-panel .text-muted{margin:0 0 .35rem}.page-panel label,.page-panel>label{display:block;margin:.85rem 0 .35rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--foreground-muted)}.page-panel>.btn,.page-panel>button{margin-top:1rem}.language-options .btn-primary{box-shadow:var(--shadow-xl)}a{color:var(--accent-bright)}a:hover{color:var(--primary-light)}select option{background:var(--input-bg);color:var(--foreground)}.modal-overlay,.plants-modal-overlay{background:#020203b8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modal-content,.plants-modal{background:var(--background-elevated);border:1px solid var(--border-default);box-shadow:var(--shadow-lg)}.modal-actions button[type=submit]{background:var(--accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-xl)}.modal-actions button[type=submit]:hover:not(:disabled){background:var(--accent-bright)}.plants-segment-btn.is-active{background:#5e6ad233;color:var(--primary-light)}.plants-table-name,.plant-name,.plant-detail-tent-link,.plant-detail-logs-link,.plants-clear-filters,.section-link{color:var(--accent-bright)}.plants-table-row:hover,.journal-data-row:hover,.plant-detail-table tbody tr:hover{background:#5e6ad20f}.plants-logs-chip{background:#5e6ad21a;border-color:#5e6ad240;color:var(--primary-light)}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--foreground-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem}@media(prefers-reduced-motion:reduce){.ambient-blob,.dashboard-header,.ops-bento .card,.page-kicker-accent{animation:none!important}.card:hover,.more-tile:hover,.btn:hover,.btn-primary:hover,.stat-card:hover,.plant-preview-card:hover{transform:none}}@media(max-width:768px){.ambient-blob-1{width:520px;height:720px}.ambient-blob-2,.ambient-blob-3{display:none}}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;z-index:1}.login-card{width:min(100%,420px);display:grid;gap:1rem;text-align:center;padding:2rem 1.5rem}.login-brand{display:grid;justify-items:center;gap:.35rem}.login-brand .brand-icon{margin-bottom:.5rem}.login-google{display:flex;justify-content:center;min-height:44px}
