:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html{overflow-y:scroll;margin:0;padding:0}#root{max-width:1280px;margin:0 auto;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.register-container{max-width:400px;margin:2rem auto;padding:2rem;border:1px solid #ccc;border-radius:8px;opacity:.95}.register-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;text-align:left;gap:.5rem}.form-group label{font-weight:500;font-size:.9rem}.form-group input{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;background-color:transparent;color:inherit}.form-group input:focus{outline:none;border-color:#646cff}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;background-color:transparent;color:inherit;font-family:inherit;resize:vertical;min-height:80px}.form-group textarea:focus{outline:none;border-color:#646cff}.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.plant-list-container{max-width:900px;margin:2rem auto;padding:2rem;border:1px solid #ccc;border-radius:8px}.plant-list-container h2{margin-top:0;margin-bottom:1.5rem}.no-plants{color:#888;font-style:italic}.plants-table-wrapper{overflow-x:auto;margin:1rem 0}.plants-table{width:100%;border-collapse:collapse;margin:1rem 0}.plants-table th,.plants-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ccc}.plants-table th{background-color:#646cff1a;font-weight:600;color:#646cff}.plants-table tbody tr:hover{background-color:#646cff0d}.plant-stats{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ccc;display:flex;gap:2rem;justify-content:center}.plant-stats p{margin:.5rem 0;color:#666}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{font-size:3rem;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;padding:2rem;position:fixed;inset:0;overflow:hidden;box-sizing:border-box}.auth-title{position:fixed;top:12vh;left:50%;transform:translate(-50%);font-size:4rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3),0 4px 20px rgba(0,0,0,.2);margin:0;letter-spacing:.02em;z-index:1000;pointer-events:none}.auth-page .register-container{position:relative;z-index:1;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #00000026;max-height:calc(100vh - 4rem);overflow-y:auto;opacity:.95}.auth-container{width:100%;max-width:450px;position:relative;z-index:1}.auth-header{text-align:center;margin-bottom:2rem;color:#fff}.auth-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:0 2px 8px rgba(0,0,0,.3),0 4px 20px rgba(0,0,0,.2)}.auth-header p{font-size:1.1rem;opacity:.9;text-shadow:0 2px 8px rgba(0,0,0,.3),0 4px 20px rgba(0,0,0,.2)}.auth-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:2rem}.auth-switch{text-align:center;padding:1.5rem 0;margin:1.5rem -2rem -2rem;border-top:1px solid #eee}.auth-switch p{margin:0;color:#666}.link-button{background:none;border:none;color:#646cff;cursor:pointer;font-weight:600;text-decoration:underline;padding:0}.link-button:hover{color:#535bf2}.feedback-section{display:flex;justify-content:center;padding:2rem 1rem 1rem}.feedback-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f5f5f5;color:#333;text-decoration:none;border-radius:8px;font-size:.95rem;font-weight:500;border:1px solid #ddd;transition:all .2s ease}.feedback-button:hover{background:#e8e8e8;border-color:#ccc;transform:translateY(-1px)}.app-footer{text-align:center;padding:1.5rem 1rem 2rem;color:#888;font-size:.85rem}.app-footer p{margin:0}.germinated-count{color:#16a34a;font-weight:500}.dead-count{color:#dc2626;font-weight:500}html[data-theme=light]{color-scheme:light}html[data-theme=light] body{background-color:#fff;color:#213547}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] body{background-color:#1a1a1a;color:#e0e0e0}html[data-theme=dark] .feedback-button{background:#2a2a2a;color:#ddd;border-color:#444}html[data-theme=dark] .feedback-button:hover{background:#333;border-color:#555}html[data-theme=dark] .auth-page .register-container{background:#2a2a2aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0006;opacity:.95}html[data-theme=dark] .auth-box{background:#2a2a2a;box-shadow:0 10px 40px #00000080}html[data-theme=dark] .auth-switch{border-top-color:#3a3a3a}html[data-theme=dark] .auth-switch p{color:#a0a0a0}html[data-theme=dark] .register-container{background:#2a2a2a;border-color:#3a3a3a}html[data-theme=dark] .register-container h2{color:#f0f0f0}html[data-theme=dark] .register-form .form-group label{color:#e0e0e0}html[data-theme=dark] .register-form .form-group input{background-color:#333;border-color:#555;color:#f0f0f0}html[data-theme=dark] .register-form .form-group input::placeholder{color:#888}html[data-theme=dark] .register-form .form-group input:focus{border-color:#818cf8}html[data-theme=dark] .register-form button:not(.submit-btn){background-color:#646cff;color:#fff}html[data-theme=dark] .register-form button:not(.submit-btn):hover{background-color:#535bf2}html[data-theme=dark] .link-button{color:#818cf8}html[data-theme=dark] .link-button:hover{color:#a5b4fc}@media(prefers-color-scheme:dark){:root{color-scheme:dark}body{background-color:#1a1a1a;color:#e0e0e0}}@media(prefers-color-scheme:dark){.auth-page .register-container{background:#2a2a2aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0006}.auth-box{background:#2a2a2a;box-shadow:0 10px 40px #00000080}.auth-switch{border-top-color:#3a3a3a}.auth-switch p{color:#a0a0a0}.link-button{color:#818cf8}.link-button:hover{color:#a5b4fc}.register-container{background:#2a2a2a;border-color:#3a3a3a}.error-message{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.success-message{background:#14532d;border-color:#166534;color:#86efac}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}}.gl-toast-container{position:fixed;bottom:5rem;left:1rem;z-index:10002;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:300px}.gl-toast{padding:.75rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;line-height:1.4;box-shadow:0 4px 12px #00000026;animation:gl-toast-enter .3s ease-out;pointer-events:auto}.gl-toast-success{background:#22c55e;color:#fff}.gl-toast-error{background:#ef4444;color:#fff}@keyframes gl-toast-enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.newly-created{animation:newly-created-pulse 1.1s ease-out forwards;outline:2px solid rgba(76,175,80,.9);outline-offset:2px}@keyframes newly-created-pulse{0%{outline-color:#4caf50e6;box-shadow:0 0 0 4px #4caf5040}50%{outline-color:#4caf50e6;box-shadow:0 0 0 6px #4caf5026}to{outline-color:transparent;box-shadow:0 0 #4caf5000}}@media(prefers-reduced-motion:reduce){.gl-toast{animation:none}.newly-created{animation:none;outline:2px solid rgba(76,175,80,.85)}}html[data-theme=dark] .gl-toast-success{background:#16a34a}html[data-theme=dark] .gl-toast-error{background:#dc2626}.dashboard{min-height:100vh;background-color:#f5f5f5;overflow:hidden}.dashboard-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;box-shadow:0 2px 4px #0000000d}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:1.8rem;color:#333}.header-actions{display:flex;align-items:center;gap:1.5rem}.user-welcome{color:#666;font-size:.9rem}.logout-button{padding:.5rem 1rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.logout-button:hover{background-color:#e0e0e0}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem}.tab-content{width:100%;min-height:400px}.dashboard-tabs{display:flex;align-items:center;gap:0;max-width:1200px;margin:0 auto;padding:0 2rem;background:#fff;border-bottom:2px solid #e0e0e0;flex-wrap:nowrap;position:relative}.child-tabs::-webkit-scrollbar{height:6px}.child-tabs::-webkit-scrollbar-track{background:transparent}.child-tabs::-webkit-scrollbar-thumb{background-color:silver;border-radius:3px}.child-tabs::-webkit-scrollbar-thumb:hover{background-color:#a0a0a0}.tab-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .2s;flex-shrink:0;white-space:nowrap}.tab-button:hover{color:#333;background-color:#f5f5f5}.tab-button.active{color:#646cff;border-bottom-color:#646cff;background:#f6f6f6}.intent-nav{display:flex;gap:0;flex:1}.intent-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:1.05rem;font-weight:600;color:#666;transition:all .2s;flex-shrink:0;white-space:nowrap}.intent-button:hover{color:#333;background-color:#f5f5f5}.intent-button.active{color:#2e7d32;border-bottom-color:#2e7d32}.nav-menu-wrapper{position:relative;display:flex;align-items:center;margin-left:auto}.nav-menu-button{padding:.5rem .75rem;background:transparent;border:none;cursor:pointer;font-size:1.25rem;color:#666;transition:all .2s;border-radius:6px;line-height:1;position:relative}.nav-menu-button:hover{background:#f5f5f5;color:#333}.nav-menu-button.active{background:#f0f0f0;color:#333}.nav-menu-button.has-active-item{color:#2e7d32}.nav-menu-button .unread-dot{position:absolute;top:6px;right:6px;display:block;width:8px;height:8px;background-color:#ef4444;border-radius:50%}.nav-menu-dropdown{position:absolute;top:100%;right:0;min-width:180px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;margin-top:4px}.nav-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.95rem;color:#333;transition:background .15s ease}.nav-menu-item:hover{background:#f5f5f5}.nav-menu-item.active{color:#2e7d32;font-weight:500;background:#f0fdf4}.nav-menu-item .unread-dot{display:inline-block;width:8px;height:8px;background-color:#ef4444;border-radius:50%;margin-left:auto}.nav-menu-item .reminder-count-badge{margin-left:auto}.child-tabs{display:flex;gap:0;max-width:1200px;margin:0 auto;padding:0 2rem;background:#fafafa;border-bottom:1px solid #e8e8e8}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-toolbar h2{margin:0;color:#333}.toolbar-left{display:flex;align-items:center;gap:1rem}.toolbar-controls{display:flex;align-items:center;gap:.75rem}.search-box{position:relative;display:flex;align-items:center}.search-input{padding:.5rem 2rem .5rem .75rem;font-size:.9rem;border:1px solid #ddd;border-radius:6px;width:280px;background-color:#fff;color:#333;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff1a}.search-input::placeholder{color:#999}.search-clear{position:absolute;right:6px;background:#e0e0e0;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;line-height:1;padding:0}.search-clear:hover{background:#ccc;color:#333}.sort-button{padding:.5rem 1rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.sort-button:hover{background-color:#e0e0e0}.sort-button.active{background-color:#646cff;border-color:#646cff;color:#fff}.sort-button.active:hover{background-color:#535bf2}.add-plant-button{padding:.75rem 1.5rem;background-color:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.add-plant-button:hover{background-color:#535bf2}@media(max-width:768px){.dashboard-toolbar{flex-direction:column;align-items:stretch;gap:1rem}.toolbar-left{justify-content:space-between}.toolbar-controls{flex-wrap:wrap;gap:.5rem}.search-input{width:100%;flex:1;min-width:150px}.search-box{flex:1}.sort-button,.add-plant-button{flex:1;text-align:center}.child-tabs{padding:0 1rem;overflow-x:auto}}@media(prefers-color-scheme:dark){.search-input{background-color:#2a2a2a;border-color:#444;color:#fff}.search-input:focus{border-color:#646cff;box-shadow:0 0 0 3px #646cff33}.search-input::placeholder{color:#666}.search-clear{background:#444;color:#aaa}.search-clear:hover{background:#555;color:#fff}.sort-button{background-color:#2a2a2a;border-color:#444;color:#ddd}.sort-button:hover{background-color:#333}.sort-button.active{background-color:#646cff;border-color:#646cff;color:#fff}.sort-button.active:hover{background-color:#535bf2}}html[data-theme=light] .dashboard{background-color:#f5f5f5}html[data-theme=light] .dashboard-header{background:#fff}html[data-theme=dark] .dashboard{background-color:#1a1a1a}html[data-theme=dark] .dashboard-header{background:linear-gradient(135deg,#2d1f4e,#1e3a5f)}html[data-theme=dark] .tab-button{color:#a0a0a0}html[data-theme=dark] .tab-button:hover{color:#818cf8;border-bottom-color:#818cf8;background:#6b6b6b}html[data-theme=dark] .tab-button.active{color:#818cf8;border-bottom-color:#818cf8;background:#464646}html[data-theme=dark] .dashboard-tabs{background:#2a2a2a;border-bottom-color:#3a3a3a}html[data-theme=dark] .intent-button{color:#a0a0a0}html[data-theme=dark] .intent-button:hover{color:#e0e0e0;background:#333}html[data-theme=dark] .intent-button.active{color:#4caf50;border-bottom-color:#4caf50}html[data-theme=dark] .nav-menu-button{color:#a0a0a0}html[data-theme=dark] .nav-menu-button:hover{background:#333;color:#e0e0e0}html[data-theme=dark] .nav-menu-button.active{background:#3a3a3a;color:#e0e0e0}html[data-theme=dark] .nav-menu-button.has-active-item{color:#4caf50}html[data-theme=dark] .nav-menu-dropdown{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}html[data-theme=dark] .nav-menu-item{color:#ddd}html[data-theme=dark] .nav-menu-item:hover{background:#333}html[data-theme=dark] .nav-menu-item.active{color:#4caf50;background:#1a2e1a}html[data-theme=dark] .child-tabs{background:#252525;border-bottom-color:#333}html[data-theme=dark] .dashboard-header h1{color:#fff}html[data-theme=dark] .user-welcome{color:#e0e0e0}html[data-theme=dark] .logout-button{background:#ffffff26;color:#fff;border-color:#ffffff4d}html[data-theme=dark] .logout-button:hover{background:#ffffff40}html[data-theme=dark] .dashboard-toolbar h2{color:#e0e0e0}html[data-theme=dark] .sort-button{background-color:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .sort-button:hover{background-color:#333}html[data-theme=dark] .sort-button.active{background-color:#646cff;border-color:#646cff;color:#fff}html[data-theme=dark] .sort-button.active:hover{background-color:#535bf2}@media(prefers-color-scheme:dark){.dashboard{background-color:#1a1a1a;min-height:100vh}.dashboard-header{background:linear-gradient(135deg,#2d1f4e,#1e3a5f)}.dashboard-header h1{color:#fff}}@media(prefers-color-scheme:dark){.dashboard-main{background-color:#1a1a1a}.dashboard-tabs{background:#2a2a2a;border-bottom-color:#3a3a3a}.tab-button{color:#a0a0a0}.tab-button:hover{color:#e0e0e0;background-color:#333}.tab-button.active{color:#818cf8;border-bottom-color:#818cf8}.intent-button{color:#a0a0a0}.intent-button:hover{color:#e0e0e0;background:#333}.intent-button.active{color:#4caf50;border-bottom-color:#4caf50}.nav-menu-button{color:#a0a0a0}.nav-menu-button:hover{background:#333;color:#e0e0e0}.nav-menu-button.active{background:#3a3a3a;color:#e0e0e0}.nav-menu-button.has-active-item{color:#4caf50}.nav-menu-dropdown{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}.nav-menu-item{color:#ddd}.nav-menu-item:hover{background:#333}.nav-menu-item.active{color:#4caf50;background:#1a2e1a}.child-tabs{background:#252525;border-bottom-color:#333}}@media(prefers-color-scheme:dark){.user-welcome{color:#e0e0e0}.logout-button{background:#ffffff26;color:#fff;border-color:#ffffff4d}.logout-button:hover{background:#ffffff40}.dashboard-toolbar h2{color:#e0e0e0}}.new-menu-wrapper{position:relative}.new-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;min-width:190px}.new-menu-item{display:block;width:100%;padding:.65rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:#374151}.new-menu-item:hover{background:#f3f4f6}.new-menu-item:first-child{border-radius:8px 8px 0 0}.new-menu-item:last-child{border-radius:0 0 8px 8px}html[data-theme=dark] .new-menu-dropdown{background:#1e2a3a;border-color:#334155;box-shadow:0 4px 16px #0006}html[data-theme=dark] .new-menu-item{color:#e2e8f0}html[data-theme=dark] .new-menu-item:hover{background:#2d3f55}@media(prefers-color-scheme:dark){.new-menu-dropdown{background:#1e2a3a;border-color:#334155;box-shadow:0 4px 16px #0006}.new-menu-item{color:#e2e8f0}.new-menu-item:hover{background:#2d3f55}}.auth-background{position:fixed;inset:0;z-index:0;width:100vw;height:100vh}.auth-background .landscape-banner--demo{width:100%;height:100%;aspect-ratio:auto;position:absolute;inset:0}.auth-background .landscape-banner--demo svg{width:100%;height:100%;display:block}.weather-info{max-width:1200px;margin:.75rem auto 0;padding:.5rem 0;display:flex;align-items:flex-start;justify-content:space-between;border-top:1px solid #eee}.weather-content{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.weather-date{display:flex;flex-direction:column;gap:.1rem}.weather-day{font-size:1rem;font-weight:600;color:#333}.weather-date-str{font-size:.85rem;color:#666}.weather-details{display:flex;align-items:center;gap:.75rem}.weather-label{font-size:.85rem;color:#888;font-weight:500}.weather-icon{font-size:1.5rem}.weather-condition{font-size:.95rem;color:#555;font-weight:500}.weather-current{display:flex;align-items:baseline;gap:.2rem;padding:.15rem .5rem;background:#4caf501a;border-radius:4px}.temp-current{font-size:1.1rem;font-weight:600;color:#2e7d32}.temp-current-label{font-size:.7rem;color:#666;text-transform:uppercase}.weather-temps{display:flex;align-items:center;gap:.25rem;font-size:.95rem}.temp-high{color:#e65100;font-weight:600}.temp-separator{color:#999}.temp-low{color:#1565c0;font-weight:500}.weather-loading,.weather-no-location{font-size:.85rem;color:#888;font-style:italic}.weather-extra{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:#666}.weather-humidity,.weather-precipitation,.weather-precip-chance{display:flex;align-items:center;gap:.25rem}.weather-warnings{display:flex;gap:.5rem}.warning{padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.warning-caution{background:#fff3cd;color:#856404}.warning-warning{background:#cce5ff;color:#004085}.warning-danger{background:#f8d7da;color:#721c24}.landscape-banner{width:100%;aspect-ratio:1200 / 200;position:relative;flex-shrink:0}.landscape-banner svg{width:100%;height:100%;display:block}.clouds{--cloud-speed-multiplier: 1}.cloud{animation:cloud-drift 80s linear infinite}.cloud-1{animation-duration:calc(90s / var(--cloud-speed-multiplier));animation-delay:-5s}.cloud-2{animation-duration:calc(100s / var(--cloud-speed-multiplier));animation-delay:-25s}.cloud-3{animation-duration:calc(85s / var(--cloud-speed-multiplier));animation-delay:-45s}.cloud-4{animation-duration:calc(110s / var(--cloud-speed-multiplier));animation-delay:-70s}.cloud-5{animation-duration:calc(75s / var(--cloud-speed-multiplier));animation-delay:-15s}.cloud-6{animation-duration:calc(95s / var(--cloud-speed-multiplier));animation-delay:-55s}.cloud-7{animation-duration:calc(88s / var(--cloud-speed-multiplier));animation-delay:-35s}.cloud-8{animation-duration:calc(105s / var(--cloud-speed-multiplier));animation-delay:-80s}.cloud-9{animation-duration:calc(78s / var(--cloud-speed-multiplier));animation-delay:-10s}.cloud-10{animation-duration:calc(92s / var(--cloud-speed-multiplier));animation-delay:-60s}.cloud-11{animation-duration:calc(98s / var(--cloud-speed-multiplier));animation-delay:-40s}.cloud-12{animation-duration:calc(82s / var(--cloud-speed-multiplier));animation-delay:-20s}.cloud-13{animation-duration:calc(102s / var(--cloud-speed-multiplier));animation-delay:-65s}.cloud-14{animation-duration:calc(72s / var(--cloud-speed-multiplier));animation-delay:-8s}.cloud-15{animation-duration:calc(115s / var(--cloud-speed-multiplier));animation-delay:-90s}.cloud-shadows{--cloud-speed-multiplier: 1}.cloud-shadow{animation:cloud-drift 80s linear infinite}.cloud-shadow.cloud-1{animation-duration:calc(90s / var(--cloud-speed-multiplier));animation-delay:-5s}.cloud-shadow.cloud-2{animation-duration:calc(100s / var(--cloud-speed-multiplier));animation-delay:-25s}.cloud-shadow.cloud-3{animation-duration:calc(85s / var(--cloud-speed-multiplier));animation-delay:-45s}.cloud-shadow.cloud-4{animation-duration:calc(110s / var(--cloud-speed-multiplier));animation-delay:-70s}.cloud-shadow.cloud-5{animation-duration:calc(75s / var(--cloud-speed-multiplier));animation-delay:-15s}.cloud-shadow.cloud-6{animation-duration:calc(95s / var(--cloud-speed-multiplier));animation-delay:-55s}.cloud-shadow.cloud-7{animation-duration:calc(88s / var(--cloud-speed-multiplier));animation-delay:-35s}.cloud-shadow.cloud-8{animation-duration:calc(105s / var(--cloud-speed-multiplier));animation-delay:-80s}.cloud-shadow.cloud-9{animation-duration:calc(78s / var(--cloud-speed-multiplier));animation-delay:-10s}.cloud-shadow.cloud-10{animation-duration:calc(92s / var(--cloud-speed-multiplier));animation-delay:-60s}.cloud-shadow.cloud-11{animation-duration:calc(98s / var(--cloud-speed-multiplier));animation-delay:-40s}.cloud-shadow.cloud-12{animation-duration:calc(82s / var(--cloud-speed-multiplier));animation-delay:-20s}.cloud-shadow.cloud-13{animation-duration:calc(102s / var(--cloud-speed-multiplier));animation-delay:-65s}.cloud-shadow.cloud-14{animation-duration:calc(72s / var(--cloud-speed-multiplier));animation-delay:-8s}.cloud-shadow.cloud-15{animation-duration:calc(115s / var(--cloud-speed-multiplier));animation-delay:-90s}@keyframes cloud-drift{0%{transform:translate(-250px)}to{transform:translate(1450px)}}.sun-group{transition:transform .1s linear}.sun-glow{animation:sun-pulse 4s ease-in-out infinite}@keyframes sun-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.moon-group{transition:transform .1s linear}.moon-glow{animation:moon-pulse 6s ease-in-out infinite}@keyframes moon-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.star-twinkle{animation:twinkle-bright 2s ease-in-out infinite}.star-twinkle-slow{animation:twinkle-subtle 4s ease-in-out infinite}@keyframes twinkle-bright{0%,to{opacity:.7}50%{opacity:1}}@keyframes twinkle-subtle{0%,to{opacity:.5}50%{opacity:.85}}.landscape-debug{position:absolute;top:8px;right:8px;z-index:10}.debug-toggle{background:#fffc;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a;transition:transform .2s,background .2s}.debug-toggle:hover{background:#fff;transform:scale(1.1)}.debug-panel{position:absolute;top:40px;right:0;background:#fffffff2;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:8px;min-width:200px}.time-slider{width:100%;cursor:pointer}.time-display{font-family:monospace;font-size:14px;text-align:center;color:#333}.quick-times{display:flex;gap:4px;flex-wrap:wrap}.quick-times button{flex:1;padding:4px 8px;font-size:11px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background .2s}.quick-times button:hover{background:#e0e0e0}.debug-section{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.debug-section:last-of-type{border-bottom:none}.debug-section label{font-size:11px;font-weight:600;color:#666;text-transform:uppercase}.weather-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.weather-buttons button{padding:6px 4px;font-size:10px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.weather-buttons button:hover{background:#e0e0e0}.weather-buttons button.active{background:#646cff;color:#fff;border-color:#646cff}.reset-weather{width:100%;padding:4px 8px;font-size:10px;background:#fff3e0;border:1px solid #ffcc80;border-radius:4px;cursor:pointer;color:#e65100}.reset-weather:hover{background:#ffe0b2}.cloud-sliders{display:flex;flex-direction:column;gap:6px}.slider-row{display:flex;align-items:center;gap:8px;font-size:10px}.slider-row span:first-child{width:60px;color:#666}.slider-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ddd;border-radius:2px;cursor:pointer}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#646cff;border-radius:50%;cursor:pointer}.slider-row input[type=range]::-moz-range-thumb{width:12px;height:12px;background:#646cff;border-radius:50%;cursor:pointer;border:none}.slider-value{width:35px;text-align:right;font-family:monospace;color:#333}.randomize-clouds{width:100%;padding:6px 8px;font-size:10px;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;cursor:pointer;color:#1565c0;margin-top:4px}.randomize-clouds:hover{background:#bbdefb}.debug-info{font-size:11px;color:#888;text-align:center;padding-top:6px}.raindrop{animation:rain-fall .6s linear infinite}@keyframes rain-fall{0%{transform:translateY(-20px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(220px);opacity:0}}.snowflake{animation:snow-fall 5s linear infinite}@keyframes snow-fall{0%{transform:translateY(-20px) translate(0);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(220px) translate(var(--drift, 0));opacity:0}}.lightning{animation:lightning-flash .15s ease-out}@keyframes lightning-flash{0%{opacity:1}50%{opacity:.5}to{opacity:1}}html[data-theme=dark] .weather-current{background:#4caf5033}html[data-theme=dark] .temp-current{color:#81c784}html[data-theme=dark] .temp-current-label{color:#fff9}html[data-theme=dark] .temp-high{color:#ffab40}html[data-theme=dark] .temp-low{color:#64b5f6}html[data-theme=dark] .debug-toggle{background:#3c3c3ce6;color:#ccc}html[data-theme=dark] .debug-toggle:hover{background:#505050f2}html[data-theme=dark] .debug-panel{background:#1e1e1ef7;color:#ccc;box-shadow:0 4px 12px #0006}html[data-theme=dark] .weather-day{color:#fff}html[data-theme=dark] .weather-date-str{color:#ffffffb3}html[data-theme=dark] .weather-label{color:#fff9}html[data-theme=dark] .weather-condition{color:#ffffffd9}html[data-theme=dark] .weather-extra{color:#ffffffb3}html[data-theme=dark] .weather-loading,html[data-theme=dark] .weather-no-location{color:#ffffff80}html[data-theme=dark] .weather-info{border-top-color:#ffffff1a}@media(prefers-color-scheme:dark){.weather-info{border-top-color:#ffffff1a}.weather-day{color:#fff}.weather-date-str{color:#ffffffb3}.weather-condition{color:#ffffffd9}.weather-current{background:#4caf5033}.temp-current{color:#81c784}.temp-current-label{color:#fff9}.temp-high{color:#ffab40}.temp-low{color:#64b5f6}.weather-loading,.weather-no-location{color:#ffffff80}.weather-label{color:#fff9}.weather-extra{color:#ffffffb3}.warning-caution{background:#ffc10733;color:#ffc107}.warning-warning{background:#2196f333;color:#64b5f6}.warning-danger{background:#f4433633;color:#ef5350}}.preferences-container{width:100%;max-width:600px;margin:0 auto}.preferences-container h2{margin-top:0;margin-bottom:1rem;color:#333;text-align:left}.settings-subtabs{display:flex;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;background:#f5f5f5;border-radius:8px;flex-wrap:wrap}.settings-subtabs .subtab-button{font-size:.82rem;padding:.4rem .75rem}.preferences-form{width:100%}.preferences-form .form-section{margin-bottom:2rem}.preferences-form .form-section h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:#333;border-bottom:1px solid #eee;padding-bottom:.5rem;text-align:left}.preferences-form .form-group{margin-bottom:1.25rem}.preferences-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;text-align:left}.preferences-form select{width:100%;padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;background-color:#fff;color:inherit}.preferences-form select:focus{outline:none;border-color:#646cff}.preferences-form input[type=text]{width:100%;padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;background-color:#fff;color:inherit;box-sizing:border-box}.preferences-form input[type=text]:focus{outline:none;border-color:#646cff}.preferences-form small{display:block;margin-top:.25rem;color:#888;font-size:.85rem;text-align:left}.preferences-form .checkbox-group{margin:.5rem 0}.preferences-form .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.preferences-form .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#646cff}.preferences-form .checkbox-label span{font-size:.95rem}.preferences-form .checkbox-group small{margin-left:26px}.form-actions{margin-top:1.5rem;display:flex;justify-content:flex-start}.save-button{padding:.75rem 1.5rem;background-color:#646cff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.save-button:disabled{opacity:.6;cursor:not-allowed}.success-message{background-color:#d4edda;color:#155724;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;text-align:left}.preferences-loading{text-align:center;padding:2rem;color:#666}.section-description{display:block;color:#666;font-size:.8rem;margin-bottom:.75rem;line-height:1.4}.devices-loading,.no-devices{color:#888;font-size:.9rem;padding:.5rem 0}.devices-list{display:flex;flex-direction:column;gap:.5rem}.device-item{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.device-item.current{border-color:#4caf50;background:#f1f8e9}.device-info{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}.device-icon{font-size:1.2rem;flex-shrink:0}.device-details{display:flex;flex-direction:column;min-width:0}.device-name{font-size:.9rem;font-weight:500;color:#333;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.this-device-badge{font-size:.7rem;background:#4caf50;color:#fff;padding:.1rem .4rem;border-radius:4px;font-weight:600}.device-meta{font-size:.75rem;color:#888;display:flex;align-items:center;gap:.4rem}.priority-badge{font-size:.65rem;background:#e3f2fd;color:#1976d2;padding:.1rem .35rem;border-radius:3px;font-weight:500}.device-remove-btn{background:none;border:none;color:#999;font-size:1.2rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;flex-shrink:0}.device-remove-btn:hover{background:#fee;color:#d32f2f}.test-push-row{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.test-push-btn{background:#f5f5f5;border:1px solid #ddd;color:#333;padding:.4rem .85rem;border-radius:6px;font-size:.8rem;cursor:pointer;white-space:nowrap}.test-push-btn:hover{background:#e8e8e8}.test-push-btn:disabled{opacity:.6;cursor:default}.test-push-result{font-size:.8rem}.test-push-result.success{color:#2e7d32}.test-push-result.error{color:#d32f2f}.device-orphan-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;margin-bottom:.75rem;font-size:.82rem;line-height:1.4}.notification-reset-row{margin-top:1rem;padding-top:.75rem;border-top:1px solid #eee}.notification-reset-btn{padding:.4rem .85rem;background:none;border:1px solid #ccc;border-radius:6px;color:#666;font-size:.8rem;cursor:pointer}.notification-reset-btn:hover{background:#f5f5f5;border-color:#999;color:#333}.notification-reset-btn:disabled{opacity:.6;cursor:default}.reset-hint{display:block;margin-top:.35rem;color:#999;font-size:.75rem}html[data-theme=dark] .success-message{background-color:#14532d;color:#86efac}html[data-theme=dark] .preferences-form .form-section{background-color:#2a2a2a}html[data-theme=dark] .preferences-form select,html[data-theme=dark] .preferences-form input[type=text]{background-color:#333;border-color:#555;color:#f0f0f0}html[data-theme=dark] .settings-subtabs{background:#333}html[data-theme=dark] .preferences-container h2{color:#f0f0f0}html[data-theme=dark] .preferences-form .form-section h3{color:#f0f0f0;border-bottom-color:#444}html[data-theme=dark] .preferences-form .form-group label{color:#e0e0e0}html[data-theme=dark] .preferences-form small{color:#a0a0a0}html[data-theme=dark] .preferences-form .checkbox-label,html[data-theme=dark] .preferences-form .checkbox-label span{color:#e0e0e0}html[data-theme=dark] .section-description{color:#999}html[data-theme=dark] .device-item{background:#2a2a2a;border-color:#3a3a3a}html[data-theme=dark] .device-item.current{border-color:#4caf50;background:#1b3a1b}html[data-theme=dark] .device-name{color:#e0e0e0}html[data-theme=dark] .device-meta{color:#999}html[data-theme=dark] .priority-badge{background:#1a3a5c;color:#64b5f6}html[data-theme=dark] .device-remove-btn{color:#666}html[data-theme=dark] .device-remove-btn:hover{background:#3a2020;color:#ef5350}html[data-theme=dark] .test-push-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .test-push-btn:hover{background:#333}html[data-theme=dark] .device-orphan-banner{background:#3e2700;border-color:#5a3a00;color:#ffb74d}html[data-theme=dark] .notification-reset-row{border-top-color:#333}html[data-theme=dark] .notification-reset-btn{border-color:#444;color:#999}html[data-theme=dark] .notification-reset-btn:hover{background:#2a2a2a;border-color:#666;color:#ccc}html[data-theme=dark] .reset-hint{color:#666}@media(prefers-color-scheme:dark){.preferences-container h2{color:#f0f0f0}.preferences-form .form-section{background-color:#2a2a2a;border-radius:8px;padding:1rem}.preferences-form .form-section h3{color:#f0f0f0;border-bottom-color:#444}.preferences-form .form-group label{color:#e0e0e0}.preferences-form select{background-color:#333;border-color:#555;color:#f0f0f0}.preferences-form select:focus{border-color:#818cf8}.preferences-form input[type=text]{background-color:#333;border-color:#555;color:#f0f0f0}.preferences-form input[type=text]:focus{border-color:#818cf8}.preferences-form small{color:#a0a0a0}.preferences-form .checkbox-label,.preferences-form .checkbox-label span{color:#e0e0e0}.success-message{background-color:#14532d;color:#86efac}.preferences-loading{color:#a0a0a0}.section-description{color:#999}.device-item{background:#2a2a2a;border-color:#3a3a3a}.device-item.current{border-color:#4caf50;background:#1b3a1b}.device-name{color:#e0e0e0}.device-meta{color:#999}.priority-badge{background:#1a3a5c;color:#64b5f6}.device-remove-btn{color:#666}.device-remove-btn:hover{background:#3a2020;color:#ef5350}.test-push-btn{background:#2a2a2a;border-color:#444;color:#ccc}.test-push-btn:hover{background:#333}.device-orphan-banner{background:#3e2700;border-color:#5a3a00;color:#ffb74d}.notification-reset-row{border-top-color:#333}.notification-reset-btn{border-color:#444;color:#999}.notification-reset-btn:hover{background:#2a2a2a;border-color:#666;color:#ccc}.reset-hint{color:#666}}.empty-state,.loading-state,.error-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#333;margin-bottom:.5rem}.empty-state p{color:#666;margin-bottom:1.5rem}.plants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-height:60vh;overflow-y:auto;padding-right:.5rem}.plants-grid::-webkit-scrollbar{width:8px}.plants-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.plants-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.plants-grid::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.plant-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .15s,box-shadow .15s,opacity .15s,filter .15s;cursor:pointer;position:relative;border:3px solid transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.plant-card img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}.plant-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.plant-card.status-healthy{border-color:#4caf50}.plant-card.status-sick{border-color:#ff9800}.plant-card.status-dead{border-color:#9e9e9e;opacity:.7}.plant-card.selected{border-color:#646cff;box-shadow:0 4px 16px #646cff66,0 0 0 2px #646cff80;transform:translateY(-3px);z-index:1}.kanban-board[data-search-active] .plant-card{outline:2px solid #4a7c59;outline-offset:1px}html[data-theme=dark] .kanban-board[data-search-active] .plant-card{outline-color:#5a9c6e}.plant-card.multi-select-dimmed{opacity:.45;filter:saturate(.5)}.plant-select-checkbox{position:absolute;top:8px;left:8px;background:#fffffff2;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:2;cursor:pointer;box-shadow:0 2px 4px #0003;transition:transform .1s,background .2s}.plant-select-checkbox:hover{transform:scale(1.1);background:#646cff1a}.needs-watering-badge{position:absolute;top:8px;right:8px;background:#dbeafef2;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:1;box-shadow:0 2px 6px #3b82f64d;cursor:pointer;animation:gentle-pulse 3s ease-in-out infinite}.needs-watering-badge:active{transform:scale(.9)}@keyframes gentle-pulse{0%,to{box-shadow:0 2px 6px #3b82f64d}50%{box-shadow:0 2px 10px #3b82f680}}.plant-status-badges{position:absolute;bottom:8px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;z-index:1}.plant-status-badge{background:#fffffff2;border-radius:12px;padding:2px 6px;font-size:14px;box-shadow:0 2px 4px #00000026;border:2px solid var(--badge-color, #888)}.plant-status-badge.issue-badge{animation:pulse-issue 2s infinite}@keyframes pulse-issue{0%,to{opacity:1}50%{opacity:.7}}.origin-badge{display:inline-block;font-size:.6em;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;font-weight:600;letter-spacing:.02em}.origin-badge--acquired{background:#fff3cd;color:#856404;border:1px solid #ffc107}html[data-theme=dark] .origin-badge--acquired{background:#3d2e00;color:#ffd54f;border-color:#8a6d00}.origin-badge--cutting{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}html[data-theme=dark] .origin-badge--cutting{background:#1b3f1e;color:#81c784;border-color:#388e3c}.origin-badge--spore{background:#f3e5f5;color:#6a1b9a;border:1px solid #9c27b0}html[data-theme=dark] .origin-badge--spore{background:#2d1240;color:#ce93d8;border-color:#7b1fa2}.plant-card-image{width:100%;height:200px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}html[data-theme=dark] .plant-card-image{background:linear-gradient(135deg,#1b2e1c,#1e3a1f)}.plant-card-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{font-size:4rem;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.plant-card-content{padding:1.5rem}.plant-name{margin:0 0 .5rem;font-size:1.3rem;color:#333}.plant-species{margin:0 0 1rem;color:#666;font-size:.9rem}.plant-details{display:flex;flex-direction:column;gap:.5rem}.plant-detail{display:flex;justify-content:space-between;font-size:.85rem}.detail-label{color:#999}.detail-value{color:#333;font-weight:500}html[data-theme=light] .plant-card{background:#fff}html[data-theme=dark] .plant-card{background:#2a2a2a}html[data-theme=dark] .plant-name{color:#f0f0f0}html[data-theme=dark] .plant-species{color:#a0a0a0}html[data-theme=dark] .plant-details{border-top-color:#3a3a3a}html[data-theme=dark] .detail-label{color:#888}html[data-theme=dark] .detail-value{color:#e0e0e0}html[data-theme=dark] .empty-state,html[data-theme=dark] .loading-state,html[data-theme=dark] .error-state{background:#1e1e1e}html[data-theme=dark] .empty-state h3{color:#e0e0e0}html[data-theme=dark] .empty-state p{color:#a0a0a0}html[data-theme=dark] .plant-status-badge{background:#2a2a2af2;box-shadow:0 2px 4px #0006}html[data-theme=dark] .plant-select-checkbox{background:#2a2a2af2}@media(prefers-color-scheme:dark){.plants-grid::-webkit-scrollbar-track{background:#2a2a2a}.plants-grid::-webkit-scrollbar-thumb{background:#4a4a4a}.plants-grid::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.plant-card{background:#2a2a2a;box-shadow:0 2px 8px #0000004d}.plant-card:hover{box-shadow:0 4px 16px #0006}.plant-card.status-healthy{border-color:#22c55e}.plant-card.status-sick{border-color:#f59e0b}.plant-card.status-dead{border-color:#6b7280}.plant-name{color:#f0f0f0}.plant-species{color:#a0a0a0}.plant-details{border-top-color:#3a3a3a}.detail-label{color:#888}.detail-value{color:#d0d0d0}.placeholder-image{background:linear-gradient(135deg,#3d4a6b,#4a3d6b)}.needs-watering-badge{background:#1e3a5ff2;box-shadow:0 2px 6px #3b82f666}.plant-status-badge{background:#2a2a2af2;box-shadow:0 2px 4px #0006}.empty-state,.loading-state{color:#a0a0a0}.empty-state-icon{opacity:.7}.error-state{background:#450a0a;color:#fca5a5}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto;overscroll-behavior:contain}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 40px #0000004d;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.5rem}.close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;line-height:1}.close-button:hover{color:#333}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1.5rem}.modal-form .form-group:last-of-type{margin-bottom:0}.modal-form small{display:block;margin-top:.25rem;color:#666;font-size:.85rem}.form-section{margin-bottom:1.5rem;padding:1rem;background-color:#f9f9f9;border-radius:8px}.form-section h3{margin:0 0 1rem;font-size:1rem;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stats-grid .form-group{margin-bottom:0}.origin-toggle{display:flex;border:1px solid #ddd;border-radius:6px;overflow:hidden}.origin-btn{flex:1;padding:8px 12px;border:none;background:transparent;cursor:pointer;font-size:.85rem;color:#555;transition:background .15s,color .15s}.origin-btn:not(:last-child){border-right:1px solid #ddd}.origin-btn.active{background:#646cff;color:#fff;font-weight:600}.origin-btn:hover:not(.active){background:#f0f0f0}html[data-theme=dark] .origin-toggle{border-color:#444}html[data-theme=dark] .origin-btn{color:#ccc}html[data-theme=dark] .origin-btn:not(:last-child){border-right-color:#444}html[data-theme=dark] .origin-btn:hover:not(.active){background:#3a3a3a}.browse-button{padding:.5rem 1rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;width:100%;text-align:left}.browse-button:disabled{opacity:.5;cursor:not-allowed}.image-input-buttons{display:flex;gap:.5rem}.image-input-buttons .browse-button{flex:1;text-align:center}.image-input-buttons .camera-button{background-color:#646cff;color:#fff;border-color:#646cff}.image-input-buttons .camera-button:hover{background-color:#535bf2;border-color:#535bf2}.image-input-buttons .camera-button:disabled{background-color:#646cff;opacity:.5}.image-input-buttons .remove-photo-button{background-color:#fff;color:#c33;border-color:#c33}.image-input-buttons .remove-photo-button:hover{background-color:#fee}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #eee;justify-content:flex-end}.cancel-button,.save-button{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;border:none;transition:all .2s}.cancel-button{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.cancel-button:hover{background-color:#e0e0e0}.save-button{background-color:#646cff;color:#fff}.save-button:hover{background-color:#535bf2}.save-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed}html[data-theme=light] .modal-content,html[data-theme=light] .plant-detail-modal{background:#fff}html[data-theme=dark] .modal-content,html[data-theme=dark] .plant-detail-modal{background:#2a2a2a!important}html[data-theme=dark] .close-button{color:#888}html[data-theme=dark] .close-button:hover{color:#fff;background:#3a3a3a}html[data-theme=dark] .form-section{background-color:#333}html[data-theme=dark] .form-section h3{color:#f0f0f0}html[data-theme=dark] .modal-form label{color:#e0e0e0}html[data-theme=dark] .modal-form input,html[data-theme=dark] .modal-form select,html[data-theme=dark] .modal-form textarea{background-color:#2a2a2a;border-color:#444;color:#f0f0f0}html[data-theme=dark] .modal-form small{color:#888}html[data-theme=dark] .modal-header{border-bottom-color:#3a3a3a}html[data-theme=dark] .modal-header h2{color:#f0f0f0}html[data-theme=dark] .modal-footer{border-top-color:#3a3a3a;background:#1f1f1f}html[data-theme=dark] .browse-button{background:#3a3a3a;color:#d0d0d0;border-color:#444}html[data-theme=dark] .browse-button:hover{background:#444}html[data-theme=dark] .image-input-buttons .camera-button{background-color:#646cff;color:#fff;border-color:#646cff}html[data-theme=dark] .image-input-buttons .camera-button:hover{background-color:#535bf2;border-color:#535bf2}html[data-theme=dark] .form-group label{color:#e0e0e0}html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group select,html[data-theme=dark] .form-group textarea{background-color:#2a2a2a;border-color:#444;color:#f0f0f0}html[data-theme=dark] .form-group input::placeholder,html[data-theme=dark] .form-group textarea::placeholder{color:#888}html[data-theme=dark] .form-group input:focus,html[data-theme=dark] .form-group select:focus,html[data-theme=dark] .form-group textarea:focus{border-color:#818cf8}html[data-theme=dark] .form-group small{color:#888}html[data-theme=dark] .stats-grid{background:#333}html[data-theme=dark] .cancel-button{background:#3a3a3a;color:#d0d0d0;border-color:#444}html[data-theme=dark] .cancel-button:hover{background:#444}html[data-theme=dark] .save-button{background:#646cff;color:#fff}html[data-theme=dark] .save-button:hover{background:#535bf2}html[data-theme=dark] .back-button{background:#3a3a3a;border-color:#555;color:#d0d0d0}html[data-theme=dark] .back-button:hover{background:#444;color:#f0f0f0}html[data-theme=dark] .modal-overlay{background:#000000bf}html[data-theme=dark] .modal-actions{border-top-color:#3a3a3a}html[data-theme=dark] .error-message{background-color:#3d1515;color:#f87171}html[data-theme=dark] .image-input-buttons .remove-photo-button{background-color:#2a1515;color:#f87171;border-color:#7a2020}html[data-theme=dark] .image-input-buttons .remove-photo-button:hover{background-color:#3d1515}@media(prefers-color-scheme:dark){.modal-overlay{background:#000000bf}.modal-content,.plant-detail-modal{background:#2a2a2a;box-shadow:0 20px 60px #00000080}.form-section{background-color:#333}.form-section h3{color:#f0f0f0}.edit-form{background:#333!important;background-color:#333!important}.modal-header{border-bottom-color:#3a3a3a}.modal-header h2{color:#f0f0f0}.close-button{color:#888}.close-button:hover{color:#fff;background:#3a3a3a}.modal-footer{border-top-color:#3a3a3a;background:#1f1f1f}.form-group label{color:#d0d0d0}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group input[type=email],.form-group input[type=password],.form-group textarea,.form-group select{background:#1a1a1a;border-color:#444;color:#e0e0e0}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#646cff;box-shadow:0 0 0 3px #646cff33}.form-group input::placeholder,.form-group textarea::placeholder{color:#666}.form-group small{color:#888}.save-button{background:#646cff;color:#fff}.save-button:hover{background:#535bf2}.cancel-button{background:#3a3a3a;color:#d0d0d0;border-color:#444}.cancel-button:hover{background:#444}.edit-button{background:#3a3a3a;color:#d0d0d0;border-color:#444}.edit-button:hover{background:#444}.delete-button{background:#dc2626}.delete-button:hover{background:#b91c1c}.back-button{background:#3a3a3a;color:#d0d0d0}.back-button:hover{background:#444}.browse-button{background:#3a3a3a;color:#d0d0d0;border-color:#444}.browse-button:hover{background:#444}.add-plant-button{background:#646cff}.add-plant-button:hover{background:#535bf2}}.submit-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;border:none;min-width:130px;transition:background-color .2s ease,box-shadow .2s ease,transform .15s ease}.submit-btn--inactive{background-color:#d4d4d4;color:#777;cursor:not-allowed}.submit-btn--ready{background-color:#2e7d32;color:#fff;cursor:pointer}.submit-btn--ready:hover{background-color:#1b5e20;box-shadow:0 2px 8px #2e7d3259;transform:translateY(-1px)}.submit-btn--ready:focus-visible{outline:2px solid #2e7d32;outline-offset:2px}.submit-btn--submitting{background-color:#2e7d32;color:#fff;cursor:not-allowed;opacity:.85}.submit-btn-content{display:flex;align-items:center;gap:.5rem;justify-content:center}.submit-btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:submit-btn-spin .6s linear infinite;flex-shrink:0}@keyframes submit-btn-spin{to{transform:rotate(360deg)}}@keyframes submit-btn-ready-pop{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.submit-btn--just-became-valid{animation:submit-btn-ready-pop .22s ease}@media(prefers-reduced-motion:reduce){.submit-btn{transition:background-color .1s ease}.submit-btn--just-became-valid{animation:none}.submit-btn--ready:hover{transform:none}.submit-btn-spinner{animation:none;opacity:.7}}html[data-theme=dark] .submit-btn--inactive{background-color:#3a3a3a;color:#555}.btn-secondary{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;border:1px solid #ddd;background-color:#f5f5f5;color:#333;transition:background-color .2s}.btn-secondary:hover{background-color:#e0e0e0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}html[data-theme=dark] .btn-secondary{background:#3a3a3a;color:#d0d0d0;border-color:#444}html[data-theme=dark] .btn-secondary:hover{background:#444}@media(prefers-color-scheme:dark){.submit-btn--inactive{background-color:#3a3a3a;color:#555}.btn-secondary{background:#3a3a3a;color:#d0d0d0;border-color:#444}.btn-secondary:hover{background:#444}}.plant-detail-modal{background:#fff;border-radius:12px;width:100%;max-width:750px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 40px #0000004d}.plant-detail-content{padding:1.5rem}.plant-detail-image{width:100%;height:250px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:2rem;overflow:hidden}html[data-theme=dark] .plant-detail-image{background:linear-gradient(135deg,#1b2e1c,#1e3a1f)}.plant-detail-image img{width:100%;height:100%;object-fit:cover}.placeholder-image-large{font-size:6rem}.plant-detail-info{margin-bottom:2rem}.detail-view{background:#f9f9f9;padding:1.5rem;border-radius:8px}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.detail-row .detail-label{color:#666;font-weight:500}.detail-row .detail-value{color:#333}.detail-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-underline-offset:2px;text-decoration:underline;text-decoration-color:transparent;transition:color .15s ease,text-decoration-color .15s ease}.detail-link:hover,.detail-link:focus-visible{color:#2e7d32;text-decoration-color:currentColor;outline:none}.detail-link:focus-visible{box-shadow:0 0 0 2px #2e7d3240;border-radius:2px}.detail-link--external:after{content:" ↗";font-size:.75em;opacity:.55}.detail-link--internal:after{content:" →";font-size:.75em;opacity:.55}html[data-theme=dark] .detail-link:hover,html[data-theme=dark] .detail-link:focus-visible{color:#81c784}html[data-theme=dark] .detail-link:focus-visible{box-shadow:0 0 0 2px #81c78440}.plant-stats-section{margin:1rem 0;padding:1rem 1.25rem;background:#f0f7f0;border-radius:8px;border-left:3px solid #4caf50}.plant-stats-section .detail-row{padding:.5rem 0;flex-direction:column;align-items:flex-start;gap:.25rem}.plant-stats-section .detail-row:first-child{padding-top:0}.plant-stats-section .detail-value{line-height:1.5}.plant-benchmarks-section{margin:1rem 0;padding:1rem 1.25rem;background:#f0f4f7;border-radius:8px;border-left:3px solid #2196f3}.plant-benchmarks-section h4{margin:0 0 .5rem;font-size:.95rem;color:#333}.benchmark-subtext{font-size:.8rem;color:#888;margin:0 0 .75rem}.benchmark-loading{font-size:.85rem;color:#888;margin:0}.benchmark-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.4rem 0;border-top:1px solid #e0e0e0}.benchmark-label{font-weight:600;font-size:.85rem;color:#555;min-width:90px}.benchmark-value{font-weight:600;font-size:.9rem;color:#2196f3}.benchmark-detail{font-size:.75rem;color:#999}.status-alive{color:#4caf50;font-weight:600}.status-dead{color:#c33;font-weight:600}.germinated-yes{color:#4caf50}.germinated-no{color:#999;font-style:italic}.heat-mat-active{color:#f97316;font-weight:500}.heat-mat-since{color:#888;font-weight:400;font-size:.9em}.plant-issues-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #ffcc80}.issues-header .issue-warning{color:#e65100;font-weight:600}.issue-row{display:flex;align-items:center;gap:.75rem}.issue-badge{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.issue-pests{background:#ffebee;color:#c62828}.issue-mould{background:#fff3e0;color:#e65100}.issue-rot{background:#fce4ec;color:#ad1457}.issue-since{color:#666;font-size:.85rem}.edit-button{width:100%;padding:.75rem;margin-top:1rem;background-color:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.edit-button:hover{background-color:#535bf2}.detail-actions{display:flex;gap:.75rem;margin-top:1rem}.detail-actions .edit-button{flex:1;margin-top:0}.detail-actions .delete-button{flex:1}.detail-actions .archive-button{flex:1;background:#6b7280;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.9rem;cursor:pointer;transition:background .2s}.detail-actions .archive-button:hover:not(:disabled){background:#4b5563}.detail-actions .restore-button{flex:1;background:#16a34a;color:#fff;border:none;border-radius:8px;padding:.75rem 1rem;font-size:.9rem;cursor:pointer;transition:background .2s}.detail-actions .restore-button:hover:not(:disabled){background:#15803d}.detail-actions .archive-button:disabled,.detail-actions .restore-button:disabled{opacity:.6;cursor:not-allowed}.edit-form{background:#f9f9f9;padding:1.5rem;border-radius:8px}.edit-form .form-group{margin-bottom:1rem}.edit-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}html[data-theme=dark] .plant-detail-content,html[data-theme=dark] .plant-detail-info{color:#e0e0e0}html[data-theme=dark] .plant-detail-info h2{color:#f0f0f0}html[data-theme=dark] .plant-detail-info p{color:#a0a0a0}html[data-theme=dark] .detail-view{background:#1f1f1f}html[data-theme=dark] .detail-view h3{color:#f0f0f0}html[data-theme=dark] .detail-view .detail-row{border-bottom-color:#3a3a3a}html[data-theme=dark] .detail-view .detail-row span:first-child{color:#888}html[data-theme=dark] .detail-view .detail-row span:last-child{color:#e0e0e0}html[data-theme=dark] .plant-stats-section{background:#1f2f1f;border-color:#4caf50}html[data-theme=dark] .plant-stats-section .detail-label{color:#a0c0a0}html[data-theme=dark] .plant-stats-section .detail-value{color:#f0f0f0}html[data-theme=dark] .plant-benchmarks-section{background:#1f2530;border-color:#2196f3}html[data-theme=dark] .plant-benchmarks-section h4{color:#e0e0e0}html[data-theme=dark] .benchmark-row{border-color:#3a3a3a}html[data-theme=dark] .benchmark-label{color:#a0b4c8}html[data-theme=dark] .benchmark-value{color:#64b5f6}html[data-theme=dark] .benchmark-detail{color:#777}html[data-theme=dark] .issue-pests{background:#4a1a1a;color:#ef9a9a}html[data-theme=dark] .issue-mould{background:#4a3a1a;color:#ffcc80}html[data-theme=dark] .issue-rot{background:#4a1a2a;color:#f48fb1}html[data-theme=dark] .issue-since{color:#888}html[data-theme=dark] .edit-form,html[data-theme=dark] .plant-detail-modal .edit-form,html[data-theme=dark] .log-detail-modal .edit-form,html[data-theme=dark] .plant-detail-info .edit-form,html[data-theme=dark] .log-detail-content .edit-form{background:#333!important;background-color:#333!important}html[data-theme=dark] .edit-form .form-group label{color:#e0e0e0}html[data-theme=dark] .edit-form .form-group input,html[data-theme=dark] .edit-form .form-group textarea,html[data-theme=dark] .edit-form .form-group select{background:#2a2a2a!important;border-color:#444;color:#f0f0f0}html[data-theme=dark] .edit-form .form-group input::placeholder,html[data-theme=dark] .edit-form .form-group textarea::placeholder{color:#666}html[data-theme=dark] .edit-form .form-group small{color:#888}html[data-theme=dark] .edit-form .browse-button{background:#444;color:#e0e0e0;border-color:#555}html[data-theme=dark] .edit-form .browse-button:hover{background:#555}html[data-theme=dark] .edit-form .remove-photo-button{background:#3a2020;color:#f88;border-color:#833}html[data-theme=dark] .edit-form .remove-photo-button:hover{background:#4a2525}html[data-theme=dark] .detail-actions .edit-button{background:#3a3a3a;color:#d0d0d0;border:1px solid #444}html[data-theme=dark] .detail-actions .edit-button:hover{background:#444}html[data-theme=dark] .detail-actions .delete-button{background:#dc2626}html[data-theme=dark] .detail-actions .delete-button:hover{background:#b91c1c}html[data-theme=dark] .detail-actions .archive-button{background:#4b5563}html[data-theme=dark] .detail-actions .archive-button:hover:not(:disabled){background:#374151}html[data-theme=dark] .detail-actions .restore-button{background:#16a34a}html[data-theme=dark] .detail-actions .restore-button:hover:not(:disabled){background:#15803d}@media(prefers-color-scheme:dark){.plant-detail-content,.plant-detail-info{color:#e0e0e0}.detail-view{background:#1f1f1f}.detail-view .detail-label{color:#a0a0a0}.detail-view .detail-value{color:#f0f0f0}.detail-view .detail-row{border-bottom-color:#3a3a3a}.plant-detail-image .placeholder-image-large{background:linear-gradient(135deg,#3d4a6b,#4a3d6b)}.plant-stats-section{background:#1f2f1f;border-color:#4caf50}.plant-stats-section .detail-label{color:#a0c0a0}.plant-stats-section .detail-value{color:#f0f0f0}.germinated-yes{color:#4ade80}.heat-mat-active{color:#fb923c}.heat-mat-since{color:#a0a0a0}.status-dead{color:#f87171}.plant-issues-section{background:#1a1a1a}.issue-warning{color:#fbbf24}.issue-badge{color:#fff}.issue-since{color:#888}}@media(prefers-color-scheme:dark){.issue-pests{background:#4a1a1a;color:#ef9a9a}.issue-mould{background:#4a3a1a;color:#ffcc80}.issue-rot{background:#4a1a2a;color:#f48fb1}.issue-since{color:#888}}.plant-logs-section{border-top:2px solid #e0e0e0;padding-top:1.5rem;margin-top:1.5rem}.plant-logs-section h3{margin-top:0;margin-bottom:1rem;color:#333}.logs-grid{min-height:150px;background:#f9f9f9;border-radius:8px;padding:2rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.empty-logs{text-align:center;color:#999}.logs-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;max-height:400px;overflow-y:auto}.log-card{background:#f9f9f9;border-radius:8px;padding:1.25rem;border:1px solid #e0e0e0;transition:box-shadow .2s,transform .2s;cursor:pointer;display:flex;gap:1rem}.log-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.log-thumbnail{position:relative;width:80px;height:80px;flex-shrink:0;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.log-thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-badge{position:absolute;bottom:4px;right:4px;background:#000000bf;color:#fff;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600}.log-content{flex:1;min-width:0}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.log-header h4{margin:0;color:#333;font-size:1.1rem}.log-date{color:#666;font-size:.85rem}.log-time{color:#888;font-size:.8rem}.log-description{margin:0;color:#555;line-height:1.6;white-space:pre-wrap}.new-log-button{width:100%;padding:.75rem;background-color:#646cff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.new-log-button:hover{background-color:#535bf2}.new-log-button:disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5;color:#666;border:1px solid #ddd}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #eee;background:#f9f9f9}.back-button{padding:.75rem 1.5rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem;color:#666;transition:all .2s}.back-button:hover{background-color:#f5f5f5;color:#333}.log-detail-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 40px #0000004d}.log-detail-content{padding:1.5rem}.detail-row-full{padding:1rem 0;border-bottom:1px solid #e0e0e0}.detail-row-full:last-child{border-bottom:none}.detail-row-full .detail-label{color:#666;font-weight:500;display:block;margin-bottom:.5rem}.detail-description{color:#333;line-height:1.6;white-space:pre-wrap;margin:0}.log-actions{display:flex;gap:1rem;margin-top:1.5rem}.delete-button{flex:1;padding:.75rem;background-color:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.delete-button:hover{background-color:#c82333}.delete-button:disabled{opacity:.5;cursor:not-allowed}.system-log-notice{margin-top:1rem;padding:.75rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;font-size:.85rem;text-align:center}.system-log-type{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-weight:500}.system-log-type .log-type-icon{font-size:1.25rem}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.logs-header h3{margin:0}.logs-header-actions{display:flex;gap:.5rem;align-items:center}.log-sort-button{padding:.35rem .75rem;border:1px solid #ddd;border-radius:4px;background:#f5f5f5;cursor:pointer;font-size:.8rem;color:#666;transition:all .2s}.log-sort-button:hover{background:#e8e8e8;border-color:#ccc}@media(prefers-color-scheme:dark){.log-sort-button{background:#2a2a2a;border-color:#444;color:#aaa}.log-sort-button:hover{background:#333;border-color:#555}}.add-log-dropdown-wrapper{position:relative;display:flex;justify-content:center;margin-bottom:1.5rem}.add-log-button{padding:.625rem 1.5rem;background:#2e7d32;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.add-log-button:hover{background:#1b5e20}.add-log-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:220px;max-width:280px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;margin-top:4px;overflow:hidden}.add-log-dropdown-label{padding:.5rem 1rem .25rem;font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.add-log-dropdown-separator{height:1px;background:#e0e0e0;margin:.25rem 0}.add-log-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:.625rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;color:#333;transition:background .15s ease}.add-log-dropdown-item:hover{background:#f5f5f5}.add-log-dropdown-icon{font-size:1.1rem;width:1.5rem;text-align:center;flex-shrink:0}.preset-modal{max-width:450px}.preset-options{display:flex;flex-wrap:wrap;gap:.5rem}.preset-option-btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:20px;background:#fff;cursor:pointer;font-size:.875rem;transition:all .2s}.preset-option-btn:hover{border-color:#646cff;background:#f8f9ff}.preset-option-btn.selected{background:#646cff;color:#fff;border-color:#646cff}.preset-tags,.log-type-selector{display:flex;flex-wrap:wrap;gap:.5rem}.log-type-btn{display:flex;flex-direction:column;align-items:center;padding:.5rem;min-width:60px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.log-type-btn:hover{border-color:#646cff;background:#f8f9ff}.log-type-btn.selected{border-color:#646cff;background:#eef0ff}.log-type-icon{font-size:1.25rem;margin-bottom:.25rem}.log-type-label{font-size:.7rem;color:#666}.value-input-row{display:flex;gap:.5rem;align-items:center}.value-num-input{flex:1;max-width:120px}.value-unit-input{width:80px;text-align:center}.preset-tag-btn{padding:.25rem .75rem;border:1px solid #ddd;border-radius:12px;background:#fff;cursor:pointer;font-size:.8rem;transition:all .2s}.preset-tag-btn:hover{border-color:#ea580c;background:#fff7ed}.preset-tag-btn.selected{background:#ea580c;color:#fff;border-color:#ea580c}.confirmation-box{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#dc2626}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}@media(max-width:768px){.add-log-button{width:100%;text-align:center}}@media(prefers-color-scheme:dark){.add-log-button{background:#388e3c}.add-log-button:hover{background:#2e7d32}.add-log-dropdown{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}.add-log-dropdown-label{color:#999}.add-log-dropdown-separator{background:#444}.add-log-dropdown-item{color:#ddd}.add-log-dropdown-item:hover{background:#333}.preset-option-btn{background:#2a2a2a;border-color:#444;color:#ddd}.preset-option-btn:hover{background:#333;border-color:#646cff}.preset-option-btn.selected{background:#646cff;color:#fff}.preset-tag-btn{background:#2a2a2a;border-color:#444;color:#ddd}.preset-tag-btn:hover{background:#333;border-color:#ea580c}.preset-tag-btn.selected{background:#ea580c;color:#fff}.confirmation-box{background:#450a0a;border-color:#7f1d1d}.checkbox-label{color:#fca5a5}.feedback-button{background:#2a2a2a;color:#ddd;border-color:#444}.feedback-button:hover{background:#333;border-color:#555}.app-footer{color:#888}}html[data-theme=dark] .plant-logs-section{border-top-color:#3a3a3a}html[data-theme=dark] .plant-logs-section h3{color:#e0e0e0}html[data-theme=dark] .logs-list{background:transparent}html[data-theme=dark] .log-card{background:#1a1a1a;border-color:#3a3a3a}html[data-theme=dark] .log-card:hover{box-shadow:0 2px 8px #0000004d;border-color:#444}html[data-theme=dark] .log-header h4{color:#f0f0f0}html[data-theme=dark] .log-date{color:#888}html[data-theme=dark] .log-time{color:#777}html[data-theme=dark] .log-notes{color:silver}html[data-theme=dark] .log-type{color:#a0a0a0}html[data-theme=dark] .log-sort-button{background:#2a2a2a;border-color:#444;color:#aaa}html[data-theme=dark] .log-sort-button:hover{background:#333;border-color:#555}html[data-theme=dark] .log-description{color:silver}html[data-theme=dark] .log-detail-modal{background:#2a2a2a!important;box-shadow:0 10px 40px #00000080}html[data-theme=dark] .log-detail-content{color:#e0e0e0}html[data-theme=dark] .log-detail-content h3{color:#f0f0f0}html[data-theme=dark] .log-detail-content .detail-row span:first-child{color:#888}html[data-theme=dark] .log-detail-content .detail-row span:last-child{color:#e0e0e0}html[data-theme=dark] .log-detail-content .detail-row-full{border-bottom-color:#3a3a3a}html[data-theme=dark] .log-detail-content .detail-row-full .detail-label{color:#a0a0a0}html[data-theme=dark] .log-detail-content .detail-row-full h4{color:#f0f0f0}html[data-theme=dark] .log-detail-content .detail-row-full p{color:silver}html[data-theme=dark] .empty-logs{color:#888}html[data-theme=dark] .logs-grid{background:#1a1a1a}html[data-theme=dark] .system-log-notice,html[data-theme=dark] .system-log-type{background-color:#1e3a5f;border-color:#2563eb;color:#93c5fd}html[data-theme=dark] .add-log-button{background:#388e3c}html[data-theme=dark] .add-log-button:hover{background:#2e7d32}html[data-theme=dark] .add-log-dropdown{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}html[data-theme=dark] .add-log-dropdown-label{color:#999}html[data-theme=dark] .add-log-dropdown-separator{background:#444}html[data-theme=dark] .add-log-dropdown-item{color:#ddd}html[data-theme=dark] .add-log-dropdown-item:hover{background:#333}html[data-theme=dark] .preset-option-btn{background:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .preset-option-btn:hover{background:#333;border-color:#646cff}html[data-theme=dark] .preset-option-btn.selected{background:#646cff;color:#fff}html[data-theme=dark] .log-type-btn{background:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .log-type-btn:hover{background:#333;border-color:#646cff}html[data-theme=dark] .log-type-btn.selected{border-color:#646cff;background:#3d3d6b}html[data-theme=dark] .log-type-label{color:#aaa}html[data-theme=dark] .preset-tag-btn{background:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .preset-tag-btn:hover{background:#333;border-color:#ea580c}html[data-theme=dark] .preset-tag-btn.selected{background:#ea580c;color:#fff}html[data-theme=dark] .confirmation-box{background:#450a0a;border-color:#7f1d1d}html[data-theme=dark] .confirmation-box .checkbox-label,html[data-theme=dark] .confirmation-box .checkbox-label span{color:#fca5a5}@media(prefers-color-scheme:dark){.plant-logs-section{border-top-color:#3a3a3a}.plant-logs-section h3{color:#e0e0e0}.logs-grid{background:#1a1a1a}.logs-list{background:transparent}.log-card{background:#1a1a1a;border-color:#3a3a3a}.log-card:hover{box-shadow:0 2px 8px #0000004d;border-color:#444}.log-header h4{color:#f0f0f0}.log-date{color:#888}.log-description{color:#a0a0a0}.empty-logs{color:#666}}@media(prefers-color-scheme:dark){.log-detail-modal{background:#2a2a2a!important}.log-detail-content{color:#e0e0e0}}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:.75rem}.gallery-image{position:relative;width:100%;padding-bottom:100%;border-radius:8px;overflow:hidden;background:#f0f0f0;cursor:pointer;transition:transform .2s,box-shadow .2s}.gallery-image:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.gallery-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.carousel-overlay{position:fixed;inset:0;background-color:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;cursor:pointer}.carousel-content{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;cursor:default}.carousel-image{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #00000080}.carousel-close{position:fixed;top:20px;right:20px;background:#ffffffe6;border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2001;transition:all .2s;color:#333;line-height:1;padding:0}.carousel-close:hover{background:#fff;transform:scale(1.1)}.carousel-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:50px;height:50px;border-radius:50%;font-size:2.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2001;transition:all .2s;color:#333;line-height:1;padding:0}.carousel-nav:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.carousel-nav-left{left:20px}.carousel-nav-right{right:20px}.carousel-counter{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;z-index:2001}.upload-progress{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:#0000000d;border-top:1px solid rgba(0,0,0,.1);border-radius:0 0 8px 8px}.upload-progress-bar{height:4px;background:#0000001a;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.upload-progress-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:2px;transition:width .2s ease-out}.upload-progress-text{font-size:.75rem;color:#666;text-align:center;display:block}@media(prefers-color-scheme:dark){.upload-progress{background:#ffffff0d;border-top-color:#ffffff1a}.upload-progress-bar{background:#ffffff1a}.upload-progress-text{color:#aaa}}.background-upload-indicator{position:fixed;bottom:1rem;right:1rem;width:300px;max-height:400px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:10000;overflow:hidden}.upload-indicator-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f5f5f5;border-bottom:1px solid #e0e0e0;font-weight:600;font-size:.875rem}.dismiss-all-btn{background:none;border:none;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.dismiss-all-btn:hover{color:#333;text-decoration:underline}.upload-indicator-list{max-height:320px;overflow-y:auto}.upload-item{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;position:relative}.upload-item:last-child{border-bottom:none}.upload-item-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.upload-item-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.upload-item-status{font-size:.75rem;color:#666}.upload-complete .upload-item-status{color:#22c55e}.upload-error .upload-item-status{color:#ef4444}.upload-item-progress{height:3px;background:#e0e0e0;border-radius:2px;overflow:hidden}.upload-item-progress-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:2px;transition:width .2s ease-out}.dismiss-btn{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#999;cursor:pointer;font-size:1rem;line-height:1;padding:.25rem}.dismiss-btn:hover{color:#333}.header-actions{display:flex;align-items:center;gap:.5rem}.minimize-btn{background:none;border:none;color:#666;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;line-height:1}.minimize-btn:hover{color:#333}.background-upload-indicator.minimized{width:auto;min-width:180px}.active-indicator{color:#4caf50;font-weight:500}.batch-action-indicator{position:fixed;bottom:1rem;left:1rem;min-width:200px;max-width:280px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:10000;overflow:hidden}.batch-indicator-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#646cff;color:#fff;font-weight:600;font-size:.875rem}.batch-count{display:flex;align-items:center;gap:.5rem}.batch-clear-btn{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.batch-clear-btn:hover{background:#ffffff4d}.batch-expand-btn{width:100%;padding:.75rem;background:#f5f5f5;border:none;cursor:pointer;font-size:.875rem;color:#666;transition:background .2s}.batch-expand-btn:hover{background:#ebebeb}.batch-actions-menu{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.batch-action-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.batch-action-btn:hover{background:#f8f9ff;border-color:#646cff}.action-icon{font-size:1.25rem}.action-label{font-size:.875rem;font-weight:500}.action-scope{font-size:.75rem;font-weight:400;color:#888}.batch-processing{padding:1rem;text-align:center;color:#666;font-size:.875rem}.batch-result{padding:1rem;text-align:center;font-size:.875rem;color:#22c55e;font-weight:500}.batch-result.has-errors{color:#f59e0b}.container-batch-indicator{left:auto;right:1rem}.container-batch-header{background:#16a34a}.container-batch-toast{left:auto;right:1rem}.batch-action-btn.batch-action-danger{border-color:#fca5a5;color:#dc2626}.batch-action-btn.batch-action-danger:hover{background:#fef2f2;border-color:#dc2626}.batch-delete-confirm{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;font-size:.875rem}.batch-delete-confirm p{margin:0 0 .5rem;color:#dc2626;font-weight:500}.batch-delete-buttons{display:flex;gap:.5rem}.batch-confirm-yes{flex:1;padding:.4rem;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600}.batch-confirm-yes:hover{background:#b91c1c}.batch-confirm-no{flex:1;padding:.4rem;background:#fff;color:#666;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:.8rem}.batch-confirm-no:hover{background:#f5f5f5}.container-card-board.container-card-selected,.container-card-grid.container-card-selected,.container-card-list.container-card-selected{outline:2px solid #16a34a;outline-offset:-2px;box-shadow:0 4px 16px #16a34a59;transform:translateY(-3px);z-index:1}.container-card-board.multi-select-dimmed,.container-card-grid.multi-select-dimmed,.container-card-list.multi-select-dimmed{opacity:.45;filter:saturate(.5)}.container-card-board,.container-card-grid,.container-card-list{transition:transform .15s,box-shadow .15s,opacity .15s,filter .15s}.container-card-checkbox{display:flex;align-items:center;padding-right:.25rem}.container-card-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#16a34a}.batch-toast{position:fixed;bottom:5rem;left:1rem;padding:.75rem 1.25rem;background:#22c55e;color:#fff;border-radius:8px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:10001;animation:toast-slide-in .3s ease-out}.batch-toast.warning{background:#f59e0b}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.batch-action-indicator{background:#1a1a1a}.batch-delete-confirm{background:#2d1515;border-color:#7f1d1d}.batch-confirm-no{background:#2a2a2a;border-color:#444;color:#aaa}.batch-confirm-no:hover{background:#333}.batch-action-btn.batch-action-danger{border-color:#7f1d1d;color:#f87171}.batch-action-btn.batch-action-danger:hover{background:#2d1515;border-color:#dc2626}.batch-expand-btn{background:#2a2a2a;color:#aaa}.batch-expand-btn:hover{background:#333}.batch-action-btn{background:#2a2a2a;border-color:#444;color:#ddd}.batch-action-btn:hover{background:#333;border-color:#646cff}.batch-processing{color:#aaa}}@media(prefers-color-scheme:dark){.background-upload-indicator{background:#2a2a2a;box-shadow:0 4px 20px #0006}.upload-indicator-header{background:#333;border-bottom-color:#444}.dismiss-all-btn{color:#aaa}.dismiss-all-btn:hover{color:#fff}.upload-item{border-bottom-color:#333}.upload-item-status{color:#aaa}.upload-item-progress{background:#444}.dismiss-btn{color:#666}.dismiss-btn:hover{color:#fff}.minimize-btn{color:#aaa}.minimize-btn:hover{color:#fff}.active-indicator{color:#4ade80}}.image-preview{position:relative;display:inline-block;margin-top:.5rem;max-width:200px}.image-preview img{width:100%;height:auto;max-height:150px;object-fit:cover;border-radius:4px;border:1px solid #ddd}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:none;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}.remove-image-btn:hover{background:#dc2626}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.5rem;max-width:100%}.image-preview-item{position:relative;aspect-ratio:1}.image-preview-item img{width:100%;height:100%;object-fit:cover;border-radius:4px;border:1px solid #ddd}.image-preview-item .remove-image-btn{top:-6px;right:-6px;width:20px;height:20px;font-size:14px}.file-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.5rem .75rem;border-radius:4px;margin-top:.5rem;font-size:.875rem}.file-error div{margin:.25rem 0}.compression-status{color:#3b82f6;font-size:.875rem;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.compression-status:before{content:"";width:14px;height:14px;border:2px solid #3b82f6;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.image-preview img,.image-preview-item img{border-color:#444}.file-error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.compression-status{color:#60a5fa}.compression-status:before{border-color:#60a5fa;border-top-color:transparent}}html[data-theme=dark] .image-preview img,html[data-theme=dark] .image-preview-item img{border-color:#444}@media(prefers-color-scheme:dark){.image-gallery{background:#1a1a1a}.gallery-nav{background:#0009;color:#fff}.gallery-nav:hover{background:#000c}.thumbnail-badge{background:#000000b3;color:#fff}}.timeline-modal{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow:visible;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column}.timeline-content{flex:1;overflow:visible;padding:1.5rem;min-height:320px}.timeline-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#666;font-style:italic}.timeline-scroll-container{overflow-x:auto;overflow-y:visible;padding:9rem 1rem 1rem;scrollbar-width:thin;scrollbar-color:#ccc transparent}.timeline-scroll-container::-webkit-scrollbar{height:8px}.timeline-scroll-container::-webkit-scrollbar-track{background:transparent}.timeline-scroll-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:#aaa}.timeline-track{display:flex;align-items:flex-start;gap:0;min-width:max-content;padding:0 2rem;position:relative}.timeline-line{position:absolute;top:28px;left:0;right:0;height:4px;background:linear-gradient(90deg,#4ade80,#22c55e,#16a34a);border-radius:2px;z-index:0}.timeline-start,.timeline-end{display:flex;flex-direction:column;align-items:center;z-index:1;min-width:80px}.timeline-marker{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:4px solid #4ade80;box-shadow:0 2px 8px #00000026;z-index:2;transition:transform .2s,box-shadow .2s}.timeline-marker-start{border-color:#22c55e;background:#dcfce7}.timeline-marker-end{border-color:#16a34a;background:#bbf7d0}.timeline-marker-log{width:48px;height:48px;cursor:pointer;border-color:#646cff;background:#fff;overflow:hidden}.timeline-marker-log:hover{transform:scale(1.15);box-shadow:0 4px 16px #646cff66}.timeline-marker-sprouted:hover{box-shadow:0 4px 16px #22c55e66}.timeline-marker-growth:hover{box-shadow:0 4px 16px #16a34a66}.timeline-marker-flowering:hover{box-shadow:0 4px 16px #ec489966}.timeline-marker-fruiting:hover{box-shadow:0 4px 16px #f9731666}.timeline-marker-harvested:hover{box-shadow:0 4px 16px #f59e0b66}.timeline-marker-repotted:hover{box-shadow:0 4px 16px #a3865d66}.timeline-marker-pests:hover{box-shadow:0 4px 16px #ef444466}.timeline-marker-disease:hover{box-shadow:0 4px 16px #ea580c66}.timeline-marker-died:hover{box-shadow:0 4px 16px #73737366}.timeline-marker-other:hover{box-shadow:0 4px 16px #3b82f666}.timeline-marker-log.has-image{padding:0}.timeline-marker-log.has-image img{width:100%;height:100%;object-fit:cover}.marker-icon{font-size:1.5rem}.timeline-marker-info{display:flex;flex-direction:column;align-items:center;margin-top:.75rem;text-align:center}.marker-day{font-size:.9rem;font-weight:600;color:#333}.marker-date{font-size:.8rem;color:#666}.marker-label{font-size:.75rem;color:#888;margin-top:.25rem}.timeline-date-group{display:flex;flex-direction:column;align-items:center;margin:0 1.5rem;z-index:1;position:relative}.timeline-entry{position:relative;margin-bottom:.5rem}.timeline-entry-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;white-space:nowrap;min-width:150px;max-width:280px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;box-shadow:0 4px 12px #0003}.timeline-entry-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}.timeline-entry-tooltip strong{display:block;margin-bottom:.25rem}.timeline-entry-tooltip p{margin:0;font-size:.75rem;opacity:.9;line-height:1.4}.timeline-entry:hover .timeline-entry-tooltip{opacity:1;visibility:visible}.timeline-start,.timeline-end{position:relative}.timeline-start-tooltip,.timeline-end-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;white-space:nowrap;min-width:160px;max-width:280px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100;box-shadow:0 4px 12px #0003}.timeline-start-tooltip:after,.timeline-end-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}.timeline-start-tooltip strong,.timeline-end-tooltip strong{display:block;margin-bottom:.25rem}.timeline-start-tooltip ul,.timeline-end-tooltip ul{margin:.25rem 0 0;padding-left:1rem;list-style:disc}.timeline-tooltip-scroll-wrapper{max-height:4.5em;overflow:hidden}.timeline-tooltip-scroll-wrapper .tooltip-scroll-content{display:flex;flex-direction:column}.timeline-tooltip-scroll-wrapper.has-overflow .tooltip-scroll-content{animation:tooltip-scroll 6s ease-in-out infinite}@keyframes tooltip-scroll{0%,15%{transform:translateY(0)}35%,65%{transform:translateY(var(--scroll-amount, -50%))}85%,to{transform:translateY(0)}}.timeline-start-tooltip li,.timeline-end-tooltip li{margin:.15rem 0;cursor:pointer;transition:color .2s}.timeline-start-tooltip li:hover,.timeline-end-tooltip li:hover{color:#a5b4fc;text-decoration:underline}.timeline-start:hover .timeline-start-tooltip,.timeline-end:hover .timeline-end-tooltip{opacity:1;visibility:visible}.timeline-marker.has-logs{cursor:pointer}.timeline-marker.has-logs:hover{transform:scale(1.1)}.timeline-date-info{display:flex;flex-direction:column;align-items:center;margin-top:.5rem}.date-day{font-size:.85rem;font-weight:600;color:#646cff}.date-label{font-size:.75rem;color:#666}.timeline-button{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.5rem}.timeline-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.timeline-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.timeline-modal{max-width:100%;margin:1rem;max-height:calc(100vh - 2rem)}.timeline-scroll-container{padding:9rem .5rem .5rem}.timeline-marker{width:44px;height:44px}.timeline-marker-log{width:40px;height:40px}.marker-icon{font-size:1.2rem}.timeline-date-group{margin:0 1rem}}@media(prefers-color-scheme:dark){.timeline-modal{background:#2a2a2a}.timeline-empty{color:#888}.timeline-scroll-container::-webkit-scrollbar-thumb{background:#444}.timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:#555}.timeline-line{background:linear-gradient(90deg,#22c55e,#16a34a,#15803d)}.timeline-marker{background:#2a2a2a;border-color:#22c55e;box-shadow:0 2px 8px #0006}.timeline-marker-start{background:#14532d;border-color:#22c55e}.timeline-marker-end{background:#166534;border-color:#16a34a}.timeline-marker-log{background:#2a2a2a;border-color:#818cf8}.timeline-marker-log:hover{box-shadow:0 4px 16px #818cf866}.marker-day{color:#e0e0e0}.marker-date{color:#a0a0a0}.marker-label{color:#888}.timeline-entry-tooltip{background:#1a1a1a;box-shadow:0 4px 12px #00000080}.timeline-entry-tooltip:after{border-top-color:#1a1a1a}.timeline-start-tooltip,.timeline-end-tooltip{background:#1a1a1a;box-shadow:0 4px 12px #00000080}.timeline-start-tooltip:after,.timeline-end-tooltip:after{border-top-color:#1a1a1a}.date-day{color:#818cf8}.date-label{color:#888}.timeline-button{background:linear-gradient(135deg,#4c51bf,#6b46c1)}.timeline-button:hover{box-shadow:0 4px 12px #818cf866}}html[data-theme=dark] .timeline-modal{background:#2a2a2a}html[data-theme=dark] .timeline-empty{color:#888}html[data-theme=dark] .timeline-scroll-container{scrollbar-color:#444 transparent}html[data-theme=dark] .timeline-scroll-container::-webkit-scrollbar-thumb{background:#444}html[data-theme=dark] .timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:#555}html[data-theme=dark] .timeline-line{background:linear-gradient(90deg,#22c55e,#16a34a,#15803d)}html[data-theme=dark] .timeline-marker{background:#2a2a2a;border-color:#22c55e;box-shadow:0 2px 8px #0006}html[data-theme=dark] .timeline-marker-start{background:#14532d;border-color:#22c55e}html[data-theme=dark] .timeline-marker-end{background:#166534;border-color:#16a34a}html[data-theme=dark] .timeline-marker-log.has-image{background:#2a2a2a;border-color:#818cf8}html[data-theme=dark] .timeline-marker-log:hover{box-shadow:0 4px 16px #0006}html[data-theme=dark] .timeline-marker-sprouted:hover{box-shadow:0 4px 16px #22c55e66}html[data-theme=dark] .timeline-marker-growth:hover{box-shadow:0 4px 16px #16a34a66}html[data-theme=dark] .timeline-marker-flowering:hover{box-shadow:0 4px 16px #ec489966}html[data-theme=dark] .timeline-marker-fruiting:hover{box-shadow:0 4px 16px #f9731666}html[data-theme=dark] .timeline-marker-harvested:hover{box-shadow:0 4px 16px #f59e0b66}html[data-theme=dark] .timeline-marker-repotted:hover{box-shadow:0 4px 16px #a3865d66}html[data-theme=dark] .timeline-marker-pests:hover{box-shadow:0 4px 16px #ef444466}html[data-theme=dark] .timeline-marker-disease:hover{box-shadow:0 4px 16px #ea580c66}html[data-theme=dark] .timeline-marker-died:hover{box-shadow:0 4px 16px #73737366}html[data-theme=dark] .timeline-marker-other:hover{box-shadow:0 4px 16px #3b82f666}html[data-theme=dark] .marker-day{color:#e0e0e0}html[data-theme=dark] .marker-month,html[data-theme=dark] .marker-label{color:#888}html[data-theme=dark] .timeline-entry-tooltip{background:#1a1a1a;box-shadow:0 4px 12px #00000080}html[data-theme=dark] .timeline-entry-tooltip:after{border-top-color:#1a1a1a}html[data-theme=dark] .timeline-start-tooltip,html[data-theme=dark] .timeline-end-tooltip{background:#1a1a1a;box-shadow:0 4px 12px #00000080}html[data-theme=dark] .timeline-start-tooltip:after,html[data-theme=dark] .timeline-end-tooltip:after{border-top-color:#1a1a1a}html[data-theme=dark] .date-day{color:#818cf8}html[data-theme=dark] .date-label{color:#888}html[data-theme=dark] .timeline-button{background:linear-gradient(135deg,#4c51bf,#6b46c1)}html[data-theme=dark] .timeline-button:hover{box-shadow:0 4px 12px #818cf866}.plant-reminders,.zone-reminders{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.plant-reminders-header,.zone-reminders-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.zone-reminder-note{font-size:.85rem;color:#666;margin:0 0 1rem;padding:.5rem .75rem;background:#f0f9f0;border-radius:4px;border-left:3px solid #2d6a4f}.reminder-icon{font-size:1.2rem}.reminder-title{font-weight:600;color:#333;flex:1}.add-reminder-btn{width:28px;height:28px;border-radius:50%;border:2px solid #2d6a4f;background:transparent;color:#2d6a4f;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-reminder-btn:hover{background:#2d6a4f;color:#fff}.no-reminders{font-size:.9rem;color:#888}.add-reminder-link{background:none;border:none;color:#2d6a4f;cursor:pointer;text-decoration:underline;font-size:.9rem;padding:0;margin-left:.25rem}.reminder-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-top:1px solid #e9ecef}.reminder-item:first-of-type{border-top:none}.reminder-item-info{display:flex;align-items:center;gap:.5rem}.reminder-item-icon{font-size:1.1rem}.reminder-item-details{display:flex;flex-direction:column}.reminder-item-type{font-weight:500;font-size:.9rem;color:#333}.reminder-item-frequency{font-size:.8rem;color:#888}.reminder-item-actions{display:flex;align-items:center;gap:.5rem}.reminder-item-next{font-size:.8rem;color:#2d6a4f;font-weight:500}.reminder-delete-btn{width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:#999;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.reminder-delete-btn:hover{background:#fee;color:#c00}.plant-reminders-loading,.zone-reminders-loading{color:#666;font-size:.9rem}.add-reminder-modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:420px;width:90%;max-height:85vh;overflow-y:auto}.add-reminder-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.add-reminder-modal .modal-header h3{margin:0;font-size:1.1rem;color:#333}.add-reminder-modal .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;line-height:1}.reminder-form-group{margin-bottom:1rem}.reminder-form-group label{display:block;font-size:.85rem;font-weight:500;color:#555;margin-bottom:.4rem}.form-hint{font-weight:400;color:#999;font-size:.8rem}.autofill-hint{margin-top:.35rem;font-size:.78rem;color:#6f6f6f}.reminder-type-selector{display:flex;gap:.5rem}.type-pill{flex:1;padding:.6rem .5rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;text-align:center;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.3rem}.type-pill:hover{border-color:#2d6a4f}.type-pill.active{border-color:#2d6a4f;background:#e8f5e9;color:#2d6a4f;font-weight:600}.reminder-form-group select,.reminder-form-group input[type=number],.reminder-form-group input[type=time]{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff;box-sizing:border-box}.reminder-form-group select:focus,.reminder-form-group input[type=number]:focus,.reminder-form-group input[type=time]:focus{outline:none;border-color:#2d6a4f}.reminder-error{padding:.5rem;background:#fee;color:#c00;border-radius:4px;font-size:.85rem;margin-bottom:1rem}.reminder-warning{padding:.5rem;background:#fff3cd;color:#856404;border-radius:4px;font-size:.85rem;margin-bottom:1rem}.reminder-push-warning{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;margin-bottom:1rem;font-size:.82rem;line-height:1.4}.push-enable-button{flex-shrink:0;padding:.35rem .75rem;background:#e65100;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap}.push-enable-button:hover{background:#bf360c}.push-enable-button:disabled{opacity:.6;cursor:not-allowed}.reminder-prompt-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#e8f5e9;border-bottom:2px solid #81c784;animation:slideDown .2s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.reminder-prompt-label{font-size:.85rem;font-weight:500;color:#2e7d32;white-space:nowrap}.reminder-prompt-actions{display:flex;gap:.5rem;flex-wrap:wrap}.reminder-prompt-btn{padding:.4rem .85rem;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.reminder-prompt-btn.complete{background:#2e7d32;color:#fff}.reminder-prompt-btn.complete:hover{background:#1b5e20}.reminder-prompt-btn.snooze{background:#e65100;color:#fff}.reminder-prompt-btn.snooze:hover{background:#bf360c}.reminder-prompt-btn.skip{background:#757575;color:#fff}.reminder-prompt-btn.skip:hover{background:#616161}.reminder-prompt-btn.dismiss{background:transparent;color:#757575;padding:.4rem;font-size:1rem;line-height:1}.reminder-prompt-btn.dismiss:hover{color:#424242}.reminder-prompt-btn:disabled{opacity:.6;cursor:not-allowed}.reminder-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.reminder-form-actions .cancel-button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;cursor:pointer;font-size:.9rem}.reminder-form-actions .save-button{padding:.5rem 1rem;border:none;border-radius:6px;background:#2d6a4f;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500}.reminder-form-actions .save-button:disabled{opacity:.6;cursor:not-allowed}.reminder-form-actions .delete-button{padding:.5rem 1rem;border:1px solid #ef4444;border-radius:6px;background:transparent;color:#ef4444;cursor:pointer;font-size:.9rem;margin-right:auto}.reminder-form-actions .delete-button:hover{background:#fef2f2}.reminder-form-actions .delete-button:disabled{opacity:.6;cursor:not-allowed}.reminder-form-actions-right{display:flex;gap:.75rem}.edit-reminder-plant-name{font-size:.9rem;color:#2d6a4f;font-weight:500;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.edit-reminder-one-off-notice{padding:.75rem;background:#f8f9fa;border-radius:8px;color:#666;font-size:.85rem;text-align:center}.reminder-timing-selector{display:flex;gap:.5rem}.timing-pill{flex:1;padding:.5rem 1rem;border:2px solid #ddd;border-radius:6px;background:transparent;cursor:pointer;font-size:.9rem;text-align:center;transition:all .2s}.timing-pill:hover{border-color:#2d6a4f}.timing-pill.active{border-color:#2d6a4f;background:#f0fdf4;color:#2d6a4f;font-weight:600}.oneoff-datetime-inputs{display:flex;gap:.5rem}.oneoff-datetime-inputs input[type=date],.oneoff-datetime-inputs input[type=time]{flex:1;padding:.6rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff}.oneoff-datetime-inputs input:focus{outline:none;border-color:#2d6a4f}.add-reminder-global-btn{padding:.5rem 1rem;background:#2d6a4f;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s}.add-reminder-global-btn:hover{background:#245840}.create-reminder-modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:500px;width:95%;max-height:85vh;overflow-y:auto}.target-type-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.target-tab{flex:1;padding:.75rem;border:2px solid #ddd;border-radius:8px;background:transparent;cursor:pointer;text-align:center;font-size:.95rem;transition:all .2s}.target-tab:hover{border-color:#2d6a4f}.target-tab.active{border-color:#2d6a4f;background:#f0fdf4;color:#2d6a4f;font-weight:600}.target-search{width:100%;padding:.65rem .85rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;margin-bottom:.75rem;box-sizing:border-box}.target-search:focus{outline:none;border-color:#2d6a4f}.target-list{max-height:250px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem}.target-list-empty{padding:1.5rem;text-align:center;color:#888;font-size:.9rem}.target-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e9ecef;cursor:pointer;transition:background .15s}.target-item:last-child{border-bottom:none}.target-item:hover{background:#f8f9fa}.target-item.selected{background:#e8f5e9}.target-item-icon{font-size:1rem}.target-item-name{flex:1;font-size:.9rem}.target-item-zone{font-size:.8rem;color:#888}.selected-target-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:#e8f5e9;border-radius:6px;color:#2d6a4f;font-weight:500;font-size:.9rem;margin-bottom:1rem}.duplicate-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin:1rem 0}.duplicate-warning p{margin:0 0 .5rem;font-size:.9rem;color:#856404}.duplicate-warning p:last-of-type{margin-bottom:1rem}.duplicate-warning-actions{display:flex;gap:.75rem;justify-content:flex-end}.reminders-tab{padding:0 1rem}.push-subscribe-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;margin-bottom:.75rem;font-size:.85rem;color:#e65100}.push-subscribe-btn{background:#ff9800;color:#fff;border:none;padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.push-subscribe-btn:hover{background:#f57c00}.push-subscribe-btn:disabled{opacity:.7;cursor:default}.reminders-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.reminders-tab-header h2{margin:0;font-size:1.3rem;color:#333}.reminders-view-toggle{display:flex;gap:0;border:1px solid #ddd;border-radius:6px;overflow:hidden}.reminders-view-toggle .toggle-btn{padding:.4rem .75rem;border:none;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s}.reminders-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}.reminders-empty{text-align:center;padding:3rem 1rem;color:#888}.reminders-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.reminders-empty h3{margin:0 0 .5rem;color:#666}.reminders-empty p{margin:0;font-size:.9rem}.reminders-loading{text-align:center;padding:2rem;color:#888}.reminder-plant-group{margin-bottom:1rem}.reminder-plant-name,.reminder-group-name{font-weight:600;font-size:.95rem;color:#333;padding:.5rem 0;border-bottom:1px solid #e9ecef;margin-bottom:.25rem}.reminder-group-name{display:flex;align-items:center;gap:.35rem}.reminder-group-name.zone-group{color:#2d6a4f}.zone-indicator{font-size:.9rem}.reminder-feed-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f8f9fa;border-radius:8px;margin-top:.5rem;transition:opacity .3s,background .2s}.reminder-feed-card.clickable{cursor:pointer}.reminder-feed-card.clickable:hover{background:#eef1f4}.reminder-feed-card.completing{opacity:.5}.reminder-feed-card.occ-overdue{border-left:3px solid #e65100;background:#e651000a;border-radius:0 8px 8px 0}.reminder-feed-card.occ-overdue.clickable:hover{background:#e6510014}.reminder-overdue-label{font-size:.75rem;color:#e65100;font-weight:500;margin-top:.1rem}.reminder-feed-plant{font-weight:500;color:#2d6a4f}.reminder-feed-info{display:flex;align-items:center;gap:.5rem}.reminder-feed-icon{font-size:1.2rem}.reminder-feed-details{display:flex;flex-direction:column}.reminder-feed-type{font-weight:500;font-size:.9rem;color:#333}.reminder-feed-meta{font-size:.8rem;color:#888}.reminder-actions{display:flex;gap:.35rem;flex-shrink:0}.reminder-action-btn{padding:.35rem .6rem;border:none;border-radius:5px;cursor:pointer;font-size:.75rem;font-weight:500;white-space:nowrap;transition:background .2s}.reminder-action-btn.primary{background:#2d6a4f;color:#fff}.reminder-action-btn.primary:hover{background:#1b4332}.reminder-action-btn.secondary{background:#f0f0f0;color:#555}.reminder-action-btn.secondary:hover{background:#e0e0e0}.reminder-action-btn:disabled{opacity:.6;cursor:not-allowed}.reminder-upcoming-badge{padding:.3rem .6rem;border-radius:6px;background:#e8f5e9;color:#2d6a4f;font-size:.75rem;font-weight:500;white-space:nowrap}.reminders-device-section{margin-top:1.5rem;border-top:1px solid #e0e0e0;padding-top:.5rem}.device-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:.6rem 0;font-size:.9rem;font-weight:600;color:#555;cursor:pointer}.device-section-toggle:hover{color:#333}.toggle-chevron{font-size:.75rem;transition:transform .2s ease}.toggle-chevron.open{transform:rotate(180deg)}.device-section-content{padding:.5rem 0 .75rem}.device-section-description{display:block;color:#888;font-size:.78rem;margin-bottom:.75rem;line-height:1.4}.device-section-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}.hardening-progress{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;margin-bottom:.75rem;background:#e0f2fe;border-radius:6px;border-left:3px solid #0ea5e9}.hardening-progress-info{display:flex;align-items:center;gap:.5rem}.hardening-progress-icon{font-size:1.1rem}.hardening-progress-details{display:flex;flex-direction:column}.hardening-progress-title{font-weight:600;font-size:.85rem;color:#0369a1}.hardening-progress-stats{font-size:.78rem;color:#0c4a6e}.hardening-end-btn{padding:.3rem .7rem;border:1px solid #0ea5e9;border-radius:6px;background:#fff;color:#0ea5e9;font-size:.8rem;font-weight:500;cursor:pointer}.hardening-end-btn:hover{background:#0ea5e9;color:#fff}.hardening-note{display:block;font-size:.72rem;color:#0ea5e9;font-style:italic;margin-top:.15rem}html[data-theme=dark] .plant-reminders,html[data-theme=dark] .zone-reminders{background:#2a2a2a;border-color:#3a3a3a}html[data-theme=dark] .zone-reminder-note{background:#1a3a2a;color:#b0b0b0;border-left-color:#4ade80}html[data-theme=dark] .reminder-title{color:#f0f0f0}html[data-theme=dark] .reminder-item{border-top-color:#3a3a3a}html[data-theme=dark] .reminder-item-type{color:#e0e0e0}html[data-theme=dark] .reminder-item-frequency{color:#999}html[data-theme=dark] .reminder-item-next{color:#4ade80}html[data-theme=dark] .no-reminders{color:#999}html[data-theme=dark] .add-reminder-btn{border-color:#4ade80;color:#4ade80}html[data-theme=dark] .add-reminder-btn:hover{background:#4ade80;color:#1a1a1a}html[data-theme=dark] .add-reminder-modal{background:#2a2a2a}html[data-theme=dark] .add-reminder-modal .modal-header h3{color:#f0f0f0}html[data-theme=dark] .reminder-form-group label{color:#ccc}html[data-theme=dark] .type-pill{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .type-pill:hover{border-color:#4ade80}html[data-theme=dark] .type-pill.active{border-color:#4ade80;background:#1a3a2a;color:#4ade80}html[data-theme=dark] .reminder-form-group select,html[data-theme=dark] .reminder-form-group input[type=number],html[data-theme=dark] .reminder-form-group input[type=time]{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .reminder-error{background:#4a1a1a;color:#ff8080}html[data-theme=dark] .reminder-warning{background:#4a3a1a;color:#ffd080}html[data-theme=dark] .reminder-push-warning{background:#3e2700;border-color:#5a3a00;color:#ffb74d}html[data-theme=dark] .push-enable-button{background:#e65100}html[data-theme=dark] .reminder-prompt-bar{background:#1b3a1b;border-color:#4caf50}html[data-theme=dark] .reminder-prompt-label{color:#81c784}html[data-theme=dark] .push-enable-button:hover{background:#ff6d00}html[data-theme=dark] .reminder-form-actions .cancel-button{background:#1a1a1a;border-color:#444;color:#ccc}html[data-theme=dark] .push-subscribe-banner{background:#3e2700;border-color:#5a3a00;color:#ffb74d}html[data-theme=dark] .push-subscribe-btn{background:#e65100}html[data-theme=dark] .push-subscribe-btn:hover{background:#bf360c}html[data-theme=dark] .timing-pill{border-color:#444;color:#ccc;background:#1a1a1a}html[data-theme=dark] .timing-pill:hover{border-color:#2d6a4f}html[data-theme=dark] .timing-pill.active{border-color:#2d6a4f;background:#1a3a2f;color:#6fcf97}html[data-theme=dark] .oneoff-datetime-inputs input[type=date],html[data-theme=dark] .oneoff-datetime-inputs input[type=time]{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .oneoff-datetime-inputs input:focus{border-color:#2d6a4f}html[data-theme=dark] .create-reminder-modal{background:#1a1a1a;color:#e0e0e0}html[data-theme=dark] .target-tab{border-color:#444;color:#ccc;background:#1a1a1a}html[data-theme=dark] .target-tab:hover{border-color:#2d6a4f}html[data-theme=dark] .target-tab.active{border-color:#2d6a4f;background:#1a3a2f;color:#6fcf97}html[data-theme=dark] .target-search{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .target-search:focus{border-color:#2d6a4f}html[data-theme=dark] .target-list{border-color:#3a3a3a}html[data-theme=dark] .target-list-empty{color:#888}html[data-theme=dark] .target-item{border-bottom-color:#3a3a3a}html[data-theme=dark] .target-item:hover{background:#2a2a2a}html[data-theme=dark] .target-item.selected{background:#1a3a2f}html[data-theme=dark] .target-item-name{color:#e0e0e0}html[data-theme=dark] .target-item-zone{color:#888}html[data-theme=dark] .selected-target-badge{background:#1a3a2f;color:#6fcf97}html[data-theme=dark] .duplicate-warning{background:#4a3a1a;border-color:#8a7a3a}html[data-theme=dark] .duplicate-warning p{color:#ffd080}html[data-theme=dark] .reminders-tab-header h2{color:#f0f0f0}html[data-theme=dark] .reminders-view-toggle{border-color:#444}html[data-theme=dark] .reminders-view-toggle .toggle-btn{background:#1a1a1a;color:#ccc}html[data-theme=dark] .reminders-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}html[data-theme=dark] .reminder-plant-name,html[data-theme=dark] .reminder-group-name{color:#f0f0f0;border-bottom-color:#3a3a3a}html[data-theme=dark] .reminder-group-name.zone-group{color:#6fcf97}html[data-theme=dark] .reminder-feed-card{background:#2a2a2a}html[data-theme=dark] .reminder-feed-card.occ-overdue{background:#e6510017;border-left-color:#ff7043}html[data-theme=dark] .reminder-feed-card.occ-overdue.clickable:hover{background:#e6510026}html[data-theme=dark] .reminder-overdue-label{color:#ff7043}html[data-theme=dark] .reminder-feed-card.clickable:hover{background:#333}html[data-theme=dark] .reminder-feed-plant{color:#6fcf97}html[data-theme=dark] .reminder-feed-type{color:#e0e0e0}html[data-theme=dark] .reminder-feed-meta,html[data-theme=dark] .reminders-empty{color:#999}html[data-theme=dark] .reminders-empty h3{color:#ccc}html[data-theme=dark] .plant-reminders-loading,html[data-theme=dark] .zone-reminders-loading,html[data-theme=dark] .reminders-loading{color:#888}html[data-theme=dark] .reminder-upcoming-badge{background:#1a3a2a;color:#6fcf97}html[data-theme=dark] .reminder-action-btn.secondary{background:#333;color:#ccc}html[data-theme=dark] .reminder-action-btn.secondary:hover{background:#444}html[data-theme=dark] .reminder-form-actions .delete-button{border-color:#ef4444;color:#ff8080}html[data-theme=dark] .reminder-form-actions .delete-button:hover{background:#4a1a1a}html[data-theme=dark] .reminders-device-section{border-top-color:#3a3a3a}html[data-theme=dark] .device-section-toggle{color:#aaa}html[data-theme=dark] .device-section-toggle:hover{color:#ddd}html[data-theme=dark] .device-section-description{color:#777}html[data-theme=dark] .hardening-progress{background:#0c2d3f;border-left-color:#0ea5e9}html[data-theme=dark] .hardening-progress-title{color:#7dd3fc}html[data-theme=dark] .hardening-progress-stats{color:#bae6fd}html[data-theme=dark] .hardening-end-btn{background:#1e3a4a;border-color:#0ea5e9;color:#7dd3fc}html[data-theme=dark] .hardening-end-btn:hover{background:#0ea5e9;color:#fff}html[data-theme=dark] .hardening-note{color:#7dd3fc}html[data-theme=dark] .edit-reminder-plant-name{color:#6fcf97;border-bottom-color:#3a3a3a}html[data-theme=dark] .edit-reminder-one-off-notice{background:#333;color:#999}@media(prefers-color-scheme:dark){.plant-reminders,.zone-reminders{background:#2a2a2a;border-color:#3a3a3a}.zone-reminder-note{background:#1a3a2a;color:#b0b0b0;border-left-color:#4ade80}.reminder-title{color:#f0f0f0}.reminder-item{border-top-color:#3a3a3a}.reminder-item-type{color:#e0e0e0}.reminder-item-frequency{color:#999}.reminder-item-next{color:#4ade80}.no-reminders{color:#999}.push-subscribe-banner{background:#3e2700;border-color:#5a3a00;color:#ffb74d}.push-subscribe-btn{background:#e65100}.push-subscribe-btn:hover{background:#bf360c}.reminders-tab-header h2{color:#f0f0f0}.reminders-view-toggle{border-color:#444}.reminders-view-toggle .toggle-btn{background:#1a1a1a;color:#ccc}.reminders-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}.reminder-plant-name,.reminder-group-name{color:#f0f0f0;border-bottom-color:#3a3a3a}.reminder-group-name.zone-group{color:#6fcf97}.reminder-feed-card{background:#2a2a2a}.reminder-feed-card.clickable:hover{background:#333}.reminder-feed-plant{color:#6fcf97}.reminder-feed-type{color:#e0e0e0}.reminder-feed-meta,.reminders-empty{color:#999}.reminders-empty h3{color:#ccc}.plant-reminders-loading,.zone-reminders-loading,.reminders-loading{color:#888}.reminder-upcoming-badge{background:#1a3a2a;color:#6fcf97}.reminder-action-btn.secondary{background:#333;color:#ccc}.reminder-action-btn.secondary:hover{background:#444}.reminder-form-actions .delete-button{border-color:#ef4444;color:#ff8080}.reminder-form-actions .delete-button:hover{background:#4a1a1a}.reminders-device-section{border-top-color:#3a3a3a}.device-section-toggle{color:#aaa}.device-section-toggle:hover{color:#ddd}.device-section-description{color:#777}.edit-reminder-plant-name{color:#6fcf97;border-bottom-color:#3a3a3a}.edit-reminder-one-off-notice{background:#333;color:#999}.reminder-warning{background:#4a3a1a;color:#ffd080}.reminder-push-warning{background:#3e2700;border-color:#5a3a00;color:#ffb74d}.reminder-prompt-bar{background:#1b3a1b;border-color:#4caf50}.reminder-prompt-label{color:#81c784}.push-enable-button{background:#e65100}.push-enable-button:hover{background:#ff6d00}.reminder-form-actions .cancel-button{background:#1a1a1a;border-color:#444;color:#ccc}.add-reminder-btn{border-color:#4ade80;color:#4ade80}.add-reminder-btn:hover{background:#4ade80;color:#1a1a1a}.add-reminder-modal{background:#2a2a2a}.add-reminder-modal .modal-header h3{color:#f0f0f0}.reminder-form-group label{color:#ccc}.type-pill{background:#1a1a1a;border-color:#444;color:#e0e0e0}.type-pill:hover{border-color:#4ade80}.type-pill.active{border-color:#4ade80;background:#1a3a2a;color:#4ade80}.reminder-form-group select,.reminder-form-group input[type=number],.reminder-form-group input[type=time]{background:#1a1a1a;border-color:#444;color:#e0e0e0}.reminder-error{background:#4a1a1a;color:#ff8080}}@media(prefers-color-scheme:dark){.create-reminder-modal{background:#1a1a1a;color:#e0e0e0}.target-tab{border-color:#444;color:#ccc;background:#1a1a1a}.target-tab:hover{border-color:#2d6a4f}.target-tab.active{border-color:#2d6a4f;background:#1a3a2f;color:#6fcf97}.target-search{background:#1a1a1a;border-color:#444;color:#e0e0e0}.target-search:focus{border-color:#2d6a4f}.target-list{border-color:#3a3a3a}.target-list-empty{color:#888}.target-item{border-bottom-color:#3a3a3a}.target-item:hover{background:#2a2a2a}.target-item.selected{background:#1a3a2f}.target-item-name{color:#e0e0e0}.target-item-zone{color:#888}.selected-target-badge{background:#1a3a2f;color:#6fcf97}.duplicate-warning{background:#4a3a1a;border-color:#8a7a3a}.duplicate-warning p{color:#ffd080}.timing-pill{border-color:#444;color:#ccc;background:#1a1a1a}.timing-pill:hover{border-color:#2d6a4f}.timing-pill.active{border-color:#2d6a4f;background:#1a3a2f;color:#6fcf97}.oneoff-datetime-inputs input[type=date],.oneoff-datetime-inputs input[type=time]{background:#1a1a1a;border-color:#444;color:#e0e0e0}.oneoff-datetime-inputs input:focus{border-color:#2d6a4f}}@media(max-width:480px){.reminders-tab-header{flex-wrap:wrap;gap:.5rem}.reminders-tab-header h2{flex:1}.reminders-view-toggle{order:3;width:100%}.reminders-view-toggle .toggle-btn{flex:1;text-align:center}.reminder-feed-card{flex-wrap:wrap;gap:.5rem}.reminder-feed-info{flex:1 1 100%}.reminder-actions{width:100%;justify-content:flex-end}}.onboarding-modal{max-width:520px;width:100%}.onboarding-step-indicators{display:flex;justify-content:center;gap:.5rem;padding:1rem 1.5rem 0}.onboarding-dot{width:10px;height:10px;border-radius:50%;background:#ddd;transition:background .2s,transform .2s}.onboarding-dot.active{background:#2d6a4f;transform:scale(1.2)}.onboarding-dot.completed{background:#52b788}.onboarding-step{padding:1.5rem;text-align:center}.onboarding-step h2{margin:0 0 .5rem;font-size:1.4rem;color:#2d6a4f}.onboarding-step>p{color:#555;margin:0 0 1rem;line-height:1.5}.onboarding-icon{font-size:3rem;margin-bottom:.5rem}.onboarding-option-group{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.onboarding-option-btn{padding:.5rem 1rem;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s;color:#333}.onboarding-option-btn:hover{border-color:#2d6a4f;background:#f0faf4}.onboarding-option-btn.active{border-color:#2d6a4f;background:#2d6a4f;color:#fff}.onboarding-step .form-group{text-align:left;margin-bottom:1.25rem}.onboarding-step .form-group>label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.onboarding-step .checkbox-group{text-align:left}.onboarding-step .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.onboarding-step .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#2d6a4f}.onboarding-step small{display:block;margin-top:.35rem;color:#888;font-size:.82rem}.onboarding-features{display:grid;gap:.75rem;text-align:left}.onboarding-feature-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#f9f9f9;border-radius:8px}.onboarding-feature-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.onboarding-feature-item strong{display:block;margin-bottom:.15rem;font-size:.95rem;color:#333}.onboarding-feature-item p{margin:0;font-size:.85rem;color:#666;text-align:left}.onboarding-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid #eee}.onboarding-nav-buttons{display:flex;gap:.5rem}.onboarding-learn-more{max-width:420px}.onboarding-learn-more-list{list-style:disc;padding-left:1.5rem;margin:0}.onboarding-learn-more-list li{margin-bottom:.75rem;line-height:1.5;color:#444}html[data-theme=dark] .onboarding-dot{background:#555}html[data-theme=dark] .onboarding-dot.active{background:#52b788}html[data-theme=dark] .onboarding-dot.completed{background:#2d6a4f}html[data-theme=dark] .onboarding-step h2{color:#52b788}html[data-theme=dark] .onboarding-step>p{color:#bbb}html[data-theme=dark] .onboarding-option-btn{background:#2a2a2a;border-color:#555;color:#ddd}html[data-theme=dark] .onboarding-option-btn:hover{border-color:#52b788;background:#1a3a2a}html[data-theme=dark] .onboarding-option-btn.active{background:#2d6a4f;border-color:#52b788;color:#fff}html[data-theme=dark] .onboarding-feature-item{background:#2a2a2a}html[data-theme=dark] .onboarding-feature-item strong{color:#ddd}html[data-theme=dark] .onboarding-feature-item p{color:#999}html[data-theme=dark] .onboarding-step .form-group>label{color:#ddd}html[data-theme=dark] .onboarding-step small{color:#777}html[data-theme=dark] .onboarding-learn-more-list li{color:#bbb}html[data-theme=dark] .onboarding-actions{border-top-color:#444}@media(max-width:480px){.onboarding-modal{max-width:100%;margin:.5rem;max-height:95vh}.onboarding-step{padding:1rem}.onboarding-step h2{font-size:1.2rem}.onboarding-option-group{flex-direction:column}.onboarding-option-btn{width:100%}.onboarding-actions{padding:.75rem 1rem}}.pwa-onboarding-modal{max-width:480px}.pwa-onboarding-content{padding:1.5rem}.pwa-benefits{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.pwa-benefits h3{margin:0 0 1rem;font-size:1rem;color:#2d6a4f}.pwa-benefits ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.pwa-benefits li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#333}.pwa-benefits li svg{color:#2d6a4f;flex-shrink:0}.pwa-instructions h3{margin:0 0 1rem;font-size:1rem;color:#333}.pwa-steps{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.pwa-steps li{display:flex;align-items:flex-start;gap:1rem;font-size:.95rem;color:#444;counter-increment:step-counter;position:relative;padding-left:2.5rem}.pwa-steps li:before{content:counter(step-counter);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;background:#2d6a4f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600}.pwa-steps{counter-reset:step-counter}.step-icon{display:none}.pwa-prompt-text{margin:0 0 1rem;color:#555;font-size:.95rem}.pwa-install-button{display:inline-flex;align-items:center;gap:.5rem;background:#2d6a4f;color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.pwa-install-button:hover{background:#1a472a}.pwa-note{margin-top:1rem;padding:.75rem;background:#fff3cd;color:#856404;border-radius:6px;font-size:.85rem}.pwa-actions{justify-content:center}html[data-theme=dark] .pwa-benefits{border-bottom-color:#3a3a3a}html[data-theme=dark] .pwa-instructions h2,html[data-theme=dark] .pwa-instructions h3,html[data-theme=dark] .pwa-benefits h3{color:#a4eebf}html[data-theme=dark] .pwa-benefits li,html[data-theme=dark] .pwa-benefits li span{color:#e8e8e8}html[data-theme=dark] .pwa-benefits li svg{color:#4ade80}html[data-theme=dark] .pwa-instructions h3,html[data-theme=dark] .pwa-steps li,html[data-theme=dark] .pwa-steps li span{color:#e8e8e8}html[data-theme=dark] .pwa-steps li:before{background:#4ade80;color:#1a1a1a}html[data-theme=dark] .pwa-prompt-text{color:#d0d0d0}html[data-theme=dark] .pwa-install-button{background:#4ade80;color:#1a1a1a}html[data-theme=dark] .pwa-install-button:hover{background:#22c55e}html[data-theme=dark] .pwa-note{background:#4a3a1a;color:#ffd080}@media(prefers-color-scheme:dark){.pwa-benefits{border-bottom-color:#3a3a3a}.pwa-benefits h3{color:#a4eebf}.pwa-benefits li,.pwa-benefits li span{color:#e8e8e8}.pwa-benefits li svg{color:#4ade80}.pwa-instructions h3,.pwa-steps li,.pwa-steps li span{color:#e8e8e8}.pwa-steps li:before{background:#4ade80;color:#1a1a1a}.pwa-prompt-text{color:#d0d0d0}.pwa-install-button{background:#4ade80;color:#1a1a1a}.pwa-install-button:hover{background:#22c55e}.pwa-note{background:#4a3a1a;color:#ffd080}}.plant-search-container{position:relative;width:100%}.plant-search-input-wrapper{position:relative;display:flex;align-items:center}.plant-search-input{width:100%;padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;background-color:transparent;color:inherit}.plant-search-input:focus{outline:none;border-color:#646cff}.plant-search-spinner{position:absolute;right:10px;color:#888;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.plant-search-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;list-style:none;margin:0;padding:0;z-index:1000;box-shadow:0 4px 12px #00000026}.plant-search-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;text-align:left;border-bottom:1px solid #eee}.plant-search-item:last-child{border-bottom:none}.plant-search-item:hover{background:#f5f5f5}.plant-search-thumb{width:50px;height:50px;object-fit:cover;border-radius:4px;flex-shrink:0}.plant-search-info{flex:1;min-width:0}.plant-search-common{font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-search-scientific{font-size:.85rem;color:#666;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-search-meta{font-size:.75rem;color:#888;margin-top:2px}.plant-search-empty{padding:12px;text-align:center;color:#888;font-style:italic;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px}.plant-search-error{font-size:.8rem;color:#e74c3c;margin-top:4px}.selected-plant-info{display:flex;align-items:center;gap:12px;padding:10px;background:#646cff14;border:1px solid rgba(100,108,255,.3);border-radius:6px;margin-top:8px}.selected-plant-info img{width:40px;height:40px;object-fit:cover;border-radius:4px}.selected-plant-details{flex:1;text-align:left}.selected-plant-details .common-name{font-weight:500;color:#333}.selected-plant-details .scientific-name{font-size:.85rem;color:#666;font-style:italic}.selected-plant-clear{background:none;border:none;font-size:1.2rem;color:#888;cursor:pointer;padding:4px 8px}.selected-plant-clear:hover{color:#e74c3c}.species-autocomplete,.cultivar-autocomplete{position:relative;width:100%}.species-autocomplete-wrapper,.cultivar-autocomplete-wrapper{position:relative;display:flex;align-items:center}.species-autocomplete-input,.cultivar-autocomplete-input{width:100%;padding:.5rem 2rem .5rem .5rem;border:1px solid #ccc;border-radius:4px;background-color:transparent;font-size:.95rem;color:inherit}.species-autocomplete-input:focus,.cultivar-autocomplete-input:focus{border-color:#646cff;outline:none}.species-autocomplete-spinner,.cultivar-autocomplete-spinner{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid #ddd;border-top-color:#646cff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.species-autocomplete-clear,.cultivar-autocomplete-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.3rem;cursor:pointer;color:#888;padding:2px 6px;line-height:1}.species-autocomplete-clear:hover,.cultivar-autocomplete-clear:hover{color:#e74c3c}.species-autocomplete-dropdown,.cultivar-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;list-style:none;padding:0;margin:0;box-shadow:0 4px 12px #0000001a}.species-autocomplete-item,.cultivar-autocomplete-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:2px}.species-autocomplete-item:last-child,.cultivar-autocomplete-item:last-child{border-bottom:none}.species-autocomplete-item.highlighted,.species-autocomplete-item:hover,.cultivar-autocomplete-item.highlighted,.cultivar-autocomplete-item:hover{background:#f5f5ff}.species-item-name,.cultivar-item-name{font-weight:500;color:#333;font-size:.95rem}.species-item-scientific{font-size:.82rem;color:#666;font-style:italic}.species-item-common{font-size:.82rem;color:#888}.species-item-cultivar-count{font-size:.75rem;color:#999}.species-autocomplete-empty,.cultivar-autocomplete-empty{position:absolute;top:100%;left:0;right:0;padding:12px;text-align:center;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px;color:#666;font-size:.9rem;z-index:1000}html[data-theme=dark] .plant-search-dropdown{background:#2a2a2a;border-color:#444}html[data-theme=dark] .plant-search-item{border-bottom-color:#444}html[data-theme=dark] .plant-search-item:hover{background:#333}html[data-theme=dark] .plant-search-common{color:#e0e0e0}html[data-theme=dark] .plant-search-scientific{color:#aaa}html[data-theme=dark] .plant-search-empty{background:#2a2a2a;border-color:#444}html[data-theme=dark] .selected-plant-info{background:#646cff26;border-color:#646cff66}html[data-theme=dark] .selected-plant-details .common-name{color:#e0e0e0}html[data-theme=dark] .selected-plant-details .scientific-name{color:#aaa}.board-search-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;overflow:hidden}.board-search-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .1s}.board-search-item:last-child{border-bottom:none}.board-search-item:hover,.board-search-item--active{background:#f5f5ff}.board-search-icon{flex-shrink:0;font-size:1.1rem;width:1.6rem;text-align:center;line-height:1}.board-search-label{flex:1;min-width:0;font-size:.88rem;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-search-location{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}html[data-theme=dark] .board-search-panel{background:#2a2a2a;border-color:#444;box-shadow:0 4px 16px #0006}html[data-theme=dark] .board-search-item{border-bottom-color:#3a3a3a}html[data-theme=dark] .board-search-item:hover,html[data-theme=dark] .board-search-item--active{background:#333}html[data-theme=dark] .board-search-label{color:#e0e0e0}html[data-theme=dark] .board-search-location{color:#888}@media(prefers-color-scheme:dark){.board-search-panel{background:#2a2a2a;border-color:#444;box-shadow:0 4px 16px #0006}.board-search-item{border-bottom-color:#3a3a3a}.board-search-item:hover,.board-search-item--active{background:#333}.board-search-label{color:#e0e0e0}.board-search-location{color:#888}}.scientific-name-display{font-style:italic;color:#666}html[data-theme=dark] .scientific-name-display{color:#aaa}.plantdb-stats{max-width:1200px;margin:0 auto 1.5rem;padding:1.25rem;background:#f9fdf9;border:1px solid #e0e8e0;border-radius:8px}.plantdb-stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.plantdb-stats-header h3{margin:0;font-size:1rem;color:#333}.plantdb-stats-badge{font-size:.7rem;padding:.15rem .5rem;background:#e8f5e9;color:#2e7d32;border-radius:10px;font-weight:600;letter-spacing:.03em}.plantdb-stats-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.plantdb-stat-card{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:#fff;border-radius:6px;border:1px solid #e8ece8}.plantdb-stat-value{font-size:1.5rem;font-weight:700;color:#2e7d32}.plantdb-stat-label{font-size:.75rem;color:#666;text-align:center}.plantdb-stats-chart{padding-top:.5rem;border-top:1px solid #e8ece8}.plantdb-chart-label{font-size:.8rem;color:#888;margin-bottom:.5rem}.plantdb-chart-bars{display:flex;gap:.5rem}.plantdb-chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.plantdb-chart-bar-wrapper{width:100%;display:flex;flex-direction:column;align-items:center}.plantdb-chart-bar-count{font-size:.65rem;color:#555;font-weight:600;height:1rem;line-height:1rem}.plantdb-chart-bar-area{width:100%;height:80px;display:flex;align-items:flex-end;justify-content:center}.plantdb-chart-bar{width:100%;max-width:40px;background:#4caf50;border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.plantdb-chart-day{font-size:.7rem;color:#888}.plantdb-chart-date{font-size:.6rem;color:#aaa}.plantdb-stats-description{font-size:.8rem;color:#666;margin-bottom:1rem;line-height:1.4}.plantdb-stats-description a{color:#2e7d32;text-decoration:none;font-weight:500}.plantdb-stats-description a:hover{text-decoration:underline}.plantdb-contributed-logs{padding-top:.75rem;border-top:1px solid #e8ece8;margin-top:.75rem}.plantdb-contributed-logs-header{font-size:.8rem;color:#888;margin-bottom:.5rem}.plantdb-contributed-logs-list{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.plantdb-contributed-log-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;background:#fff;border-radius:6px;border:1px solid #e8ece8;font-size:.8rem}.plantdb-contributed-log-type{font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;background:#e8f5e9;color:#2e7d32;white-space:nowrap;text-transform:capitalize}.plantdb-contributed-log-plant{font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.plantdb-contributed-log-desc{flex:1;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.plantdb-contributed-log-date{font-size:.7rem;color:#999;white-space:nowrap;margin-left:auto}.plantdb-contributed-logs-empty{font-size:.8rem;color:#999;text-align:center;padding:1rem}@media(max-width:600px){.plantdb-stats-cards{grid-template-columns:repeat(2,1fr)}}.plant-inventory-section{margin:1rem 0;padding:1rem 1.25rem;background:#f0f7f0;border-left:3px solid #4caf50;border-radius:8px}.plant-inventory-section h4{margin:0 0 .75rem;font-size:.95rem;color:#333}.inventory-subsection-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#888;margin:.6rem 0 .25rem;font-weight:600}.inventory-subsection-label:first-of-type{margin-top:0}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem 1rem}.inventory-item{display:flex;flex-direction:column;padding:.25rem 0}.inventory-label{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.02em}.inventory-value{font-size:1.1rem;font-weight:600;color:#333}.inventory-item.highlight .inventory-value{color:#4caf50;font-size:1.25rem}.inventory-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e8e0}.inv-btn{font-size:.78rem;padding:.35rem .6rem;border-radius:6px;border:1px solid #ddd;background:#fff;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.inv-btn:active{transform:scale(.96)}.inv-btn.inv-germinated{border-color:#4caf50;color:#2e7d32}.inv-btn.inv-germinated:hover{background:#e8f5e9}.inv-btn.inv-potted-up{border-color:#a3865d;color:#6d5a3a}.inv-btn.inv-potted-up:hover{background:#f5f0e8}.inv-btn.inv-dead{border-color:#999;color:#666}.inv-btn.inv-dead:hover{background:#f5f5f5}.inv-btn.inv-gifted{border-color:#e91e63;color:#ad1457}.inv-btn.inv-gifted:hover{background:#fce4ec}.inv-btn.inv-planted-out{border-color:#2196f3;color:#1565c0}.inv-btn.inv-planted-out:hover{background:#e3f2fd}.inv-btn.inv-set{border-color:#90a4ae;color:#546e7a;margin-left:.25rem;border-radius:6px}.inv-btn.inv-set:hover{background:#eceff1}.inv-set-inline{margin-left:.25rem;display:inline-flex}.inv-set-input{width:3.5rem;padding:.3rem .4rem;font-size:.82rem;border:1.5px solid #4caf50;border-radius:6px;text-align:center;outline:none;background:#fff;color:#333;-moz-appearance:textfield}.inv-set-input::-webkit-outer-spin-button,.inv-set-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inv-btn-group{display:flex;gap:0}.inv-btn-group .inv-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.inv-btn-group .inv-undo{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;padding:.35rem .4rem;font-size:.72rem;font-weight:600;opacity:.7}.inv-btn-group .inv-undo:hover{opacity:1}.inventory-ratio{color:#4caf50;font-weight:600}.inventory-tab{padding:.5rem 0}.inventory-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.inventory-summary-card{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:#fff;border-radius:8px;border:1px solid #e8ece8}.inventory-summary-value{font-size:1.5rem;font-weight:700;color:#333}.inventory-summary-card.highlight-alive .inventory-summary-value{color:#4caf50}.inventory-summary-card.highlight-dead .inventory-summary-value{color:#999}.inventory-summary-label{font-size:.72rem;color:#888;text-transform:uppercase;letter-spacing:.02em;text-align:center}.inventory-view-toggle{display:flex;gap:0;margin-bottom:1rem;border:1px solid #ddd;border-radius:8px;overflow:hidden}.inventory-toggle-btn{flex:1;padding:.5rem;font-size:.85rem;border:none;background:#f5f5f5;cursor:pointer;transition:background .15s,color .15s;color:#666}.inventory-toggle-btn.active{background:#4caf50;color:#fff;font-weight:600}.inventory-zone-card{background:#fff;border:1px solid #e8ece8;border-radius:8px;margin-bottom:.5rem;overflow:hidden}.inventory-zone-header{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;gap:.75rem;-webkit-user-select:none;user-select:none}.inventory-zone-header:hover{background:#f8f8f8}.inventory-zone-title{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0}.inventory-zone-icon{font-size:1.1rem}.inventory-zone-name{font-weight:600;font-size:.9rem;color:#333}.inventory-zone-count{font-size:.75rem;color:#999}.inventory-zone-summary{display:flex;gap:.75rem;flex-shrink:0}.inventory-zone-stat{font-size:.82rem;color:#666}.inventory-zone-stat.alive{color:#4caf50;font-weight:600}.inventory-zone-stat.dead{color:#999}.inventory-zone-chevron{font-size:.8rem;color:#999;transition:transform .2s}.inventory-zone-chevron.expanded{transform:rotate(90deg)}.inventory-zone-plants{border-top:1px solid #eee;padding:.25rem 0}.inventory-plant-row{display:flex;align-items:center;padding:.6rem 1rem;gap:.75rem;border-bottom:1px solid #f0f0f0}.inventory-plant-row:last-child{border-bottom:none}.inventory-plant-row.compact{padding:.5rem 1rem .5rem 1.5rem}.inventory-plant-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.inventory-plant-info--clickable{cursor:pointer;border-radius:6px;transition:background .15s}.inventory-plant-info--clickable:hover{background:var(--bg-hover, rgba(0, 0, 0, .06))}.inventory-plant-icon{font-size:1.1rem;flex-shrink:0}.inventory-plant-name-block{display:flex;flex-direction:column;min-width:0}.inventory-plant-name{font-weight:500;font-size:.88rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-plant-species{font-size:.72rem;color:#999;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-plant-counts{display:flex;gap:.5rem;flex-shrink:0}.inventory-count-item{font-size:.82rem;color:#666;white-space:nowrap}.inventory-count-item.alive{color:#4caf50;font-weight:600}.inventory-count-item.dead{color:#999}.inventory-plant-actions{display:flex;gap:.3rem;flex-shrink:0}.inventory-plants-list{background:#fff;border:1px solid #e8ece8;border-radius:8px;overflow:hidden}@media(max-width:600px){.inventory-summary-cards{grid-template-columns:repeat(2,1fr)}.inventory-plant-row{flex-wrap:wrap}.inventory-plant-counts{order:3;width:100%;padding-top:.25rem}.inventory-plant-actions{order:2}.inventory-zone-summary{display:none}}.plant-info-section{margin:1rem 0;padding:1rem 1.25rem;background:#f0f7ff;border-left:3px solid #2196f3;border-radius:8px}.plant-info-section h4{margin:0 0 .5rem;font-size:.95rem;color:#333}.plant-info-section.plant-info-empty{background:#f9f9f9;border-left-color:#ccc}.plant-info-section.plant-info-empty p{margin:0;color:#888;font-size:.85rem}.plant-info-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #e0e8f0}.plant-info-row:last-of-type{border-bottom:none}.plant-info-label{font-weight:600;font-size:.85rem;min-width:110px;color:#555}.plant-info-value{font-size:.9rem;color:#333}.plant-info-notes{font-size:.85rem;color:#555;margin-top:.5rem;font-style:italic;line-height:1.4}.plant-info-sources{margin-top:.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.plant-info-sources a{font-size:.8rem;color:#2196f3;text-decoration:none}.plant-info-sources a:hover{text-decoration:underline}html[data-theme=dark] .plantdb-stats{background:#1a2218;border-color:#2d4030}html[data-theme=dark] .plantdb-stats-badge{background:#14532d;color:#86efac}html[data-theme=dark] .plantdb-stat-card{background:#242e27;border-color:#2d4030}html[data-theme=dark] .plantdb-stat-value{color:#81c784}html[data-theme=dark] .plantdb-stat-label{color:#888}html[data-theme=dark] .plantdb-stats-chart{border-top-color:#2d4030}html[data-theme=dark] .plantdb-chart-label,html[data-theme=dark] .plantdb-chart-day,html[data-theme=dark] .plantdb-chart-date{color:#888}html[data-theme=dark] .plantdb-contributed-log-item{background:#242e27;border-color:#2d4030}html[data-theme=dark] .plantdb-contributed-log-type{background:#14532d;color:#86efac}html[data-theme=dark] .plantdb-contributed-log-desc{color:#aaa}html[data-theme=dark] .plantdb-contributed-logs-header{color:#888}html[data-theme=dark] .plant-inventory-section{background:#1a2a1a;border-left-color:#52b788}html[data-theme=dark] .plant-inventory-section h4,html[data-theme=dark] .inventory-value{color:#e0e0e0}html[data-theme=dark] .inventory-actions{border-top-color:#2d4030}html[data-theme=dark] .inv-btn.inv-germinated{border-color:#52b788;color:#81c784}html[data-theme=dark] .inv-btn.inv-germinated:hover{background:#14532d}html[data-theme=dark] .inv-btn.inv-potted-up{border-color:#a3865d;color:#c9a876}html[data-theme=dark] .inv-btn.inv-potted-up:hover{background:#3a2a15}html[data-theme=dark] .inv-btn.inv-dead:hover{background:#2a2a2a}html[data-theme=dark] .inv-btn.inv-gifted:hover{background:#3d0a1e}html[data-theme=dark] .inv-btn.inv-planted-out:hover{background:#0d2a4a}html[data-theme=dark] .inv-btn.inv-set:hover{background:#1e2a30}html[data-theme=dark] .inv-set-input{background:#2a2a2a;border-color:#52b788;color:#e0e0e0}html[data-theme=dark] .inventory-summary-card{background:#242e27;border-color:#2d4030}html[data-theme=dark] .inventory-toggle-btn{background:#2a2a2a;color:#aaa}html[data-theme=dark] .inventory-zone-card{background:#1e2820;border-color:#2d4030}html[data-theme=dark] .inventory-zone-header:hover{background:#242e27}html[data-theme=dark] .inventory-plant-row{border-bottom-color:#2d4030}html[data-theme=dark] .inventory-plant-species{color:#aaa}html[data-theme=dark] .plant-info-section{background:#1e2820;border-left-color:#2d4030}html[data-theme=dark] .plant-info-label{color:#888}html[data-theme=dark] .plant-info-value{color:#e0e0e0}html[data-theme=dark] .plant-info-notes{background:#242e27;border-left-color:#555;color:#ccc}html[data-theme=dark] .species-autocomplete-input,html[data-theme=dark] .cultivar-autocomplete-input{border-color:#444;color:#e0e0e0}html[data-theme=dark] .species-autocomplete-dropdown,html[data-theme=dark] .cultivar-autocomplete-dropdown{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0000004d}html[data-theme=dark] .species-autocomplete-item,html[data-theme=dark] .cultivar-autocomplete-item{border-bottom-color:#3a3a3a}html[data-theme=dark] .species-autocomplete-item.highlighted,html[data-theme=dark] .species-autocomplete-item:hover,html[data-theme=dark] .cultivar-autocomplete-item.highlighted,html[data-theme=dark] .cultivar-autocomplete-item:hover{background:#333}html[data-theme=dark] .species-item-name,html[data-theme=dark] .cultivar-item-name{color:#e0e0e0}html[data-theme=dark] .species-item-scientific{color:#aaa}html[data-theme=dark] .species-item-common{color:#888}html[data-theme=dark] .species-autocomplete-empty,html[data-theme=dark] .cultivar-autocomplete-empty{background:#2a2a2a;border-color:#444;color:#888}html[data-theme=dark] .species-autocomplete-spinner,html[data-theme=dark] .cultivar-autocomplete-spinner{border-color:#444;border-top-color:#646cff}html[data-theme=dark] .plant-inventory-section{background:#1a2a1a;border-left-color:#4caf50}html[data-theme=dark] .plant-inventory-section h4{color:#e0e0e0}html[data-theme=dark] .inventory-subsection-label{color:#999}html[data-theme=dark] .inventory-value{color:#e0e0e0}html[data-theme=dark] .inventory-label{color:#999}html[data-theme=dark] .inventory-actions{border-top-color:#2a3a2a}html[data-theme=dark] .inv-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .inv-btn.inv-germinated{border-color:#4caf50;color:#81c784}html[data-theme=dark] .inv-btn.inv-potted-up{border-color:#a3865d;color:#c4a87a}html[data-theme=dark] .inv-btn.inv-dead{border-color:#666;color:#999}html[data-theme=dark] .inv-btn.inv-gifted{border-color:#e91e63;color:#f48fb1}html[data-theme=dark] .inv-btn.inv-planted-out{border-color:#2196f3;color:#64b5f6}html[data-theme=dark] .inv-btn.inv-set{border-color:#607d8b;color:#90a4ae}html[data-theme=dark] .inv-btn.inv-set:hover{background:#37474f}html[data-theme=dark] .inv-set-input{background:#1e1e1e;border-color:#4caf50;color:#e0e0e0}html[data-theme=dark] .inventory-summary-card{background:#2a2a2a;border-color:#444}html[data-theme=dark] .inventory-summary-value{color:#e0e0e0}html[data-theme=dark] .inventory-summary-card.highlight-alive .inventory-summary-value{color:#81c784}html[data-theme=dark] .inventory-summary-label{color:#999}html[data-theme=dark] .inventory-view-toggle{border-color:#444}html[data-theme=dark] .inventory-toggle-btn{background:#2a2a2a;color:#999}html[data-theme=dark] .inventory-toggle-btn.active{background:#4caf50;color:#fff}html[data-theme=dark] .inventory-zone-card{background:#2a2a2a;border-color:#444}html[data-theme=dark] .inventory-zone-header:hover{background:#333}html[data-theme=dark] .inventory-zone-name{color:#e0e0e0}html[data-theme=dark] .inventory-zone-plants{border-top-color:#444}html[data-theme=dark] .inventory-plant-row{border-bottom-color:#333}html[data-theme=dark] .inventory-plant-name{color:#e0e0e0}html[data-theme=dark] .inventory-count-item{color:#bbb}html[data-theme=dark] .inventory-count-item.alive{color:#81c784}html[data-theme=dark] .inventory-plants-list{background:#2a2a2a;border-color:#444}.plant-forecast-section{margin:1rem 0;padding:1rem 1.25rem;background:#f5f0ff;border-left:3px solid #7c3aed;border-radius:8px}.plant-forecast-section h4{margin:0 0 .25rem;font-size:.95rem;color:#333}.forecast-scope{font-size:.72rem;color:#999;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.03em}.forecast-timeline{display:flex;flex-direction:column;gap:.6rem}.forecast-stage{padding:.4rem 0;border-top:1px solid #e5e0f0}.forecast-stage:first-child{border-top:none;padding-top:0}.forecast-stage.past{opacity:.45}.forecast-stage-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.forecast-stage-icon{font-size:1rem}.forecast-stage-name{font-weight:600;font-size:.82rem;color:#555}.forecast-sample-size{font-size:.68rem;color:#bbb;margin-left:auto}.forecast-range{display:flex;align-items:center;gap:.5rem}.forecast-date{font-size:.75rem;color:#666;min-width:50px}.forecast-bar{flex:1;height:8px;background:#e5e0f0;border-radius:4px;position:relative}.forecast-bar-fill{height:100%;background:linear-gradient(90deg,#c4b5fd,#7c3aed);border-radius:4px;width:100%}.forecast-median-marker{position:absolute;top:-3px;left:50%;width:3px;height:14px;background:#7c3aed;border-radius:1px;transform:translate(-50%)}.forecast-median-label{font-size:.72rem;color:#7c3aed;font-weight:500;margin-top:.15rem}.forecast-actual-dot{position:absolute;top:50%;width:10px;height:10px;background:#f59e0b;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 3px #0003}.forecast-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.6rem;padding-top:.5rem;border-top:1px solid #e5e0f0}.forecast-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#888}.forecast-legend-bar{display:inline-block;width:18px;height:6px;background:linear-gradient(90deg,#c4b5fd,#7c3aed);border-radius:3px}.forecast-legend-median{display:inline-block;width:3px;height:12px;background:#7c3aed;border-radius:1px}.forecast-legend-dot{display:inline-block;width:8px;height:8px;background:#f59e0b;border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px #00000026}.forecast-disclaimer{font-size:.7rem;color:#aaa;margin:.75rem 0 0;font-style:italic}html[data-theme=dark] .plant-forecast-section{background:#1f1530;border-left-color:#7c3aed}html[data-theme=dark] .plant-forecast-section h4{color:#e0e0e0}html[data-theme=dark] .forecast-stage{border-color:#3a3050}html[data-theme=dark] .forecast-stage-name{color:#ccc}html[data-theme=dark] .forecast-bar{background:#3a3050}html[data-theme=dark] .forecast-date{color:#aaa}html[data-theme=dark] .forecast-median-label{color:#a78bfa}html[data-theme=dark] .forecast-disclaimer{color:#777}html[data-theme=dark] .forecast-actual-dot{border-color:#1f1530}html[data-theme=dark] .forecast-legend{border-color:#3a3050}html[data-theme=dark] .forecast-legend-item{color:#999}html[data-theme=dark] .forecast-legend-dot{border-color:#1f1530}html[data-theme=dark] .plant-info-section{background:#1f2530;border-left-color:#2196f3}html[data-theme=dark] .plant-info-section h4{color:#e0e0e0}html[data-theme=dark] .plant-info-section.plant-info-empty{background:#1e1e1e;border-left-color:#555}html[data-theme=dark] .plant-info-section.plant-info-empty p{color:#777}html[data-theme=dark] .plant-info-row{border-bottom-color:#3a3a3a}html[data-theme=dark] .plant-info-label{color:#a0b4c8}html[data-theme=dark] .plant-info-value{color:#ddd}html[data-theme=dark] .plant-info-notes{color:#999}html[data-theme=dark] .plant-info-sources a{color:#64b5f6}html[data-theme=dark] .plantdb-stats{background:#1a2e1a;border-color:#2a3e2a}html[data-theme=dark] .plantdb-stats-header h3{color:#e0e0e0}html[data-theme=dark] .plantdb-stats-badge{background:#1b5e20;color:#a5d6a7}html[data-theme=dark] .plantdb-stat-card{background:#1e1e1e;border-color:#333}html[data-theme=dark] .plantdb-stat-value{color:#66bb6a}html[data-theme=dark] .plantdb-stat-label{color:#aaa}html[data-theme=dark] .plantdb-stats-chart{border-top-color:#333}html[data-theme=dark] .plantdb-chart-label{color:#999}html[data-theme=dark] .plantdb-chart-bar{background:#388e3c}html[data-theme=dark] .plantdb-chart-bar-count{color:#bbb}html[data-theme=dark] .plantdb-chart-day{color:#888}html[data-theme=dark] .plantdb-chart-date{color:#777}html[data-theme=dark] .plantdb-stats-description{color:#aaa}html[data-theme=dark] .plantdb-stats-description a{color:#66bb6a}html[data-theme=dark] .plantdb-contributed-logs{border-top-color:#333}html[data-theme=dark] .plantdb-contributed-logs-header{color:#999}html[data-theme=dark] .plantdb-contributed-log-item{background:#1e1e1e;border-color:#333}html[data-theme=dark] .plantdb-contributed-log-type{background:#1b5e20;color:#a5d6a7}html[data-theme=dark] .plantdb-contributed-log-plant{color:#e0e0e0}html[data-theme=dark] .plantdb-contributed-log-desc{color:#999}html[data-theme=dark] .plantdb-contributed-log-date,html[data-theme=dark] .plantdb-contributed-logs-empty{color:#777}.inventory-metrics{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.inventory-metric{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#fff;border-radius:8px;border:1px solid #e8ece8;min-width:80px}.inventory-metric-value{font-size:1.5rem;font-weight:700;color:#333}.inventory-metric-label{font-size:.72rem;color:#888;text-transform:uppercase;letter-spacing:.02em;text-align:center}.inventory-metric.highlight-alive .inventory-metric-value{color:#4caf50}.inventory-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.inventory-toolbar-label{font-size:.78rem;color:#888;white-space:nowrap}.inventory-group-btns{display:flex;gap:0;border:1px solid #ddd;border-radius:8px;overflow:hidden}.inventory-group-btn{padding:.4rem .65rem;font-size:.8rem;border:none;border-right:1px solid #ddd;background:#f5f5f5;color:#666;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.inventory-group-btn:last-child{border-right:none}.inventory-group-btn.active{background:#4caf50;color:#fff;font-weight:600}.inventory-group-btn:not(.active):hover{background:#eee}.inventory-toggle-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:#555;cursor:pointer;white-space:nowrap}.inventory-toggle-label input[type=checkbox]{cursor:pointer}.inventory-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.inventory-search{padding:.45rem .7rem;font-size:.85rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;min-width:160px;flex:1;max-width:280px}.inventory-search:focus{outline:none;border-color:#4caf50}.inventory-filter-select{padding:.45rem .7rem;font-size:.85rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;cursor:pointer}.inventory-filter-select:focus{outline:none;border-color:#4caf50}.inventory-empty-filtered{padding:2rem 1rem;text-align:center;color:#666}.inventory-empty-hint{font-size:.82rem;color:#aaa;margin-top:.25rem}.inventory-clear-filters-inline{margin-top:1rem;padding:.45rem 1rem;font-size:.85rem;border:1px solid #ccc;border-radius:6px;background:#fff;color:#555;cursor:pointer;transition:background .15s,border-color .15s}.inventory-clear-filters-inline:hover{background:#f5f5f5;border-color:#aaa}.inventory-show-more{display:block;width:100%;padding:.6rem;margin-top:.5rem;font-size:.85rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:#4caf50;cursor:pointer;text-align:center;transition:background .15s}.inventory-show-more:hover{background:#f0faf0}.inventory-footer{display:flex;align-items:center;justify-content:space-between;padding:.6rem .25rem;font-size:.8rem;color:#888;margin-top:.5rem}.inventory-clear-filters{font-size:.8rem;color:#2e7d32;background:none;border:none;cursor:pointer;padding:.2rem .4rem;border-radius:4px;text-decoration:underline}.inventory-clear-filters:hover{background:#e8f5e9}.inventory-plant-path{font-size:.68rem;color:#bbb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-groups-list{display:flex;flex-direction:column;gap:.5rem}html[data-theme=dark] .inventory-metric{background:#2a2a2a;border-color:#444}html[data-theme=dark] .inventory-metric-value{color:#e0e0e0}html[data-theme=dark] .inventory-metric-label{color:#999}html[data-theme=dark] .inventory-metric.highlight-alive .inventory-metric-value{color:#81c784}html[data-theme=dark] .inventory-group-btns{border-color:#444}html[data-theme=dark] .inventory-group-btn{background:#2a2a2a;border-right-color:#444;color:#999}html[data-theme=dark] .inventory-group-btn.active{background:#4caf50;color:#fff}html[data-theme=dark] .inventory-group-btn:not(.active):hover{background:#333}html[data-theme=dark] .inventory-toolbar-label{color:#777}html[data-theme=dark] .inventory-toggle-label{color:#aaa}html[data-theme=dark] .inventory-search{background:#1e1e1e;border-color:#444;color:#e0e0e0}html[data-theme=dark] .inventory-search:focus{border-color:#4caf50}html[data-theme=dark] .inventory-filter-select{background:#1e1e1e;border-color:#444;color:#e0e0e0}html[data-theme=dark] .inventory-filter-select:focus{border-color:#4caf50}html[data-theme=dark] .inventory-empty-filtered{color:#aaa}html[data-theme=dark] .inventory-empty-hint{color:#666}html[data-theme=dark] .inventory-clear-filters-inline{background:#2a2a2a;border-color:#444;color:#aaa}html[data-theme=dark] .inventory-clear-filters-inline:hover{background:#333;border-color:#666}html[data-theme=dark] .inventory-show-more{background:#2a2a2a;border-color:#444;color:#81c784}html[data-theme=dark] .inventory-show-more:hover{background:#1a2e1a}html[data-theme=dark] .inventory-footer{color:#777}html[data-theme=dark] .inventory-clear-filters{color:#81c784}html[data-theme=dark] .inventory-clear-filters:hover{background:#1a2e1a}html[data-theme=dark] .inventory-plant-path{color:#666}@media(max-width:600px){.inventory-metrics{gap:.5rem}.inventory-metric{padding:.5rem .75rem;min-width:70px}.inventory-toolbar{gap:.5rem}.inventory-group-btn{padding:.35rem .45rem;font-size:.75rem}}.updates-tab{width:100%;max-width:800px;margin:0 auto;text-align:left}.updates-tab h2{margin-top:0;margin-bottom:0;color:#333}.updates-tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.mark-all-read-btn{background:none;border:1px solid #ccc;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;color:#555;cursor:pointer;transition:all .2s}.mark-all-read-btn:hover{background:#f0f0f0;border-color:#999;color:#333}.broadcasts-list{display:flex;flex-direction:column;gap:1rem}.broadcast-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.broadcast-item:hover{border-color:#646cff;box-shadow:0 2px 8px #646cff1a}.broadcast-item.unread{border-left:4px solid #646cff;background:#f8f9ff}.broadcast-item.expanded{border-color:#646cff}.broadcast-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.broadcast-title-row{display:flex;align-items:center;gap:.5rem}.unread-indicator{width:8px;height:8px;background-color:#ef4444;border-radius:50%;flex-shrink:0}.broadcast-title{margin:0;font-size:1rem;font-weight:600;color:#333}.broadcast-date{font-size:.85rem;color:#888;white-space:nowrap}.broadcast-content{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.broadcast-content .rich-text{color:#555}html[data-theme=dark] .broadcast-content .rich-text{color:silver}.broadcast-author{font-size:.85rem;color:#888;font-style:italic}.tab-button .unread-dot{display:inline-block;width:8px;height:8px;background-color:#ef4444;border-radius:50%;margin-left:6px;vertical-align:middle}.tab-button .reminder-count-badge,.intent-button .reminder-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background-color:#ef4444;color:#fff;border-radius:9px;font-size:.7rem;font-weight:600;line-height:1;vertical-align:middle}.admin-panel{width:100%;max-width:900px;margin:0 auto}.admin-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:1.5rem}.admin-tab-button{padding:.6rem 1.2rem;border:none;background:none;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.admin-tab-button:hover{color:#333}.admin-tab-button.active{color:#646cff;border-bottom-color:#646cff}.admin-members-controls{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.admin-members-search{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem}.admin-members-search:focus{outline:none;border-color:#646cff}.admin-members-sort{padding:.5rem .75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;background:#fff}.admin-members-count{font-size:.85rem;color:#888;margin-bottom:.5rem}.admin-members-empty{color:#888;text-align:center;padding:2rem 0}.admin-members-table td{vertical-align:middle}.admin-role-badge{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-role-badge.user{background:#f0f0f0;color:#666}.admin-role-badge.admin{background:#eef2ff;color:#646cff}.admin-reset-button{padding:.3rem .6rem;font-size:.8rem;border:1px solid #d0d0d0;border-radius:4px;background:#fff;color:#333;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.admin-reset-button:hover:not(:disabled){background:#f5f5f5;border-color:#646cff;color:#646cff}.admin-reset-button:disabled{opacity:.6;cursor:default}.admin-control-panel{width:100%;max-width:800px;margin:0 auto;text-align:left}.admin-control-panel h2{margin-top:0;margin-bottom:1.5rem;color:#333}.admin-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.admin-section h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:#333}.broadcast-form{display:flex;flex-direction:column;gap:1rem}.broadcast-form .form-group input,.broadcast-form .form-group textarea{width:100%;box-sizing:border-box}.broadcast-form .submit-button{align-self:flex-start;padding:.75rem 1.5rem;background:#646cff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.broadcast-form .submit-button:hover:not(:disabled){background:#535bf2}.broadcast-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#ef4444;font-size:.9rem;padding:.5rem;background:#fef2f2;border-radius:4px}.form-success{color:#16a34a;font-size:.9rem;padding:.5rem;background:#f0fdf4;border-radius:4px}.admin-section-description{color:#666;font-size:.9rem;margin-bottom:1rem}.admin-maintenance-toggle{margin-bottom:1rem}.admin-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.admin-toggle-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.maintenance-status-badge{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.03em}.maintenance-status-badge.active{background:#fef3c7;color:#92400e}.maintenance-status-badge.inactive{background:#d1fae5;color:#065f46}.admin-maintenance-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.admin-maintenance-fields textarea,.admin-maintenance-fields input{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:inherit;background:transparent;color:inherit}.admin-button{padding:.5rem 1.25rem;background:#646cff;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.admin-button:hover{background:#535bf2}.admin-button:disabled{opacity:.6;cursor:not-allowed}.admin-error{color:#dc2626;font-size:.9rem;margin-bottom:.75rem}.admin-success{color:#16a34a;font-size:.9rem;margin-bottom:.75rem}.maintenance-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;padding:2rem;position:fixed;inset:0;overflow:hidden;box-sizing:border-box}.maintenance-container{width:100%;max-width:480px;position:relative;z-index:1}.maintenance-card{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;box-shadow:0 10px 40px #0003;padding:2.5rem 2rem;text-align:center}.maintenance-icon{font-size:3rem;margin-bottom:.75rem}.maintenance-title{font-size:1.6rem;margin:0 0 .5rem;color:#1a1a2e}.maintenance-subtitle{color:#555;font-size:1rem;margin:0 0 1.25rem}.maintenance-reason{background:#f8f9fa;border-left:3px solid #646cff;padding:.75rem 1rem;border-radius:0 8px 8px 0;margin-bottom:1.25rem;text-align:left}.maintenance-reason p{margin:0;color:#333;font-size:.95rem;line-height:1.5}.maintenance-eta{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.25rem;font-size:.95rem}.maintenance-eta-label{color:#666}.maintenance-eta-value{font-weight:600;color:#333}.maintenance-footer{color:#888;font-size:.85rem;margin:0}.maintenance-login-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e7eb}.maintenance-login-toggle{font-size:.85rem;color:#646cff}.maintenance-login-form{margin-top:.75rem;text-align:left}.maintenance-login-form h2{display:none}.maintenance-banner{position:sticky;top:0;z-index:999;background:#fef3c7;border-bottom:2px solid #f59e0b;padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem;color:#78350f}.maintenance-banner-collapsed{cursor:pointer;justify-content:center;padding:.35rem 1rem}.maintenance-banner-collapsed:hover{background:#fde68a}.maintenance-banner-content{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.maintenance-banner-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0;animation:gentle-pulse 2s ease-in-out infinite}.maintenance-banner-reason{opacity:.85}.maintenance-banner-eta{background:#f59e0b33;padding:.1rem .5rem;border-radius:4px;font-weight:500}.maintenance-banner-dismiss{background:none;border:none;color:#92400e;cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:4px;line-height:1;flex-shrink:0}.maintenance-banner-dismiss:hover{background:#92400e1a}.admin-taxonomy-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.admin-taxonomy-control{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#444}.admin-taxonomy-control input,.admin-taxonomy-control select{padding:.4rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.admin-taxonomy-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#444}.admin-taxonomy-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.75rem}.admin-taxonomy-table-wrapper{overflow-x:auto}.admin-taxonomy-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-taxonomy-table th,.admin-taxonomy-table td{border-bottom:1px solid #e5e7eb;padding:.5rem .6rem;text-align:left}.admin-taxonomy-table th{background:#f8fafc;font-weight:600}.admin-taxonomy-muted{color:#6b7280;font-size:.85rem}.secondary-button{padding:.5rem 1rem;border-radius:6px;border:1px solid #d1d5db;background:#f8fafc;color:#374151;cursor:pointer}.secondary-button:hover{background:#f1f5f9}.clear-autofill-button{margin-top:.25rem;margin-bottom:.5rem;font-size:.85rem}.data-collection-section{padding:.5rem 0}.data-collection-section .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;color:#374151}.data-collection-section .checkbox-label.disabled{opacity:.5;cursor:not-allowed}.data-collection-section .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#2d6a4f}.data-collection-section small{display:block;margin-top:.25rem;font-size:.8rem;color:#6b7280}.taxonomy-hint{font-style:italic;color:#9ca3af}html[data-theme=dark] .data-collection-section .checkbox-label{color:#e0e0e0}html[data-theme=dark] .data-collection-section small{color:#a0a0a0}html[data-theme=dark] .taxonomy-hint{color:#6b7280}.no-broadcasts{color:#888;font-style:italic}.admin-broadcasts-list{display:flex;flex-direction:column;gap:1rem}.admin-broadcast-item{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:1rem}.admin-broadcast-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.admin-broadcast-header h4{margin:0;font-size:1rem;color:#333}.admin-broadcast-preview{margin:0 0 .75rem;color:#666;font-size:.9rem}.admin-broadcast-item .delete-button{padding:.4rem .8rem;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.admin-broadcast-item .delete-button:hover{background:#dc2626}.image-preview-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.preview-label{width:100%;margin:0 0 .25rem;font-size:.9rem;color:#666}.image-preview-item{position:relative;width:80px;height:80px}.image-preview-item img{width:100%;height:100%;object-fit:cover;border-radius:4px;border:1px solid #e0e0e0}.remove-image-button{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:none;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.remove-image-button:hover{background:#dc2626}.form-help{margin:.25rem 0 0;font-size:.85rem;color:#888}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.cancel-button{padding:.75rem 1.5rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.cancel-button:hover{background:#4b5563}.edit-button{padding:.4rem .8rem;background:#646cff;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.edit-button:hover{background:#535bf2}.admin-broadcast-actions{display:flex;gap:.5rem;margin-top:.5rem}.admin-broadcast-item.editing{border-color:#646cff;background:#f8f9ff}.admin-broadcast-images{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.admin-broadcast-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #e0e0e0}.broadcast-images{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.broadcast-image{max-width:100%;max-height:400px;border-radius:8px;cursor:pointer;transition:transform .2s}.broadcast-image:hover{transform:scale(1.02)}html[data-theme=dark] .updates-tab h2,html[data-theme=dark] .admin-control-panel h2{color:#e0e0e0}html[data-theme=dark] .mark-all-read-btn{color:#aaa;border-color:#555}html[data-theme=dark] .mark-all-read-btn:hover{background:#3a3a3a;border-color:#777;color:#e0e0e0}html[data-theme=dark] .broadcast-item{background:#2a2a2a;border-color:#444}html[data-theme=dark] .broadcast-item:hover{border-color:#646cff}html[data-theme=dark] .broadcast-item.unread{background:#2d2d3a}html[data-theme=dark] .broadcast-title{color:#e0e0e0}html[data-theme=dark] .broadcast-content{border-top-color:#444}html[data-theme=dark] .admin-section{background:#2a2a2a;border-color:#444}html[data-theme=dark] .admin-section h3{color:#e0e0e0}html[data-theme=dark] .admin-broadcast-item{background:#333;border-color:#444}html[data-theme=dark] .admin-broadcast-header h4{color:#e0e0e0}html[data-theme=dark] .admin-broadcast-preview{color:#aaa}html[data-theme=dark] .form-error{background:#450a0a;color:#fca5a5}html[data-theme=dark] .form-success{background:#052e16;color:#86efac}html[data-theme=dark] .admin-section-description,html[data-theme=dark] .preview-label{color:#aaa}html[data-theme=dark] .image-preview-item img{border-color:#444}html[data-theme=dark] .form-help{color:#888}html[data-theme=dark] .admin-broadcast-item.editing{border-color:#646cff;background:#2d2d3a}html[data-theme=dark] .admin-broadcast-thumbnail,html[data-theme=dark] .broadcast-image{border-color:#444}html[data-theme=dark] .maintenance-status-badge.active{background:#78350f;color:#fef3c7}html[data-theme=dark] .maintenance-status-badge.inactive{background:#064e3b;color:#d1fae5}html[data-theme=dark] .admin-maintenance-fields textarea,html[data-theme=dark] .admin-maintenance-fields input{border-color:#555}html[data-theme=dark] .admin-error{color:#f87171}html[data-theme=dark] .admin-success{color:#4ade80}html[data-theme=dark] .admin-tabs{border-bottom-color:#444}html[data-theme=dark] .admin-tab-button{color:#aaa}html[data-theme=dark] .admin-tab-button:hover{color:#e0e0e0}html[data-theme=dark] .admin-tab-button.active{color:#646cff;border-bottom-color:#646cff}html[data-theme=dark] .admin-members-search,html[data-theme=dark] .admin-members-sort{background:#2a2a2a;border-color:#555;color:#e0e0e0}html[data-theme=dark] .admin-members-search:focus{border-color:#646cff}html[data-theme=dark] .admin-role-badge.user{background:#333;color:#aaa}html[data-theme=dark] .admin-role-badge.admin{background:#2d2d4a;color:#818cf8}html[data-theme=dark] .admin-reset-button{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .admin-reset-button:hover:not(:disabled){background:#3a3a3a;border-color:#646cff;color:#818cf8}html[data-theme=dark] .maintenance-card{background:#2a2a2af2}html[data-theme=dark] .maintenance-title{color:#e0e0e0}html[data-theme=dark] .maintenance-subtitle{color:#aaa}html[data-theme=dark] .maintenance-reason{background:#333}html[data-theme=dark] .maintenance-reason p{color:#ddd}html[data-theme=dark] .maintenance-eta-label{color:#aaa}html[data-theme=dark] .maintenance-eta-value{color:#e0e0e0}html[data-theme=dark] .maintenance-footer{color:#777}html[data-theme=dark] .maintenance-login-section{border-top-color:#444}html[data-theme=dark] .maintenance-banner{background:#451a03;border-bottom-color:#b45309;color:#fef3c7}html[data-theme=dark] .maintenance-banner-collapsed:hover{background:#5a2006}html[data-theme=dark] .maintenance-banner-eta{background:#f59e0b26}html[data-theme=dark] .maintenance-banner-dismiss{color:#fde68a}html[data-theme=dark] .maintenance-banner-dismiss:hover{background:#fde88a1a}.garden-subtabs{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;width:100%}.garden-subtab-nav{display:flex;gap:.5rem;padding:.25rem;background:#f5f5f5;border-radius:8px}.garden-new-group-btn{margin-left:auto;padding:.45rem 1rem;background:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap;transition:background .15s}.garden-new-group-btn:hover{background:#1b5e20}.groups-board-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;color:#888}.groups-board-empty-icon{font-size:3rem;line-height:1}.groups-board-empty-hint{font-size:.85rem;color:#aaa;max-width:28ch;text-align:center;margin:0}.groups-board-empty-cta{padding:.6rem 1.2rem;background:#2e7d32;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .15s}.groups-board-empty-cta:hover{background:#1b5e20}.zone-column-empty{padding:1rem;text-align:center}.zone-column-empty-hint{font-size:.8rem;color:#bbb;font-style:italic}.subtab-button{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s ease}.subtab-button:hover{background:#e5e5e5}.subtab-button.active{background:#fff;color:#2e7d32;font-weight:500;box-shadow:0 1px 3px #0000001a}.zones-view{padding:0}.zones-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.zones-toolbar h2{margin:0;font-size:1.25rem}.zones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.zone-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.zone-card:hover{border-color:#2e7d32;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.zone-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.zone-card-header .zone-icon{font-size:1.25rem}.zone-name{margin:0;font-size:1.1rem;font-weight:600;color:#333}.zone-description{color:#666;font-size:.9rem;margin:0 0 .75rem;line-height:1.4}.zone-stats{display:flex;gap:1rem}.zone-plant-count{font-size:.85rem;color:#2e7d32;background:#e8f5e9;padding:.25rem .5rem;border-radius:4px}.zone-conditions-compact{display:flex;gap:.35rem;margin-bottom:.5rem}.zone-condition-tag{font-size:1rem;padding:.15rem .25rem;border-radius:4px;background:#f5f5f5;cursor:default}.zone-condition-tag.shade{background:#fff8e1}.zone-condition-tag.aspect{background:#e3f2fd}.zone-detail-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto}.zone-detail-content{padding:1rem}.zone-header-edit{display:flex;align-items:center;gap:.5rem}.zone-header-edit .zone-icon{font-size:1.5rem}.zone-name-input{font-size:1.5rem;font-weight:600;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;width:100%;max-width:300px}.zone-detail-description{color:#666;margin-bottom:1rem}.zone-conditions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.zone-condition-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:6px;font-size:.85rem}.zone-condition-badge.shade{background:#fff8e1;color:#f57c00}.zone-condition-badge.aspect{background:#e3f2fd;color:#1976d2}.zone-condition-badge.light{background:#f3e5f5;color:#7b1fa2}.zone-light-section{margin:.5rem 0;padding:.75rem;background:#f9f5ff;border-radius:8px;border:1px solid #e8daef}.grow-light-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.zone-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff}.zone-input:focus{outline:none;border-color:#646cff}.zone-select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer}.zone-select:focus{outline:none;border-color:#646cff}.zone-icon-picker{position:relative}.zone-icon-input-wrapper{display:flex;align-items:center;gap:.25rem}.zone-icon-input{width:80px;padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:1.25rem;text-align:center;background:#fff}.zone-icon-input:focus{outline:none;border-color:#646cff}.zone-icon-picker-toggle{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;background:#f5f5f5;cursor:pointer;font-size:.75rem;color:#666;transition:background .2s}.zone-icon-picker-toggle:hover{background:#e8e8e8}.zone-icon-clear{padding:.5rem .6rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:1rem;color:#999;line-height:1}.zone-icon-clear:hover{background:#fee;border-color:#fcc;color:#c00}.zone-icon-grid{position:absolute;top:100%;left:0;z-index:100;display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;padding:.5rem;margin-top:.25rem;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto}.zone-icon-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:#f9f9f9;cursor:pointer;font-size:1.25rem;transition:all .15s}.zone-icon-option:hover{background:#e8f5e9;border-color:#a5d6a7;transform:scale(1.1)}.zone-icon-option.selected{background:#c8e6c9;border-color:#4caf50}.zone-advanced-toggle{margin:.75rem 0}.btn-link{background:none;border:none;color:#666;cursor:pointer;font-size:.85rem;padding:0;text-decoration:none}.btn-link:hover{color:#646cff}.label-with-tooltip{display:flex;align-items:center;gap:.35rem}.tooltip-icon{font-size:.85rem;color:#999;cursor:help}.tooltip-icon:hover{color:#646cff}.zone-detail-stats{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.zone-quick-actions{display:flex;gap:.5rem;flex-wrap:wrap}.zone-select-btn{padding:.4rem .75rem;font-size:.85rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;color:#666}.zone-select-btn:hover{background:#f5f5f5;border-color:#646cff;color:#646cff}.zone-select-btn.active{background:#646cff;border-color:#646cff;color:#fff}.zone-water-btn{padding:.4rem .75rem;font-size:.85rem;border:1px solid #2e7d32;border-radius:6px;background:#2e7d32;color:#fff;cursor:pointer;transition:all .2s ease}.zone-water-btn:hover:not(:disabled){background:#1b5e20;border-color:#1b5e20}.zone-water-btn:disabled{opacity:.7;cursor:not-allowed}.zone-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.delete-confirm{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.zone-plants-section{border-top:1px solid #e0e0e0;padding-top:1rem}.zone-plants-section h3{margin:0 0 1rem;font-size:1rem}.zone-plants-grid{gap:.75rem}.zone-plant-wrapper{position:relative}.remove-from-zone-btn{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;z-index:10}.zone-plant-wrapper:hover .remove-from-zone-btn{opacity:1}.remove-from-zone-btn:hover{background:#ef4444}.zone-empty-state{text-align:center;padding:2rem;color:#666}.plant-selector-modal{max-width:500px;width:95%;max-height:80vh}.plant-selector-content{padding:1rem}.plant-selector-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.plant-selector-actions{display:flex;gap:.5rem}.btn-small{padding:.25rem .5rem;font-size:.85rem}.plant-selector-list{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px}.plant-selector-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s ease}.plant-selector-item:last-child{border-bottom:none}.plant-selector-item:hover{background:#f5f5f5}.plant-selector-item.selected{background:#e8f5e9}.plant-selector-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.plant-selector-info{flex:1;min-width:0}.plant-selector-name{font-weight:500;display:block}.plant-selector-species{font-size:.85rem;color:#666;display:block}.plant-selector-zone{font-size:.8rem;color:#888;display:block;font-style:italic}.plant-selector-empty{padding:2rem;text-align:center;color:#666}.plant-zone-badge{display:flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;background:#f0f7f0;border-radius:4px;font-size:.8rem;color:#2e7d32}.plant-zone-badge .zone-icon{font-size:.75rem}.plant-zone-badge .zone-name{font-size:.8rem;font-weight:500;margin:0;color:inherit}.zone-indicator{color:#2e7d32;font-weight:500}.batch-zone-action{position:relative}.zone-selector-dropdown{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 -4px 12px #00000026;max-height:200px;overflow-y:auto;margin-bottom:.5rem;z-index:100}.zone-option{display:block;width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;color:#333;transition:background .2s ease}.zone-option:hover{background:#f5f5f5}.zone-option:first-child{border-radius:8px 8px 0 0}.zone-option:last-child{border-radius:0 0 8px 8px}html[data-theme=dark] .garden-subtab-nav{background:#333}html[data-theme=dark] .garden-new-group-btn{background:#388e3c}html[data-theme=dark] .garden-new-group-btn:hover{background:#2e7d32}html[data-theme=dark] .groups-board-empty{color:#666}html[data-theme=dark] .groups-board-empty-hint{color:#555}html[data-theme=dark] .groups-board-empty-cta{background:#388e3c}html[data-theme=dark] .groups-board-empty-cta:hover{background:#2e7d32}html[data-theme=dark] .zone-column-empty-hint{color:#555}html[data-theme=dark] .subtab-button{color:#aaa}html[data-theme=dark] .subtab-button:hover{background:#444}html[data-theme=dark] .subtab-button.active{background:#2a2a2a;color:#4caf50}html[data-theme=dark] .zone-card{background:#2a2a2a;border-color:#444}html[data-theme=dark] .zone-card:hover{border-color:#4caf50}html[data-theme=dark] .zone-name{color:#e0e0e0}html[data-theme=dark] .zone-description{color:#aaa}html[data-theme=dark] .zone-plant-count{background:#1b4332;color:#4caf50}html[data-theme=dark] .zone-condition-tag{background:#333}html[data-theme=dark] .zone-condition-tag.shade{background:#3d3000}html[data-theme=dark] .zone-condition-tag.aspect{background:#0d2744}html[data-theme=dark] .zone-conditions .zone-condition-badge.shade{background:#3d3000;color:#ffb74d}html[data-theme=dark] .zone-conditions .zone-condition-badge.aspect{background:#0d2744;color:#64b5f6}html[data-theme=dark] .zone-conditions .zone-condition-badge.light{background:#2a1033;color:#ce93d8}html[data-theme=dark] .zone-light-section{background:#2a2035;border-color:#4a3555}html[data-theme=dark] .zone-input{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .zone-input:focus{border-color:#646cff}html[data-theme=dark] .zone-select{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .zone-select:focus{border-color:#646cff}html[data-theme=dark] .zone-icon-input{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .zone-icon-input:focus{border-color:#646cff}html[data-theme=dark] .zone-icon-picker-toggle{background:#444;border-color:#555;color:#aaa}html[data-theme=dark] .zone-icon-picker-toggle:hover{background:#555}html[data-theme=dark] .zone-icon-clear{background:#333;border-color:#555;color:#888}html[data-theme=dark] .zone-icon-clear:hover{background:#4a2020;border-color:#833;color:#f66}html[data-theme=dark] .zone-icon-grid{background:#2a2a2a;border-color:#444}html[data-theme=dark] .zone-icon-option{background:#333}html[data-theme=dark] .zone-icon-option:hover{background:#2d4a2d;border-color:#4a8}html[data-theme=dark] .zone-icon-option.selected{background:#2d5a2d;border-color:#4a4}html[data-theme=dark] .btn-link{color:#aaa}html[data-theme=dark] .btn-link:hover{color:#646cff}html[data-theme=dark] .tooltip-icon{color:#777}html[data-theme=dark] .tooltip-icon:hover{color:#646cff}html[data-theme=dark] .zone-detail-modal{background:#1e1e1e}html[data-theme=dark] .zone-name-input{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .zone-plants-section{border-color:#444}html[data-theme=dark] .zone-select-btn{background:#333;border-color:#555;color:#aaa}html[data-theme=dark] .zone-select-btn:hover{background:#444;border-color:#646cff;color:#646cff}html[data-theme=dark] .zone-select-btn.active{background:#646cff;border-color:#646cff;color:#fff}html[data-theme=dark] .zone-water-btn{background:#2e7d32;border-color:#2e7d32}html[data-theme=dark] .zone-water-btn:hover:not(:disabled){background:#1b5e20;border-color:#1b5e20}html[data-theme=dark] .plant-selector-list,html[data-theme=dark] .plant-selector-item{border-color:#444}html[data-theme=dark] .plant-selector-item:hover{background:#333}html[data-theme=dark] .plant-selector-item.selected{background:#1b4332}html[data-theme=dark] .plant-zone-badge{background:#1b4332;color:#4caf50}html[data-theme=dark] .zone-indicator{color:#4caf50}html[data-theme=dark] .zone-selector-dropdown{background:#2a2a2a;border-color:#444}html[data-theme=dark] .zone-option{color:#e0e0e0}html[data-theme=dark] .zone-option:hover{background:#333}.medium-input{display:flex;flex-direction:column;gap:.5rem}.medium-type-select{width:100%}.medium-cells-input{max-width:120px}.medium-expand-toggle{align-self:flex-start;padding:.25rem .5rem;font-size:.8rem;background:transparent;border:1px solid #ddd;border-radius:4px;cursor:pointer;color:#666}.medium-expand-toggle:hover{border-color:#646cff;color:#646cff}.medium-advanced{margin-top:.5rem;padding:1rem;background:#646cff0d;border-radius:8px;display:flex;flex-direction:column;gap:1rem}.medium-section{display:flex;flex-direction:column;gap:.5rem}.medium-section>label{font-size:.85rem;font-weight:500;color:#666}.dimension-inputs{display:flex;align-items:center;gap:.5rem}.dimension-inputs input{width:60px;text-align:center}.dimension-inputs span{color:#888}.medium-components{display:flex;flex-wrap:wrap;gap:.5rem}.component-tag{padding:.25rem .75rem;border:1px solid #ddd;border-radius:15px;background:#fff;font-size:.85rem;cursor:pointer;transition:all .2s}.component-tag:hover{border-color:#646cff}.component-tag.selected{background:#646cff;color:#fff;border-color:#646cff}html[data-theme=dark] .medium-advanced{background:#646cff1a}html[data-theme=dark] .medium-expand-toggle{border-color:#444;color:#aaa}html[data-theme=dark] .medium-expand-toggle:hover{border-color:#646cff;color:#646cff}html[data-theme=dark] .medium-section>label{color:#aaa}html[data-theme=dark] .dimension-inputs span{color:#888}html[data-theme=dark] .component-tag{background:#2a2a2a;border-color:#444;color:#ddd}html[data-theme=dark] .component-tag:hover{border-color:#646cff}html[data-theme=dark] .component-tag.selected{background:#646cff;color:#fff}@media(prefers-color-scheme:dark){.zone-card{background:#2a2a2a;border-color:#444}.zone-card:hover{border-color:#4caf50}.zone-name{color:#e0e0e0}.zone-description{color:#aaa}.zone-plant-count{background:#1b4332;color:#4caf50}.zone-condition-tag{background:#333}.zone-condition-tag.shade{background:#3d3000}.zone-condition-tag.aspect{background:#0d2744}.zone-conditions .zone-condition-badge.shade{background:#3d3000;color:#ffb74d}.zone-conditions .zone-condition-badge.aspect{background:#0d2744;color:#64b5f6}}.planner-tab{padding:1rem}.planner-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.planner-header h2{margin:0;font-size:1.5rem}.planner-nav{display:flex;align-items:center;gap:.5rem;flex:1}.planner-nav-btn{padding:.5rem .75rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:1rem}.planner-nav-btn:hover{background:#f5f5f5}.planner-month-label{font-weight:600;font-size:1.1rem;min-width:150px;text-align:center}.planner-today-btn{padding:.4rem .8rem;border:1px solid #646cff;background:#fff;color:#646cff;border-radius:4px;cursor:pointer;font-size:.9rem}.planner-today-btn:hover{background:#646cff;color:#fff}.planner-calendar{background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden}.planner-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f5f5f5;border-bottom:1px solid #e0e0e0}.planner-weekday{padding:.75rem;text-align:center;font-weight:600;font-size:.85rem;color:#666}.planner-week{border-top:1px solid #e8e8e8}.planner-week:first-child{border-top:none}.planner-week-overlay-track{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:20px;row-gap:1px;padding:3px 0 2px;background:#f7f8fa;border-bottom:1px solid #eee}.planner-week-days{display:grid;grid-template-columns:repeat(7,1fr)}.planner-week-overlay-bar{border-radius:3px;padding:0 6px;font-size:.7rem;font-weight:500;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:18px;line-height:18px;margin:1px 3px;pointer-events:auto;cursor:default;align-self:center}.planner-week-overlay-bar.overlay-continues-left{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.planner-week-overlay-bar.overlay-continues-right{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.planner-week-overlay-bar.overlay-phase-start-indoors-best{background:#2d8a4e}.planner-week-overlay-bar.overlay-phase-start-outdoors-best{background:#2d6ea8}.planner-week-overlay-bar.overlay-phase-start-indoors-ok{background:#4a9b62}.planner-week-overlay-bar.overlay-phase-start-outdoors-ok{background:#4a7da8}.planner-week-overlay-bar.overlay-phase-last-start-date{background:#c0392b}.planner-day{min-height:100px;padding:.5rem;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;cursor:pointer;transition:background .2s;position:relative}.planner-day:nth-child(7n){border-right:none}.planner-day:hover{background:#f9f9ff}.planner-day.empty{background:#fafafa;cursor:default}.planner-day.empty:hover{background:#fafafa}.planner-day-skeleton{background:#f5f5f5;cursor:default;pointer-events:none}.planner-day-skeleton .planner-day-number{color:#ccc}.planner-day.today{background:#f0f0ff}.planner-day.today .planner-day-number{background:#646cff;color:#fff;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.planner-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.planner-day-number{font-weight:600;font-size:.9rem;color:#333}.planner-day-add-btn{opacity:0;background:none;border:none;cursor:pointer;color:#888;font-size:1rem;line-height:1;padding:0 3px;border-radius:3px;flex-shrink:0;transition:opacity .15s,background .15s,color .15s;pointer-events:none}.planner-day:hover .planner-day-add-btn{opacity:1;pointer-events:auto}.planner-day-add-btn:hover{background:#e0e0e0;color:#333}.planner-day-events{display:flex;flex-direction:column;gap:2px}.planner-event-chip{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:.75rem;overflow:hidden;cursor:pointer;transition:transform .1s}.planner-event-chip:hover{transform:scale(1.02)}.event-icon{flex-shrink:0}.event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-type-sow{background:#e8f5e9;color:#2e7d32}.event-type-repot{background:#fff3e0;color:#e65100}.event-type-flowering{background:#fce4ec;color:#c2185b}.event-type-fruiting{background:#ffebee;color:#c62828}.event-type-harvest{background:#f1f8e9;color:#558b2f}.event-type-custom,.event-type-watering{background:#e3f2fd;color:#1565c0}.event-type-maintenance{background:#fff3e0;color:#e65100}.event-type-check{background:#f3e5f5;color:#6a1b9a}.planner-more-events{font-size:.7rem;color:#666;padding:2px 4px}.planner-month-picker-container{position:relative}.planner-month-label{font-weight:600;font-size:1.1rem;min-width:150px;text-align:center;background:transparent;border:none;cursor:pointer;padding:.4rem .6rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.planner-month-label:hover{background:#f0f0f0}.picker-arrow{font-size:.7rem;color:#666}.planner-month-picker{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:.75rem;z-index:100;min-width:220px}.picker-year-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.picker-year-nav button{background:transparent;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.9rem}.picker-year-nav button:hover{background:#f5f5f5}.picker-year{font-weight:600;font-size:1rem}.picker-months{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.picker-month{padding:.5rem;border:1px solid #e0e0e0;border-radius:4px;background:#fff;cursor:pointer;font-size:.85rem;transition:all .15s}.picker-month:hover{background:#f0f0ff;border-color:#646cff}.picker-month.current{background:#646cff;color:#fff;border-color:#646cff}.planner-event-modal{max-width:500px}.planner-event-view{padding:1.5rem}.event-view-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eee}.event-view-icon{font-size:2.5rem;line-height:1}.event-view-title-wrap{flex:1}.event-view-title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:#333}.event-view-type{font-size:.85rem;color:#666;background:#f0f0f0;padding:.2rem .5rem;border-radius:4px}.event-view-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.event-view-row{display:flex;gap:1rem}.event-view-label{font-weight:500;color:#666;min-width:60px;font-size:.9rem}.event-view-value{color:#333;font-size:.95rem}.event-view-notes{flex-direction:column;gap:.25rem}.event-view-notes .event-view-value{background:#f8f8f8;padding:.75rem;border-radius:6px;white-space:pre-wrap;font-size:.9rem}html[data-theme=dark] .event-view-header{border-bottom-color:#444}html[data-theme=dark] .event-view-title{color:#e0e0e0}html[data-theme=dark] .event-view-type{background:#3a3a3a;color:#aaa}html[data-theme=dark] .event-view-label{color:#999}html[data-theme=dark] .event-view-value{color:#e0e0e0}html[data-theme=dark] .event-view-notes .event-view-value{background:#333}@media(prefers-color-scheme:dark){.event-view-header{border-bottom-color:#444}.event-view-title{color:#e0e0e0}.event-view-type{background:#3a3a3a;color:#aaa}.event-view-label{color:#999}.event-view-value{color:#e0e0e0}.event-view-notes .event-view-value{background:#333}}.event-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.event-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:.75rem .5rem;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.8rem}.event-type-btn:hover{border-color:#646cff}.event-type-btn.active{border-color:#646cff;background:#f0f0ff}.event-type-btn span:first-child{font-size:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.planner-modal-actions{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #eee;margin-top:1rem}.modal-actions-right{display:flex;gap:.75rem;margin-left:auto}.delete-button{padding:.5rem 1rem;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;font-size:.9rem}.delete-button:hover{background:#fecaca}.delete-button:disabled{opacity:.6;cursor:not-allowed}html[data-theme=dark] .planner-calendar{background:#2a2a2a;border-color:#444}html[data-theme=dark] .planner-weekdays{background:#333;border-color:#444}html[data-theme=dark] .planner-weekday{color:#aaa}html[data-theme=dark] .planner-day{border-color:#444}html[data-theme=dark] .planner-day:hover{background:#363636}html[data-theme=dark] .planner-day.empty,html[data-theme=dark] .planner-day.empty:hover{background:#222}html[data-theme=dark] .planner-day-skeleton{background:#2a2a2a}html[data-theme=dark] .planner-day-skeleton .planner-day-number{color:#555}html[data-theme=dark] .planner-day.today{background:#2a2a4a}html[data-theme=dark] .planner-day-number{color:#e0e0e0}html[data-theme=dark] .planner-day-add-btn{color:#aaa}html[data-theme=dark] .planner-day-add-btn:hover{background:#444;color:#e0e0e0}html[data-theme=dark] .planner-nav-btn{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .planner-nav-btn:hover{background:#444}html[data-theme=dark] .planner-today-btn{background:#333;border-color:#818cf8;color:#818cf8}html[data-theme=dark] .planner-today-btn:hover{background:#818cf8;color:#1a1a1a}html[data-theme=dark] .planner-month-label{color:#e0e0e0}html[data-theme=dark] .planner-month-label:hover{background:#444}html[data-theme=dark] .picker-arrow{color:#999}html[data-theme=dark] .planner-month-picker{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}html[data-theme=dark] .picker-year-nav{border-bottom-color:#444}html[data-theme=dark] .picker-year-nav button{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .picker-year-nav button:hover{background:#444}html[data-theme=dark] .picker-year{color:#e0e0e0}html[data-theme=dark] .picker-month{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .picker-month:hover{background:#3a3a5a;border-color:#818cf8}html[data-theme=dark] .picker-month.current{background:#818cf8;color:#1a1a1a;border-color:#818cf8}html[data-theme=dark] .planner-more-events{color:#999}html[data-theme=dark] .event-type-sow{background:#1b4d3e;color:#81c784}html[data-theme=dark] .event-type-repot{background:#4a2c00;color:#ffb74d}html[data-theme=dark] .event-type-flowering{background:#4a1a35;color:#f48fb1}html[data-theme=dark] .event-type-fruiting{background:#4a1a1a;color:#ef9a9a}html[data-theme=dark] .event-type-harvest{background:#2e4a1a;color:#aed581}html[data-theme=dark] .event-type-custom,html[data-theme=dark] .event-type-watering{background:#1a3a4a;color:#90caf9}html[data-theme=dark] .event-type-maintenance{background:#4a2c00;color:#ffb74d}html[data-theme=dark] .event-type-check{background:#2d1a4a;color:#ce93d8}html[data-theme=dark] .event-type-btn{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .event-type-btn:hover{border-color:#818cf8}html[data-theme=dark] .event-type-btn.active{border-color:#818cf8;background:#3a3a5a}html[data-theme=dark] .delete-button{background:#4a2a2a;color:#f87171;border-color:#7f1d1d}html[data-theme=dark] .delete-button:hover{background:#5a3030}html[data-theme=dark] .planner-modal-actions{border-top-color:#444}@media(prefers-color-scheme:dark){.planner-calendar{background:#2a2a2a;border-color:#444}.planner-weekdays{background:#333;border-color:#444}.planner-weekday{color:#aaa}.planner-day{border-color:#444}.planner-day:hover{background:#363636}.planner-day.empty,.planner-day.empty:hover{background:#222}.planner-day-skeleton{background:#2a2a2a}.planner-day-skeleton .planner-day-number{color:#555}.planner-day.today{background:#2a2a4a}.planner-day-number{color:#e0e0e0}.planner-nav-btn{background:#333;border-color:#555;color:#e0e0e0}.planner-nav-btn:hover{background:#444}.planner-today-btn{background:#333;border-color:#818cf8;color:#818cf8}.planner-today-btn:hover{background:#818cf8;color:#1a1a1a}.planner-month-label{color:#e0e0e0}.planner-month-label:hover{background:#444}.picker-arrow{color:#999}.planner-month-picker{background:#2a2a2a;border-color:#444;box-shadow:0 4px 12px #0006}.picker-year-nav{border-bottom-color:#444}.picker-year-nav button{background:#333;border-color:#555;color:#e0e0e0}.picker-year-nav button:hover{background:#444}.picker-year{color:#e0e0e0}.picker-month{background:#333;border-color:#555;color:#e0e0e0}.picker-month:hover{background:#3a3a5a;border-color:#818cf8}.picker-month.current{background:#818cf8;color:#1a1a1a;border-color:#818cf8}.planner-more-events{color:#999}.event-type-sow{background:#1b4d3e;color:#81c784}.event-type-repot{background:#4a2c00;color:#ffb74d}.event-type-flowering{background:#4a1a35;color:#f48fb1}.event-type-fruiting{background:#4a1a1a;color:#ef9a9a}.event-type-harvest{background:#2e4a1a;color:#aed581}.event-type-custom{background:#1a3a4a;color:#90caf9}.event-type-btn{background:#333;border-color:#555;color:#e0e0e0}.event-type-btn:hover{border-color:#818cf8}.event-type-btn.active{border-color:#818cf8;background:#3a3a5a}.delete-button{background:#4a2a2a;color:#f87171;border-color:#7f1d1d}.delete-button:hover{background:#5a3030}.planner-modal-actions{border-top-color:#444}.planner-day.season-spring{background:#81c7840f}.planner-day.season-summer{background:#ffd54f0f}.planner-day.season-autumn{background:#ff98000f}.planner-day.season-winter{background:#90caf90f}.planner-day.empty.season-spring{background:#81c78408}.planner-day.empty.season-summer{background:#ffd54f08}.planner-day.empty.season-autumn{background:#ff980008}.planner-day.empty.season-winter{background:#90caf908}.planner-day.today.season-spring,.planner-day.today.season-summer,.planner-day.today.season-autumn,.planner-day.today.season-winter{background:#2a2a4a}.planner-day.season-spring:hover,.planner-day.season-summer:hover,.planner-day.season-autumn:hover,.planner-day.season-winter:hover{background:#363636}.planner-day.empty.season-spring:hover,.planner-day.empty.season-summer:hover,.planner-day.empty.season-autumn:hover,.planner-day.empty.season-winter:hover{background:#222}.planner-season-label.season-spring{background:#81c7841f;color:#81c784}.planner-season-label.season-summer{background:#ffd54f1f;color:#ffd54f}.planner-season-label.season-autumn{background:#ff98001f;color:#ffb74d}.planner-season-label.season-winter{background:#90caf91f;color:#90caf9}.season-legend-item{color:#999}.season-legend-item.season-spring .season-legend-swatch{background:#81c78466}.season-legend-item.season-summer .season-legend-swatch{background:#ffd54f66}.season-legend-item.season-autumn .season-legend-swatch{background:#ff980066}.season-legend-item.season-winter .season-legend-swatch{background:#90caf966}}.planner-day.season-spring{background:#81c78414}.planner-day.season-summer{background:#ffd54f14}.planner-day.season-autumn{background:#ff980014}.planner-day.season-winter{background:#90caf914}.planner-day.empty.season-spring{background:#81c7840a}.planner-day.empty.season-summer{background:#ffd54f0a}.planner-day.empty.season-autumn{background:#ff98000a}.planner-day.empty.season-winter{background:#90caf90a}.planner-day.today.season-spring,.planner-day.today.season-summer,.planner-day.today.season-autumn,.planner-day.today.season-winter{background:#f0f0ff}.planner-day.season-spring:hover,.planner-day.season-summer:hover,.planner-day.season-autumn:hover,.planner-day.season-winter:hover{background:#f5f5f5}.planner-day.empty.season-spring:hover,.planner-day.empty.season-summer:hover,.planner-day.empty.season-autumn:hover,.planner-day.empty.season-winter:hover{background:#00000005}.planner-season-label{text-align:center;padding:.35rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:4px;margin-bottom:.25rem}.planner-season-label.season-spring{background:#81c78426;color:#2e7d32}.planner-season-label.season-summer{background:#ffd54f26;color:#f57f17}.planner-season-label.season-autumn{background:#ff980026;color:#e65100}.planner-season-label.season-winter{background:#90caf926;color:#1565c0}.planner-season-legend{display:flex;justify-content:center;gap:1rem;padding:.5rem 0;margin-top:.5rem}.season-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#666}.season-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.season-legend-item.season-spring .season-legend-swatch{background:#81c78480}.season-legend-item.season-summer .season-legend-swatch{background:#ffd54f80}.season-legend-item.season-autumn .season-legend-swatch{background:#ff980080}.season-legend-item.season-winter .season-legend-swatch{background:#90caf980}html[data-theme=dark] .season-legend-item{color:#999}html[data-theme=dark] .season-legend-item.season-spring .season-legend-swatch{background:#81c78466}html[data-theme=dark] .season-legend-item.season-summer .season-legend-swatch{background:#ffd54f66}html[data-theme=dark] .season-legend-item.season-autumn .season-legend-swatch{background:#ff980066}html[data-theme=dark] .season-legend-item.season-winter .season-legend-swatch{background:#90caf966}html[data-theme=dark] .planner-day.season-spring{background:#81c7840f}html[data-theme=dark] .planner-day.season-summer{background:#ffd54f0f}html[data-theme=dark] .planner-day.season-autumn{background:#ff98000f}html[data-theme=dark] .planner-day.season-winter{background:#90caf90f}html[data-theme=dark] .planner-day.empty.season-spring{background:#81c78408}html[data-theme=dark] .planner-day.empty.season-summer{background:#ffd54f08}html[data-theme=dark] .planner-day.empty.season-autumn{background:#ff980008}html[data-theme=dark] .planner-day.empty.season-winter{background:#90caf908}html[data-theme=dark] .planner-day.today.season-spring,html[data-theme=dark] .planner-day.today.season-summer,html[data-theme=dark] .planner-day.today.season-autumn,html[data-theme=dark] .planner-day.today.season-winter{background:#2a2a4a}html[data-theme=dark] .planner-day.season-spring:hover,html[data-theme=dark] .planner-day.season-summer:hover,html[data-theme=dark] .planner-day.season-autumn:hover,html[data-theme=dark] .planner-day.season-winter:hover{background:#363636}html[data-theme=dark] .planner-day.empty.season-spring:hover,html[data-theme=dark] .planner-day.empty.season-summer:hover,html[data-theme=dark] .planner-day.empty.season-autumn:hover,html[data-theme=dark] .planner-day.empty.season-winter:hover{background:#222}html[data-theme=dark] .planner-season-label.season-spring{background:#81c7841f;color:#81c784}html[data-theme=dark] .planner-season-label.season-summer{background:#ffd54f1f;color:#ffd54f}html[data-theme=dark] .planner-season-label.season-autumn{background:#ff98001f;color:#ffb74d}html[data-theme=dark] .planner-season-label.season-winter{background:#90caf91f;color:#90caf9}@media(max-width:768px){.planner-day-add-btn{opacity:1;pointer-events:auto}.planner-tab{padding:.5rem}.planner-header{flex-direction:column;align-items:stretch;gap:.75rem}.planner-header h2{font-size:1.25rem;text-align:center}.planner-nav{justify-content:center;flex-wrap:wrap;gap:.5rem}.planner-month-label{min-width:120px;font-size:1rem}.planner-header .add-plant-button{width:100%}.planner-calendar{overflow:hidden}.planner-weekday{padding:.5rem .25rem;font-size:.7rem}.planner-day{min-height:60px;padding:.2rem;overflow:hidden}.planner-day-number{font-size:.75rem;margin-bottom:.1rem}.planner-day.today .planner-day-number{width:22px;height:22px;font-size:.7rem}.planner-day-events{gap:1px}.planner-event-chip{padding:2px 4px;justify-content:center}.planner-event-chip .event-title{display:none}.planner-event-chip .event-icon{font-size:.75rem}.planner-more-events{font-size:.6rem;padding:1px 2px}.planner-month-picker{min-width:200px;padding:.5rem}.picker-months{gap:.35rem}.picker-month{padding:.4rem;font-size:.8rem}.event-type-selector{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}@media(max-width:400px){.planner-day{min-height:50px;padding:.15rem}.planner-day-number{font-size:.7rem}.planner-day.today .planner-day-number{width:20px;height:20px;font-size:.65rem}.planner-weekday{font-size:.6rem;padding:.4rem .1rem}.planner-event-chip{padding:1px 2px}.planner-event-chip .event-icon{font-size:.65rem}.planner-nav-btn{padding:.4rem .6rem;font-size:.9rem}.planner-today-btn{padding:.3rem .6rem;font-size:.8rem}.planner-month-label{min-width:100px;font-size:.9rem;padding:.3rem .4rem}.picker-arrow{font-size:.6rem}}.planner-header-actions{display:flex;align-items:center;gap:.5rem}.planner-overlay-toggle-btn{padding:.4rem .75rem;border:1px solid #ccc;background:#fff;border-radius:4px;cursor:pointer;font-size:.85rem;color:#555;transition:all .15s}.planner-overlay-toggle-btn:hover{background:#f5f5f5}.planner-overlay-toggle-btn.active{border-color:#2d8a4e;background:#edf7f0;color:#2d8a4e;font-weight:500}.planner-overlay-toggles{display:flex;flex-wrap:wrap;gap:6px;padding:.5rem 0 .75rem;align-items:center}.overlay-phase-toggle{font-size:.75rem;padding:3px 10px;border-radius:12px;border:2px solid transparent;cursor:pointer;opacity:.45;background:#f0f0f0;color:#555;transition:opacity .15s,border-color .15s;white-space:nowrap}.overlay-phase-toggle.active{opacity:1}.overlay-phase-toggle.overlay-phase-start-indoors-best{border-color:#2d8a4e}.overlay-phase-toggle.overlay-phase-start-outdoors-best{border-color:#2d6ea8}.overlay-phase-toggle.overlay-phase-start-indoors-ok{border-color:#7abf8e}.overlay-phase-toggle.overlay-phase-start-outdoors-ok{border-color:#7aabcf}.overlay-phase-toggle.overlay-phase-last-start-date{border-color:#c0392b}.overlay-phase-toggle.active.overlay-phase-start-indoors-best{background:#edf7f0;color:#2d8a4e}.overlay-phase-toggle.active.overlay-phase-start-outdoors-best{background:#eaf0f8;color:#2d6ea8}.overlay-phase-toggle.active.overlay-phase-start-indoors-ok{background:#f1f9f3;color:#4a9b62}.overlay-phase-toggle.active.overlay-phase-start-outdoors-ok{background:#eef4f8;color:#4a7da8}.overlay-phase-toggle.active.overlay-phase-last-start-date{background:#fdf0ee;color:#c0392b}.planner-overlay-tooltip{position:fixed;z-index:9999;min-width:190px;max-width:260px;background:#1e2025;color:#e8e8e8;border-radius:8px;box-shadow:0 4px 18px #00000059;padding:10px 12px;pointer-events:none;font-size:.8rem;line-height:1.45}.planner-overlay-tooltip-name{font-weight:700;font-size:.85rem;color:#fff;margin-bottom:1px}.planner-overlay-tooltip-sci{font-style:italic;font-size:.75rem;color:#aaa;margin-bottom:1px}.planner-overlay-tooltip-common{font-size:.75rem;color:#bbb;margin-bottom:6px}.planner-overlay-tooltip-divider{border:none;border-top:1px solid rgba(255,255,255,.12);margin:5px 0}.planner-overlay-tooltip-phase{display:flex;align-items:center;gap:5px;font-weight:600;font-size:.8rem;margin-bottom:3px}.planner-overlay-tooltip-phase-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.planner-overlay-tooltip-dates{color:#ccc;font-size:.77rem;margin-bottom:5px}.planner-overlay-tooltip-meta{display:flex;align-items:center;gap:6px;font-size:.72rem;color:#888;flex-wrap:wrap}.planner-overlay-tooltip-badge{background:#ffffff1a;border-radius:10px;padding:1px 6px;font-size:.7rem;color:#bbb}.planner-overlay-tooltip-cultivars{display:flex;flex-direction:column;gap:2px;margin-top:1px}.planner-overlay-tooltip-cultivar-label{font-size:.72rem;color:#999;margin-bottom:2px}.planner-overlay-tooltip-cultivar{font-size:.77rem;color:#ddd;padding-left:8px;position:relative}.planner-overlay-tooltip-cultivar:before{content:"·";position:absolute;left:0;color:#666}.planner-overlay-tooltip-count{font-weight:400;font-size:.77rem;color:#aaa}.planner-overlay-tooltip-species-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.planner-overlay-tooltip-species-entry{display:flex;flex-direction:column;gap:2px}.planner-overlay-tooltip-species-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.planner-overlay-tooltip-species-name{font-size:.78rem;color:#e0e0e0;font-weight:500;flex-shrink:1;min-width:0}.planner-overlay-tooltip-species-dates{font-size:.72rem;color:#999;white-space:nowrap;flex-shrink:0}.planner-overlay-tooltip-cultivars-inline{flex-direction:row;flex-wrap:wrap;gap:0 10px;margin-top:0;padding-left:6px}html[data-theme=dark] .planner-overlay-toggle-btn{background:#333;border-color:#555;color:#aaa}html[data-theme=dark] .planner-overlay-toggle-btn:hover{background:#444}html[data-theme=dark] .planner-overlay-toggle-btn.active{border-color:#4ab870;background:#1b3d28;color:#4ab870}html[data-theme=dark] .overlay-phase-toggle{background:#2a2a2a;color:#aaa}html[data-theme=dark] .overlay-phase-toggle.active.overlay-phase-start-indoors-best{background:#1b3d28;color:#4ab870}html[data-theme=dark] .overlay-phase-toggle.active.overlay-phase-start-outdoors-best{background:#1a2e3d;color:#5b9ccc}html[data-theme=dark] .overlay-phase-toggle.active.overlay-phase-start-indoors-ok{background:#1a3028;color:#7abf8e}html[data-theme=dark] .overlay-phase-toggle.active.overlay-phase-start-outdoors-ok{background:#1a2830;color:#7aabcf}html[data-theme=dark] .overlay-phase-toggle.active.overlay-phase-last-start-date{background:#3d1a1a;color:#e57373}html[data-theme=dark] .planner-week{border-top-color:#333}html[data-theme=dark] .planner-week-overlay-track{background:#1e2228;border-bottom-color:#2a2a2a}html[data-theme=dark] .planner-week-overlay-bar{opacity:.85}@media(max-width:768px){.planner-overlay-toggles{gap:4px;padding:.4rem 0 .6rem}.overlay-phase-toggle{font-size:.7rem;padding:2px 8px}.planner-header-actions{width:100%;justify-content:space-between}.planner-header-actions .add-plant-button{flex:1}}.garden-view-toggle{display:flex;gap:0;border:1px solid #ddd;border-radius:6px;overflow:hidden;margin-bottom:1rem}.garden-view-toggle .toggle-btn{padding:.4rem .75rem;border:none;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s}.garden-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}.garden-view-toggle .toggle-btn:hover:not(.active){background:#f0f0f0}.zone-grouped-grid{max-height:60vh;overflow-y:auto;padding-right:.5rem}.zone-grouped-grid::-webkit-scrollbar{width:6px}.zone-grouped-grid::-webkit-scrollbar-track{background:transparent}.zone-grouped-grid::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.zone-section{margin-bottom:1.5rem}.zone-section-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f5f5f5;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.zone-section-header:hover{background:#e8e8e8}.zone-section-icon{font-size:1.25rem;line-height:1}.zone-section-name{font-weight:600;font-size:1rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.zone-section-count{font-size:.85rem;color:#888;white-space:nowrap}.zone-section-settings{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:4px;color:#888;transition:all .2s;line-height:1}.zone-section-settings:hover{background:#00000014;color:#555}.zone-section-chevron{font-size:.85rem;transition:transform .2s;color:#888}.zone-section.collapsed .zone-section-chevron{transform:rotate(-90deg)}.zone-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;padding:.75rem 0}.plant-card-grid{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;cursor:pointer;position:relative;border:2px solid transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .2s,box-shadow .2s;padding:.75rem;text-align:center}.plant-card-grid:hover{transform:translateY(-2px);box-shadow:0 3px 8px #0000001f}.plant-card-grid.status-healthy{border-color:#4caf50}.plant-card-grid.status-sick{border-color:#ff9800}.plant-card-grid.status-dead{border-color:#9e9e9e;opacity:.7}.plant-card-grid.selected{border-color:#646cff;box-shadow:0 0 0 2px #646cff4d}.plant-card-grid-image{width:80px;height:80px;border-radius:8px;object-fit:cover;margin:0 auto .5rem;display:block}.plant-card-grid-icon{font-size:2.5rem;margin:0 auto .5rem;line-height:1;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px}html[data-theme=dark] .plant-card-grid-icon{background:linear-gradient(135deg,#1b2e1c,#1e3a1f)}.plant-card-grid-name{font-size:.85rem;font-weight:600;margin:0 0 .25rem;color:#333;word-wrap:break-word;overflow-wrap:break-word}.plant-card-grid-age{font-size:.75rem;color:#888;margin:0 0 .25rem}.plant-card-grid-badges{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.plant-card-grid-badges .badge-icon{font-size:.8rem}.plant-card-grid-badges .badge-icon.issue-badge{animation:pulse-issue 2s infinite}.plant-card-grid-water{position:absolute;top:4px;right:4px;background:#dbeafef2;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:1;box-shadow:0 2px 6px #3b82f64d;cursor:pointer;animation:gentle-pulse 3s ease-in-out infinite}.plant-card-grid-checkbox{position:absolute;top:4px;left:4px;font-size:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:1;cursor:pointer;background:#ffffffe6;border-radius:4px}.plant-card-board{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;cursor:pointer;position:relative;border:2px solid transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .2s,box-shadow .2s;padding:.6rem}.plant-card-board:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001f}.plant-card-board.status-healthy{border-color:#4caf50}.plant-card-board.status-sick{border-color:#ff9800}.plant-card-board.status-dead{border-color:#9e9e9e;opacity:.7}.plant-card-board.selected{border-color:#646cff;box-shadow:0 0 0 2px #646cff4d}.plant-card-board-layout{display:flex;align-items:center;gap:.6rem}.plant-card-board-visual{flex-shrink:0}.plant-card-board-image{width:52px;height:52px;border-radius:8px;object-fit:cover;display:block}.plant-card-board-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px;line-height:1}html[data-theme=dark] .plant-card-board-icon{background:linear-gradient(135deg,#1b2e1c,#1e3a1f)}.plant-card-board-info{flex:1;min-width:0}.plant-card-board-name{font-size:.85rem;font-weight:600;margin:0;color:#333;word-wrap:break-word;overflow-wrap:break-word}.plant-card-board-species{font-size:.75rem;color:#888;margin:.1rem 0 0;font-style:italic;word-wrap:break-word;overflow-wrap:break-word}.plant-card-board-meta{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.plant-card-board-age{font-size:.7rem;color:#999}.plant-card-board-badges{display:flex;flex-wrap:wrap;gap:2px}.plant-card-board-badges .badge-icon{font-size:.75rem}.plant-card-board-badges .badge-icon.issue-badge{animation:pulse-issue 2s infinite}.plant-card-board-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;font-size:1rem;color:#bbb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.plant-card-board-drag-handle:hover{color:#666}.plant-card-board-drag-handle:active{cursor:grabbing}.plant-card-board-menu-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.2rem .35rem;border-radius:4px;font-size:1rem;color:#aaa;line-height:1;opacity:0;pointer-events:none;transition:opacity .15s ease,background .1s,color .1s;z-index:2}.plant-card-board:hover .plant-card-board-menu-btn,.plant-card-board:focus-within .plant-card-board-menu-btn{opacity:1;pointer-events:auto}.plant-card-board-menu-btn:hover{background:#00000012;color:#555}.plant-card--nav-highlight,.container-card--nav-highlight{border-color:#6366f1!important;animation:nav-highlight-pulse 2.5s ease-out forwards}.plant-card-board.dragging{opacity:.5;box-shadow:0 4px 16px #0003}.drag-overlay-card{pointer-events:none;opacity:.92;transform:rotate(2deg) scale(1.03)}.drag-overlay-card .plant-card-board{box-shadow:0 8px 24px #00000040}.zone-column.drop-target{outline:2px dashed #2d6a4f;outline-offset:-2px;background:#2d6a4f0f}.zone-column.drop-target .zone-column-header{background:#2d6a4f1f}.zone-column-card-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;font-size:.85rem;color:#ccc;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.zone-column-card-drag-handle:hover{color:#888}.zone-column-card-drag-handle:active{cursor:grabbing}.zone-column-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;font-size:1rem;color:#bbb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.zone-column-drag-handle:hover{color:#666}.zone-column-drag-handle:active{cursor:grabbing}.zone-column-drag-overlay{pointer-events:none;opacity:.92;transform:rotate(1deg) scale(1.02)}.zone-column-drag-overlay .zone-column{width:280px;box-shadow:0 8px 24px #00000040}.zone-column-drag-overlay .zone-column-header{border-radius:10px}.plant-card-board-water{position:absolute;top:4px;right:4px;background:#dbeafef2;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:1;box-shadow:0 2px 6px #3b82f64d;cursor:pointer;animation:gentle-pulse 3s ease-in-out infinite}.plant-card-board-checkbox{position:absolute;top:4px;left:4px;font-size:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:1;cursor:pointer;background:#ffffffe6;border-radius:4px}.kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.zone-column{flex:0 0 280px;display:flex;flex-direction:column;background:#f8f8f8;border-radius:10px}.zone-column-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f0f0f0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s;border-bottom:1px solid #e0e0e0}.zone-column-header:hover{background:#e8e8e8}.zone-column-icon{font-size:1.1rem;line-height:1}.zone-column-name{font-weight:600;font-size:.9rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.zone-column-count{font-size:.8rem;color:#888;white-space:nowrap}.zone-column-settings{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.2rem;border-radius:4px;color:#888;transition:all .2s;line-height:1}.zone-column-settings:hover{background:#00000014;color:#555}.zone-column-chevron{font-size:.8rem;transition:transform .2s;color:#888}.zone-column.collapsed .zone-column-chevron{transform:rotate(-90deg)}.zone-column-cards{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;overflow-y:auto;max-height:50vh}.zone-column-cards::-webkit-scrollbar{width:4px}.zone-column-cards::-webkit-scrollbar-track{background:transparent}.zone-column-cards::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px}@media(max-width:480px){.zone-section-grid{grid-template-columns:repeat(2,1fr)}.kanban-board{gap:10px}.zone-column{flex:0 0 260px}}@media(min-width:481px)and (max-width:768px){.zone-section-grid{grid-template-columns:repeat(3,1fr)}}html[data-theme=dark] .garden-view-toggle{border-color:#444}html[data-theme=dark] .garden-view-toggle .toggle-btn{background:#1a1a1a;color:#ccc}html[data-theme=dark] .garden-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}html[data-theme=dark] .garden-view-toggle .toggle-btn:hover:not(.active){background:#2a2a2a}html[data-theme=dark] .zone-grouped-grid::-webkit-scrollbar-thumb{background:#ffffff26}html[data-theme=dark] .zone-section-header{background:#2a2a2a}html[data-theme=dark] .zone-section-header:hover{background:#333}html[data-theme=dark] .zone-section-name{color:#e0e0e0}html[data-theme=dark] .zone-section-count,html[data-theme=dark] .zone-section-settings{color:#888}html[data-theme=dark] .zone-section-settings:hover{background:#ffffff14;color:#ccc}html[data-theme=dark] .zone-section-chevron{color:#888}html[data-theme=dark] .plant-card-grid{background:#2a2a2a;box-shadow:0 1px 4px #0000004d}html[data-theme=dark] .plant-card-grid:hover{box-shadow:0 3px 8px #0006}html[data-theme=dark] .plant-card-grid.status-healthy{border-color:#22c55e}html[data-theme=dark] .plant-card-grid.status-sick{border-color:#f59e0b}html[data-theme=dark] .plant-card-grid.status-dead{border-color:#6b7280}html[data-theme=dark] .plant-card-grid.selected{border-color:#818cf8;box-shadow:0 0 0 2px #818cf84d}html[data-theme=dark] .plant-card-grid-name{color:#f0f0f0}html[data-theme=dark] .plant-card-grid-age{color:#888}html[data-theme=dark] .plant-card-grid-water{background:#1e3a5ff2}html[data-theme=dark] .plant-card-grid-checkbox{background:#2a2a2ae6;color:#ccc}html[data-theme=dark] .plant-card-board{background:#2a2a2a;box-shadow:0 1px 4px #0000004d}html[data-theme=dark] .plant-card-board:hover{box-shadow:0 3px 8px #0006}html[data-theme=dark] .plant-card-board.status-healthy{border-color:#22c55e}html[data-theme=dark] .plant-card-board.status-sick{border-color:#f59e0b}html[data-theme=dark] .plant-card-board.status-dead{border-color:#6b7280}html[data-theme=dark] .plant-card-board.selected{border-color:#818cf8;box-shadow:0 0 0 2px #818cf84d}html[data-theme=dark] .plant-card-board-name{color:#f0f0f0}html[data-theme=dark] .plant-card-board-species{color:#999}html[data-theme=dark] .plant-card-board-age{color:#888}html[data-theme=dark] .plant-card-board-water{background:#1e3a5ff2}html[data-theme=dark] .plant-card-board-checkbox{background:#2a2a2ae6;color:#ccc}html[data-theme=dark] .plant-card-board-drag-handle{color:#555}html[data-theme=dark] .plant-card-board-drag-handle:hover{color:#aaa}html[data-theme=dark] .plant-card-board-menu-btn{color:#666}html[data-theme=dark] .plant-card-board-menu-btn:hover{background:#ffffff12;color:#bbb}html[data-theme=dark] .drag-overlay-card .plant-card-board{box-shadow:0 8px 24px #00000080}html[data-theme=dark] .zone-column.drop-target{outline-color:#4caf50;background:#4caf5014}html[data-theme=dark] .zone-column.drop-target .zone-column-header{background:#4caf5026}html[data-theme=dark] .kanban-board::-webkit-scrollbar-thumb{background:#ffffff26}html[data-theme=dark] .zone-column{background:#222}html[data-theme=dark] .zone-column-header{background:#2a2a2a;border-bottom-color:#444}html[data-theme=dark] .zone-column-header:hover{background:#333}html[data-theme=dark] .zone-column-name{color:#e0e0e0}html[data-theme=dark] .zone-column-count{color:#888}html[data-theme=dark] .zone-column-card-drag-handle{color:#444}html[data-theme=dark] .zone-column-card-drag-handle:hover{color:#999}html[data-theme=dark] .zone-column-drag-handle{color:#555}html[data-theme=dark] .zone-column-drag-handle:hover{color:#aaa}html[data-theme=dark] .zone-column-drag-overlay .zone-column{box-shadow:0 8px 24px #00000080}html[data-theme=dark] .zone-column-settings{color:#888}html[data-theme=dark] .zone-column-settings:hover{background:#ffffff14;color:#ccc}html[data-theme=dark] .zone-column-chevron{color:#888}html[data-theme=dark] .zone-column-cards::-webkit-scrollbar-thumb{background:#ffffff1a}@media(prefers-color-scheme:dark){.garden-view-toggle{border-color:#444}.garden-view-toggle .toggle-btn{background:#1a1a1a;color:#ccc}.garden-view-toggle .toggle-btn.active{background:#2d6a4f;color:#fff}.garden-view-toggle .toggle-btn:hover:not(.active){background:#2a2a2a}.zone-grouped-grid::-webkit-scrollbar-thumb{background:#ffffff26}.zone-section-header{background:#2a2a2a}.zone-section-header:hover{background:#333}.zone-section-name{color:#e0e0e0}.zone-section-settings{color:#888}.zone-section-settings:hover{background:#ffffff14;color:#ccc}.zone-section-chevron{color:#888}.plant-card-grid{background:#2a2a2a;box-shadow:0 1px 4px #0000004d}.plant-card-grid:hover{box-shadow:0 3px 8px #0006}.plant-card-grid.status-healthy{border-color:#22c55e}.plant-card-grid.status-sick{border-color:#f59e0b}.plant-card-grid.status-dead{border-color:#6b7280}.plant-card-grid.selected{border-color:#818cf8;box-shadow:0 0 0 2px #818cf84d}.plant-card-grid-name{color:#f0f0f0}.plant-card-grid-water{background:#1e3a5ff2}.plant-card-grid-checkbox{background:#2a2a2ae6;color:#ccc}.plant-card-board{background:#2a2a2a;box-shadow:0 1px 4px #0000004d}.plant-card-board:hover{box-shadow:0 3px 8px #0006}.plant-card-board.status-healthy{border-color:#22c55e}.plant-card-board.status-sick{border-color:#f59e0b}.plant-card-board.status-dead{border-color:#6b7280}.plant-card-board.selected{border-color:#818cf8;box-shadow:0 0 0 2px #818cf84d}.plant-card-board-name{color:#f0f0f0}.plant-card-board-species{color:#999}.plant-card-board-age{color:#888}.plant-card-board-water{background:#1e3a5ff2}.plant-card-board-checkbox{background:#2a2a2ae6;color:#ccc}.plant-card-board-drag-handle{color:#555}.plant-card-board-drag-handle:hover{color:#aaa}.plant-card-board-menu-btn{color:#666}.plant-card-board-menu-btn:hover{background:#ffffff12;color:#bbb}.zone-column-drag-handle{color:#555}.zone-column-drag-handle:hover{color:#aaa}.zone-column-drag-overlay .zone-column,.drag-overlay-card .plant-card-board{box-shadow:0 8px 24px #00000080}.zone-column.drop-target{outline-color:#4caf50;background:#4caf5014}.zone-column.drop-target .zone-column-header{background:#4caf5026}.kanban-board::-webkit-scrollbar-thumb{background:#ffffff26}.zone-column{background:#222}.zone-column-header{background:#2a2a2a;border-bottom-color:#444}.zone-column-header:hover{background:#333}.zone-column-name{color:#e0e0e0}.zone-column-settings{color:#888}.zone-column-settings:hover{background:#ffffff14;color:#ccc}.zone-column-cards::-webkit-scrollbar-thumb{background:#ffffff1a}}.propagate-tab{padding:.5rem 0}.propagate-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.propagate-container-select{flex:1;min-width:140px;max-width:280px;padding:.5rem .75rem;font-size:.88rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;cursor:pointer}.propagate-btn{padding:.45rem .75rem;font-size:.82rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.propagate-btn:hover{background:#f5f5f5}.propagate-btn:active{transform:scale(.97)}.propagate-btn.primary{background:#4caf50;color:#fff;border-color:#4caf50}.propagate-btn.primary:hover{background:#43a047}.propagate-btn.danger{color:#d32f2f;border-color:#ef9a9a}.propagate-btn.danger:hover{background:#ffebee}.propagate-editor{background:#fff;border:1px solid #e8ece8;border-radius:8px;padding:.75rem 1rem 1rem}.propagation-modal>.propagate-tab>.propagate-editor{border:none;border-radius:0;padding:.65rem 1rem 1rem}.propagate-editor-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.propagate-name-input{flex:1;min-width:150px;max-width:300px;padding:.45rem .65rem;font-size:.95rem;font-weight:600;border:1px solid transparent;border-radius:6px;background:transparent;color:#333;transition:border-color .15s,background .15s}.propagate-name-input:hover{border-color:#ddd;background:#fafafa}.propagate-name-input:focus{outline:none;border-color:#4caf50;background:#fff}.propagate-date-group{display:flex;align-items:center;gap:.4rem}.propagate-date-label{font-size:.78rem;color:#888;font-weight:600;white-space:nowrap}.propagate-date-input{padding:.35rem .5rem;font-size:.85rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333}.propagate-date-input:focus{outline:none;border-color:#4caf50}.propagate-dim-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.propagate-dim-group{display:flex;align-items:center;gap:.25rem}.propagate-dim-label{font-size:.78rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.03em;min-width:32px}.propagate-dim-value-input{font-size:.88rem;font-weight:600;color:#333;width:3rem;text-align:center;border:1px solid #ddd;border-radius:6px;padding:2px 4px;background:#fff;-moz-appearance:textfield}.propagate-dim-value-input::-webkit-inner-spin-button,.propagate-dim-value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.propagate-dim-value-input:focus{outline:2px solid #4caf50;outline-offset:1px;border-color:transparent}.propagate-dim-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;padding:0;line-height:1}.propagate-dim-btn:hover{background:#f0f0f0}.propagate-dim-btn:active{transform:scale(.95)}.propagate-save-status{font-size:.72rem;color:#999;margin-left:auto}.propagate-save-status.saving{color:#ff9800}.propagate-save-status.error{color:#d32f2f}.tray-paint-mode-banner{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;margin-top:.5rem;font-size:.85rem}.tray-paint-mode-banner.erase{background:#ffebee;border-color:#ef9a9a}.tray-paint-mode-banner.germ{background:#f1f8e9;border-color:#aed581}.tray-paint-mode-label{flex:1;color:#2e7d32;font-weight:500}.tray-paint-mode-banner.erase .tray-paint-mode-label{color:#c62828}.tray-paint-mode-banner.germ .tray-paint-mode-label{color:#558b2f}.tray-paint-mode-done{padding:.2rem .6rem;border:1px solid #4caf50;border-radius:4px;background:#fff;color:#2e7d32;font-size:.8rem;cursor:pointer;white-space:nowrap}.tray-paint-mode-done:hover{background:#f1f8e9}.tray-paint-mode-banner.erase .tray-paint-mode-done{border-color:#e57373;color:#c62828}.tray-paint-mode-banner.erase .tray-paint-mode-done:hover{background:#fff5f5}html[data-theme=dark] .tray-paint-mode-banner{background:#1b2e1b;border-color:#388e3c}html[data-theme=dark] .tray-paint-mode-banner.erase{background:#2e1b1b;border-color:#c62828}html[data-theme=dark] .tray-paint-mode-label{color:#81c784}html[data-theme=dark] .tray-paint-mode-banner.erase .tray-paint-mode-label{color:#ef9a9a}html[data-theme=dark] .tray-paint-mode-done{background:transparent;border-color:#388e3c;color:#81c784}html[data-theme=dark] .tray-paint-mode-done:hover{background:#1e3a1e}.propagate-grid-wrapper{overflow-x:auto;margin-top:.5rem}.propagate-grid{display:inline-grid;gap:2px;min-width:min-content}.propagate-header-cell{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#999;text-transform:uppercase;-webkit-user-select:none;user-select:none;min-width:80px;height:28px}.propagate-header-cell.corner{min-width:32px}.propagate-header-cell.row-header{min-width:32px;justify-content:center}.propagate-cell{min-width:80px;min-height:60px;border:1px solid #e8ece8;border-radius:6px;background:#fafafa;cursor:pointer;padding:.3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:border-color .15s,background .15s;position:relative}.propagate-cell:hover{border-color:#4caf50;background:#f0faf0}.propagate-cell.empty{color:#ccc;font-size:1.1rem}.propagate-cell-name{font-size:.72rem;font-weight:600;color:#333;text-align:center;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.propagate-cell-meta{display:flex;align-items:center;gap:.25rem;margin-top:.15rem}.propagate-cell.germinated{border-color:#4caf50;border-width:2px;background:#f0faf0}.propagate-germ-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;background:#f0faf0;border:1px solid #c8e6c9;border-radius:6px;font-size:.8rem;color:#333}.propagate-germ-summary{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.propagate-germ-stat{white-space:nowrap}.propagate-germ-stat strong{color:#2e7d32}.propagate-germ-breakdown{display:flex;flex-direction:column;gap:.25rem;border-top:1px solid #c8e6c9;padding-top:.35rem}.propagate-germ-brush-row{display:flex;align-items:center;gap:.5rem}.propagate-germ-brush-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.propagate-germ-brush-seeds{background:#e8f5e9;border-radius:10px;padding:0 .45rem;white-space:nowrap}.propagate-germ-brush-cells{color:#555;white-space:nowrap}.propagate-germ-brush-germ{color:#2e7d32;white-space:nowrap}.propagate-loading-skeleton{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.propagate-skeleton-header,.propagate-skeleton-grid{background:linear-gradient(90deg,var(--color-border, #e0e0e0) 25%,#f5f5f5 50%,var(--color-border, #e0e0e0) 75%);background-size:200% 100%;animation:propagate-shimmer 1.4s infinite;border-radius:6px}.propagate-skeleton-header{height:48px}.propagate-skeleton-grid{height:220px}@keyframes propagate-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}html[data-theme=dark] .propagate-skeleton-header,html[data-theme=dark] .propagate-skeleton-grid{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%);background-size:200% 100%;animation:propagate-shimmer 1.4s infinite}.propagate-empty{text-align:center;padding:3rem 1rem;color:#999}.propagate-empty p{margin:.5rem 0;font-size:.9rem}.propagate-empty .propagate-btn{margin-top:1rem}.propagate-confirm-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100}.propagate-confirm-box{background:#fff;border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 8px 24px #00000026}.propagate-confirm-box h3{margin:0 0 .75rem;font-size:1rem;color:#333}.propagate-confirm-box p{margin:0 0 1rem;font-size:.88rem;color:#666;line-height:1.4}.propagate-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}html[data-theme=dark] .propagate-container-select{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .propagate-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .propagate-btn:hover{background:#333}html[data-theme=dark] .propagate-btn.primary{background:#4caf50;color:#fff;border-color:#4caf50}html[data-theme=dark] .propagate-btn.primary:hover{background:#43a047}html[data-theme=dark] .propagate-btn.danger{color:#ef5350;border-color:#c62828}html[data-theme=dark] .propagate-btn.danger:hover{background:#3e2723}html[data-theme=dark] .propagate-editor{background:#2a2a2a;border-color:#444}html[data-theme=dark] .propagate-name-input{color:#e0e0e0}html[data-theme=dark] .propagate-name-input:hover{border-color:#555;background:#333}html[data-theme=dark] .propagate-name-input:focus{border-color:#4caf50;background:#1e1e1e}html[data-theme=dark] .propagate-date-input{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .propagate-date-input:focus{border-color:#4caf50}html[data-theme=dark] .propagate-dim-value-input{color:#e0e0e0;background:#2a2a2a;border-color:#555}html[data-theme=dark] .propagate-dim-btn{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .propagate-dim-btn:hover{background:#444}html[data-theme=dark] .propagate-germ-panel{background:#1a2e1a;border-color:#2e5a2e;color:#ccc}html[data-theme=dark] .propagate-germ-stat strong{color:#81c784}html[data-theme=dark] .propagate-germ-breakdown{border-top-color:#2e5a2e}html[data-theme=dark] .propagate-germ-brush-seeds{background:#1e3d1e}html[data-theme=dark] .propagate-germ-brush-cells{color:#aaa}html[data-theme=dark] .propagate-germ-brush-germ{color:#81c784}html[data-theme=dark] .propagate-cell{background:#1e1e1e;border-color:#444}html[data-theme=dark] .propagate-cell.germinated,html[data-theme=dark] .propagate-cell:hover{border-color:#4caf50;background:#1a2e1a}html[data-theme=dark] .propagate-cell.empty{color:#555}html[data-theme=dark] .propagate-cell-name{color:#e0e0e0}html[data-theme=dark] .propagate-header-cell{color:#888}html[data-theme=dark] .propagate-confirm-box{background:#2a2a2a}html[data-theme=dark] .propagate-confirm-box h3{color:#e0e0e0}html[data-theme=dark] .propagate-confirm-box p{color:#aaa}html[data-theme=dark] .propagate-empty{color:#888}.brush-bar{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;margin-bottom:.5rem;overflow-x:auto;scrollbar-width:thin}.brush-chips{display:flex;gap:.35rem;flex-shrink:0}.brush-chip{display:flex;align-items:center;gap:.25rem;padding:.25rem .55rem .25rem .35rem;border:1.5px solid #ddd;border-radius:14px;background:#fff;cursor:pointer;font-size:.78rem;font-weight:600;color:#333;white-space:nowrap;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.brush-chip.selected{border-color:#4caf50;background:#e8f5e9}.brush-chip:hover:not(.selected){border-color:#aaa;background:#f5f5f5}.brush-chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.brush-chip-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brush-chip-edit{background:none;border:none;cursor:pointer;color:#bbb;font-size:.7rem;padding:0 0 0 .15rem;line-height:1;flex-shrink:0}.brush-chip-edit:hover{color:#4caf50}.brush-erase-btn{padding:.25rem .55rem;font-size:.78rem;font-weight:600;border:1.5px solid #ef9a9a;border-radius:14px;background:#fff;color:#c62828;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s}.brush-erase-btn.active{background:#ffebee;border-color:#d32f2f}.brush-erase-btn:hover{background:#ffebee}.brush-add-btn{padding:.25rem .55rem;font-size:.78rem;font-weight:600;border:1.5px dashed #4caf50;border-radius:14px;background:#fff;color:#4caf50;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.brush-add-btn:hover{background:#e8f5e9}.propagate-cell-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;margin-bottom:2px}.propagate-cell-germ-badge{font-size:.55rem;padding:.05rem .25rem;background:#e8f5e9;color:#2e7d32;border-radius:3px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin-top:2px}.propagate-cell-paint-hint{font-size:.65rem;color:#ccc;-webkit-user-select:none;user-select:none}.propagate-cell.erase-hover:hover{border-color:#d32f2f;background:#ffebee}.propagate-cell.paint-mode:hover{background:#e8f5e9;border-color:#4caf50}.cell-detail-brush{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin-bottom:.5rem}.cell-detail-species{font-size:.8rem;color:#666;margin-bottom:.5rem}.cell-detail-germination{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.cell-detail-germ-label{font-size:.82rem;font-weight:600;color:#555}.cell-detail-germ-input-row{display:flex;align-items:center;gap:.5rem}.cell-detail-germ-input{width:80px;padding:.35rem .5rem;border:1.5px solid #a5d6a7;border-radius:6px;font-size:1rem;text-align:center}.cell-detail-germ-input:focus{outline:none;border-color:#4caf50}.cell-detail-germ-date{font-size:.75rem;color:#888}.brush-color-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.color-wheel-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:180px}.color-wheel-canvas{border-radius:50%;cursor:crosshair;display:block;width:180px;height:180px;touch-action:none;box-shadow:0 0 0 2px #ddd}.color-wheel-brightness{width:100%}.brightness-range{width:100%;height:12px;-webkit-appearance:none;appearance:none;border-radius:6px;cursor:pointer;margin:0;border:none;outline:none}.brightness-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.45);cursor:pointer;box-shadow:0 1px 3px #0000004d}.brightness-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.45);cursor:pointer;box-shadow:0 1px 3px #0000004d}.brightness-range::-moz-range-track{height:12px;border-radius:6px;background:transparent}.brush-color-bottom{display:flex;align-items:center;gap:.5rem;width:100%}.brush-auto-btn{padding:.2rem .55rem;border-radius:12px;border:1.5px solid #ddd;background:#f0f0f0;font-size:.7rem;font-weight:600;color:#666;cursor:pointer;white-space:nowrap;flex-shrink:0;line-height:1.4}.brush-auto-btn.selected{border-color:#4caf50;background:#e8f5e9;color:#2e7d32}.brush-auto-btn:hover:not(.selected){border-color:#bbb}html[data-theme=dark] .brush-chip{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .brush-chip.selected{background:#1a2e1a;border-color:#4caf50;color:#e0e0e0}html[data-theme=dark] .brush-chip:hover:not(.selected){background:#333;border-color:#666}html[data-theme=dark] .brush-chip-edit{color:#555}html[data-theme=dark] .brush-chip-edit:hover{color:#81c784}html[data-theme=dark] .brush-erase-btn{background:#2a2a2a;border-color:#c62828;color:#ef9a9a}html[data-theme=dark] .brush-erase-btn.active{background:#3e2723;border-color:#d32f2f}html[data-theme=dark] .brush-erase-btn:hover{background:#3e2723}html[data-theme=dark] .brush-add-btn{background:#2a2a2a;color:#81c784;border-color:#4caf50}html[data-theme=dark] .brush-add-btn:hover{background:#1a2e1a}html[data-theme=dark] .propagate-cell-germ-badge{background:#1a2e1a;color:#81c784}html[data-theme=dark] .propagate-cell.erase-hover:hover{background:#3e2723;border-color:#ef5350}html[data-theme=dark] .propagate-cell.paint-mode:hover{background:#1a2e1a}html[data-theme=dark] .cell-detail-species,html[data-theme=dark] .cell-detail-germ-label{color:#aaa}html[data-theme=dark] .cell-detail-germ-input{background:#2a2a2a;border-color:#2e5a2e;color:#e0e0e0}html[data-theme=dark] .cell-detail-germ-input:focus{border-color:#4caf50}html[data-theme=dark] .cell-detail-germ-date{color:#777}html[data-theme=dark] .color-wheel-canvas{box-shadow:0 0 0 2px #444}html[data-theme=dark] .brush-auto-btn{background:#333;border-color:#555;color:#aaa}html[data-theme=dark] .brush-auto-btn.selected{border-color:#4caf50;background:#1a2e1a;color:#81c784}html[data-theme=dark] .brush-auto-btn:hover:not(.selected){border-color:#777}.hex-input{width:90px!important;font-family:monospace;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.color-preview-swatch{width:32px;height:32px;border-radius:6px;border:1.5px solid #ccc;flex-shrink:0}html[data-theme=dark] .color-preview-swatch{border-color:#555}.propagate-brush-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.propagate-germ-mode-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:14px;border:1.5px solid #388e3c;background:#fff;color:#388e3c;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;flex-shrink:0}.propagate-germ-mode-btn:hover{background:#e8f5e9}.propagate-germ-mode-btn.active{background:#4caf50;color:#fff;border-color:#388e3c}.propagate-cell.germ-mode{cursor:cell}.propagate-cell.germ-mode:hover{border-color:#1b5e20;background:#c8e6c9}html[data-theme=dark] .propagate-germ-mode-btn{background:#2a2a2a;border-color:#4caf50;color:#81c784}html[data-theme=dark] .propagate-germ-mode-btn:hover{background:#1a2e1a}html[data-theme=dark] .propagate-germ-mode-btn.active{background:#2e5a2e;color:#c8e6c9}html[data-theme=dark] .propagate-cell.germ-mode:hover{background:#1b3a1b;border-color:#4caf50}.propagate-medium-section{border:1.5px solid #e0e0e0;border-radius:8px;margin-top:1rem}.propagate-medium-summary{padding:.6rem .8rem;cursor:pointer;font-size:.9rem;font-weight:600;color:#555;-webkit-user-select:none;user-select:none;list-style:none}.propagate-medium-summary::-webkit-details-marker{display:none}.propagate-medium-summary:before{content:"▸ ";font-size:.7rem}details[open] .propagate-medium-summary:before{content:"▾ "}.propagate-medium-preview{font-weight:400;color:#888;font-size:.85rem}.propagate-medium-body{padding:.75rem;border-top:1px solid #e0e0e0}.propagate-medium-save-btn{margin-top:.75rem}.medium-mix-editor{display:flex;flex-direction:column;gap:.5rem}.medium-mix-tags{display:flex;flex-wrap:wrap;gap:.3rem}.medium-mix-tag{padding:.2rem .55rem;border-radius:12px;border:1.5px solid #a5d6a7;background:#f1faf1;color:#388e3c;font-size:.78rem;cursor:pointer;transition:background .12s,opacity .12s}.medium-mix-tag:hover:not(:disabled){background:#c8e6c9}.medium-mix-tag.used,.medium-mix-tag:disabled{opacity:.4;cursor:default}.medium-mix-rows{display:flex;flex-direction:column;gap:.4rem}.medium-mix-row{display:flex;align-items:center;gap:.4rem}.medium-mix-name{flex:1;min-width:0}.medium-mix-stepper{display:flex;align-items:center;border:1.5px solid #ddd;border-radius:6px;overflow:hidden;flex-shrink:0}.medium-mix-stepper button{width:28px;height:28px;border:none;background:#f5f5f5;color:#555;font-size:1rem;cursor:pointer;line-height:1}.medium-mix-stepper button:hover:not(:disabled){background:#e0e0e0}.medium-mix-stepper button:disabled{opacity:.3;cursor:default}.medium-mix-stepper input[type=number]{width:44px;height:28px;text-align:center;border:none;border-left:1px solid #ddd;border-right:1px solid #ddd;font-size:.85rem;padding:0}.medium-mix-remove{width:24px;height:24px;border:none;background:none;color:#aaa;font-size:1.1rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .1s,background .1s}.medium-mix-remove:hover{color:#d32f2f;background:#ffebee}.medium-mix-add-btn{align-self:flex-start;padding:.25rem .7rem;border:1.5px dashed #a5d6a7;border-radius:12px;background:none;color:#4caf50;font-size:.82rem;cursor:pointer;transition:background .12s}.medium-mix-add-btn:hover{background:#f1faf1}.medium-mix-summary{font-size:.82rem;color:#555;padding:.3rem .4rem;background:#f9fef9;border-radius:6px;border:1px solid #e8f5e9}.medium-mix-notes{width:100%;box-sizing:border-box;font-size:.85rem;border:1.5px solid #ddd;border-radius:6px;padding:.4rem .5rem;resize:vertical;font-family:inherit;color:#444}html[data-theme=dark] .propagate-medium-section{border-color:#444}html[data-theme=dark] .propagate-medium-summary{color:#ccc}html[data-theme=dark] .propagate-medium-preview{color:#777}html[data-theme=dark] .propagate-medium-body{border-top-color:#444}html[data-theme=dark] .medium-mix-tag{background:#1a2e1a;border-color:#4caf50;color:#81c784}html[data-theme=dark] .medium-mix-tag:hover:not(:disabled){background:#2e5a2e}html[data-theme=dark] .medium-mix-stepper{border-color:#444}html[data-theme=dark] .medium-mix-stepper button{background:#2a2a2a;color:#ccc}html[data-theme=dark] .medium-mix-stepper button:hover:not(:disabled){background:#3a3a3a}html[data-theme=dark] .medium-mix-stepper input[type=number]{background:#222;color:#e0e0e0;border-color:#444}html[data-theme=dark] .medium-mix-remove:hover{color:#ef9a9a;background:#3e2723}html[data-theme=dark] .medium-mix-add-btn{border-color:#4caf50;color:#81c784}html[data-theme=dark] .medium-mix-add-btn:hover{background:#1a2e1a}html[data-theme=dark] .medium-mix-summary{background:#1a2e1a;border-color:#2e5a2e;color:#a5d6a7}html[data-theme=dark] .medium-mix-notes{background:#2a2a2a;border-color:#444;color:#e0e0e0}@media(max-width:600px){.propagate-toolbar{gap:.5rem}.propagate-container-select{max-width:none}.propagate-editor-header{flex-direction:column;align-items:stretch}.propagate-name-input{max-width:none}.propagate-save-status{margin-left:0}.propagate-cell{min-width:64px;min-height:50px}}.container-card-grid,.container-card-board,.container-card-list{cursor:pointer;border-radius:8px;border:1.5px dashed #a5d6a7;background:#f9fef9;transition:border-color .15s,background .15s,box-shadow .15s}.container-card-grid:hover,.container-card-board:hover,.container-card-list:hover{border-color:#4caf50;background:#f0faf0;box-shadow:0 2px 8px #4caf5026}.container-card-grid{padding:.6rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:80px;min-height:80px}.container-card-grid .container-card-icon{font-size:1.4rem;line-height:1}.container-card-grid .container-card-name{font-size:.72rem;font-weight:600;color:#333;text-align:center;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.container-card-sub{display:flex;align-items:center;justify-content:center;gap:.3rem}.container-card-grid .container-card-dims{font-size:.62rem;color:#888}.container-card-age{font-size:.62rem;color:#aaa;font-variant-numeric:tabular-nums}.container-card-grid .container-card-badges{display:flex;gap:.15rem;flex-wrap:wrap;justify-content:center;margin-top:.1rem}.container-card-board{padding:0}.container-card-board-layout{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem}.container-card-board .container-card-icon{font-size:1.2rem;flex-shrink:0}.container-card-board-info{flex:1;min-width:0}.container-card-board .container-card-name{font-size:.8rem;font-weight:600;color:#333;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container-card-meta{display:flex;align-items:center;gap:.3rem;margin-top:.1rem}.container-card-board .container-card-dims{font-size:.7rem;color:#888}.container-card-list{padding:.5rem .75rem}.container-card-list-layout{display:flex;align-items:center;gap:.75rem}.container-card-list .container-card-icon{font-size:1.4rem;flex-shrink:0}.container-card-list-info{flex:1;min-width:0}.container-card-list .container-card-name{font-size:.9rem;font-weight:600;color:#333;margin:0}.container-card-label{font-size:.72rem;color:#888}.container-card-list-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.container-card-list .container-card-dims{font-size:.8rem;color:#888;white-space:nowrap}.container-card-list .container-card-badges{display:flex;gap:.2rem}.container-badge{font-size:.75rem;line-height:1}.container-badge.watered{opacity:.9}.propagation-section{margin-bottom:1.5rem}.propagation-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 .25rem}.propagation-section-icon{font-size:1rem}.propagation-section-title{font-size:.82rem;font-weight:700;color:#4caf50;text-transform:uppercase;letter-spacing:.05em}.propagation-section-count{font-size:.75rem;color:#999;background:#f0f0f0;border-radius:10px;padding:.1rem .4rem}.garden-view-options{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.show-containers-toggle{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.show-containers-toggle input[type=checkbox]{accent-color:#4caf50;width:14px;height:14px;cursor:pointer}.propagate-quick-log{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.propagate-water-btn{padding:.4rem .75rem;font-size:.82rem;border:1px solid #90caf9;border-radius:8px;background:#e3f2fd;color:#1565c0;cursor:pointer;display:flex;align-items:center;gap:.3rem;white-space:nowrap;transition:background .15s}.propagate-water-btn:hover{background:#bbdefb}.propagate-water-btn:active{transform:scale(.97)}.propagate-maintenance-wrapper{position:relative}.propagate-maintenance-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:200;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001f;padding:.6rem;min-width:220px}.propagate-maintenance-toggle{display:flex;align-items:center;gap:.5rem;padding:.35rem .25rem;border-bottom:1px solid #f5f5f5}.propagate-maintenance-toggle:last-child{border-bottom:none}.propagate-maintenance-icon{font-size:.9rem;width:18px;text-align:center}.propagate-maintenance-label{flex:1;font-size:.82rem;color:#333}.propagate-toggle-btn{padding:.2rem .55rem;font-size:.72rem;font-weight:600;border:1px solid #ddd;border-radius:5px;cursor:pointer;transition:background .15s,color .15s}.propagate-toggle-btn.on{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.propagate-toggle-btn.off{background:#fafafa;color:#666}.propagate-toggle-btn.on:hover{background:#c8e6c9}.propagate-toggle-btn.off:hover{background:#eee}.propagate-maintenance-extra{width:52px;padding:.18rem .3rem;font-size:.75rem;border:1px solid #ddd;border-radius:5px;background:#fff;color:#333}.propagate-maintenance-extra:focus{outline:none;border-color:#4caf50}.propagate-status-panel{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;margin-bottom:.5rem;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;flex-wrap:wrap}.propagate-status-badge{display:flex;align-items:center;gap:.25rem;font-size:.76rem;color:#555;padding:.15rem .45rem;background:#fff;border:1px solid #e0e0e0;border-radius:12px;white-space:nowrap}.propagate-status-badge.watered{border-color:#90caf9;color:#1565c0;background:#e3f2fd}.propagate-log-section{margin-top:.75rem;border-top:1px solid #f0f0f0;padding-top:.5rem}.propagate-log-toggle{background:none;border:none;font-size:.78rem;color:#888;cursor:pointer;padding:.2rem 0;text-decoration:underline}.propagate-log-toggle:hover{color:#4caf50}.propagate-log-timeline{margin-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.propagate-log-entry{display:flex;align-items:center;gap:.5rem;font-size:.78rem;padding:.2rem 0}.propagate-log-icon{font-size:.85rem;width:18px;text-align:center;flex-shrink:0}.propagate-log-text{flex:1;color:#444}.propagate-log-time{color:#aaa;font-size:.72rem;white-space:nowrap}html[data-theme=dark] .container-card-grid,html[data-theme=dark] .container-card-board,html[data-theme=dark] .container-card-list{background:#1a2e1a;border-color:#2e5a2e}html[data-theme=dark] .container-card-grid:hover,html[data-theme=dark] .container-card-board:hover,html[data-theme=dark] .container-card-list:hover{border-color:#4caf50;background:#1e361e}html[data-theme=dark] .container-card-board .container-card-name,html[data-theme=dark] .container-card-grid .container-card-name,html[data-theme=dark] .container-card-list .container-card-name{color:#e0e0e0}html[data-theme=dark] .propagation-section-count{background:#333;color:#aaa}html[data-theme=dark] .show-containers-toggle{color:#aaa}html[data-theme=dark] .propagate-water-btn{background:#1a2e4a;border-color:#1565c0;color:#90caf9}html[data-theme=dark] .propagate-water-btn:hover{background:#1e3a5f}html[data-theme=dark] .propagate-maintenance-dropdown{background:#2a2a2a;border-color:#444}html[data-theme=dark] .propagate-maintenance-toggle{border-bottom-color:#333}html[data-theme=dark] .propagate-maintenance-label{color:#ccc}html[data-theme=dark] .propagate-toggle-btn.on{background:#1a3a1a;color:#81c784;border-color:#2e5a2e}html[data-theme=dark] .propagate-toggle-btn.off{background:#333;color:#aaa;border-color:#555}html[data-theme=dark] .propagate-maintenance-extra{background:#333;border-color:#555;color:#e0e0e0}html[data-theme=dark] .propagate-status-panel{background:#222;border-color:#333}html[data-theme=dark] .propagate-status-badge{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .propagate-status-badge.watered{background:#1a2e4a;border-color:#1565c0;color:#90caf9}html[data-theme=dark] .propagate-log-section{border-top-color:#333}html[data-theme=dark] .propagate-log-toggle{color:#666}html[data-theme=dark] .propagate-log-toggle:hover{color:#81c784}html[data-theme=dark] .propagate-log-text{color:#bbb}.propagation-modal-overlay{padding:.5rem}.propagation-modal{max-width:860px;width:98vw;height:95vh;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.propagation-modal-header{flex-shrink:0}.propagation-modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.propagation-modal-body .propagate-tab{padding:0}.propagation-modal>.propagate-tab{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:0}.propagation-modal>.propagate-tab>.propagate-editor{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 1rem 1rem}.tray-modal-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border, #e8ece8);background:var(--color-surface, #fff);flex-shrink:0;min-height:56px}.tray-header-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.tray-name-input{font-size:1.05rem;font-weight:700;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text, #333);padding:.15rem .35rem;width:100%;transition:border-color .15s,background .15s}.tray-name-input:hover{border-color:var(--color-border, #ddd);background:var(--color-surface-alt, #fafafa)}.tray-name-input:focus{outline:none;border-color:#4caf50;background:var(--color-surface, #fff)}.tray-name-loading{font-size:1rem;color:#aaa;padding:.15rem .35rem}.tray-header-meta{font-size:.78rem;color:#888;padding:0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tray-header-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.tray-save-indicator{font-size:.72rem;color:#aaa;white-space:nowrap}.tray-save-indicator.saving{color:#ff9800}.tray-save-indicator.error{color:#d32f2f}.tray-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#888;font-size:1.4rem;cursor:pointer;border-radius:6px;line-height:1;transition:background .12s,color .12s;flex-shrink:0}.tray-close-btn:hover{background:#f0f0f0;color:#333}.tray-overflow-wrapper{position:relative}.tray-overflow-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#888;font-size:1.25rem;cursor:pointer;border-radius:6px;transition:background .12s,color .12s;flex-shrink:0}.tray-overflow-btn:hover{background:#f0f0f0;color:#333}.tray-overflow-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-surface, #fff);border:1px solid var(--color-border, #ddd);border-radius:10px;box-shadow:0 4px 16px #0000001f;min-width:220px;z-index:200;overflow:hidden;padding:.35rem 0}.tray-overflow-section{padding:0 .35rem}.tray-overflow-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;font-size:.875rem;color:var(--color-text, #333);cursor:pointer;text-align:left;border-radius:6px;transition:background .12s}.tray-overflow-item:hover{background:var(--color-surface-alt, #f5f5f5)}.tray-overflow-item.danger{color:#d32f2f}.tray-overflow-item.danger:hover{background:#ffebee}.tray-overflow-divider{height:1px;background:var(--color-border, #eee);margin:.35rem 0}.tray-settings-inline{border:none}.tray-settings-inline>summary{list-style:none}.tray-settings-inline>summary::-webkit-details-marker{display:none}.tray-settings-inline-body{padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.6rem}.tray-summary-strip{display:flex;align-items:center;gap:.35rem;padding:.45rem 0;font-size:.8rem;color:#666;flex-wrap:wrap;border-bottom:1px solid var(--color-border, #f0f0f0);margin-bottom:.65rem}.tray-summary-item{white-space:nowrap}.tray-summary-item strong{color:var(--color-text, #333)}.tray-summary-divider{color:#ccc;-webkit-user-select:none;user-select:none}.tray-summary-germ strong{color:#2e7d32}.tray-status-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:10px;font-size:.72rem;font-weight:600;background:color-mix(in srgb,var(--badge-color, #4caf50) 12%,white);color:color-mix(in srgb,var(--badge-color, #4caf50) 80%,#333);white-space:nowrap}.tray-status-badge.watered{background:#e3f2fd;color:#1565c0}.tray-brush-toolbar{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.tray-brush-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.tray-brush-row .brush-bar{flex:1;min-width:0;margin-bottom:0}.tray-fill-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.tray-undoredo-group{display:flex;gap:2px;margin-left:.25rem}.tray-undoredo-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;font-size:1rem;border:1px solid #d0d0d0;border-radius:6px;background:var(--color-surface, #fff);color:#444;cursor:pointer;transition:background .15s,border-color .15s;line-height:1}.tray-undoredo-btn:hover:not(:disabled){background:#f0f0f0;border-color:#aaa}.tray-undoredo-btn:disabled{opacity:.35;cursor:not-allowed}html[data-theme=dark] .tray-undoredo-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .tray-undoredo-btn:hover:not(:disabled){background:#3a3a3a;border-color:#666}.tray-fill-group{display:flex;gap:2px;flex-shrink:0}.tray-fill-btn{display:inline-flex;align-items:center;padding:.28rem .55rem;font-size:.78rem;font-weight:500;border:1px solid #ccc;border-radius:6px;background:#fff;color:#444;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;flex-shrink:0}.tray-fill-btn:hover:not(:disabled){background:#eef3ff;border-color:#7aa3e0;color:#1a3a7a}.tray-fill-btn:disabled{opacity:.38;cursor:not-allowed}.tray-fill-btn.danger{color:#c62828;border-color:#ef9a9a}.tray-fill-btn.danger:hover{background:#ffebee;border-color:#c62828}html[data-theme=dark] .tray-fill-btn{background:#2a2a2a;border-color:#444;color:#bbb}html[data-theme=dark] .tray-fill-btn:hover:not(:disabled){background:#1e2a3e;border-color:#5a7abf;color:#c8d8f8}html[data-theme=dark] .tray-fill-btn.danger{color:#ef5350;border-color:#c62828}html[data-theme=dark] .tray-fill-btn.danger:hover{background:#3e2723;border-color:#ef5350}.tray-empty-hint{padding:.65rem .75rem;margin-bottom:.5rem;background:var(--color-surface-alt, #f9fef9);border:1px dashed #c8e6c9;border-radius:8px;font-size:.82rem;color:#555}.tray-empty-hint p{margin:0}.propagate-grid-wrapper.is-dragging{cursor:crosshair}.propagate-grid-wrapper.is-dragging .propagate-cell{transition:none}.tray-actions-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.5rem 0;margin-top:.5rem;border-top:1px solid var(--color-border, #f0f0f0)}.tray-action-btn{padding:.3rem .65rem;font-size:.8rem;font-weight:500;border:1.5px solid var(--color-border, #ddd);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #444);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.tray-action-btn:hover{background:var(--color-surface-alt, #f5f5f5)}.tray-action-btn.active{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.tray-action-btn.primary{background:#4caf50;color:#fff;border-color:#4caf50}.tray-action-btn.primary:hover{background:#43a047}.tray-action-btn.water{color:#1565c0;border-color:#90caf9}.tray-action-btn.water:hover{background:#e3f2fd}.tray-actions-divider{flex:1}.tray-section{border:1.5px solid var(--color-border, #e0e0e0);border-radius:8px;margin-top:.65rem}.tray-section-summary{display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--color-text-muted, #555);-webkit-user-select:none;user-select:none;list-style:none}.tray-section-summary::-webkit-details-marker{display:none}.tray-section-summary:before{content:"▸";font-size:.65rem;color:#aaa;flex-shrink:0}details[open]>.tray-section-summary:before{content:"▾"}.tray-section-hint{font-size:.78rem;font-weight:400;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tray-section-body{padding:.75rem;border-top:1px solid var(--color-border, #e0e0e0)}html[data-theme=dark] .tray-modal-header{border-bottom-color:#3a3a3a;background:#1e1e1e}html[data-theme=dark] .tray-name-input{color:#e0e0e0}html[data-theme=dark] .tray-name-input:hover{border-color:#555;background:#2a2a2a}html[data-theme=dark] .tray-name-input:focus{border-color:#4caf50;background:#1a1a1a}html[data-theme=dark] .tray-header-meta,html[data-theme=dark] .tray-close-btn,html[data-theme=dark] .tray-overflow-btn{color:#666}html[data-theme=dark] .tray-close-btn:hover,html[data-theme=dark] .tray-overflow-btn:hover{background:#333;color:#ccc}html[data-theme=dark] .tray-overflow-menu{background:#2a2a2a;border-color:#444;box-shadow:0 4px 16px #0006}html[data-theme=dark] .tray-overflow-item{color:#ccc}html[data-theme=dark] .tray-overflow-item:hover{background:#333}html[data-theme=dark] .tray-overflow-item.danger{color:#ef5350}html[data-theme=dark] .tray-overflow-item.danger:hover{background:#3e2723}html[data-theme=dark] .tray-overflow-divider{background:#3a3a3a}html[data-theme=dark] .tray-summary-strip{color:#888;border-bottom-color:#333}html[data-theme=dark] .tray-summary-item strong{color:#e0e0e0}html[data-theme=dark] .tray-summary-divider{color:#444}html[data-theme=dark] .tray-summary-germ strong{color:#81c784}html[data-theme=dark] .tray-status-badge.watered{background:#0d2a4a;color:#64b5f6}html[data-theme=dark] .tray-empty-hint{background:#1a2e1a;border-color:#2e5a2e;color:#aaa}html[data-theme=dark] .tray-actions-row{border-top-color:#333}html[data-theme=dark] .tray-action-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .tray-action-btn:hover{background:#333}html[data-theme=dark] .tray-action-btn.active{background:#1a2e1a;border-color:#4caf50;color:#81c784}html[data-theme=dark] .tray-action-btn.primary{background:#4caf50;color:#fff;border-color:#4caf50}html[data-theme=dark] .tray-action-btn.water{color:#64b5f6;border-color:#1565c0}html[data-theme=dark] .tray-action-btn.water:hover{background:#0d2a4a}html[data-theme=dark] .tray-section{border-color:#3a3a3a}html[data-theme=dark] .tray-section-summary{color:#aaa}html[data-theme=dark] .tray-section-summary:before{color:#555}html[data-theme=dark] .tray-section-hint{color:#666}html[data-theme=dark] .tray-section-body{border-top-color:#3a3a3a}html[data-theme=dark] .propagation-modal>.propagate-tab>.propagate-editor{background:#1a1a1a}.propagate-analytics-section{margin-top:1rem;border-top:1px solid #f0f0f0;padding-top:.5rem}.propagation-analytics{padding:.75rem 0 .25rem;display:flex;flex-direction:column;gap:.75rem}.analytics-loading,.analytics-error,.analytics-empty{font-size:.82rem;color:#888;margin:0}.analytics-error{color:#c62828}.analytics-summary-cards{display:flex;flex-wrap:wrap;gap:.5rem}.analytics-card{display:flex;flex-direction:column;align-items:center;padding:.5rem .75rem;background:#f9fef9;border:1.5px solid #c8e6c9;border-radius:8px;min-width:80px;text-align:center}.analytics-card.muted{background:#fafafa;border-color:#e0e0e0}.analytics-card-value{font-size:1.2rem;font-weight:700;color:#2e7d32;line-height:1.2}.analytics-card.muted .analytics-card-value{color:#bbb}.analytics-card-unit{font-size:.75rem;font-weight:500;margin-left:1px;opacity:.75}.analytics-card-label{font-size:.68rem;color:#777;margin-top:.2rem;white-space:nowrap}.analytics-benchmark-strip{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.45rem .65rem;background:#f1faf1;border:1.5px solid #a5d6a7;border-radius:8px;font-size:.82rem}.analytics-benchmark-strip.no-data{background:#fafafa;border-color:#e0e0e0}.analytics-benchmark-label{color:#555;font-weight:600;white-space:nowrap}.analytics-benchmark-value{color:#2e7d32;font-weight:700;white-space:nowrap}.analytics-benchmark-sep{color:#bbb}.analytics-coverage-note{font-size:.72rem;color:#999;white-space:nowrap}.analytics-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:10px;font-size:.72rem;font-weight:700;background:color-mix(in srgb,var(--badge-color) 12%,white);color:var(--badge-color);border:1px solid color-mix(in srgb,var(--badge-color) 35%,white);white-space:nowrap}.analytics-brush-section{display:flex;flex-direction:column;gap:.4rem}.analytics-section-heading{margin:0;font-size:.78rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.04em}.analytics-brush-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.analytics-brush-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:520px}.analytics-brush-table th{text-align:left;padding:.3rem .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#888;border-bottom:1.5px solid #e8e8e8;white-space:nowrap}.analytics-brush-table td{padding:.35rem .5rem;border-bottom:1px solid #f5f5f5;color:#333;vertical-align:middle}.analytics-brush-table tr:last-child td{border-bottom:none}.analytics-brush-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.3rem;vertical-align:middle;flex-shrink:0}.analytics-brush-name{font-weight:600}.analytics-brush-species{font-weight:400;color:#888;font-size:.75rem}.analytics-insights{margin:0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.2rem}.analytics-insights li{font-size:.82rem;color:#555;line-height:1.4}html[data-theme=dark] .propagate-analytics-section{border-top-color:#333}html[data-theme=dark] .analytics-card{background:#1a2e1a;border-color:#2e5a2e}html[data-theme=dark] .analytics-card.muted{background:#222;border-color:#333}html[data-theme=dark] .analytics-card-value{color:#81c784}html[data-theme=dark] .analytics-card-label{color:#888}html[data-theme=dark] .analytics-benchmark-strip{background:#1a2e1a;border-color:#2e5a2e}html[data-theme=dark] .analytics-benchmark-strip.no-data{background:#222;border-color:#333}html[data-theme=dark] .analytics-benchmark-label{color:#aaa}html[data-theme=dark] .analytics-benchmark-value{color:#81c784}html[data-theme=dark] .analytics-status-badge{background:color-mix(in srgb,var(--badge-color) 20%,#1a1a1a);border-color:color-mix(in srgb,var(--badge-color) 40%,#1a1a1a)}html[data-theme=dark] .analytics-section-heading{color:#aaa}html[data-theme=dark] .analytics-brush-table th{color:#666;border-bottom-color:#333}html[data-theme=dark] .analytics-brush-table td{color:#ccc;border-bottom-color:#2a2a2a}html[data-theme=dark] .analytics-brush-species{color:#666}html[data-theme=dark] .analytics-insights li{color:#aaa}@media(max-width:600px){.analytics-summary-cards{gap:.35rem}.analytics-card{min-width:70px;padding:.4rem .5rem}.analytics-card-value{font-size:1rem}.analytics-benchmark-strip{font-size:.78rem}}.group-card{background:var(--card-bg, #fff);border:2px solid var(--group-border, #a3e6b0);border-radius:12px;padding:.85rem 1rem;cursor:pointer;position:relative;transition:box-shadow .15s,border-color .15s,transform .15s,opacity .15s,filter .15s;display:flex;flex-direction:column;gap:.5rem}.group-card:hover{box-shadow:0 4px 14px #0000001a;border-color:var(--group-border-hover, #6fcf97)}.group-card.group-card-selected{border-color:#646cff;box-shadow:0 4px 16px #646cff66,0 0 0 2px #646cff80;transform:translateY(-3px);z-index:1}html[data-theme=dark] .group-card.group-card-selected{border-color:#818cf8;box-shadow:0 4px 16px #818cf866,0 0 0 2px #818cf880;transform:translateY(-3px);z-index:1}.group-card.multi-select-dimmed{opacity:.45;filter:saturate(.5)}.group-card-checkbox{font-size:1.1rem;line-height:1.6rem;flex-shrink:0;color:var(--text-primary, #1a1a1a);-webkit-user-select:none;user-select:none}.group-card:focus-visible{outline:2px solid #4caf50;outline-offset:2px}.group-card-top{display:flex;align-items:flex-start;gap:.6rem}.group-card-drag-handle{font-size:1rem;color:var(--text-muted, #999);cursor:grab;flex-shrink:0;padding:0 2px;line-height:1.6rem;touch-action:none}.group-card-drag-handle:active{cursor:grabbing}.group-card-icon{font-size:1.6rem;line-height:1;flex-shrink:0}.group-card-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.group-card-name{font-weight:700;font-size:.95rem;color:var(--text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-zone{font-size:.75rem;color:#555;background:#e8f5e9;border-radius:4px;padding:.1rem .4rem;display:inline-block;width:fit-content}.group-card-zone--unzoned{background:#f0f0f0;color:#888}.group-card-count{font-size:.78rem;color:#666}.group-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.group-quick-action-btn{font-size:.72rem;padding:.25rem .55rem;border:1px solid #ccc;border-radius:20px;background:#f8f8f8;cursor:pointer;color:#333;transition:background .12s,border-color .12s;white-space:nowrap}.group-quick-action-btn:hover:not(:disabled){background:#e8f5e9;border-color:#81c784}.group-quick-action-btn:disabled{opacity:.45;cursor:not-allowed}.group-quick-action-btn--large{font-size:.85rem;padding:.45rem .9rem}.group-card-toast{position:absolute;top:-2.2rem;left:50%;transform:translate(-50%);background:#333;color:#fff;font-size:.75rem;padding:.25rem .65rem;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:10}.group-card-board .group-card-top{flex-direction:row}.group-detail-modal{max-width:560px;width:95vw}.group-detail-body{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem;overflow-y:auto;max-height:70vh}.group-detail-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.group-detail-count{font-size:.82rem;color:#666}.group-detail-description{font-size:.875rem;color:#555;margin:0}.group-detail-section{display:flex;flex-direction:column;gap:.5rem}.group-detail-section h3{font-size:.88rem;font-weight:700;color:#333;margin:0;text-transform:uppercase;letter-spacing:.04em}.group-section-header{display:flex;align-items:center;justify-content:space-between}.group-section-header h3{margin:0}.group-quick-actions{display:flex;gap:.5rem;flex-wrap:wrap}.group-members-list{display:flex;flex-direction:column;gap:.35rem}.group-member-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:8px;background:#f9f9f9;border:1px solid #eee}.group-member-icon{font-size:1.1rem;flex-shrink:0}.group-member-info{display:flex;flex-direction:column;flex:1;min-width:0}.group-member-name{font-size:.88rem;font-weight:600;color:#1a1a1a}.group-member-cultivar{font-size:.76rem;color:#666}.group-member-remove{background:none;border:none;color:#c0392b;font-size:1rem;cursor:pointer;padding:.2rem;flex-shrink:0;opacity:.6;transition:opacity .12s}.group-member-remove:hover:not(:disabled){opacity:1}.group-members-empty,.group-add-empty{font-size:.82rem;color:#888}.group-add-plants{border:1px dashed #ccc;border-radius:8px;padding:.6rem}.group-add-plant-list{display:flex;flex-wrap:wrap;gap:.4rem}.group-add-plant-btn{font-size:.8rem;padding:.3rem .65rem;border:1px solid #bbb;border-radius:20px;background:#fff;cursor:pointer;transition:background .12s}.group-add-plant-btn:hover:not(:disabled){background:#e8f5e9;border-color:#81c784}.group-edit-form{display:flex;flex-direction:column;gap:.75rem}.group-edit-name-input{font-size:1.1rem;font-weight:700;border:1px solid #ccc;border-radius:6px;padding:.35rem .6rem;flex:1}.group-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.group-danger-zone{border-top:1px solid #f5c6c6;padding-top:.75rem}.group-confirm-delete{display:flex;flex-direction:column;gap:.5rem}.group-confirm-delete p{font-size:.85rem;color:#555}.group-toast{background:#323232;color:#fff;font-size:.82rem;padding:.5rem 1rem;border-radius:6px;margin:0 1.25rem;text-align:center}.group-modal{max-width:480px;width:95vw}.group-modal-plant-list{display:flex;flex-wrap:wrap;gap:.4rem}.group-modal-plant-chip{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;font-size:.78rem;padding:.2rem .55rem;color:#2e7d32}.graduate-modal{max-width:480px;width:95vw}.graduate-plants-summary{padding:0 0 .5rem;font-size:.88rem}.graduate-plant-list{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-direction:column;gap:.25rem}.graduate-plant-list li{font-size:.83rem;color:#444;padding:.1rem 0}.form-group--checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-group--checkbox label{display:flex;align-items:center;gap:.4rem;font-size:.88rem;cursor:pointer;margin:0}.propagate-cell.cell-selectable{cursor:pointer;outline:2px dashed #81c784;outline-offset:-2px}.propagate-cell.cell-selected{background:#c8e6c9!important;outline:2px solid #388e3c;outline-offset:-2px}.propagate-graduate-toast{background:#2e7d32;color:#fff;padding:.6rem 1.2rem;border-radius:8px;margin:.5rem 1rem;font-size:.88rem;text-align:center}.btn-small{font-size:.8rem;padding:.25rem .6rem;border:1px solid #ccc;border-radius:6px;background:#f5f5f5;cursor:pointer;transition:background .12s}.btn-small:hover{background:#e8f5e9;border-color:#81c784}.btn-danger-outline{background:none;border:1px solid #e57373;color:#c0392b;padding:.4rem .8rem;border-radius:6px;font-size:.83rem;cursor:pointer;transition:background .12s}.btn-danger-outline:hover{background:#fde8e8}html[data-theme=dark] .group-card{background:#1e1e1e;border-color:#3d6b4a}html[data-theme=dark] .group-card:hover{border-color:#5a9b68}html[data-theme=dark] .group-card-name{color:#f0f0f0}html[data-theme=dark] .group-card-zone{background:#2d4a30;color:#a5d6a7}html[data-theme=dark] .group-card-zone--unzoned{background:#2a2a2a;color:#999}html[data-theme=dark] .group-quick-action-btn{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .group-quick-action-btn:hover:not(:disabled){background:#2d4a30;border-color:#5a9b68}html[data-theme=dark] .group-member-row{background:#252525;border-color:#3a3a3a}html[data-theme=dark] .group-member-name{color:#f0f0f0}html[data-theme=dark] .group-modal-plant-chip{background:#2d4a30;border-color:#5a9b68;color:#a5d6a7}html[data-theme=dark] .group-add-plant-btn{background:#252525;border-color:#444;color:#ccc}html[data-theme=dark] .group-add-plant-btn:hover:not(:disabled){background:#2d4a30}html[data-theme=dark] .btn-small{background:#2a2a2a;border-color:#444;color:#ccc}html[data-theme=dark] .propagate-cell.cell-selected{background:#1b4a20!important}.archived-plants-view{padding:1rem;max-width:900px;margin:0 auto}.archive-header{margin-bottom:1.5rem}.archive-header h2{font-size:1.4rem;font-weight:600;margin:0}.archive-empty-state{text-align:center;padding:3rem 1rem;color:#6b7280;font-size:1rem}.archive-loading,.archive-error{padding:2rem;text-align:center}.archive-zone-group{margin-bottom:2rem}.archive-zone-heading{font-size:1rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;display:flex;align-items:center;gap:.4rem}.archive-zone-icon{font-size:1.1rem}.archive-plant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.archive-plant-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.9rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .15s}.archive-plant-card:hover{box-shadow:0 2px 8px #00000014}.archive-plant-card.status-dead{opacity:.75}.archive-plant-image{width:100%;height:100px;border-radius:6px;overflow:hidden}.archive-plant-image img{width:100%;height:100%;object-fit:cover}.archive-plant-info{display:flex;flex-direction:column;gap:.2rem;flex:1}.archive-plant-name{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.35rem}.archive-plant-icon{font-size:1rem}.archive-plant-species{font-size:.8rem;color:#6b7280;font-style:italic}.archive-plant-cultivar{font-size:.8rem;color:#6b7280}.archive-plant-date{font-size:.75rem;color:#9ca3af;margin-top:.2rem}.archive-plant-card .restore-button{margin-top:.25rem;padding:.45rem .8rem;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s;width:100%}.archive-plant-card .restore-button:hover:not(:disabled){background:#15803d}.archive-plant-card .restore-button:disabled{opacity:.6;cursor:not-allowed}.status-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;padding:.15rem .4rem;border-radius:4px;font-weight:500;width:fit-content}.status-badge-dead{background:#f3f4f6;color:#6b7280}html[data-theme=dark] .archive-plant-card{background:#2a2a2a;border-color:#3a3a3a}html[data-theme=dark] .archive-plant-card:hover{box-shadow:0 2px 8px #0000004d}html[data-theme=dark] .archive-zone-heading,html[data-theme=dark] .archive-plant-species,html[data-theme=dark] .archive-plant-cultivar{color:#9ca3af}html[data-theme=dark] .archive-plant-date{color:#6b7280}html[data-theme=dark] .archive-empty-state{color:#9ca3af}html[data-theme=dark] .status-badge-dead{background:#3a3a3a;color:#9ca3af}.garden-view-mode-toggle{display:flex;border-radius:6px;border:1.5px solid #ccc;overflow:hidden}.view-mode-btn{padding:.25rem .7rem;border:none;background:transparent;cursor:pointer;font-size:.78rem;color:#666;transition:background .12s,color .12s;white-space:nowrap}.view-mode-btn+.view-mode-btn{border-left:1.5px solid #ccc}.view-mode-btn.active{background:#4a7c59;color:#fff}.view-mode-btn:not(.active):hover{background:#f0f4f1}html[data-theme=dark] .garden-view-mode-toggle{border-color:#3a3a3a}html[data-theme=dark] .view-mode-btn{color:#aaa}html[data-theme=dark] .view-mode-btn+.view-mode-btn{border-left-color:#3a3a3a}html[data-theme=dark] .view-mode-btn.active{background:#3a6b47;color:#fff}html[data-theme=dark] .view-mode-btn:not(.active):hover{background:#2a2a2a}.board-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid #e8e8e8}.board-selector-tabs{display:flex;gap:.375rem;flex-wrap:nowrap;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.board-selector-tabs::-webkit-scrollbar{display:none}.board-tab{display:flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:20px;border:1.5px solid #ccc;background:transparent;cursor:pointer;font-size:.8rem;font-weight:500;color:#555;white-space:nowrap;transition:all .15s;flex-shrink:0}.board-tab:hover{border-color:#2d6a4f;color:#2d6a4f;background:#f0faf5}.board-tab.active{background:#2d6a4f;color:#fff;border-color:#2d6a4f}.board-tab-icon{font-size:.9rem}.board-tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.board-manage-btn{flex-shrink:0;padding:.35rem .6rem;border-radius:6px;border:1.5px solid #ccc;background:transparent;cursor:pointer;font-size:.85rem;color:#666;line-height:1;transition:all .15s}.board-manage-btn:hover{border-color:#2d6a4f;color:#2d6a4f;background:#f0faf5}.board-hidden-hint{font-size:.8rem;color:#888;padding:.4rem .5rem;background:#fafafa;border:1px solid #eee;border-radius:6px;margin-bottom:.75rem}.board-hidden-hint .link-button{color:#2d6a4f;background:none;border:none;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.manage-boards-modal{max-width:700px!important;max-height:85vh}.manage-boards-body{display:flex;min-height:420px}.manage-boards-list{width:200px;flex-shrink:0;border-right:1px solid #eee;display:flex;flex-direction:column;padding:.75rem 0;overflow-y:auto}.manage-boards-list-header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#999;padding:0 .75rem .5rem}.manage-board-row{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;cursor:pointer;transition:background .1s;border-left:3px solid transparent}.manage-board-row:hover{background:#f5f5f5}.manage-board-row.selected{background:#f0faf5;border-left-color:#2d6a4f}.manage-board-row-reorder{display:flex;flex-direction:column;gap:1px}.manage-board-row-icon{font-size:1rem;flex-shrink:0}.manage-board-row-name{flex:1;font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.manage-board-delete-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;color:#bbb;padding:0 .1rem;line-height:1;opacity:0;transition:opacity .1s,color .1s}.manage-board-row:hover .manage-board-delete-btn{opacity:1}.manage-board-delete-btn:hover{color:#e53e3e}.manage-boards-add-btn{margin:.5rem .75rem 0;padding:.4rem .75rem;border-radius:6px;border:1.5px dashed #ccc;background:transparent;cursor:pointer;font-size:.8rem;color:#666;text-align:left;transition:all .15s}.manage-boards-add-btn:hover{border-color:#2d6a4f;color:#2d6a4f;background:#f0faf5}.manage-boards-edit{flex:1;padding:1rem 1.25rem;overflow-y:auto}.manage-boards-edit-header{font-size:.9rem;font-weight:600;color:#444;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.manage-boards-empty-hint{color:#aaa;font-size:.875rem;text-align:center;margin-top:3rem}.board-icon-input{width:5rem!important;font-size:1.2rem;text-align:center}.manage-board-zones{display:flex;flex-direction:column;gap:.25rem;max-height:260px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:6px;padding:.5rem}.manage-board-zones-empty{color:#aaa;font-size:.8rem;text-align:center;margin:.5rem 0}.manage-board-zone-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;border-radius:4px;transition:background .1s}.manage-board-zone-row:hover{background:#f5f5f5}.manage-board-zone-row.checked{background:#f0faf5}.manage-board-zone-label{display:flex;align-items:center;gap:.3rem;flex:1;font-size:.85rem;cursor:pointer}.manage-board-zone-reorder{display:flex;gap:2px}.reorder-btn{background:none;border:none;cursor:pointer;font-size:.6rem;color:#bbb;padding:1px 3px;line-height:1;border-radius:3px;transition:color .1s,background .1s}.reorder-btn:hover:not(:disabled){color:#2d6a4f;background:#e8f5ee}.reorder-btn:disabled{opacity:.3;cursor:default}.manage-boards-confirm-overlay{position:absolute;inset:0;background:#00000080;border-radius:12px;display:flex;align-items:center;justify-content:center;z-index:10}.manage-boards-confirm{background:#fff;border-radius:10px;padding:1.5rem;max-width:320px;text-align:center;box-shadow:0 8px 32px #0003}.manage-boards-confirm p{margin:0 0 1.25rem;font-size:.9rem;color:#333}html[data-theme=dark] .board-selector{border-bottom-color:#3a3a3a}html[data-theme=dark] .board-tab{border-color:#4a4a4a;color:#ccc}html[data-theme=dark] .board-tab:hover{border-color:#4ade80;color:#4ade80;background:#1a3a2a}html[data-theme=dark] .board-tab.active{background:#1a7a50;border-color:#1a7a50;color:#fff}html[data-theme=dark] .board-manage-btn{border-color:#4a4a4a;color:#aaa}html[data-theme=dark] .board-manage-btn:hover{border-color:#4ade80;color:#4ade80;background:#1a3a2a}html[data-theme=dark] .board-hidden-hint{background:#1e1e1e;border-color:#3a3a3a;color:#999}html[data-theme=dark] .board-hidden-hint .link-button{color:#4ade80}html[data-theme=dark] .manage-boards-body{background:#2a2a2a}html[data-theme=dark] .manage-boards-list{border-right-color:#3a3a3a}html[data-theme=dark] .manage-boards-list-header{color:#777}html[data-theme=dark] .manage-board-row:hover{background:#333}html[data-theme=dark] .manage-board-row.selected{background:#1a3a2a;border-left-color:#4ade80}html[data-theme=dark] .manage-board-row-name{color:#ddd}html[data-theme=dark] .manage-boards-add-btn{border-color:#4a4a4a;color:#aaa}html[data-theme=dark] .manage-boards-add-btn:hover{border-color:#4ade80;color:#4ade80;background:#1a3a2a}html[data-theme=dark] .manage-boards-edit{color:#ddd}html[data-theme=dark] .manage-boards-edit-header{color:#ccc;border-bottom-color:#3a3a3a}html[data-theme=dark] .manage-board-zones{border-color:#3a3a3a}html[data-theme=dark] .manage-board-zone-row:hover{background:#333}html[data-theme=dark] .manage-board-zone-row.checked{background:#1a3a2a}html[data-theme=dark] .manage-board-zone-label{color:#ccc}html[data-theme=dark] .reorder-btn:hover:not(:disabled){color:#4ade80;background:#1a3a2a}html[data-theme=dark] .manage-boards-confirm{background:#2a2a2a}html[data-theme=dark] .manage-boards-confirm p{color:#ddd}@media(max-width:600px){.manage-boards-body{flex-direction:column}.manage-boards-list{width:100%;border-right:none;border-bottom:1px solid #eee;max-height:160px}html[data-theme=dark] .manage-boards-list{border-bottom-color:#3a3a3a}.manage-boards-modal{max-height:95vh}.board-tab-name{max-width:80px}}.btn-danger{background:#e53e3e;border:1px solid #c53030;color:#fff;padding:.4rem .9rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .12s}.btn-danger:hover:not(:disabled){background:#c53030}.btn-danger:disabled{opacity:.6;cursor:default}.contextual-add-row{display:flex;gap:.35rem;padding:.35rem 0 0;flex-wrap:wrap}.ctx-add-btn{flex:1;min-width:0;padding:.35rem .4rem;font-size:.7rem;color:#999;background:transparent;border:1.5px dashed #ddd;border-radius:6px;cursor:pointer;text-align:center;white-space:nowrap;transition:border-color .15s,color .15s,background .15s;-webkit-tap-highlight-color:transparent;line-height:1.4}.ctx-add-btn:hover,.ctx-add-btn:focus-visible{border-color:#95c7a9;color:#2d6a4f;background:#f0f9f4;outline:none}.ctx-add-btn:active{background:#e0f2ea}.ctx-add-btn--block{flex:none;width:100%;margin-top:.4rem}html[data-theme=dark] .ctx-add-btn{color:#666;border-color:#3a3a3a}html[data-theme=dark] .ctx-add-btn:hover,html[data-theme=dark] .ctx-add-btn:focus-visible{border-color:#5a9f7c;color:#80c8a0;background:#2d6a4f1f}.area-column{display:flex;flex-direction:column;min-width:280px;max-width:320px;background:#f5f7f5;border:1px solid #dde5de;border-radius:10px;padding:.75rem;gap:.5rem;flex-shrink:0;-webkit-user-select:none;user-select:none}html[data-theme=dark] .area-column{background:#1e2820;border-color:#2d4030}.area-column--dragging{opacity:.6;cursor:grabbing}.area-column--over{border-color:#2d6a4f;box-shadow:0 0 0 2px #2d6a4f40}.area-column-header{display:flex;align-items:center;gap:.5rem;padding:.25rem .25rem .5rem;border-bottom:2px solid #c8d8ca}html[data-theme=dark] .area-column-header{border-bottom-color:#2d4030}.area-column-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;font-size:.75rem;color:#bbb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.area-column-drag-handle:hover{color:#666}.area-column-drag-handle:active{cursor:grabbing}html[data-theme=dark] .area-column-drag-handle{color:#555}html[data-theme=dark] .area-column-drag-handle:hover{color:#999}.area-column-icon{font-size:1.2rem;line-height:1}.area-column-name{font-weight:700;font-size:.95rem;color:#1a3a28;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-theme=dark] .area-column-name{color:#9fcfb0}.area-column-actions{display:flex;gap:.25rem;align-items:center}.area-column-btn{background:none;border:none;cursor:pointer;padding:.2rem .4rem;border-radius:4px;font-size:.8rem;color:#555;opacity:.7;transition:opacity .15s,background .15s}.area-column-btn:hover{opacity:1;background:#00000012}html[data-theme=dark] .area-column-btn{color:#aaa}.area-column-body{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:calc(100vh - 220px);padding-right:2px}.area-column-body::-webkit-scrollbar{width:4px}.area-column-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.area-column-empty{padding:1.5rem;text-align:center;color:#aaa;font-size:.85rem;border:2px dashed #ccc;border-radius:8px}.zone-card{background:#fff;border:1px solid #dde5de;border-radius:8px;overflow:clip;transition:border-color .15s}html[data-theme=dark] .zone-card{background:#242e27;border-color:#2d4030}.zone-card--dragging{opacity:.55}.zone-card--over{border-color:#2d6a4f;box-shadow:0 0 0 2px #2d6a4f33}@keyframes nav-highlight-pulse{0%{box-shadow:0 0 #6366f18c}40%{box-shadow:0 0 0 6px #6366f140}to{box-shadow:0 0 #6366f100}}.zone-card--nav-highlight,.group-section--nav-highlight{border-color:#6366f1!important;animation:nav-highlight-pulse 2.5s ease-out forwards}.zone-card-header{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;background:#eef3ef;border-bottom:1px solid #dde5de}html[data-theme=dark] .zone-card-header{background:#1e2820;border-bottom-color:#2d4030}.zone-card-drag-handle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;font-size:.7rem;color:#bbb;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:color .15s}.zone-card-drag-handle:hover{color:#666}.zone-card-drag-handle:active{cursor:grabbing}html[data-theme=dark] .zone-card-drag-handle{color:#555}html[data-theme=dark] .zone-card-drag-handle:hover{color:#999}.zone-card-collapse-btn{background:none;border:none;cursor:pointer;padding:0;font-size:.7rem;color:#888;line-height:1;flex-shrink:0}.zone-card-icon{font-size:1rem;line-height:1}.zone-card-name{font-weight:600;font-size:.875rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-card-count{font-size:.75rem;color:#999;background:#e5ede6;border-radius:10px;padding:0 .4rem}html[data-theme=dark] .zone-card-count{background:#2d4030;color:#7aaa8a}.zone-card-actions{display:flex;align-items:center;gap:.1rem;opacity:0;pointer-events:none;transition:opacity .15s ease}.zone-card-header:hover .zone-card-actions,.zone-card-header:focus-within .zone-card-actions{opacity:1;pointer-events:auto}.zone-card-settings-btn{background:none;border:none;cursor:pointer;padding:.2rem .3rem;border-radius:4px;font-size:.8rem;color:#888;line-height:1;transition:background .1s,color .1s}.zone-card-settings-btn:hover{background:#0000000f;color:#555}.zone-card-body{padding:.4rem;display:flex;flex-direction:column;gap:.35rem}.zone-card-empty-drop{padding:1rem;text-align:center;color:#bbb;font-size:.8rem;border:1.5px dashed #ccc;border-radius:6px;margin:.25rem}.group-section{background:#f9fbf9;border:1px solid #e0e8e1;border-radius:6px;overflow:clip;margin-left:.5rem}html[data-theme=dark] .group-section{background:#1a2218;border-color:#263429}.group-section--dragging{opacity:.55}.group-section--over{border-color:#52b788}.group-section-header{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:#eef3ef;border-bottom:1px solid #e0e8e1}html[data-theme=dark] .group-section-header{background:#1e2820;border-bottom-color:#263429}.group-section-collapse-btn{background:none;border:none;cursor:pointer;padding:0;font-size:.65rem;color:#999;line-height:1}.group-section-name{font-size:.8rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444}html[data-theme=dark] .group-section-name{color:#aaa}.group-section-count{font-size:.7rem;color:#aaa}.group-section-actions{display:flex;align-items:center;gap:.1rem;opacity:0;pointer-events:none;transition:opacity .15s ease}.group-section-header:hover .group-section-actions,.group-section-header:focus-within .group-section-actions{opacity:1;pointer-events:auto}.group-section-settings-btn{background:none;border:none;cursor:pointer;padding:.15rem .25rem;border-radius:3px;font-size:.75rem;color:#aaa;line-height:1;transition:background .1s,color .1s}.group-section-settings-btn:hover{background:#0000000d;color:#666}.group-section-body{padding:.3rem;display:flex;flex-direction:column;gap:.3rem}.group-section-empty-drop{padding:.75rem;text-align:center;color:#ccc;font-size:.75rem;border:1.5px dashed #ddd;border-radius:5px}.location-breadcrumb{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:#888;flex-wrap:wrap}.location-breadcrumb-sep{color:#ccc}.location-breadcrumb-segment{color:#666}html[data-theme=dark] .location-breadcrumb-segment{color:#9a9a9a}.location-cascade-picker{display:flex;flex-direction:column;gap:.5rem}.location-cascade-picker select{width:100%}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:.35rem}.icon-picker-btn{background:#f5f5f5;border:1.5px solid transparent;border-radius:6px;padding:.3rem .45rem;font-size:1.1rem;cursor:pointer;transition:border-color .15s,background .15s;line-height:1}.icon-picker-btn:hover{background:#eaeaea}.icon-picker-btn.selected{border-color:#2d6a4f;background:#e8f5ee}html[data-theme=dark] .icon-picker-btn{background:#2a2a2a}html[data-theme=dark] .icon-picker-btn.selected{border-color:#52b788;background:#1a3028}.area-zones-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.area-zones-list li{font-size:.875rem;padding:.3rem .5rem;background:#f5f5f5;border-radius:5px}html[data-theme=dark] .area-zones-list li{background:#2a2a2a}.modal-actions--spread{justify-content:space-between}.modal-actions-right{display:flex;gap:.5rem}html[data-theme=dark] .area-column-empty{color:#666;border-color:#444}html[data-theme=dark] .zone-card-empty-drop{color:#555;border-color:#3a3a3a}html[data-theme=dark] .group-section-empty-drop{color:#555;border-color:#333}html[data-theme=dark] .location-breadcrumb{color:#777}html[data-theme=dark] .location-breadcrumb-sep{color:#444}@media(prefers-color-scheme:dark){.area-column{background:#1e2820;border-color:#2d4030}.area-column-header{border-bottom-color:#2d4030}.area-column-name{color:#9fcfb0}.area-column-drag-handle{color:#555}.area-column-drag-handle:hover{color:#999}.area-column-btn{color:#aaa}.area-column-empty{color:#666;border-color:#444}.zone-card{background:#242e27;border-color:#2d4030}.zone-card-header{background:#1e2820;border-bottom-color:#2d4030}.zone-card-drag-handle{color:#555}.zone-card-drag-handle:hover{color:#999}.zone-card-count{background:#2d4030;color:#7aaa8a}.zone-card-empty-drop{color:#555;border-color:#3a3a3a}.group-section{background:#1a2218;border-color:#263429}.group-section-header{background:#1e2820;border-bottom-color:#263429}.group-section-name{color:#aaa}.group-section-empty-drop{color:#555;border-color:#333}.location-breadcrumb-segment{color:#9a9a9a}.icon-picker-btn{background:#2a2a2a}.icon-picker-btn.selected{border-color:#52b788;background:#1a3028}.area-zones-list li{background:#2a2a2a}}.tutorial-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:0;transition:opacity .2s ease}.tutorial-overlay.tutorial-visible{opacity:1}.tutorial-backdrop{position:absolute;inset:0;background:#0000008c;pointer-events:auto}.tutorial-highlight{outline:3px solid #52b788!important;outline-offset:4px!important;border-radius:8px;box-shadow:0 0 14px #52b7888c!important;animation:tutorial-highlight-pulse 1.6s ease-in-out infinite}@keyframes tutorial-highlight-pulse{0%,to{box-shadow:0 0 6px #52b78873!important}50%{box-shadow:0 0 18px #52b788d9!important}}@media(prefers-reduced-motion:reduce){.tutorial-highlight{animation:none;box-shadow:0 0 10px #52b78899!important}}.tutorial-card{position:fixed;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000038,0 2px 8px #0000001f;pointer-events:auto;overflow:hidden;z-index:9003}.tutorial-card--centered{top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 2rem))}.tutorial-card--floating{transition:left .25s ease,top .25s ease}.tutorial-progress-bar{height:3px;background:#eee;border-radius:3px 3px 0 0;overflow:hidden}.tutorial-progress-fill{height:100%;background:#52b788;transition:width .25s ease}.tutorial-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem 0}.tutorial-step-counter{font-size:.78rem;color:#888;font-weight:500}.tutorial-card-body{padding:.5rem 1rem .75rem}.tutorial-title{margin:0 0 .4rem;font-size:1.05rem;font-weight:700;color:#2d6a4f;line-height:1.3}.tutorial-content{margin:0;font-size:.9rem;color:#444;line-height:1.55}.tutorial-card-footer{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.6rem 1rem .75rem;border-top:1px solid #f0f0f0}.tutorial-skip-btn{background:none;border:none;padding:.25rem .5rem;font-size:.82rem;color:#999;cursor:pointer;border-radius:4px;transition:color .15s}.tutorial-skip-btn:hover{color:#555}.tutorial-prev-btn{background:none;border:1px solid #ddd;padding:.45rem 1rem;font-size:.88rem;color:#555;cursor:pointer;border-radius:6px;transition:border-color .15s,color .15s}.tutorial-prev-btn:hover{border-color:#aaa;color:#333}.tutorial-next-btn{background:#2d6a4f;border:none;padding:.45rem 1.2rem;font-size:.88rem;font-weight:600;color:#fff;cursor:pointer;border-radius:6px;transition:background .15s}.tutorial-next-btn:hover{background:#1a472a}.tutorial-replay-btn{background:none;border:1px solid #ddd;padding:.45rem 1rem;font-size:.88rem;color:#555;cursor:pointer;border-radius:6px;transition:border-color .15s,color .15s;margin-right:auto}.tutorial-replay-btn:hover{border-color:#52b788;color:#2d6a4f}html[data-theme=dark] .tutorial-progress-bar{background:#333}html[data-theme=dark] .tutorial-replay-btn{border-color:#444;color:#aaa}html[data-theme=dark] .tutorial-replay-btn:hover{border-color:#52b788;color:#52b788}html[data-theme=dark] .tutorial-card{background:#1e1e1e;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}html[data-theme=dark] .tutorial-title{color:#52b788}html[data-theme=dark] .tutorial-content{color:#ccc}html[data-theme=dark] .tutorial-step-counter{color:#666}html[data-theme=dark] .tutorial-card-footer{border-top-color:#333}html[data-theme=dark] .tutorial-skip-btn{color:#666}html[data-theme=dark] .tutorial-skip-btn:hover{color:#aaa}html[data-theme=dark] .tutorial-prev-btn{border-color:#444;color:#aaa}html[data-theme=dark] .tutorial-prev-btn:hover{border-color:#777;color:#ddd}.tutorial-waiting-hint{margin:0;font-size:.82rem;color:#888;font-style:italic}html[data-theme=dark] .tutorial-waiting-hint{color:#666}.tutorial-click-hint{margin:0;font-size:.82rem;color:#52b788;font-weight:600;font-style:italic}html[data-theme=dark] .tutorial-click-hint{color:#52b788}@media(max-width:480px){.tutorial-card{width:calc(100vw - 2rem)!important;max-width:340px}}.calendar-event-modal{max-width:480px;width:100%;position:relative}.cal-edit-form,.cal-view-mode{padding:1.25rem 1.5rem}.cal-recurring-edit-notice{background:#f0f7ff;border:1px solid #c2d8f5;border-radius:8px;padding:.55rem .9rem;margin-bottom:1rem;font-size:.8rem;color:#4a6fa5}.recurring-scope-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.recurring-scope-dialog{background:#fff;border-radius:12px;padding:1.5rem;width:100%;max-width:360px;box-shadow:0 8px 32px #00000038}.scope-dialog-title{font-size:1rem;font-weight:700;margin:0 0 .3rem;color:#1a1a2e}.scope-dialog-subtitle{font-size:.82rem;color:#666;margin:0 0 1rem}.scope-radio-options{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.scope-radio-option{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .9rem;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.scope-radio-option:hover{border-color:#aac4f5;background:#f7f9ff}.scope-radio-option.selected{border-color:#646cff;background:#f0f0ff}.scope-radio-option input[type=radio]{margin-top:.2rem;flex-shrink:0;accent-color:#646cff}.scope-option-text{display:flex;flex-direction:column;gap:.15rem}.scope-option-title{font-size:.88rem;font-weight:600;color:#1a1a2e}.scope-option-desc{font-size:.78rem;color:#666;line-height:1.4}.scope-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.cal-type-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.cal-type-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;border:1px solid #ddd;border-radius:8px;background:#fafafa;cursor:pointer;font-size:.72rem;transition:background .15s,border-color .15s}.cal-type-btn .type-icon{font-size:1.2rem;line-height:1}.cal-type-btn.active{background:#e8f5e9;border-color:#2d8a4e;color:#1b5e20;font-weight:600}.calendar-target-selector{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.target-type-tabs{display:flex;border-bottom:1px solid #e0e0e0;background:#f9f9f9}.target-type-tab{flex:1;padding:.45rem .5rem;font-size:.78rem;border:none;background:transparent;cursor:pointer;color:#666;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.target-type-tab.active{color:#2d8a4e;border-bottom-color:#2d8a4e;font-weight:600}.target-search-wrap{padding:.5rem;border-bottom:1px solid #f0f0f0}.target-search-wrap input{width:100%;padding:.4rem .6rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;box-sizing:border-box}.target-list{max-height:180px;overflow-y:auto}.target-list-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;cursor:pointer;font-size:.85rem;transition:background .1s}.target-list-item:hover{background:#f5f5f5}.target-list-item.selected{background:#e8f5e9;color:#1b5e20;font-weight:500}.target-list-item .target-icon{font-size:1rem;line-height:1;flex-shrink:0}.target-list-item .target-check{margin-left:auto;color:#2d6a4f;font-size:.85rem;flex-shrink:0}.target-none-item{font-style:italic;color:#888}.target-list-empty{padding:.75rem;font-size:.82rem;color:#999;text-align:center}.selected-targets-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.selected-target-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;font-size:.82rem;color:#1b5e20}.selected-target-badge button{background:none;border:none;cursor:pointer;color:#888;padding:0;font-size:.9rem;line-height:1;margin-left:.2rem}.cal-datetime-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.cal-datetime-row input[type=date],.cal-datetime-row input[type=time]{padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem}.cal-allday-toggle{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:auto}.cal-allday-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#2d8a4e;cursor:pointer}.calendar-repeat-section{border-left:3px solid #e0e0e0;padding-left:.75rem;margin-top:.25rem}.calendar-repeat-section.has-repeat{border-left-color:#2d8a4e}.repeat-preset-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.repeat-pill{padding:.3rem .65rem;border:1px solid #ddd;border-radius:20px;background:#fafafa;font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.repeat-pill.active{background:#e8f5e9;border-color:#2d8a4e;color:#1b5e20;font-weight:600}.repeat-custom{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.repeat-custom-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.repeat-custom-row label{font-size:.82rem;color:#555;white-space:nowrap}.repeat-custom-row input[type=number]{width:60px;padding:.35rem .5rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;text-align:center}.repeat-custom-row select{padding:.35rem .5rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;background:#fff}.weekday-picker{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.25rem}.weekday-btn{width:30px;height:30px;border-radius:50%;border:1px solid #ddd;background:#fafafa;font-size:.7rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.weekday-btn.active{background:#2d8a4e;border-color:#2d8a4e;color:#fff}.end-condition-selector{display:flex;gap:.35rem}.end-condition-btn{padding:.3rem .65rem;border:1px solid #ddd;border-radius:20px;background:#fafafa;font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.end-condition-btn.active{background:#e8f5e9;border-color:#2d8a4e;color:#1b5e20;font-weight:600}.end-condition-input{margin-top:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#555}.end-condition-input input{padding:.35rem .5rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem}.calendar-notif-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.notif-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer;-webkit-user-select:none;user-select:none}.notif-toggle-label input[type=checkbox]{width:14px;height:14px;accent-color:#2d8a4e;cursor:pointer}.notif-offset-wrap{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#555}.notif-offset-wrap input[type=number]{width:60px;padding:.35rem .5rem;border:1px solid #ddd;border-radius:6px;font-size:.88rem;text-align:center}.cal-view-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.cal-view-type-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.cal-view-type-badge.type-sow{background:#e8f5e9;color:#1b5e20}.cal-view-type-badge.type-watering{background:#e3f2fd;color:#1565c0}.cal-view-type-badge.type-maintenance{background:#fff3e0;color:#e65100}.cal-view-type-badge.type-check{background:#f3e5f5;color:#6a1b9a}.cal-view-type-badge.type-custom{background:#f5f5f5;color:#424242}.cal-view-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;line-height:1.3}.cal-view-recurrence{font-size:.8rem;color:#666;margin-top:.2rem}.cal-view-rows{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.cal-view-row{display:flex;gap:.5rem;font-size:.88rem}.cal-view-label{color:#888;min-width:70px;flex-shrink:0}.cal-view-value{color:#222}.cal-view-actions{display:flex;gap:.5rem;flex-wrap:wrap}.cal-action-btn{padding:.45rem .9rem;border-radius:6px;border:1px solid #ddd;background:#fff;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.cal-action-btn.primary{background:#2d6a4f;border-color:#2d6a4f;color:#fff}.cal-action-btn.primary:hover{background:#245c43}.cal-action-btn:hover{background:#f5f5f5}.cal-action-btn.danger{color:#c62828;border-color:#ef9a9a}.cal-action-btn.danger:hover{background:#fff5f5}.occurrence-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.occurrence-status-badge.status-completed{background:#e8f5e9;color:#2e7d32}.occurrence-status-badge.status-skipped{background:#f5f5f5;color:#757575}.occurrence-status-badge.status-overdue{background:#fff3e0;color:#e65100}.occurrence-status-badge.status-scheduled{background:#e3f2fd;color:#1565c0}.cal-form-group{margin-bottom:1rem}.cal-form-group label{display:block;font-size:.8rem;font-weight:600;color:#555;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.cal-form-group input[type=text],.cal-form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:inherit;box-sizing:border-box;background:#fff;transition:border-color .15s}.cal-form-group input:focus,.cal-form-group textarea:focus{outline:none;border-color:#646cff}.cal-form-group textarea{resize:vertical;min-height:70px}.planner-event-chip.occ-status-completed{opacity:.5}.planner-event-chip.occ-status-completed .event-title{text-decoration:line-through}.planner-event-chip.occ-status-skipped{opacity:.4;background:#0000000f;border-style:dashed}.planner-event-chip.occ-status-skipped .event-title{text-decoration:line-through}.planner-event-chip.occ-status-overdue{border-left:3px solid #e65100;background:#e6510012}.cal-overdue-since{color:#e65100;font-weight:500}.planner-event-chip .event-recurrence-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6;flex-shrink:0;align-self:center}.planner-event-chip .event-recurrence-dot--exception{background:#e07b39;opacity:.85}.planner-event-chip[draggable=true]{cursor:grab}.planner-event-chip[draggable=true]:active{cursor:grabbing}.planner-day.drag-over{background:#646cff14;outline:2px dashed #646cff;outline-offset:-2px}.planner-drag-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.55rem 1.2rem;border-radius:6px;font-size:.875rem;z-index:9999;pointer-events:none;animation:planner-toast-in .18s ease}@keyframes planner-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}html[data-theme=dark] .planner-drag-toast{background:#e0e0e0;color:#111}html[data-theme=dark] .planner-event-chip.occ-status-skipped{background:#ffffff0d}html[data-theme=dark] .planner-event-chip.occ-status-overdue{background:#e6510021;border-left-color:#ff7043}html[data-theme=dark] .cal-overdue-since{color:#ff7043}html[data-theme=dark] .cal-recurring-edit-notice{background:#1e2a38;border-color:#2d4a6a;color:#7ca8d8}html[data-theme=dark] .recurring-scope-dialog{background:#1e1e2e;color:#e0e0e0}html[data-theme=dark] .scope-dialog-title{color:#f0f0f0}html[data-theme=dark] .scope-dialog-subtitle{color:#aaa}html[data-theme=dark] .scope-radio-option{border-color:#333}html[data-theme=dark] .scope-radio-option:hover{border-color:#4a5fd0;background:#1a1a30}html[data-theme=dark] .scope-radio-option.selected{border-color:#646cff;background:#1a1a30}html[data-theme=dark] .scope-option-title{color:#e0e0e0}html[data-theme=dark] .scope-option-desc{color:#999}html[data-theme=dark] .cal-type-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .cal-type-btn.active{background:#1b4d3e;border-color:#4ade80;color:#4ade80}html[data-theme=dark] .calendar-target-selector{border-color:#444}html[data-theme=dark] .target-type-tabs{background:#2a2a2a;border-color:#444}html[data-theme=dark] .target-type-tab{color:#aaa}html[data-theme=dark] .target-type-tab.active{color:#4ade80;border-bottom-color:#4ade80}html[data-theme=dark] .target-search-wrap{border-color:#333}html[data-theme=dark] .target-search-wrap input{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .target-list-item:hover{background:#2a2a2a}html[data-theme=dark] .target-list-item.selected{background:#1b4d3e;color:#4ade80}html[data-theme=dark] .target-list-item .target-check{color:#4ade80}html[data-theme=dark] .selected-target-badge{background:#1b4d3e;border-color:#2d6a4f;color:#4ade80}html[data-theme=dark] .cal-form-group input,html[data-theme=dark] .cal-form-group textarea,html[data-theme=dark] .cal-datetime-row input[type=date],html[data-theme=dark] .cal-datetime-row input[type=time]{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .repeat-pill,html[data-theme=dark] .repeat-custom-row select,html[data-theme=dark] .end-condition-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .repeat-pill.active,html[data-theme=dark] .end-condition-btn.active{background:#1b4d3e;border-color:#4ade80;color:#4ade80}html[data-theme=dark] .repeat-custom-row input[type=number],html[data-theme=dark] .repeat-custom-row select,html[data-theme=dark] .end-condition-input input,html[data-theme=dark] .notif-offset-wrap input{background:#1a1a1a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .weekday-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .weekday-btn.active{background:#2d6a4f;border-color:#4ade80;color:#fff}html[data-theme=dark] .cal-view-title{color:#f0f0f0}html[data-theme=dark] .cal-view-label{color:#888}html[data-theme=dark] .cal-view-value{color:#d0d0d0}html[data-theme=dark] .cal-action-btn{background:#2a2a2a;border-color:#444;color:#e0e0e0}html[data-theme=dark] .cal-action-btn.primary{background:#2d6a4f;border-color:#2d6a4f;color:#fff}html[data-theme=dark] .cal-action-btn.danger{color:#ef9a9a;border-color:#5a2a2a}@media(max-width:480px){.cal-type-selector{grid-template-columns:repeat(5,1fr);gap:.25rem}.cal-type-btn{padding:.4rem .1rem;font-size:.65rem}.cal-type-btn .type-icon{font-size:1rem}.recurring-scope-dialog{padding:1.25rem}.repeat-preset-pills{gap:.25rem}.repeat-pill{font-size:.72rem;padding:.25rem .5rem}}.push-prompt-overlay{z-index:1100}.push-registration-prompt{max-width:420px;width:90%}.push-prompt-body{font-size:.95rem;line-height:1.55;color:#444;margin:0 0 1rem}.push-prompt-error{margin-bottom:.75rem}.push-prompt-actions{display:flex;flex-direction:column;gap:.5rem}.push-prompt-secondary-btn{padding:.65rem 1.25rem;border-radius:6px;font-size:.95rem;border:1px solid #ddd;background:#f5f5f5;color:#333;cursor:pointer;transition:background .15s;text-align:center}.push-prompt-secondary-btn:hover:not(:disabled){background:#e0e0e0}.push-prompt-secondary-btn:disabled{opacity:.5;cursor:not-allowed}html[data-theme=dark] .push-prompt-body{color:#ccc}html[data-theme=dark] .push-prompt-secondary-btn{background:#3a3a3a;color:#d0d0d0;border-color:#444}html[data-theme=dark] .push-prompt-secondary-btn:hover:not(:disabled){background:#444}.rich-text{color:#555;line-height:1.7;font-size:.95rem}.rich-text p{margin:0 0 .85em}.rich-text p:last-child{margin-bottom:0}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4{margin:1.2em 0 .4em;font-weight:600;line-height:1.3;color:#333}.rich-text h1:first-child,.rich-text h2:first-child,.rich-text h3:first-child,.rich-text h4:first-child{margin-top:0}.rich-text h2{font-size:1.1rem}.rich-text h3{font-size:1rem}.rich-text h4{font-size:.95rem}.rich-text ul,.rich-text ol{margin:0 0 .85em;padding-left:1.5em}.rich-text li{margin-bottom:.25em}.rich-text li:last-child{margin-bottom:0}.rich-text strong{font-weight:600;color:#444}.rich-text em{font-style:italic}.rich-text a{color:#646cff;text-decoration:underline;text-underline-offset:2px}.rich-text a:hover{color:#535bf2}.rich-text blockquote{margin:.75em 0;padding:.5em 1em;border-left:3px solid #646cff;background:#f5f5ff;border-radius:0 4px 4px 0;color:#555;font-style:italic}.rich-text blockquote p{margin:0}.rich-text code{font-family:ui-monospace,monospace;font-size:.875em;background:#f0f0f4;padding:.15em .4em;border-radius:3px;color:#535bf2}.rich-text pre{background:#f0f0f4;padding:.75em 1em;border-radius:6px;overflow-x:auto;margin:0 0 .85em}.rich-text pre code{background:none;padding:0;color:#333;font-size:.875rem}.rich-text hr{border:none;border-top:1px solid #e0e0e0;margin:1.25em 0}.rich-text-editor{display:flex;flex-direction:column;border:1px solid #d1d5db;border-radius:6px;overflow:hidden}.rte-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;background:#f8fafc;border-bottom:1px solid #d1d5db;flex-wrap:wrap}.rte-toolbar-actions{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.rte-toolbar-btn{padding:.2rem .45rem;border:1px solid transparent;border-radius:4px;background:none;font-size:.8rem;color:#555;cursor:pointer;line-height:1.4;transition:background .15s,border-color .15s;white-space:nowrap}.rte-toolbar-btn:hover{background:#e5e7eb;border-color:#d1d5db;color:#333}.rte-btn-bold{font-weight:700}.rte-btn-italic{font-style:italic}.rte-toolbar-sep{display:inline-block;width:1px;height:18px;background:#d1d5db;margin:0 3px;flex-shrink:0}.rte-mode-tabs{display:flex;gap:0;border:1px solid #d1d5db;border-radius:4px;overflow:hidden;flex-shrink:0}.rte-mode-btn{padding:.2rem .6rem;border:none;background:none;font-size:.8rem;color:#666;cursor:pointer;transition:background .15s,color .15s;line-height:1.4}.rte-mode-btn+.rte-mode-btn{border-left:1px solid #d1d5db}.rte-mode-btn.active{background:#646cff;color:#fff}.rte-mode-btn:not(.active):hover{background:#e5e7eb;color:#333}.rte-textarea{width:100%;box-sizing:border-box;padding:.65rem .75rem;border:none;font-family:inherit;font-size:.9rem;line-height:1.6;color:inherit;background:transparent;resize:vertical;outline:none}.rte-preview{padding:.75rem;min-height:6rem;background:transparent}.rte-preview-empty{color:#999;font-style:italic;font-size:.9rem;margin:0}.rte-hint{padding:.3rem .75rem;font-size:.75rem;color:#9ca3af;background:#f8fafc;border-top:1px solid #e5e7eb;margin:0}html[data-theme=dark] .rich-text{color:silver}html[data-theme=dark] .rich-text h1,html[data-theme=dark] .rich-text h2,html[data-theme=dark] .rich-text h3,html[data-theme=dark] .rich-text h4{color:#e0e0e0}html[data-theme=dark] .rich-text strong{color:#d0d0d0}html[data-theme=dark] .rich-text a{color:#818cf8}html[data-theme=dark] .rich-text a:hover{color:#a5b4fc}html[data-theme=dark] .rich-text blockquote{background:#2d2d3a;border-left-color:#646cff;color:silver}html[data-theme=dark] .rich-text code{background:#333;color:#a5b4fc}html[data-theme=dark] .rich-text pre{background:#333}html[data-theme=dark] .rich-text pre code{color:silver}html[data-theme=dark] .rich-text hr{border-top-color:#444}html[data-theme=dark] .rich-text-editor{border-color:#555}html[data-theme=dark] .rte-toolbar{background:#333;border-bottom-color:#555}html[data-theme=dark] .rte-toolbar-btn{color:#bbb}html[data-theme=dark] .rte-toolbar-btn:hover{background:#444;border-color:#555;color:#e0e0e0}html[data-theme=dark] .rte-toolbar-sep{background:#555}html[data-theme=dark] .rte-mode-tabs{border-color:#555}html[data-theme=dark] .rte-mode-btn{color:#aaa}html[data-theme=dark] .rte-mode-btn+.rte-mode-btn{border-left-color:#555}html[data-theme=dark] .rte-mode-btn.active{background:#646cff;color:#fff}html[data-theme=dark] .rte-mode-btn:not(.active):hover{background:#444;color:#e0e0e0}html[data-theme=dark] .rte-preview-empty{color:#666}html[data-theme=dark] .rte-hint{background:#333;border-top-color:#444;color:#666}.lightbox-overlay{position:fixed;inset:0;z-index:9000;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;animation:lightbox-fade-in .18s ease}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image-wrap{display:flex;align-items:center;justify-content:center;max-width:calc(100vw - 6rem);max-height:calc(100vh - 5rem)}.lightbox-image{max-width:100%;max-height:calc(100vh - 5rem);object-fit:contain;border-radius:6px;box-shadow:0 8px 40px #0009;display:block;animation:lightbox-scale-in .18s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes lightbox-scale-in{0%{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-error{color:#f87171;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:2rem 3rem;font-size:.95rem;text-align:center}.lightbox-close{position:fixed;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:9001}.lightbox-close:hover{background:#ffffff38}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:60px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:9001}.lightbox-nav:hover{background:#ffffff38}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}.lightbox-counter{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);background:#0000008c;color:#ffffffd9;font-size:.85rem;padding:.25rem .75rem;border-radius:20px;border:1px solid rgba(255,255,255,.15);z-index:9001;white-space:nowrap}.broadcast-image{cursor:zoom-in}@media(max-width:600px){.lightbox-image-wrap{max-width:100vw;max-height:calc(100vh - 7rem)}.lightbox-image{max-height:calc(100vh - 7rem)}.lightbox-nav{width:36px;height:50px;font-size:1.6rem}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}}
