@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap";.footer-language-selector{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;background:transparent;border:none;padding:0;font-size:.85rem;width:auto;flex-shrink:0}.lang-options-inline{display:flex;align-items:center;justify-content:flex-end;gap:3px;flex-wrap:nowrap;white-space:nowrap;max-width:100%}.inline-lang-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #475569);font-size:.85rem;font-weight:600;cursor:pointer;padding:2px 4px 4px;border-radius:0;transition:all .2s ease;white-space:nowrap}.inline-lang-btn:hover{color:var(--sage, #2d6a4f);background:transparent;border-bottom-color:#2d6a4f66}.inline-lang-btn.active{color:var(--sage, #1b4332);font-weight:700;background:transparent;border-bottom:2px solid var(--sage, #2d6a4f)}.lang-divider{color:var(--text-secondary, #94a3b8);font-weight:400;font-size:.8rem;opacity:.4;-webkit-user-select:none;user-select:none}.guest-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background var(--transition),border-color var(--transition);width:100%}.guest-navbar-container{max-width:1440px;width:100%;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-sizing:border-box}.guest-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:800;font-size:1.25rem;color:var(--text);letter-spacing:-.02em;flex-shrink:0;white-space:nowrap}.brand-logo-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 4px 12px #6b90804d;flex-shrink:0}.brand-highlight{color:var(--sage)}.guest-nav-links-desktop{display:flex;align-items:center;justify-content:center;gap:clamp(.35rem,.9vw,1.15rem);flex:1 1 auto;min-width:0}.guest-nav-item{text-decoration:none;color:var(--text-secondary);font-size:clamp(.78rem,.84vw,.88rem);font-weight:500;transition:color var(--transition);position:relative;padding:.3rem .15rem;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center}.guest-nav-item:hover,.guest-nav-item.active{color:var(--sage);font-weight:600}.guest-nav-item.active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--sage);border-radius:2px}.guest-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9998;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:guest-nav-fade-in .25s ease}@keyframes guest-nav-fade-in{0%{opacity:0}to{opacity:1}}.guest-mobile-drawer{position:fixed;top:0;right:0;bottom:0;height:100vh;width:50vw;min-width:260px;max-width:90vw;background:var(--surface-strong, #ffffff);border-left:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:-6px 0 30px #00000040;z-index:9999;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.guest-mobile-drawer.open{transform:translate(0)}.guest-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.guest-drawer-close{background:none;border:1px solid var(--border);border-radius:8px;font-size:1.2rem;color:var(--text);padding:.35rem .55rem;cursor:pointer;display:flex;align-items:center}.guest-drawer-links{display:flex;flex-direction:column;gap:.75rem}.guest-drawer-links .guest-nav-item{font-size:1.05rem;padding:.5rem;border-bottom:1px solid rgba(0,0,0,.04)}.guest-drawer-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.guest-drawer-footer .mobile-lang-wrapper{display:flex;justify-content:center;align-items:center;width:100%;padding:.35rem 0;background:transparent;border:none}.guest-btn-block{width:100%;justify-content:center}.guest-actions-desktop{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.guest-auth-group{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.guest-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .85rem;border-radius:var(--radius-md);font-size:clamp(.78rem,.82vw,.86rem);font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition);border:none;white-space:nowrap;flex-shrink:0}.guest-btn-primary{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;box-shadow:0 4px 12px #6b90804d}.guest-btn-primary:hover{box-shadow:0 6px 18px #6b908073;transform:translateY(-1px)}.guest-btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}.guest-btn-outline:hover{border-color:var(--sage);color:var(--sage);background:#6b908014}.guest-hamburger{display:none;background:transparent;border:none;color:var(--text);font-size:1.4rem;cursor:pointer;padding:.35rem}@media(max-width:1100px){.guest-hamburger{display:block}.guest-nav-links-desktop,.guest-actions-desktop{display:none}.mobile-auth-buttons{display:flex;gap:.8rem;width:100%}.mobile-auth-buttons .guest-btn{flex:1;justify-content:center}}@media(max-width:480px){.guest-navbar-container{padding:.65rem 1rem}.guest-brand{font-size:1.15rem}.brand-logo-icon{width:32px;height:32px;font-size:.95rem}}.guest-footer{background:var(--surface-strong);border-top:1px solid var(--border);color:var(--text);padding-top:3.5rem;transition:background var(--transition),border-color var(--transition)}.guest-footer-container{max-width:1280px;margin:0 auto;padding:0 1.5rem 3rem;display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem}.footer-col h4{font-size:1.05rem;font-weight:700;margin:0 0 1.2rem;color:var(--text);letter-spacing:-.01em}.footer-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.35rem;margin-bottom:1rem}.footer-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem;max-width:320px}.footer-socials{display:flex;gap:.8rem}.footer-socials a{width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.95rem;transition:all var(--transition)}.footer-socials a:hover{background:var(--sage);color:#fff;border-color:var(--sage);transform:translateY(-2px)}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.footer-links a{text-decoration:none;color:var(--text-secondary);font-size:.88rem;transition:color var(--transition)}.footer-links a:hover{color:var(--sage);padding-left:4px}.footer-contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}.footer-contact-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:var(--text-secondary);line-height:1.4}.contact-icon-wrap{width:30px;height:30px;border-radius:8px;background:#6b90801f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.footer-contact-list .icon{color:var(--sage);font-size:.95rem}.footer-bottom{border-top:1px solid var(--border);background:var(--background);padding:1.2rem 1.5rem}.footer-bottom-container{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.82rem;color:var(--text-secondary)}.footer-copyright{margin:0;text-align:left;flex:1}.footer-lang-selector{margin-left:auto}.footer-legal-links{display:flex;gap:1.5rem}.footer-legal-links a{text-decoration:none;color:var(--text-secondary);transition:color var(--transition)}.footer-legal-links a:hover{color:var(--text)}@media(max-width:900px){.guest-footer-container{grid-template-columns:1fr 1fr;gap:2.2rem}}@media(max-width:650px){.guest-footer{padding-top:2.5rem}.guest-footer-container{grid-template-columns:1fr 1fr;gap:1.8rem 1.2rem;padding:0 1.2rem 2rem}.brand-col{grid-column:1 / -1;text-align:center;display:flex;flex-direction:column;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.footer-brand{justify-content:center;margin-bottom:.6rem}.footer-desc{max-width:100%;margin-bottom:1rem;font-size:.85rem}.footer-socials{justify-content:center}.footer-col h4{font-size:.95rem;margin-bottom:.8rem}.footer-links{gap:.55rem}.footer-links a{font-size:.84rem;display:inline-block;padding:2px 0}.contact-col{grid-column:1 / -1;padding-top:.8rem;border-top:1px solid var(--border)}.contact-col h4{text-align:center}.footer-contact-list{display:flex;flex-direction:column;gap:.75rem}.footer-contact-list li{font-size:.84rem;justify-content:flex-start}.footer-bottom{padding:1rem 1.2rem}.footer-bottom-container{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.footer-copyright{text-align:center;font-size:.78rem;line-height:1.5}.footer-lang-selector{margin:0 auto}}@media(max-width:420px){.guest-footer-container{grid-template-columns:1fr 1fr;gap:1.4rem 1rem}}.landing-page{display:flex;flex-direction:column;align-items:stretch;gap:4rem;padding-bottom:3rem}.landing-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;width:100%}.section-tag{display:inline-block;padding:.35rem .85rem;background:#6b908026;color:var(--sage);border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:.8rem}.section-header h2{font-size:2.2rem;font-weight:800;color:var(--text);margin:0 0 .5rem;letter-spacing:-.02em}.section-header p{font-size:1.05rem;color:var(--text-secondary);max-width:620px;margin:0 auto}.landing-hero{padding:5rem 1.5rem 3rem;background:radial-gradient(circle at 50% 20%,rgba(107,144,128,.15) 0%,transparent 70%);text-align:center}.hero-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.1rem;border-radius:30px;background:var(--surface);border:1px solid var(--border);color:var(--sage);font-size:.88rem;font-weight:600;box-shadow:0 4px 14px #0000000a;margin-bottom:1.5rem}.hero-title{font-size:3.2rem;font-weight:900;line-height:1.15;color:var(--text);letter-spacing:-.03em;margin:0 0 1.2rem}.title-gradient{background:linear-gradient(135deg,var(--sage),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.2rem;color:var(--text-secondary);line-height:1.6;max-width:720px;margin:0 0 2rem}.hero-cta-group{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}.landing-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.6rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all var(--transition);border:none;font-family:inherit}.landing-btn-primary{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;box-shadow:0 6px 20px #6b908059}.landing-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.landing-btn-secondary:hover{background:var(--surface-strong);border-color:var(--sage);color:var(--sage)}.landing-btn-accent{background:linear-gradient(135deg,#27ae6026,#6b908026);border:1px solid rgba(39,174,96,.4);color:#27ae60;box-shadow:0 4px 14px #27ae601f}.landing-btn-accent:hover{background:linear-gradient(135deg,#27ae60 0%,var(--sage) 100%);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 20px #27ae604d}.landing-btn-outline{background:transparent;border:1px solid var(--sage);color:var(--sage)}.landing-btn-outline:hover{background:#6b90801a}.btn-large{padding:.95rem 2rem;font-size:1.05rem}.hero-highlights-row{display:flex;gap:1.8rem;flex-wrap:wrap;justify-content:center;font-size:.88rem;color:var(--text-secondary)}.check-icon{color:#27ae60;margin-right:.25rem}.landing-stats-section{background:var(--background);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 0;width:100%;align-self:stretch}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;text-align:center;width:100%}.stat-card{padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 12px #0000000a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014;border-color:var(--primary-light)}.stat-number{font-size:2.6rem;font-weight:900;color:var(--primary);margin:0 0 .5rem;letter-spacing:-.03em;line-height:1;white-space:nowrap}.stat-label{font-size:.83rem;color:var(--text-secondary);margin:0;font-weight:600;line-height:1.45;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;text-transform:uppercase;letter-spacing:.04em}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:400px){.stats-grid{grid-template-columns:1fr}}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.intro-content h2{font-size:2.2rem;font-weight:800;color:var(--text);margin:0 0 1rem}.intro-content p{font-size:1.05rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.intro-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.8rem}.intro-list li{font-size:.95rem;color:var(--text);display:flex;align-items:center}.intro-visual-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);overflow:hidden}.visual-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.visual-dot{width:10px;height:10px;border-radius:50%}.visual-dot.red{background:#eb5757}.visual-dot.yellow{background:#f2994a}.visual-dot.green{background:#27ae60}.visual-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.smart-status-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.item-icon{font-size:1.4rem;margin-top:.2rem;flex-shrink:0}.item-icon.blue{color:#2980b9}.item-icon.green{color:#27ae60}.item-icon.purple{color:#8e44ad}.smart-status-item strong{font-size:.92rem;color:var(--text);display:block}.smart-status-item p{font-size:.85rem;color:var(--text-secondary);margin:.2rem 0 0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem;margin-top:3rem}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;transition:all var(--transition)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--sage)}.feature-icon{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem}.feature-card h3{font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 .6rem}.feature-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.5rem;flex:1}.feature-card-link{text-decoration:none;color:var(--sage);font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:.4rem;transition:gap var(--transition)}.feature-card-link:hover{gap:.7rem}.preview-tab-buttons{display:flex;justify-content:center;gap:.8rem;margin:2rem 0;flex-wrap:wrap}.preview-tab-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.4rem;border-radius:30px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-weight:600;font-size:.92rem;cursor:pointer;transition:all var(--transition)}.preview-tab-btn.active,.preview-tab-btn:hover{background:var(--sage);color:#fff;border-color:var(--sage);box-shadow:0 4px 14px #6b90804d}.preview-tab-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lift)}.preview-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.preview-card-grid h3{font-size:1.8rem;font-weight:800;margin:0 0 .8rem;color:var(--text)}.preview-card-grid p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.2rem}.preview-list{list-style:none;padding:0;margin:0 0 1.8rem;display:flex;flex-direction:column;gap:.6rem;font-size:.92rem}.preview-mock-window{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}.mock-scan-box,.mock-weather-box,.mock-post-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.scan-badge{display:inline-block;padding:.2rem .6rem;background:#eb575726;color:#eb5757;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;margin-bottom:.5rem}.confidence-meter{font-size:.82rem;color:var(--text-secondary);margin:.8rem 0}.meter-bar{height:8px;background:var(--surface);border-radius:4px;overflow:hidden;margin-top:.3rem}.meter-fill{height:100%;background:#27ae60}.avatar-circle{width:38px;height:38px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.8rem;margin-top:3rem}.testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;position:relative}.quote-icon{font-size:1.8rem;color:var(--sage);opacity:.3;margin-bottom:.8rem}.testimonial-quote{font-size:.95rem;color:var(--text);line-height:1.6;font-style:italic;margin:0 0 1.5rem;flex:1}.testimonial-rating{display:flex;gap:.25rem;margin-bottom:1rem}.star-icon{color:#f39c12;font-size:.9rem}.testimonial-author strong{display:block;font-size:.95rem;color:var(--text)}.testimonial-author span{font-size:.82rem;color:var(--text-secondary)}.landing-final-cta{background:linear-gradient(135deg,#6b908026,#4a5d5540);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4.5rem 1.5rem}.landing-final-cta h2{font-size:2.5rem;font-weight:900;margin:0 0 .8rem;color:var(--text)}.landing-final-cta p{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto 2rem}.cta-btn-wrapper{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.landing-app-promo-section{padding:1rem 0}.app-promo-card{background:linear-gradient(135deg,var(--surface, #eaf4f4) 0%,rgba(107,144,128,.12) 100%);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:28px;padding:3.5rem;box-shadow:0 16px 40px #1f3a3014;position:relative;overflow:hidden}.app-promo-card:before{content:"";position:absolute;top:-40px;right:-40px;width:260px;height:260px;background:radial-gradient(circle,rgba(39,174,96,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.app-promo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;position:relative;z-index:2}.app-tag{display:inline-flex;align-items:center;gap:.5rem;color:#27ae60;border-color:#27ae604d;background:#27ae601f;margin-bottom:1rem}.android-icon{font-size:1.1rem;color:#27ae60}.app-promo-title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:900;color:var(--text, #1f3a30);line-height:1.2;margin:0 0 1rem;letter-spacing:-.02em}.app-promo-sub{font-size:1.05rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0 0 1.8rem;max-width:580px}.app-promo-features{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.85rem}.app-promo-features li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;color:var(--text, #1f3a30)}.app-promo-features .check-icon{color:#27ae60;font-size:1.1rem;flex-shrink:0}.app-promo-btn-group{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}.app-promo-badge-info{display:flex;align-items:center;gap:.8rem}.app-size-badge{font-size:.78rem;font-weight:700;color:var(--text-secondary, #385b4d);background:#6b908026;padding:.3rem .8rem;border-radius:20px;border:1px solid rgba(107,144,128,.25)}.app-promo-visual{display:flex;justify-content:center}.app-phone-mockup{position:relative;width:250px;background:#0f1c16;border:8px solid #233e33;border-radius:36px;padding:12px 10px;box-shadow:0 20px 45px #1f3a3040;display:flex;flex-direction:column}.phone-screen{background:#fff;border-radius:24px;overflow:hidden;padding:10px 12px;min-height:280px;display:flex;flex-direction:column}.phone-top-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #eef2ef;font-size:.7rem;color:#666}.phone-camera-dot{width:8px;height:8px;background:#111;border-radius:50%}.phone-brand{color:#27ae60;font-size:.85rem}.phone-content-preview{display:flex;flex-direction:column;gap:.65rem;padding-top:8px;flex:1}.phone-app-header{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#1f3a30}.phone-app-header .leaf-icon{color:#27ae60;font-size:.9rem}.phone-scanner-box{background:#1f3a30;border-radius:12px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#fff}.scanner-target{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;z-index:2}.scanner-icon{color:#3fa88a}.scanner-laser{position:absolute;left:0;right:0;top:50%;height:2px;background:#2ecc71;box-shadow:0 0 8px #2ecc71;animation:laserScan 2s ease-in-out infinite alternate}@keyframes laserScan{0%{top:15%}to{top:85%}}.phone-quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.p-stat{background:#f4f8f5;border-radius:8px;padding:6px;text-align:center;display:flex;flex-direction:column}.p-stat small{font-size:.65rem;color:#777}.p-stat strong{font-size:.8rem;color:#1f3a30}.p-stat .green-text{color:#27ae60}.phone-qr-badge{position:absolute;bottom:-15px;right:-20px;background:#fff;border:1px solid rgba(107,144,128,.4);border-radius:14px;padding:8px 12px;box-shadow:0 10px 24px #1f3a302e;display:flex;align-items:center;gap:.6rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;z-index:5}.phone-qr-badge:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 30px #1f3a3040}.qr-badge-icon{font-size:1.3rem;color:#1f3a30}.qr-badge-text{display:flex;flex-direction:column;line-height:1.1}.qr-badge-text small{font-size:.65rem;color:var(--text-secondary, #385b4d)}.qr-badge-text strong{font-size:.8rem;color:#27ae60}@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:2rem}.preview-card-grid{grid-template-columns:1fr}.landing-features-grid{grid-template-columns:1fr 1fr}.app-promo-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}.app-promo-content{display:flex;flex-direction:column;align-items:center}.app-promo-btn-group{justify-content:center}.app-promo-card{padding:2.5rem 1.5rem}}@media(max-width:768px){.landing-page{gap:2.5rem}.app-promo-card{padding:2rem 1.25rem}.app-promo-title{font-size:1.6rem}.app-phone-mockup{width:220px}.phone-qr-badge{right:-5px;bottom:-10px}.landing-hero{padding:3.5rem 1rem 2rem}.hero-title{font-size:2rem;letter-spacing:-.02em}.hero-subtitle{font-size:1rem}.hero-cta-group{flex-direction:column;align-items:center}.hero-badges{flex-wrap:wrap;gap:.5rem}.intro-grid{grid-template-columns:1fr;gap:1.5rem}.intro-content h2{font-size:1.6rem}.smart-care-card{padding:1.25rem}.smart-status-item{flex-direction:column;gap:.5rem}.landing-features-grid{grid-template-columns:1fr}.landing-feature-card{padding:1.25rem}.preview-card-grid,.testimonials-grid{grid-template-columns:1fr}.landing-final-cta{padding:3rem 1rem}.landing-final-cta h2{font-size:1.8rem}.cta-btn-wrapper{flex-direction:column;align-items:center}.landing-features-section,.landing-preview-section,.landing-testimonials-section{padding:2.5rem 1rem}.landing-intro-section{padding:2rem 1rem}.section-header h2{font-size:1.7rem}}@media(max-width:480px){.hero-title{font-size:1.7rem}.landing-hero{padding:2.5rem 1rem 1.5rem}.section-header h2{font-size:1.5rem}.intro-content h2{font-size:1.4rem}.landing-final-cta h2{font-size:1.5rem}.landing-btn{width:100%;justify-content:center}.landing-features-section,.landing-preview-section,.landing-testimonials-section{padding:2rem .75rem}}.about-page{display:flex;flex-direction:column;gap:4rem;padding-bottom:3rem}.about-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;width:100%}.about-hero{padding:4.5rem 1.5rem 2.5rem;background:radial-gradient(circle at 50% 10%,rgba(107,144,128,.15) 0%,transparent 65%)}.about-hero h1{font-size:3rem;font-weight:900;color:var(--text);margin:.5rem 0 1rem;letter-spacing:-.03em}.about-hero-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6;max-width:750px;margin:0 auto}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.story-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lift)}.story-icon{width:48px;height:48px;border-radius:var(--radius-md);background:#6b908026;color:var(--sage);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.2rem}.story-card h2{font-size:1.6rem;font-weight:800;color:var(--text);margin:0 0 .8rem}.story-card p{font-size:.98rem;color:var(--text-secondary);line-height:1.6;margin:0}.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.pillar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;transition:transform var(--transition)}.pillar-card:hover{transform:translateY(-4px);border-color:var(--sage)}.pillar-icon{width:56px;height:56px;border-radius:50%;background:#27ae601f;color:#27ae60;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 1.2rem}.pillar-card h3{font-size:1.25rem;font-weight:700;margin:0 0 .6rem;color:var(--text)}.pillar-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;margin-top:3rem}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center}.team-avatar{width:72px;height:72px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;margin-bottom:1rem;box-shadow:0 4px 14px #00000026}.team-card h3{font-size:1.15rem;font-weight:700;color:var(--text);margin:0 0 .2rem}.team-role{font-size:.82rem;color:var(--sage);font-weight:600;margin-bottom:.8rem;display:block}.team-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1.2rem;flex:1}.team-socials{display:flex;gap:.6rem}.team-socials a{color:var(--text-secondary);font-size:1rem;transition:color var(--transition)}.team-socials a:hover{color:var(--sage)}.about-impact-banner{background:var(--surface-strong);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 1.5rem}@media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:1.5rem}.pillars-grid,.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.about-hero{padding:3.5rem 1rem 2rem}.about-hero h1{font-size:2.2rem}.about-hero-subtitle{font-size:1rem}.story-card{padding:1.75rem}.story-card h2{font-size:1.35rem}.about-impact-banner{padding:3rem 1rem}.about-impact-banner h2{font-size:1.7rem}.about-cta-group{flex-direction:column;align-items:center;gap:1rem}}@media(max-width:600px){.pillars-grid,.team-grid{grid-template-columns:1fr}.about-hero h1{font-size:1.8rem}.about-impact-banner h2{font-size:1.5rem}}@media(max-width:480px){.about-hero{padding:2.5rem 1rem 1.5rem}.about-hero h1{font-size:1.6rem;letter-spacing:-.02em}.about-page{gap:2.5rem}.story-card{padding:1.25rem}}.features-page{display:flex;flex-direction:column;gap:0;padding-bottom:0}.fp-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%}.fp-text-center{text-align:center}.fp-section-tag{display:inline-block;padding:.35rem .9rem;background:#6b908026;color:var(--sage);border-radius:30px;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:.9rem}.fp-hero{padding:5.5rem 1.5rem 4rem;background:radial-gradient(ellipse at 20% 0%,rgba(39,174,96,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 10%,rgba(107,144,128,.12) 0%,transparent 50%);position:relative;overflow:hidden}.fp-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,rgba(107,144,128,.08) 0%,transparent 60%);pointer-events:none}.fp-hero-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;color:var(--text);margin:.5rem 0 1.2rem;letter-spacing:-.03em;line-height:1.15}.fp-gradient-text{background:linear-gradient(135deg,var(--primary) 0%,var(--sage) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fp-hero-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.65;max-width:680px;margin:0 auto 2rem}.fp-hero-badges{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.fp-hero-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:30px;font-size:.85rem;font-weight:600;color:var(--primary);box-shadow:0 2px 8px #0000000a}.fp-section{padding:5rem 1.5rem}.fp-section-alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.fp-section-header{margin-bottom:2.5rem}.fp-section-header h2{font-size:2rem;font-weight:800;color:var(--text);margin:0 0 .5rem;letter-spacing:-.02em}.fp-section-header p{font-size:1rem;color:var(--text-secondary);margin:0 auto;max-width:540px}.fp-tabs{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}.fp-tab{display:flex;align-items:center;gap:.55rem;padding:.6rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:.88rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.fp-tab:hover{color:var(--text);border-color:var(--primary-light);transform:translateY(-1px)}.fp-tab.active{background:rgba(var(--tab-accent, 39, 174, 96),.08);border-color:var(--tab-accent, var(--primary));color:var(--text);box-shadow:0 4px 16px #00000012}.fp-tab-icon{font-size:1rem;display:flex;align-items:center}.fp-tab-label{line-height:1}.fp-detail-panel{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:3rem;box-shadow:0 8px 40px #0000000f;animation:fp-fade-in .3s ease}@keyframes fp-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fp-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:1rem}.fp-detail-title{font-size:1.9rem;font-weight:800;color:var(--text);margin:0 0 .8rem;letter-spacing:-.02em;line-height:1.2}.fp-detail-summary{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.fp-detail-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.7rem}.fp-detail-list li{display:flex;align-items:flex-start;gap:.7rem;font-size:.92rem;color:var(--text);line-height:1.5}.fp-check{font-size:1rem;margin-top:.18rem;flex-shrink:0}.fp-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:700;color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 20px #00000026}.fp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0003}.fp-detail-visual{border:1px solid;border-radius:16px;overflow:hidden;background:var(--surface-strong);box-shadow:0 8px 32px #00000012}.fp-visual-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid;font-size:.95rem;font-weight:700;color:var(--text)}.fp-visual-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.fp-visual-live{margin-left:auto;font-size:.75rem;font-weight:700;color:#27ae60;letter-spacing:.05em}.fp-visual-body{padding:1.5rem;display:flex;flex-direction:column;gap:.8rem}.fp-visual-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:.87rem}.fp-vs-label{color:var(--text-secondary)}.fp-vs-value{font-weight:700}.fp-visual-tag{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:10px;font-size:.83rem;font-weight:600;margin-top:.2rem}.fp-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.fp-quick-card{background:var(--background);border:1px solid var(--border);border-radius:16px;padding:1.75rem 1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s}.fp-quick-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014;border-color:var(--primary-light)}.fp-quick-icon{width:44px;height:44px;border-radius:12px;background:#6b908026;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem}.fp-quick-card h4{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 .4rem}.fp-quick-card p{font-size:.87rem;color:var(--text-secondary);line-height:1.5;margin:0}.fp-cta-section{padding:5rem 1.5rem}.fp-cta-inner{background:linear-gradient(135deg,#27ae6014,#6b908014);border:1px solid var(--border);border-radius:24px;padding:4rem 2rem}.fp-cta-inner h2{font-size:2rem;font-weight:800;color:var(--text);margin:.5rem 0 .75rem;letter-spacing:-.02em}.fp-cta-inner p{font-size:1.05rem;color:var(--text-secondary);margin:0 0 2rem}.fp-cta-group{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.fp-cta-btn-lg{padding:.9rem 2rem;font-size:1rem;background:linear-gradient(135deg,#27ae60,#1e8449)!important}.fp-cta-ghost-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.9rem 1.75rem;border-radius:12px;font-size:.95rem;font-weight:700;color:var(--text);text-decoration:none;border:1px solid var(--border);background:var(--surface);transition:all .2s}.fp-cta-ghost-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}@media(max-width:1024px){.fp-quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.fp-detail-panel{grid-template-columns:1fr;padding:2rem 1.5rem;gap:2rem}.fp-tabs{gap:.45rem;overflow-x:auto;justify-content:flex-start;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.fp-tab{padding:.5rem .85rem;font-size:.82rem;flex-shrink:0}.fp-quick-grid{grid-template-columns:1fr}.fp-hero{padding:4rem 1.5rem 3rem}.fp-section{padding:3.5rem 1.5rem}.fp-cta-inner{padding:2.5rem 1.5rem}}@media(max-width:480px){.fp-hero{padding:3rem 1rem 2rem}.fp-hero-subtitle{font-size:.95rem}.fp-section{padding:2.5rem 1rem}.fp-detail-panel{padding:1.5rem 1rem;border-radius:16px}.fp-detail-title{font-size:1.5rem}.fp-cta-inner{padding:2rem 1rem;border-radius:16px}.fp-cta-inner h2{font-size:1.5rem}.fp-cta-group{flex-direction:column;width:100%}.fp-cta-btn-lg,.fp-cta-ghost-btn{width:100%;justify-content:center}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-page{display:flex;flex-direction:column;gap:3.5rem;padding-bottom:4rem}.contact-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;width:100%}.contact-hero{padding:4.5rem 1.5rem 2.5rem;background:radial-gradient(circle at 50% 10%,rgba(107,144,128,.15) 0%,transparent 65%)}.contact-hero h1{font-size:3rem;font-weight:900;color:var(--text);margin:.5rem 0 1rem;letter-spacing:-.03em}.contact-hero-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6;max-width:650px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}.contact-info-card,.contact-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lift)}.contact-info-card h2,.contact-form-card h2{font-size:1.6rem;font-weight:800;color:var(--text);margin:0 0 .8rem}.info-desc{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.info-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:1.5rem}.info-list li{display:flex;align-items:flex-start;gap:1rem}.info-icon{width:44px;height:44px;border-radius:var(--radius-md);background:#6b908026;color:var(--sage);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.info-list strong{display:block;font-size:.95rem;color:var(--text)}.info-list span{font-size:.88rem;color:var(--text-secondary)}.info-highlight-box{display:flex;gap:.8rem;padding:1.2rem;background:#27ae6014;border:1px solid rgba(39,174,96,.2);border-radius:var(--radius-md)}.info-highlight-box strong{font-size:.92rem;color:var(--text)}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.contact-form .form-group{display:flex;flex-direction:column;gap:.4rem}.contact-form label{font-size:.88rem;font-weight:600;color:var(--text)}.required{color:#eb5757}.contact-form input,.contact-form select,.contact-form textarea{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font-size:.92rem;outline:none;transition:all var(--transition);font-family:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6b908026}.contact-form .input-error{border-color:#eb5757!important}.error-text{font-size:.78rem;color:#eb5757;display:flex;align-items:center;gap:.3rem;margin-top:.2rem}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-full{width:100%;justify-content:center;padding:.9rem 1.5rem;margin-top:.5rem}@media(max-width:900px){.contact-grid,.contact-form .form-row{grid-template-columns:1fr}}@media(max-width:768px){.contact-hero{padding:3.5rem 1rem 2rem}.contact-hero h1{font-size:2.2rem}.contact-hero-subtitle{font-size:1rem}.contact-info-card,.contact-form-card{padding:1.75rem}.contact-page{gap:2rem;padding-bottom:3rem}}@media(max-width:480px){.contact-hero{padding:2.5rem 1rem 1.5rem}.contact-hero h1{font-size:1.8rem;letter-spacing:-.02em}.contact-info-card,.contact-form-card{padding:1.25rem}.contact-info-card h2,.contact-form-card h2{font-size:1.3rem}}.Toastify__toast-container--bottom-right{bottom:1.5rem!important;right:1.5rem!important;font-family:DM Sans,sans-serif!important}.urban-toast-success{background:#1e3a29!important;color:#e8f5e9!important;border:1px solid rgba(82,183,136,.4)!important;border-radius:12px!important;box-shadow:0 12px 32px #0f231759!important;font-family:DM Sans,sans-serif!important;font-size:.92rem!important;font-weight:500!important;padding:14px 18px!important}.urban-toast-success .Toastify__toast-icon svg{fill:#52b788!important}.urban-toast-error{background:#3b1c1c!important;color:#fce8e8!important;border:1px solid rgba(235,87,87,.4)!important;border-radius:12px!important;box-shadow:0 12px 32px #230f0f59!important;font-family:DM Sans,sans-serif!important;font-size:.92rem!important;font-weight:500!important;padding:14px 18px!important}.urban-toast-error .Toastify__toast-icon svg{fill:#eb5757!important}.urban-toast-success .Toastify__progress-bar{background:linear-gradient(90deg,#2d6a4f,#52b788)!important}.urban-toast-error .Toastify__progress-bar{background:linear-gradient(90deg,#c0392b,#eb5757)!important}.faq-page{display:flex;flex-direction:column;gap:3.5rem;padding-bottom:4rem}.faq-container{max-width:960px;margin:0 auto;padding:0 1.5rem;width:100%}.faq-hero{padding:4.5rem 1.5rem 2.5rem;background:radial-gradient(circle at 50% 10%,rgba(107,144,128,.15) 0%,transparent 65%)}.faq-hero h1{font-size:3rem;font-weight:900;color:var(--text);margin:.5rem 0 1rem;letter-spacing:-.03em}.faq-hero-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6;max-width:650px;margin:0 auto 2rem}.faq-search-wrapper{max-width:620px;margin:0 auto;position:relative}.faq-search-icon{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1.1rem}.faq-search-wrapper input{width:100%;padding:1rem 1rem 1rem 3.2rem;border-radius:30px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font-size:.98rem;outline:none;box-shadow:0 4px 20px #0000000f;transition:all var(--transition);font-family:inherit}.faq-search-wrapper input:focus{border-color:var(--sage);box-shadow:0 6px 24px #6b908033}.faq-category-tabs{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:2.5rem}.faq-cat-btn{padding:.55rem 1.2rem;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.faq-cat-btn.active,.faq-cat-btn:hover{background:var(--sage);color:#fff;border-color:var(--sage)}.faq-accordion-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition)}.faq-item.open{border-color:var(--sage);box-shadow:var(--shadow-lift)}.faq-question-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:transparent;border:none;text-align:left;cursor:pointer;color:var(--text);font-size:1.05rem;font-weight:700;font-family:inherit;gap:1rem}.question-text{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.cat-badge{display:inline-block;padding:.15rem .55rem;border-radius:12px;background:#6b90801f;color:var(--sage);font-size:.72rem;font-weight:700}.chevron-icon{color:var(--sage);font-size:.95rem;flex-shrink:0}.faq-answer-content{padding:0 1.5rem 1.25rem;border-top:1px solid rgba(0,0,0,.05)}.faq-answer-content p{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:.8rem 0 0}.faq-empty-state{text-align:center;padding:3rem 1.5rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg)}.faq-cta-banner{background:var(--surface-strong);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3.5rem 1.5rem}.faq-cta-banner h2{font-size:2rem;font-weight:800;margin:0 0 .5rem;color:var(--text)}.faq-cta-banner p{font-size:1.05rem;color:var(--text-secondary);margin:0}@media(max-width:768px){.faq-page{gap:2.5rem}.faq-hero{padding:3rem 1rem 2rem}.faq-hero h1{font-size:2.2rem}.faq-hero-subtitle{font-size:1rem;margin-bottom:1.5rem}.faq-question-btn{padding:1rem 1.2rem;font-size:.98rem}.faq-answer-content{padding:0 1.2rem 1rem}.faq-cta-banner{padding:2.5rem 1.2rem}.faq-cta-banner h2{font-size:1.6rem}}@media(max-width:480px){.faq-hero h1{font-size:1.8rem}.faq-hero-subtitle{font-size:.92rem}.faq-search-wrapper input{padding:.85rem .85rem .85rem 2.8rem;font-size:.9rem}.faq-search-icon{left:1rem;font-size:1rem}.faq-category-tabs{gap:.4rem}.faq-cat-btn{padding:.45rem .9rem;font-size:.8rem}.faq-question-btn{padding:.9rem 1rem;font-size:.92rem}.faq-cta-banner h2{font-size:1.4rem}.faq-cta-banner p{font-size:.92rem}}.demo-page{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;padding-bottom:0}.demo-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;box-sizing:border-box}.demo-hero-container{max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.demo-section-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.1rem;background:#6b908026;color:var(--sage, #6b9080);border-radius:30px;font-size:.76rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.2rem;border:1px solid var(--border, rgba(107, 144, 128, .25))}.demo-hero{padding:5rem 1.5rem 3.5rem;background:radial-gradient(circle at 50% 20%,rgba(107,144,128,.15) 0%,transparent 70%);text-align:center;width:100%;box-sizing:border-box}.demo-hero-title{font-size:clamp(1.85rem,5vw,3.4rem);font-weight:900;line-height:1.18;color:var(--text, #1f3a30);letter-spacing:-.03em;margin:0 0 1.2rem;word-break:break-word;overflow-wrap:break-word}.demo-gradient-text{background:linear-gradient(135deg,var(--sage, #6b9080) 0%,var(--accent, #3fa88a) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-hero-subtitle{font-size:clamp(.95rem,2.5vw,1.18rem);color:var(--text-secondary, #385b4d);line-height:1.65;max-width:680px;margin:0 auto}.demo-content-section{padding:1.5rem 0 3rem;width:100%;box-sizing:border-box}.demo-report-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);padding:2.25rem;box-shadow:0 12px 36px #1f3a3014;margin-bottom:3.5rem;transition:box-shadow var(--transition, .2s ease-out);width:100%;box-sizing:border-box;overflow:hidden}.demo-card-header{margin-bottom:1.75rem}.demo-badge-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .9rem;background:#6b908033;color:var(--text, #1f3a30);border-radius:20px;font-size:.82rem;font-weight:700;margin-bottom:.6rem}.demo-card-title{font-size:clamp(1.35rem,3.5vw,1.95rem);font-weight:800;color:var(--text, #1f3a30);margin:0;letter-spacing:-.02em;word-break:break-word}.demo-sample-bar{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .2));width:100%;box-sizing:border-box}.demo-sample-label{font-size:.88rem;font-weight:700;color:var(--text-secondary, #385b4d)}.demo-sample-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;width:100%;box-sizing:border-box}.demo-sample-pill{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-md, 14px);color:var(--text, #1f3a30);cursor:pointer;transition:all var(--transition, .2s ease-out);white-space:normal;text-align:left;line-height:1.4;width:100%;min-width:0;box-sizing:border-box}.demo-sample-pill:hover{background:var(--cream, #f6fff8);border-color:var(--sage, #6b9080);transform:translateY(-2px);box-shadow:0 4px 12px #6b908026}.demo-sample-pill.active{background:var(--sage, #6b9080);color:#fff;border-color:var(--sage, #6b9080);box-shadow:0 6px 18px #6b908059}.demo-pill-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:.3rem}.demo-sample-pill.active .demo-pill-indicator{background-color:#fff!important}.demo-pill-text{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.demo-pill-name{font-size:.88rem;font-weight:700;line-height:1.35;color:inherit;word-break:break-word}.demo-pill-status{opacity:.85;font-size:.78rem;font-weight:500;line-height:1.35;color:inherit;word-break:break-word}.demo-report-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:2.25rem;align-items:start;width:100%;min-width:0;box-sizing:border-box}.demo-col-media{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.demo-image-frame{position:relative;border-radius:var(--radius-md, 14px);overflow:hidden;border:1px solid var(--border, rgba(107, 144, 128, .28));box-shadow:0 6px 18px #1f3a3014;background:#000;aspect-ratio:4 / 3;width:100%;max-width:100%;box-sizing:border-box}.demo-crop-photo{width:100%;height:100%;object-fit:cover;display:block}.demo-image-overlay{position:absolute;top:.75rem;left:.75rem;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;background:#1f3a30d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:20px;font-size:.76rem;font-weight:700;letter-spacing:.03em}.demo-metric-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;box-sizing:border-box}.demo-metric-card{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .22));border-radius:var(--radius-md, 12px);padding:.85rem .65rem;text-align:center;min-width:0;box-sizing:border-box;overflow:hidden}.dmc-label{display:block;font-size:.72rem;font-weight:600;color:var(--text-secondary, #385b4d);text-transform:uppercase;margin-bottom:.25rem;letter-spacing:.03em;word-break:break-word}.dmc-value{font-size:.96rem;font-weight:800;color:var(--text, #1f3a30);word-break:break-word}.dmc-value.healthy{color:#27ae60}.dmc-value.warning{color:#e67e22}.dmc-value.accent{color:var(--accent, #3fa88a)}.demo-diagnostic-params{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .22));border-radius:var(--radius-md, 12px);padding:1rem;display:flex;flex-direction:column;gap:.65rem;width:100%;min-width:0;box-sizing:border-box}.demo-param-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;gap:.5rem;width:100%;min-width:0;flex-wrap:wrap}.param-name{color:var(--text-secondary, #385b4d);font-weight:500;word-break:break-word}.param-value{color:var(--text, #1f3a30);font-weight:700;text-align:right;word-break:break-word}.demo-col-details{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.demo-status-banner{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.4rem;border-radius:var(--radius-md, 14px);border:1.5px solid transparent;width:100%;min-width:0;box-sizing:border-box}.demo-status-banner.healthy{background:#27ae601a;border-color:#27ae6059}.demo-status-banner.warning{background:#e67e221a;border-color:#e67e2259}.status-icon{font-size:1.85rem;flex-shrink:0}.status-icon.healthy{color:#27ae60}.status-icon.warning{color:#e67e22}.status-text-block{min-width:0;flex:1;word-break:break-word}.status-heading{font-size:1.1rem;font-weight:800;margin:0 0 .2rem;word-break:break-word}.demo-status-banner.healthy .status-heading{color:#27ae60}.demo-status-banner.warning .status-heading{color:#d35400}.status-sub{font-size:.9rem;color:var(--text, #1f3a30);margin:0;word-break:break-word}.demo-tab-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;background:transparent;border:none;padding:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.demo-tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.65rem .5rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-sm, 10px);color:var(--text-secondary, #385b4d);font-size:.86rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out);white-space:normal;text-align:center;line-height:1.25;min-width:0;width:100%;box-sizing:border-box}.demo-tab-btn:hover{background:var(--cream, #f6fff8);border-color:var(--sage, #6b9080);color:var(--text, #1f3a30);transform:translateY(-1px)}.demo-tab-btn.active{background:var(--sage, #6b9080);color:#fff;border-color:var(--sage, #6b9080);box-shadow:0 4px 12px #6b90804d}.demo-tab-panel{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .22));border-radius:var(--radius-md, 14px);padding:1.5rem;min-height:180px;width:100%;min-width:0;box-sizing:border-box}.tab-pane-title{font-size:1rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 1rem;word-break:break-word}.demo-check-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.demo-check-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.92rem;color:var(--text, #1f3a30);line-height:1.5;word-break:break-word}.check-icon{color:#27ae60;margin-top:.2rem;flex-shrink:0}.check-icon.organic{color:#27ae60}.check-icon.chemical{color:#e67e22}.check-icon.prevention{color:var(--accent, #3fa88a)}.demo-card-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.5rem;width:100%;box-sizing:border-box}.demo-highlights-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:4rem;width:100%;min-width:0;box-sizing:border-box}.demo-highlight-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:var(--radius-md, 16px);padding:2rem 1.5rem;transition:all var(--transition, .2s ease-out);display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;box-sizing:border-box}.demo-highlight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft, 0 8px 24px rgba(31, 58, 48, .08));border-color:var(--sage, #6b9080)}.dh-icon-box{width:48px;height:48px;border-radius:12px;background:#6b90802e;color:var(--sage, #6b9080);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.2rem;flex-shrink:0}.dh-title{font-size:1.15rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .5rem;word-break:break-word}.dh-desc{font-size:.92rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0;word-break:break-word}@media(max-width:992px){.demo-report-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}.demo-col-media{max-width:540px;margin:0 auto;width:100%}.demo-highlights-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.demo-hero{padding:3.5rem 1rem 2.2rem}.demo-container{padding:0 .85rem}.demo-report-card{padding:1.25rem .85rem;border-radius:18px;margin-bottom:2.5rem}.demo-sample-pills{grid-template-columns:1fr;gap:.65rem}.demo-col-media{max-width:100%}.demo-highlights-row{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem}.about-impact-banner{padding:3rem 1rem}.about-impact-banner h2{font-size:1.7rem}.about-cta-group{flex-direction:column;align-items:center;gap:1rem}.demo-card-actions{flex-direction:column;align-items:stretch}.demo-card-actions .guest-btn{width:100%;justify-content:center}.demo-tab-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.demo-tab-btn{padding:.6rem .5rem;font-size:.84rem}}@media(max-width:640px){.demo-metric-cards{grid-template-columns:1fr;gap:.5rem}.demo-metric-card{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:.75rem .9rem;gap:.75rem}.dmc-label{margin-bottom:0;font-size:.76rem;flex-shrink:0}.dmc-value{font-size:.92rem;text-align:right}.demo-status-banner{padding:1rem .85rem;gap:.75rem}.status-icon{font-size:1.5rem}.status-heading{font-size:1rem}.status-sub{font-size:.84rem}.demo-tab-panel{padding:1.15rem .85rem}}@media(max-width:480px){.demo-container{padding:0 .65rem}.demo-hero{padding:2.75rem .75rem 1.75rem}.demo-hero-title{font-size:1.75rem}.demo-report-card{padding:1rem .65rem;border-radius:14px}.demo-card-title{font-size:1.35rem}.demo-sample-pill{padding:.65rem .75rem}.demo-pill-name{font-size:.84rem}.demo-pill-status{font-size:.74rem}.demo-tab-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:0}.demo-tab-btn{padding:.55rem .4rem;font-size:.8rem;gap:.35rem}.landing-btn{width:100%;justify-content:center}}.rewards-page{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;padding-bottom:0}.rewards-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;box-sizing:border-box}.rewards-hero-container{max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.rewards-section-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.1rem;background:#6b908026;color:var(--sage, #6b9080);border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.2rem;border:1px solid var(--border, rgba(107, 144, 128, .25))}.rewards-hero{padding:5rem 1.5rem 3.5rem;background:radial-gradient(circle at 50% 20%,rgba(107,144,128,.15) 0%,transparent 70%);text-align:center;width:100%;box-sizing:border-box}.rewards-hero-title{font-size:clamp(1.85rem,5vw,3.4rem);font-weight:900;line-height:1.18;color:var(--text, #1f3a30);letter-spacing:-.03em;margin:0 0 1.2rem;word-break:break-word;overflow-wrap:break-word}.rewards-gradient-text{background:linear-gradient(135deg,var(--sage, #6b9080) 0%,var(--accent, #3fa88a) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rewards-hero-subtitle{font-size:clamp(.95rem,2.5vw,1.18rem);color:var(--text-secondary, #385b4d);line-height:1.65;max-width:700px;margin:0 auto 2rem}.rewards-stats-bar{display:flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:40px;padding:.85rem 2rem;box-shadow:0 6px 20px #1f3a300f;margin-bottom:2rem;flex-wrap:wrap;box-sizing:border-box;max-width:100%}.rewards-stat-item{display:flex;flex-direction:column;align-items:center;padding:0 .5rem;min-width:0}.rsi-val{font-size:1.35rem;font-weight:900;color:var(--text, #1f3a30);line-height:1.1}.rsi-val.accent{color:var(--accent, #3fa88a)}.rsi-lbl{font-size:.72rem;font-weight:700;color:var(--text-secondary, #385b4d);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;text-align:center}.rewards-stat-divider{width:1px;height:28px;background:var(--border, rgba(107, 144, 128, .3))}.rewards-filter-bar{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;overflow-x:auto;padding:.3rem 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box}.rewards-filter-bar::-webkit-scrollbar{display:none}.rewards-filter-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.15rem;background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:30px;color:var(--text, #1f3a30);font-size:.88rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out);white-space:nowrap}.rewards-filter-btn:hover{background:var(--cream, #f6fff8);border-color:var(--sage, #6b9080);transform:translateY(-2px)}.rewards-filter-btn.active{background:var(--sage, #6b9080);color:#fff;border-color:var(--sage, #6b9080);box-shadow:0 4px 14px #6b908059}.rewards-content-section{padding:2rem 0 4rem;width:100%;box-sizing:border-box}.rewards-section-title{margin-bottom:2.5rem;width:100%;box-sizing:border-box}.rewards-section-title h2{font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:900;color:var(--text, #1f3a30);margin:0 0 .5rem;letter-spacing:-.02em;word-break:break-word}.rewards-section-title p{font-size:1.05rem;color:var(--text-secondary, #385b4d);margin:0;word-break:break-word}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-bottom:4rem;width:100%;box-sizing:border-box}.badge-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-md, 18px);padding:1.6rem;display:flex;flex-direction:column;transition:all var(--transition, .2s ease-out);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 6px 18px #1f3a300d;min-width:0;width:100%;box-sizing:border-box}.badge-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift, 0 14px 32px rgba(31, 58, 48, .12));border-color:var(--sage, #6b9080)}.badge-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;width:100%}.badge-emblem-box{display:flex;align-items:center;justify-content:center;width:68px;height:68px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.08));transition:transform var(--transition, .2s ease-out);flex-shrink:0}.badge-card:hover .badge-emblem-box{transform:scale(1.1) rotate(3deg)}.badge-xp-pill{padding:.3rem .8rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:20px;font-size:.8rem;font-weight:800;color:var(--accent, #3fa88a);flex-shrink:0}.badge-card-body{display:flex;flex-direction:column;flex:1;min-width:0}.badge-tier-tag{display:inline-block;align-self:flex-start;padding:.2rem .6rem;border-radius:8px;border:1px solid;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem;background:#fff9}.badge-name{font-size:1.22rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .5rem;line-height:1.3;word-break:break-word}.badge-desc{font-size:.88rem;color:var(--text-secondary, #385b4d);line-height:1.55;margin:0 0 1.25rem;flex:1;word-break:break-word}.eligibility-box{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .2));border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.4rem;width:100%;box-sizing:border-box}.elig-label{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--text-secondary, #385b4d);letter-spacing:.04em}.elig-text{font-size:.84rem;color:var(--text, #1f3a30);margin:0;display:flex;align-items:flex-start;gap:.45rem;line-height:1.45;font-weight:500;word-break:break-word}.check-ic{margin-top:.15rem;flex-shrink:0}.elig-step-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;color:var(--text-secondary, #385b4d);margin-top:.25rem}.lock-ic{font-size:.72rem;opacity:.75}.about-impact-banner{background:var(--surface-strong, #f6fff8);border-top:1px solid var(--border, rgba(107, 144, 128, .28));border-bottom:1px solid var(--border, rgba(107, 144, 128, .28));padding:4.5rem 1.5rem 4rem;width:100%;box-sizing:border-box;overflow-x:hidden}.about-impact-banner p{font-size:clamp(.95rem,2.5vw,1.05rem);color:var(--text-secondary, #385b4d);max-width:650px;margin:0 auto;line-height:1.6}.badge-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e18a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fadeIn .2s ease-out;box-sizing:border-box}.badge-modal-card{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:var(--radius-lg, 24px);max-width:min(480px,calc(100vw - 2rem));width:100%;padding:2.25rem;position:relative;box-shadow:0 24px 60px #00000040;display:flex;flex-direction:column;align-items:center;text-align:center;animation:slideUp .25s ease-out;box-sizing:border-box}.modal-close-btn{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;border-radius:50%;background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .25));color:var(--text-secondary, #385b4d);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all var(--transition, .2s ease-out)}.modal-close-btn:hover{background:var(--border, rgba(107, 144, 128, .4));color:var(--text, #1f3a30);transform:rotate(90deg)}.modal-emblem-box{display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;filter:drop-shadow(0 8px 20px rgba(0,0,0,.15))}.modal-title{font-size:1.5rem;font-weight:900;color:var(--text, #1f3a30);margin:.4rem 0 .6rem;word-break:break-word}.modal-desc{font-size:.95rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0 0 1.5rem;word-break:break-word}.modal-eligibility-details{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:14px;padding:1.2rem;width:100%;text-align:left;margin-bottom:1.25rem;box-sizing:border-box}.modal-eligibility-details h4{font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--text-secondary, #385b4d);margin:0 0 .5rem}.modal-elig-text{font-size:.92rem;color:var(--text, #1f3a30);margin:0 0 .75rem;display:flex;align-items:flex-start;gap:.5rem;line-height:1.45;font-weight:600;word-break:break-word}.modal-reward-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--accent, #3fa88a);background:var(--surface-strong, #f6fff8);padding:.35rem .8rem;border-radius:20px;border:1px solid var(--border, rgba(107, 144, 128, .25))}.modal-unlock-notice{font-size:.82rem;color:var(--text-secondary, #385b4d);line-height:1.5;margin:0 0 1.5rem;word-break:break-word}.modal-actions{width:100%}.modal-actions .full-width{width:100%;justify-content:center}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:992px){.badges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.rewards-hero{padding:3.5rem 1rem 2.2rem}.rewards-container{padding:0 .85rem}.rewards-stats-bar{border-radius:20px;padding:.8rem .5rem;gap:.75rem}.rewards-stat-divider{display:none}.rewards-stat-item{min-width:45%}.badges-grid{grid-template-columns:1fr;gap:1.25rem;margin-bottom:2.5rem}.about-impact-banner{padding:3rem 1rem}.about-impact-banner h2{font-size:1.7rem}.about-cta-group{flex-direction:column;align-items:center;gap:1rem}}@media(max-width:480px){.rewards-container{padding:0 .65rem}.rewards-hero{padding:2.75rem .75rem 1.75rem}.rewards-hero-title{font-size:1.75rem}.rewards-filter-btn{padding:.45rem .85rem;font-size:.82rem}.badge-card{padding:1.25rem 1rem;border-radius:14px}.badge-modal-card{padding:1.75rem 1.1rem;border-radius:18px}.landing-btn{width:100%;justify-content:center}}.market-prices-page{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;padding-bottom:0}.market-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%;box-sizing:border-box}.market-hero-container{max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.market-section-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.1rem;background:#6b908026;color:var(--sage, #6b9080);border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.2rem;border:1px solid var(--border, rgba(107, 144, 128, .25))}.market-hero{padding:5rem 1.5rem 3.2rem;background:radial-gradient(circle at 50% 20%,rgba(107,144,128,.15) 0%,transparent 70%);text-align:center;width:100%;box-sizing:border-box}.market-hero-title{font-size:clamp(1.85rem,5vw,3.4rem);font-weight:900;line-height:1.18;color:var(--text, #1f3a30);letter-spacing:-.03em;margin:0 0 1.2rem;word-break:break-word;overflow-wrap:break-word}.market-gradient-text{background:linear-gradient(135deg,var(--sage, #6b9080) 0%,var(--accent, #3fa88a) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.market-hero-subtitle{font-size:clamp(.95rem,2.5vw,1.18rem);color:var(--text-secondary, #385b4d);line-height:1.65;max-width:720px;margin:0 auto 1.8rem}.market-source-bar{display:inline-flex;align-items:center;gap:.85rem;background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:36px;padding:.38rem .42rem .38rem 1.15rem;box-shadow:0 4px 16px #1f3a300f;flex-wrap:wrap;justify-content:center;max-width:100%;box-sizing:border-box}.source-name{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:700;color:var(--text, #1f3a30)}.source-ic{color:#27ae60;font-size:.95rem}.source-time{font-size:.8rem;color:var(--text-secondary, #385b4d);padding:0 .25rem}.refresh-pill-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.46rem 1.1rem;background:linear-gradient(135deg,var(--sage, #6b9080) 0%,var(--accent, #3fa88a) 100%);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:30px;font-size:.82rem;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:0 2px 8px #3fa88a47;transition:all .22s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none}.refresh-pill-btn:hover:not(:disabled){transform:translateY(-1.5px);box-shadow:0 5px 14px #3fa88a73;filter:brightness(1.05)}.refresh-pill-btn:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 2px 6px #3fa88a4d}.refresh-pill-btn:disabled{opacity:.72;cursor:not-allowed;transform:none;box-shadow:none}.refresh-pill-btn svg{font-size:.84rem;transition:transform .3s ease}.refresh-pill-btn:hover:not(:disabled) svg:not(.spin-ic){transform:rotate(45deg)}.spin-ic{animation:spin .8s linear infinite}.market-location-banner-wrap{padding:0 0 1.25rem;width:100%}.market-location-banner{background:linear-gradient(135deg,#6b908026,#3fa88a1f);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:var(--radius-md, 18px);padding:1.25rem 1.6rem;display:flex;align-items:center;gap:1.25rem;box-shadow:0 6px 20px #1f3a300d;box-sizing:border-box;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mlb-icon-box{width:48px;height:48px;border-radius:14px;background:var(--sage, #6b9080);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;box-shadow:0 4px 12px #6b90804d}.mlb-text{flex:1;min-width:0}.mlb-text h3{font-size:1.05rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .25rem}.mlb-text p{font-size:.88rem;color:var(--text-secondary, #385b4d);margin:0;line-height:1.45}.mlb-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.location-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.15rem;border-radius:12px;font-size:.86rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out);border:none;font-family:inherit}.location-btn-primary{background:linear-gradient(135deg,var(--sage, #6b9080),var(--accent, #3fa88a));color:#fff;box-shadow:0 4px 12px #6b90804d}.location-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6b908073}.location-btn-primary:disabled{opacity:.7;cursor:not-allowed}.location-btn-secondary{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));color:var(--text-secondary, #385b4d)}.location-btn-secondary:hover{background:var(--surface-strong, #f6fff8);color:var(--text, #1f3a30)}.market-location-status-badge{display:flex;align-items:center;justify-content:space-between;background:#27ae601f;border:1px solid rgba(39,174,96,.35);border-radius:12px;padding:.65rem 1.1rem;margin-bottom:1.5rem;box-sizing:border-box}.loc-status-text{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;color:#1e8449}.loc-reset-link{background:none;border:none;color:var(--text-secondary, #385b4d);font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:underline;padding:0}.loc-reset-link:hover{color:#c0392b}.market-content-section{padding:1.5rem 0 4rem;width:100%;box-sizing:border-box}.market-controls-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);padding:1.5rem;box-shadow:0 10px 30px #1f3a300f;margin-bottom:2rem;width:100%;box-sizing:border-box}.category-tabs-bar{display:flex;gap:.65rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .2));overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box}.category-tabs-bar::-webkit-scrollbar{display:none}.cat-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.2rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:30px;color:var(--text, #1f3a30);font-size:.88rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out);white-space:nowrap;flex-shrink:0}.cat-tab-btn:hover{background:var(--cream, #f6fff8);border-color:var(--sage, #6b9080);transform:translateY(-2px)}.cat-tab-btn.active{background:var(--sage, #6b9080);color:#fff;border-color:var(--sage, #6b9080);box-shadow:0 4px 14px #6b908059}.filter-controls-row{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap;width:100%;box-sizing:border-box}.search-input-box{flex:2;min-width:220px;position:relative;display:flex;align-items:center;box-sizing:border-box}.search-input-box .search-ic{position:absolute;left:1rem;color:var(--text-secondary, #385b4d);font-size:.95rem;pointer-events:none}.search-input-box input{width:100%;padding:.65rem 2.4rem .65rem 2.5rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:12px;font-size:.9rem;color:var(--text, #1f3a30);outline:none;transition:border-color var(--transition, .2s ease-out);box-sizing:border-box}.search-input-box input:focus{border-color:var(--accent, #3fa88a);box-shadow:0 0 0 3px #3fa88a26}.clear-search-btn{position:absolute;right:.75rem;background:none;border:none;color:var(--text-secondary, #385b4d);cursor:pointer;padding:.3rem;font-size:.85rem}.select-box-wrap{flex:1;min-width:140px;box-sizing:border-box}.select-box-wrap select{width:100%;padding:.65rem 1rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:12px;font-size:.9rem;color:var(--text, #1f3a30);outline:none;cursor:pointer;transition:border-color var(--transition, .2s ease-out);box-sizing:border-box}.select-box-wrap select:focus{border-color:var(--accent, #3fa88a)}.location-pill-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:12px;color:var(--text, #1f3a30);font-size:.88rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out);white-space:nowrap}.location-pill-btn:hover{border-color:var(--sage, #6b9080);background:var(--cream, #f6fff8)}.location-pill-btn.active{background:#27ae6026;border-color:#27ae60;color:#1e8449}.clear-loc-ic{font-size:.75rem;margin-left:.25rem;opacity:.7}.view-mode-toggle{display:flex;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:12px;padding:.25rem;gap:.25rem;box-sizing:border-box}.view-btn{padding:.45rem .75rem;background:transparent;border:none;border-radius:8px;color:var(--text-secondary, #385b4d);cursor:pointer;font-size:1rem;transition:all var(--transition, .2s ease-out)}.market-metrics-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-bottom:2.5rem;width:100%;box-sizing:border-box}.market-metric-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-md, 16px);padding:1.25rem 1.1rem;text-align:center;min-width:0;box-sizing:border-box}.mm-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary, #385b4d);margin-bottom:.35rem;letter-spacing:.04em;word-break:break-word}.mm-val{font-size:1.45rem;font-weight:900;color:var(--text, #1f3a30);word-break:break-word}.mm-val.accent{color:var(--accent, #3fa88a)}.mm-val.healthy{color:#27ae60}.market-status-box{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;box-sizing:border-box}.spinner-loader{width:48px;height:48px;border:4px solid var(--border, rgba(107, 144, 128, .2));border-top-color:var(--sage, #6b9080);border-radius:50%;animation:spin .8s linear infinite}.market-status-box.error{color:#c0392b}.status-err-ic{font-size:2.4rem;color:#e67e22}.market-empty-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;box-sizing:border-box}.empty-ic-box{width:64px;height:64px;border-radius:20px;background:#6b908026;color:var(--sage, #6b9080);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:1.25rem}.market-empty-card h3{font-size:1.35rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .5rem;word-break:break-word}.market-empty-card p{color:var(--text-secondary, #385b4d);max-width:480px;margin:0 0 1.5rem;word-break:break-word}.market-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem;width:100%;box-sizing:border-box}.mandi-price-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-md, 18px);padding:1.6rem;display:flex;flex-direction:column;transition:all var(--transition, .2s ease-out);box-shadow:0 6px 18px #1f3a300d;min-width:0;width:100%;box-sizing:border-box;position:relative}.mandi-price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift, 0 14px 32px rgba(31, 58, 48, .12));border-color:var(--sage, #6b9080)}.mandi-price-card.nearby-card{border-color:#27ae60;background:linear-gradient(180deg,rgba(39,174,96,.06) 0%,var(--surface, #eaf4f4) 40%)}.mandi-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;width:100%;gap:.5rem}.mandi-cat-tag{padding:.25rem .7rem;border-radius:12px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.mandi-cat-tag.crops{background:#f39c1226;color:#b9770e}.mandi-cat-tag.vegetables{background:#27ae6026;color:#1e8449}.mandi-cat-tag.fruits{background:#e67e2226;color:#d35400}.mandi-cat-tag.flowers{background:#8e44ad26;color:#71368a}.nearby-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:800;color:#1e8449;background:#27ae6026;padding:.25rem .65rem;border-radius:10px;white-space:nowrap}.arrival-date{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary, #385b4d);white-space:nowrap}.commodity-name{font-size:1.35rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .3rem;line-height:1.25;word-break:break-word}.variety-info{font-size:.85rem;color:var(--text-secondary, #385b4d);margin:0 0 .85rem;word-break:break-word}.location-row{display:flex;align-items:flex-start;gap:.45rem;font-size:.86rem;color:var(--text, #1f3a30);font-weight:600;margin-bottom:1.25rem;line-height:1.4;word-break:break-word}.location-row .loc-ic{color:var(--sage, #6b9080);margin-top:.15rem;flex-shrink:0}.price-matrix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .2));border-radius:12px;padding:.85rem .5rem;margin-bottom:.85rem;width:100%;box-sizing:border-box}.price-box{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.price-box.modal-box{border-left:1px solid var(--border, rgba(107, 144, 128, .2));border-right:1px solid var(--border, rgba(107, 144, 128, .2))}.pbox-lbl{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary, #385b4d);margin-bottom:.2rem;word-break:break-word}.pbox-val{font-size:.88rem;font-weight:700;color:var(--text, #1f3a30);word-break:break-word}.modal-val{font-size:1.05rem;font-weight:900;color:var(--accent, #3fa88a)}.card-unit-footer{font-size:.78rem;color:var(--text-secondary, #385b4d);text-align:right}.mandi-table-wrapper{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:0 10px 30px #1f3a300f;margin-bottom:2.5rem;width:100%;box-sizing:border-box}.mandi-table{width:100%;border-collapse:collapse;text-align:left;min-width:780px}.mandi-table thead{background:var(--surface-strong, #f6fff8);border-bottom:2px solid var(--border, rgba(107, 144, 128, .25))}.mandi-table th{padding:1rem 1.25rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #385b4d)}.mandi-table th.modal-th{color:var(--accent, #3fa88a)}.mandi-table tbody tr{border-bottom:1px solid var(--border, rgba(107, 144, 128, .18));transition:background var(--transition, .2s ease-out)}.mandi-table tbody tr:hover{background:#6b908014}.mandi-table tbody tr.nearby-row{background:#27ae600d}.mandi-table td{padding:1rem 1.25rem;font-size:.9rem;color:var(--text, #1f3a30);vertical-align:middle}.tbl-comm-block{display:flex;flex-direction:column;gap:.2rem}.tbl-variety{font-size:.78rem;color:var(--text-secondary, #385b4d)}.tbl-nearby-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;color:#1e8449;background:#27ae6026;padding:.15rem .5rem;border-radius:8px;width:fit-content}.tbl-market{display:flex;align-items:center;gap:.4rem;font-weight:600}.tbl-ic{color:var(--sage, #6b9080)}.tbl-loc{font-size:.85rem;color:var(--text-secondary, #385b4d)}.mm-unit-sub{font-size:.72rem;font-weight:600;color:var(--text-secondary, #385b4d);margin-top:.2rem;display:block}.pbox-unit-sub{font-size:.68rem;font-weight:700;color:var(--text-secondary, #385b4d);margin-top:.15rem}.pbox-unit-sub.modal-unit{color:var(--accent, #3fa88a)}.tbl-unit-pill{display:inline-block;padding:.2rem .6rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:8px;font-size:.76rem;font-weight:700;color:var(--sage, #6b9080);white-space:nowrap}.tbl-rate-block{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.rate-td{font-weight:700;vertical-align:middle}.rate-amount{font-weight:700;font-size:.9rem;color:var(--text, #1f3a30)}.rate-amount.modal-val{font-size:1rem;font-weight:900;color:var(--accent, #3fa88a)}.modal-td{color:var(--accent, #3fa88a);font-size:.98rem}.rate-unit-label{font-size:.72rem;font-weight:600;color:var(--text-secondary, #385b4d);letter-spacing:.01em}.rate-unit-label.modal-unit{color:#3fa88ad9}.date-td{font-size:.82rem;color:var(--text-secondary, #385b4d)}.market-pagination-bar{display:flex;align-items:center;justify-content:space-between;background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-md, 16px);padding:1rem 1.5rem;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem;box-sizing:border-box}.pagination-info{display:flex;align-items:center;gap:1.25rem;font-size:.88rem;color:var(--text-secondary, #385b4d);flex-wrap:wrap}.per-page-select-wrap{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:600}.per-page-select-wrap select{padding:.35rem .65rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:8px;font-size:.84rem;color:var(--text, #1f3a30);outline:none;cursor:pointer}.pagination-nav{display:flex;align-items:center;gap:.4rem}.page-numbers{display:flex;align-items:center;gap:.35rem}.page-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:36px;height:36px;padding:0 .65rem;background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:10px;color:var(--text, #1f3a30);font-size:.86rem;font-weight:700;cursor:pointer;transition:all var(--transition, .2s ease-out)}.page-btn:hover:not(:disabled){background:var(--cream, #f6fff8);border-color:var(--sage, #6b9080);color:var(--sage, #6b9080)}.page-btn.active{background:var(--sage, #6b9080);color:#fff;border-color:var(--sage, #6b9080);box-shadow:0 2px 8px #6b90804d}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-dots{padding:0 .3rem;color:var(--text-secondary, #385b4d);font-weight:700}.market-disclaimer-card{background:var(--surface-strong, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:var(--radius-lg, 24px);padding:2.2rem 2rem;color:var(--text, #1f3a30);text-align:center;box-shadow:0 8px 24px #1f3a300d;margin-bottom:2.5rem;width:100%;box-sizing:border-box}.disclaimer-content{max-width:760px;margin:0 auto}.disclaimer-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .9rem;background:#6b908026;color:var(--sage, #6b9080);border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:.85rem;border:1px solid var(--border, rgba(107, 144, 128, .25))}.market-disclaimer-card p{font-size:.95rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0;word-break:break-word}.about-impact-banner{background:var(--surface-strong, #f6fff8);border-top:1px solid var(--border, rgba(107, 144, 128, .28));border-bottom:1px solid var(--border, rgba(107, 144, 128, .28));padding:4rem 1.5rem;width:100%;box-sizing:border-box;overflow-x:hidden}.about-impact-banner h2{font-size:clamp(1.8rem,4vw,2.3rem);font-weight:800;margin:0 0 .8rem;color:var(--text, #1f3a30);letter-spacing:-.02em;word-break:break-word}.about-impact-banner p{font-size:clamp(.95rem,2.5vw,1.05rem);color:var(--text-secondary, #385b4d);max-width:600px;margin:0 auto;line-height:1.6}.about-cta-group{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.8rem}.landing-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.6rem;border-radius:var(--radius-md, 14px);font-size:.95rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all var(--transition, .2s ease-out);border:none;font-family:inherit}.landing-btn-primary{background:linear-gradient(135deg,var(--sage, #6b9080),var(--accent, #3fa88a));color:#fff;box-shadow:0 6px 20px #6b908059}.landing-btn-primary:hover{box-shadow:0 8px 24px #6b908080;transform:translateY(-2px)}.landing-btn-secondary{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .28));color:var(--text, #1f3a30)}.landing-btn-secondary:hover{background:var(--surface-strong, #f6fff8);border-color:var(--sage, #6b9080);color:var(--sage, #6b9080);transform:translateY(-2px)}@media(max-width:992px){.market-metrics-bar,.market-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.market-hero{padding:3.5rem 1rem 2.2rem}.market-container{padding:0 .85rem}.market-location-banner{flex-direction:column;align-items:flex-start;padding:1.25rem 1.1rem;gap:1rem}.mlb-actions{width:100%;flex-direction:column}.location-btn{width:100%;justify-content:center}.filter-controls-row{flex-direction:column;align-items:stretch}.search-input-box,.select-box-wrap,.location-pill-btn{width:100%;min-width:100%;justify-content:center}.view-mode-toggle{align-self:flex-start}.market-cards-grid{grid-template-columns:1fr;gap:1.25rem;margin-bottom:2rem}.market-source-bar{border-radius:20px;padding:.85rem 1rem;flex-direction:column;gap:.65rem;width:100%}.refresh-pill-btn{width:100%;justify-content:center;padding:.55rem 1.1rem}.market-pagination-bar{flex-direction:column;align-items:stretch;gap:1.2rem;padding:1rem}.pagination-info{justify-content:space-between;width:100%}.pagination-nav{justify-content:center;width:100%;flex-wrap:wrap}.market-disclaimer-card{padding:1.75rem 1.1rem}.about-impact-banner{padding:3rem 1rem}.about-impact-banner h2{font-size:1.7rem}.about-cta-group{flex-direction:column;align-items:center;gap:1rem}}@media(max-width:480px){.market-container{padding:0 .65rem}.market-hero{padding:2.75rem .75rem 1.75rem}.market-hero-title{font-size:1.75rem}.market-metrics-bar{grid-template-columns:1fr;gap:.65rem}.cat-tab-btn{padding:.45rem .85rem;font-size:.82rem}.mandi-price-card{padding:1.25rem .95rem;border-radius:14px}.page-btn{min-width:32px;height:32px;font-size:.8rem;padding:0 .5rem}.landing-btn{width:100%;justify-content:center}}.download-page{display:flex;flex-direction:column;gap:0;padding-bottom:0;width:100%;overflow-x:hidden}.dl-container{max-width:1240px;margin:0 auto;padding:0 1.5rem;width:100%;box-sizing:border-box}.text-center{text-align:center}.dl-section{padding:5rem 1.5rem;position:relative}.dl-section-header{max-width:780px;margin:0 auto 3.5rem}.dl-pill-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#6b908026;color:var(--sage, #4a7c59);border:1px solid rgba(107,144,128,.25);border-radius:40px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.dl-section-title{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;color:var(--text, #1f3a30);margin:0 0 1rem;line-height:1.2;letter-spacing:-.02em}.dl-gradient-text{background:linear-gradient(135deg,var(--sage, #4a7c59) 0%,var(--accent, #3fa88a) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dl-section-subtitle{font-size:1.1rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0 auto}.dl-hero{padding:4.5rem 1.5rem 4rem;background:radial-gradient(ellipse at 15% 10%,rgba(63,168,138,.14) 0%,transparent 60%),radial-gradient(ellipse at 85% 20%,rgba(107,144,128,.16) 0%,transparent 60%);position:relative;overflow:hidden;border-bottom:1px solid var(--border, rgba(107, 144, 128, .2))}.dl-hero-container{max-width:1240px;margin:0 auto}.dl-hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:3.5rem;align-items:center}.dl-hero-tag{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem 1.1rem;background:#6b908029;border:1px solid rgba(107,144,128,.3);border-radius:50px;font-size:.8rem;font-weight:700;color:var(--text, #1f3a30);margin-bottom:1.2rem}.tag-android-icon{color:#27ae60;font-size:1.15rem}.version-pill{background:var(--sage, #4a7c59);color:#fff;padding:.15rem .6rem;border-radius:20px;font-size:.72rem}.dl-hero-title{font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:900;color:var(--text, #1f3a30);line-height:1.12;margin:0 0 1.2rem;letter-spacing:-.03em}.dl-hero-subtitle{font-size:1.15rem;color:var(--text-secondary, #385b4d);line-height:1.65;margin:0 0 2.2rem;max-width:620px}.dl-cta-group{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:2.2rem}.dl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.6rem;border-radius:var(--radius-md, 14px);font-weight:700;font-size:1rem;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);cursor:pointer;box-sizing:border-box}.dl-btn-primary{background:linear-gradient(135deg,var(--sage, #4a7c59) 0%,var(--ink, #1f3a30) 100%);color:#fff;border:1px solid var(--sage, #4a7c59);box-shadow:0 8px 24px #1f3a3038}.dl-btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1f3a304d;filter:brightness(1.08)}.dl-btn-secondary{background:var(--surface, #eaf4f4);color:var(--text, #1f3a30);border:1px solid var(--border, rgba(107, 144, 128, .3))}.dl-btn-secondary:hover{background:var(--mist, #cce3de);transform:translateY(-2px)}.dl-btn-icon{font-size:1.4rem}.dl-btn-icon.pulse{animation:dlPulse 2s infinite}@keyframes dlPulse{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.dl-btn-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.dl-btn-main{font-size:1.05rem;line-height:1.2}.dl-btn-sub{font-size:.75rem;font-weight:500;opacity:.85}.dl-btn.full-width{width:100%}.dl-btn-outline-sm{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--sage, #4a7c59);border:1px solid var(--sage, #4a7c59);font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s ease}.dl-btn-outline-sm:hover{background:var(--sage, #4a7c59);color:#fff}.dl-trust-row{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--border, rgba(107, 144, 128, .2))}.dl-trust-item{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:var(--text-secondary, #385b4d)}.trust-icon{color:var(--sage, #4a7c59);font-size:1rem}.trust-icon.safe{color:#27ae60}.dl-hero-media{display:flex;justify-content:center}.dl-qr-card{background:var(--surface-strong, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:24px;padding:2rem;box-shadow:0 16px 40px #1f3a301f;position:relative;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dl-qr-card-glow{position:absolute;top:-20px;right:-20px;width:140px;height:140px;background:radial-gradient(circle,rgba(63,168,138,.25) 0%,transparent 70%);pointer-events:none;border-radius:50%}.dl-qr-header{display:flex;align-items:center;gap:.9rem;width:100%;margin-bottom:1.5rem}.dl-qr-icon-wrap{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--sage, #4a7c59),var(--accent, #3fa88a));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}.dl-qr-title{font-size:1.1rem;font-weight:800;color:var(--text, #1f3a30);margin:0}.dl-qr-sub{font-size:.8rem;color:var(--text-secondary, #385b4d);margin:.2rem 0 0}.dl-qr-frame{position:relative;background:#fff;padding:12px;border-radius:18px;border:2px dashed rgba(107,144,128,.35);box-shadow:0 6px 20px #0000000f;margin-bottom:0;display:flex;align-items:center;justify-content:center}.dl-qr-image{width:190px;height:190px;display:block;border-radius:10px}.dl-qr-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface-strong, #ffffff);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#27ae60;font-size:1.3rem;box-shadow:0 4px 10px #00000026;border:2px solid #ffffff}.dl-video-section{background:var(--background, #f6fff8);padding:3.5rem 1.5rem}.dl-video-layout{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:2rem;align-items:stretch;max-width:960px;margin:0 auto}.dl-player-card{background:#0f1c16;border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:20px;overflow:hidden;box-shadow:0 10px 28px #1f3a301f;display:flex;flex-direction:column;width:100%;height:100%}.dl-video-wrapper{position:relative;background:#0f1c16;width:100%;height:100%;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.dl-video-element{width:100%;height:100%;object-fit:cover;background:#0f1c16;display:block}.dl-steps-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:20px;padding:1.4rem 1.6rem;box-shadow:0 10px 28px #1f3a3014;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.dl-steps-title{display:flex;align-items:center;gap:.6rem;font-size:1.18rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .9rem}.steps-icon{color:var(--sage, #4a7c59)}.dl-steps-list{display:flex;flex-direction:column;gap:.65rem;flex:1;margin-bottom:1rem;overflow:visible}.dl-step-item{display:flex;align-items:flex-start;gap:.85rem;padding:.65rem .9rem;border-radius:12px;background:var(--surface-strong, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .2));cursor:pointer;transition:all .2s ease}.dl-step-item:hover,.dl-step-item.active{border-color:var(--sage, #4a7c59);background:#fff;transform:translate(3px);box-shadow:0 4px 12px #1f3a300f}.dl-step-item.active .dl-step-number{background:linear-gradient(135deg,var(--sage, #4a7c59),var(--accent, #3fa88a));color:#fff;border-color:transparent}.dl-step-number{width:30px;height:30px;border-radius:8px;background:var(--mist, #cce3de);border:1px solid var(--border, rgba(107, 144, 128, .3));color:var(--ink, #1f3a30);font-size:.82rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.dl-step-body{flex:1}.dl-step-head{font-size:.94rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .15rem}.dl-step-desc{font-size:.8rem;color:var(--text-secondary, #385b4d);line-height:1.38;margin:0}.dl-step-tip{margin-top:.25rem;padding:.22rem .55rem;background:#6b90801a;border-radius:6px;font-size:.73rem;color:var(--text, #1f3a30)}.dl-steps-action .dl-btn{padding:.75rem 1.4rem;font-size:.95rem;border-radius:12px}.dl-features-section{background:radial-gradient(circle at 10% 20%,rgba(107,144,128,.08) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(63,168,138,.08) 0%,transparent 50%)}.dl-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.8rem}.dl-feature-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:20px;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 24px #1f3a300d}.dl-feature-card:hover{transform:translateY(-6px);border-color:var(--sage, #4a7c59);box-shadow:0 16px 36px #1f3a301f;background:var(--surface-strong, #ffffff)}.dl-feature-icon-box{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--sage, #4a7c59),var(--accent, #3fa88a));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.3rem;box-shadow:0 6px 16px #6b908040}.dl-feature-title{font-size:1.2rem;font-weight:800;color:var(--text, #1f3a30);margin:0 0 .6rem}.dl-feature-desc{font-size:.92rem;color:var(--text-secondary, #385b4d);line-height:1.6;margin:0}.dl-specs-section{padding-top:2rem;padding-bottom:4rem}.dl-specs-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:24px;padding:2.5rem;box-shadow:0 12px 36px #1f3a3014}.dl-specs-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .25));margin-bottom:2rem}.dl-specs-title{font-size:1.4rem;font-weight:800;color:var(--text, #1f3a30);margin:0;display:flex;align-items:center;gap:.6rem}.specs-icon{color:var(--sage, #4a7c59)}.dl-specs-sub{font-size:.88rem;color:var(--text-secondary, #385b4d);margin:.3rem 0 0}.dl-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:1.8rem}.dl-spec-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-strong, #ffffff);border-radius:14px;border:1px solid var(--border, rgba(107, 144, 128, .2))}.spec-icon-wrap{width:40px;height:40px;border-radius:10px;background:#6b908026;color:var(--sage, #4a7c59);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.spec-text{display:flex;flex-direction:column}.spec-label{font-size:.76rem;color:var(--text-secondary, #385b4d);text-transform:uppercase;letter-spacing:.05em}.spec-val{font-size:.95rem;font-weight:700;color:var(--text, #1f3a30);margin-top:.15rem}.dl-specs-notice{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.2rem;background:#6b90801a;border-radius:10px;font-size:.85rem;color:var(--text-secondary, #385b4d)}.notice-icon{color:var(--sage, #4a7c59);font-size:1rem;flex-shrink:0}.dl-faq-section{background:var(--background, #f6fff8)}.dl-faq-accordion{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.dl-faq-card{background:var(--surface, #eaf4f4);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:16px;overflow:hidden;transition:all .25s ease}.dl-faq-card.open{border-color:var(--sage, #4a7c59);box-shadow:0 8px 24px #1f3a3014}.dl-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.6rem;background:transparent;border:none;color:var(--text, #1f3a30);font-size:1.05rem;font-weight:700;text-align:left;cursor:pointer;transition:color .2s ease}.dl-faq-question:hover{color:var(--sage, #4a7c59)}.faq-toggle-icon{font-size:.9rem;color:var(--sage, #4a7c59);flex-shrink:0}.dl-faq-answer{padding:1rem 1.6rem 1.4rem;font-size:.95rem;color:var(--text-secondary, #385b4d);line-height:1.65;border-top:1px solid rgba(107,144,128,.15);margin-top:.2rem}.dl-faq-answer p{margin:0}.dl-bottom-cta{padding:5.5rem 1.5rem;background:linear-gradient(135deg,#eaf6ee,#d8ede0,#c9e5d4);border-top:1px solid var(--border, rgba(107, 144, 128, .25));border-bottom:1px solid var(--border, rgba(107, 144, 128, .25));color:var(--text, #1f3a30);position:relative;overflow:hidden}.dl-bottom-cta:before{content:"";position:absolute;top:-50%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(39,174,96,.18) 0%,transparent 70%);pointer-events:none}.dl-cta-inner{max-width:760px;margin:0 auto;position:relative;z-index:2}.dl-cta-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#27ae6026;border:1px solid rgba(39,174,96,.35);border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1e7e48;margin-bottom:1.2rem}.dl-cta-title{font-size:clamp(2.1rem,4vw,3rem);font-weight:900;color:var(--text, #1f3a30);margin:0 0 1rem;line-height:1.2}.dl-cta-sub{font-size:1.1rem;color:var(--text-secondary, #2d5041);line-height:1.6;margin:0 0 2.2rem}.dl-bottom-btn-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem}.dl-bottom-btn-row .dl-btn-secondary{background:#fff;color:var(--text, #1f3a30);border:1px solid rgba(107,144,128,.35);box-shadow:0 4px 14px #1f3a300f}.dl-bottom-btn-row .dl-btn-secondary:hover{background:#fff;border-color:var(--sage, #4a7c59);color:#27ae60;transform:translateY(-2px)}@media(max-width:992px){.dl-hero-grid{grid-template-columns:1fr;gap:3rem;text-align:center}.dl-hero-content{display:flex;flex-direction:column;align-items:center}.dl-hero-subtitle{margin-left:auto;margin-right:auto}.dl-cta-group,.dl-trust-row{justify-content:center}.dl-video-layout{grid-template-columns:1fr;gap:2rem;max-width:500px}.dl-player-card,.dl-steps-card{height:auto;max-height:none}}@media(max-width:768px){.dl-hero{padding:3.5rem 1.2rem 3rem}.dl-section{padding:3.5rem 1.2rem}.dl-hero-title{font-size:2.2rem}.dl-cta-group{flex-direction:column;width:100%}.dl-btn{width:100%}.dl-qr-card{max-width:100%}.dl-features-grid{grid-template-columns:1fr}.dl-specs-card{padding:1.6rem}.dl-specs-grid{grid-template-columns:1fr}.dl-faq-question{padding:1.1rem 1.2rem;font-size:.98rem}.dl-faq-answer{padding:0 1.2rem 1.2rem}}@media(max-width:480px){.dl-qr-image{width:160px;height:160px}.dl-step-item{padding:.85rem;gap:.8rem}.dl-step-number{width:30px;height:30px;font-size:.8rem}.dl-bottom-cta{padding:3.5rem 1.2rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream),var(--mist),var(--sage-light));padding:1rem .75rem;font-family:DM Sans,sans-serif}.auth-card{background:#f6fff8f0;padding:1.35rem 1.75rem;border-radius:var(--radius-lg, 16px);border:1px solid var(--border);box-shadow:var(--shadow-lift);width:100%;max-width:410px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.auth-back-home{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary, #385b4d);font-size:.8rem;font-weight:600;text-decoration:none;margin-bottom:.6rem;padding:.25rem .7rem;border-radius:20px;background:#6b908014;border:1px solid rgba(107,144,128,.2);transition:all .2s cubic-bezier(.16,1,.3,1);width:fit-content}.auth-back-home:hover{background:var(--surface-strong, #ffffff);border-color:var(--sage, #6b9080);color:var(--sage, #6b9080);transform:translate(-3px);box-shadow:0 2px 8px #1f3a3014}.auth-card:hover{box-shadow:var(--shadow-lift)}.auth-logo{text-align:center;margin-bottom:1.5rem}.auth-logo .logo-icon{font-size:3.5rem;display:block;margin-bottom:.3rem}.auth-logo .logo-text{font-size:1.8rem;font-weight:500;color:var(--ink);letter-spacing:-.02em}.auth-logo .logo-sub{font-size:.9rem;color:var(--text-muted, #7c6f66);display:block;margin-top:.1rem}.auth-card h2{text-align:center;color:var(--text-main, #2c2421);margin-bottom:.25rem;font-family:Fraunces,serif;font-weight:600;font-size:1.45rem;letter-spacing:-.01em;line-height:1.25}.auth-subtitle{text-align:center;margin-top:0!important;margin-bottom:.85rem!important;color:var(--text-muted, #5a7368);font-size:.84rem;line-height:1.35}.auth-card .form-group{margin-bottom:.65rem}.auth-card .form-group label{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--ink);font-size:.8rem;margin-bottom:.22rem;letter-spacing:-.01em}.form-label-hint{font-weight:400;font-size:.72rem;color:var(--text-muted, #7c6f66)}.auth-card .form-group label .required{color:#c8968c;margin-left:.2rem}.auth-card .form-group input,.auth-card .form-group select{width:100%;padding:.52rem .8rem;border:1px solid var(--border);border-radius:8px;background:#eaf4f4c2;color:var(--ink);font-size:.88rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));box-sizing:border-box}.auth-card .form-group input:focus,.auth-card .form-group select:focus{outline:none;border-color:var(--accent);background:var(--cream);box-shadow:0 0 0 3px #3fa88a33}.auth-card .form-group input::placeholder{color:var(--text-muted, #7c6f66);opacity:.7}.auth-card .form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237c6f66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem;cursor:pointer}.auth-card .form-group select:hover{border-color:var(--accent-lavender, #a8a2bc)}.password-wrapper{position:relative}.password-wrapper input{padding-right:2.5rem!important}.password-toggle{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted, #7c6f66);cursor:pointer;font-size:.95rem;padding:.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.password-toggle:hover{color:var(--text-main, #2c2421);background:var(--bg-primary, #fbf9f7)}.auth-card .form-group input.input-error,.auth-card .form-group select.input-error,.input-error{border-color:#eb5757!important;background-color:#eb57570a!important;box-shadow:0 0 0 3px #eb575726!important}.error-text{font-size:.74rem;color:#eb5757;display:flex;align-items:center;gap:.3rem;margin-top:.2rem;font-weight:500;line-height:1.25}.auth-error{background:#c8968c14;border:1px solid rgba(200,150,140,.3);color:#c8968c;padding:.5rem .8rem;border-radius:var(--radius-md, 12px);font-size:.82rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.auth-error .error-icon{font-size:.95rem}.auth-card .btn-primary{width:100%;padding:.62rem .8rem;font-size:.95rem;margin-top:.4rem;background:linear-gradient(135deg,var(--sage),var(--ink));border:1px solid var(--sage);border-radius:8px;color:var(--cream);font-weight:600;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));letter-spacing:-.01em}.auth-card .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--sage),var(--ink));transform:translateY(-2px);box-shadow:var(--shadow-lift)}.auth-card .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-card .btn-primary .btn-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite;vertical-align:middle;margin-right:.5rem}.auth-card p{text-align:center;margin-top:.75rem;color:var(--text-muted, #7c6f66);font-size:.84rem}.auth-card p a{color:var(--accent);font-weight:500;text-decoration:none;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.auth-card p a:hover{color:var(--ink);text-decoration:underline}.auth-hint{margin-top:1rem;text-align:center;padding:.6rem .8rem;background:#a8a2bc0f;border:1px solid rgba(168,162,188,.2);border-radius:var(--radius-md, 12px)}.auth-hint small{color:var(--accent-lavender, #a8a2bc);font-size:.75rem;font-weight:500}.admin-badge{display:inline-block;background:var(--accent-lavender, #a8a2bc);color:#fff;padding:.15rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:.5rem}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4))}.auth-divider span{padding:0 1rem;color:var(--text-muted, #7c6f66);font-size:.8rem;font-weight:500}.social-login{display:flex;gap:.8rem;margin-top:.5rem}.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem;border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421);font-size:.9rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.social-btn:hover{background:var(--surface-primary, #ffffff);border-color:var(--accent-lavender, #a8a2bc);transform:translateY(-1px)}.social-btn .social-icon{font-size:1.2rem}@media(max-width:480px){.auth-card{padding:1.15rem;max-width:100%}.auth-logo .logo-icon{font-size:2.4rem}.auth-logo .logo-text{font-size:1.3rem}.auth-card h2{font-size:1.3rem;margin-bottom:.2rem}.auth-subtitle{font-size:.8rem;margin-bottom:.75rem!important}.auth-card .form-group{margin-bottom:.55rem}.auth-card .form-group input,.auth-card .form-group select{padding:.48rem .75rem;font-size:.86rem}.social-login{flex-direction:column}.auth-divider{margin:.9rem 0}}.auth-error-banner{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:.5rem .8rem;border-radius:8px;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;box-shadow:0 2px 6px #dc262614}.auth-error-banner svg{color:#dc2626;font-size:1rem;flex-shrink:0}.navbar{position:fixed;top:0;left:0;right:0;height:64px;background:#f6fff8eb;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,2.5rem);z-index:200;box-shadow:0 4px 18px #1f3a300f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navbar-left{display:flex;align-items:center;gap:1rem}.navbar-left .logo{font-size:1.3rem;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.03em;white-space:nowrap}.nav-landing-link,.nav-admin-link{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:20px;text-decoration:none;font-size:.85rem;font-weight:600;color:var(--text-secondary, #7c6f66);background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(220, 210, 200, .4));transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap}.nav-landing-link:hover{color:var(--text-main, #2c2421);background:var(--surface-primary, #ffffff);border-color:var(--accent-sage, #5a7d65);transform:translateY(-1px)}.nav-admin-link{color:#2563eb;background:#2563eb14;border-color:#2563eb33}.nav-admin-link:hover{color:#1d4ed8;background:#2563eb26;border-color:#2563eb66;transform:translateY(-1px)}.navbar-right{display:flex;align-items:center;gap:1rem}.navbar-right .user-name{font-weight:500;color:var(--text-secondary);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.navbar-right .logout-btn{background:transparent;border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius-sm);color:var(--ink);font-weight:600;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:transform var(--transition),background var(--transition),border-color var(--transition);white-space:nowrap}.navbar-right .logout-btn:hover{background:var(--mist);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;color:var(--ink);padding:.5rem .75rem;cursor:pointer;transition:transform var(--transition),background var(--transition)}.mobile-toggle{display:none;background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:8px;font-size:1.35rem;color:var(--text-main, #1f3a30);cursor:pointer;padding:.35rem .55rem;line-height:1;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;transition:all .2s ease}.mobile-toggle:hover{background:var(--bg-primary, #f6fff8);border-color:var(--accent-sage, #6b9080)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9998;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:mobile-nav-fade-in .25s ease}@keyframes mobile-nav-fade-in{0%{opacity:0}to{opacity:1}}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;height:100vh;width:50vw;min-width:260px;max-width:90vw;background:var(--surface-strong, #ffffff);border-left:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:-6px 0 30px #00000040;z-index:9999;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-user-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.mobile-nav-user{font-weight:700;color:var(--ink);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-close{background:none;border:1px solid var(--border);border-radius:8px;font-size:1.3rem;color:var(--ink);padding:.3rem .5rem;cursor:pointer;display:flex;align-items:center;flex-shrink:0}.mobile-nav-links,.mobile-nav-extra-links{display:flex;flex-direction:column;gap:.35rem}.mobile-nav-extra-links{padding-top:.75rem;border-top:1px solid var(--border)}.mobile-nav-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:.92rem;text-decoration:none;transition:background .2s,color .2s}.mobile-nav-item:hover,.mobile-nav-item.active{background:linear-gradient(135deg,var(--sage),var(--ink));color:var(--cream)}.mobile-nav-item .icon{font-size:1.2rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-nav-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.mobile-lang-wrapper{display:flex;justify-content:center;align-items:center;width:100%;padding:.35rem 0;background:transparent;border:none;box-sizing:border-box}.mobile-nav-logout{display:inline-flex;align-items:center;gap:.5rem;background:var(--mist);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;font-weight:600;color:var(--ink);cursor:pointer;font-size:.92rem;width:100%;justify-content:center;transition:background .2s}.mobile-nav-logout:hover{background:#eb57571a;color:#eb5757;border-color:#eb5757}@media(max-width:768px){.navbar{height:60px;flex-wrap:nowrap;position:fixed;padding:0 .85rem;width:100%;box-sizing:border-box}.navbar-right{display:none}.mobile-toggle{display:inline-flex}.nav-landing-link span,.nav-admin-link span{display:none}.nav-landing-link,.nav-admin-link{padding:.4rem .6rem}}.sidebar{position:fixed;top:64px;left:0;width:220px;height:calc(100vh - 64px);background:#eaf4f4eb;border-right:1px solid var(--border);padding:1.5rem .75rem 1rem;overflow-y:auto;z-index:150;transition:transform .28s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column}.sidebar ul{list-style:none;padding:0;margin:0;flex:1}.sidebar-language-wrapper{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center}.sidebar-language-wrapper .footer-language-selector{width:100%;display:flex;justify-content:center;align-items:center;margin:0 auto}.sidebar-language-wrapper .lang-options-inline{justify-content:center;width:100%}.sidebar ul li{margin-bottom:.25rem}.sidebar ul li a{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:.9rem;transition:transform var(--transition),color var(--transition),background var(--transition);text-decoration:none}.sidebar ul li a:hover{background:#cce3deb3;color:var(--ink);transform:translate(2px)}.sidebar ul li a.active{background:linear-gradient(135deg,var(--sage),var(--ink));color:var(--cream);font-weight:600}.sidebar ul li a .icon{font-size:1.2rem;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar ul li a .label{font-size:.9rem;line-height:1.2}@media(max-width:768px){.sidebar{display:none}}.footer{background:#f6fff8b3;padding:.75rem 2rem;border-top:1px solid var(--border);margin-top:auto;font-size:.8rem;color:var(--text-secondary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;box-sizing:border-box}.app-layout:not(.admin-layout) .footer{margin-left:220px;width:calc(100% - 220px)}.footer-content-bar{display:flex;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;text-align:center}.footer-copyright{margin:0;color:var(--text-muted, #385b4d);font-weight:500}@media(max-width:768px){.app-layout:not(.admin-layout) .footer{margin-left:0;width:100%;padding:.65rem 1rem}}.notification-container{position:fixed;top:85px;right:24px;z-index:99999;display:flex;flex-direction:column;gap:.65rem;max-width:380px;width:calc(100% - 48px);pointer-events:none}.notification-item{pointer-events:auto;background:#fff;padding:.75rem 1rem;border-radius:12px;box-shadow:0 8px 30px #2c24211f,0 2px 8px #2c24210a;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(220,210,200,.5);animation:slideInToast .25s cubic-bezier(.16,1,.3,1);font-size:.88rem;font-weight:500;color:#2c2421}.notification-content-wrap{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}.notif-type-icon{font-size:1.25rem;flex-shrink:0}.notif-type-icon.success{color:#2c5e3b}.notif-type-icon.error{color:#dc2626}.notif-type-icon.warning{color:#d97706}.notif-type-icon.info{color:#2563eb}.notification-text{word-break:break-word;line-height:1.35;color:#2c2421}.notification-close-btn{background:none;border:none;font-size:1.15rem;color:#a0938a;cursor:pointer;padding:.2rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.notification-close-btn:hover{color:#2c2421;background:#fbf9f7}.notification-item.success{border-left:4px solid #2c5e3b}.notification-item.error{border-left:4px solid #dc2626}.notification-item.warning{border-left:4px solid #d97706}.notification-item.info{border-left:4px solid #2563eb}@keyframes slideInToast{0%{opacity:0;transform:translate(30px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.app-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background:linear-gradient(135deg,var(--cream),var(--mist),var(--sage-light))}.main-content{display:flex;flex:1;padding-top:64px;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.page-content{flex:1;padding:clamp(1.25rem,3vw,2.5rem);padding-bottom:2.5rem;margin-left:220px;min-height:calc(100vh - 124px);width:calc(100% - 220px);max-width:100%;overflow-x:hidden;box-sizing:border-box}.admin-layout .main-content{padding-top:64px;width:100%;max-width:100vw;box-sizing:border-box}.admin-layout .page-content{padding:clamp(1.25rem,3vw,2.5rem);max-width:1400px;width:100%;margin-left:auto;margin-right:auto}@media(max-width:768px){.main-content{padding-top:60px;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:hidden}.page-content{margin-left:0!important;padding:.75rem .6rem 2rem;width:100%!important;max-width:100vw!important;box-sizing:border-box;overflow-x:hidden}.admin-layout .page-content{padding:.75rem .6rem 2rem;width:100%!important;margin-left:0!important}}@media(max-width:480px){.page-content{padding:.5rem .4rem 2rem;width:100%!important;margin-left:0!important}}.stats-card{width:100%;min-width:0;box-sizing:border-box;background:var(--surface-primary, #ffffff);padding:.75rem .95rem;border-radius:14px;border:1px solid var(--border-light, rgba(107, 144, 128, .18));box-shadow:0 3px 12px #1f3a3008;display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:.75rem;transition:var(--transition-smooth, all .25s ease);height:100%}.stats-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1f3a300f;border-color:#6b908052}.stats-icon{font-size:1.45rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none!important;border:none!important;border-radius:0!important;width:auto!important;height:auto!important;padding:0!important;transition:transform .2s ease}.stats-card:hover .stats-icon{transform:scale(1.08)}.stats-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.stats-value{display:block;width:100%;text-align:left;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.35rem;font-weight:700;color:var(--text-main, #1f3a30);letter-spacing:-.02em;line-height:1.1}.stats-label{display:block;width:100%;text-align:left;font-family:DM Sans,sans-serif;font-size:.76rem;color:var(--text-muted, #385b4d);font-weight:500;margin-top:.1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.stats-card{padding:.65rem .85rem;gap:.65rem}.stats-icon{font-size:1.3rem}.stats-value{font-size:1.25rem}}@media(max-width:480px){.stats-card{padding:.6rem .75rem;gap:.55rem}.stats-icon{font-size:1.2rem}.stats-value{font-size:1.15rem}.stats-label{font-size:.72rem}}.activity-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .15rem;border-bottom:1px solid var(--border-light, rgba(107, 144, 128, .15));transition:var(--transition-smooth, all .25s ease);min-width:0;width:100%;box-sizing:border-box}.activity-item:last-child{border-bottom:none}.activity-icon{font-size:.95rem;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .18))}.act-icon-plant{color:var(--sage, #6b9080)}.act-icon-diag{color:#0284c7}.act-icon-task{color:#d97706}.activity-text{flex:1;min-width:0;color:var(--text-main, #1f3a30);font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-date{font-size:.7rem;color:var(--text-muted, #385b4d);background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .18));padding:.1rem .5rem;border-radius:12px;font-weight:600;flex-shrink:0;white-space:nowrap}.no-activity{color:var(--text-muted, #385b4d);font-style:normal;text-align:center;padding:1rem 0;font-size:.82rem}.plant-modal-overlay{z-index:1200!important;background:#0f172ab3!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.plant-form.modal-content{max-width:520px;max-height:88vh;overflow-y:auto;padding:1.35rem 1.6rem;border-radius:20px;border:1.5px solid rgba(107,144,128,.28);box-shadow:0 25px 60px #0f172a59;animation:plantModalPop .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes plantModalPop{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.plant-form .form-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .08))}.plant-form .form-group{margin-bottom:.55rem}.plant-form .form-group label{font-size:.82rem;font-weight:600;margin-bottom:2px;color:var(--text-main, #2c2421)}.plant-form .form-group input,.plant-form .form-group select,.plant-form .form-group textarea{padding:6px 10px;font-size:.88rem;border-radius:8px}.plant-form .form-group select option[hidden],select option[hidden]{display:none!important}.plant-form .form-group textarea{resize:vertical;min-height:48px}.plant-form .image-upload-area{border:1.5px dashed var(--border-light, rgba(0, 0, 0, .15));border-radius:8px;padding:.45rem;min-height:60px;max-height:75px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #fbf9f7);transition:all .2s ease;overflow:hidden}.plant-form .image-upload-area:hover{border-color:#2d6a4f;background:#2d6a4f08}.plant-form .image-preview{max-height:65px;object-fit:cover;border-radius:6px}.plant-form .upload-placeholder{display:flex;align-items:center;gap:.45rem;color:var(--text-muted, #7c6f66);font-size:.8rem}.plant-form .camera-icon{font-size:1.15rem;color:#2d6a4f}.plant-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.plant-form .form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-light, rgba(0, 0, 0, .08))}.plant-form .form-actions button{padding:.45rem 1.1rem;font-size:.85rem}@media(max-width:450px){.plant-form .form-row{grid-template-columns:1fr;gap:0}}.quick-actions{background:var(--surface-primary, #ffffff);padding:.95rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-top:0;margin-bottom:.95rem;transition:all .25s ease}.quick-actions:hover{box-shadow:0 6px 20px #1f3a300f}.quick-actions h3{font-family:Fraunces,serif;color:var(--text-main, #1f3a30);margin:0 0 .75rem;font-size:.98rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.qa-header-icon{font-size:1.1rem;color:var(--accent-sage, #6b9080)}.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}@media(max-width:480px){.actions-grid{grid-template-columns:1fr;gap:.5rem}}.quick-action-btn{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:.65rem;padding:.55rem .75rem;border:1px solid var(--border-light, rgba(107, 144, 128, .18));border-radius:12px;background:var(--bg-primary, #f6fff8);color:var(--text-main, #1f3a30);transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;font-family:inherit;width:100%;box-sizing:border-box}.quick-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1f3a3014;background:var(--surface-primary, #ffffff);border-color:var(--action-color, #6b9080)}.action-icon-box{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;background:var(--action-bg, rgba(107, 144, 128, .12));color:var(--action-color, #2d6a4f);transition:transform .2s ease}.quick-action-btn:hover .action-icon-box{transform:scale(1.08)}.action-label{font-size:.82rem;font-weight:600;color:var(--text-main, #1f3a30);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.weather-widget{background:var(--surface-primary, #ffffff);padding:.65rem .95rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));min-width:220px;box-shadow:0 4px 16px #1f3a3008;transition:var(--transition-smooth, all .25s ease);position:relative}.weather-widget:hover{box-shadow:0 8px 20px #1f3a300f}.weather-widget.loading{opacity:.6}.weather-main{display:flex;align-items:center;gap:.65rem}.weather-icon-wrap{width:34px;height:34px;border-radius:10px;background:#f59e0b1f;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.weather-svg-icon.sunny{color:#f59e0b}.weather-svg-icon.night{color:#6366f1}.weather-svg-icon.partly-cloudy{color:#f59e0b}.weather-svg-icon.cloudy{color:#64748b}.weather-svg-icon.rainy{color:#0284c7}.weather-svg-icon.storm{color:#7c3aed}.weather-svg-icon.snowy{color:#06b6d4}.weather-svg-icon.mist{color:#94a3b8}.weather-temp-info{display:flex;flex-direction:column;flex:1}.weather-temp{font-family:Fraunces,serif;font-size:1.2rem;font-weight:700;color:var(--text-main, #1f3a30);letter-spacing:-.02em;line-height:1.1}.weather-condition{font-size:.74rem;color:var(--text-muted, #385b4d);text-transform:capitalize;font-weight:600}.btn-forecast-toggle{background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .2));padding:.25rem .6rem;border-radius:14px;font-size:.72rem;font-weight:600;color:var(--sage, #6b9080);cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .2s ease}.btn-forecast-toggle .btn-icon{font-size:.78rem}.btn-forecast-toggle:hover{background:var(--sage, #6b9080);color:#fff;transform:translateY(-1px)}.weather-details{display:flex;gap:.65rem;margin-top:.4rem;font-size:.72rem;color:var(--text-muted, #385b4d);border-top:1px solid var(--border-light, rgba(107, 144, 128, .15));padding-top:.35rem;flex-wrap:wrap}.weather-details span{display:flex;align-items:center;gap:.2rem;font-weight:500}.detail-icon.blue{color:#0284c7}.detail-icon.cyan{color:#0891b2}.detail-icon.red{color:#ef4444}.weather-advice{margin-top:.4rem;padding-top:.35rem;border-top:1px solid var(--border-light);font-size:.74rem;color:var(--text-main);font-weight:500;line-height:1.35;display:flex;align-items:center;gap:.35rem}.weather-advice-icon{font-size:.95rem;flex-shrink:0}.weather-advice-icon.optimal{color:#10b981}.weather-advice-icon.heat{color:#f59e0b}.weather-advice-icon.rain{color:#0284c7}.weather-advice-icon.frost{color:#06b6d4}.weather-advice-icon.dry{color:#eab308}.forecast-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191799;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1.5rem;animation:fadeIn .2s ease}.forecast-modal-content{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light);border-radius:var(--radius-xl, 1rem);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0003}.forecast-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.forecast-modal-header h3{margin:0;font-size:1.15rem;color:var(--text-main);display:flex;align-items:center;gap:.4rem}.forecast-header-icon{font-size:1.25rem;color:#f59e0b}.forecast-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted);padding:.2rem .5rem;border-radius:6px;display:flex;align-items:center;justify-content:center}.forecast-close-btn:hover{background:var(--surface-secondary, #f5ede4);color:var(--text-main)}.forecast-modal-body{padding:1.5rem}.forecast-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.85rem}.forecast-day-card{background:var(--surface-secondary, #fdfbf7);border:1px solid var(--border-light);border-radius:var(--radius-md, .75rem);padding:1rem .5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem;transition:transform .2s ease}.forecast-day-card:hover{transform:translateY(-2px);border-color:var(--sage, #2c5e3b)}.f-day-name{font-size:.8rem;font-weight:600;color:var(--text-muted)}.f-icon-wrap{font-size:1.6rem;margin:.2rem 0;display:flex;align-items:center;justify-content:center}.f-temp{font-size:1.15rem;font-weight:700;color:var(--text-main)}.f-condition{font-size:.7rem;color:var(--text-muted);text-transform:capitalize;min-height:2rem}.f-humidity{font-size:.75rem;color:#0284c7;font-weight:600;display:flex;align-items:center;gap:.15rem}.f-advice{margin-top:.3rem}.advice-pill{font-size:.68rem;border-radius:999px;padding:.15rem .45rem;font-weight:600;display:flex;align-items:center;gap:.2rem}.advice-pill.optimal{background:#10b9811f;color:#059669}.advice-pill.heat{background:#f973161f;color:#ea580c}.advice-pill.rain{background:#0ea5e91f;color:#0284c7}@media(max-width:768px){.weather-widget{min-width:0;width:100%;box-sizing:border-box;padding:1rem 1.1rem}}.ai-insight{background:var(--surface-primary, #ffffff);padding:.85rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-bottom:.95rem;border-left:4px solid var(--sage, #6b9080);transition:var(--transition-smooth, all .25s ease);width:100%;box-sizing:border-box}.ai-insight:hover{box-shadow:0 6px 20px #1f3a300f}.ai-insight.warning{border-left-color:#d97706;background:linear-gradient(135deg,rgba(254,243,199,.4),var(--surface-primary, #ffffff))}.ai-insight.success{border-left-color:#059669;background:linear-gradient(135deg,rgba(209,250,229,.4),var(--surface-primary, #ffffff))}.ai-insight.info{border-left-color:var(--sage, #6b9080);background:linear-gradient(135deg,rgba(204,227,222,.35),var(--surface-primary, #ffffff))}.insight-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.insight-icon{display:flex;align-items:center;justify-content:center;font-size:1.1rem}.insight-svg-icon.growing{color:#059669}.insight-svg-icon.harvest{color:#d97706}.insight-svg-icon.heat{color:#ea580c}.insight-svg-icon.rain{color:#0284c7}.insight-svg-icon.frost{color:#0891b2}.insight-svg-icon.spring{color:#059669}.insight-svg-icon.summer{color:#d97706}.insight-svg-icon.fall{color:#c2410c}.insight-svg-icon.default{color:var(--sage, #6b9080)}.insight-badge{font-size:.7rem;background:var(--bg-primary, rgba(142, 168, 157, .1));border:1px solid var(--border-light, rgba(107, 144, 128, .2));padding:.1rem .5rem;border-radius:12px;color:var(--text-muted, #385b4d);font-weight:700;display:flex;align-items:center;gap:.25rem}.ai-spark-icon{color:var(--sage, #6b9080);font-size:.8rem}.insight-text{color:var(--text-main, #1f3a30);margin:0;font-size:.84rem;font-weight:500;line-height:1.4}.plant-gallery{background:var(--surface-primary, #ffffff);padding:.95rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-bottom:.95rem;transition:var(--transition-smooth, all .25s ease);width:100%;box-sizing:border-box;overflow-x:hidden}.plant-gallery:hover{box-shadow:0 6px 20px #1f3a300f}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.gallery-header h3{font-family:Fraunces,serif;color:var(--text-main, #1f3a30);font-size:.98rem;font-weight:600;margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:.45rem}.gallery-header-icon{font-size:1.1rem;color:var(--sage, #6b9080)}.plant-count{font-size:.72rem;color:var(--text-muted, #385b4d);background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .2));padding:.15rem .55rem;border-radius:14px;font-weight:600}.gallery-scroll{display:flex;gap:.85rem;overflow-x:auto;padding:.35rem .15rem .45rem;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent}.gallery-scroll::-webkit-scrollbar{height:4px}.gallery-scroll::-webkit-scrollbar-track{background:transparent}.gallery-scroll::-webkit-scrollbar-thumb{background:#6b90804d;border-radius:10px}.gallery-item{flex:0 0 76px;cursor:pointer;transition:var(--transition-smooth, all .25s ease);text-align:center}.gallery-item:hover{transform:translateY(-2px)}.plant-thumbnail{width:54px;height:54px;border-radius:50%;margin:0 auto .35rem;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid rgba(107,144,128,.2);box-shadow:0 3px 8px #1f3a300f}.plant-thumbnail img{width:100%;height:100%;object-fit:cover}.plant-svg-thumb{font-size:1.4rem;color:var(--sage, #6b9080)}.plant-name{font-size:.76rem;font-weight:600;color:var(--text-main, #1f3a30);margin-top:.15rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76px}.plant-meta{display:flex;justify-content:center;align-items:center;gap:.25rem;font-size:.65rem;color:var(--text-muted, #385b4d);margin-top:.15rem}.plant-status{background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .2));padding:.05rem .35rem;border-radius:6px;font-size:.62rem;text-transform:capitalize;font-weight:600}.plant-health-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.plant-health-dot.healthy{background:#10b981;box-shadow:0 0 0 2px #10b98133}.plant-health-dot.warning{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.plant-health-dot.unhealthy{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.empty-gallery{text-align:center;padding:1.25rem 0;color:var(--text-muted, #385b4d)}.empty-gallery-icon-wrap{font-size:1.8rem;color:var(--sage, #6b9080);display:flex;align-items:center;justify-content:center;margin-bottom:.35rem;opacity:.85}.empty-gallery p{margin:0;font-size:.82rem}.plant-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.plant-preview-content{background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 20px);width:100%;max-width:440px;overflow:hidden;box-shadow:0 20px 40px #0003;border:1px solid var(--border-light);animation:modalPop .25s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.preview-header-image{position:relative;height:180px;width:100%;background:var(--bg-primary)}.preview-header-image img{width:100%;height:100%;object-fit:cover}.preview-placeholder-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:var(--sage, #6b9080)}.btn-close-preview{position:absolute;top:.75rem;right:.75rem;background:#00000080;color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s ease}.btn-close-preview:hover{background:#000c;transform:scale(1.05)}.preview-details{padding:1.25rem 1.4rem}.preview-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.85rem}.preview-title-row h2{font-family:Fraunces,serif;font-size:1.35rem;color:var(--text-main);margin:0;line-height:1.2}.preview-scientific{font-size:.82rem;color:var(--text-muted);font-style:italic;margin:.15rem 0 0}.preview-health-badge{display:flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.preview-health-badge.healthy{background:#dcfce7;color:#15803d}.preview-health-badge.warning{background:#fef3c7;color:#b45309}.preview-health-badge.unhealthy{background:#fee2e2;color:#b91c1c}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.preview-grid-item{background:var(--bg-primary, rgba(142, 168, 157, .08));padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border-light);display:flex;flex-direction:column;gap:.2rem}.preview-grid-item .item-label{font-size:.72rem;color:var(--text-muted);font-weight:600;display:flex;align-items:center;gap:.3rem}.preview-grid-item .item-val{font-size:.85rem;color:var(--text-main);font-weight:700;text-transform:capitalize}.btn-view-plant-detail{width:100%;background:var(--sage, #6b9080);color:#fff;border:none;padding:.75rem;border-radius:12px;font-weight:600;font-size:.88rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:all .2s ease}.btn-view-plant-detail:hover{background:var(--text-main, #1f3a30)}.today-tasks{background:var(--surface-primary, #ffffff);padding:.95rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-bottom:.95rem;transition:var(--transition-smooth, all .25s ease);width:100%;box-sizing:border-box;overflow-x:hidden}.today-tasks:hover{box-shadow:0 6px 20px #1f3a300f}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tasks-header h3{font-family:Fraunces,serif;color:var(--text-main, #1f3a30);font-size:.98rem;font-weight:600;margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:.45rem}.tasks-header-icon{font-size:1.1rem;color:var(--sage, #6b9080)}.task-count{font-size:.72rem;color:var(--text-muted, #385b4d);background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .2));padding:.15rem .55rem;border-radius:14px;font-weight:600}.task-list{list-style:none;padding:0;margin:0}.task-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.48rem .15rem;border-bottom:1px solid var(--border-light, rgba(107, 144, 128, .15));transition:var(--transition-smooth, all .25s ease)}.task-item:last-child{border-bottom:none}.task-info{display:flex;align-items:center;gap:.45rem;flex:1;min-width:0;overflow:hidden}.task-priority-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.task-priority-dot.high{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.task-priority-dot.medium{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.task-priority-dot.low{background:#10b981;box-shadow:0 0 0 2px #10b98133}.task-title{color:var(--text-main, #1f3a30);font-weight:600;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-plant{font-size:.72rem;color:var(--text-muted, #385b4d);background:var(--bg-primary, rgba(142, 168, 157, .08));border:1px solid var(--border-light, rgba(107, 144, 128, .18));padding:.1rem .45rem;border-radius:6px;display:flex;align-items:center;gap:.25rem;font-weight:500;flex-shrink:0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-tag-icon{color:var(--sage, #6b9080);font-size:.78rem;flex-shrink:0}.task-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.task-due{font-size:.7rem;padding:.1rem .5rem;border-radius:10px;font-weight:600;white-space:nowrap}.task-due.due-today{color:#059669;background:#0596691f;border:1px solid rgba(5,150,105,.25)}.task-due.overdue{color:#ea580c;background:#ea580c1f;border:1px solid rgba(234,88,12,.25)}.task-complete-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--bg-primary, rgba(142, 168, 157, .08));color:var(--text-muted, #385b4d);font-size:.8rem;cursor:pointer;transition:var(--transition-smooth, all .2s ease);display:flex;align-items:center;justify-content:center}.task-complete-btn:hover{border-color:#059669;background:#059669;color:#fff;transform:scale(1.06)}.no-tasks{text-align:center;padding:1rem 0;color:var(--text-muted, #385b4d)}.no-tasks-icon-wrap{font-size:1.6rem;color:var(--sage, #6b9080);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem;opacity:.9}.no-tasks p{margin:0;font-size:.82rem}@media(max-width:480px){.today-tasks{padding:.75rem .85rem}.task-item{flex-direction:column;align-items:flex-start;gap:.35rem}.task-actions{width:100%;justify-content:space-between}}.garden-health{background:var(--surface-primary, #ffffff);padding:.75rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-bottom:.95rem;transition:var(--transition-smooth, all .25s ease);width:100%;box-sizing:border-box;overflow-x:hidden}.garden-health:hover{box-shadow:0 8px 20px #1f3a300f}.health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;flex-wrap:wrap;gap:.4rem}.health-label{font-family:Fraunces,serif;font-weight:600;color:var(--text-main, #1f3a30);font-size:.95rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.45rem}.health-header-icon{font-size:1.15rem;color:#ef4444}.health-header-right{display:flex;align-items:center;gap:.55rem}.health-score-pill{font-size:.78rem;font-weight:700;color:var(--text-main, #1f3a30);background:#6b90801f;padding:.15rem .55rem;border-radius:8px;border:1px solid rgba(107,144,128,.2)}.health-status{font-weight:600;font-size:.76rem;display:flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:14px}.health-status-icon{font-size:.85rem}.health-bar-container{width:100%}.health-bar{width:100%;height:8px;background:#6b90801f;border-radius:14px;overflow:hidden;border:none;box-shadow:inset 0 1px 2px #0000000d}.health-fill{height:100%;border-radius:14px;transition:width 1s cubic-bezier(.16,1,.3,1)}.health-breakdown-card{background:var(--surface-primary, #ffffff);padding:.95rem 1.15rem;border-radius:16px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));box-shadow:0 4px 16px #1f3a3008;margin-top:0;margin-bottom:.95rem;transition:var(--transition-smooth, all .25s ease);width:100%;box-sizing:border-box}.health-breakdown-card:hover{box-shadow:0 6px 20px #1f3a300f}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;border-bottom:1px solid var(--border-light, rgba(107, 144, 128, .15));padding-bottom:.55rem}.breakdown-title-wrap{display:flex;align-items:center;gap:.55rem}.breakdown-header-icon{font-size:1.3rem;color:#ef4444;flex-shrink:0}.breakdown-title-wrap h4{font-family:Fraunces,serif;color:var(--text-main, #1f3a30);font-size:.96rem;font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.2}.breakdown-subtitle{font-size:.72rem;color:var(--text-muted, #385b4d);margin:.1rem 0 0;font-weight:500}.factors-list{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.75rem}.factor-item{background:var(--bg-primary, rgba(142, 168, 157, .06));border:1px solid var(--border-light, rgba(107, 144, 128, .15));border-radius:12px;padding:.55rem .75rem;transition:all .2s ease}.factor-item:hover{background:var(--surface-primary, #ffffff);border-color:#6b90804d;transform:translateY(-1px)}.factor-header-row{display:flex;justify-content:space-between;align-items:center;gap:.45rem;margin-bottom:.2rem;flex-wrap:wrap}.factor-title-group{display:flex;align-items:center;gap:.4rem}.factor-icon{font-size:1.05rem;flex-shrink:0}.factor-icon.plant{color:#2d6a4f}.factor-icon.task{color:#d97706}.factor-icon.disease{color:#0284c7}.factor-title{font-size:.82rem;font-weight:700;color:var(--text-main, #1f3a30)}.factor-badges-group{display:flex;align-items:center;gap:.35rem}.factor-weight-badge{font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:10px;white-space:nowrap}.factor-live-stat{font-size:.68rem;font-weight:600;color:var(--text-muted, #385b4d);background:#0000000a;padding:.1rem .45rem;border-radius:10px;white-space:nowrap}.factor-desc{font-size:.74rem;color:var(--text-muted, #385b4d);margin:0;line-height:1.35}.breakdown-tip-box{background:linear-gradient(135deg,#fef3c773,#ffffffe6);border:1px dashed #f59e0b;border-radius:10px;padding:.45rem .65rem;display:flex;align-items:flex-start;gap:.4rem}.tip-icon{font-size:.95rem;color:#d97706;flex-shrink:0;margin-top:.1rem}.breakdown-tip-box p{font-size:.73rem;color:#78350f;margin:0;line-height:1.35;font-weight:500}@media(max-width:480px){.health-breakdown-card{padding:.75rem .85rem}.factor-header-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.iot-summary-widget{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .2));border-radius:20px;padding:20px;margin:16px 0;box-shadow:0 8px 24px #1f3a300f;color:var(--text-main, #1f3a30);display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box;transition:all .3s ease}.iot-summary-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(45,106,79,.12)}.iot-summary-title{display:flex;align-items:center;gap:10px}.iot-summary-icon{background:#eaf4f4;color:#2d6a4f;border:1px solid rgba(45,106,79,.2);padding:10px;border-radius:12px;display:flex;align-items:center;justify-content:center}.iot-summary-heading{font-size:1rem;font-weight:800;color:#1f3a30;margin:0}.iot-summary-subheading{font-size:.75rem;color:#52796f;margin-top:2px}.iot-status-tag{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:9999px;background:#dcfce7;color:#15803d;border:1px solid #86efac}.iot-summary-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.iot-stat-box{background:#fbf9f7;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.iot-stat-box.online{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.iot-stat-box.offline{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.iot-stat-label{font-size:.72rem;font-weight:600;opacity:.8;margin-bottom:4px}.iot-stat-val{font-size:1.25rem;font-weight:800}.iot-summary-sensor-preview{background:#f6fff8;border:1px solid rgba(45,106,79,.2);border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.iot-preview-left{display:flex;align-items:center;gap:12px}.iot-preview-icon{padding:8px;border-radius:10px;display:flex;align-items:center;justify-content:center}.iot-preview-icon.normal{background:#dcfce7;color:#15803d}.iot-preview-icon.alert{background:#fee2e2;color:#b91c1c}.iot-preview-device{font-size:.75rem;color:#52796f;display:block}.iot-preview-readings{font-size:.88rem;font-weight:600;color:#1f3a30}.alert-text{color:#b91c1c}.normal-text{color:#15803d}.temp-text{color:#b45309}.iot-attention-tag{font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:4px}.iot-attention-tag.alert{background:#fee2e2;color:#b91c1c}.iot-attention-tag.optimal{background:#dcfce7;color:#15803d}@media(max-width:600px){.iot-summary-stats-row{grid-template-columns:repeat(1,1fr)}}:root{--bg-primary: var(--background, #f6fff8);--surface-primary: var(--surface-strong, #ffffff);--text-main: var(--text, #1f3a30);--text-muted: var(--text-secondary, #385b4d);--border-light: var(--border, rgba(107, 144, 128, .22));--accent-sage: var(--sage, #6b9080);--accent-mint: var(--sage-light, #a4c3b2);--accent-mist: var(--mist, #cce3de);--accent-emerald: var(--accent, #3fa88a);--radius-lg: 18px;--radius-md: 12px;--transition-smooth: all .25s cubic-bezier(.16, 1, .3, 1)}.dashboard{max-width:1200px;width:100%;box-sizing:border-box;margin:0 auto;min-height:100%;font-family:DM Sans,sans-serif;color:var(--text-main);overflow-x:hidden}.dashboard-container{background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 18px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));padding:1.25rem 1.5rem 1.75rem;box-shadow:0 6px 24px #1f3a300a;width:100%;box-sizing:border-box;overflow-x:hidden}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid rgba(107,144,128,.2);border-top:3px solid var(--accent-sage);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.95rem;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-light);padding-bottom:.95rem}.header-left{display:flex;flex-direction:column;gap:.25rem;max-width:600px}.header-left h1{font-family:Fraunces,serif;color:var(--text-main);font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.2}.header-subtitle{color:var(--text-muted);font-size:.84rem;margin:0;font-weight:500;line-height:1.4;display:block}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:.85rem 0 1.15rem;width:100%}.dashboard-main{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-top:0}@media(max-width:1024px){.dashboard-main{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-container{padding:1rem .85rem 1.5rem;border-radius:var(--radius-md, 14px)}.dashboard-header{flex-direction:column;align-items:stretch;gap:.85rem}.header-left h1{font-size:1.35rem}.header-right{width:100%}.header-right .weather-widget{min-width:0;width:100%;box-sizing:border-box}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.85rem 0 1rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr;gap:.55rem}}.dashboard-left,.dashboard-right{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%;box-sizing:border-box}.recent-activity-section{background:var(--surface-primary);padding:.95rem 1.15rem;border-radius:16px;border:1px solid var(--border-light);box-shadow:0 4px 16px #1f3a3008;transition:var(--transition-smooth)}.recent-activity-section:hover{box-shadow:0 6px 20px #1f3a300d}.recent-activity-section h3{font-family:Fraunces,serif;color:var(--text-main);font-size:.98rem;font-weight:600;margin:0 0 .85rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.45rem}.section-title-icon{color:var(--accent-sage);font-size:1.1rem}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1300;padding:1rem;animation:fadeInModal .2s ease-out}.confirm-modal-box{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .6));border-radius:var(--radius-lg, 16px);width:100%;max-width:420px;box-shadow:0 16px 48px #2c242129;position:relative;overflow:hidden;animation:popInModal .25s cubic-bezier(.16,1,.3,1)}.confirm-modal-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));color:var(--text-muted, #7c6f66);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.confirm-modal-close:hover{background:#dc26261a;color:#dc2626;border-color:#dc26264d}.confirm-modal-body{padding:2rem 1.75rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.confirm-modal-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1rem}.confirm-modal-icon.danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.confirm-modal-icon.warning{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.confirm-modal-title{font-size:1.2rem;font-weight:700;color:var(--text-main, #2c2421);margin:0 0 .4rem;letter-spacing:-.01em}.confirm-modal-message{font-size:.88rem;color:var(--text-muted, #7c6f66);line-height:1.45;margin:0 0 1.5rem}.confirm-modal-actions{display:flex;gap:.65rem;width:100%}.confirm-btn{flex:1;padding:.6rem 1.2rem;border-radius:var(--radius-md, 10px);font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease;font-family:inherit}.confirm-btn-cancel{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .5));color:var(--text-main, #2c2421)}.confirm-btn-cancel:hover{background:var(--surface-primary, #ffffff);border-color:var(--text-muted, #7c6f66)}.confirm-btn-danger{background:#dc2626;color:#fff}.confirm-btn-danger:hover{background:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.confirm-btn-primary{background:var(--sage, #2c5e3b);color:#fff}.confirm-btn-primary:hover{background:#234c2e;box-shadow:0 4px 12px #2c5e3b4d;transform:translateY(-1px)}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes popInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.garden-card{background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 20px);padding:1.5rem;border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 4px 24px #2c242105;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));position:relative}.garden-card:hover{transform:translateY(-2px);box-shadow:0 6px 28px #2c24210a}.garden-card.list{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}@media(max-width:768px){.garden-card.list{grid-template-columns:1fr}}.garden-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}.garden-header-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.garden-type-badge{font-size:.75rem;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.25rem .8rem;border-radius:20px;color:var(--text-muted, #7c6f66);font-weight:500;display:inline-flex;align-items:center;gap:.35rem;line-height:1.2}.garden-type-badge .type-icon{font-size:.95rem;color:#2d6a4f;flex-shrink:0}.garden-health-badge{font-size:.75rem;padding:.25rem .8rem;border-radius:20px;font-weight:500;display:inline-flex;align-items:center;gap:.35rem;line-height:1.2}.garden-health-badge svg{font-size:.9rem;flex-shrink:0}.garden-header-right{position:relative}.menu-btn{background:none;border:none;font-size:1.25rem;color:var(--text-muted, #7c6f66);cursor:pointer;padding:.2rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.menu-btn:hover{color:var(--text-main, #2c2421)}.menu-dropdown{position:absolute;top:100%;right:0;background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:0 8px 24px #2c24211a;padding:.4rem;min-width:165px;z-index:10;border:1px solid var(--border-light, rgba(220, 210, 200, .4));display:flex;flex-direction:column;gap:2px}.menu-dropdown button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.65rem!important;width:100%!important;padding:.5rem .75rem!important;border:none!important;background:transparent!important;text-align:left!important;border-radius:var(--radius-md, 8px)!important;color:var(--text-main, #2c2421)!important;cursor:pointer!important;font-size:.88rem!important;font-weight:500!important;transition:all .2s ease!important;box-shadow:none!important}.menu-dropdown button:hover{background:var(--bg-primary, #fbf9f7)}.menu-dropdown button.danger{color:#dc2626}.menu-dropdown button.danger:hover{background:#dc262614}.garden-name{color:var(--text-main, #2c2421);font-size:1.2rem;font-weight:600;margin:0 0 .8rem}.garden-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;margin-bottom:.8rem}@media(max-width:400px){.garden-details-grid{grid-template-columns:1fr}}.detail-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted, #7c6f66)}.detail-icon{font-size:1rem;display:inline-flex;align-items:center;justify-content:center;color:#2d6a4f;flex-shrink:0}.detail-icon .sun{color:#f59e0b}.detail-icon .shade{color:#64748b}.detail-text{font-size:.85rem;line-height:1.2}.garden-description{color:var(--text-muted, #7c6f66);font-size:.9rem;margin:0 0 .8rem;line-height:1.5}.garden-weather-status{display:flex;justify-content:space-between;align-items:center;padding:.6rem .85rem;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.weather-mini{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-main, #2c2421)}.weather-temp{font-weight:600;color:var(--text-main, #2c2421)}.weather-condition{color:var(--text-muted, #7c6f66);text-transform:capitalize}.weather-loading,.weather-na{color:var(--text-muted, #7c6f66);font-size:.82rem}.water-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;line-height:1.2}.water-status .water-icon{font-size:.95rem;flex-shrink:0}.garden-actions{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.btn-secondary-small{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .5));padding:.45rem 1rem;border-radius:30px;font-size:.82rem;color:var(--text-main, #2c2421);cursor:pointer;transition:var(--transition-smooth, all .25s cubic-bezier(.16, 1, .3, 1));font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.2}.btn-secondary-small svg{font-size:.95rem;color:#2d6a4f;flex-shrink:0}.btn-secondary-small:hover{background:var(--surface-primary, #ffffff);border-color:#2d6a4f;transform:translateY(-1px)}.btn-primary-small{background:#2d6a4f;border:1px solid #2d6a4f;padding:.45rem 1.1rem;border-radius:30px;font-size:.82rem;color:#fff;cursor:pointer;transition:var(--transition-smooth, all .25s cubic-bezier(.16, 1, .3, 1));font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;line-height:1.2}.btn-primary-small svg{font-size:.95rem;color:#fff;flex-shrink:0}.btn-primary-small:hover{background:#1b4332;border-color:#1b4332;transform:translateY(-1px);box-shadow:0 4px 12px #2d6a4f40}.garden-footer{display:flex;align-items:center;gap:1.5rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border-light, rgba(220, 210, 200, .4));font-size:.75rem;color:var(--text-muted, #7c6f66)}.garden-footer span{display:inline-flex;align-items:center;gap:.3rem;line-height:1.2}.garden-form .modal-content{max-width:560px;padding:2.5rem;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 8px 40px #2c24211a}.garden-form .form-title{margin:0 0 .5rem;color:var(--text-main, #2c2421);font-size:1.4rem;font-weight:500;letter-spacing:-.01em}.garden-form .form-subtitle{margin:0 0 1.75rem;color:var(--text-muted, #7c6f66);font-size:.95rem}.garden-form .form-group{margin-bottom:1.25rem}.garden-form label{display:block;margin-bottom:.4rem;color:var(--text-main, #2c2421);font-weight:500;font-size:.9rem;letter-spacing:-.01em}.garden-form label .required{color:#c8968c;margin-left:.2rem}.garden-form input,.garden-form select,.garden-form textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);font-size:.95rem;background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421);transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-family:inherit;box-sizing:border-box}.garden-form input:focus,.garden-form select:focus,.garden-form textarea:focus{outline:none;border-color:var(--accent-lavender, #a8a2bc);background:var(--surface-primary, #ffffff);box-shadow:0 0 0 3px #a8a2bc26}.garden-form input::placeholder,.garden-form textarea::placeholder{color:var(--text-muted, #7c6f66);opacity:.7}.garden-form textarea{resize:vertical;min-height:90px;line-height:1.5}.garden-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237c6f66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem;cursor:pointer}.garden-form select:hover{border-color:var(--accent-lavender, #a8a2bc)}.garden-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:450px){.garden-form .form-row{grid-template-columns:1fr;gap:0}}.garden-form .form-actions{display:flex;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light, rgba(220, 210, 200, .4));justify-content:flex-end}.garden-form .btn-secondary{background:var(--bg-primary, #fbf9f7);border:1.5px solid var(--border-light, rgba(220, 210, 200, .4));padding:.7rem 1.8rem;border-radius:var(--radius-md, 12px);color:var(--text-main, #2c2421);font-size:.9rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500}.garden-form .btn-secondary:hover{background:var(--surface-primary, #ffffff);border-color:var(--accent-lavender, #a8a2bc);transform:translateY(-1px)}.garden-form .btn-primary{background:var(--accent-lavender, #a8a2bc);border:none;padding:.7rem 2rem;border-radius:var(--radius-md, 12px);color:#fff;font-size:.9rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500;min-width:100px}.garden-form .btn-primary:hover{background:#9a87b1;transform:translateY(-2px);box-shadow:0 4px 16px #a8a2bc4d}.garden-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.garden-form .form-group.error input,.garden-form .form-group.error select,.garden-form .form-group.error textarea{border-color:#c8968c;background:#c8968c0d}.garden-form .form-group.error label{color:#c8968c}.garden-form .error-message{color:#c8968c;font-size:.8rem;margin-top:.3rem;display:block}.garden-form .helper-text{color:var(--text-muted, #7c6f66);font-size:.8rem;margin-top:.3rem;display:block;opacity:.8}@media(max-width:600px){.garden-form .modal-content{padding:1.75rem;max-width:100%;margin:.5rem}.garden-form .form-title{font-size:1.2rem}.garden-form .form-actions{flex-direction:column-reverse}.garden-form .form-actions button{width:100%;justify-content:center}.garden-form .btn-primary{min-width:unset}}@media(max-width:400px){.garden-form .modal-content{padding:1.25rem}.garden-form input,.garden-form select,.garden-form textarea{padding:.6rem .8rem;font-size:.9rem}}.garden-filters{background:var(--surface-primary, #ffffff);padding:1.25rem 1.5rem;border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 4px 24px #2c242105;margin-bottom:1.5rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.garden-filters:hover{box-shadow:0 6px 28px #2c24210a}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted, #7c6f66);font-size:1.05rem;pointer-events:none;z-index:1;display:flex;align-items:center}.search-bar input{width:100%;padding:.6rem 1rem .6rem 2.4rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;font-size:.95rem;background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));box-sizing:border-box;box-shadow:0 2px 6px #1f3a300a}.clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted, #7c6f66);cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:50%;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));z-index:1;display:flex;align-items:center;justify-content:center}.view-btn{padding:.35rem .75rem;border:none;background:none;border-radius:20px;color:var(--text-muted, #7c6f66);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1))}.view-btn.active{background:var(--sage, #6b9080);color:#fff;box-shadow:0 2px 8px #6b908040}.filter-pills{display:flex;gap:.5rem;flex-wrap:wrap}.filter-pill{padding:.4rem 1rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;background:var(--surface-primary, #ffffff);color:var(--text-muted, #385b4d);font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;box-shadow:0 2px 6px #1f3a300a;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1))}.pill-icon{font-size:.95rem;color:var(--sage, #6b9080)}.filter-pill:hover{border-color:var(--sage, #6b9080);background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);box-shadow:0 4px 12px #1f3a3014}.filter-pill.active{border-color:var(--sage, #6b9080);background:var(--sage, #6b9080);color:#fff;box-shadow:0 4px 14px #6b908059}.filter-pill.active .pill-icon{color:#fff}.result-count{font-size:.85rem;color:var(--text-muted, #7c6f66);font-weight:600}@media(max-width:768px){.garden-filters{padding:1rem 1.25rem}.filters-top{flex-wrap:wrap;gap:.75rem}.search-bar{flex:1 1 100%;min-width:unset;max-width:unset}.view-toggle{flex-shrink:0;margin-left:auto}}@media(max-width:600px){.garden-filters{padding:.75rem 1rem}.filters-top{flex-direction:column;align-items:stretch}.search-bar{flex:1 1 auto;min-width:unset;max-width:unset}.view-toggle{margin-left:0;align-self:flex-start}.filters-bottom{flex-direction:column;align-items:flex-start}.filter-pills{width:100%}}.layout-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1100;padding:1rem}.layout-modal-content{background:var(--card-bg, #ffffff);border-radius:16px;width:100%;max-width:580px;box-shadow:0 20px 40px #0003;overflow:hidden;animation:modalFadeIn .25s ease-out}.layout-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.08)}.layout-modal-header h3{margin:0;color:var(--sage-dark, #2c5e3b);font-size:1.15rem}.layout-close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#888}.layout-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.layout-stats-bar{display:flex;justify-content:space-between;background:#2c5e3b0f;border-radius:10px;padding:.75rem 1rem}.layout-stat{display:flex;flex-direction:column}.stat-label{font-size:.78rem;color:#666}.stat-value{font-weight:700;color:var(--sage-dark, #2c5e3b);font-size:.95rem}.layout-instructions{font-size:.85rem;color:#555;text-align:center}.grid-container{display:flex;flex-direction:column;gap:.5rem;background:#00000008;padding:.75rem;border-radius:12px;border:1px solid rgba(0,0,0,.08)}.grid-row{display:flex;gap:.5rem}.grid-cell{flex:1;height:80px;border-radius:8px;border:2px dashed #ccc;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;position:relative;transition:all .2s ease;background:#fff}.grid-cell:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.grid-cell.occupied{border-style:solid;border-color:#a8d5ba;background:#f0fdf4}.grid-cell.selected{border-color:#2c5e3b;box-shadow:0 0 0 3px #2c5e3b33}.cell-coords{position:absolute;top:4px;left:6px;font-size:.65rem;color:#999;font-weight:600}.cell-plant{display:flex;flex-direction:column;align-items:center}.cell-emoji{font-size:1.2rem}.cell-name{font-size:.72rem;font-weight:600;color:#2c5e3b;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-plus{font-size:.75rem;color:#aaa}.cell-details-panel{background:#00000008;border-radius:8px;padding:.85rem}.cell-details-panel h4{margin:0 0 .5rem;font-size:.95rem;color:#333}.selected-plant-details p{margin:.2rem 0;font-size:.85rem}.empty-plot-text{margin:0;font-size:.85rem;color:#666}.layout-modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.empty-gardens{min-height:500px;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.empty-icon{font-size:5rem;display:block;animation:bounce 2s ease-in-out infinite}.plant-pots{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.pot{font-size:2rem;animation:sway 3s ease-in-out infinite}.pot:nth-child(2){animation-delay:.5s}.pot:nth-child(3){animation-delay:1s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@media(max-width:480px){.empty-gardens{min-height:300px;padding:1rem}.empty-content h2{font-size:1.2rem}.empty-actions{flex-direction:column;align-items:center}.empty-actions button{width:100%;max-width:250px}}.gardens-page{padding:2.25rem 2.5rem 3rem;max-width:1400px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 24px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));box-shadow:0 12px 40px #1f3a300f;font-family:DM Sans,system-ui,sans-serif;color:var(--text-main, #2c2421)}.gardens-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));padding-bottom:1.5rem}.gardens-header .header-left{display:flex;align-items:center;gap:.85rem}.gardens-header h2{color:var(--text-main, #2c2421);margin:0;font-size:1.85rem;font-weight:600;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.5rem}.gardens-header-icon{font-size:1.8rem;color:#2d6a4f;flex-shrink:0}.garden-count{font-size:.85rem;font-weight:500;color:var(--text-muted, #7c6f66);background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .5));padding:.2rem .65rem;border-radius:20px}.gardens-header .header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.gardens-header .header-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;line-height:1.2}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-state h3{color:var(--text-main, #2c2421);margin-bottom:.5rem;font-weight:600}.empty-state p{color:var(--text-muted, #7c6f66);margin-bottom:1.5rem}.gardens-container.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.gardens-container.list{display:flex;flex-direction:column;gap:1rem}@media(max-width:768px){.gardens-page{padding:1.25rem 1.25rem 2rem;border-radius:var(--radius-md, 16px)}.gardens-header{flex-direction:column;align-items:flex-start}.gardens-header h2{font-size:1.5rem}.gardens-container.grid{grid-template-columns:1fr}}@media(max-width:480px){.gardens-page{padding:.75rem}.gardens-container.grid{gap:1rem}}.qr-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1100;padding:1rem}.qr-modal-content{background:var(--surface-primary, #ffffff);border-radius:16px;width:100%;max-width:420px;box-shadow:0 20px 40px #0003;overflow:hidden;animation:modalFadeIn .25s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.qr-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .08))}.qr-modal-header h3{margin:0;color:#2d6a4f;font-size:1.15rem;font-weight:600;display:inline-flex;align-items:center;gap:.45rem}.qr-header-icon{font-size:1.25rem;color:#2d6a4f;flex-shrink:0}.qr-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted, #7c6f66);padding:.2rem;display:inline-flex;align-items:center;justify-content:center;transition:color .2s}.qr-close-btn:hover{color:var(--text-main, #2c2421)}.qr-modal-body{padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.qr-plant-info{margin-bottom:1rem;display:inline-flex;align-items:center;gap:.45rem}.qr-plant-icon{font-size:1.4rem;color:#2d6a4f;flex-shrink:0}.qr-plant-name{font-weight:700;font-size:1.15rem;color:var(--text-main, #2c2421)}.qr-plant-variety{color:var(--text-muted, #7c6f66);font-size:.95rem}.qr-code-frame{background:#fff;padding:1rem;border-radius:12px;box-shadow:0 4px 12px #00000014;border:2px dashed rgba(45,106,79,.4);margin-bottom:1rem}.qr-image{width:180px;height:180px;display:block}.qr-instructions{font-size:.88rem;color:var(--text-muted, #7c6f66);margin-bottom:1rem;line-height:1.4}.qr-link-box{display:flex;width:100%;gap:.5rem;margin-bottom:1.5rem}.qr-link-box input{flex:1;padding:.5rem .75rem;border:1px solid var(--border-light, #ccc);border-radius:8px;font-size:.85rem;background:var(--bg-primary, rgba(0, 0, 0, .03));color:var(--text-main, #2c2421)}.qr-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;width:100%}.qr-modal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.2}.harvest-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1100;padding:1rem}.harvest-modal-content{background:var(--surface-primary, #ffffff);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 40px #0003;overflow:hidden;animation:modalFadeIn .25s ease-out}.harvest-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .08))}.harvest-modal-header h3{margin:0;color:#2d6a4f;font-size:1.15rem;font-weight:600;display:inline-flex;align-items:center;gap:.45rem}.harvest-header-icon{font-size:1.3rem;color:#ea580c;flex-shrink:0}.harvest-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted, #7c6f66);padding:.2rem;display:inline-flex;align-items:center;justify-content:center}.harvest-close-btn:hover{color:var(--text-main, #2c2421)}.harvest-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group-row{display:flex;gap:1rem}.flex-1{flex:1}.flex-2{flex:2}.star-rating{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.star-btn{background:none;border:none;font-size:1.5rem;color:#d1d5db;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,transform .15s}.star-btn.active{color:#f59e0b}.star-btn:hover{transform:scale(1.15);color:#f59e0b}.checkbox-row{margin-top:.2rem}.checkbox-label{display:inline-flex!important;align-items:center!important;gap:.5rem!important;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-main, #2c2421)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#2d6a4f;flex-shrink:0}.harvest-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem}.harvest-modal-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;line-height:1.2}.plant-card{background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 20px);padding:1.2rem 1.5rem 1rem;border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 4px 24px #2c242105;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));position:relative}.plant-card:hover{transform:translateY(-2px);box-shadow:0 6px 28px #2c24210a}.plant-card.selected{border-color:#2d6a4f;background:#2d6a4f0a}.plant-image-container{position:relative;width:100%;margin-bottom:.8rem;border-radius:var(--radius-md, 12px)}.plant-card.menu-open{z-index:30}.plant-select{position:absolute;top:.5rem;left:.5rem;z-index:5;display:flex;align-items:center;justify-content:center;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.25rem;border-radius:6px;box-shadow:0 2px 6px #0000001f}.plant-select input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2d6a4f;margin:0;display:block}.plant-menu{position:absolute;top:.6rem;right:.6rem;z-index:20}.menu-btn{background:#fff!important;border:1.5px solid rgba(0,0,0,.15)!important;font-size:1.35rem!important;color:#111827!important;cursor:pointer;width:34px!important;height:34px!important;padding:0!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 4px 12px #00000047!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.menu-btn:hover{background:#2d6a4f!important;border-color:#2d6a4f!important;color:#fff!important;transform:scale(1.1)!important;box-shadow:0 6px 16px #2d6a4f59!important}.menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000002e;padding:.4rem;min-width:165px;z-index:100;border:1px solid var(--border-light, rgba(220, 210, 200, .6));display:flex;flex-direction:column;gap:2px}.menu-dropdown button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.65rem!important;width:100%!important;padding:.5rem .75rem!important;border:none!important;background:transparent!important;text-align:left!important;border-radius:8px!important;color:var(--text-main, #2c2421)!important;cursor:pointer!important;font-size:.85rem!important;font-weight:500!important;transition:all .2s ease!important;box-shadow:none!important}.menu-dropdown button svg{font-size:1.05rem!important;width:20px!important;height:20px!important;flex-shrink:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.menu-dropdown button:hover{background:var(--bg-primary, #fbf9f7)!important}.menu-dropdown button.danger{color:#dc2626!important}.menu-dropdown button.danger:hover{background:#dc262614!important}.plant-image{width:100%;height:165px;border-radius:var(--radius-md, 12px);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.plant-image img{width:100%;height:100%;object-fit:cover}.plant-svg-placeholder{font-size:3rem;color:#2d6a4f}.plant-name{color:var(--text-main, #2c2421);margin:0 0 .1rem;font-size:1.05rem;font-weight:600}.plant-variety{color:var(--text-muted, #7c6f66);font-size:.85rem;font-style:italic}.plant-scientific{color:var(--text-muted, #7c6f66);font-size:.75rem;display:block;opacity:.8}.plant-badges{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.4rem 0 .6rem}.health-badge{font-size:.72rem;padding:.15rem .6rem;border-radius:20px;font-weight:600;border:1px solid var(--border-light, rgba(220, 210, 200, .5));display:inline-flex;align-items:center;gap:.35rem;line-height:1.2}.health-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.health-dot.healthy{background:#10b981}.health-dot.warning{background:#f59e0b}.health-dot.unhealthy{background:#ef4444}.status-badge{font-size:.72rem;padding:.15rem .6rem;border-radius:20px;font-weight:600;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .5));color:var(--text-muted, #7c6f66);text-transform:capitalize;display:inline-flex;align-items:center;line-height:1.2}.age-badge{font-size:.72rem;padding:.15rem .6rem;border-radius:20px;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .5));color:var(--text-muted, #7c6f66);display:inline-flex;align-items:center;gap:.3rem;line-height:1.2}.badge-icon-sm{font-size:.8rem;color:#6b7280;flex-shrink:0}.growth-progress{margin:.5rem 0 .6rem}.progress-bar{width:100%;height:5px;background:var(--bg-primary, #fbf9f7);border-radius:10px;overflow:hidden;border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.progress-fill{height:100%;border-radius:10px;transition:width .6s cubic-bezier(.16,1,.3,1)}.progress-label{font-size:.65rem;color:var(--text-muted, #7c6f66);display:block;margin-top:.2rem;font-weight:600}.plant-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted, #7c6f66);margin-bottom:.6rem}.plant-garden,.plant-water,.plant-sunlight{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.15rem .5rem;border-radius:var(--radius-md, 8px);display:inline-flex;align-items:center;gap:.3rem;line-height:1.2}.meta-icon{font-size:.85rem;flex-shrink:0}.meta-icon.water{color:#0284c7}.meta-icon.sun{color:#f59e0b}.meta-icon.shade{color:#64748b}.plant-actions{display:flex;align-items:center;justify-content:space-between;gap:.4rem;border-top:1px solid var(--border-light, rgba(220, 210, 200, .4));padding-top:.65rem;margin-top:.4rem;width:100%}.plant-actions .action-btn{flex:1;height:38px;border:1px solid var(--border-light, rgba(0, 0, 0, .08));border-radius:10px;background:var(--bg-primary, #f6fff8);font-size:1.15rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);color:var(--text-muted, #536471)}.plant-actions .action-btn:hover{background:var(--surface-primary, #ffffff);border-color:var(--sage, #6b9080);transform:translateY(-1px)}.plant-actions .action-btn.view:hover,.plant-actions .action-btn.water:hover{color:#0284c7;background:#e0f2fe;border-color:#7dd3fc}.action-btn.diagnose:hover{color:#7c3aed;background:#f3e8ff;border-color:#c084fc}.action-btn.harvest:hover{color:#ea580c;background:#ffedd5;border-color:#fdba74}.action-btn.qr:hover{color:#2d6a4f;background:#dcfce7;border-color:#86efac}@media(max-width:600px){.plant-card{padding:1rem .9rem}.plant-image{height:160px}.plant-actions{gap:.35rem;padding-top:.55rem;flex-wrap:nowrap}.plant-actions .action-btn{height:36px;font-size:1.05rem}}.plant-filters{background:var(--surface-primary, #ffffff);padding:1.25rem 1.5rem;border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 4px 24px #2c242105;margin-bottom:1.5rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.plant-filters:hover{box-shadow:0 6px 28px #2c24210a}.filters-top{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem;flex-wrap:wrap}.search-bar{flex:1;position:relative;min-width:200px;max-width:400px}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted, #7c6f66);font-size:.9rem;pointer-events:none;z-index:1}.search-bar input{width:100%;padding:.6rem 1rem .6rem 2.5rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;font-size:.95rem;background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));box-sizing:border-box;box-shadow:0 2px 6px #1f3a300a}.search-bar input:focus{outline:none;border-color:var(--sage, #6b9080);background:var(--surface-primary, #ffffff);box-shadow:0 0 0 3px #6b908033}.clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted, #7c6f66);cursor:pointer;font-size:.9rem;padding:.2rem .4rem;border-radius:50%;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));z-index:1}.clear-search:hover{background:#6b90801a;color:var(--text-main, #1f3a30)}.filters-actions{display:flex;gap:.5rem;flex-shrink:0}.select-mode-btn{padding:.45rem 1.2rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;background:var(--surface-primary, #ffffff);color:var(--text-muted, #385b4d);cursor:pointer;font-size:.85rem;font-weight:600;box-shadow:0 2px 6px #1f3a300a;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1))}.select-mode-btn:hover{border-color:var(--sage, #6b9080);background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);box-shadow:0 4px 12px #1f3a3014}.select-mode-btn.active{border-color:var(--sage, #6b9080);background:var(--sage, #6b9080);color:#fff}.filters-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem}.plant-filters .filter-group{display:flex;gap:.6rem;flex-wrap:wrap}.plant-filters .filter-select,.plant-filters .filter-group select{padding:.45rem 1.25rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35))!important;border-radius:30px!important;background-color:var(--surface-primary, #ffffff)!important;color:var(--text-main, #1f3a30)!important;font-size:.88rem!important;font-weight:600!important;cursor:pointer;outline:none;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23385b4d' d='M6 8L1 3h10z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .9rem center!important;background-size:10px!important;padding-right:2.3rem!important;box-shadow:0 2px 6px #1f3a300d}.plant-filters .filter-select:hover,.plant-filters .filter-group select:hover{border-color:var(--sage, #6b9080)!important;background-color:var(--surface-primary, #ffffff)!important;box-shadow:0 4px 12px #1f3a3017}.plant-filters .filter-select:focus,.plant-filters .filter-group select:focus{border-color:var(--sage, #6b9080)!important;background-color:var(--surface-primary, #ffffff)!important;box-shadow:0 0 0 3px #6b908038}.sort-select{min-width:140px}.result-count{font-size:.85rem;color:var(--text-muted, #7c6f66);font-weight:500}@media(max-width:768px){.plant-filters{padding:1rem 1.15rem}.filters-top{flex-wrap:nowrap;gap:.6rem}.search-bar{flex:1;min-width:0;max-width:unset}.filters-actions{margin-left:0}}@media(max-width:600px){.plant-filters{padding:.85rem;border-radius:16px}.filters-top{display:flex;flex-direction:row;gap:.5rem;align-items:center}.search-bar{flex:1;min-width:0}.search-bar input{font-size:.88rem;padding:.5rem .85rem .5rem 2.2rem}.select-mode-btn{padding:.4rem .85rem;font-size:.82rem;white-space:nowrap}.filters-bottom{flex-direction:column;align-items:stretch;gap:.5rem}.filter-group{width:100%;display:flex;flex-wrap:wrap;gap:.4rem}.filter-select{flex:1 1 calc(50% - .25rem);min-width:0;font-size:.8rem!important;padding:.4rem 1.6rem .4rem .65rem!important}.sort-select{min-width:0}.result-count{text-align:center;width:100%}}@media(max-width:400px){.plant-filters{padding:.65rem}.filter-select{flex:1 1 100%}}.empty-plants{min-height:500px;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.empty-content{max-width:500px;text-align:center}.empty-illustration{position:relative;margin-bottom:2rem}.empty-icon{font-size:5rem;display:block;animation:grow 2s ease-in-out infinite}.growing-plants{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem}.plant-sprout{font-size:2.5rem;animation:sprout 3s ease-in-out infinite}.plant-sprout:nth-child(2){animation-delay:.5s;font-size:2rem}.plant-sprout:nth-child(3){animation-delay:1s}@keyframes grow{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes sprout{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}.empty-content h2{color:var(--text-main, #2c2421);margin-bottom:.5rem;font-weight:500;font-size:1.5rem}.empty-content p{color:var(--text-muted, #7c6f66);margin-bottom:1.5rem;line-height:1.6}.empty-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.btn-secondary{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.6rem 1.8rem;border-radius:30px;color:var(--text-main, #2c2421);font-size:.95rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500}.btn-secondary:hover{background:var(--surface-primary, #ffffff);border-color:var(--accent-lavender, #a8a2bc);transform:translateY(-2px);box-shadow:0 4px 12px #2c24210f}.btn-primary{background:var(--accent-lavender, #a8a2bc);border:none;padding:.6rem 1.8rem;border-radius:30px;color:#fff;font-size:.95rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500}.btn-primary:hover{background:#9a87b1;transform:translateY(-2px);box-shadow:0 4px 16px #a8a2bc4d}.empty-tips{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:1.5rem;border-radius:var(--radius-md, 12px);text-align:left}.empty-tips h4{color:var(--text-main, #2c2421);margin-bottom:.5rem;font-weight:500}.empty-tips ul{list-style:none;padding:0;margin:0}.empty-tips li{padding:.3rem 0;color:var(--text-muted, #7c6f66);font-size:.9rem}.empty-tips li:before{content:"✨ "}@media(max-width:480px){.empty-plants{min-height:300px;padding:1rem}.empty-content h2{font-size:1.2rem}.empty-actions{flex-direction:column;align-items:center}.empty-actions button{width:100%;max-width:250px}}.bulk-actions{display:flex;align-items:center;gap:.8rem;background:#2d6a4f14;padding:.35rem 1rem .35rem 1.2rem;border-radius:30px;border:1.5px solid #2d6a4f;animation:slideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bulk-count{font-size:.85rem;font-weight:600;color:#2d6a4f}.bulk-buttons{display:flex;align-items:center;gap:.4rem}.bulk-btn{padding:.25rem .65rem;border:none;border-radius:20px;cursor:pointer;font-size:.85rem;transition:var(--transition-smooth, all .25s cubic-bezier(.16, 1, .3, 1));background:var(--surface-primary, #ffffff);color:var(--text-main, #2c2421);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;line-height:1.2;box-shadow:0 1px 4px #0000000d}.bulk-btn .bulk-icon{font-size:.95rem;flex-shrink:0}.bulk-btn .bulk-icon.blue{color:#0284c7}.bulk-btn .bulk-icon.amber{color:#d97706}.bulk-btn:hover{background:var(--surface-primary, #ffffff);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.bulk-btn.water:hover{color:#0284c7}.bulk-btn.move:hover{color:#d97706}.bulk-btn.delete{color:#dc2626;padding:.25rem .5rem}.bulk-btn.delete:hover{background:#fee2e2;color:#b91c1c}.bulk-btn.cancel{color:var(--text-muted, #7c6f66);padding:.25rem .5rem}.bulk-btn.cancel:hover{color:var(--text-main, #2c2421);background:#0000000d}.bulk-move-wrapper{position:relative}.move-dropdown{position:absolute;top:100%;left:0;background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:0 8px 24px #2c24211f;padding:.35rem;min-width:160px;z-index:10;border:1px solid var(--border-light, rgba(220, 210, 200, .5));margin-top:.3rem;animation:slideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.move-dropdown button{display:flex;align-items:center;gap:.4rem;width:100%;padding:.45rem .85rem;border:none;background:none;text-align:left;border-radius:var(--radius-md, 8px);color:var(--text-main, #2c2421);cursor:pointer;font-size:.85rem;transition:var(--transition-smooth, all .2s ease)}.move-dropdown button .map-icon{font-size:.9rem;color:#ef4444;flex-shrink:0}.move-dropdown button:hover{background:var(--bg-primary, #fbf9f7)}@media(max-width:600px){.bulk-actions{flex-wrap:wrap;padding:.4rem .8rem;gap:.5rem;width:100%;justify-content:center}}.plants-page{padding:2.25rem 2.5rem 3rem;max-width:1400px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 24px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));box-shadow:0 12px 40px #1f3a300f;font-family:DM Sans,system-ui,sans-serif;color:var(--text-main, #2c2421)}.plants-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted, #7c6f66)}.plants-loading .loading-spinner{width:36px;height:36px;border:3px solid rgba(168,162,188,.2);border-top:3px solid var(--accent-lavender, #a8a2bc);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.plants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));padding-bottom:1.5rem}.header-left{display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;gap:.85rem}.header-left h2{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-main, #2c2421);margin:0;font-size:2rem;font-weight:500;letter-spacing:-.02em;white-space:nowrap}.plant-count{display:inline-flex;align-items:center;font-size:.85rem;color:var(--text-muted, #7c6f66);background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.2rem .8rem;border-radius:20px;font-weight:500;white-space:nowrap;flex-shrink:0}.header-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.plants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.no-results{text-align:center;padding:3rem 2rem;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.no-results-icon{font-size:3rem;display:block;margin-bottom:.5rem}.no-results h3{color:var(--text-main, #2c2421);margin-bottom:.3rem;font-weight:500}.no-results p{color:var(--text-muted, #7c6f66);margin-bottom:1rem}@media(max-width:768px){.plants-page{padding:1.25rem 1.25rem 2rem;border-radius:var(--radius-md, 16px)}.plants-header{flex-direction:column;align-items:flex-start}.header-left h2{font-size:1.5rem}.plants-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:600px){.plants-grid{grid-template-columns:1fr}.plants-page{padding:1rem}.header-actions{width:100%}}@media(max-width:480px){.plants-page{padding:.75rem}.plants-grid{gap:1rem}}.iot-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1f3a308c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999;animation:iotFadeIn .25s ease-out}@keyframes iotFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.iot-modal-card{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .3));border-radius:24px;padding:24px;max-width:650px;width:100%;box-shadow:0 20px 50px #1f3a3033;position:relative;color:var(--text-main, #1f3a30);display:flex;flex-direction:column;gap:16px;max-height:90vh;overflow-y:auto}.iot-modal-close-btn{position:absolute;top:16px;right:16px;background:#fbf9f7;border:1px solid rgba(0,0,0,.08);color:#7c6f66;padding:8px;border-radius:9999px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.iot-modal-close-btn:hover{background:#fee2e2;color:#b91c1c}.iot-modal-header{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(45,106,79,.12)}.iot-modal-icon{background:#eaf4f4;color:#2d6a4f;border:1px solid rgba(45,106,79,.2);padding:10px;border-radius:14px}.iot-modal-title{font-size:1.1rem;font-weight:800;color:#1f3a30;margin:0}.iot-modal-subtitle{font-size:.75rem;color:#52796f;margin-top:2px}.iot-range-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.iot-range-group{display:flex;align-items:center;gap:4px;background:#f6fff8;padding:4px;border-radius:12px;border:1px solid rgba(45,106,79,.2)}.iot-range-btn{background:transparent;border:none;color:#52796f;padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}.iot-range-btn.active{background:#2d6a4f;color:#fff}.iot-refresh-link{background:transparent;border:none;color:#52796f;font-size:.78rem;cursor:pointer;display:flex;align-items:center;gap:6px}.iot-refresh-link:hover{color:#2d6a4f}.iot-tabs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.iot-tab-card{background:#fbf9f7;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px;text-align:left;cursor:pointer;transition:all .2s}.iot-tab-card.selected{border-color:#2d6a4f;background:#eaf4f4}.iot-tab-top{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:#52796f;font-weight:600}.iot-tab-val{font-size:1.1rem;font-weight:800;color:#1f3a30;margin-top:6px}.iot-summary-box{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f6fff8;padding:12px;border-radius:14px;border:1px solid rgba(45,106,79,.2);text-align:center}.iot-sum-item .label{font-size:.72rem;color:#52796f;display:block}.iot-sum-item .val{font-size:.92rem;font-weight:700;color:#1f3a30;margin-top:2px;display:block}.iot-sum-item .val.highlight{color:#2d6a4f}.iot-chart-box{background:#fff;border:1px solid rgba(45,106,79,.2);border-radius:16px;padding:16px;width:100%;box-sizing:border-box}.iot-svg-container{position:relative;width:100%}.iot-svg-element{width:100%;height:auto;overflow:visible}.iot-chart-point{transition:r .2s}.iot-chart-point-group:hover .iot-chart-point{r:7}.iot-chart-time-labels{display:flex;justify-content:space-between;font-size:.7rem;color:#52796f;margin-top:8px}.iot-chart-empty,.iot-chart-loading{height:180px;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:#52796f;gap:8px}@media(max-width:600px){.iot-tabs-grid{grid-template-columns:repeat(2,1fr)}}.iot-sensor-card{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .2));border-radius:16px;padding:16px;color:var(--text-main, #1f3a30);box-shadow:0 8px 24px #1f3a300f;margin:12px 0;width:100%;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;transition:all .3s cubic-bezier(.16,1,.3,1)}.iot-sensor-card:hover{box-shadow:0 12px 32px #1f3a301a;border-color:#2d6a4f59}.iot-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(45,106,79,.12)}.iot-header-title{display:flex;align-items:center;gap:10px}.iot-icon-badge{background:#eaf4f4;color:#2d6a4f;border:1px solid rgba(45,106,79,.2);padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center}.iot-device-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.iot-device-name{font-weight:700;font-size:.95rem;color:#1f3a30}.iot-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:9999px;line-height:1.4}.iot-badge.online{background:#dcfce7;color:#15803d;border:1px solid #86efac}.iot-badge.offline{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.iot-pulse{animation:iotPulseAnim 1.5s infinite}@keyframes iotPulseAnim{0%,to{opacity:1}50%{opacity:.3}}.iot-timestamp{display:block;font-size:.75rem;color:#52796f;margin-top:2px}.iot-timestamp-val{color:#1f3a30;font-weight:600}.iot-header-actions{display:flex;align-items:center;gap:8px}.iot-btn-icon{background:#f6fff8;border:1px solid rgba(45,106,79,.2);color:#2d6a4f;padding:7px 10px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.iot-btn-icon:hover{background:#eaf4f4;color:#1b4332;border-color:#2d6a4f}.iot-btn-history{background:#2d6a4f;color:#fff;border:1px solid #2d6a4f;padding:7px 14px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;box-shadow:0 2px 8px #2d6a4f33}.iot-btn-history:hover{background:#1b4332;border-color:#1b4332;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #2d6a4f4d}.iot-spin{animation:iotSpinAnim 1s linear infinite}@keyframes iotSpinAnim{to{transform:rotate(360deg)}}.iot-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.iot-metric-box{padding:12px;border-radius:12px;border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:space-between}.iot-metric-top{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600}.iot-metric-val{font-size:1.35rem;font-weight:800;margin-top:6px;letter-spacing:-.02em}.iot-metric-val small{font-size:.75rem;font-weight:600;opacity:.8}.iot-metric-sub{font-size:.7rem;margin-top:4px;font-weight:600}.iot-metric-box.moisture{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.iot-metric-box.temp{background:#fffbeb;border-color:#fde68a;color:#b45309}.iot-metric-box.humidity{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.iot-metric-box.light{background:#fefce8;border-color:#fef08a;color:#a16207}.iot-progress-bg{width:100%;height:6px;background:#15803d26;border-radius:9999px;overflow:hidden;margin-top:8px}.iot-progress-fill{height:100%;border-radius:9999px;transition:width .5s ease-out}.iot-progress-fill.moisture{background:linear-gradient(90deg,#16a34a,#22c55e)}.iot-loading-empty{padding:20px;text-align:center;font-size:.85rem;color:#52796f;font-weight:500}@media(max-width:640px){.iot-metrics-grid{grid-template-columns:repeat(2,1fr)}}.plant-detail{padding:2.25rem 2.5rem 3rem;max-width:1000px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 24px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));box-shadow:0 12px 40px #1f3a300f;font-family:DM Sans,system-ui,sans-serif;color:var(--text-main, #2c2421)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));padding-bottom:1.5rem}.back-btn{background:none;border:none;color:var(--text-muted, #7c6f66);font-size:.95rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));padding:.4rem .8rem;border-radius:var(--radius-md, 12px);font-weight:500}.back-btn:hover{color:var(--text-main, #2c2421);background:var(--bg-primary, #fbf9f7)}.detail-actions{display:flex;gap:.5rem}.detail-content{background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 20px);padding:2rem;border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 4px 24px #2c242105;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.detail-content:hover{box-shadow:0 6px 28px #2c24210a}.plant-header{display:flex;gap:1.5rem;align-items:center;margin-bottom:2rem}.plant-avatar{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden;flex-shrink:0;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.plant-avatar img{width:100%;height:100%;object-fit:cover}.plant-title h2{color:var(--text-main, #2c2421);margin:0;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.plant-title .variety{color:var(--text-muted, #7c6f66);font-style:italic;font-size:.95rem}.plant-title .scientific{color:var(--text-muted, #7c6f66);font-size:.85rem;display:block;opacity:.8}.plant-badges{display:flex;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}.plant-badges .status-badge{padding:.15rem 1rem;border-radius:20px;font-size:.85rem;text-transform:capitalize;font-weight:500}.plant-badges .status-badge.growing{background:#8ea89d26;color:var(--accent-sage, #8ea89d);border:1px solid rgba(142,168,157,.3)}.plant-badges .status-badge.mature{background:#a8a2bc26;color:var(--accent-lavender, #a8a2bc);border:1px solid rgba(168,162,188,.3)}.plant-badges .status-badge.harvested{background:#dfb19b26;color:#dfb19b;border:1px solid rgba(223,177,155,.3)}.plant-badges .health-badge{padding:.15rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500}.plant-badges .health-badge.healthy{background:#8ea89d26;color:var(--accent-sage, #8ea89d);border:1px solid rgba(142,168,157,.3)}.plant-badges .health-badge.warning{background:#dfb19b26;color:#dfb19b;border:1px solid rgba(223,177,155,.3)}.plant-badges .health-badge.unhealthy{background:#c8968c26;color:#c8968c;border:1px solid rgba(200,150,140,.3)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:500px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column;background:var(--bg-primary, #fbf9f7);padding:.6rem 1rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.detail-item .label{font-size:.7rem;color:var(--text-muted, #7c6f66);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-item .value{font-size:1rem;color:var(--text-main, #2c2421);font-weight:500;margin-top:.1rem}.plant-notes{margin-bottom:1.5rem;background:var(--bg-primary, #fbf9f7);padding:1rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.plant-notes h4{color:var(--text-main, #2c2421);margin:0 0 .3rem;font-weight:500}.plant-notes p{color:var(--text-muted, #7c6f66);margin:0;line-height:1.5}.growth-timeline{margin-top:1.5rem}.growth-timeline h4{color:var(--text-main, #2c2421);margin-bottom:.5rem;font-weight:500}.timeline-list{max-height:200px;overflow-y:auto;margin-bottom:.8rem}.timeline-list::-webkit-scrollbar{width:4px}.timeline-list::-webkit-scrollbar-track{background:transparent}.timeline-list::-webkit-scrollbar-thumb{background:#dcd2c899;border-radius:10px}.timeline-item{display:flex;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));font-size:.9rem}.timeline-item:last-child{border-bottom:none}.timeline-date{color:var(--text-muted, #7c6f66);min-width:100px;font-weight:500}.timeline-height{color:var(--text-main, #2c2421);font-weight:500}.timeline-notes{color:var(--text-muted, #7c6f66)}.no-timeline{color:var(--text-muted, #7c6f66);font-style:italic;padding:1rem 0}.add-timeline{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.add-timeline input{padding:.4rem 1rem;border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);flex:1;min-width:120px;background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421);font-size:.9rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.add-timeline input:focus{outline:none;border-color:var(--accent-lavender, #a8a2bc);background:var(--surface-primary, #ffffff);box-shadow:0 0 0 3px #a8a2bc26}.add-timeline .btn-primary{padding:.4rem 1.5rem;background:var(--accent-lavender, #a8a2bc);border:none;border-radius:var(--radius-md, 12px);color:#fff;font-weight:500;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.add-timeline .btn-primary:hover{background:#9a87b1;transform:translateY(-1px);box-shadow:0 4px 12px #a8a2bc4d}@media(max-width:768px){.plant-detail{padding:1.25rem 1.25rem 2rem;border-radius:var(--radius-md, 16px)}.plant-header{flex-direction:column;text-align:center}.plant-avatar{width:80px;height:80px;font-size:2.5rem}.plant-title h2{font-size:1.3rem}}@media(max-width:480px){.plant-detail{padding:.75rem}.detail-content{padding:1rem}.detail-header{flex-direction:column;align-items:flex-start}.detail-actions{width:100%}.add-timeline{flex-direction:column}.add-timeline input{min-width:unset}}.disease-result-fullpage{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}.dr-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.15rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px #00000008}.dr-topbar-left,.dr-topbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.dr-back-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:38px;padding:.4rem .9rem;font-size:.88rem;font-weight:600;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease}.dr-back-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.dr-report-badge{display:inline-flex;align-items:center;padding:.35rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px}.dr-pdf-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.4rem 1rem;font-size:.88rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;box-shadow:0 1px 3px #0000000a;transition:all .2s ease}.dr-pdf-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.dr-pdf-btn:disabled{opacity:.65;cursor:not-allowed}.dr-spin-icon{animation:drSpin 1s linear infinite}@keyframes drSpin{to{transform:rotate(360deg)}}.dr-share-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.4rem 1.15rem;font-size:.88rem;font-weight:700;color:#fff;background:#16a34a;border:1px solid #15803d;border-radius:8px;cursor:pointer;box-shadow:0 1px 4px #16a34a33;transition:all .2s ease}.dr-share-btn:hover{background:#15803d}.dr-report-printable-area{display:flex;flex-direction:column;gap:.85rem;width:100%}.dr-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-radius:8px;font-size:.86rem;font-weight:500}.dr-notice-loading{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.dr-pulse-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;display:inline-block;animation:drPulse 1.4s infinite ease-in-out}@keyframes drPulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.3);opacity:1}to{transform:scale(.8);opacity:.5}}.dr-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.dr-notice-unsure{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.dr-text-action-btn{background:none;border:none;color:#166534;font-weight:700;text-decoration:underline;cursor:pointer;min-height:36px;padding:0 .5rem}.non-plant-fullpage{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.non-plant-card{width:100%;max-width:600px;margin:1.5rem auto;padding:2.25rem 1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-align:center;box-shadow:0 2px 10px #0000000a;display:flex;flex-direction:column;align-items:center;gap:.85rem}.non-plant-title{font-size:1.35rem;font-weight:800;color:#92400e;margin:0}.non-plant-desc{font-size:.92rem;line-height:1.5;color:#4b5563;max-width:480px;margin:0}.non-plant-actions{margin-top:.5rem}.non-plant-retry-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.35rem;font-size:.9rem;font-weight:700;border-radius:8px;background:#16a34a;color:#fff;border:none;cursor:pointer}.dr-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 4px #00000005;box-sizing:border-box}.dr-hero-dossier-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px;padding:1.15rem 1.35rem}.dr-hero-grid{display:grid;grid-template-columns:220px 1fr;gap:1.25rem;align-items:center}@media(max-width:850px){.dr-hero-grid{grid-template-columns:1fr;gap:1rem}}.dr-hero-media{display:flex;flex-direction:column;gap:.5rem}.dr-hero-image{width:100%;height:160px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.dr-no-image-placeholder{width:100%;height:160px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:.85rem}.dr-hero-media-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem}.dr-pill-tag{display:inline-flex;align-items:center;padding:.2rem .55rem;font-size:.74rem;font-weight:700;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.dr-pill-tag.healthy{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.dr-pill-tag.critical{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.dr-pill-tag.warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.dr-confidence-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;font-size:.74rem;font-weight:700;border-radius:999px}.confidence-high{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.confidence-med{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.confidence-low{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.dr-hero-info{display:flex;flex-direction:column;gap:.5rem}.dr-hero-top-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.dr-section-badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:.25rem .65rem;border-radius:999px;background:#f1f5f9;color:#334155}.dr-plant-pill{display:inline-flex;align-items:center;font-size:.82rem;font-weight:700;color:#166534;background:#dcfce7;padding:.25rem .65rem;border-radius:999px;border:1px solid #bbf7d0}.dr-pill-sci-name{font-weight:500;font-style:italic;opacity:.85}.dr-hero-title{font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:700;color:#0f172a;margin:0;line-height:1.25}.dr-hero-explanation{font-size:.9rem;line-height:1.45;color:#475569;margin:0}.dr-hero-vitals-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:0;background:transparent;border:none;border-radius:0;margin-top:.35rem}.dr-vital-item{display:inline-flex;flex-direction:row;align-items:baseline;gap:.35rem}.dr-vital-label{font-size:.84rem;font-weight:600;text-transform:none;letter-spacing:normal;color:#64748b}.dr-vital-val{font-size:.9rem;font-weight:800;color:#0f172a}.dr-vital-divider{color:#cbd5e1;font-size:.85rem;-webkit-user-select:none;user-select:none}.text-healthy{color:#16a34a!important}.text-severe{color:#dc2626!important}.text-moderate{color:#d97706!important}.dr-dashboard-row{width:100%}.dr-two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media(max-width:850px){.dr-two-col-grid{grid-template-columns:1fr;gap:.85rem}}.dr-section-card{display:flex;flex-direction:column;gap:.5rem}.dr-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.45rem;padding-bottom:.4rem;border-bottom:1px solid #f1f5f9;margin-bottom:.2rem}.dr-section-title{font-size:1.02rem;font-weight:700;color:#0f172a;margin:0}.dr-bullet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.dr-bullet-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;line-height:1.45;color:#1e293b;padding:.4rem .6rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px}.dr-symptom-dot{width:6px;height:6px;border-radius:50%;background:#d97706;margin-top:.45rem;flex-shrink:0}.dr-causes-list{display:flex;flex-direction:column;gap:.4rem}.dr-cause-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;line-height:1.45;color:#1e293b;padding:.4rem .6rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:6px}.dr-cause-bullet{color:#7c3aed;font-weight:800;font-size:1rem;line-height:1}.dr-steps-count{font-size:.74rem;font-weight:600;color:#475569;background:#f1f5f9;padding:.15rem .5rem;border-radius:999px}.dr-healthy-state-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.55rem .75rem;color:#166534;font-size:.86rem;line-height:1.45;font-weight:500}.dr-severity-status-pill{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:.2rem .55rem;border-radius:999px}.severity-badge-healthy{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.severity-badge-mild{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.severity-badge-moderate{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.severity-badge-severe{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.dr-severity-body{display:flex;flex-direction:column;gap:.45rem}.dr-severity-meter-row{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;font-weight:600;color:#475569}.dr-severity-meter-val{font-weight:800;color:#0f172a}.dr-severity-progress-bar{width:100%;height:7px;background:#f1f5f9;border-radius:999px;overflow:hidden}.dr-severity-progress-fill{height:100%;border-radius:999px;transition:width .4s ease}.dr-severity-progress-fill.severity-badge-healthy{background:#16a34a}.dr-severity-progress-fill.severity-badge-mild{background:#0284c7}.dr-severity-progress-fill.severity-badge-moderate{background:#d97706}.dr-severity-progress-fill.severity-badge-severe{background:#dc2626}.dr-severity-desc-text{font-size:.86rem;line-height:1.45;color:#475569;margin:0}.dr-urgent-badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:.2rem .55rem;background:#ffedd5;color:#ea580c;border:1px solid #fed7aa;border-radius:999px}.dr-steps-list{display:flex;flex-direction:column;gap:.4rem}.dr-step-item{display:flex;gap:.55rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .65rem}.dr-step-number{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:#ea580c;color:#fff;border-radius:50%;font-size:.72rem;font-weight:800;flex-shrink:0}.dr-step-text{font-size:.86rem;line-height:1.4;color:#1e293b}.dr-badge-natural{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:.2rem .55rem;background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:999px}.dr-badge-chemical{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:.2rem .55rem;background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe;border-radius:999px}.dr-remedy-subtext{font-size:.82rem;color:#64748b;line-height:1.35;margin:0}.dr-remedy-grid{display:grid;grid-template-columns:1fr;gap:.45rem}.dr-remedy-box{padding:.55rem .75rem;border-radius:8px;display:flex;flex-direction:column;gap:.2rem;background:#f8fafc;border:1px solid #e2e8f0}.dr-remedy-badge{font-size:.74rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.4px}.dr-remedy-body{font-size:.86rem;line-height:1.4;color:#1e293b}.dr-tips-list{display:flex;flex-direction:column;gap:.4rem}.dr-tip-item{display:flex;gap:.55rem;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .65rem}.dr-tip-bullet{width:6px;height:6px;border-radius:50%;background:#0d9488;margin-top:.45rem;flex-shrink:0}.dr-tip-text{font-size:.86rem;line-height:1.4;color:#1e293b}.dr-section-body{font-size:.88rem;line-height:1.45;color:#334155;margin:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .75rem}.dr-bottom-dock{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.75rem 1.15rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px #0000000a}.dr-dock-left-group,.dr-dock-right-group{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.dr-schedule-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.45rem 1.15rem;font-size:.88rem;font-weight:700;color:#fff;background:#16a34a;border:1px solid #15803d;border-radius:8px;cursor:pointer;box-shadow:0 1px 4px #16a34a33;transition:all .2s ease}.dr-schedule-btn:hover{background:#15803d}.dr-dock-share-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.45rem 1rem;font-size:.88rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease}.dr-dock-share-btn:hover{background:#f8fafc;border-color:#94a3b8}.dr-rescan-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.45rem 1rem;font-size:.88rem;font-weight:600;color:#475569;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease}.dr-rescan-btn:hover{background:#e2e8f0;color:#0f172a}.dr-tips-loading-box{display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.84rem;color:#64748b}.dr-tips-loading-spinner{width:12px;height:12px;border:2px solid #cbd5e1;border-top-color:#16a34a;border-radius:50%;animation:drSpin .8s linear infinite}.dr-tips-error-box{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.dr-tips-error-box p{margin:0;font-size:.84rem;color:#dc2626}.dr-retry-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.3rem .75rem;font-size:.8rem;font-weight:700;color:#fff;background:#16a34a;border:none;border-radius:6px;cursor:pointer}.dr-empty-hint{font-size:.84rem;color:#94a3b8;font-style:italic;margin:0}@media(max-width:600px){.dr-topbar{padding:.65rem}.dr-topbar-left,.dr-topbar-right,.dr-dock-left-group,.dr-dock-right-group{width:100%;justify-content:space-between}.dr-hero-dossier-card{padding:.85rem}.dr-hero-title{font-size:1.35rem}.dr-hero-image{height:150px}.dr-bottom-dock{padding:.75rem}.dr-bottom-dock button{width:100%}}.dr-dedicated-pdf-sheet{position:fixed;left:-9999px;top:0;width:850px;height:1195px;box-sizing:border-box;background:#fff;padding:22px 26px;display:flex;flex-direction:column;justify-content:space-between;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#0f172a;z-index:-999;pointer-events:none}.pdf-sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:2px solid #16a34a;margin-bottom:6px}.pdf-sheet-brand{display:flex;flex-direction:column;gap:2px}.pdf-sheet-logo-row{display:flex;align-items:center;gap:6px}.pdf-brand-title{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:700;color:#0f172a}.pdf-brand-subtitle{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#166534}.pdf-sheet-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pdf-meta-date{font-size:.78rem;font-weight:700;color:#1e293b}.pdf-meta-id{font-size:.72rem;font-family:monospace;font-weight:600;color:#64748b}.pdf-meta-pill{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:999px}.pdf-meta-pill.healthy{background:#dcfce7;color:#166534}.pdf-meta-pill.issue{background:#fee2e2;color:#991b1b}.pdf-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;box-sizing:border-box}.pdf-hero-card{padding:8px 12px;margin-bottom:6px}.pdf-hero-layout{display:flex;align-items:center;gap:12px}.pdf-specimen-img{width:100px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0;flex-shrink:0}.pdf-no-img{width:100px;height:80px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;font-size:.7rem;display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}.pdf-hero-details{flex:1;display:flex;flex-direction:column;gap:3px}.pdf-hero-headline-row{display:flex;align-items:center;gap:8px}.pdf-section-tag{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;background:#f1f5f9;color:#334155;padding:1px 6px;border-radius:999px}.pdf-plant-tag{font-size:.78rem;font-weight:700;color:#166534}.pdf-disease-title{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:700;color:#0f172a;line-height:1.2}.pdf-disease-desc{font-size:.76rem;line-height:1.3;color:#475569}.pdf-vitals-row{display:flex;align-items:center;gap:14px;margin-top:2px}.pdf-vital-box{display:flex;align-items:center;gap:4px}.pdf-vital-lbl{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b}.pdf-vital-val{font-size:.78rem;font-weight:800;color:#0f172a}.pdf-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}.pdf-card-title-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.pdf-card-title{font-size:.82rem;font-weight:700;color:#0f172a}.pdf-counter-badge,.pdf-severity-pill,.pdf-urgent-pill,.pdf-control-pill,.pdf-organic-pill{font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:999px;text-transform:uppercase}.pdf-counter-badge{background:#f1f5f9;color:#475569}.pdf-severity-pill{background:#fee2e2;color:#991b1b}.pdf-urgent-pill{background:#ffedd5;color:#ea580c}.pdf-control-pill{background:#dbeafe;color:#1e40af}.pdf-organic-pill{background:#dcfce7;color:#166534}.pdf-bullet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.pdf-bullet-list li{display:flex;align-items:flex-start;gap:5px;font-size:.74rem;line-height:1.25;color:#1e293b}.pdf-bullet-dot{width:4px;height:4px;border-radius:50%;background:#16a34a;margin-top:4px;flex-shrink:0}.pdf-meter-bar-wrap{width:100%;height:6px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:4px}.pdf-meter-bar-fill{height:100%;border-radius:999px}.pdf-severity-text,.pdf-expert-text{font-size:.74rem;line-height:1.25;color:#334155}.pdf-sub-guide{font-size:.68rem;color:#64748b;margin-bottom:3px;line-height:1.2}.pdf-steps-list{display:flex;flex-direction:column;gap:3px}.pdf-step-line{display:flex;align-items:flex-start;gap:6px}.pdf-step-idx{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#ea580c;color:#fff;border-radius:50%;font-size:.62rem;font-weight:800;flex-shrink:0}.pdf-step-txt{font-size:.74rem;line-height:1.25;color:#1e293b}.pdf-remedies-list{display:flex;flex-direction:column;gap:3px}.pdf-remedy-item{display:flex;flex-direction:column;gap:1px;padding:3px 6px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:4px}.pdf-remedy-num{font-size:.68rem;font-weight:700;color:#0f172a}.pdf-remedy-txt{font-size:.72rem;line-height:1.2;color:#334155}.pdf-healthy-notice{font-size:.74rem;color:#166534;line-height:1.25}.pdf-empty-text{font-size:.72rem;color:#94a3b8;font-style:italic}.pdf-sheet-footer{display:flex;align-items:center;justify-content:space-between;padding-top:6px;border-top:1px solid #e2e8f0;margin-top:4px;font-size:.68rem;color:#64748b;font-weight:500}.dr-translating-model-tag{display:flex;align-items:center;justify-content:center}@keyframes drFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes drPulseHalo{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.35);opacity:.2}to{transform:scale(.9);opacity:.8}}@keyframes drSpinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drDotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}@keyframes drIndeterminate{0%{left:-40%;width:40%}50%{left:30%;width:60%}to{left:100%;width:30%}}@keyframes drGradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.diagnosis-history{display:flex;flex-direction:column;height:100%}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-light, rgba(220, 210, 200, .4))}.history-header h3{color:var(--text-main, #2c2421);margin:0;font-size:1.1rem;font-weight:500}.history-count{font-size:.8rem;color:var(--text-muted, #7c6f66);background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.1rem .8rem;border-radius:20px;font-weight:500}.diagnosis-history .history-filters{margin-bottom:1rem;width:100%}.diagnosis-history .history-filters .search-bar{position:relative;margin-bottom:.6rem;width:100%}.diagnosis-history .history-filters .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted, #7c6f66);pointer-events:none}.diagnosis-history .history-filters .search-bar input{width:100%;padding:.65rem 1rem .65rem 2.4rem;border:1px solid #cce3de;border-radius:12px;font-size:.92rem;background:#fff;color:#1f3a30;transition:all .2s ease;min-height:44px;box-sizing:border-box}.diagnosis-history .history-filters .search-bar input:focus{outline:none;border-color:#6b9080;box-shadow:0 0 0 3px #6b908026}.diagnosis-history .history-filters .search-bar input::placeholder{color:var(--text-muted, #7c6f66);font-size:.88rem}.diagnosis-history .filter-pills{display:flex;gap:.35rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 0 4px;width:100%;scrollbar-width:none;-ms-overflow-style:none}.diagnosis-history .filter-pills::-webkit-scrollbar{display:none}.diagnosis-history .filter-pill{padding:.28rem .65rem;border:1px solid var(--border-light, rgba(220, 210, 200, .6));border-radius:20px;background:#fff;color:var(--text-muted, #7c6f66);font-size:.78rem;font-weight:600;cursor:pointer;min-height:28px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.diagnosis-history .filter-pill:hover{border-color:#6b9080;background:#f6fff8;color:#1f3a30}.diagnosis-history .filter-pill.active{border-color:#6b9080;background:#6b9080;color:#fff}.history-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-thumb{background:#dcd2c899;border-radius:10px}.history-item{display:flex;gap:.8rem;padding:.8rem 1rem;background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 12px);cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));border:2px solid transparent}.history-item:hover{transform:translate(4px);box-shadow:0 4px 12px #2c24210f}.history-item.active{border-color:var(--accent-lavender, #a8a2bc);background:#a8a2bc0f}.history-thumbnail{width:50px;height:50px;border-radius:var(--radius-md, 12px);overflow:hidden;flex-shrink:0;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));display:flex;align-items:center;justify-content:center}.history-thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail-placeholder{font-size:1.5rem}.history-content{flex:1;min-width:0}.history-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.3rem}.history-disease{font-weight:600;color:var(--text-main, #2c2421);font-size:.95rem}.history-status{font-size:.75rem;font-weight:500}.history-status.healthy{color:var(--accent-sage, #8ea89d)}.history-status.warning{color:#dfb19b}.history-status.danger{color:#c8968c}.history-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem;font-size:.75rem;color:var(--text-muted, #7c6f66)}.history-plant,.history-confidence{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.05rem .5rem;border-radius:var(--radius-md, 12px)}.history-date{color:var(--text-muted, #7c6f66)}.no-history{text-align:center;padding:2rem 0;color:var(--text-muted, #7c6f66)}.no-history-icon{font-size:3rem;display:block;margin-bottom:.5rem}.no-history p{margin:0;font-size:.95rem}.no-history .sub-text{font-size:.85rem;opacity:.7;margin-top:.2rem}.history-quick-actions{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;padding-top:.45rem;border-top:1px dashed rgba(220,210,200,.4)}.history-qa-link,.history-qa-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;padding:.25rem .65rem;border-radius:8px;text-decoration:none;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.history-qa-link{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.history-qa-link:hover{background:#dcfce7;border-color:#86efac;transform:translateY(-1px)}.history-qa-btn{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.history-qa-btn:hover{background:#ffedd5;border-color:#fb923c;transform:translateY(-1px)}.history-qa-delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .5rem;border-radius:8px;background:#fff1f2;color:#e11d48;border:1px solid #fecdd3;cursor:pointer;transition:all .2s ease;margin-left:auto;line-height:1}.history-qa-delete-btn:hover{background:#ffe4e6;color:#be123c;border-color:#fda4af;transform:translateY(-1px);box-shadow:0 2px 6px #e11d4826}.history-qa-delete-btn:active{transform:translateY(0)}.history-qa-delete-btn .qa-del-icon{flex-shrink:0}@media(max-width:768px){.diagnosis-history{width:100%;margin-top:.5rem}.history-header{padding-bottom:.5rem}.history-item{padding:.75rem .85rem;gap:.7rem;border:1px solid rgba(220,210,200,.6)}.history-quick-actions{flex-wrap:wrap}.history-qa-link,.history-qa-btn{flex:1;min-width:110px;justify-content:center;padding:.35rem .5rem;min-height:34px}.history-qa-delete-btn{padding:.35rem .75rem;min-height:34px;margin-left:0}}@media(max-width:480px){.history-item{padding:.65rem .75rem;gap:.6rem}.history-thumbnail{width:44px;height:44px;border-radius:8px}.history-disease{font-size:.88rem}.history-header-row{flex-direction:column;align-items:flex-start;gap:.2rem}.history-details{gap:.25rem}.history-details span{font-size:.68rem}}.diagnose-tab{padding:2.25rem 2.5rem 3rem;max-width:1200px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 24px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));box-shadow:0 12px 40px #1f3a300f;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.diagnose-tab:hover{box-shadow:0 6px 28px #2c24210a}.diagnose-tab h2{color:var(--text-main, #2c2421);margin-bottom:1.5rem;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.diagnose-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media(max-width:1024px){.diagnose-layout{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.diagnose-layout{grid-template-columns:1fr;gap:1rem}}.diagnose-left{display:flex;flex-direction:column;gap:1.5rem}.diagnose-upload-section{background:var(--bg-primary, #fbf9f7);padding:1.5rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.diagnose-upload-section p{color:var(--text-muted, #7c6f66);margin-bottom:1rem;font-size:.95rem;line-height:1.5}.plant-selector{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:1rem;width:100%}.plant-selector label{font-size:.9rem;color:var(--text-muted, #7c6f66);font-weight:600;white-space:nowrap;flex-shrink:0}.plant-selector-inner{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.plant-selector-thumb{width:40px;height:40px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-light, #cce3de);background:#fff}.plant-selector-thumb img{width:100%;height:100%;object-fit:cover}.plant-selector select{padding:.6rem 2.5rem .6rem 1rem;border:1px solid var(--border-light, rgba(220, 210, 200, .6));border-radius:12px;background:var(--surface-primary, #ffffff);color:var(--text-main, #2c2421);font-size:.92rem;flex:1;width:100%;min-width:0;min-height:44px;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%237c6f66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plant-selector select:focus{outline:none;border-color:var(--accent-lavender, #a8a2bc);box-shadow:0 0 0 3px #a8a2bc26}.upload-area{width:100%;aspect-ratio:1/1;max-height:300px;border:2px dashed var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);display:flex;align-items:center;justify-content:center;background:var(--surface-primary, #ffffff);margin-bottom:1rem;overflow:hidden;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.upload-area:hover{border-color:var(--accent-lavender, #a8a2bc);background:#a8a2bc0d}.upload-area.dragging{border-color:var(--accent-lavender, #a8a2bc);background:#a8a2bc14;transform:scale(1.02)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.3rem;color:var(--text-muted, #7c6f66)}.upload-icon{font-size:3rem}.upload-text{font-weight:500;color:var(--text-main, #2c2421)}.upload-subtext{font-size:.8rem;color:var(--text-muted, #7c6f66)}.preview-image{width:100%;height:100%;object-fit:cover}.upload-actions{display:flex;gap:.5rem;flex-wrap:wrap}.upload-actions .btn-secondary{padding:.4rem 1.2rem;font-size:.85rem;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:30px;color:var(--text-main, #2c2421);cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500}.upload-actions .btn-secondary:hover{background:var(--surface-primary, #ffffff);border-color:var(--accent-lavender, #a8a2bc)}.upload-actions .btn-primary{padding:.4rem 1.5rem;font-size:.85rem;margin-left:auto;background:var(--accent-lavender, #a8a2bc);border:none;border-radius:30px;color:#fff;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));font-weight:500}.upload-actions .btn-primary:hover:not(:disabled){background:#9a87b1;transform:translateY(-1px);box-shadow:0 4px 12px #a8a2bc4d}.upload-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.photo-guide-card{margin-top:1.25rem;padding:1.15rem 1.25rem;background:linear-gradient(135deg,#ecfdf5b3,#f0fdfa73);border:1px solid rgba(167,243,208,.7);border-radius:14px;box-shadow:0 2px 8px #065f4608;display:flex;flex-direction:column;gap:.75rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.photo-guide-card:hover{border-color:#34d399d9;box-shadow:0 4px 14px #065f460f}.photo-guide-header{display:flex;flex-direction:column;gap:.25rem}.photo-guide-badge{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;padding:.25rem .65rem;background:#10b9811f;color:#065f46;border:1px solid rgba(110,231,183,.5);border-radius:20px;font-size:.82rem;font-weight:700;letter-spacing:.01em}.photo-guide-badge .guide-sparkle-icon{color:#059669;flex-shrink:0}.photo-guide-sub{margin:.35rem 0 0!important;font-size:.88rem!important;font-weight:600;color:#1f2937!important;line-height:1.4!important}.photo-guide-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.photo-guide-item{display:flex;align-items:center;gap:.55rem;font-size:.84rem;color:#374151;line-height:1.35}.photo-guide-item .guide-check-icon{color:#10b981;flex-shrink:0}.photo-guide-tip{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .85rem;background:#fef3c799;border:1px solid rgba(253,230,138,.8);border-radius:10px;margin-top:.25rem}.photo-guide-tip .guide-tip-icon{color:#d97706;margin-top:2px;flex-shrink:0}.photo-guide-tip p{margin:0!important;font-size:.82rem!important;color:#78350f!important;line-height:1.4!important}.photo-guide-tip strong{color:#92400e;font-weight:700}.diagnose-result-section{background:var(--bg-primary, #fbf9f7);padding:1.5rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.diagnose-right{background:var(--bg-primary, #fbf9f7);padding:1.5rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));max-height:800px;overflow-y:auto}.diagnose-right::-webkit-scrollbar{width:6px}.diagnose-right::-webkit-scrollbar-track{background:var(--bg-primary, #fbf9f7);border-radius:10px}.diagnose-right::-webkit-scrollbar-thumb{background:#dcd2c899;border-radius:10px}@media(max-width:768px){.diagnose-tab{padding:1.25rem 1.25rem 2rem;border-radius:var(--radius-md, 16px)}.diagnose-tab h2{font-size:1.3rem}.diagnose-upload-section{padding:1rem}.upload-area{max-height:250px}}@media(max-width:480px){.diagnose-tab{padding:.75rem}.diagnose-tab h2{font-size:1.1rem}.upload-area{max-height:200px}.plant-selector{flex-direction:column;align-items:stretch}.plant-selector select{min-width:unset}.upload-actions{flex-direction:column}.upload-actions .btn-primary{margin-left:0}.diagnose-right{max-height:500px;padding:1rem}}.camera-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1f3a3094;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.camera-modal-content{background:var(--surface-primary, #ffffff);color:var(--text-main, #2c2421);border-radius:var(--radius-lg, 20px);border:1px solid var(--border-light, rgba(220, 210, 200, .6));width:100%;max-width:540px;overflow:hidden;box-shadow:0 20px 48px #2c242129;display:flex;flex-direction:column;animation:modalFadeIn .25s ease-out}.camera-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .08))}.camera-modal-header h3{margin:0;font-size:1.15rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;color:#2d6a4f}.camera-close-btn{background:none;border:none;color:var(--text-muted, #7c6f66);font-size:1.3rem;cursor:pointer;padding:.2rem;display:inline-flex;align-items:center;justify-content:center;transition:color .2s}.camera-close-btn:hover{color:var(--text-main, #2c2421)}.camera-viewport{position:relative;width:calc(100% - 2.5rem);height:320px;margin:1.25rem auto 0;background:#0f172a;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 2px 8px #0000004d}.camera-video{width:100%;height:100%;object-fit:cover}.camera-guide-box{position:absolute;width:78%;height:78%;border:2px dashed rgba(255,255,255,.85);border-radius:12px;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.75rem}.camera-guide-box span{background:#2d6a4fe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.78rem;font-weight:500;padding:.25rem .75rem;border-radius:20px;letter-spacing:.02em}.camera-modal-actions{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;background:var(--surface-primary, #ffffff);border-top:1px solid var(--border-light, rgba(0, 0, 0, .08));margin-top:1.25rem}.camera-modal-actions .btn-secondary{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .6));color:var(--text-main, #2c2421);padding:.5rem 1.1rem;border-radius:30px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.camera-modal-actions .btn-secondary:hover{background:#fff;border-color:#2d6a4f;color:#2d6a4f}.camera-snap-btn{background:#2d6a4f!important;border:1px solid #2d6a4f!important;color:#fff!important;font-weight:600!important;padding:.55rem 1.5rem!important;border-radius:30px!important;box-shadow:0 4px 12px #2d6a4f40!important;cursor:pointer;transition:all .2s ease}.camera-snap-btn:hover{background:#1b4332!important;border-color:#1b4332!important;transform:translateY(-1px);box-shadow:0 6px 16px #2d6a4f59!important}.plant-needs-attention-banner{display:flex;align-items:center;gap:.75rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:var(--radius-md, 12px);margin-bottom:1.25rem;font-size:.9rem;line-height:1.45;box-shadow:0 2px 8px #ef444414;animation:attentionFadeIn .3s ease}.plant-needs-attention-banner .banner-alert-icon{font-size:1.35rem;color:#ef4444;flex-shrink:0}.plant-needs-attention-banner .banner-alert-content{flex:1}@keyframes attentionFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.diagnose-tab{padding:1.15rem .85rem 2rem;border-radius:16px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.diagnose-tab h2{font-size:1.25rem;margin-bottom:.5rem}.diagnose-layout{display:flex;flex-direction:column;gap:1.25rem;width:100%}.diagnose-left,.diagnose-right{width:100%;min-width:0}.diagnose-upload-section{padding:1rem;width:100%;box-sizing:border-box;border-radius:14px}.upload-area{aspect-ratio:16/10;max-height:220px}.upload-actions{display:flex;flex-direction:column;gap:.6rem;width:100%}.upload-actions button,.upload-actions .btn-secondary,.upload-actions .btn-primary{width:100%;min-height:44px;margin:0;justify-content:center;font-size:.92rem;border-radius:12px}.camera-modal-actions{flex-direction:column;gap:.75rem;width:100%}.camera-modal-actions button{width:100%;min-height:44px}}@media(max-width:480px){.diagnose-tab{padding:.85rem .65rem 1.75rem;border-radius:12px}.diagnose-upload-section{padding:.75rem}.upload-area{aspect-ratio:4/3;max-height:190px}}.crop-card{background:#fff;padding:1.25rem 1.35rem;border-radius:16px;border:1.5px solid rgba(107,144,128,.22);box-shadow:0 4px 16px #1f3a300a;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:.75rem}.crop-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #1f3a3017;border-color:#2d6a4f66}.crop-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.crop-title-group{display:flex;flex-direction:column;gap:.25rem}.crop-badge-category{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#2d6a4f}.category-icon{color:#10b981}.crop-name{color:#1f3a30;font-size:1.2rem;font-weight:700;margin:0;letter-spacing:-.01em}.crop-confidence-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:700;color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;padding:.25rem .65rem;border-radius:999px;flex-shrink:0}.confidence-dot{width:7px;height:7px;border-radius:50%;background:#10b981}.crop-tags-row{display:flex;flex-wrap:wrap;gap:.4rem}.crop-tag{font-size:.75rem;font-weight:600;padding:.25rem .65rem;border-radius:8px;border:1px solid}.crop-soil-badge-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.25rem}.crop-soil-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:700;color:#475569;text-transform:uppercase}.soil-label-icon{color:#059669}.crop-soil-text{margin:0;font-size:.84rem;color:#1e293b;line-height:1.4}.crop-reason-text{margin:0;font-size:.88rem;color:#334155;line-height:1.5}.crop-yield-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.84rem;background:#fef3c766;border:1px solid #fde68a;padding:.35rem .65rem;border-radius:8px}.crop-yield-header{display:inline-flex;align-items:center;gap:.35rem}.yield-icon{color:#d97706}.crop-meta-title{font-weight:600;color:#92400e}.crop-meta-value{color:#78350f;font-weight:600}.crop-tips-accordion{border:1px solid rgba(107,144,128,.25);border-radius:10px;overflow:hidden;background:#fbfdfb}.crop-tips-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.55rem .85rem;background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:600;color:#2d6a4f;transition:background .2s ease}.tips-toggle-left{display:inline-flex;align-items:center;gap:.4rem}.guide-icon{color:#2d6a4f}.crop-tips-toggle:hover{background:#2d6a4f0d}.toggle-symbol{color:#52796f}.crop-tips-content{padding:.6rem .85rem;border-top:1px solid rgba(107,144,128,.15);font-size:.82rem;color:#334155;line-height:1.45;background:#fff}.crop-tips-content p{margin:0}.crop-card-footer{margin-top:.25rem}.crop-add-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;border-radius:10px;font-size:.86rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 3px 10px #2d6a4f40}.crop-add-btn:hover{background:linear-gradient(135deg,#367d5e,#22543d);transform:translateY(-1px);box-shadow:0 6px 16px #2d6a4f59}.crop-history{display:flex;flex-direction:column;height:100%;flex:1}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(107,144,128,.2)}.history-title-wrap{display:flex;align-items:center;gap:.5rem}.history-header-icon{color:#2d6a4f}.history-header h3{color:#1f3a30;margin:0;font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.history-count{font-size:.78rem;color:#2d6a4f;background:#2d6a4f1a;border:1px solid rgba(45,106,79,.2);padding:.2rem .75rem;border-radius:999px;font-weight:600}.crop-history .history-filters{margin-bottom:1rem;display:flex;flex-direction:row;align-items:center;gap:.5rem;width:100%}.crop-history .history-filters .search-bar{position:relative;flex:1 1 auto;min-width:120px;width:auto;margin-bottom:0}.crop-history .history-filters .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.crop-history .history-filters .search-bar input{width:100%;padding:.5rem .85rem .5rem 2.2rem;border:1.5px solid rgba(107,144,128,.25);border-radius:12px;font-size:.86rem;background:#fff;color:#1f3a30;min-height:38px;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.crop-history .history-filters .search-bar input:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1f}.crop-history .history-filters .search-bar input::placeholder{color:#94a3b8}.crop-history .history-filters .filter-pills{display:flex;align-items:center;gap:.35rem;flex:0 0 auto;width:auto;flex-wrap:nowrap;white-space:nowrap;padding:0}.crop-history .history-filters .filter-pill{padding:.35rem .85rem;border:1px solid rgba(107,144,128,.25);border-radius:20px;background:#fff;color:#52796f;font-size:.8rem;font-weight:600;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.crop-history .history-filters .filter-pill:hover{border-color:#2d6a4f;color:#1f3a30;background:#2d6a4f0d}.crop-history .history-filters .filter-pill.active{border-color:#2d6a4f;background:#2d6a4f;color:#fff;box-shadow:0 2px 8px #2d6a4f33}.history-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.25rem;padding-bottom:.5rem}.history-list::-webkit-scrollbar{width:5px}.history-list::-webkit-scrollbar-track{background:transparent}.history-list::-webkit-scrollbar-thumb{background:#6b90804d;border-radius:10px}.history-card{padding:.95rem 1.05rem;background:#fff;border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);border:1.5px solid rgba(107,144,128,.18);box-shadow:0 2px 8px #1f3a3008;display:flex;flex-direction:column;gap:.6rem}.history-card:hover{transform:translateY(-2px);border-color:#52796f;box-shadow:0 6px 16px #1f3a3014}.history-card.active{border-color:#2d6a4f;background:linear-gradient(135deg,#fff,#f0fdf4);box-shadow:0 0 0 2px #2d6a4f26,0 4px 14px #2d6a4f14}.history-card.is-saved{border-left:3.5px solid #d97706}.history-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.history-meta-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.history-soil-tag,.history-season-tag{font-size:.74rem;font-weight:600;padding:.22rem .6rem;border-radius:8px;display:inline-flex;align-items:center;gap:.35rem;border:1px solid}.history-soil-tag{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.history-soil-tag .meta-icon{color:#059669}.history-season-tag{background:#fffbeb;color:#92400e;border-color:#fde68a}.history-season-tag .meta-icon{color:#d97706}.history-header-actions{display:flex;align-items:center;gap:.35rem}.history-save-btn{background:#f8fafc;border:1px solid #e2e8f0;font-size:.74rem;font-weight:600;cursor:pointer;padding:.25rem .65rem;color:#64748b;border-radius:8px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.history-save-btn:hover{background:#fffbeb;border-color:#f59e0b;color:#d97706;transform:scale(1.05)}.history-save-btn.saved{background:#fef3c7;border-color:#fde68a;color:#b45309;font-weight:700}.history-save-btn .save-icon{color:currentColor}.history-crop-del-btn{background:#fff1f2;border:1px solid #fecdd3;color:#e11d48;font-size:.74rem;cursor:pointer;padding:.28rem .45rem;border-radius:8px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.history-crop-del-btn:hover{background:#ffe4e6;color:#be123c;border-color:#fda4af;transform:scale(1.05);box-shadow:0 2px 6px #e11d4826}.history-crop-del-btn:active{transform:scale(.98)}.history-crop-del-btn .del-icon{flex-shrink:0}.history-crops-chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.crop-mini-chip{font-size:.78rem;font-weight:600;color:#1f3a30;background:#eaf4f4;border:1px solid #cce3de;padding:.2rem .6rem;border-radius:6px;white-space:nowrap}.crop-more-chip{font-size:.72rem;font-weight:700;color:#2d6a4f;background:#2d6a4f1f;padding:.2rem .5rem;border-radius:6px}.history-footer-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;padding-top:.4rem;border-top:1px solid #f1f5f9}.history-date{color:#64748b;font-weight:500;display:inline-flex;align-items:center;gap:.35rem}.history-date .date-icon{color:#94a3b8}.history-view-link{background:transparent;border:none;padding:0;font-family:inherit;font-size:.75rem;color:#2d6a4f;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;transition:all .2s ease}.history-card:hover .history-view-link{transform:translate(3px);color:#1b4332}.no-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;text-align:center;background:#fff;border-radius:14px;border:1.5px dashed rgba(107,144,128,.3)}.no-history-icon-box{width:48px;height:48px;border-radius:12px;background:#ecfdf5;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.no-history-icon{color:#2d6a4f}.no-history-title{font-size:.92rem;font-weight:600;color:#334155;margin:0 0 .25rem}.no-history-sub{font-size:.8rem;color:#64748b}.crop-history .history-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(107,144,128,.2);flex-wrap:wrap;gap:.5rem}.crop-history .pagination-info{font-size:.78rem;color:#64748b;font-weight:500}.crop-history .pagination-controls{display:flex;align-items:center;gap:.35rem}.crop-history .btn-page-nav{width:30px;height:30px;border-radius:8px;border:1px solid rgba(107,144,128,.25);background:#fff;color:#1f3a30;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.crop-history .btn-page-nav:hover:not(:disabled){background:#2d6a4f14;border-color:#2d6a4f;color:#2d6a4f}.crop-history .btn-page-nav:disabled{opacity:.35;cursor:not-allowed}.crop-history .btn-page-num{min-width:30px;height:30px;padding:0 .4rem;border-radius:8px;border:1px solid rgba(107,144,128,.25);background:#fff;color:#1f3a30;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.crop-history .btn-page-num:hover:not(.active){background:#2d6a4f0f;border-color:#2d6a4f;color:#2d6a4f}.crop-history .btn-page-num.active{background:#2d6a4f;border-color:#2d6a4f;color:#fff;box-shadow:0 2px 6px #2d6a4f40}.crop-history .pagination-ellipsis{font-size:.85rem;color:#64748b;padding:0 .2rem;font-weight:600;-webkit-user-select:none;user-select:none}.urban-presets{background:linear-gradient(135deg,#fffffff2,#f6fff8bf);padding:1.25rem 1.35rem;border-radius:16px;border:1px solid rgba(107,144,128,.22);margin-bottom:1.5rem;box-shadow:0 4px 18px #1f3a300a;transition:all .3s cubic-bezier(.16,1,.3,1)}.urban-presets:hover{box-shadow:0 8px 24px #1f3a3012;border-color:#6b908059}.presets-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:1px solid rgba(107,144,128,.16)}.presets-title-wrap{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.presets-badge-group{display:flex;align-items:center;gap:.45rem;color:#1f3a30}.presets-badge-icon{color:#2d6a4f}.presets-badge{font-size:.92rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em}.presets-sub{font-size:.78rem;color:#52796f;background:#6b90801f;padding:.2rem .65rem;border-radius:20px;font-weight:500}.presets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.preset-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1.5px solid rgba(107,144,128,.22);border-radius:12px;padding:.9rem;cursor:pointer;outline:none;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 2px 6px #1f3a3008}.preset-card:hover{transform:translateY(-2px);border-color:#52796f;box-shadow:0 6px 16px #2d6a4f1a;background:#fbfdfb}.preset-card.active{background:linear-gradient(135deg,#f0fdf4,#e8f5e9);border-color:#2d6a4f;box-shadow:0 0 0 2px #2d6a4f33,0 6px 16px #2d6a4f1f}.preset-card.active:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2d6a4f,#52796f)}.preset-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:.55rem;gap:.4rem}.preset-icon-box{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.preset-card:hover .preset-icon-box{transform:scale(1.08)}.preset-emerald .preset-icon-box{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.preset-amber .preset-icon-box{background:#fffbeb;color:#d97706;border:1px solid #fde68a}.preset-orange .preset-icon-box{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.preset-blue .preset-icon-box{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.preset-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#2d6a4f;background:#2d6a4f1a;padding:.2rem .55rem;border-radius:6px}.preset-card.active .preset-badge{background:#2d6a4f;color:#fff}.preset-name{margin:0 0 .35rem;font-size:.88rem;font-weight:600;color:#1f3a30;line-height:1.3}.preset-desc{margin:0;font-size:.74rem;color:#64748b;line-height:1.35}@media(max-width:1024px){.presets-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.presets-grid{grid-template-columns:1fr}.presets-header{flex-direction:column;align-items:flex-start;gap:.4rem}}.crop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1.25rem;animation:modalFadeIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.crop-modal-dialog{background:#fff;width:100%;max-width:960px;max-height:90vh;border-radius:20px;border:1.5px solid rgba(107,144,128,.25);box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #6b90801a;display:flex;flex-direction:column;overflow:hidden;animation:modalPopUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalPopUp{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.crop-modal-header{padding:1.4rem 1.75rem 1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,#f0fdf4,#fff);border-bottom:1px solid rgba(107,144,128,.18)}.crop-modal-title-group{display:flex;flex-direction:column;gap:.25rem}.crop-modal-badge{display:inline-flex;align-items:center;gap:.35rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;width:fit-content}.crop-modal-badge .badge-sparkle{color:#059669}.crop-modal-title{margin:0;font-size:1.35rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em}.crop-modal-subtitle{margin:0;font-size:.85rem;color:#52796f}.crop-modal-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.modal-save-btn{background:#fff;border:1.5px solid #e2e8f0;font-size:.8rem;font-weight:600;cursor:pointer;padding:.4rem .85rem;color:#64748b;border-radius:10px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:.4rem}.modal-save-btn:hover{background:#fffbeb;border-color:#f59e0b;color:#d97706;transform:translateY(-1px)}.modal-save-btn.saved{background:#fef3c7;border-color:#fde68a;color:#b45309;font-weight:700}.crop-modal-close-btn{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.crop-modal-close-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:rotate(90deg)}.crop-modal-conditions-bar{padding:.65rem 1.75rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.conditions-label{font-size:.76rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.03em}.conditions-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.condition-tag{font-size:.76rem;font-weight:600;padding:.22rem .65rem;border-radius:8px;display:inline-flex;align-items:center;gap:.35rem;border:1px solid}.condition-tag.soil{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.condition-tag.season{background:#fffbeb;color:#92400e;border-color:#fde68a}.condition-tag.ph{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.condition-tag.temp{background:#fef2f2;color:#991b1b;border-color:#fecaca}.condition-tag.humidity{background:#f0fdfa;color:#115e59;border-color:#99f6e4}.condition-tag.date{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.crop-modal-body{flex:1 1 auto;overflow-y:auto;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.crop-modal-body::-webkit-scrollbar{width:6px}.crop-modal-body::-webkit-scrollbar-track{background:#f1f5f9}.crop-modal-body::-webkit-scrollbar-thumb{background:#6b908059;border-radius:10px}.modal-soil-card,.modal-target-card{margin:0}.modal-crop-grid-wrap{display:flex;flex-direction:column;gap:.85rem}.modal-grid-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1.5px solid rgba(107,144,128,.15)}.modal-grid-title-row{display:flex;align-items:center;gap:.45rem}.grid-header-icon{color:#2d6a4f}.modal-grid-header h4{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30}.modal-crops-count{font-size:.78rem;font-weight:600;color:#2d6a4f;background:#2d6a4f1a;padding:.15rem .65rem;border-radius:999px;border:1px solid rgba(45,106,79,.2)}.modal-empty-crops{text-align:center;padding:2.5rem 1rem;background:#f8fafc;border-radius:12px;color:#64748b;border:1.5px dashed #cbd5e1}.crop-modal-footer{padding:1rem 1.75rem;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal-footer-count{font-size:.84rem;color:#64748b;font-weight:500}.modal-close-action-btn{padding:.55rem 1.4rem;font-size:.9rem;border-radius:10px;cursor:pointer}@media(max-width:768px){.crop-modal-overlay{padding:.5rem}.crop-modal-dialog{max-height:95vh;border-radius:16px}.crop-modal-header{padding:1rem 1.25rem .75rem}.crop-modal-title{font-size:1.15rem}.crop-modal-conditions-bar{padding:.5rem 1.25rem}.crop-modal-body{padding:1rem 1.25rem}.crop-modal-footer{padding:.75rem 1.25rem}}.crop-recommendation{padding:2rem 2.25rem 3rem;max-width:1240px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:24px;border:1px solid rgba(107,144,128,.22);box-shadow:0 12px 40px #1f3a300d;transition:all .3s cubic-bezier(.16,1,.3,1)}.crop-page-header{margin-bottom:1.75rem}.crop-header-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1f3a30;background:#cce3de;border-radius:999px;margin-bottom:.6rem}.header-badge-icon{color:#2d6a4f}.crop-recommendation h2{color:#1f3a30;margin:0 0 .4rem;font-size:1.8rem;font-weight:700;letter-spacing:-.02em}.crop-recommendation .subtitle{color:#52796f;margin:0;font-size:.98rem;line-height:1.55}.crop-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.75rem;align-items:stretch}@media(max-width:1024px){.crop-layout{grid-template-columns:1fr;gap:1.75rem}}.crop-left{display:flex;flex-direction:column;gap:1.5rem;height:100%}.crop-form{background:linear-gradient(135deg,#fff,#fbfdfb);padding:1.75rem;border-radius:18px;border:1.5px solid rgba(107,144,128,.22);box-shadow:0 4px 20px #1f3a300a;display:flex;flex-direction:column;flex:1;height:100%}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.35rem;flex-wrap:wrap;gap:.75rem;padding-bottom:.85rem;border-bottom:1px solid rgba(107,144,128,.18)}.form-header h4{color:#1f3a30;margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.location-btn{font-size:.86rem;padding:.4rem .85rem;background:#2d6a4f14;border:1px solid rgba(45,106,79,.2);color:#2d6a4f;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);font-weight:600;display:inline-flex;align-items:center;gap:.45rem;border-radius:10px}.location-btn-icon{color:#2d6a4f}.location-btn:hover:not(:disabled){background:#2d6a4f;color:#fff;border-color:#2d6a4f;transform:translateY(-1px);box-shadow:0 3px 10px #2d6a4f33}.location-btn:hover:not(:disabled) .location-btn-icon{color:#fff}.location-btn:disabled{opacity:.6;cursor:not-allowed}.crop-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;margin-bottom:1rem}@media(max-width:600px){.crop-form .form-row{grid-template-columns:1fr;gap:0}}.crop-form .form-group{margin-bottom:1rem;display:flex;flex-direction:column}.crop-form .form-group label{font-size:.86rem;font-weight:600;color:#1f3a30;margin-bottom:.4rem}.crop-form .form-group input,.crop-form .form-group select{width:100%;padding:.65rem .9rem;border:1.5px solid rgba(107,144,128,.28);border-radius:12px;font-size:.92rem;background:#fff;color:#1f3a30;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.crop-form .form-group input:focus,.crop-form .form-group select:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3.5px #2d6a4f1f}.req-star{color:#dc2626;font-weight:700}.input-error{border-color:#dc2626!important;background:#fef2f2!important}.inline-err{font-size:.8rem;color:#dc2626;margin-top:.3rem;font-weight:500}.highlight-input-group{background:linear-gradient(135deg,#f0fdf4,#f6fff8);padding:1.15rem;border:1.5px dashed #a4c3b2;border-radius:14px;margin-bottom:1.25rem}.field-hint{font-size:.8rem;color:#52796f;margin-top:.4rem;line-height:1.4}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #2d6a4f4d;margin-top:.5rem}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#367d5e,#22543d);transform:translateY(-2px);box-shadow:0 8px 22px #2d6a4f66}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-icon{color:#a7f3d0}.crop-loading-banner{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#ecfdf5,#e0f2fe);border:1.5px solid #a7f3d0;border-radius:16px;box-shadow:0 4px 14px #10b98114}.crop-pulse-dot{width:16px;height:16px;border-radius:50%;background:#10b981;flex-shrink:0;animation:cropPulse 1.4s infinite ease-in-out}@keyframes cropPulse{0%{transform:scale(.8);opacity:.4;box-shadow:0 0 #10b981b3}50%{transform:scale(1.2);opacity:1;box-shadow:0 0 0 8px #10b98100}to{transform:scale(.8);opacity:.4;box-shadow:0 0 #10b98100}}.loading-text-col{display:flex;flex-direction:column;gap:.25rem;font-size:.92rem;color:#065f46}.crop-api-error-card{background:#fef2f2;border:1.5px solid #fecaca;border-radius:16px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.error-header-row{display:flex;align-items:center;gap:.4rem}.error-icon{color:#dc2626}.error-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#991b1b;background:#fee2e2;padding:.2rem .6rem;border-radius:6px}.error-message{margin:0;font-size:.92rem;color:#7f1d1d;line-height:1.45}.btn-retry{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1.2rem;font-size:.88rem;font-weight:700;color:#fff;background:#dc2626;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#b91c1c}.soil-analysis-card{background:linear-gradient(135deg,#fff,#f6fff8);border:1.5px solid #cce3de;border-radius:16px;padding:1.35rem 1.6rem;box-shadow:0 4px 18px #1f3a300d}.soil-analysis-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.soil-badge{font-size:.76rem;font-weight:700;text-transform:uppercase;color:#2d6a4f;background:#cce3de;padding:.25rem .65rem;border-radius:999px;display:inline-flex;align-items:center;gap:.35rem}.soil-analysis-header h4{margin:0;font-size:1.15rem;font-weight:700;color:#1f3a30}.soil-drainage-text,.soil-tip-text{font-size:.9rem;color:#2c4a3e;line-height:1.55;margin:0 0 .5rem}.target-crop-result-card{border-radius:16px;padding:1.35rem 1.6rem;border:1.5px solid;box-shadow:0 4px 16px #1f3a300a}.target-crop-result-card.suitable{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#a7f3d0}.target-crop-result-card.unsuitable{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fde68a}.target-result-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.target-suitability-pill{font-size:.76rem;font-weight:700;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;display:inline-flex;align-items:center;gap:.35rem}.target-suitability-pill.pass{background:#cce3de;color:#2d6a4f}.target-suitability-pill.fail{background:#fef3c7;color:#92400e}.target-result-header h4{margin:0;font-size:1.1rem;font-weight:700;color:#1f3a30}.target-explanation{font-size:.92rem;color:#334155;line-height:1.6;margin:0 0 .75rem}.target-alternatives-box{background:#fff;border:1px solid #cce3de;border-radius:12px;padding:.85rem 1rem}.alt-title{font-size:.84rem;font-weight:700;color:#4a6659;display:block;margin-bottom:.5rem}.alt-chips-row{display:flex;flex-wrap:wrap;gap:.5rem}.alt-chip{padding:.3rem .75rem;font-size:.84rem;font-weight:600;color:#1f3a30;background:#eaf4f4;border-radius:999px;border:1px solid #cce3de;display:inline-flex;align-items:center;gap:.35rem}.alt-icon{color:#2d6a4f}.crop-results{background:linear-gradient(135deg,#fff,#fbfdfb);padding:1.75rem;border-radius:18px;border:1.5px solid rgba(107,144,128,.22);box-shadow:0 4px 20px #1f3a300a}.crop-history-active-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(135deg,#f0fdf4,#e6f7ef);border:1.5px solid #86efac;border-radius:12px;padding:.85rem 1.15rem;margin-bottom:1.25rem}.history-banner-info{display:flex;align-items:center;gap:.75rem}.history-banner-icon{color:#16a34a;flex-shrink:0}.history-banner-info strong{display:block;font-size:.92rem;color:#14532d}.history-banner-sub{font-size:.78rem;color:#15803d}.btn-exit-history{background:#fff;border:1px solid #bbf7d0;color:#15803d;font-weight:600;font-size:.78rem;padding:.35rem .75rem;border-radius:8px;cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.btn-exit-history:hover{background:#dcfce7;color:#14532d;border-color:#86efac}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.results-header h4{color:#1f3a30;margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.result-count{font-size:.8rem;color:#2d6a4f;background:#2d6a4f1a;border:1px solid rgba(45,106,79,.2);padding:.2rem .85rem;border-radius:999px;font-weight:600}.crop-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-height:560px;overflow-y:auto;padding-right:.35rem}.crop-grid::-webkit-scrollbar{width:5px}.crop-grid::-webkit-scrollbar-track{background:transparent}.crop-grid::-webkit-scrollbar-thumb{background:#6b90804d;border-radius:10px}.crop-history-detail{margin-top:1.25rem;text-align:center}.crop-history-detail .btn-secondary{background:#fff;border:1.5px solid rgba(107,144,128,.3);padding:.5rem 1.5rem;border-radius:30px;color:#1f3a30;cursor:pointer;font-weight:600;font-size:.88rem;transition:all .2s ease}.crop-history-detail .btn-secondary:hover{background:#f0fdf4;border-color:#2d6a4f;color:#2d6a4f}.crop-right{background:linear-gradient(135deg,#fff,#fbfdfb);padding:1.5rem;border-radius:18px;border:1.5px solid rgba(107,144,128,.22);box-shadow:0 4px 20px #1f3a300a;display:flex;flex-direction:column;flex:1;height:100%;overflow-y:auto}.crop-right::-webkit-scrollbar{width:5px}.crop-right::-webkit-scrollbar-track{background:transparent}.crop-right::-webkit-scrollbar-thumb{background:#6b90804d;border-radius:10px}@media(max-width:768px){.crop-recommendation{padding:1.25rem 1rem 2rem;border-radius:16px}.crop-recommendation h2{font-size:1.4rem}.crop-form,.crop-results,.crop-right{padding:1.15rem}}.tomato-svg-card{position:relative;width:100%;background:radial-gradient(circle at 50% 35%,#f0fdf4bf,#fffffffa 75%);border-radius:16px;border:1.5px solid rgba(107,144,128,.22);box-shadow:inset 0 1px 3px #fffc,0 4px 20px #1f3a300d;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.plant-svg-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.75rem 1.1rem;background:#ffffffe0;border-bottom:1px solid rgba(107,144,128,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10}.toolbar-status-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .75rem;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid}.toolbar-status-badge.status-healthy{background:#f0fdf4;border-color:#86efac;color:#15803d}.toolbar-status-badge.status-watering{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1;animation:pulseWateringBadge 1.5s infinite alternate}.toolbar-status-badge.status-moderate{background:#fffdf0;border-color:#fde047;color:#a16207}.toolbar-status-badge.status-dry{background:#fffbeb;border-color:#fcd34d;color:#b45309}.toolbar-status-badge.status-wet{background:#f0f9ff;border-color:#bae6fd;color:#0284c7}@keyframes pulseWateringBadge{0%{box-shadow:0 0 #38bdf866}to{box-shadow:0 0 0 6px #38bdf800}}.status-dot{width:8px;height:8px;border-radius:50%;background-color:currentColor}.status-dot.pulse{animation:dotPulse 1.8s infinite}@keyframes dotPulse{0%{transform:scale(.8);opacity:.7}50%{transform:scale(1.3);opacity:1}to{transform:scale(.8);opacity:.7}}.toolbar-hint{font-size:.8rem;color:#52796f;font-weight:500;display:inline-flex;align-items:center;gap:.35rem}.plant-health-meter-pill{display:inline-flex;align-items:center;gap:.45rem;background:#f0fdf4d9;border:1px solid rgba(134,239,172,.6);padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;color:#166534}.plant-health-meter-pill strong{font-weight:800}.health-bar-track{width:42px;height:6px;border-radius:999px;background:#00000014;overflow:hidden}.health-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.health-bar-fill.bg-emerald-500{background:#10b981}.health-bar-fill.bg-amber-500{background:#f59e0b}.health-bar-fill.bg-red-500{background:#ef4444}.plant-svg-viewport{position:relative;width:100%;height:290px;min-height:260px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:pan-y;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#d8f3dc66,#fff0 70%)}.plant-main-svg{width:100%;height:100%;max-width:440px;overflow:visible;filter:drop-shadow(0 6px 14px rgba(31,58,48,.08))}.hotspots-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.hotspot-node{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;z-index:15}.hotspot-trigger-btn{position:relative;width:36px;height:36px;border-radius:50%;border:2px solid #ffffff;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 12px #00000026,0 0 0 2.5px #2d6a4f33;transition:all .22s cubic-bezier(.16,1,.3,1)}.hotspot-trigger-btn:hover{transform:scale(1.15);box-shadow:0 4px 16px #00000038,0 0 0 4px #2d6a4f59}.hotspot-trigger-btn.active{transform:scale(1.2);box-shadow:0 0 0 4px #2d6a4f,0 6px 20px #2d6a4f66}.hotspot-trigger-btn.spot-moisture{color:#0284c7;border-color:#38bdf8}.hotspot-trigger-btn.spot-temperature{color:#ea580c;border-color:#fb923c}.hotspot-trigger-btn.spot-light{color:#ca8a04;border-color:#facc15}.hotspot-pulse-ring{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid currentColor;animation:hotspotPing 1.8s cubic-bezier(0,0,.2,1) infinite;pointer-events:none}@keyframes hotspotPing{0%{transform:scale(.9);opacity:.8}80%,to{transform:scale(1.6);opacity:0}}.sensor-inspector-dock{position:absolute;top:12px;right:12px;width:220px;max-width:calc(100% - 24px);background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(107,144,128,.28);border-radius:14px;padding:.85rem .95rem;box-shadow:0 12px 30px #1f3a3024,inset 0 1px 2px #ffffffe6;z-index:25;display:flex;flex-direction:column;gap:.45rem;box-sizing:border-box}.inspector-top-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.inspector-title-group{display:flex;align-items:center;gap:.4rem}.inspector-sensor-title{font-size:.82rem;font-weight:700;color:#1f3a30;text-transform:capitalize;letter-spacing:.01em}.inspector-btn-close{background:transparent;border:none;cursor:pointer;color:#64748b;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.inspector-btn-close:hover{background:#0000000f;color:#1e293b}.inspector-metrics-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.1rem}.inspector-big-val{font-size:1.3rem;font-weight:800;color:#1f3a30;letter-spacing:-.01em}.inspector-status-badge{font-size:.74rem;font-weight:700;padding:.2rem .55rem;border-radius:6px;white-space:nowrap}.inspector-status-badge.tag-green{background:#dcfce7;color:#15803d}.inspector-status-badge.tag-amber{background:#fef3c7;color:#b45309}.inspector-status-badge.tag-red{background:#fef2f2;color:#b91c1c}.inspector-footer-info{border-top:1px solid rgba(107,144,128,.15);padding-top:.4rem;margin-top:.15rem;display:flex;flex-direction:column;gap:.25rem}.inspector-target-range{font-size:.74rem;font-weight:600;color:#059669}.inspector-agronomy-tip{font-size:.72rem;color:#64748b;line-height:1.35;margin:0}.plant-svg-care-bar{display:flex;align-items:center;justify-content:center;padding:.4rem .6rem;background:#f0fdf4b3;border-top:1px dashed rgba(107,144,128,.25);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;z-index:10}.plant-svg-care-bar::-webkit-scrollbar{display:none}.care-buttons-group{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.35rem;flex-wrap:nowrap}.care-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-size:.71rem;font-weight:700;padding:.22rem .45rem;border-radius:999px;border:1px solid rgba(107,144,128,.3);background:#fff;color:#334155;cursor:pointer;white-space:nowrap;flex:1 1 auto;min-width:0;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.care-action-btn.btn-reset{flex:0 0 auto;padding:.22rem .5rem;background:#f1f5f9d9;border-color:#cbd5e1;color:#475569}.care-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.care-action-btn.btn-water:hover,.care-action-btn.btn-water.active-action{background:#e0f2fe;color:#0369a1;border-color:#38bdf8}.care-action-btn.btn-temp:hover,.care-action-btn.btn-temp.active-action{background:#fef2f2;color:#b91c1c;border-color:#f87171}.care-action-btn.btn-sun:hover,.care-action-btn.btn-sun.active-action{background:#fefce8;color:#a16207;border-color:#facc15}.plant-svg-footer{display:flex;align-items:center;justify-content:space-around;padding:.65rem 1rem;background:#ffffffeb;border-top:1px solid rgba(107,144,128,.16);flex-wrap:wrap;gap:.5rem;z-index:10}.footer-stat-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:#1f3a30;cursor:pointer;padding:.3rem .65rem;border-radius:8px;background:transparent;border:1px solid transparent;transition:all .2s ease}.footer-stat-chip:hover{background:#f0fdf4;color:#2d6a4f;border-color:#4ade804d}.footer-stat-chip.active-chip{background:#ecfdf5;color:#065f46;border-color:#6ee7b7;box-shadow:0 1px 3px #10b98126}.footer-stat-chip strong{font-weight:700}@media(max-width:640px){.plant-svg-viewport{height:250px;min-height:220px}.plant-svg-toolbar{padding:.55rem .75rem;gap:.4rem}.toolbar-status-badge{font-size:.76rem;padding:.22rem .6rem}.toolbar-hint{display:none}.sensor-inspector-dock{width:calc(100% - 16px);max-width:240px;top:8px;right:8px;padding:.65rem .75rem}.hotspot-trigger-btn{width:30px;height:30px}.plant-svg-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.45rem .5rem;gap:.35rem;width:100%;box-sizing:border-box}.footer-stat-chip{padding:.28rem .2rem;font-size:.72rem;justify-content:center;flex-direction:column;gap:.12rem;text-align:center;white-space:nowrap;border-radius:6px;background:#f0fdf499;min-width:0}.footer-stat-chip span{font-size:.7rem;line-height:1.1}}@media(max-width:380px){.plant-svg-viewport{height:230px;min-height:200px}.hotspot-trigger-btn{width:26px;height:26px}.footer-stat-chip{font-size:.68rem}}:root.dark .tomato-svg-card,[data-theme=dark] .tomato-svg-card,body.dark-theme .tomato-svg-card{background:radial-gradient(circle at 50% 35%,#142820eb,#0f172afa 75%);border-color:#4ade802e;box-shadow:inset 0 1px 2px #ffffff0d,0 4px 20px #0000004d}:root.dark .plant-svg-toolbar,[data-theme=dark] .plant-svg-toolbar,body.dark-theme .plant-svg-toolbar{background:#0f172ae0;border-bottom-color:#ffffff14}:root.dark .toolbar-hint,[data-theme=dark] .toolbar-hint,body.dark-theme .toolbar-hint{color:#94a3b8}:root.dark .plant-svg-viewport,[data-theme=dark] .plant-svg-viewport,body.dark-theme .plant-svg-viewport{background:radial-gradient(ellipse at 50% 60%,#14532d40,#0f172a00 70%)}:root.dark .hotspot-trigger-btn,[data-theme=dark] .hotspot-trigger-btn,body.dark-theme .hotspot-trigger-btn{background:#1e293b;border-color:#334155;box-shadow:0 3px 12px #0006,0 0 0 2.5px #4ade8033}:root.dark .hotspot-trigger-btn:hover,[data-theme=dark] .hotspot-trigger-btn:hover,body.dark-theme .hotspot-trigger-btn:hover{box-shadow:0 4px 16px #0009,0 0 0 4px #4ade8059}:root.dark .hotspot-trigger-btn.active,[data-theme=dark] .hotspot-trigger-btn.active,body.dark-theme .hotspot-trigger-btn.active{box-shadow:0 0 0 4px #4ade80,0 6px 20px #4ade8066}:root.dark .sensor-inspector-dock,[data-theme=dark] .sensor-inspector-dock,body.dark-theme .sensor-inspector-dock{background:#0f172af0;border-color:#4ade8040;box-shadow:0 12px 32px #0000008c,inset 0 1px 2px #ffffff0f}:root.dark .inspector-sensor-title,[data-theme=dark] .inspector-sensor-title,body.dark-theme .inspector-sensor-title{color:#e2e8f0}:root.dark .inspector-btn-close,[data-theme=dark] .inspector-btn-close,body.dark-theme .inspector-btn-close{color:#94a3b8}:root.dark .inspector-btn-close:hover,[data-theme=dark] .inspector-btn-close:hover,body.dark-theme .inspector-btn-close:hover{background:#ffffff1a;color:#fff}:root.dark .inspector-big-val,[data-theme=dark] .inspector-big-val,body.dark-theme .inspector-big-val{color:#f8fafc}:root.dark .inspector-target-range,[data-theme=dark] .inspector-target-range,body.dark-theme .inspector-target-range{color:#86efac}:root.dark .inspector-agronomy-tip,[data-theme=dark] .inspector-agronomy-tip,body.dark-theme .inspector-agronomy-tip{color:#94a3b8}:root.dark .inspector-footer-info,[data-theme=dark] .inspector-footer-info,body.dark-theme .inspector-footer-info{border-top-color:#ffffff1a}:root.dark .plant-svg-footer,[data-theme=dark] .plant-svg-footer,body.dark-theme .plant-svg-footer{background:#0f172aeb;border-top-color:#ffffff14}:root.dark .footer-stat-chip,[data-theme=dark] .footer-stat-chip,body.dark-theme .footer-stat-chip{color:#e2e8f0}:root.dark .footer-stat-chip:hover,[data-theme=dark] .footer-stat-chip:hover,body.dark-theme .footer-stat-chip:hover{background:#1e293be6;color:#86efac}:root.dark .footer-stat-chip.active-chip,[data-theme=dark] .footer-stat-chip.active-chip,body.dark-theme .footer-stat-chip.active-chip{background:#064e3b80;color:#86efac;border-color:#059669}.sucker-prune-trigger{transition:transform .2s ease}.sucker-prune-trigger:hover{transform:scale(1.25)}.sucker-tooltip-card{background:#fffffff5;border:1.5px solid #ef4444;border-radius:8px;padding:6px 8px;box-shadow:0 4px 14px #ef444440;font-family:inherit;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sucker-tooltip-card .tooltip-badge{display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;color:#dc2626;margin-bottom:2px}.sucker-tooltip-card .tooltip-text{font-size:.68rem;color:#475569;line-height:1.25;margin:0}:root.dark .sucker-tooltip-card,[data-theme=dark] .sucker-tooltip-card,body.dark-theme .sucker-tooltip-card{background:#0f172af5;border-color:#ef4444}:root.dark .sucker-tooltip-card .tooltip-text,[data-theme=dark] .sucker-tooltip-card .tooltip-text,body.dark-theme .sucker-tooltip-card .tooltip-text{color:#cbd5e1}.farmer-iot-hub{display:flex;flex-direction:column;gap:1.1rem;width:100%;max-width:100%;margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1f3a30;box-sizing:border-box;overflow-x:hidden}.hub-top-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.65rem;background:linear-gradient(135deg,#fff,#fbfdfb);padding:.65rem 1.1rem;border-radius:14px;border:1.5px solid rgba(107,144,128,.22);box-shadow:0 3px 12px #1f3a3008;box-sizing:border-box;width:100%}.btn-hub-refresh{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .95rem;border-radius:10px;border:1px solid rgba(45,106,79,.25);background:#2d6a4f14;color:#2d6a4f;font-size:.84rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.btn-hub-refresh:hover:not(:disabled){background:#2d6a4f;color:#fff;border-color:#2d6a4f;transform:translateY(-1px);box-shadow:0 3px 10px #2d6a4f33}.btn-hub-refresh:active:not(:disabled){transform:translateY(0)}.btn-hub-refresh:disabled{opacity:.6;cursor:not-allowed}.refresh-icon-spin.spinning,.spinning{animation:hubSpin .9s linear infinite}@keyframes hubSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.single-status-line{font-size:.84rem;font-weight:600;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.watering-hub-layout,.watering-hub-two-col-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.15rem;align-items:start;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:1024px){.watering-hub-layout,.watering-hub-two-col-layout{grid-template-columns:minmax(0,1fr);gap:1.1rem}}.watering-hub-col-left,.watering-hub-col-right{display:flex;flex-direction:column;gap:1.1rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.plant-specimen-header-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1.1rem;box-shadow:0 4px 16px #1f3a300a;display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.specimen-header-info{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0}.specimen-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;width:100%}.garden-tag-pill{font-size:.78rem;font-weight:700;color:#2d6a4f;background:#2d6a4f14;padding:.2rem .55rem;border-radius:999px;display:inline-flex;align-items:center;gap:.3rem;max-width:100%;box-sizing:border-box}.flowering-chip{color:#0284c7;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;background:#e0f2fe;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;max-width:100%;box-sizing:border-box}.plant-title-text{margin:.15rem 0 0;font-size:1.3rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.plant-variety-text{margin:0;font-size:.86rem;color:#52796f;font-weight:500;word-break:break-word}.plant-3d-skeleton-card{min-height:220px;background:#f8fafc;border-radius:14px;border:1px dashed rgba(107,144,128,.3);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;box-sizing:border-box;width:100%}.skeleton-loading-text{color:#52796f;font-size:.88rem;font-weight:600}.hub-decision-hero{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem;padding:.95rem 1.25rem;border-radius:14px;border:1.5px solid;box-shadow:0 3px 14px #1f3a300a;transition:all .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box;width:100%;max-width:100%;min-width:0}.hub-decision-hero.hero-water-needed{background:linear-gradient(135deg,#fffdf8,#fef8ee);border-color:#f59e0b59;box-shadow:0 3px 14px #f59e0b0f}.hub-decision-hero.hero-optimal{background:linear-gradient(135deg,#f0fdf4,#f6fff8);border-color:#a7f3d0;box-shadow:0 3px 14px #10b9810f}.decision-hero-main{display:flex;align-items:center;gap:.85rem;flex:1 1 200px;min-width:0}.decision-hero-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000000a}.hero-water-needed .decision-hero-icon{background:#fef3c7;color:#d97706}.hero-optimal .decision-hero-icon{background:#dcfce7;color:#16a34a}.decision-hero-texts{display:flex;flex-direction:column;gap:.15rem;min-width:0}.decision-hero-title{margin:0;font-size:1.12rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;word-break:break-word}.hero-water-needed .decision-hero-title{color:#92400e}.hero-optimal .decision-hero-title{color:#14532d}.decision-hero-subtitle{margin:0;font-size:.86rem;font-weight:500;line-height:1.4;word-break:break-word}.hero-water-needed .decision-hero-subtitle{color:#b45309}.hero-optimal .decision-hero-subtitle{color:#15803d}.decision-hero-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.btn-hero-dispense{min-height:38px;padding:.45rem 1.1rem;background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;border-radius:10px;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;box-shadow:0 3px 10px #2d6a4f40;transition:all .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.btn-hero-dispense:hover:not(:disabled){background:linear-gradient(135deg,#367d5e,#22543d);transform:translateY(-1px);box-shadow:0 4px 14px #2d6a4f59}.btn-hero-dispense:disabled{opacity:.65;cursor:not-allowed}.action-feedback-banner{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:12px;font-size:.86rem;font-weight:600;border:1.5px solid;box-sizing:border-box;width:100%}.feedback-text-wrap{display:flex;align-items:center;gap:.45rem;min-width:0;word-break:break-word}.action-feedback-banner.success{background:#f0fdf4;border-color:#86efac;color:#15803d}.action-feedback-banner.error{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.action-feedback-banner.info{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.btn-close-feedback{background:transparent;border:none;cursor:pointer;color:inherit;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s;flex-shrink:0}.btn-close-feedback:hover{opacity:1}.sensor-matrix-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;box-sizing:border-box}.gauge-box{background:#fff;border:1.5px solid rgba(107,144,128,.22);border-radius:14px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:0 2px 8px #1f3a3005;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box;min-width:0;width:100%}.gauge-box:hover{transform:translateY(-1px);box-shadow:0 4px 14px #1f3a300f;border-color:#2d6a4f}.gauge-box.status-green{border-color:#2d6a4f47;background:linear-gradient(135deg,#fff,#f6fff8)}.gauge-box.status-amber{border-color:#f59e0b59;background:linear-gradient(135deg,#fff,#fffdf8)}.gauge-box.status-red{border-color:#ef444459;background:linear-gradient(135deg,#fff,#fef2f2)}.gauge-icon-circle{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-moisture{background:#e0f2fe;color:#0284c7}.icon-temp{background:#fef3c7;color:#d97706}.icon-humidity{background:#dcfce7;color:#16a34a}.icon-sun{background:#fef9c3;color:#ca8a04}.gauge-label{font-size:.8rem;font-weight:600;color:#52796f;word-break:break-word}.gauge-big-num{font-size:1.35rem;font-weight:700;color:#1f3a30;letter-spacing:-.02em}.moisture-target-bar-wrap{position:relative;width:100%;height:6px;background:#6b90802e;border-radius:3px;overflow:hidden;margin:.2rem 0}.target-optimal-zone{position:absolute;top:0;height:100%;background:#2d6a4f59;border-left:1.5px solid #2d6a4f;border-right:1.5px solid #2d6a4f}.moisture-current-marker{position:absolute;top:0;width:6px;height:100%;background:#0284c7;border-radius:2px;transform:translate(-50%)}.gauge-sub-info{font-size:.78rem;font-weight:600;line-height:1.35;color:#52796f;word-break:break-word}.tag-optimal{color:#2d6a4f;display:inline-flex;align-items:center;gap:.25rem}.tag-warning{color:#d97706;display:inline-flex;align-items:center;gap:.25rem}.dual-location-stat{display:flex;flex-direction:column;gap:.15rem}.loc-plant,.loc-outside{display:flex;align-items:center;gap:.25rem;word-break:break-word}.loc-plant{color:#2d6a4f}.loc-outside{color:#b45309}.light-status-tag{display:inline-flex;align-items:center;gap:.3rem;color:#92400e;font-weight:600}.gauge-status-svg{flex-shrink:0}.ai-suggestion-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-left:4px solid #2d6a4f;border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.ai-card-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;padding-bottom:.55rem;border-bottom:1px solid rgba(107,144,128,.18);width:100%}.ai-header-left{display:flex;align-items:center;gap:.45rem;color:#2d6a4f;min-width:0}.ai-header-left h3{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.sparkle-icon{color:#2d6a4f;flex-shrink:0}.health-score-badge{background:#cce3de;color:#1f3a30;padding:.25rem .75rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;flex-shrink:0}.health-score-badge strong{color:#2d6a4f;font-weight:700}.ai-explanation-paragraph{font-size:.88rem;line-height:1.5;font-weight:500;margin:0 0 .85rem;color:#2c4a3e;word-break:break-word}.agronomy-tips-list{display:flex;flex-direction:column;gap:.45rem;width:100%}.agronomy-tip-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;line-height:1.5;color:#2c4a3e;background:transparent;padding:.15rem 0;border:none;box-sizing:border-box;width:100%;word-break:break-word;overflow-wrap:anywhere}.tip-icon-bullet{color:#2d6a4f;margin-top:.15rem;flex-shrink:0}.disease-predict-engine-block{margin-top:.95rem;padding-top:.95rem;border-top:1.5px dashed rgba(107,144,128,.28);display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.disease-engine-header{background:transparent;border:none;padding:0;box-sizing:border-box;width:100%}.engine-title-wrap{display:flex;align-items:center;gap:.6rem;width:100%}.engine-icon-pulse{display:none}.engine-title-texts{display:flex;flex-direction:column;gap:.15rem;min-width:0}.disease-engine-title{margin:0;font-size:.96rem;font-weight:700;color:#1b4332;letter-spacing:-.01em;word-break:break-word}.disease-engine-motto{font-size:.8rem;color:#2d6a4f;line-height:1.4;word-break:break-word}.disease-engine-motto strong{color:#1b4332;font-weight:700}.disease-risk-tabs-row{display:flex;flex-wrap:wrap;gap:.45rem;width:100%;box-sizing:border-box}.disease-risk-tab-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:9px;border:1.5px solid;font-size:.78rem;font-weight:600;cursor:pointer;background:#fff;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.disease-risk-tab-btn.risk-high{border-color:#ef444452;background:#fef2f2;color:#991b1b}.disease-risk-tab-btn.risk-med{border-color:#f59e0b59;background:#fffdf8;color:#92400e}.disease-risk-tab-btn.risk-low{border-color:#22c55e52;background:#f0fdf4;color:#166534}.disease-risk-tab-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000000f}.disease-risk-tab-btn.active{font-weight:700;box-shadow:0 3px 12px #2d6a4f26;transform:translateY(-1px)}.disease-risk-tab-btn.risk-high.active{background:#fee2e2;border-color:#ef4444}.disease-risk-tab-btn.risk-med.active{background:#fef3c7;border-color:#f59e0b}.disease-risk-tab-btn.risk-low.active{background:#dcfce7;border-color:#22c55e}.risk-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-red{background:#ef4444;box-shadow:0 0 6px #ef444480}.dot-amber{background:#f59e0b;box-shadow:0 0 6px #f59e0b80}.dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e80}.disease-tab-name{white-space:nowrap}.risk-level-chip{font-size:.7rem;padding:.1rem .4rem;border-radius:6px;background:#0000000d;font-weight:700}.disease-detail-card{background:#fff;border-radius:14px;border:1.5px solid;padding:.95rem 1.05rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 3px 12px #1f3a300a;box-sizing:border-box;width:100%}.disease-detail-card.card-risk-high{border-color:#ef444459;border-left:4px solid #ef4444;background:linear-gradient(135deg,#fff,#fffcfc)}.disease-detail-card.card-risk-med{border-color:#f59e0b59;border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fff,#fffdfa)}.disease-detail-card.card-risk-low{border-color:#22c55e59;border-left:4px solid #22c55e;background:linear-gradient(135deg,#fff,#f6fff8)}.disease-detail-top{display:flex;flex-direction:column;gap:.55rem;width:100%}.disease-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;width:100%}.active-disease-name{margin:0;font-size:.98rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.risk-score-chip-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.severity-badge{font-size:.74rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;display:inline-flex;align-items:center}.severity-badge.sev-high{background:#fee2e2;color:#991b1b;border:1px solid rgba(239,68,68,.3)}.severity-badge.sev-med{background:#fef3c7;color:#92400e;border:1px solid rgba(245,158,11,.3)}.severity-badge.sev-low{background:#dcfce7;color:#166534;border:1px solid rgba(34,197,94,.3)}.iot-trigger-pill{font-size:.74rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:#0284c714;color:#0369a1;border:1px solid rgba(2,132,199,.22);display:inline-flex;align-items:center}.disease-cause-alert{display:flex;align-items:flex-start;gap:.5rem;background:transparent;border:none;padding:.15rem 0;box-sizing:border-box;width:100%}.cause-icon{display:none}.cause-text{margin:0;font-size:.84rem;color:#334e44;line-height:1.5;word-break:break-word}.cause-text strong{color:#1b4332;font-weight:700}.prevention-action-box{background:transparent;border:none;padding:.2rem 0;display:flex;flex-direction:column;gap:.45rem;box-sizing:border-box;width:100%}.prevention-heading{display:flex;align-items:center;gap:.45rem;color:#1b4332}.prevention-heading h6{margin:0;font-size:.86rem;font-weight:700;color:#1b4332;letter-spacing:-.01em;word-break:break-word}.prevention-steps-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem;width:100%}.prevention-step-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.83rem;line-height:1.45;color:#2c4a3e;word-break:break-word}.step-check-bullet{color:#15803d;font-weight:800;font-size:.85rem;margin-top:.05rem;flex-shrink:0}.cure-resolution-box{background:transparent;border:none;padding:.2rem 0;display:flex;flex-direction:column;gap:.35rem;box-sizing:border-box;width:100%}.cure-heading{display:flex;align-items:center;gap:.4rem;color:#1b4332}.cure-heading .cure-icon{display:none}.cure-heading h6{margin:0;font-size:.86rem;font-weight:700;color:#1b4332;letter-spacing:-.01em;word-break:break-word}.cure-text{margin:0;font-size:.83rem;line-height:1.45;color:#2c4a3e;word-break:break-word}.weather-forecast-strip-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.weather-strip-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.85rem;padding-bottom:.55rem;border-bottom:1px solid rgba(107,144,128,.18);width:100%}.weather-strip-title{display:flex;align-items:center;gap:.4rem;min-width:0}.weather-title-icon{color:#2d6a4f;flex-shrink:0}.weather-strip-title h4{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.weather-metric-chips{display:flex;flex-wrap:wrap;gap:.4rem}.weather-chip{display:inline-flex;align-items:center;gap:.3rem;background:#2d6a4f14;border:1px solid rgba(45,106,79,.2);padding:.25rem .6rem;border-radius:8px;font-size:.78rem;font-weight:600;color:#2d6a4f;box-sizing:border-box}.weather-chip.rain-chip{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.three-day-forecast-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;width:100%;box-sizing:border-box}.forecast-mini-card{background:#fff;border:1.5px solid rgba(107,144,128,.2);border-radius:12px;padding:.7rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center;transition:all .2s ease;box-sizing:border-box;min-width:0;width:100%}.forecast-mini-card:hover{border-color:#2d6a4f;transform:translateY(-1px)}.forecast-day-name{font-size:.82rem;font-weight:700;color:#1f3a30;word-break:break-word}.forecast-weather-icon-wrap{display:flex;align-items:center;justify-content:center;min-height:22px}.forecast-temp-val{font-size:1.05rem;font-weight:700;color:#1f3a30}.forecast-rain-prob{font-size:.74rem;font-weight:600;color:#0284c7;word-break:break-word}.weather-heat-alert-bar{margin-top:.75rem;display:flex;align-items:center;gap:.45rem;background:#fffbeb;border:1.5px solid #fde68a;color:#92400e;padding:.6rem .85rem;border-radius:10px;font-size:.82rem;font-weight:600;line-height:1.4;box-sizing:border-box;width:100%;word-break:break-word}.water-actuator-control-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.actuator-top-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.85rem;padding-bottom:.55rem;border-bottom:1px solid rgba(107,144,128,.18);width:100%}.actuator-title-box{display:flex;align-items:center;gap:.4rem;min-width:0}.actuator-title-box h3{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.drop-icon{color:#2d6a4f;flex-shrink:0}.tank-level-chip{padding:.25rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;border:1px solid;flex-shrink:0;white-space:nowrap;box-sizing:border-box}.tank-level-chip.tank-good{background:#f0fdf4;border-color:#86efac;color:#15803d}.tank-level-chip.tank-low{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.daily-usage-tracker-bar{background:#f8fafc;border:1.5px solid rgba(107,144,128,.2);border-radius:12px;padding:.75rem .95rem;margin-bottom:.85rem;box-sizing:border-box;width:100%}.usage-text-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;margin-bottom:.4rem;flex-wrap:wrap;gap:.35rem;color:#1f3a30;word-break:break-word}.usage-progress-track{width:100%;height:7px;background:#6b90802e;border-radius:4px;overflow:hidden}.usage-progress-fill{height:100%;background:linear-gradient(90deg,#2d6a4f,#1b4332);border-radius:4px;transition:width .4s ease}.controller-rest-notice{display:flex;align-items:center;gap:.5rem;background:#f0fdf4;border:1.5px solid #a7f3d0;color:#166534;padding:.55rem .85rem;border-radius:10px;font-size:.82rem;font-weight:600;line-height:1.4;margin-bottom:.75rem;box-sizing:border-box;width:100%}.rest-notice-icon{color:#15803d;flex-shrink:0}.touch-dose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem;width:100%;box-sizing:border-box}.dose-pill-btn{min-height:38px;background:#fff;border:1.5px solid rgba(107,144,128,.28);border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;color:#1f3a30;transition:all .2s cubic-bezier(.16,1,.3,1);padding:.35rem .5rem;text-align:center;box-sizing:border-box;min-width:0;word-break:break-word}.dose-pill-btn:hover:not(:disabled){border-color:#2d6a4f;background:#f0fdf4}.dose-pill-btn.active{background:#cce3de;border-color:#2d6a4f;color:#1f3a30;font-weight:700;box-shadow:0 2px 6px #2d6a4f26}.dose-pill-btn:disabled,.custom-dose-input:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc;border-color:#6b908033;color:#94a3b8}.custom-dose-wrap{margin-bottom:.75rem;width:100%;box-sizing:border-box}.custom-dose-input{width:100%;min-height:38px;border:1.5px solid rgba(107,144,128,.28);border-radius:10px;padding:.4rem .8rem;font-size:.88rem;font-weight:500;box-sizing:border-box;color:#1f3a30;background:#fff;transition:all .2s ease}.custom-dose-input:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1f}.btn-main-dispense{width:100%;max-width:100%;box-sizing:border-box;min-height:42px;background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;border-radius:10px;font-size:.92rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;box-shadow:0 3px 10px #2d6a4f40;margin-bottom:.75rem;padding:.6rem .9rem;white-space:normal;text-align:center;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-main-dispense:hover:not(:disabled){background:linear-gradient(135deg,#367d5e,#22543d);transform:translateY(-1px);box-shadow:0 5px 16px #2d6a4f59}.btn-main-dispense:disabled,.btn-main-dispense.btn-no-water-needed{background:#f1f5f9;color:#475569;border:1.5px solid #cbd5e1;box-shadow:none;cursor:not-allowed;opacity:.9}.btn-main-dispense:disabled:hover,.btn-main-dispense.btn-no-water-needed:hover{background:#f1f5f9;transform:none;box-shadow:none;color:#475569}.btn-manual-action.active-skip{background:#f0fdf4;color:#2d6a4f;border-color:#86efac;font-weight:700}.manual-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem;width:100%;box-sizing:border-box}.btn-manual-action{min-height:36px;background:#fff;border:1.5px solid rgba(107,144,128,.28);border-radius:10px;font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;color:#1f3a30;transition:all .2s ease;padding:.35rem .5rem;text-align:center;box-sizing:border-box;min-width:0;white-space:normal}.btn-manual-action:hover{background:#f0fdf4;border-color:#2d6a4f;color:#2d6a4f}.btn-manual-action.btn-skip{color:#52796f}.btn-manual-action.btn-skip:hover{background:#f8fafc;border-color:#64748b;color:#334155}.auto-drip-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#f8fafc;border:1.5px solid rgba(107,144,128,.2);border-radius:12px;padding:.75rem .95rem;box-sizing:border-box;width:100%}.toggle-label-wrap{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.toggle-title{font-size:.88rem;font-weight:700;color:#1f3a30;word-break:break-word}.toggle-desc{font-size:.78rem;color:#52796f;line-height:1.35;word-break:break-word}.ios-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.ios-switch input{opacity:0;width:0;height:0}.ios-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.ios-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.ios-switch input:checked+.ios-slider{background-color:#2d6a4f}.ios-switch input:checked+.ios-slider:before{transform:translate(20px)}.schedule-plan-card,.seven-day-plan-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.schedule-card-header,.plan-header-row{display:flex;align-items:center;margin-bottom:.75rem;padding-bottom:.55rem;border-bottom:1px solid rgba(107,144,128,.18);width:100%}.schedule-card-title,.plan-title-box{display:flex;align-items:center;gap:.45rem;min-width:0}.cal-icon{color:#2d6a4f;flex-shrink:0}.schedule-card-title h3,.plan-title-box h3{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.schedule-day-tabs-row,.seven-days-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:.75rem;width:100%;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.schedule-day-tabs-row::-webkit-scrollbar,.seven-days-strip::-webkit-scrollbar{display:none;width:0;height:0}.day-tab-pill,.day-strip-btn{width:100%;min-height:52px;padding:.35rem .15rem;border-radius:10px;border:1.5px solid rgba(107,144,128,.25);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;cursor:pointer;transition:all .2s ease;box-sizing:border-box;min-width:0}.day-tab-pill:hover,.day-strip-btn:hover{background:#f0fdf4;border-color:#2d6a4f}.day-tab-pill.active,.day-strip-btn.active{background:#cce3de;border-color:#2d6a4f;box-shadow:0 2px 6px #2d6a4f26}.tab-day-label,.day-btn-name{font-size:.8rem;font-weight:700;color:#1f3a30;word-break:break-word}.tab-amount-tag,.day-btn-vol{font-size:.72rem;font-weight:700;padding:.1rem .35rem;border-radius:5px;white-space:nowrap}.tab-water-needed{color:#15803d;background:#dcfce7}.tab-rest-day{color:#64748b;background:#f1f5f9}.selected-day-detail-panel,.day-showcase-box{background:linear-gradient(135deg,#f6fff8,#fff);border:1.5px solid rgba(107,144,128,.22);border-radius:12px;padding:.95rem 1.1rem;display:flex;flex-direction:column;gap:.65rem;box-sizing:border-box;width:100%;min-width:0}.detail-header-row,.showcase-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.45rem;width:100%}.detail-date-title{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.95rem;color:#1f3a30;min-width:0}.forecast-verified-badge{font-size:.74rem;font-weight:600;color:#2d6a4f;display:inline-flex;align-items:center;gap:.25rem;background:#2d6a4f1a;padding:.15rem .45rem;border-radius:999px;white-space:nowrap}.detail-amount-chip{font-size:1rem;font-weight:700;padding:.25rem .7rem;border-radius:8px;white-space:nowrap;flex-shrink:0}.detail-amount-chip.chip-water{background:#dcfce7;color:#15803d;border:1px solid #86efac}.detail-amount-chip.chip-rest{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;box-sizing:border-box}.detail-metric-col{display:flex;flex-direction:column;gap:.15rem;min-width:0}.metric-tiny-label{font-size:.74rem;font-weight:600;color:#52796f;text-transform:uppercase;letter-spacing:.04em}.metric-value-text{font-size:.88rem;font-weight:700;color:#1f3a30;word-break:break-word}.detail-reason-box{display:flex;align-items:flex-start;gap:.5rem;background:#fff;padding:.6rem .85rem;border-radius:8px;border:1px solid rgba(107,144,128,.18);box-sizing:border-box;width:100%;word-break:break-word;overflow-wrap:anywhere}.reason-bullet-icon{font-size:.95rem;flex-shrink:0}.reason-text{margin:0;font-size:.84rem;line-height:1.4;color:#2c4a3e;word-break:break-word;overflow-wrap:anywhere}.sensor-trends-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1.15rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.trends-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.85rem;padding-bottom:.55rem;border-bottom:1px solid rgba(107,144,128,.18);width:100%}.trends-title-wrap{display:flex;align-items:center;gap:.45rem;color:#2d6a4f;min-width:0}.trends-title-wrap h3{margin:0;font-size:1.05rem;font-weight:700;color:#1f3a30;letter-spacing:-.01em;word-break:break-word}.trends-range-toggle{display:inline-flex;background:#f1f5f9;padding:.15rem;border-radius:8px;gap:.15rem}.btn-range-pill{padding:.25rem .75rem;border-radius:6px;border:none;background:transparent;font-size:.78rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-range-pill.active{background:#2d6a4f;color:#fff;box-shadow:0 2px 5px #2d6a4f33}.history-loading-wrap{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:#52796f;font-weight:600;font-size:.88rem}.mini-sparkline-box{display:flex;flex-direction:column;gap:.75rem;width:100%}.sparkline-metric-tabs{display:flex;gap:.4rem;flex-wrap:wrap;width:100%}.spark-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:8px;border:1.5px solid rgba(107,144,128,.25);background:#fff;font-size:.8rem;font-weight:600;color:#52796f;cursor:pointer;transition:all .2s ease;box-sizing:border-box}.spark-tab:hover{border-color:#2d6a4f;color:#2d6a4f}.spark-tab.active-moisture{background:#e0f2fe;border-color:#0284c7;color:#0284c7}.spark-tab.active-temp{background:#fef3c7;border-color:#d97706;color:#d97706}.spark-tab.active-humidity{background:#dcfce7;border-color:#16a34a;color:#16a34a}.sparkline-stats-row{display:flex;gap:.4rem;flex-wrap:wrap;width:100%}.stat-pill{font-size:.74rem;color:#52796f;background:#f8fafc;padding:.2rem .5rem;border-radius:6px;border:1px solid rgba(107,144,128,.15);box-sizing:border-box}.stat-pill strong{color:#1f3a30}.history-chart-wrapper{position:relative;width:100%;max-width:100%;background:radial-gradient(circle at 50% 20%,#f0fdf466,#fff 80%);border-radius:12px;border:1.5px solid rgba(107,144,128,.2);padding:.5rem .65rem .35rem;box-sizing:border-box;overflow:hidden}.history-svg-chart{width:100%;max-width:100%;height:125px;min-height:110px;overflow:visible;display:block}.chart-axis-text{font-size:9.5px;fill:#64748b;font-weight:500;font-family:inherit}.chart-target-text{font-size:9px;fill:#15803d;font-weight:600;font-family:inherit}.chart-tooltip-box{position:absolute;transform:translate(-50%,-100%);background:#0f172aeb;color:#fff;padding:.25rem .55rem;border-radius:6px;font-size:.74rem;font-weight:600;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #00000038;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15)}.chart-tooltip-box:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(15,23,42,.92) transparent transparent transparent}:root.dark .history-chart-wrapper,[data-theme=dark] .history-chart-wrapper,body.dark-theme .history-chart-wrapper{background:radial-gradient(circle at 50% 20%,#14532d26,#0f172af2 80%);border-color:#4ade8033}:root.dark .chart-axis-text,[data-theme=dark] .chart-axis-text,body.dark-theme .chart-axis-text{fill:#94a3b8}:root.dark .chart-target-text,[data-theme=dark] .chart-target-text,body.dark-theme .chart-target-text{fill:#86efac}.device-info-card{background:linear-gradient(135deg,#fff,#fbfdfb);border:1.5px solid rgba(107,144,128,.22);border-radius:16px;padding:1rem 1.25rem;box-shadow:0 4px 16px #1f3a3008;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.device-info-accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;gap:.5rem}.device-title-left{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;min-width:0;flex:1}.device-title-left h4{margin:0;font-size:.98rem;font-weight:700;color:#1f3a30;word-break:break-word}.pulse-chip-iot{font-size:.72rem;font-weight:700;background:#dcfce7;color:#15803d;padding:.12rem .5rem;border-radius:999px;border:1px solid #86efac;white-space:nowrap;flex-shrink:0}.btn-toggle-info{background:transparent;border:none;color:#52796f;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.device-details-body{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(107,144,128,.18);display:flex;flex-direction:column;gap:.5rem;width:100%;box-sizing:border-box}.info-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.3rem;font-size:.84rem;color:#52796f;word-break:break-word}.info-row strong{color:#1f3a30;font-weight:600;word-break:break-word}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.25rem;animation:fadeIn .2s ease-out;box-sizing:border-box}.confirm-modal-box{background:#fff;border-radius:18px;padding:1.5rem;width:100%;max-width:400px;border:1.5px solid rgba(107,144,128,.25);box-shadow:0 16px 40px #0000001f;animation:scaleUp .25s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.confirm-modal-box h3{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;color:#1f3a30;word-break:break-word}.confirm-modal-prompt{font-size:.9rem;line-height:1.5;color:#2c4a3e;margin:0 0 1.25rem;word-break:break-word}.confirm-btn-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;box-sizing:border-box}.btn-modal-cancel{min-height:40px;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.88rem;font-weight:600;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all .2s ease;box-sizing:border-box}.btn-modal-cancel:hover{background:#f1f5f9;border-color:#94a3b8}.btn-modal-proceed{min-height:40px;background:linear-gradient(135deg,#2d6a4f,#1b4332);border:none;border-radius:10px;font-size:.88rem;font-weight:700;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;box-shadow:0 3px 10px #2d6a4f40;transition:all .2s ease;box-sizing:border-box}.btn-modal-proceed:hover{background:linear-gradient(135deg,#367d5e,#22543d);transform:translateY(-1px);box-shadow:0 5px 14px #2d6a4f59}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.farmer-iot-hub{width:100%;max-width:100%;overflow-x:hidden;padding-bottom:1.5rem;gap:.95rem}.hub-top-bar{flex-direction:column;align-items:stretch;gap:.6rem;padding:.65rem .85rem;border-radius:12px}.btn-hub-refresh{width:100%;justify-content:center}.single-status-line{justify-content:center;font-size:.78rem;flex-wrap:wrap;text-align:center}.watering-hub-two-col-layout{grid-template-columns:minmax(0,1fr);gap:.95rem}.plant-specimen-header-card{padding:.85rem;border-radius:14px;gap:.65rem}.specimen-badge-row{gap:.35rem}.garden-tag-pill,.flowering-chip{font-size:.74rem;padding:.18rem .5rem}.hub-decision-hero{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem;border-radius:14px}.decision-hero-main{flex:1 1 100%;gap:.75rem}.decision-hero-icon{width:38px;height:38px;border-radius:10px}.decision-hero-title{font-size:1.05rem}.decision-hero-subtitle{font-size:.82rem}.decision-hero-actions{width:100%}.btn-hero-dispense{width:100%;justify-content:center;padding:.65rem .85rem}.sensor-matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.gauge-box{padding:.75rem .65rem;border-radius:12px}.gauge-big-num{font-size:1.2rem}.ai-suggestion-card,.device-info-card,.weather-forecast-strip-card,.water-actuator-control-card,.schedule-plan-card,.seven-day-plan-card,.sensor-trends-card{padding:.95rem .85rem;border-radius:14px}.weather-strip-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.weather-metric-chips{width:100%}.weather-chip{font-size:.74rem;padding:.2rem .5rem}.three-day-forecast-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.forecast-mini-card{padding:.55rem .25rem;border-radius:10px}.forecast-day-name{font-size:.78rem}.forecast-temp-val{font-size:.98rem}.forecast-rain-prob{font-size:.7rem}.actuator-top-row{flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.actuator-title-box h3{font-size:.98rem}.tank-level-chip{font-size:.74rem;padding:.2rem .55rem}.daily-usage-tracker-bar{padding:.65rem .75rem;margin-bottom:.75rem}.usage-text-row{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:.78rem}.touch-dose-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:.65rem}.dose-pill-btn{font-size:.76rem;padding:.35rem .2rem;min-height:36px;line-height:1.2}.btn-main-dispense{font-size:.88rem;padding:.65rem .75rem;min-height:40px}.manual-actions-row{display:flex;flex-direction:column;width:100%;gap:.45rem;margin-bottom:.75rem}.btn-manual-action{width:100%;min-height:38px;justify-content:center;padding:.4rem .65rem;font-size:.8rem}.auto-drip-toggle-row{padding:.65rem .75rem;gap:.65rem}.schedule-day-tabs-row,.seven-days-strip{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:.4rem;padding-bottom:4px;width:100%;box-sizing:border-box}.schedule-day-tabs-row::-webkit-scrollbar,.seven-days-strip::-webkit-scrollbar{display:none;width:0;height:0}.day-tab-pill,.day-strip-btn{flex:0 0 64px;min-width:64px;min-height:50px;padding:.3rem .15rem}.tab-day-label,.day-btn-name{font-size:.78rem}.tab-amount-tag,.day-btn-vol{font-size:.7rem}.selected-day-detail-panel,.day-showcase-box{padding:.85rem;gap:.65rem}.detail-header-row{gap:.35rem}.detail-date-title{font-size:.9rem}.forecast-verified-badge{font-size:.7rem;padding:.15rem .4rem}.detail-amount-chip{font-size:.92rem;padding:.2rem .55rem}.detail-grid{gap:.55rem}.metric-value-text{font-size:.84rem}.detail-reason-box{padding:.55rem .75rem}.reason-text{font-size:.8rem}.trends-card-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.trends-range-toggle{flex-shrink:0}.spark-tab{padding:.25rem .55rem;font-size:.76rem}.history-chart-wrapper{padding:.4rem}.history-svg-chart{height:115px}.device-title-left h4{font-size:.92rem}.pulse-chip-iot{font-size:.7rem;padding:.1rem .4rem}.info-row{font-size:.78rem}}@media(max-width:480px){.sensor-matrix-grid{grid-template-columns:minmax(0,1fr);gap:.55rem}.gauge-box{padding:.65rem .6rem}.plant-title-text{font-size:1.15rem}.plant-variety-text{font-size:.8rem}.decision-hero-title{font-size:.98rem}.actuator-title-box h3,.schedule-card-title h3,.ai-header-left h3,.weather-strip-title h4,.trends-title-wrap h3{font-size:.95rem}.touch-dose-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.dose-pill-btn{font-size:.72rem;padding:.3rem .12rem;min-height:34px}.day-tab-pill,.day-strip-btn{flex:0 0 58px;min-width:58px;min-height:48px}.detail-grid{grid-template-columns:minmax(0,1fr);gap:.45rem}.confirm-modal-box{padding:1.1rem .9rem;border-radius:14px}.confirm-modal-box h3{font-size:1.05rem}.confirm-modal-prompt{font-size:.84rem;margin-bottom:1rem}}@media(max-width:360px){.three-day-forecast-row{grid-template-columns:minmax(0,1fr);gap:.35rem}.forecast-mini-card{flex-direction:row;justify-content:space-between;padding:.5rem .75rem}}.watering-tab{padding:1.25rem 1.6rem 2.25rem;max-width:1280px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:20px;border:1px solid rgba(107,144,128,.22);box-shadow:0 8px 32px #1f3a300a;transition:all .3s cubic-bezier(.16,1,.3,1);box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.watering-tab:hover{box-shadow:0 12px 40px #1f3a3012}.watering-page-header,.crop-page-header{margin-bottom:1rem;width:100%;box-sizing:border-box}.watering-header-badge,.crop-header-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1f3a30;background:#cce3de;border-radius:999px;margin-bottom:.45rem;max-width:100%;box-sizing:border-box;word-break:break-word}.header-badge-icon{color:#2d6a4f;flex-shrink:0}.watering-tab h2,.crop-page-header h2{color:#1f3a30;margin:0 0 .25rem;font-size:1.55rem;font-weight:700;letter-spacing:-.02em;word-break:break-word}.watering-tab .subtitle,.crop-page-header .subtitle{color:#52796f;margin:0;font-size:.9rem;line-height:1.45;max-width:800px;word-break:break-word}@media(max-width:768px){.watering-tab{padding:.85rem .65rem 1.75rem;border-radius:14px;margin:0;width:100%;max-width:100%}.crop-page-header{margin-bottom:.75rem}.crop-header-badge{font-size:.72rem;padding:.2rem .6rem;margin-bottom:.35rem}.watering-tab h2,.crop-page-header h2{font-size:1.25rem;line-height:1.3}.watering-tab .subtitle,.crop-page-header .subtitle{font-size:.82rem;line-height:1.4}}@media(max-width:480px){.watering-tab{padding:.65rem .45rem 1.5rem;border-radius:12px}.watering-tab h2,.crop-page-header h2{font-size:1.15rem}.watering-tab .subtitle,.crop-page-header .subtitle{font-size:.78rem}}.task-card{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));margin-bottom:.5rem;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.task-card:hover{box-shadow:0 4px 12px #2c24210f;transform:translateY(-1px)}.task-card.completed{opacity:.6;border-color:var(--border-light, rgba(220, 210, 200, .4))}.task-card.completed .task-title{text-decoration:line-through;color:var(--text-muted, #7c6f66)}.task-card.overdue{border-color:#c8968c66;background:#c8968c0a}.task-card-left{display:flex;align-items:flex-start;gap:.8rem;flex:1;min-width:0}.complete-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-light, rgba(220, 210, 200, .4));background:none;color:var(--text-muted, #7c6f66);font-size:.8rem;cursor:pointer;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1));display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}.complete-btn:hover{border-color:var(--accent-sage, #8ea89d);color:var(--accent-sage, #8ea89d)}.complete-btn.checked{border-color:var(--accent-sage, #8ea89d);background:var(--accent-sage, #8ea89d);color:#fff}.task-content{flex:1;min-width:0}.task-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-icon{font-size:1rem;flex-shrink:0}.task-title{font-weight:500;color:var(--text-main, #2c2421);font-size:.95rem;overflow-wrap:break-word;word-break:normal;flex:1 1 auto;min-width:0}.task-title.strikethrough{text-decoration:line-through;color:var(--text-muted, #7c6f66)}.priority-badge{font-size:.65rem;padding:.05rem .6rem;border-radius:10px;font-weight:500;border:1px solid transparent;flex-shrink:0}.priority-badge.high{color:#c8968c;background:#c8968c1a;border-color:#c8968c33}.priority-badge.medium{color:#dfb19b;background:#dfb19b1a;border-color:#dfb19b33}.priority-badge.low{color:var(--accent-sage, #8ea89d);background:#8ea89d1a;border-color:#8ea89d33}.task-description{font-size:.85rem;color:var(--text-muted, #7c6f66);margin:.2rem 0 .3rem;line-height:1.3;overflow-wrap:break-word;word-break:normal}.task-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:var(--text-muted, #7c6f66)}.task-type{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.05rem .5rem;border-radius:var(--radius-md, 12px)}.task-plant{background:#8ea89d14;border:1px solid rgba(142,168,157,.2);padding:.05rem .5rem;border-radius:var(--radius-md, 12px);color:var(--accent-sage, #8ea89d)}.task-garden{background:#b0c4de14;border:1px solid rgba(176,196,222,.2);padding:.05rem .5rem;border-radius:var(--radius-md, 12px);color:var(--accent-blue, #b0c4de)}.task-due{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.05rem .5rem;border-radius:var(--radius-md, 12px)}.task-due.overdue{background:#c8968c14;border-color:#c8968c4d;color:#c8968c}.task-recurring{background:#a8a2bc14;border:1px solid rgba(168,162,188,.2);padding:.05rem .5rem;border-radius:var(--radius-md, 12px);color:var(--accent-lavender, #a8a2bc)}.task-card-right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.action-icon-btn{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .5));font-size:1.05rem;cursor:pointer;width:32px;height:32px;padding:0;border-radius:var(--radius-md, 8px);transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted, #7c6f66)}.action-icon-btn:hover{background:var(--bg-primary, #fbf9f7);transform:translateY(-1px)}.action-icon-btn.snooze-btn:hover{color:#2c5e3b;border-color:#2c5e3b4d;background:#2c5e3b0d}.action-icon-btn.edit-btn:hover{color:#2c5e3b;border-color:#2c5e3b59;background:#2c5e3b0f}.action-icon-btn.delete-btn:hover{color:#dc2626;border-color:#dc262659;background:#dc26260f}@media(max-width:480px){.task-card{flex-wrap:wrap;padding:.65rem .75rem;gap:.5rem}.task-card-left{width:100%;min-width:0;align-items:flex-start;gap:.6rem}.task-content{width:calc(100% - 36px);min-width:0}.task-header{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;width:100%}.task-title{font-size:.9rem;overflow-wrap:break-word;word-break:normal;flex:1 1 auto;min-width:0}.priority-badge{margin-left:0;flex-shrink:0}.task-card-right{width:100%;justify-content:flex-end;margin-top:.25rem;padding-top:.35rem;border-top:1px dashed var(--border-light, rgba(220, 210, 200, .4))}.task-meta{font-size:.7rem;gap:.35rem}}.task-form-modal{max-width:500px;width:92%;max-height:calc(100vh - 3rem);overflow-y:auto;padding:1.25rem 1.5rem;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 16px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));box-shadow:0 12px 48px #2c24211f;box-sizing:border-box}.task-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4))}.task-form-header h3{margin:0;color:var(--text-main, #2c2421);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.task-modal-close{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--text-muted, #7c6f66);cursor:pointer;padding:2px 6px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.task-modal-close:hover{background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421)}.task-compact-form .form-group{margin-bottom:.65rem}.task-compact-form label{display:block;margin-bottom:.25rem;color:var(--text-main, #2c2421);font-weight:600;font-size:.8rem;letter-spacing:-.01em}.task-compact-form input,.task-compact-form select,.task-compact-form textarea{width:100%;padding:.45rem .7rem;border:1px solid var(--border-light, rgba(220, 210, 200, .5));border-radius:var(--radius-md, 10px);font-size:.88rem;background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421);transition:all .2s ease;font-family:inherit;box-sizing:border-box}.task-compact-form input:focus,.task-compact-form select:focus,.task-compact-form textarea:focus{outline:none;border-color:var(--sage, #2c5e3b);background:var(--surface-primary, #ffffff);box-shadow:0 0 0 2.5px #2c5e3b1f}.task-compact-form input::placeholder,.task-compact-form textarea::placeholder{color:var(--text-muted, #7c6f66);opacity:.7}.task-compact-form textarea{resize:vertical;min-height:48px;max-height:75px;line-height:1.4}.task-compact-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237c6f66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:10px;padding-right:2rem;cursor:pointer}.task-compact-form select:hover{border-color:var(--sage, #2c5e3b)}.task-compact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.task-compact-form .form-row-align-end{align-items:flex-end}.recurring-checkbox-card{display:flex!important;align-items:center;gap:.5rem;padding:.45rem .7rem;height:35px;margin-bottom:0!important;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-md, 10px);border:1px solid var(--border-light, rgba(220, 210, 200, .5));cursor:pointer;box-sizing:border-box;transition:all .2s ease}.recurring-checkbox-card:hover{border-color:var(--sage, #2c5e3b);background:var(--surface-primary, #ffffff)}.recurring-checkbox-card input[type=checkbox]{width:16px;height:16px;accent-color:var(--sage, #2c5e3b);cursor:pointer;flex-shrink:0;padding:0;margin:0}.recurring-label-text{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-main, #2c2421)}.recurring-config-row{margin-top:-.2rem;padding:.4rem .5rem;background:#2c5e3b0a;border-radius:8px;border:1px dashed var(--border-light, rgba(220, 210, 200, .6));margin-bottom:.65rem}.task-compact-form .form-actions{display:flex;gap:.6rem;margin-top:.85rem;padding-top:.65rem;border-top:1px solid var(--border-light, rgba(220, 210, 200, .4));justify-content:flex-end}.task-compact-form .btn-secondary{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .5));padding:.45rem 1.25rem;border-radius:var(--radius-md, 10px);color:var(--text-main, #2c2421);font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.task-compact-form .btn-secondary:hover{background:var(--surface-primary, #ffffff);border-color:var(--text-muted, #7c6f66);transform:translateY(-1px)}.task-compact-form .btn-primary{background:var(--sage, #2c5e3b);border:1px solid var(--sage, #2c5e3b);padding:.45rem 1.5rem;border-radius:var(--radius-md, 10px);color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:600;min-width:90px}.task-compact-form .btn-primary:hover{background:#234c2e;border-color:#234c2e;transform:translateY(-1px);box-shadow:0 4px 12px #2c5e3b33}.task-compact-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:480px){.task-form-modal{padding:1rem;max-width:100%;margin:.5rem}.task-compact-form .form-row{grid-template-columns:1fr;gap:0}}.calendar-view{background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 14px);padding:.25rem 0;width:100%;box-sizing:border-box}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));flex-wrap:wrap;gap:.75rem}.cal-nav-left{display:flex;gap:.35rem;align-items:center}.cal-nav-btn{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));font-size:.82rem;font-weight:500;cursor:pointer;padding:.35rem .75rem;border-radius:var(--radius-md, 10px);transition:all .2s ease;color:var(--text-main, #2c2421);display:inline-flex;align-items:center;gap:.25rem}.cal-nav-btn:hover{background:var(--surface-primary, #ffffff);border-color:var(--sage, #2c5e3b);color:var(--sage, #2c5e3b);transform:translateY(-1px)}.cal-nav-btn.today-btn{background:var(--sage, #2c5e3b);color:#fff;border-color:var(--sage, #2c5e3b);font-weight:600}.cal-nav-btn.today-btn:hover{background:#234c2e;border-color:#234c2e;color:#fff}.cal-title{color:var(--text-main, #2c2421);margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.01em;text-align:center}.cal-scale-switcher{display:flex;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 10px);padding:2px}.scale-btn{border:none;background:none;padding:.3rem .75rem;font-size:.8rem;font-weight:500;border-radius:8px;cursor:pointer;color:var(--text-muted, #7c6f66);transition:all .2s ease}.scale-btn.active{background:var(--surface-primary, #ffffff);color:var(--text-main, #2c2421);box-shadow:0 1px 4px #2c242114;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;width:100%;box-sizing:border-box}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted, #7c6f66);padding:.35rem .1rem;letter-spacing:.5px;text-transform:uppercase;min-width:0;background:none;border:none}.calendar-day{position:relative;min-height:100px;height:auto;width:100%;min-width:0;box-sizing:border-box;padding:.45rem;border-radius:var(--radius-md, 10px);background:var(--bg-primary, #fbf9f7);cursor:pointer;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));display:flex;flex-direction:column;border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.calendar-day:hover{background:var(--surface-primary, #ffffff);border-color:var(--sage, #2c5e3b);box-shadow:0 4px 14px #2c24210f}.calendar-day.empty{background:none;cursor:default;border-color:transparent;min-height:100px}.calendar-day.empty:hover{transform:none;box-shadow:none;border-color:transparent}.calendar-day.today{border:2px solid var(--sage, #2c5e3b);background:#2c5e3b0d;box-shadow:0 2px 8px #2c5e3b14}.calendar-day.selected{border-color:var(--sage, #2c5e3b);box-shadow:0 0 0 2px #2c5e3b40}.calendar-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;min-width:0}.calendar-day .day-number{font-size:.82rem;font-weight:600;color:var(--text-main, #2c2421);line-height:1}.calendar-day .day-number.today-num{background:var(--sage, #2c5e3b);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.day-task-count-pill{font-size:.62rem;font-weight:700;color:#fff;background:var(--sage, #2c5e3b);padding:1px 6px;border-radius:999px;line-height:1.2}.cal-day-tasks-list{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0}.cal-task-chip{display:flex;align-items:center;gap:.3rem;padding:.22rem .4rem;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;border:1px solid rgba(220,210,200,.4);transition:all .15s ease;background:#fff;width:100%;min-width:0;box-sizing:border-box}.cal-task-chip:hover{transform:translateY(-1px);box-shadow:0 3px 8px #2c24211a}.cal-task-chip.type-watering,.week-task-card.type-watering,.popup-task-item.type-watering{background:#f0f9ff;border-color:#bae6fd;color:#0369a1;border-left:3.5px solid #0284c7}.cal-task-chip.type-fertilizing,.week-task-card.type-fertilizing,.popup-task-item.type-fertilizing{background:#faf5ff;border-color:#e9d5ff;color:#7e22ce;border-left:3.5px solid #a855f7}.cal-task-chip.type-planting,.week-task-card.type-planting,.popup-task-item.type-planting{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;border-left:3.5px solid #22c55e}.cal-task-chip.type-harvesting,.week-task-card.type-harvesting,.popup-task-item.type-harvesting{background:#fffbeb;border-color:#fde68a;color:#b45309;border-left:3.5px solid #f59e0b}.cal-task-chip.type-pruning,.week-task-card.type-pruning,.popup-task-item.type-pruning{background:#f0fdfa;border-color:#99f6e4;color:#0f766e;border-left:3.5px solid #14b8a6}.cal-task-chip.type-pest_check,.week-task-card.type-pest_check,.popup-task-item.type-pest_check{background:#fff1f2;border-color:#fecdd3;color:#be123c;border-left:3.5px solid #f43f5e}.cal-task-chip.type-other,.week-task-card.type-other,.popup-task-item.type-other{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6;border-left:3.5px solid #8b5cf6}.cal-task-chip.completed,.week-task-card.completed,.popup-task-item.completed{opacity:.55;text-decoration:line-through;background:#f3f4f6!important;border-color:#e5e7eb!important;color:#6b7280!important;border-left:3.5px solid #9ca3af!important}.cal-task-chip .chip-icon{font-size:.78rem;display:inline-flex;align-items:center;flex-shrink:0}.cal-task-chip .chip-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;line-height:1.2}.cal-task-chip .chip-quick-check{background:none;border:none;padding:1px;color:inherit;opacity:0;cursor:pointer;border-radius:4px;display:flex;align-items:center;transition:opacity .15s ease;flex-shrink:0}.cal-task-chip:hover .chip-quick-check{opacity:1}.cal-task-chip .chip-quick-check:hover{background:#0000001a}.cal-more-chip{font-size:.65rem;font-weight:600;color:var(--sage, #2c5e3b);padding:.1rem .35rem;border-radius:4px;background:#2c5e3b14;text-align:center;cursor:pointer;transition:all .15s ease}.cal-more-chip:hover{background:#2c5e3b29}.day-tasks-popup{position:absolute;top:100%;left:0;background:var(--surface-primary, #ffffff);border-radius:var(--radius-md, 14px);box-shadow:0 12px 36px #2c242124,0 2px 8px #2c24210a;padding:.85rem;z-index:50;width:260px;max-width:90vw;margin-top:6px;border:1px solid var(--border-light, rgba(220, 210, 200, .6));animation:slideDownPop .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.calendar-day.align-popup-right .day-tasks-popup{left:auto;right:0}@keyframes slideDownPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.popup-header{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:700;color:var(--text-main, #2c2421);margin-bottom:.55rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4))}.popup-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted, #7c6f66);padding:.15rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth, all .2s ease)}.popup-close:hover{background:var(--bg-primary, #fbf9f7);color:var(--text-main, #2c2421)}.popup-tasks-list{display:flex;flex-direction:column;gap:.4rem;max-height:220px;overflow-y:auto}.popup-task-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:8px;background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));transition:all .15s ease}.popup-task-item:hover{background:var(--surface-primary, #ffffff);border-color:var(--sage, #2c5e3b);box-shadow:0 2px 8px #2c24210d}.popup-task-item.high{border-left:3px solid #ef4444}.popup-task-item.medium{border-left:3px solid #f59e0b}.popup-task-item.low{border-left:3px solid #10b981}.popup-task-item.completed{opacity:.6}.popup-task-item.completed .popup-task-title{text-decoration:line-through}.popup-task-icon{font-size:1rem;display:flex;align-items:center;flex-shrink:0}.popup-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.popup-task-title{font-size:.78rem;font-weight:600;color:var(--text-main, #2c2421);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-task-plant{font-size:.68rem;color:var(--sage, #2c5e3b);font-weight:500}.popup-task-desc{font-size:.68rem;color:var(--text-muted, #7c6f66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-task-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.btn-done-mini,.btn-edit-mini{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .6));border-radius:6px;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--text-muted, #7c6f66);transition:all .15s ease}.btn-done-mini:hover{background:var(--sage, #2c5e3b);color:#fff;border-color:var(--sage, #2c5e3b)}.btn-edit-mini:hover{background:var(--bg-primary, #fbf9f7);color:var(--sage, #2c5e3b);border-color:var(--sage, #2c5e3b)}.popup-empty{text-align:center;color:var(--text-muted, #7c6f66);font-style:italic;font-size:.8rem;padding:.6rem 0}.week-view-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;min-height:350px;width:100%;box-sizing:border-box}.week-day-col{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);padding:.6rem;display:flex;flex-direction:column;min-width:0;box-sizing:border-box}.week-day-col.today{border-color:var(--sage, #2c5e3b);background:#2c5e3b0a}.week-col-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.4rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4));margin-bottom:.5rem}.week-day-name{font-size:.72rem;font-weight:600;color:var(--text-muted, #7c6f66);text-transform:uppercase}.week-day-num{font-size:.88rem;font-weight:700;color:var(--text-main, #2c2421)}.week-col-tasks{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.week-task-card{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:8px;padding:.4rem .5rem;font-size:.75rem;display:flex;gap:.35rem;align-items:flex-start;transition:transform .2s ease;min-width:0;box-sizing:border-box}.week-task-card:hover{transform:translateY(-1px);box-shadow:0 2px 6px #2c24210f;border-color:var(--sage, #2c5e3b)}.week-task-card.high{border-left:3px solid #ef4444}.week-task-card.medium{border-left:3px solid #f59e0b}.week-task-card.low{border-left:3px solid #10b981}.week-task-content{flex:1;min-width:0}.week-task-title{margin:0;font-size:.74rem;font-weight:600;color:var(--text-main, #2c2421);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-task-desc{margin:.15rem 0 0;font-size:.68rem;color:var(--text-muted, #7c6f66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-check-task{background:none;border:1px solid var(--border-light, rgba(220, 210, 200, .6));border-radius:4px;cursor:pointer;font-size:.7rem;color:var(--sage, #2c5e3b);padding:.1rem .3rem;display:flex;align-items:center;justify-content:center}.btn-check-task:hover{background:var(--sage, #2c5e3b);color:#fff}.week-empty-slot{font-size:.7rem;color:var(--text-muted, #7c6f66);text-align:center;margin-top:1rem;font-style:italic;opacity:.6}.day-schedule-view{padding:.25rem}.day-schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4))}.day-schedule-header h4{margin:0;font-size:1.1rem;color:var(--text-main, #2c2421)}.day-task-count{font-size:.82rem;color:var(--text-muted, #7c6f66)}.day-tasks-container{display:flex;flex-direction:column;gap:.75rem}.day-task-card{background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));border-radius:var(--radius-md, 12px);padding:.9rem 1.15rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.day-task-main{display:flex;gap:.85rem;align-items:flex-start;flex:1}.day-task-icon{font-size:1.4rem}.day-task-info h4{margin:0 0 .25rem;font-size:.95rem;color:var(--text-main, #2c2421)}.day-task-info p{margin:0 0 .45rem;font-size:.82rem;color:var(--text-muted, #7c6f66)}.day-task-badges{display:flex;gap:.4rem;align-items:center}.badge-priority{font-size:.68rem;padding:.12rem .5rem;border-radius:999px;text-transform:uppercase;font-weight:600}.badge-priority.high{background:#fee2e2;color:#b91c1c}.badge-priority.medium{background:#fef3c7;color:#b45309}.badge-priority.low{background:#d1fae5;color:#047857}.badge-type{font-size:.68rem;padding:.12rem .5rem;border-radius:999px;background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(220, 210, 200, .5));color:var(--text-muted, #7c6f66);text-transform:capitalize}.day-task-actions{display:flex;gap:.4rem}.day-empty-state{text-align:center;padding:2.5rem 1rem;background:var(--bg-primary, #fbf9f7);border-radius:var(--radius-md, 14px);border:1px solid var(--border-light, rgba(220, 210, 200, .4))}.day-empty-icon{font-size:2.2rem;color:var(--sage, #2c5e3b);margin-bottom:.4rem}.day-empty-state h3{margin:0 0 .25rem;color:var(--text-main, #2c2421);font-size:1.1rem}.day-empty-state p{color:var(--text-muted, #7c6f66);font-size:.85rem;margin:0}@media(max-width:900px){.calendar-grid{gap:3px}.calendar-day{min-height:80px;padding:.3rem}.cal-task-chip .chip-title{font-size:.65rem}}@media(max-width:600px){.calendar-header{flex-direction:column;align-items:stretch}.cal-nav-left,.cal-scale-switcher{justify-content:center}.calendar-day{min-height:65px;padding:.2rem}.calendar-weekday{font-size:.62rem}}.schedule-tab{padding:2.25rem 2.5rem 3rem;max-width:1200px;margin:0 auto;background:var(--surface-primary, #ffffff);border-radius:var(--radius-lg, 24px);border:1px solid var(--border-light, rgba(107, 144, 128, .22));box-shadow:0 12px 40px #1f3a300f;transition:var(--transition-smooth, all .3s cubic-bezier(.16, 1, .3, 1))}.schedule-tab:hover{box-shadow:0 6px 28px #2c24210a}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light, rgba(220, 210, 200, .4))}.header-left h2{color:var(--text-main, #2c2421);margin:0;font-size:1.5rem;font-weight:500;letter-spacing:-.01em}.task-count{font-size:.85rem;color:var(--text-muted, #7c6f66);background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.1rem .8rem;border-radius:20px;margin-left:.5rem;font-weight:500}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-primary, #fbf9f7);padding:.85rem 1.15rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));display:flex;align-items:center;gap:.85rem;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1))}.stat-card:hover{background:var(--surface-primary, #ffffff);border-color:var(--sage, #2c5e3b);transform:translateY(-1px);box-shadow:0 4px 14px #2c24210d}.stat-card.warning{background:#fff8f8;border-color:#fecaca}.stat-card.warning .stat-value{color:#dc2626}.stat-value{font-size:1.55rem;font-weight:700;color:var(--text-main, #2c2421);line-height:1}.stat-label{font-size:.82rem;color:var(--text-muted, #7c6f66);font-weight:500;line-height:1.2}.schedule-controls{background:var(--bg-primary, #fbf9f7);padding:.75rem 1.25rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));margin-bottom:1.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.search-bar{flex:1 1 200px;position:relative;min-width:180px;max-width:280px}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted, #7c6f66);pointer-events:none}.search-bar input{width:100%;padding:.45rem .8rem .45rem 2.2rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;font-size:.85rem;background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));box-shadow:0 2px 6px #1f3a300a}.search-bar input:focus{outline:none;border-color:var(--sage, #6b9080);box-shadow:0 0 0 3px #6b908033}.search-bar input::placeholder{color:var(--text-muted, #7c6f66)}.view-toggle{display:flex;gap:.2rem;background:var(--surface-primary, #ffffff);padding:.2rem;border-radius:30px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));box-shadow:0 2px 6px #1f3a300a;flex-shrink:0}.view-btn{padding:.35rem .75rem;border:none;border-radius:20px;background:none;color:var(--text-muted, #7c6f66);cursor:pointer;font-size:.8rem;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));font-weight:600}.view-btn.active{background:var(--sage, #6b9080);color:#fff}.view-btn:hover:not(.active){background:#6b90801a;color:var(--text-main, #1f3a30)}.filter-group{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.filter-select{padding:.45rem 1.8rem .45rem 1rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;background:var(--surface-primary, #ffffff);color:var(--text-main, #1f3a30);font-size:.82rem;font-weight:600;cursor:pointer;outline:none;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1));-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23385b4d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:8px;box-shadow:0 2px 6px #1f3a300a}.filter-select:hover{border-color:var(--sage, #6b9080);box-shadow:0 4px 12px #1f3a3014}.filter-select:focus{border-color:var(--sage, #6b9080);box-shadow:0 0 0 3px #6b908033}.toggle-completed{padding:.45rem 1rem;border:1.5px solid var(--border-light, rgba(107, 144, 128, .35));border-radius:30px;background:var(--surface-primary, #ffffff);color:var(--text-muted, #385b4d);font-size:.82rem;font-weight:600;cursor:pointer;margin-left:auto;white-space:nowrap;box-shadow:0 2px 6px #1f3a300a;transition:var(--transition-smooth, all .2s cubic-bezier(.16, 1, .3, 1))}.toggle-completed:hover{border-color:var(--sage, #6b9080);color:var(--text-main, #1f3a30);box-shadow:0 4px 12px #1f3a3014}.toggle-completed.active{border-color:var(--sage, #6b9080);background:var(--sage, #6b9080);color:#fff}.task-list{display:flex;flex-direction:column;gap:1.5rem}.task-group .group-label{color:var(--text-main, #2c2421);font-size:1rem;font-weight:500;margin-bottom:.5rem;padding-bottom:.3rem;border-bottom:2px solid var(--border-light, rgba(220, 210, 200, .4))}.empty-tasks{text-align:center;padding:3rem 2rem;color:var(--text-muted, #7c6f66)}.empty-icon{font-size:3rem;display:block;margin-bottom:.5rem}.empty-tasks h3{color:var(--text-main, #2c2421);margin-bottom:.3rem;font-weight:500}.empty-tasks p{color:var(--text-muted, #7c6f66)}.completed-drawer{margin-top:1.5rem;padding-top:1.5rem;border-top:2px dashed var(--border-light, rgba(220, 210, 200, .4))}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.drawer-header h3{color:var(--text-muted, #7c6f66);margin:0;font-size:1rem;font-weight:500}.drawer-count{font-size:.8rem;color:var(--text-muted, #7c6f66);background:var(--bg-primary, #fbf9f7);border:1px solid var(--border-light, rgba(220, 210, 200, .4));padding:.1rem .8rem;border-radius:20px;font-weight:500}.kanban-board{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.kanban-board{grid-template-columns:1fr}}.kanban-column{background:var(--bg-primary, #fbf9f7);padding:1rem;border-radius:var(--radius-md, 12px);border:1px solid var(--border-light, rgba(220, 210, 200, .4));min-height:200px}.kanban-column h4{color:var(--text-main, #2c2421);margin:0 0 .8rem;padding-bottom:.3rem;border-bottom:2px solid var(--border-light, rgba(220, 210, 200, .4));font-weight:500}.kanban-empty{text-align:center;color:var(--text-muted, #7c6f66);padding:1rem 0;font-style:italic}@media(max-width:768px){.schedule-tab{padding:1.25rem 1.25rem 2rem;border-radius:var(--radius-md, 16px)}.schedule-controls{padding:.75rem 1rem;gap:.75rem}.search-bar{max-width:unset;width:100%}.view-toggle{width:100%;justify-content:center}.view-btn{flex:1;text-align:center;justify-content:center}.filter-group{width:100%}.filter-select{flex:1}.toggle-completed{width:100%;text-align:center;margin-left:0}.stats-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.schedule-tab{padding:.75rem .6rem 2rem}.schedule-header{margin-bottom:1rem;gap:.5rem}.header-left h2{font-size:1.25rem}.stats-overview{grid-template-columns:repeat(2,1fr);gap:.4rem}.stat-card{padding:.55rem .65rem;gap:.4rem}.stat-value{font-size:1.25rem}.stat-label{font-size:.72rem}.filter-group{display:flex;flex-wrap:wrap;gap:.35rem}.filter-select{flex:1 1 calc(50% - .25rem);min-width:110px;font-size:.78rem;padding:.4rem 1.4rem .4rem .75rem}}.schedule-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1rem;color:var(--text-muted, #7c6f66);gap:.75rem}.schedule-spin-icon{font-size:2.2rem;color:var(--sage, #2c5e3b);animation:spin 1s linear infinite}.schedule-loading p{font-size:.95rem;font-weight:500;color:var(--text-muted, #7c6f66);margin:0}.post-card{background:var(--surface, #ffffff);padding:1.35rem 1.6rem;border-radius:20px;border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:var(--shadow-soft, 0 4px 20px rgba(0, 0, 0, .03));transition:all .25s ease;position:relative}.post-card:hover{box-shadow:var(--shadow-lift, 0 8px 26px rgba(0, 0, 0, .06))}.post-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.post-header-left{display:flex;align-items:center;gap:.75rem}.post-avatar{width:44px;height:44px;border-radius:50%;background:var(--background, #f6fff8);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text, #111827);flex-shrink:0;overflow:hidden}.post-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.post-user-info{display:flex;flex-direction:column}.author-line{display:flex;align-items:center;gap:.4rem}.user-name{font-weight:700;color:var(--text, #111827);font-size:.98rem;letter-spacing:-.01em}.user-level-badge{font-size:.75rem;color:var(--primary, #6b9080);display:inline-flex;align-items:center;gap:3px;font-weight:500}.post-sub-line{display:flex;align-items:center;gap:.45rem;margin-top:.1rem}.post-time{font-size:.83rem;color:var(--text-secondary, #9ca3af);font-weight:400}.post-category-pill{font-size:.72rem;padding:.08rem .5rem;border-radius:12px;font-weight:500;display:inline-flex;align-items:center;gap:.2rem;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .06))}.post-category-pill.cat-showcase{color:var(--primary, #6b9080)}.post-category-pill.cat-question{color:#0284c7}.post-category-pill.cat-tip{color:#d97706}.post-category-pill.cat-event{color:#7e22ce}.post-category-pill.cat-general{color:var(--text-secondary, #6b7280)}.post-owner-actions{display:flex;align-items:center;gap:.35rem}.owner-action-btn,.post-more-btn{background:transparent;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s ease}.owner-action-btn.edit-btn:hover{background:var(--background, #f6fff8);color:var(--primary, #6b9080)}.owner-action-btn.delete-btn:hover{background:#fee2e2;color:#ef4444}.post-more-btn:hover{background:var(--background, #f6fff8);color:var(--text, #111827)}.post-body-container{margin:.6rem 0 .85rem}.post-title{color:var(--text, #111827);margin:0 0 .3rem;font-size:1.05rem;font-weight:600;line-height:1.35}.post-body{color:var(--text, #374151);line-height:1.55;margin:0;white-space:pre-wrap;font-size:.95rem;font-weight:400}.expand-btn{background:none;border:none;color:var(--primary, #6b9080);cursor:pointer;font-size:.83rem;padding:.2rem 0;font-weight:500;margin-top:.25rem}.post-image-container{display:flex;justify-content:center;align-items:center;width:100%;margin:.85rem 0 1.1rem}.post-center-image{max-width:650px;width:100%;max-height:420px;object-fit:cover;object-position:center;border-radius:18px;border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:var(--shadow-soft, 0 4px 16px rgba(0, 0, 0, .06));background:var(--background, #f6fff8);display:block;transition:transform .3s ease,box-shadow .3s ease}.post-center-image:hover{transform:scale(1.015);box-shadow:0 6px 20px #0000001a}.post-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.tag{font-size:.78rem;color:var(--primary, #6b9080);background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .06));padding:.12rem .6rem;border-radius:12px;font-weight:500}.post-actions-bar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border, rgba(0, 0, 0, .08));padding-top:.85rem;margin-top:.65rem}.actions-left-group,.actions-right-group{display:flex;align-items:center;gap:1.25rem}.action-icon-btn{background:transparent;border:none;display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary, #4b5563);font-size:1.25rem;cursor:pointer;padding:.25rem .4rem;border-radius:8px;transition:all .2s ease;font-family:inherit}.action-icon-btn:hover{color:var(--text, #111827);transform:scale(1.05)}.action-num{font-size:.9rem;font-weight:500}.action-icon-btn.like-btn.liked,.heart-filled{color:#ef4444}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.action-icon-btn.anim-pop{animation:heartPop .4s cubic-bezier(.175,.885,.32,1.275)}.check-success{color:var(--primary, #6b9080)}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.share-modal-content{background:var(--surface, #ffffff);border-radius:20px;max-width:440px;width:100%;padding:1.4rem 1.6rem;box-shadow:var(--shadow-lift, 0 14px 32px rgba(0, 0, 0, .15));border:1px solid var(--border, rgba(0, 0, 0, .1))}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.share-modal-header h3{margin:0;font-size:1.15rem;font-weight:600;color:var(--text, #111827)}.share-modal-header .close-btn{background:none;border:none;font-size:1.25rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.share-post-preview-title{font-size:.88rem;color:var(--text-secondary, #6b7280);margin:.85rem 0 1.25rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}.share-option-btn{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:.45rem;cursor:pointer;font-size:.78rem;font-weight:500;color:var(--text, #374151);transition:all .2s ease}.share-option-btn:hover{transform:translateY(-2px)}.share-option-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;box-shadow:0 4px 12px #00000014}.share-option-icon.icon-copy{background:#3b82f6}.share-option-icon.icon-whatsapp{background:#25d366}.share-option-icon.icon-apps{background:var(--primary, #6b9080)}.share-option-icon.icon-qr{background:#8b5cf6}.qr-code-container{display:flex;flex-direction:column;align-items:center;padding:.5rem 0}.qr-sub{font-size:.85rem;color:var(--text-secondary, #6b7280);margin-bottom:.85rem}.qr-code-img{width:170px;height:170px;border-radius:12px;border:1px solid var(--border, rgba(0, 0, 0, .1));padding:.5rem;background:#fff}.comments-preview-section{margin-top:.75rem;padding-top:.65rem;border-top:1px dashed var(--border, rgba(0, 0, 0, .08));display:flex;flex-direction:column;gap:.35rem}.preview-comment-row{font-size:.83rem;color:var(--text, #374151);line-height:1.4;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.preview-user{font-weight:600;color:var(--text, #111827)}.preview-text{flex:1}.btn-inline-reply{background:none;border:none;color:var(--primary, #6b9080);font-size:.75rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:2px;padding:0 .3rem;border-radius:8px}.view-all-comments-btn{background:none;border:none;color:var(--text-secondary, #6b7280);font-size:.8rem;font-weight:500;cursor:pointer;text-align:left;padding:.2rem 0;margin-top:.2rem}.view-all-comments-btn:hover{color:var(--text, #111827);text-decoration:underline}.post-comments-expanded{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.comments-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;margin-bottom:.85rem;scrollbar-width:none;-ms-overflow-style:none}.comments-list::-webkit-scrollbar{display:none;width:0;height:0}.comment-item{display:flex;gap:.65rem;background:var(--background, #f6fff8);padding:.65rem .85rem;border-radius:12px;border:1px solid var(--border, rgba(0, 0, 0, .06))}.comment-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-light, #a4c3b2);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;color:var(--text, #111827);flex-shrink:0;overflow:hidden}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-body{flex:1}.comment-meta{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.comment-author{font-weight:600;color:var(--text, #111827)}.comment-time{color:var(--text-secondary, #9ca3af);font-size:.72rem}.comment-actions-right{margin-left:auto;display:flex;align-items:center;gap:.5rem}.btn-reply-comment{background:none;border:none;color:var(--primary, #6b9080);font-size:.75rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:.1rem .35rem;border-radius:8px}.btn-delete-comment{background:none;border:none;color:#ef4444;cursor:pointer;font-size:.85rem;opacity:.7;padding:.1rem .35rem}.comment-form{display:flex;gap:.5rem}.comment-form input{flex:1;padding:.5rem 1rem;border:1px solid var(--border, rgba(0, 0, 0, .12));border-radius:20px;font-size:.85rem;background:var(--background, #f6fff8);color:var(--text, #111827);transition:all .2s ease}.comment-form input:focus{outline:none;border-color:var(--primary, #6b9080);background:var(--surface, #ffffff);box-shadow:0 0 0 3px #6b908026}.comment-form button{padding:.5rem 1.1rem;border:none;border-radius:20px;background:var(--primary, #6b9080);color:#fff;font-weight:500;font-size:.83rem;cursor:pointer;transition:all .2s ease}.no-comments,.login-prompt{font-size:.8rem;color:var(--text-secondary, #6b7280);text-align:center}.post-card.x-post-card{background:var(--surface, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:16px;padding:1.1rem 1.25rem .85rem;margin-bottom:1.1rem;box-shadow:0 1px 3px #00000008;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative}.post-card.x-post-card:hover{border-color:var(--border-hover, rgba(0, 0, 0, .14));box-shadow:0 4px 14px #0000000d}.x-post-header{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.65rem}.x-avatar-container{flex-shrink:0}.x-avatar{width:42px;height:42px;border-radius:50%}.x-header-info{flex:1;min-width:0}.x-author-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem}.x-author-left{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.x-user-name{font-weight:700;font-size:.98rem;color:var(--text, #0f1419)}.x-user-handle{font-size:.88rem;color:var(--text-secondary, #536471)}.x-dot-separator{color:var(--text-secondary, #536471);font-size:.85rem}.x-post-time{font-size:.88rem;color:var(--text-secondary, #536471)}.x-header-right{display:flex;align-items:center;gap:.65rem}.x-post-body-wrap{margin-bottom:.75rem}.x-post-title{font-size:1.05rem;font-weight:700;color:var(--text, #0f1419);margin:0 0 .4rem;line-height:1.35}.x-post-body{font-size:.96rem;line-height:1.55;color:var(--text, #0f1419);margin:0;white-space:pre-wrap;word-break:break-word}.x-hashtag{color:var(--primary, #1d9bf0);font-weight:500;background:#1d9bf014;padding:.15rem .5rem;border-radius:12px;font-size:.82rem;transition:background .2s ease}.x-hashtag:hover{background:#1d9bf029;cursor:pointer}.x-post-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .05))}.x-action-item{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--text-secondary, #536471);font-size:.85rem;font-weight:500;cursor:pointer;padding:0;transition:color .2s ease}.x-icon-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:background-color .2s ease,color .2s ease}.x-action-right-group{display:flex;align-items:center;gap:.3rem}.x-action-item.action-reply:hover{color:#1d9bf0}.x-action-item.action-reply:hover .x-icon-circle{background-color:#1d9bf01a;color:#1d9bf0}.x-action-item.action-reply.active{color:#1d9bf0}.x-action-item.action-reply.active .x-icon-circle{background-color:#1d9bf01f;color:#1d9bf0}.x-action-item.action-repost:hover{color:#00ba7c}.x-action-item.action-repost:hover .x-icon-circle{background-color:#00ba7c1a;color:#00ba7c}.x-action-item.action-repost.active{color:#00ba7c}.x-action-item.action-repost.active .x-icon-circle{background-color:#00ba7c1f;color:#00ba7c}.x-action-item.action-like:hover{color:#f91880}.x-action-item.action-like:hover .x-icon-circle{background-color:#f918801a;color:#f91880}.x-action-item.action-like.active{color:#f91880}.x-action-item.action-like.active .x-icon-circle{background-color:#f918801f;color:#f91880}.x-action-item.action-views{cursor:default}.x-action-item.action-views:hover{color:#1d9bf0}.x-action-item.action-views:hover .x-icon-circle{background-color:#1d9bf01a;color:#1d9bf0}.x-action-item.action-bookmark:hover{color:#1d9bf0}.x-action-item.action-bookmark:hover .x-icon-circle{background-color:#1d9bf01a;color:#1d9bf0}.x-action-item.action-bookmark.active{color:#1d9bf0}.x-action-item.action-bookmark.active .x-icon-circle{background-color:#1d9bf01f;color:#1d9bf0}.x-action-item.action-share:hover{color:#1d9bf0}.x-action-item.action-share:hover .x-icon-circle{background-color:#1d9bf01a;color:#1d9bf0}.comment-form.x-reply-form{display:flex;gap:.65rem;margin-top:.85rem;align-items:center}.comment-form.x-reply-form input{flex:1;background:var(--input-bg, #eff3f4);border:1px solid transparent;border-radius:20px;padding:.6rem 1.1rem;font-size:.92rem;outline:none;transition:border-color .2s ease,background-color .2s ease}.comment-form.x-reply-form input:focus{background:#fff;border-color:#1d9bf0}.x-reply-btn{background:var(--primary, #1d9bf0);color:#fff;border:none;border-radius:20px;padding:.55rem 1.25rem;font-weight:700;font-size:.88rem;cursor:pointer;transition:opacity .2s ease,transform .15s ease}.x-reply-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.x-reply-btn:disabled{opacity:.5;cursor:not-allowed}.post-composer-card{background:var(--surface, #ffffff);border-radius:var(--radius-md, 16px);border:1px solid var(--border, rgba(107, 144, 128, .28));box-shadow:var(--shadow-soft, 0 4px 20px rgba(31, 58, 48, .05));padding:1.1rem 1.25rem;margin-bottom:1.25rem;transition:var(--transition, .2s ease-out)}.post-composer-card:hover{box-shadow:var(--shadow-lift, 0 8px 24px rgba(31, 58, 48, .08))}.composer-top-row{display:flex;align-items:center;gap:.85rem;margin-bottom:.85rem}.composer-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-light, #a4c3b2);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text, #1f3a30);flex-shrink:0;overflow:hidden;border:2px solid var(--primary, #6b9080)}.composer-avatar img{width:100%;height:100%;object-fit:cover}.composer-input-trigger{flex:1;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:24px;padding:.65rem 1.2rem;text-align:left;color:var(--text-secondary, #385b4d);font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.composer-input-trigger:hover{background:var(--surface, #ffffff);border-color:var(--primary, #6b9080);color:var(--text, #1f3a30);box-shadow:0 0 0 3px #6b908026}.composer-affordance-row{display:flex;align-items:center;justify-content:space-around;gap:.5rem;padding-top:.65rem;border-top:1px solid var(--border, rgba(107, 144, 128, .2))}.composer-chip{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:.4rem .8rem;border-radius:20px;font-size:.83rem;font-weight:500;color:var(--text-secondary, #385b4d);cursor:pointer;transition:all .2s ease}.composer-chip:hover{background:var(--background, #f6fff8);color:var(--text, #1f3a30);transform:translateY(-1px)}.composer-chip .chip-icon{font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content.post-form{background:var(--surface, #ffffff);border-radius:var(--radius-md, 20px);max-width:580px;width:100%;max-height:90vh;overflow-y:auto;padding:1.5rem 1.8rem;box-shadow:var(--shadow-lift, 0 14px 32px rgba(31, 58, 48, .15));border:1px solid var(--border, rgba(107, 144, 128, .3))}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .25))}.modal-header h3{margin:0;color:var(--text, #1f3a30);font-size:1.2rem;font-weight:600}.modal-header .close-btn{background:none;border:none;font-size:1.25rem;color:var(--text-secondary, #385b4d);cursor:pointer;padding:.3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-header .close-btn:hover{background:var(--background, #f6fff8);color:var(--text, #1f3a30)}.form-row{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem}.form-group{margin-bottom:1.1rem;display:flex;flex-direction:column}.form-group label{font-size:.83rem;font-weight:600;color:var(--text-secondary, #385b4d);margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{padding:.6rem .9rem;border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:12px;background:var(--background, #f6fff8);color:var(--text, #1f3a30);font-size:.9rem;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary, #6b9080);background:var(--surface, #ffffff);box-shadow:0 0 0 3px #6b90802e}.form-group input.input-error,.form-group textarea.input-error{border-color:#ef4444}.error-text{font-size:.75rem;color:#ef4444;margin-top:.3rem}.image-upload-area{border:2px dashed var(--border, rgba(107, 144, 128, .4));border-radius:14px;padding:1rem;text-align:center;background:var(--background, #f6fff8);cursor:pointer;transition:all .2s ease}.image-upload-area:hover{border-color:var(--primary, #6b9080);background:var(--surface, #ffffff)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;font-size:.85rem;color:var(--text-secondary, #385b4d)}.upload-sub{font-size:.75rem;opacity:.7}.image-preview{max-height:180px;width:100%;object-fit:cover;border-radius:10px}.tag-input-group{display:flex;gap:.5rem}.tag-input-group input{flex:1}.add-tag-btn{padding:.5rem 1rem;border-radius:12px;border:1px solid var(--border, rgba(107, 144, 128, .3));background:var(--background, #f6fff8);color:var(--text, #1f3a30);cursor:pointer}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.tag-item{display:inline-flex;align-items:center;gap:4px;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .3));padding:.2rem .6rem;border-radius:14px;font-size:.78rem;color:var(--text-secondary, #385b4d)}.tag-item button{background:none;border:none;color:var(--text-secondary, #385b4d);cursor:pointer;display:flex;align-items:center;font-size:.85rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border, rgba(107, 144, 128, .25))}.btn-primary{background:var(--primary, #6b9080);color:#fff;border:none;padding:.55rem 1.4rem;border-radius:20px;font-weight:500;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease;box-shadow:0 4px 12px #6b908040}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #1f3a30);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--background, #f6fff8);color:var(--text, #1f3a30);border:1px solid var(--border, rgba(107, 144, 128, .3));padding:.55rem 1.2rem;border-radius:20px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--surface, #ffffff);border-color:var(--primary, #6b9080)}.custom-category-select{position:relative;width:100%}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.45rem .85rem;min-height:42px;border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:12px;background:var(--background, #f6fff8);color:var(--text, #1f3a30);font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .2s ease;text-align:left}.custom-select-trigger:hover{background:var(--surface, #ffffff);border-color:var(--primary, #6b9080)}.custom-select-trigger.open,.custom-select-trigger:focus{outline:none;border-color:var(--primary, #6b9080);background:var(--surface, #ffffff);box-shadow:0 0 0 3px #6b90802e}.custom-select-trigger-content{display:flex;align-items:center;gap:.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-label-text{font-weight:500;color:var(--text, #1f3a30)}.category-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-size:1.05rem;flex-shrink:0;transition:transform .15s ease}.category-icon-badge.showcase{background:#ecfdf5;color:#10b981}.category-icon-badge.question{background:#fef2f2;color:#ef4444}.category-icon-badge.tip{background:#fffbeb;color:#f59e0b}.category-icon-badge.event{background:#eef2ff;color:#6366f1}.category-icon-badge.general{background:#ecfeff;color:#06b6d4}.custom-select-arrow{font-size:1.2rem;color:var(--text-secondary, #385b4d);transition:transform .2s ease;flex-shrink:0;margin-left:.4rem}.custom-select-arrow.open{transform:rotate(180deg)}.custom-select-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:14px;box-shadow:var(--shadow-lift, 0 12px 30px rgba(31, 58, 48, .14));z-index:100;padding:.4rem;display:flex;flex-direction:column;gap:3px;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.custom-select-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .7rem;border-radius:10px;border:none;background:transparent;color:var(--text, #1f3a30);font-size:.88rem;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s ease}.custom-select-option:hover{background:var(--background, #f6fff8);color:var(--text, #1f3a30)}.custom-select-option.selected{background:#6b908024;font-weight:600;color:var(--primary-dark, #1f3a30)}.custom-select-option-left{display:flex;align-items:center;gap:.65rem}.custom-select-option-name{color:var(--text, #1f3a30);font-size:.88rem}.custom-select-check{color:var(--primary, #6b9080);font-size:1.15rem;flex-shrink:0}@media(max-width:600px){.form-row{grid-template-columns:1fr}.composer-affordance-row{display:grid;grid-template-columns:1fr 1fr}}.community-filters{background:var(--surface, #ffffff);padding:1.1rem 1.25rem;border-radius:var(--radius-md, 16px);border:1px solid var(--border, rgba(107, 144, 128, .28));box-shadow:var(--shadow-soft, 0 4px 20px rgba(31, 58, 48, .05));margin-bottom:1.25rem;transition:var(--transition, .2s ease-out)}.community-filters:hover{box-shadow:var(--shadow-lift, 0 8px 24px rgba(31, 58, 48, .08))}.filters-top{display:flex;justify-content:space-between;align-items:center;gap:.85rem;flex-wrap:wrap}.filter-tabs{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.filter-tab{display:inline-flex;align-items:center;gap:6px;padding:.4rem .85rem;border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:24px;background:var(--background, #f6fff8);color:var(--text-secondary, #385b4d);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap}.filter-tab-icon{display:inline-flex;align-items:center;font-size:.95rem}.filter-count-badge{font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:12px;background:#6b908026;color:var(--text-secondary, #385b4d);transition:background .2s ease,color .2s ease}.filter-tab:hover{background:var(--surface, #ffffff);border-color:var(--primary, #6b9080);color:var(--text, #1f3a30);transform:translateY(-1px)}.filter-tab:hover .filter-count-badge{background:#6b908040}.filter-tab.active{background:var(--primary, #6b9080);border-color:var(--primary, #6b9080);color:#fff;box-shadow:0 4px 12px #6b90804d}.filter-tab.active .filter-count-badge{background:#ffffff47;color:#fff}.search-bar{position:relative;min-width:220px;flex:1;max-width:280px}.search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #385b4d);opacity:.7;pointer-events:none;font-size:1rem;display:flex;align-items:center}.search-bar input{padding:.45rem 1rem .45rem 2.3rem;border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:20px;font-size:.83rem;width:100%;background:var(--background, #f6fff8);color:var(--text, #1f3a30);transition:all .2s ease}.search-bar input:focus{outline:none;border-color:var(--primary, #6b9080);background:var(--surface, #ffffff);box-shadow:0 0 0 3px #6b908033}.search-bar input::placeholder{color:var(--text-secondary, #385b4d);opacity:.75}.filters-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;padding-top:.75rem;border-top:1px dashed var(--border, rgba(107, 144, 128, .2))}.region-filter{display:flex;align-items:center;gap:.4rem}.region-label{font-size:.78rem;color:var(--text-secondary, #385b4d);font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.region-select{padding:.25rem 1.8rem .25rem .8rem;border:1px solid var(--border, rgba(107, 144, 128, .28));border-radius:18px;background:var(--surface, #ffffff);color:var(--text, #1f3a30);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23385b4d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:9px}.region-select:focus{outline:none;border-color:var(--primary, #6b9080);box-shadow:0 0 0 3px #6b90802e}.post-count{font-size:.78rem;color:var(--text-secondary, #385b4d);font-weight:500;margin-left:auto}@media(max-width:768px){.community-filters{padding:1rem}.filters-top{flex-direction:column;align-items:stretch}.search-bar{max-width:100%;min-width:100%}.filter-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:.2rem}}.community-top-cards-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;width:100%;margin-bottom:.25rem}@media(max-width:640px){.community-top-cards-row{grid-template-columns:1fr;gap:1rem}}.rail-card{background:var(--surface, #ffffff);border-radius:var(--radius-md, 16px);border:1px solid var(--border, rgba(107, 144, 128, .28));box-shadow:var(--shadow-soft, 0 4px 20px rgba(31, 58, 48, .05));padding:1.1rem 1.25rem;transition:all .25s ease;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.rail-card:hover{box-shadow:var(--shadow-lift, 0 8px 24px rgba(31, 58, 48, .08))}.rail-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .2))}.rail-card-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text, #1f3a30);display:flex;align-items:center;gap:.4rem}.rail-link-btn{background:none;border:none;color:var(--primary, #6b9080);font-size:.78rem;font-weight:600;cursor:pointer;padding:0}.rail-link-btn:hover{text-decoration:underline}.rail-empty-text{font-size:.8rem;color:var(--text-secondary, #385b4d);font-style:italic;margin:.5rem 0}.rail-leaderboard-list{display:flex;flex-direction:column;gap:.65rem}.rail-leaderboard-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:12px;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .18))}.rail-rank-medal{font-size:1.1rem;width:24px;text-align:center}.rail-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-light, #a4c3b2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;color:var(--text, #1f3a30);flex-shrink:0;overflow:hidden}.rail-avatar img{width:100%;height:100%;object-fit:cover}.rail-user-meta{display:flex;flex-direction:column;flex:1;min-width:0}.rail-user-name{font-size:.85rem;font-weight:600;color:var(--text, #1f3a30);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-user-pts{font-size:.75rem;color:var(--primary, #6b9080);font-weight:500}.activity-spotlight-card{display:flex;flex-direction:column;justify-content:space-between;gap:.85rem}.activity-title-group{display:flex;align-items:center;justify-content:space-between;width:100%}.activity-live-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.73rem;font-weight:600;color:#15803d;background:#dcfce7;padding:.15rem .55rem;border-radius:12px;border:1px solid #bbf7d0}.live-pulse-dot{width:7px;height:7px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 #22c55eb3;animation:pulseDot 1.8s infinite}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.activity-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:.2rem 0}.activity-tile{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border-radius:14px;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .2));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.activity-tile:hover{transform:translateY(-2px);background:var(--surface, #ffffff);border-color:var(--primary, #6b9080);box-shadow:0 4px 14px #1f3a300f}.tile-icon-box{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.icon-green{background:#dcfce7;color:#15803d}.icon-blue{background:#e0f2fe;color:#0284c7}.icon-orange{background:#ffedd5;color:#c2410c}.tile-content{display:flex;flex-direction:column}.tile-val{font-size:1.15rem;font-weight:800;color:var(--text, #1f3a30);line-height:1.1}.tile-label{font-size:.74rem;font-weight:500;color:var(--text-secondary, #385b4d);white-space:nowrap}.activity-pulse-footer{display:flex;flex-direction:column;gap:.35rem;padding-top:.4rem;border-top:1px solid var(--border-subtle, rgba(0, 0, 0, .05))}.pulse-info{display:flex;justify-content:space-between;align-items:center}.pulse-text{font-size:.78rem;color:var(--text-secondary, #385b4d)}.pulse-text strong{color:var(--primary, #2d6a4f)}.pulse-bar{width:100%;height:6px;background:#6b908026;border-radius:6px;overflow:hidden}.pulse-fill{height:100%;background:linear-gradient(90deg,var(--primary, #6b9080),#10b981);border-radius:6px;transition:width .6s ease}@media(max-width:900px){.activity-stats-grid{grid-template-columns:1fr;gap:.55rem}}.leaderboard-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.leaderboard-content{background:var(--surface, #ffffff);border-radius:var(--radius-md, 20px);max-width:480px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lift, 0 14px 32px rgba(31, 58, 48, .15));border:1px solid var(--border, rgba(107, 144, 128, .3))}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .25));position:sticky;top:0;background:var(--surface, #ffffff);border-radius:var(--radius-md, 20px) var(--radius-md, 20px) 0 0;z-index:2}.leaderboard-header h3{color:var(--text, #1f3a30);margin:0;font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.leaderboard-header .close-btn{background:none;border:none;font-size:1.25rem;color:var(--text-secondary, #385b4d);cursor:pointer;padding:.3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.leaderboard-header .close-btn:hover{background:var(--background, #f6fff8);color:var(--text, #1f3a30)}.leaderboard-list{padding:.75rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.leaderboard-row{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .2));border-radius:14px;transition:background .2s ease}.leaderboard-row:hover{background:var(--surface, #ffffff)}.leaderboard-rank{min-width:28px;display:flex;align-items:center;justify-content:center}.rank-emoji{font-size:1.25rem}.rank-num{font-weight:600;color:var(--text-secondary, #385b4d);font-size:.88rem}.leaderboard-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light, #a4c3b2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--text, #1f3a30);flex-shrink:0;overflow:hidden}.leaderboard-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-user-details{flex:1;display:flex;flex-direction:column;min-width:0}.leaderboard-user-name{font-weight:600;color:var(--text, #1f3a30);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-badge-inner{font-size:.75rem;color:var(--text-secondary, #385b4d);display:inline-flex;align-items:center;gap:3px}.leaderboard-stats{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem}.leaderboard-points{font-weight:700;color:var(--primary, #6b9080)}.leaderboard-posts{color:var(--text-secondary, #385b4d);font-size:.75rem}.empty-leaderboard{text-align:center;padding:2.5rem 1.5rem;color:var(--text-secondary, #385b4d)}.empty-leaderboard .sub-text{font-size:.82rem;opacity:.8}.community-tab{width:100%;max-width:100%;margin:0;padding:.75rem 1.5rem 3rem;min-height:80vh}.community-feed-container{display:flex;flex-direction:column;gap:1.25rem;width:100%}.community-loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary, #385b4d);display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:.95rem}.community-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(107,144,128,.2);border-top:3px solid var(--primary, #6b9080);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.community-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border, rgba(107, 144, 128, .25))}.header-left{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.header-left h2{color:var(--text, #1f3a30);margin:0;font-size:1.4rem;font-weight:700;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.45rem}.header-left h2 .header-icon{color:var(--primary, #6b9080);font-size:1.5rem}.user-level{font-size:.83rem;color:var(--text-secondary, #385b4d);background:var(--surface, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .28));padding:.25rem .85rem;border-radius:20px;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-soft, 0 2px 6px rgba(31, 58, 48, .04))}.header-actions{display:flex;gap:.6rem;align-items:center}.leaderboard-btn{font-size:.85rem;padding:.5rem 1.1rem;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .3));border-radius:24px;color:var(--text, #1f3a30);cursor:pointer;transition:all .2s ease;font-weight:500;display:inline-flex;align-items:center;gap:.4rem}.leaderboard-btn:hover{background:var(--background, #f6fff8);border-color:var(--primary, #6b9080);transform:translateY(-1px)}.create-post-btn{display:inline-flex;align-items:center;gap:.35rem}.posts-feed{display:flex;flex-direction:column;gap:1.25rem}.empty-feed{text-align:center;padding:3.5rem 2rem;background:var(--surface, #ffffff);border-radius:20px;border:1px solid var(--border, rgba(107, 144, 128, .28));box-shadow:var(--shadow-soft, 0 4px 20px rgba(31, 58, 48, .05))}.empty-icon{font-size:3.2rem;display:block;margin-bottom:.5rem}.empty-feed h3{color:var(--text, #1f3a30);margin-bottom:.35rem;font-weight:600;font-size:1.2rem}.empty-feed p{color:var(--text-secondary, #385b4d);margin-bottom:1.2rem;font-size:.9rem}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:.85rem;margin-top:1.75rem;padding-top:1rem}.pagination-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem 1rem;border-radius:20px;border:1px solid var(--border, rgba(107, 144, 128, .3));background:var(--surface, #ffffff);color:var(--text, #1f3a30);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-soft, 0 2px 6px rgba(31, 58, 48, .04))}.pagination-btn:hover:not(:disabled){background:var(--background, #f6fff8);border-color:var(--primary, #6b9080);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-indicator{font-size:.83rem;color:var(--text-secondary, #385b4d);font-weight:500;padding:.3rem .75rem;background:var(--surface, #ffffff);border-radius:14px;border:1px solid var(--border, rgba(107, 144, 128, .2))}@media(max-width:768px){.community-tab{padding:.75rem .5rem 2rem}.community-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}}.post-card.highlight-post{animation:post-pulse-highlight 2.5s cubic-bezier(.16,1,.3,1);border-color:var(--sage, #2d6a4f)!important}@keyframes post-pulse-highlight{0%{box-shadow:0 0 0 6px #2d6a4f59,0 12px 36px #2d6a4f33;transform:scale(1.015)}70%{box-shadow:0 0 0 3px #2d6a4f26,0 6px 20px #2d6a4f1a}to{box-shadow:none;transform:scale(1)}}.community-segmented-toggle-wrapper{display:flex;margin-bottom:.6rem}.community-segmented-toggle{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(107, 144, 128, .25));border-radius:14px;position:relative;box-shadow:inset 0 1px 2px #1f3a3008}.segmented-tab-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.15rem;border:none;background:transparent;color:var(--text-secondary, #385b4d);font-size:.88rem;font-weight:600;cursor:pointer;border-radius:10px;transition:color .15s ease;outline:none;z-index:1}.segmented-tab-btn:hover{color:var(--sage, #2d6a4f)}.segmented-tab-btn.active{color:var(--sage, #2d6a4f);font-weight:700}.segmented-active-pill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface, #ffffff);border-radius:10px;box-shadow:0 2px 8px #1f3a3014;border:1px solid rgba(45,106,79,.15);z-index:0}.segmented-tab-text{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45rem}.surplus-icon-color{color:#16a34a;font-size:1rem}.segmented-badge-hot{font-size:.63rem;font-weight:700;background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25);padding:.1rem .45rem;border-radius:8px;text-transform:uppercase;letter-spacing:.03em;margin-left:.2rem}.surplus-marketplace{display:flex;flex-direction:column;gap:.85rem;width:100%}.surplus-unified-header-card{display:flex;flex-direction:column;gap:.75rem;background:var(--surface, #ffffff);padding:1.1rem 1.35rem;border-radius:18px;border:1px solid var(--border, rgba(107, 144, 128, .22));box-shadow:var(--shadow-soft, 0 2px 10px rgba(0, 0, 0, .02))}.unified-top-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.unified-title-group h3{margin:0 0 .2rem;font-size:1.15rem;font-weight:700;color:var(--text, #1f3a30);letter-spacing:-.01em}.unified-title-group p{margin:0;font-size:.84rem;color:var(--text-secondary, #475569)}.unified-actions-group{display:flex;gap:.6rem;align-items:center}.btn-sell-surplus-refined{background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;font-weight:600;font-size:.85rem;padding:.55rem 1.15rem;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:filter .15s ease;box-shadow:0 2px 8px #2d6a4f33}.btn-sell-surplus-refined:hover{filter:brightness(1.05)}.btn-chats-refined{background:var(--background, #f6fff8);color:#2d6a4f;border:1px solid rgba(45,106,79,.22);font-weight:600;font-size:.85rem;padding:.55rem 1rem;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s ease}.btn-chats-refined:hover{background:#2d6a4f0f}.btn-detect-location{background:var(--background, #f6fff8);color:#16a34a;border:1px solid rgba(22,163,74,.3);font-weight:600;font-size:.85rem;padding:.55rem .95rem;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease;box-shadow:0 2px 6px #16a34a1a}.btn-detect-location:hover{background:#dcfce7;border-color:#16a34a}.btn-detect-location.active{background:#16a34a;color:#fff;border-color:#16a34a;box-shadow:0 2px 8px #16a34a4d}.category-pills-scroll{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.15rem}.cat-pill{padding:.38rem .85rem;border-radius:16px;background:var(--background, #f6fff8);border:1px solid rgba(45,106,79,.18);font-size:.8rem;font-weight:600;color:var(--text-secondary, #385b4d);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.cat-pill.active{background:#2d6a4f;color:#fff;border-color:#2d6a4f}.cat-pill:hover:not(.active){background:#2d6a4f14}.controls-row-bottom{display:flex;justify-content:space-between;align-items:center;gap:.85rem;flex-wrap:wrap;padding-top:.3rem;border-top:1px solid rgba(107,144,128,.12)}.search-input-wrapper{display:flex;align-items:center;gap:.5rem;background:var(--background, #f6fff8);padding:.42rem .85rem;border-radius:10px;flex:1;max-width:380px;border:1px solid rgba(45,106,79,.22);transition:all .2s ease}.search-input-wrapper:focus-within{border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f26;background:#fff}.search-input-wrapper input{border:none!important;background:transparent!important;outline:none!important;box-shadow:none!important;width:100%;font-size:.86rem;color:var(--text, #1f3a30)}.search-input-wrapper input:focus,.search-input-wrapper input:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.district-filter-wrapper{display:flex;align-items:center;gap:.35rem;background:#fff;padding:.25rem .65rem;border-radius:12px;border:1px solid #cbd5e1;transition:border-color .2s ease,box-shadow .2s ease}.district-filter-wrapper:focus-within{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a26}.district-select-dropdown{border:none!important;background:transparent!important;outline:none!important;box-shadow:none!important;font-size:.84rem;font-weight:600;color:#1e293b;cursor:pointer;padding:.25rem .1rem}.district-select-dropdown:focus,.district-select-dropdown:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.active-district-banner{display:flex;align-items:center;justify-content:space-between;background:#2563eb14;color:#1e40af;padding:.45rem .85rem;border-radius:10px;font-size:.82rem;margin-top:.4rem;border:1px solid rgba(37,99,235,.2)}.btn-clear-district{background:transparent;border:none;color:#1e40af;font-weight:700;font-size:.78rem;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}.price-tags-group{display:flex;gap:.4rem}.price-tag-chip{padding:.35rem .75rem;border-radius:8px;border:1px solid var(--border, rgba(107, 144, 128, .22));background:transparent;font-size:.78rem;font-weight:600;color:var(--text-secondary, #385b4d);cursor:pointer;transition:background .15s ease}.price-tag-chip.active{background:#2d6a4f;color:#fff;border-color:#2d6a4f}.price-tag-chip.free-chip.active{background:#10b981;border-color:#10b981}.price-tag-chip.swap-chip.active{background:#8b5cf6;border-color:#8b5cf6}.price-tag-chip.cash-chip.active{background:#f59e0b;border-color:#f59e0b}.surplus-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem;width:100%}.surplus-card-refined{background:var(--surface, #ffffff);border-radius:18px;border:1px solid var(--border, rgba(0, 0, 0, .08));overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;box-shadow:0 2px 10px #00000008}.surplus-card-refined:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000000d;border-color:#2d6a4f38}.card-thumb-container{position:relative;width:100%;height:180px;background:var(--background, #f6fff8);overflow:hidden}.card-thumb-container img{width:100%;height:100%;object-fit:cover;transform:none!important}.floating-price-badge{position:absolute;bottom:10px;left:10px;background:#0f172ad9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:.8rem;padding:.3rem .75rem;border-radius:18px}.floating-price-badge.free{background:linear-gradient(135deg,#10b981,#059669)}.floating-price-badge.swap{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.floating-status-badge{position:absolute;top:10px;right:10px;padding:.25rem .65rem;border-radius:10px;font-size:.68rem;font-weight:700;text-transform:uppercase}.floating-status-badge.available{background:#10b981eb;color:#fff}.floating-status-badge.reserved{background:#f59e0beb;color:#fff}.floating-status-badge.sold{background:#ef4444eb;color:#fff}.card-body-refined{padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.seller-header-line{display:flex;align-items:center;gap:.6rem}.avatar-wrap img,.avatar-placeholder-letter{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#2d6a4f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.seller-meta{display:flex;flex-direction:column}.seller-name-text{font-weight:700;font-size:.85rem;color:var(--text, #1f3a30)}.location-distance{font-size:.72rem;color:#64748b;display:flex;align-items:center;gap:.2rem}.item-title-text{font-size:.98rem;font-weight:700;margin:.15rem 0 .05rem;color:var(--text, #1f3a30);line-height:1.35}.item-tags-line{display:flex;gap:.35rem}.badge-chip{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;background:var(--background, #f6fff8);color:#2d6a4f;border:1px solid rgba(45,106,79,.15)}.item-desc-text{font-size:.82rem;color:#475569;margin:.15rem 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-dual-actions{display:grid;grid-template-columns:2fr 1fr;gap:.5rem;margin-top:auto;padding-top:.4rem}.btn-action-buy{background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;font-weight:600;font-size:.82rem;padding:.58rem .75rem;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:filter .15s ease}.btn-action-buy:hover:not(:disabled){filter:brightness(1.03)}.btn-action-buy:disabled{opacity:.5;cursor:not-allowed}.btn-action-chat{background:var(--background, #f6fff8);color:#2d6a4f;border:1px solid rgba(45,106,79,.22);font-weight:600;font-size:.82rem;padding:.58rem;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;transition:background .15s ease}.btn-action-chat:hover{background:#2d6a4f0d}.surplus-modal-card-2col{background:var(--surface, #ffffff);border-radius:20px;width:100%;max-width:820px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000002e;display:flex;flex-direction:column}.surplus-2col-form-body{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;padding:1.25rem 1.5rem 1.5rem}@media(max-width:720px){.surplus-2col-form-body{grid-template-columns:1fr}}.form-col-left{display:flex;flex-direction:column;gap:.75rem}.photo-label{font-size:.82rem;font-weight:700;color:#334155}.modal-photo-preview-container{width:100%;height:220px;border-radius:14px;overflow:hidden;border:1px solid rgba(45,106,79,.2);background:var(--background, #f6fff8)}.modal-photo-preview-container img{width:100%;height:100%;object-fit:cover}.btn-upload-photo-custom{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.55rem;border-radius:10px;border:1px solid rgba(45,106,79,.25);background:var(--background, #f6fff8);color:#2d6a4f;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-upload-photo-custom:hover{background:#2d6a4f14}.photo-preset-note{font-size:.74rem;color:#64748b;margin:0;line-height:1.35}.form-col-right{display:flex;flex-direction:column;gap:.85rem}.form-field-group{display:flex;flex-direction:column;gap:.3rem}.form-field-group label{font-size:.82rem;font-weight:600;color:#334155}.form-field-group input,.form-field-group select,.form-field-group textarea{width:100%;padding:.52rem .75rem;border-radius:10px;border:1px solid #cbd5e1;font-size:.86rem;outline:none}.form-field-group input:focus,.form-field-group select:focus,.form-field-group textarea:focus{border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f1f}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modal-actions-right{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem;padding-top:.5rem}.buy-deal-modal{max-width:540px;background:#fff}.surplus-modal-form{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.form-grid{display:flex;flex-direction:column;gap:.85rem}.modal-item-summary-card{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.summary-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover}.summary-info h4{margin:.15rem 0;font-size:.95rem;font-weight:700;color:#1e293b}.seller-by{font-size:.75rem;color:#64748b}.summary-tags{display:flex;gap:.5rem;margin-top:.2rem}.price-tag-badge{font-size:.75rem;font-weight:700;color:#2d6a4f}.loc-tag-badge{font-size:.72rem;color:#64748b;display:flex;align-items:center;gap:.2rem}.payment-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.payment-option-card{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:12px;border:1px solid #cbd5e1;cursor:pointer;transition:all .2s ease}.payment-option-card.selected{border-color:#2d6a4f;background:#f0fdf4}.payment-option-card strong{display:block;font-size:.84rem}.payment-option-card p{margin:.1rem 0 0;font-size:.72rem;color:#64748b}.owner-manage-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.2rem}.manage-status-section{display:flex;flex-direction:column;gap:.5rem;background:#f8fafc;padding:1rem 1.1rem;border-radius:14px;border:1px solid #e2e8f0}.manage-label{font-size:.88rem;font-weight:700;color:#1e293b}.manage-sub{font-size:.78rem;color:#64748b;margin:0 0 .4rem;line-height:1.4}.status-buttons-row{display:flex;gap:.5rem;flex-wrap:wrap}.btn-status-option{flex:1;min-width:130px;padding:.6rem .75rem;font-size:.78rem;font-weight:700;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all .15s ease}.btn-status-option:hover{border-color:#2d6a4f;background:#f0fdf4;color:#2d6a4f}.btn-status-option.active-avail{background:#dcfce7;color:#15803d;border-color:#86efac}.btn-status-option.active-reserve{background:#fef3c7;color:#b45309;border-color:#fde68a}.btn-status-option.active-sold{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}.danger-zone-block{border-top:1px solid #e2e8f0;padding-top:.85rem}.btn-delete-listing{width:100%;padding:.65rem;border-radius:10px;border:1px solid #fca5a5;background:#fff5f5;color:#dc2626;font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .15s ease}.btn-delete-listing:hover{background:#dc2626;color:#fff;border-color:#dc2626}.modal-actions-footer{padding-top:.5rem}.modal-deal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0;margin-top:.5rem}.deal-total-display span{font-size:.8rem;color:#64748b;display:block}.deal-total-display .total-val{font-size:1.2rem;color:#2d6a4f;font-weight:800}.modal-actions-row{display:flex;gap:.6rem}.deal-success-container{padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center}.success-icon-badge{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:2.2rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.deal-receipt-card{width:100%;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:1rem 1.25rem;margin:1.2rem 0;text-align:left}.receipt-header{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700;color:#64748b;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0;margin-bottom:.75rem}.receipt-status-tag{color:#16a34a}.receipt-row{display:flex;justify-content:space-between;font-size:.84rem;margin-bottom:.4rem}.amount-highlight{color:#2d6a4f;font-size:1rem}.full-btn{width:100%}.surplus-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172aa6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.25rem;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.surplus-modal-card{background:var(--surface, #ffffff);border-radius:20px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:popupScale .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes popupScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.surplus-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.08);background:var(--background, #f6fff8);border-top-left-radius:20px;border-top-right-radius:20px;width:100%;box-sizing:border-box;position:relative}.modal-title-group{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.modal-title-group>div{min-width:0;flex:1}.modal-icon{font-size:1.6rem;flex-shrink:0}.modal-title-group h3{margin:0;font-size:1.1rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-title-group p{margin:.15rem 0 0;font-size:.78rem;color:#64748b;line-height:1.35}.modal-close-btn{background:#fff!important;border:1px solid rgba(45,106,79,.3)!important;border-radius:50%!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#2d6a4f!important;cursor:pointer!important;flex-shrink:0!important;transition:all .2s ease!important;margin-left:.85rem!important;box-shadow:0 2px 6px #0000001a!important;z-index:10!important}.modal-close-btn:hover{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important;transform:scale(1.08)!important}.chats-list-footer{padding:.85rem 1.25rem 1.25rem;border-top:1px solid #e2e8f0;background:#fff;border-bottom-left-radius:20px;border-bottom-right-radius:20px}.neighbor-chat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:10000;display:flex;justify-content:flex-end;animation:fadeInOverlay .2s ease-out}.neighbor-chat-drawer{width:450px;max-width:100vw;height:100vh;background:var(--surface, #ffffff);box-shadow:-10px 0 30px #0003;display:flex;flex-direction:column;animation:slideDrawerRight .3s cubic-bezier(.16,1,.3,1);position:relative;z-index:10001}@keyframes slideDrawerRight{0%{transform:translate(100%)}to{transform:translate(0)}}.chat-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.08);background:var(--background, #f6fff8)}.chat-partner-info{display:flex;align-items:center;gap:.75rem}.partner-avatar{position:relative;width:44px;height:44px}.partner-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.partner-avatar .avatar-placeholder{width:100%;height:100%;border-radius:50%;background:#2d6a4f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.online-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:#22c55e;border:2px solid white;border-radius:50%}.partner-name-row{display:flex;align-items:center;gap:.5rem}.partner-name-row h4{margin:0;font-size:.98rem;font-weight:700;color:#1e293b}.neighborhood-badge{font-size:.72rem;background:#16a34a1f;color:#16a34a;padding:.15rem .45rem;border-radius:20px;font-weight:600;display:flex;align-items:center;gap:.2rem}.chat-subtitle{font-size:.74rem;color:#64748b;display:flex;align-items:center;gap:.25rem;margin-top:.15rem}.chat-close-btn{background:#0000000d;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#64748b;cursor:pointer;transition:all .15s ease}.chat-close-btn:hover{background:#ef44441f;color:#ef4444}.chat-listing-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.listing-thumb{width:50px;height:50px;border-radius:8px;object-fit:cover;flex-shrink:0}.listing-details{flex:1;min-width:0}.listing-title-row{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.item-title{font-size:.85rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill{font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:12px;text-transform:uppercase}.status-pill.available{background:#dcfce7;color:#16a34a}.status-pill.reserved{background:#fef3c7;color:#d97706}.status-pill.sold{background:#f1f5f9;color:#64748b}.listing-meta{display:flex;gap:.5rem;font-size:.75rem;margin-top:.2rem}.price-tag{color:#2d6a4f;font-weight:700}.qty-tag{color:#64748b}.seller-quick-actions{flex-shrink:0}.btn-status{padding:.35rem .65rem;font-size:.72rem;font-weight:700;border-radius:8px;border:none;cursor:pointer}.reserve-btn{background:#f59e0b;color:#fff}.sold-btn{background:#64748b;color:#fff}.avail-btn{background:#16a34a;color:#fff}.chat-quick-suggestions{display:flex;gap:.4rem;padding:.6rem 1rem;overflow-x:auto;border-bottom:1px solid #f1f5f9;background:#fff;scrollbar-width:none}.chat-quick-suggestions::-webkit-scrollbar{display:none}.suggestion-chip{white-space:nowrap;font-size:.73rem;padding:.35rem .65rem;border-radius:20px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer;transition:all .15s ease}.suggestion-chip:hover{border-color:#2d6a4f;background:#f0fdf4;color:#2d6a4f}.chat-messages-container{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;background:var(--background, #f6fff8)}.security-notice{font-size:.72rem;color:#64748b;text-align:center;background:#fffc;padding:.4rem .75rem;border-radius:12px;border:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;gap:.3rem;margin-bottom:.5rem}.message-bubble-wrapper{display:flex;align-items:flex-end;gap:.5rem;max-width:82%}.message-bubble-wrapper.outgoing{align-self:flex-end;flex-direction:row-reverse}.message-bubble-wrapper.incoming{align-self:flex-start}.msg-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;background:#2d6a4f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.msg-avatar img{width:100%;height:100%;object-fit:cover}.message-bubble{padding:.65rem .85rem;border-radius:16px;font-size:.85rem;line-height:1.4;box-shadow:0 2px 6px #0000000a}.outgoing .message-bubble{background:#2d6a4f;color:#fff;border-bottom-right-radius:4px}.incoming .message-bubble{background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;font-size:.66rem;margin-top:.25rem;opacity:.8}.outgoing .bubble-footer{color:#ffffffd9}.incoming .bubble-footer{color:#94a3b8}.read-icon{font-size:.85rem}.chat-input-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border-top:1px solid #e2e8f0}.chat-input-bar textarea{flex:1;border:1px solid #cbd5e1;border-radius:20px;padding:.55rem .9rem;font-size:.85rem;resize:none;outline:none;font-family:inherit}.chat-input-bar textarea:focus{border-color:#2d6a4f}.send-msg-btn{width:40px;height:40px;border-radius:50%;background:#2d6a4f;color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .15s ease;flex-shrink:0}.send-msg-btn:hover:not(:disabled){background:#1b4332;transform:scale(1.05)}.send-msg-btn:disabled{background:#cbd5e1;cursor:not-allowed}.chats-list-card{max-width:500px}.chats-list-container{padding:1rem 1.25rem;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.empty-chats{text-align:center;padding:2.5rem 1rem;color:#64748b}.empty-chat-icon{font-size:3rem;color:#cbd5e1;margin-bottom:.5rem}.empty-chats h4{margin:.25rem 0;font-size:1rem;color:#1e293b}.empty-chats p{font-size:.8rem;margin:0}.chat-thread-item{display:flex;align-items:center;gap:.85rem;padding:.85rem;border-radius:14px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .15s ease}.chat-thread-item:hover{border-color:#2d6a4f;background:#f0fdf4;transform:translateY(-1px)}.thread-avatar{width:44px;height:44px;border-radius:50%;background:#2d6a4f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;overflow:hidden}.thread-avatar img{width:100%;height:100%;object-fit:cover}.thread-content{flex:1;min-width:0}.thread-header-row{display:flex;justify-content:space-between;align-items:center}.thread-partner{font-size:.9rem;font-weight:700;color:#1e293b}.thread-time{font-size:.72rem;color:#94a3b8}.thread-listing-tag{font-size:.75rem;color:#2d6a4f;font-weight:600;display:flex;align-items:center;gap:.25rem;margin:.15rem 0}.thread-last-msg{margin:0;font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.district-icon{font-size:1rem;color:#16a34a;pointer-events:none}.active-district-banner{display:flex;align-items:center;justify-content:space-between;background:#f0fdf4;border:1px solid #bbf7d0;padding:.55rem 1rem;border-radius:12px;margin-top:.75rem;font-size:.84rem;color:#166534}.btn-clear-district{background:#fff;border:1px solid #86efac;border-radius:8px;padding:.25rem .6rem;font-size:.76rem;font-weight:600;color:#15803d;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .15s ease}.btn-clear-district:hover{background:#dc2626;color:#fff;border-color:#dc2626}.btn-delete-chat-thread{background:transparent;border:none;color:#94a3b8;padding:.4rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0;margin-left:.5rem}.btn-delete-chat-thread:hover{background:#fee2e2;color:#dc2626}.badges-section{display:flex;flex-direction:column;gap:1.5rem;width:100%}.badges-loading{text-align:center;padding:2.5rem;color:#4a6659;font-size:1rem}.badges-subnav-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:#f6fff8;border:1px solid #cce3de;border-radius:14px}.badges-subnav-buttons{display:flex;gap:.5rem}.subnav-pill{min-height:44px;padding:.45rem 1.25rem;font-size:.92rem;font-weight:600;color:#1f3a30;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.subnav-pill:hover{background:#eaf4f4}.subnav-pill.active{background:#6b9080;color:#fff;border-color:#6b9080}.badges-counter-tag{font-size:.85rem;font-weight:700;color:#2d6a4f;background:#cce3de;padding:.35rem .85rem;border-radius:999px}.badges-section-intro h3{margin:0 0 .4rem;font-size:1.4rem;color:#1f3a30;font-weight:800}.badges-subtitle{margin:0 0 1.25rem;font-size:.95rem;color:#2c4a3e;line-height:1.5}.badges-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem}.badge-card-item{background:#fff;border:1.5px solid #cce3de;border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease}.badge-card-item.earned{border-color:#a4c3b2;box-shadow:0 4px 14px #6b908014}.badge-card-item.locked{background:#fafafa;opacity:.85}.badge-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.badge-emblem-wrap{display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.07));transition:transform .28s cubic-bezier(.16,1,.3,1)}.badge-card-item:hover .badge-emblem-wrap{transform:scale(1.08) rotate(2deg)}.badge-card-item.locked .badge-emblem-wrap{opacity:.72}.badge-status-tags{display:flex;align-items:center;gap:.4rem}.pinned-badge-chip{font-size:.75rem;font-weight:700;color:#92400e;background:#fef3c7;padding:.2rem .55rem;border-radius:6px;border:1px solid #fde68a}.badge-state-pill{font-size:.78rem;font-weight:700;text-transform:uppercase;padding:.25rem .65rem;border-radius:999px}.badge-state-pill.unlocked{background:#cce3de;color:#1f3a30}.badge-state-pill.locked{background:#e5e7eb;color:#6b7280}.badge-tier-label{font-size:.78rem;font-weight:700;text-transform:uppercase;color:#6b9080;letter-spacing:.5px}.badge-card-name{margin:.2rem 0 .4rem;font-size:1.15rem;color:#1f3a30;font-weight:700}.badge-description{margin:0 0 .85rem;font-size:.9rem;color:#4a6659;line-height:1.5}.badge-how-to-earn-box{background:#f6fff8;border:1px solid #eaf4f4;border-radius:10px;padding:.75rem .9rem}.how-to-label{font-size:.78rem;font-weight:700;color:#1f3a30;text-transform:uppercase;display:block;margin-bottom:.25rem}.how-to-text{margin:0;font-size:.88rem;color:#2c4a3e;line-height:1.45}.badges-settings-panel{display:flex;flex-direction:column;gap:1.5rem}.settings-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #cce3de}.settings-panel-header h3{margin:0 0 .3rem;font-size:1.3rem;color:#1f3a30}.settings-desc{margin:0;font-size:.92rem;color:#4a6659}.btn-save-badge-settings{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#6b9080,#4f7363);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.btn-save-badge-settings:hover{filter:brightness(1.08)}.settings-option-card{background:#fff;border:1px solid #cce3de;border-radius:14px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.settings-option-info{display:flex;flex-direction:column;gap:.3rem}.option-title{font-size:1rem;font-weight:700;color:#1f3a30}.option-sub{font-size:.88rem;color:#4a6659}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.3s;border-radius:34px}.toggle-switch .toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#6b9080}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.pinned-badge-select{min-height:44px;padding:.5rem 1rem;font-size:.95rem;border:1px solid #cce3de;border-radius:10px;background:#fff;color:#1f3a30;max-width:280px}.settings-showcase-picker{background:#f6fff8;border:1px solid #cce3de;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.picker-header h4{margin:0 0 .25rem;font-size:1.1rem;color:#1f3a30}.picker-header p{margin:0;font-size:.9rem;color:#4a6659}.badge-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.picker-badge-card{background:#fff;border:2px solid #eaf4f4;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .2s ease}.picker-badge-card:hover{border-color:#cce3de}.picker-badge-card.selected{border-color:#6b9080;background:#f6fff8}.picker-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.picker-badge-emblem-mini{display:flex;align-items:center;justify-content:center;flex-shrink:0}.picker-top-actions{display:flex;align-items:center;gap:.4rem}.picker-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid #6b9080;display:flex;align-items:center;justify-content:center;font-weight:800;color:#6b9080;font-size:.85rem;background:#fff}.picker-name{font-size:.98rem;font-weight:700;color:#1f3a30}.picker-tier{font-size:.82rem;color:#4a6659}.pin-btn{margin-top:.25rem;min-height:38px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;border-radius:8px;border:1px solid #cce3de;background:#fff;color:#1f3a30;cursor:pointer}.pin-btn.is-pinned{background:#fef3c7;border-color:#fde68a;color:#92400e}.settings-bottom-actions{display:flex;justify-content:flex-end}@media(max-width:600px){.settings-option-card{flex-direction:column;align-items:flex-start}.pinned-badge-select{width:100%;max-width:100%}}.profile-stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;width:100%}@media(max-width:960px){.profile-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}}@media(max-width:580px){.profile-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}.stat-pill-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.35rem .85rem 1.15rem;background:#fff;border:1px solid rgba(45,106,79,.12);border-radius:18px;overflow:hidden;box-shadow:0 4px 14px -2px #1b43320a,0 2px 6px -1px #00000005;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),border-color .22s ease;cursor:default}.stat-pill-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px -4px #1b433214,0 4px 10px #00000008;border-color:#2d6a4f42}.stat-icon-wrapper{margin-bottom:.65rem;display:flex;justify-content:center;align-items:center}.stat-icon-circle{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:transform .25s ease,box-shadow .25s ease}.stat-pill-card:hover .stat-icon-circle{transform:scale(1.08)}.stat-pill-content{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}.stat-pill-value{font-size:1.85rem;font-weight:800;color:#111827;line-height:1.15;letter-spacing:-.03em}.stat-pill-label{font-size:.72rem;font-weight:700;color:#64748b;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;text-align:center;word-break:break-word;max-width:100%}.stat-pill-card.theme-gardens,.stat-pill-card.theme-green{border-color:#10b98129}.stat-pill-card.theme-gardens .stat-icon-circle,.stat-pill-card.theme-green .stat-icon-circle{background:#ecfdf5;color:#059669;border:1px solid rgba(5,150,105,.18)}.stat-pill-card.theme-gardens:hover,.stat-pill-card.theme-green:hover{border-color:#10b981}.stat-pill-card.theme-plants,.stat-pill-card.theme-emerald{border-color:#22c55e29}.stat-pill-card.theme-plants .stat-icon-circle,.stat-pill-card.theme-emerald .stat-icon-circle{background:#f0fdf4;color:#16a34a;border:1px solid rgba(22,163,74,.18)}.stat-pill-card.theme-plants:hover,.stat-pill-card.theme-emerald:hover{border-color:#22c55e}.stat-pill-card.theme-diagnoses,.stat-pill-card.theme-purple{border-color:#a855f729}.stat-pill-card.theme-diagnoses .stat-icon-circle,.stat-pill-card.theme-purple .stat-icon-circle{background:#faf5ff;color:#7c3aed;border:1px solid rgba(124,58,237,.18)}.stat-pill-card.theme-diagnoses:hover,.stat-pill-card.theme-purple:hover{border-color:#a855f7}.stat-pill-card.theme-community,.stat-pill-card.theme-blue{border-color:#38bdf82e}.stat-pill-card.theme-community .stat-icon-circle,.stat-pill-card.theme-blue .stat-icon-circle{background:#f0f9ff;color:#0284c7;border:1px solid rgba(2,132,199,.18)}.stat-pill-card.theme-community:hover,.stat-pill-card.theme-blue:hover{border-color:#38bdf8}.stat-pill-card.theme-watering,.stat-pill-card.theme-cyan{border-color:#06b6d42e}.stat-pill-card.theme-watering .stat-icon-circle,.stat-pill-card.theme-cyan .stat-icon-circle{background:#ecfeff;color:#0891b2;border:1px solid rgba(8,145,178,.18)}.stat-pill-card.theme-watering:hover,.stat-pill-card.theme-cyan:hover{border-color:#06b6d4}.profile-container-layout{display:flex;gap:1.25rem;align-items:flex-start;width:100%;max-width:100%;margin:0;padding:.15rem .5rem 2rem}.profile-main-section{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.1rem}.profile-banner-card{background:var(--surface, #ffffff);border-radius:20px;padding:1.25rem 1.6rem;border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:var(--shadow-soft, 0 4px 20px rgba(0, 0, 0, .03));display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.profile-banner-user{display:flex;align-items:center;gap:1rem}.profile-avatar-circle{width:52px;height:52px;border-radius:50%;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .1));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;color:var(--text, #111827);overflow:hidden;flex-shrink:0;position:relative}.profile-avatar-circle.clickable{cursor:pointer}.profile-avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-hover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;opacity:0;transition:opacity .2s ease;border-radius:50%}.profile-avatar-circle:hover .avatar-hover-overlay{opacity:1}.profile-user-name{margin:0;font-size:1.35rem;font-weight:600;color:var(--text, #111827);letter-spacing:-.01em}.btn-edit-profile{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1.25rem;border-radius:24px;border:1px solid var(--border, rgba(0, 0, 0, .15));background:var(--surface, #ffffff);color:var(--text, #374151);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit-profile:hover{background:var(--background, #f6fff8);border-color:var(--primary, #6b9080);transform:translateY(-1px)}.profile-banner-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.profile-lang-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:20px;font-size:.82rem;color:var(--text-secondary, #4b5563);box-shadow:0 1px 3px #00000008}.profile-lang-icon{font-size:.95rem;color:var(--primary, #2d6a4f);flex-shrink:0}.profile-lang-label{font-weight:500;color:var(--text-secondary, #6b7280)}.profile-lang-value{font-weight:600;color:var(--text, #111827)}.profile-content-card{background:var(--surface, #ffffff);border-radius:20px;padding:1.5rem 1.75rem;border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:var(--shadow-soft, 0 4px 20px rgba(0, 0, 0, .03))}.profile-tabs-nav{display:flex;align-items:center;gap:2rem;margin-bottom:1.4rem;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));padding-bottom:.45rem}.tab-nav-btn{background:none;border:none;font-size:.98rem;font-weight:600;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.4rem 0 .65rem;position:relative;transition:color .2s ease}.tab-nav-btn:hover,.tab-nav-btn.active{color:var(--text, #111827)}.tab-nav-btn.active:after{content:"";position:absolute;bottom:-.45rem;left:0;right:0;height:2.5px;background:var(--text, #111827);border-radius:2px}.profile-user-titles{display:flex;flex-direction:column;gap:.2rem}.header-highest-badge-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--pill-color, var(--primary, #6b9080));background:var(--background, #f6fff8);padding:.18rem .6rem;border-radius:12px;border:1px solid var(--border, rgba(0, 0, 0, .08));width:fit-content}.top-badge-card{background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:18px;padding:1.15rem 1.4rem;margin-bottom:1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;box-shadow:var(--shadow-soft, 0 4px 14px rgba(0, 0, 0, .03));transition:transform .2s ease,box-shadow .2s ease}.top-badge-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift, 0 8px 22px rgba(0, 0, 0, .06))}.top-badge-left{display:flex;align-items:center;gap:1.1rem;flex:1;min-width:0}.top-badge-emblem-wrap{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.top-badge-info{display:flex;flex-direction:column;gap:.2rem}.top-badge-label-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.top-badge-header-tag{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--primary, #6b9080);display:inline-flex;align-items:center;gap:.3rem}.top-badge-tier-pill{font-size:.72rem;font-weight:600;padding:.1rem .55rem;border-radius:10px;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .08))}.top-badge-title{font-size:1.1rem;font-weight:700;color:var(--text, #111827);margin:0}.top-badge-desc{font-size:.85rem;color:var(--text-secondary, #6b7280);margin:0;line-height:1.35}.top-badge-right{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;flex-shrink:0}.unlocked-count-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:#d97706;background:#fef3c7;border:1px solid #fde68a;padding:.25rem .75rem;border-radius:14px}.btn-view-all-badges{background:var(--surface, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .12));color:var(--text, #111827);padding:.45rem .95rem;border-radius:12px;font-size:.83rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.3rem}.btn-view-all-badges:hover{background:var(--primary, #6b9080);color:#fff;border-color:var(--primary, #6b9080)}@media(max-width:640px){.top-badge-card{flex-direction:column;align-items:flex-start}.top-badge-right{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between}}.my-info-section{margin-top:1.4rem}.my-info-title{font-size:1.1rem;font-weight:600;color:var(--text, #111827);margin:0 0 1rem}.my-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}@media(max-width:680px){.my-info-grid{grid-template-columns:1fr;gap:0}}.info-col{display:flex;flex-direction:column}.info-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .06))}.info-key{font-size:.85rem;color:var(--text-secondary, #6b7280);font-weight:400}.info-val{font-size:.88rem;color:var(--text, #111827);font-weight:500;text-align:right}.profile-right-rail{width:295px;flex-shrink:0}.upcoming-urgent-card{background:var(--surface, #ffffff);border-radius:20px;padding:1.35rem 1.3rem;border:1px solid var(--border, rgba(0, 0, 0, .08));box-shadow:var(--shadow-soft, 0 4px 20px rgba(0, 0, 0, .03))}.rail-title{margin:0 0 1.1rem;font-size:1.08rem;font-weight:600;color:var(--text, #111827)}.urgent-list{display:flex;flex-direction:column;gap:.85rem}.urgent-item{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;background:var(--background, #f6fff8);border:1px solid var(--border, rgba(0, 0, 0, .06));border-radius:16px;transition:all .2s ease}.urgent-item:hover{background:var(--surface, #ffffff);border-color:var(--primary, #6b9080);transform:translateY(-1px)}.urgent-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.urgent-icon.icon-blue{background:#e0f2fe;color:#0284c7}.urgent-icon.icon-orange{background:#ffedd5;color:#ea580c}.urgent-icon.icon-green{background:#dcfce7;color:#16a34a}.urgent-meta{display:flex;flex-direction:column;min-width:0}.urgent-item-title{font-size:.88rem;font-weight:600;color:var(--text, #111827)}.urgent-item-sub{font-size:.78rem;color:var(--text-secondary, #6b7280);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.edit-profile-modal-content{background:var(--surface, #ffffff);border-radius:20px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;padding:1.6rem;box-shadow:var(--shadow-lift, 0 14px 32px rgba(0, 0, 0, .15));border:1px solid var(--border, rgba(0, 0, 0, .1))}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.85rem;margin-bottom:1rem;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.edit-modal-header h3{margin:0;font-size:1.2rem;font-weight:600;color:var(--text, #111827)}.edit-modal-header .close-btn{background:none;border:none;font-size:1.25rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.photo-upload-container{display:flex;align-items:center;gap:1.25rem;background:var(--background, #f6fff8);padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border, rgba(0, 0, 0, .08))}.photo-preview-avatar{width:64px;height:64px;border-radius:50%;background:var(--surface, #ffffff);border:2px solid var(--border, rgba(0, 0, 0, .12));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;color:var(--text, #111827);overflow:hidden;flex-shrink:0}.photo-preview-avatar img{width:100%;height:100%;object-fit:cover}.photo-actions-column{display:flex;flex-direction:column;gap:.4rem;flex:1}.btn-upload-photo{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:18px;border:1px solid var(--primary, #6b9080);background:var(--surface, #ffffff);color:var(--primary, #6b9080);font-size:.82rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:all .2s ease}.btn-upload-photo:hover{background:var(--primary, #6b9080);color:#fff}.btn-remove-photo{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border:none;background:none;color:#ef4444;font-size:.78rem;font-weight:500;cursor:pointer;align-self:flex-start}.btn-remove-photo:hover{text-decoration:underline}.photo-note{font-size:.73rem;color:var(--text-secondary, #6b7280)}.profile-form .form-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border, rgba(0, 0, 0, .06))}.profile-form .form-section h4{margin:0 0 .65rem;font-size:.92rem;font-weight:600;color:var(--text, #111827)}.profile-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.profile-form .form-group{margin-bottom:.75rem}.profile-form .form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--text, #374151);margin-bottom:.3rem}.profile-form .form-group input:not([type=checkbox]),.profile-form .form-group select{width:100%;padding:.5rem .85rem;border:1px solid var(--border, rgba(0, 0, 0, .12));border-radius:12px;background:var(--background, #f6fff8);color:var(--text, #111827);font-size:.85rem;transition:all .2s ease}.profile-form .form-group input:not([type=checkbox]):focus,.profile-form .form-group select:focus{outline:none;border-color:var(--primary, #6b9080);background:var(--surface, #ffffff);box-shadow:0 0 0 3px #6b908026}.checkbox-group{margin-bottom:.85rem}.checkbox-label{display:inline-flex!important;align-items:center!important;gap:.55rem!important;font-size:.85rem!important;font-weight:500!important;color:var(--text, #374151)!important;cursor:pointer;width:auto!important}.checkbox-label input[type=checkbox]{width:18px!important;height:18px!important;flex-shrink:0!important;margin:0!important;accent-color:var(--primary, #6b9080);cursor:pointer}.form-actions{display:flex;gap:.85rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.form-actions .btn-secondary{padding:.45rem 1.25rem;border-radius:20px;border:1px solid var(--border, rgba(0, 0, 0, .15));background:var(--surface, #ffffff);color:var(--text, #374151);font-size:.83rem;font-weight:500;cursor:pointer}.form-actions .btn-primary{padding:.45rem 1.5rem;border-radius:20px;border:none;background:var(--primary, #6b9080);color:#fff;font-size:.83rem;font-weight:500;cursor:pointer}@media(max-width:960px){.profile-container-layout{flex-direction:column;padding:.75rem .75rem 2rem}.profile-right-rail{width:100%}}.admin-sidebar{width:260px;height:100vh;position:sticky;top:0;background:var(--surface-strong);border-right:1px solid var(--border-light, rgba(107, 144, 128, .22));display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:100;box-shadow:4px 0 20px #00000008}.admin-sidebar.collapsed{width:76px}.admin-sidebar-header{height:70px;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(107,144,128,.15);gap:.5rem}.admin-brand{display:flex;align-items:center;gap:.75rem;overflow:hidden;min-width:0}.admin-brand-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--sage),var(--accent));border-radius:6px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.15rem;box-shadow:0 4px 12px #6b90804d;flex-shrink:0}.admin-brand-text{font-weight:800;font-size:1.05rem;color:var(--text);white-space:nowrap;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis}.admin-sidebar-toggle{background:var(--surface);border:1px solid rgba(107,144,128,.2);color:var(--text-secondary);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);flex-shrink:0;font-size:.75rem;box-shadow:0 2px 6px #00000008}.admin-sidebar-toggle:hover{background:#6b908026;border-color:var(--sage);color:var(--sage)}.admin-sidebar-nav{flex:1;padding:1rem .85rem;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto}.admin-nav-section-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.6;padding:.4rem .85rem .15rem}.admin-nav-divider{height:1px;background:#6b90801f;margin:.4rem .5rem}.admin-nav-link{display:flex;align-items:center;gap:.85rem;padding:.65rem 1rem;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;transition:all var(--transition);white-space:nowrap;border:1px solid transparent}.admin-nav-link.public-nav-link{color:var(--text-secondary);background:#6b90800d;border:1px solid rgba(107,144,128,.15)}.admin-nav-link.public-nav-link:hover{color:var(--sage);background:#6b908026;border-color:var(--sage)}.admin-nav-link .nav-icon{font-size:1.15rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-nav-link:hover{background:var(--surface);border-color:#6b908033;color:var(--text);transform:translate(3px)}.admin-nav-link.active{background:linear-gradient(135deg,#6b908033,#6b908014);color:var(--sage);font-weight:700;border:1px solid rgba(107,144,128,.35);box-shadow:0 4px 14px #6b90801f}.admin-sidebar-footer,.admin-drawer-footer{padding:1rem .85rem;border-top:1px solid rgba(107,144,128,.15);display:flex;flex-direction:column;gap:.85rem;align-items:center;justify-content:center}.admin-sidebar-footer .footer-language-selector,.admin-drawer-footer .footer-language-selector{width:100%;display:flex;justify-content:center;align-items:center;margin:0 auto}.admin-sidebar-footer .lang-options-inline,.admin-drawer-footer .lang-options-inline{justify-content:center;width:100%}.admin-exit-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1.1rem;border-radius:6px;border:1px solid rgba(192,57,43,.25);background:#c0392b14;color:#c0392b;cursor:pointer;font-size:.88rem;font-weight:700;transition:all var(--transition);white-space:nowrap;font-family:inherit;box-shadow:0 2px 8px #c0392b0f}.admin-exit-btn:hover{background:#c0392b2e;border-color:#c0392b;color:#a93226;transform:translateY(-1px);box-shadow:0 4px 14px #c0392b26}.admin-mobile-toggle{display:none;position:fixed;top:1rem;right:1rem;bottom:auto;z-index:9997;background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;border:none;border-radius:50%;width:48px;height:48px;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 16px #00000038;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.admin-mobile-toggle:hover{transform:scale(1.08)}.admin-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9998;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:admin-nav-fade-in .25s ease}@keyframes admin-nav-fade-in{0%{opacity:0}to{opacity:1}}.admin-mobile-drawer{position:fixed;top:0;right:0;bottom:0;height:100vh;width:50vw;min-width:260px;max-width:90vw;background:var(--surface-strong, #ffffff);border-left:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:-6px 0 30px #00000040;z-index:9999;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.admin-mobile-drawer.open{transform:translate(0)}.admin-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.admin-drawer-close{background:none;border:1px solid var(--border);border-radius:8px;font-size:1.2rem;color:var(--text);padding:.35rem .55rem;cursor:pointer;display:flex;align-items:center}.admin-drawer-nav{display:flex;flex-direction:column;gap:.35rem}.admin-drawer-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:768px){.desktop-sidebar{display:none!important}.admin-mobile-toggle{display:inline-flex}}.admin-iot-container{display:flex;flex-direction:column;gap:20px;width:100%;box-sizing:border-box}.admin-iot-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-metric-card{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .2));padding:16px;border-radius:16px;display:flex;align-items:center;gap:14px;box-shadow:0 6px 20px #1f3a300d}.admin-metric-icon{padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:center}.admin-metric-icon.emerald{background:#dcfce7;color:#15803d}.admin-metric-icon.rose{background:#fee2e2;color:#b91c1c}.admin-metric-icon.sky{background:#e0f2fe;color:#0369a1}.admin-metric-label{font-size:.75rem;color:#52796f;display:block}.admin-metric-val{font-size:1.35rem;font-weight:800;color:#1f3a30}.admin-status-text{font-size:.88rem;font-weight:700;color:#15803d}.admin-simulator-card{background:var(--surface-primary, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .25));border-radius:24px;padding:24px;box-shadow:0 8px 30px #1f3a300f;display:flex;flex-direction:column;gap:20px}.admin-simulator-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(45,106,79,.12)}.admin-simulator-title{font-size:1.15rem;font-weight:800;color:#1f3a30;display:flex;align-items:center;gap:10px}.admin-simulator-desc{font-size:.78rem;color:#52796f;margin-top:4px}.admin-refresh-btn{background:#f6fff8;border:1px solid rgba(45,106,79,.2);color:#2d6a4f;padding:8px 12px;border-radius:10px;cursor:pointer;transition:all .2s}.admin-refresh-btn:hover{background:#eaf4f4;color:#1b4332}.admin-selector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-field-label{font-size:.78rem;font-weight:700;color:#1f3a30;display:block;margin-bottom:6px}.admin-field-select{width:100%;background:#fbf9f7;border:1px solid rgba(45,106,79,.25);border-radius:12px;padding:10px 14px;font-size:.88rem;color:#1f3a30;outline:none}.admin-field-select:focus{border-color:#2d6a4f}.admin-scenarios-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-scenario-btn{border-radius:16px;border:1px solid rgba(0,0,0,.1);padding:16px;text-align:left;cursor:pointer;transition:all .25s;display:flex;flex-direction:column;justify-content:space-between}.admin-scenario-btn.normal{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.admin-scenario-btn.dry{background:#fffbeb;border-color:#fde68a;color:#b45309}.admin-scenario-btn.rain{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.admin-scenario-btn.heat{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.admin-scenario-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.admin-scenario-btn.active{outline:2px solid #2d6a4f}.admin-scenario-top{display:flex;align-items:center;justify-content:space-between}.admin-scenario-name{font-weight:800;font-size:.92rem}.admin-scenario-desc{font-size:.75rem;opacity:.85;margin-top:8px}.admin-scenario-footer{font-size:.72rem;font-weight:700;margin-top:12px;display:flex;align-items:center;justify-content:space-between}.admin-live-telemetry-box{background:#f6fff8;border:1px solid rgba(45,106,79,.25);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.admin-telemetry-title{font-size:.82rem;font-weight:700;color:#15803d;display:flex;align-items:center;gap:6px}.admin-telemetry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-telemetry-label{font-size:.72rem;color:#52796f;display:block}.admin-telemetry-val{font-size:1rem;font-weight:800}.text-emerald{color:#15803d}.text-amber{color:#b45309}.text-sky{color:#0369a1}.text-yellow{color:#a16207}@media(max-width:768px){.admin-iot-metrics-grid,.admin-scenarios-grid,.admin-telemetry-grid,.admin-selector-grid{grid-template-columns:repeat(1,1fr)}}.admin-dashboard{display:flex;flex-direction:column;gap:1.5rem}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.admin-stat-card{display:flex;align-items:center;gap:1rem;padding:1.35rem 1.25rem;background:var(--surface-strong);border:1px solid var(--border-light, rgba(107, 144, 128, .22));border-radius:8px;box-shadow:0 4px 16px #00000008;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.admin-stat-card:hover{transform:translateY(-3px);border-color:var(--sage);box-shadow:0 10px 26px #6b90801f}.stat-icon-box{display:flex;align-items:center;justify-content:center;font-size:1.85rem;flex-shrink:0;background:transparent;border:none;box-shadow:none}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.65rem;font-weight:800;color:var(--text);line-height:1.2}.stat-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-top:.1rem}.stat-sub{font-size:.75rem;color:var(--text-secondary);opacity:.75}.plant-health-card{padding:1.5rem;border:1px solid var(--border-light, rgba(107, 144, 128, .22));border-radius:8px}.health-bar-container{margin-top:1rem}.health-bar{height:14px;width:100%;border-radius:4px;background:var(--surface);border:1px solid rgba(107,144,128,.15);display:flex;overflow:hidden;box-shadow:inset 0 2px 4px #0000000a}.health-segment{height:100%;transition:width .5s ease}.health-segment.healthy{background:var(--sage)}.health-segment.warning{background:#d4a017}.health-segment.unhealthy{background:#c0392b}.health-segment.empty{background:var(--surface)}.health-legend{display:flex;gap:1.5rem;margin-top:.75rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-secondary)}.admin-recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem}.recent-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.75rem}.recent-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;background:var(--surface-strong);border:1px solid var(--border-light, rgba(107, 144, 128, .18));border-radius:6px;box-shadow:0 2px 8px #00000005;transition:all var(--transition)}.recent-item:hover{background:var(--surface);border-color:var(--sage);transform:translate(3px);box-shadow:0 4px 14px #6b90801f}.recent-avatar{width:36px;height:36px;border-radius:6px;background:linear-gradient(135deg,var(--sage),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 3px 10px #6b908040}.recent-post-indicator{width:36px;height:36px;border-radius:6px;background:var(--surface);border:1px solid rgba(107,144,128,.18);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.recent-info{flex:1;min-width:0}.recent-info strong{display:block;font-size:.88rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-info small{font-size:.78rem;color:var(--text-secondary)}.role-badge{padding:.25rem .6rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(107,144,128,.25)}.role-badge.admin{background:#6b908026;border-color:#6b908059;color:var(--sage)}.role-badge.user{background:#3b82c81f;border-color:#3b82c840;color:#2a6fb5}.category-badge{padding:.25rem .6rem;border-radius:4px;font-size:.72rem;font-weight:600;background:#6b90801a;border:1px solid rgba(107,144,128,.2);color:var(--text-secondary);text-transform:capitalize}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem;margin-top:.85rem}.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1.35rem 1rem;border-radius:8px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .22));background:var(--surface-strong);color:var(--text);cursor:pointer;transition:all var(--transition);font-size:.85rem;font-weight:700;font-family:inherit;box-shadow:0 2px 8px #00000005}.quick-action-card:hover{background:var(--surface);border-color:var(--sage);transform:translateY(-3px);box-shadow:0 8px 22px #6b908026}.quick-action-card svg{font-size:1.4rem;color:var(--sage)}.quick-action-card.exit{background:#c0392b14;border-color:#c0392b40;color:#c0392b}.quick-action-card.exit:hover{background:#c0392b29;border-color:#c0392b;color:#a93226;box-shadow:0 8px 22px #c0392b26}.quick-action-card.exit svg{color:#c0392b}.user-mgmt-container{display:flex;flex-direction:column;gap:1.5rem}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar-sm{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2d6a4f,#52b788);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 4px 12px #2d6a4f40}.role-dropdown-container{position:relative;display:inline-block}.role-select-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .85rem;border-radius:12px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;border:1px solid transparent;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box;min-width:140px;background:#fff}.role-select-btn.user{background:#2d6a4f14;border-color:#2d6a4f40;color:#2d6a4f}.role-select-btn.admin{background:#6366f117;border-color:#6366f147;color:#4f46e5}.role-select-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.role-btn-text{display:inline-flex;align-items:center;gap:.45rem}.role-icon{font-size:.85rem}.role-chevron{font-size:.65rem;opacity:.7;transition:transform .2s ease}.role-chevron.open{transform:rotate(180deg)}.role-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:1000;min-width:155px;background:#fff;border:1px solid rgba(45,106,79,.2);border-radius:12px;box-shadow:0 12px 30px #0000001f;padding:.35rem;display:flex;flex-direction:column;gap:.3rem;animation:dropdownFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.role-dropdown-item{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .8rem;font-size:.82rem;font-weight:600;border:none;border-radius:8px;background:transparent;color:#334155;cursor:pointer;text-align:left;transition:all .15s ease}.role-dropdown-item:hover{background:#2d6a4f14;color:#2d6a4f}.role-dropdown-item.user.active{font-weight:700;color:#2d6a4f;background:#2d6a4f1f}.role-dropdown-item.admin.active{font-weight:700;color:#4f46e5;background:#6366f11f}.item-icon{font-size:.85rem}.level-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:110px;padding:.4rem .85rem;border-radius:20px;font-size:.78rem;font-weight:600;border:1px solid transparent;text-transform:capitalize;letter-spacing:.2px;box-shadow:0 2px 6px #00000005;box-sizing:border-box}.level-badge.beginner{background:#2d6a4f17;border-color:#2d6a4f38;color:#2d6a4f}.level-badge.intermediate{background:#d9770617;border-color:#d9770640;color:#d97706}.level-badge.advanced{background:#7c3aed17;border-color:#7c3aed40;color:#7c3aed}.status-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:100px;gap:.45rem;padding:.4rem .85rem;border-radius:20px;border:1px solid transparent;cursor:pointer;font-size:.78rem;font-weight:600;transition:all .2s ease;font-family:inherit;box-shadow:0 2px 6px #00000005;box-sizing:border-box}.status-toggle.active{background:#10b9811a;border-color:#10b9814d;color:#059669}.status-toggle.suspended{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.status-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.row-suspended{opacity:.6}.action-btns{display:flex;gap:.45rem}.admin-filters select,.filter-group select,.admin-modal-form select{padding:.45rem 2.2rem .45rem .9rem;border-radius:10px;border:1px solid var(--border, #cbd5e1);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232d6a4f'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.85rem;font-size:.82rem;font-weight:600;color:#1e293b;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s ease;box-shadow:0 1px 3px #00000008}.admin-filters select:hover,.filter-group select:hover,.admin-modal-form select:hover{border-color:#2d6a4f}.admin-filters select:focus,.filter-group select:focus,.admin-modal-form select:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px #2d6a4f26}.garden-mgmt-container{display:flex;flex-direction:column;gap:1.5rem}.health-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;border:none;text-transform:capitalize;box-shadow:0 2px 6px #00000008}.health-badge.healthy{background:#27ae6024;color:#27ae60}.health-badge.warning{background:#f39c1224;color:#f39c12}.health-badge.unhealthy{background:#e74c3c24;color:#e74c3c}.content-moderation-container,.moderation-container{display:flex;flex-direction:column;gap:1.25rem}.post-title-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left}.post-title-cell strong{font-size:.92rem;font-weight:700;color:var(--text-primary, #0f172a);line-height:1.35;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.post-title-cell small{font-size:.8rem;color:var(--text-secondary, #64748b);line-height:1.4;word-break:normal;overflow-wrap:break-word}.post-has-image{color:#2a6fb5;font-size:.9rem;flex-shrink:0}.category-tag{display:inline-flex;align-items:center;justify-content:center;min-width:95px;padding:.35rem .75rem;border-radius:20px;font-size:.78rem;font-weight:700;text-transform:capitalize;box-sizing:border-box;text-align:center;white-space:nowrap;box-shadow:0 2px 6px #00000005}.category-tag.question{background:#3b82c81f;color:#2a6fb5;border:1px solid rgba(59,130,200,.25)}.category-tag.tip{background:#2d6a4f1f;color:#2d6a4f;border:1px solid rgba(45,106,79,.25)}.category-tag.showcase{background:#7c3aed1f;color:#7c3aed;border:1px solid rgba(124,58,237,.25)}.category-tag.event{background:#d977061f;color:#d97706;border:1px solid rgba(217,119,6,.25)}.category-tag.general{background:#64748b1a;color:#475569;border:1px solid rgba(100,116,139,.2)}.mod-status-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:105px;padding:.35rem .75rem;border-radius:20px;font-size:.78rem;font-weight:700;box-sizing:border-box;text-align:center;white-space:nowrap;box-shadow:0 2px 6px #00000005}.mod-status-badge.flagged{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.mod-status-badge.approved{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.mod-status-badge.pending{background:#d977061f;color:#d97706;border:1px solid rgba(217,119,6,.25)}.row-flagged{background:#ef44440a!important}.admin-post-preview-img-wrapper{border-radius:12px;overflow:hidden;height:280px;width:100%;border:1px solid var(--border-light, rgba(107, 144, 128, .25));display:flex;justify-content:center;align-items:center;background:#6b90800d}.admin-post-preview-img{width:100%;height:100%;object-fit:contain;display:block}.admin-post-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.6rem .8rem;background:var(--surface);border-radius:6px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));text-align:center}.admin-post-preview-stats label{font-size:.7rem;color:var(--text-secondary);display:block;margin-bottom:.15rem;font-weight:700}.admin-post-preview-stats strong{font-size:.95rem}@media(max-width:640px){.admin-post-preview-modal{max-width:96%!important;margin:0 auto}.admin-post-preview-img-wrapper{height:220px}.admin-post-preview-stats{grid-template-columns:1fr;gap:.4rem}.admin-post-preview-stats>div{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;border-bottom:1px dashed rgba(107,144,128,.2)}.admin-post-preview-stats>div:last-child{border-bottom:none}.admin-post-preview-stats label{margin-bottom:0}}.guest-leads-container{display:flex;flex-direction:column;gap:1.5rem}.lead-subject-tag{display:inline-flex;align-items:center;justify-content:center;width:195px;min-width:195px;max-width:195px;padding:.35rem .5rem;background:#6b908024;border:1px solid rgba(107,144,128,.25);color:var(--sage);border-radius:6px;font-size:.76rem;font-weight:700;box-sizing:border-box;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lead-status-select{display:inline-flex;align-items:center;justify-content:center;width:135px;min-width:135px;max-width:135px;padding:.35rem 1.6rem .35rem .75rem;border-radius:6px;font-size:.78rem;font-weight:700;border:1.5px solid rgba(107,144,128,.25);outline:none;cursor:pointer;background:var(--surface);color:var(--text);box-shadow:0 2px 6px #00000008;transition:all var(--transition);font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-repeat:no-repeat;background-position:right .6rem center;background-size:.6em;text-align:center;box-sizing:border-box}.lead-status-select.new{background-color:#eb575724;border-color:#eb575759;color:#eb5757;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23eb5757' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.lead-status-select.contacted{background-color:#f2994a24;border-color:#f2994a59;color:#f2994a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2994a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.lead-status-select.resolved{background-color:#27ae6024;border-color:#27ae6059;color:#27ae60;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2327ae60' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.lead-status-select.archived{background-color:#78787824;border-color:#7878784d;color:var(--text-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.lead-status-select:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000014}.audit-logs-container{display:flex;flex-direction:column;gap:1.5rem}.log-timestamp{display:flex;align-items:center;gap:.65rem;color:var(--text-secondary)}.log-ts-icon{color:var(--sage);font-size:.95rem;flex-shrink:0}.log-ts-text{display:flex;flex-direction:column;gap:.15rem}.log-date{font-size:.84rem;font-weight:700;color:var(--text);white-space:nowrap}.log-time{font-size:.76rem;color:var(--text-secondary);white-space:nowrap}.log-admin-cell{display:flex;align-items:center;gap:.75rem}.log-admin-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;box-shadow:0 3px 10px #6b908040}.log-admin-info{display:flex;flex-direction:column;gap:.15rem}.log-admin-info strong{font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap}.log-admin-info small{font-size:.76rem;color:var(--text-secondary);white-space:nowrap}.log-action-chip{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:20px;font-size:.78rem;font-weight:700;white-space:nowrap;box-shadow:0 2px 6px #00000005;border:1px solid transparent}.log-action-chip.chip-green{background:#10b9811f;color:#059669;border-color:#10b98140}.log-action-chip.chip-blue{background:#3b82f61f;color:#2563eb;border-color:#3b82f640}.log-action-chip.chip-purple{background:#9333ea1f;color:#7e22ce;border-color:#9333ea40}.log-action-chip.chip-red{background:#ef44441f;color:#dc2626;border-color:#ef444440}.log-action-chip.chip-orange{background:#d977061f;color:#d97706;border-color:#d9770640}.log-action-chip.chip-teal{background:#14b8a61f;color:#0d9488;border-color:#14b8a640}.log-action-chip.chip-default{background:#2d6a4f1f;color:#2d6a4f;border-color:#2d6a4f40}.log-target-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.log-target-badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;background:#2d6a4f1a;border:1px solid rgba(45,106,79,.22);color:#2d6a4f;font-size:.78rem;font-weight:700;text-transform:capitalize}.log-target-id{font-size:.76rem;color:var(--text-secondary, #64748b);font-family:monospace}.log-detail-pills{display:flex;flex-wrap:wrap;gap:.45rem}.detail-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:16px;font-size:.78rem;background:var(--surface-strong, #ffffff);border:1px solid var(--border-light, rgba(45, 106, 79, .18));box-shadow:0 2px 6px #00000005}.detail-pill.pill-purple{background:#9333ea17;border-color:#9333ea38;color:#7e22ce}.detail-pill.pill-green{background:#10b98117;border-color:#10b98138;color:#059669}.detail-pill.pill-red{background:#ef444417;border-color:#ef444438;color:#dc2626}.detail-pill.pill-orange{background:#d9770617;border-color:#d9770638;color:#d97706}.detail-pill.pill-blue{background:#3b82f617;border-color:#3b82f638;color:#2563eb}.detail-key{color:var(--text-secondary);font-weight:600;white-space:nowrap}.detail-value{color:var(--text);font-weight:700;word-break:break-word}.audit-pagination-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem .5rem;border-top:1px solid var(--border);margin-top:.5rem}.audit-pagination-info{font-size:.88rem;color:var(--text-secondary);font-weight:500}.audit-pagination-controls{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.audit-page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.audit-page-size-selector select{padding:.35rem .75rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;cursor:pointer;outline:none}.audit-pagination-nav{display:flex;align-items:center;gap:.5rem}.audit-pagination-nav .pagination-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px #0000000a}.audit-pagination-nav .pagination-btn:hover:not(:disabled){background:var(--background);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.audit-pagination-nav .pagination-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.audit-pagination-nav .pagination-indicator{font-size:.82rem;font-weight:600;color:var(--text-secondary);padding:.35rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm, 6px)}.admin-settings-container{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;box-sizing:border-box}.admin-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem;width:100%}.service-health-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.service-health-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-sm);gap:.75rem;box-sizing:border-box;max-width:100%}.service-info{display:flex;align-items:center;gap:.85rem;min-width:0}.service-info strong{display:block;color:var(--text);font-size:.88rem;word-break:break-word}.service-icon{font-size:1.2rem;color:var(--sage);flex-shrink:0}.service-latency{display:block;font-size:.78rem;color:var(--text-secondary)}.service-status.active{display:flex;align-items:center;gap:.4rem;color:var(--sage);font-weight:600;font-size:.85rem;background:#6b90801a;padding:.3rem .7rem;border-radius:20px;flex-shrink:0}.backup-actions{margin-top:1.25rem}.language-selector-group{margin-top:1.25rem;display:flex;flex-direction:column;gap:.65rem}.settings-field-label{display:block;font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:.15rem}.language-pill-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}.language-pill-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.85rem .75rem;border-radius:var(--radius-sm, 10px);border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:all var(--transition, .2s ease);position:relative;text-align:center}.language-pill-btn:hover{border-color:var(--primary);background:var(--surface-strong);transform:translateY(-2px);box-shadow:0 4px 12px #6b90801f}.language-pill-btn.active{border-color:var(--primary);background:#6b908024;color:var(--primary-dark, var(--text));font-weight:700;box-shadow:0 4px 14px #6b90802e}.language-pill-btn .lang-native{font-size:1rem;font-weight:700;color:var(--text)}.language-pill-btn .lang-label{font-size:.78rem;color:var(--text-secondary)}.language-pill-btn.active .lang-native{color:var(--primary)}.language-pill-btn .lang-check-icon{position:absolute;top:8px;right:8px;font-size:.85rem;color:var(--primary)}.full-bundle-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:700;border-radius:var(--radius-sm, 8px);background-color:var(--primary, #2d6a4f);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 14px #2d6a4f40;transition:all var(--transition, .2s ease)}.full-bundle-btn:hover:not(:disabled){background-color:var(--primary-dark, #1b4332);transform:translateY(-2px);box-shadow:0 6px 18px #2d6a4f59}.full-bundle-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.individual-exports-section{margin-top:1.4rem;padding-top:1.15rem;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:.75rem}.individual-exports-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.individual-exports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem}.individual-export-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem .85rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition, .2s ease)}.individual-export-btn:hover:not(:disabled){border-color:var(--primary);background:var(--surface-strong);color:var(--primary);transform:translateY(-2px);box-shadow:0 3px 8px #6b908026}.individual-export-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.admin-settings-grid{grid-template-columns:1fr;gap:1rem}.service-health-item{flex-direction:flex-start;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.service-status.active{align-self:flex-start}}.admin-panel-layout{display:flex;min-height:100vh;background:var(--background);color:var(--text)}.admin-panel-main{flex:1;padding:2.2rem;overflow-y:auto;max-height:100vh;min-width:0;max-width:100%;box-sizing:border-box}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.admin-page-header h2{font-size:1.6rem;font-weight:800;color:var(--text);margin:0;letter-spacing:-.02em}.admin-page-header p{font-size:.9rem;color:var(--text-secondary);margin:.3rem 0 0}.admin-header-actions{display:flex;gap:.6rem;flex-wrap:wrap}.admin-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.3rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.88rem;font-weight:600;transition:all var(--transition);white-space:nowrap;font-family:inherit}.admin-btn-primary{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #6b908059}.admin-btn-primary:hover{box-shadow:0 6px 20px #6b908080;transform:translateY(-1px)}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.admin-btn-outline{background:var(--surface-strong);border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));color:var(--text);box-shadow:0 2px 8px #00000008}.admin-btn-outline:hover{background:var(--surface);border-color:var(--sage);color:var(--sage);transform:translateY(-1px);box-shadow:0 6px 18px #6b908026}.admin-btn-sm{padding:.55rem 1.2rem;font-size:.82rem;border-radius:4px;background:#6b90801f;border:1px solid rgba(107,144,128,.25);color:var(--sage);font-weight:700;font-family:inherit;box-shadow:0 2px 6px #00000005}.admin-btn-sm:hover{background:#6b908038;border-color:var(--sage);transform:translateY(-1px)}.admin-btn-link{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--sage);cursor:pointer;font-size:.85rem;font-weight:700;padding:0;transition:color var(--transition);font-family:inherit}.admin-btn-link:hover{color:var(--accent)}.admin-tab-row{display:flex;gap:.6rem;flex-wrap:wrap}.admin-tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .22));background:var(--surface-strong);color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-weight:600;transition:all var(--transition);font-family:inherit;box-shadow:0 2px 6px #00000005}.admin-tab-btn.active{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;border-color:transparent;box-shadow:0 4px 14px #6b908059}.admin-tab-btn:hover:not(.active){background:var(--surface);border-color:var(--sage);color:var(--text)}.admin-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.admin-search-box{position:relative;display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;max-width:100%;box-sizing:border-box;background:var(--surface-strong, #ffffff);border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:10px;padding:.35rem .85rem;box-shadow:0 2px 8px #00000008;transition:all var(--transition)}.admin-search-box:focus-within{border-color:var(--sage, #2d6a4f);box-shadow:0 0 0 3px #2d6a4f2e;background:var(--surface-strong, #ffffff)}.admin-search-box .search-icon{position:static!important;transform:none!important;color:var(--sage, #2d6a4f)!important;font-size:.95rem!important;flex-shrink:0!important;pointer-events:none!important;display:inline-flex!important;align-items:center!important;margin:0!important}.admin-search-box input{flex:1!important;min-width:0!important;width:100%!important;border:none!important;background:transparent!important;padding:.55rem .5rem .55rem .25rem!important;color:var(--text, #1e293b);font-size:.9rem;outline:none!important;box-shadow:none!important;font-family:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.admin-search-box input:focus,.admin-search-box input:focus-visible{border:none!important;outline:none!important;box-shadow:none!important}.admin-search-box input::placeholder{color:var(--text-secondary);opacity:.7}.admin-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-filters .filter-group{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.admin-filters .filter-group select{padding:.5rem 1.8rem .5rem .95rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--surface-strong);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;outline:none;font-family:inherit;box-shadow:0 2px 6px #00000008;transition:all var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23385b4d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:8px}.admin-filters .filter-group select:focus,.admin-filters .filter-group select:focus-visible,.admin-filters .filter-group select:hover{border-color:var(--sage);background:var(--surface-strong);outline:none!important;box-shadow:0 0 0 3px #6b908033}.admin-filters .filter-group select option{background-color:#fff;color:#1f2937;padding:6px 12px}.custom-admin-dropdown{position:relative;display:inline-block}.custom-dropdown-btn{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .85rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--surface-strong);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;outline:none;font-family:inherit;box-shadow:0 2px 6px #00000008;transition:all var(--transition)}.custom-dropdown-btn:hover{border-color:var(--sage)}.custom-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;left:auto;min-width:175px;max-width:240px;background:var(--surface-strong, #ffffff);border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:10px;box-shadow:0 12px 30px #00000029;z-index:9999;padding:.4rem;display:flex;flex-direction:column;gap:.25rem}.custom-dropdown-item{display:flex;align-items:center;justify-content:center;width:100%;padding:.55rem .85rem;border-radius:6px;border:none;background:transparent;color:var(--text);font-size:.84rem;font-weight:600;cursor:pointer;text-align:center;transition:all var(--transition);font-family:inherit;box-sizing:border-box}.custom-dropdown-item:hover{background:#6b90801f;color:var(--sage)}.custom-dropdown-item.active{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff}.admin-card{background:var(--surface-strong);border:1px solid var(--border-light, rgba(107, 144, 128, .2));border-radius:8px;padding:1.6rem;box-shadow:0 4px 20px #0000000a}.admin-card-header{display:flex;align-items:center;justify-content:space-between}.admin-card-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;color:var(--text);margin:0}.admin-card-desc{font-size:.88rem;color:var(--text-secondary);margin-top:.75rem;line-height:1.5}.admin-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid var(--border-light, rgba(107, 144, 128, .2));background:var(--surface-strong);box-shadow:0 4px 20px #00000008}.admin-data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.admin-data-table thead{background:var(--surface)}.admin-data-table th{padding:1rem 1.1rem;text-align:left;font-weight:800;font-size:.76rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(107,144,128,.15);white-space:nowrap}.admin-data-table td{padding:.9rem 1.1rem;border-bottom:1px solid rgba(107,144,128,.1);color:var(--text);vertical-align:middle}.admin-data-table tbody tr{transition:background var(--transition)}.admin-data-table tbody tr:last-child td{border-bottom:none}.admin-data-table tbody tr:hover{background:#6b90800f}.text-center{text-align:center!important}.text-muted{color:var(--text-secondary)!important;opacity:.7}.py-4{padding-top:2rem!important;padding-bottom:2rem!important}.admin-action-icon{width:32px;height:32px;border-radius:4px;border:1px solid rgba(107,144,128,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:all var(--transition)}.admin-action-icon.approve{background:#27ae601f;border-color:#27ae6040;color:#27ae60}.admin-action-icon.approve:hover{background:#27ae6040;border-color:#27ae60;transform:translateY(-1px)}.admin-action-icon.edit{background:#3b82f61f;border-color:#3b82f640;color:#2563eb}.admin-action-icon.edit:hover{background:#3b82f640;border-color:#2563eb;transform:translateY(-1px)}.admin-action-icon.warn{background:#f39c121f;border-color:#f39c1240;color:#f39c12}.admin-action-icon.warn:hover{background:#f39c1240;border-color:#f39c12;transform:translateY(-1px)}.admin-action-icon.delete{background:#eb57571f;border-color:#eb575740;color:#eb5757}.admin-action-icon.delete:hover{background:#eb575740;border-color:#eb5757;transform:translateY(-1px)}.admin-action-icon:disabled{opacity:.35;cursor:not-allowed;transform:none}.badge{padding:.25rem .6rem;border-radius:4px;font-size:.76rem;font-weight:700;border:1px solid rgba(107,144,128,.2)}.badge.badge-info{background:#3b82f61f;border-color:#3b82f640;color:#2563eb}.badge.badge-secondary{background:#6b90801f;border-color:#6b908040;color:var(--sage);text-transform:capitalize}.admin-loading-spinner{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);font-size:.95rem;font-weight:500}.admin-empty-msg{color:var(--text-secondary);font-size:.88rem;text-align:center;padding:1.5rem 0}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#14231c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-modal{background:var(--surface-strong);border:1px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:12px;width:100%;max-width:580px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000038;overflow:hidden}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.6rem;border-bottom:1px solid rgba(107,144,128,.15);flex-shrink:0}.admin-modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:800;color:var(--text);margin:0}.modal-close{width:32px;height:32px;border-radius:4px;background:var(--surface);border:1px solid rgba(107,144,128,.2);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.modal-close:hover{background:#eb575726;border-color:#eb5757;color:#eb5757}.admin-modal-form-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.admin-modal-form{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.95rem;overflow-y:auto;flex:1;min-height:0}.admin-modal-form .form-group{display:flex;flex-direction:column;gap:.4rem}.admin-modal-form .form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.admin-modal-form .form-group input{padding:.65rem .9rem;border-radius:8px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--surface-strong, #ffffff);color:var(--text);font-size:.9rem;outline:none;box-shadow:inset 0 1px 3px #00000008;transition:all var(--transition);font-family:inherit}.admin-modal-form .form-group select,.admin-modal-select{padding:.65rem 2.4rem .65rem .9rem!important;border-radius:8px!important;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25))!important;background-color:var(--surface-strong, #ffffff)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232d6a4f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .85rem center!important;background-size:1rem!important;color:var(--text, #1e293b)!important;font-size:.9rem!important;font-weight:600!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;font-family:inherit;box-shadow:0 1px 3px #00000008!important}.admin-modal-form .form-group input:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6b908033;background:var(--surface-strong)}.admin-modal-form .form-group select:focus,.admin-modal-select:focus{border-color:var(--sage, #2d6a4f)!important;box-shadow:0 0 0 3px #2d6a4f2e!important;outline:none!important}.admin-modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}.admin-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;flex-shrink:0;border-top:1px solid rgba(107,144,128,.18);background:var(--surface-strong, #ffffff);z-index:10}.admin-modal-form>.admin-modal-footer{position:sticky;bottom:-1.25rem;margin:.75rem -1.5rem -1.25rem;padding:1rem 1.5rem;box-shadow:0 -4px 14px #0000000d}.fa-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.admin-panel-main{padding:.85rem .85rem 90px;overflow-x:hidden;width:100%;box-sizing:border-box}.admin-page-header{flex-direction:column;padding-right:3.5rem;align-items:stretch;gap:.85rem}.admin-filter-bar{flex-direction:column;align-items:stretch;gap:.75rem}.admin-search-box{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:.25rem .4rem .25rem .85rem}.admin-search-box .search-submit-btn{display:none}.admin-filters{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;gap:.6rem}.admin-filters .filter-group{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:180px;width:100%;background:var(--surface-strong);padding:.4rem .75rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));box-sizing:border-box}.admin-filters .filter-group select{flex:1;max-width:100%;border:none!important;box-shadow:none!important;background-color:transparent}.admin-table-wrapper{background:transparent;border:none;box-shadow:none;overflow-x:visible}.admin-data-table,.admin-data-table thead,.admin-data-table tbody,.admin-data-table th,.admin-data-table td,.admin-data-table tr{display:block}.admin-data-table thead{display:none}.admin-data-table tbody tr{background:var(--surface-strong, #ffffff);border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:0 4px 14px #0000000a;display:flex;flex-direction:column;gap:.65rem}.admin-data-table td{display:flex;align-items:flex-start;justify-content:space-between;padding:.45rem 0;border-bottom:1px dashed rgba(107,144,128,.2);font-size:.88rem;text-align:right;word-break:normal;overflow-wrap:break-word}.td-cell-content{display:flex;flex-direction:column;align-items:flex-end;text-align:right;max-width:70%;word-break:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none}.admin-data-table td[data-label=Post],.admin-data-table td[data-label=Title],.admin-data-table td[data-label=User]{flex-direction:column;align-items:flex-start;text-align:left;gap:.35rem}.admin-data-table td[data-label=Post] .td-cell-content,.admin-data-table td[data-label=Title] .td-cell-content,.admin-data-table td[data-label=User] .td-cell-content{max-width:100%;width:100%;align-items:flex-start;text-align:left}.admin-data-table td:last-child{border-bottom:none;padding-top:.6rem;justify-content:flex-end}.admin-data-table td:before{content:attr(data-label);font-weight:700;font-size:.76rem;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;text-align:left;margin-right:1rem;flex-shrink:0}.admin-modal-form .form-row{grid-template-columns:1fr}}.admin-pagination-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem .5rem;border-top:1px solid var(--border);margin-top:.75rem}.admin-pagination-info{font-size:.88rem;color:var(--text-secondary);font-weight:500}.admin-pagination-controls{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.admin-page-size-selector{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.admin-page-size-selector select{padding:.35rem .75rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;outline:none}.admin-pagination-nav{display:flex;align-items:center;gap:.45rem}.admin-pagination-nav .pagination-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--border)}.admin-pagination-nav .pagination-btn .admin-pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 1.25rem;background:var(--surface-strong);border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));border-radius:10px;margin-top:1rem;box-shadow:0 4px 14px #00000008}.admin-pagination-nav .pagination-btn .pagination-info{font-size:.85rem;color:var(--text-secondary)}.admin-pagination-nav .pagination-btn .pagination-info strong{color:var(--text);font-weight:700}.admin-pagination-nav .pagination-btn .pagination-controls{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.admin-pagination-nav .pagination-btn .page-size-selector{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text-secondary);font-weight:600}.admin-pagination-nav .pagination-btn .page-size-selector select{padding:.35rem .65rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--surface);color:var(--text);font-size:.82rem;font-weight:700;outline:none;cursor:pointer;font-family:inherit}.admin-pagination-nav .pagination-btn .pagination-btns{display:flex;align-items:center;gap:.35rem}.admin-pagination-nav .pagination-btn .pagination-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .25));background:var(--surface);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;box-shadow:0 1px 4px #0000000a}.admin-pagination-nav .pagination-btn .pagination-btn:hover:not(:disabled),.admin-pagination-nav .pagination-btn .admin-pagination-nav .pagination-btn:hover:not(:disabled){background:var(--surface-strong);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.admin-pagination-nav .pagination-btn .pagination-btn:disabled,.admin-pagination-nav .pagination-btn .admin-pagination-nav .pagination-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.admin-pagination-nav .pagination-btn .admin-pagination-nav .pagination-indicator{font-size:.82rem;font-weight:600;color:var(--text-secondary);padding:.35rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm, 6px)}.admin-pagination-nav .pagination-btn .pagination-num{width:32px;height:32px;border-radius:6px;border:1.5px solid var(--border-light, rgba(107, 144, 128, .2));background:var(--surface);color:var(--text);font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);font-family:inherit}.admin-pagination-nav .pagination-btn .pagination-num:hover:not(.active){border-color:var(--sage);color:var(--sage)}.admin-pagination-nav .pagination-btn .pagination-num.active{background:linear-gradient(135deg,var(--sage),var(--accent));color:#fff;border-color:transparent;box-shadow:0 3px 10px #6b90804d}@media(max-width:768px){.admin-pagination-nav .pagination-btn .admin-pagination-bar{flex-direction:column;align-items:center;text-align:center;margin-bottom:4rem;gap:.85rem;padding:1rem .85rem}.admin-pagination-nav .pagination-btn .pagination-controls{flex-direction:column;width:100%;gap:.75rem;align-items:center}.admin-pagination-nav .pagination-btn .pagination-btns{flex-wrap:wrap;justify-content:center;width:100%}}.lang-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a1910bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px;animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lang-modal-card{background:var(--card-bg, #ffffff);border:1px solid var(--border, rgba(45, 106, 79, .2));border-radius:24px;max-width:440px;width:100%;padding:32px 28px;box-shadow:0 20px 50px #0000004d;text-align:center}.lang-modal-icon{width:60px;height:60px;background:linear-gradient(135deg,#2d6a4f,#52b788);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;margin:0 auto 16px;box-shadow:0 8px 20px #2d6a4f4d}.lang-modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 8px}.lang-modal-subtitle{font-size:.88rem;color:var(--text-secondary, #64748b);margin-bottom:24px;line-height:1.4}.lang-modal-options{display:flex;flex-direction:column;gap:12px}.lang-modal-option-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 20px;background:var(--bg-hover, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:left}.lang-modal-option-btn:hover{background:#2d6a4f14;border-color:var(--emerald, #2d6a4f);transform:translateY(-2px);box-shadow:0 4px 12px #2d6a4f26}.lang-option-info{display:flex;flex-direction:column;gap:2px}.lang-native{font-size:1.1rem;font-weight:700;color:var(--text-primary, #0f172a)}.lang-sub{font-size:.8rem;color:var(--text-secondary, #64748b)}.lang-option-arrow{font-size:1.1rem;color:var(--emerald, #2d6a4f);opacity:.8;transition:transform .2s ease}.lang-modal-option-btn:hover .lang-option-arrow{transform:translate(4px);opacity:1}.lang-modal-footer-note{margin-top:20px;padding:14px 16px;background:var(--bg-hover, rgba(45, 106, 79, .05));border:1px solid var(--border, rgba(45, 106, 79, .15));border-radius:14px;text-align:left}.lang-note-header{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--emerald, #2d6a4f);margin-bottom:8px}.lang-note-icon{font-size:.95rem}.lang-note-messages{display:flex;flex-direction:column;gap:6px}.lang-note-text{margin:0;font-size:.78rem;line-height:1.45;color:var(--text-secondary, #475569);display:flex;align-items:flex-start;gap:6px}.lang-note-bullet{color:var(--emerald, #2d6a4f);font-weight:700;flex-shrink:0}.public-report-container{width:100%;max-width:1000px;margin:0 auto;box-sizing:border-box}.pub-loading-state,.pub-error-state{background:#fff;border:1px solid #cce3de;border-radius:16px;padding:3rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 4px 16px #6b90800f}.pub-pulse-indicator{width:16px;height:16px;border-radius:50%;background:#6b9080;animation:pubPulse 1.4s infinite ease-in-out}@keyframes pubPulse{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.4);opacity:1}to{transform:scale(.8);opacity:.5}}.pub-error-badge{display:inline-block;padding:.35rem .85rem;font-size:.82rem;font-weight:700;text-transform:uppercase;background:#fee2e2;color:#991b1b;border-radius:999px}.pub-cta-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.75rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#6b9080,#4f7363);border-radius:12px;text-decoration:none;transition:all .2s ease}.pub-cta-primary:hover{filter:brightness(1.08)}.pub-card-wrapper{display:flex;flex-direction:column;gap:1.5rem}.pub-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fff,#f6fff8);border:1px solid #cce3de;border-radius:16px}.pub-branding{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.pub-brand-pill{font-size:.95rem;font-weight:800;color:#1f3a30}.pub-read-only-tag{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#2d6a4f;background:#cce3de;padding:.25rem .65rem;border-radius:999px}.pub-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.pub-pdf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem 1rem;font-size:.88rem;font-weight:700;color:#1f3a30;background:#fff;border:1px solid #a4c3b2;border-radius:10px;cursor:pointer;box-shadow:0 2px 6px #6b90801f;transition:all .2s ease}.pub-pdf-btn:hover:not(:disabled){background:#eaf4f4;border-color:#6b9080;transform:translateY(-1px)}.pub-pdf-btn:disabled{opacity:.65;cursor:not-allowed}.pub-pdf-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.4rem;font-size:.95rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#2d6a4f,#1f3a30);border:1px solid #2d6a4f;border-radius:12px;cursor:pointer;box-shadow:0 2px 8px #1f3a3033;transition:all .2s ease}.pub-pdf-action-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.pub-pdf-action-btn:disabled{opacity:.65;cursor:not-allowed}.pub-lang-group{display:flex;gap:.3rem;background:#eaf4f4;padding:.25rem;border-radius:10px}.pub-lang-btn{min-height:44px;min-width:44px;padding:.4rem .8rem;font-size:.88rem;font-weight:600;color:#1f3a30;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.pub-lang-btn.active{background:#6b9080;color:#fff}.pub-translating-bar{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;background:#eaf4f4;border:1px solid #a4c3b2;border-radius:10px;font-size:.9rem;color:#1f3a30}.pub-translating-dot{width:8px;height:8px;border-radius:50%;background:#6b9080;animation:pubPulse 1.4s infinite ease-in-out}.pub-grid{display:grid;grid-template-columns:360px 1fr;gap:1.5rem;align-items:start}@media(max-width:860px){.pub-grid{grid-template-columns:1fr}}.pub-media-box{display:flex;flex-direction:column;gap:1.25rem}.pub-leaf-img{width:100%;max-height:340px;object-fit:cover;border-radius:16px;border:1px solid #cce3de;background:#fff}.pub-image-placeholder{width:100%;height:240px;background:#eaf4f4;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#6b9080;font-weight:600}.pub-metrics-card{background:#fff;border:1px solid #cce3de;border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.pub-metric-row{display:flex;align-items:center;justify-content:space-between}.pub-metric-label{font-size:.85rem;font-weight:600;color:#4a6659}.pub-confidence-num{font-size:1.25rem;font-weight:800;color:#1f3a30}.pub-conf-bar{width:100%;height:8px;background:#eaf4f4;border-radius:999px;overflow:hidden}.pub-conf-fill{height:100%;border-radius:999px}.pub-status-badge{display:inline-block;padding:.35rem .8rem;border-radius:999px;font-size:.82rem;font-weight:700;text-transform:uppercase}.pub-status-badge.healthy{background:#cce3de;color:#1f3a30}.pub-status-badge.warning{background:#fef3c7;color:#92400e}.pub-status-badge.critical{background:#fee2e2;color:#991b1b}.pub-plant-row{padding-top:.6rem;border-top:1px solid #eaf4f4}.pub-plant-val{font-size:.95rem;font-weight:700;color:#1f3a30}.pub-info-box{display:flex;flex-direction:column;gap:1.25rem}.pub-title-card{background:linear-gradient(135deg,#fff,#f6fff8);border:1px solid #cce3de;border-radius:16px;padding:1.5rem}.pub-eyebrow{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6b9080;display:block;margin-bottom:.35rem}.pub-issue-title{font-size:1.85rem;font-weight:800;color:#1f3a30;line-height:1.25;margin:0 0 .5rem}.pub-issue-desc{font-size:1rem;line-height:1.6;color:#2c4a3e;margin:0}.pub-section-card{background:#fff;border:1px solid #cce3de;border-radius:16px;padding:1.35rem;display:flex;flex-direction:column;gap:.85rem}.pub-section-title{font-size:1.15rem;font-weight:700;color:#1f3a30;margin:0;border-bottom:1px solid #eaf4f4;padding-bottom:.65rem}.pub-section-text{font-size:.98rem;line-height:1.65;color:#2c4a3e;margin:0}.pub-step-list,.pub-tip-list{display:flex;flex-direction:column;gap:.75rem}.pub-step-item{display:flex;gap:.85rem;align-items:flex-start;background:#f6fff8;border:1px solid #eaf4f4;border-radius:10px;padding:.85rem 1rem}.pub-step-idx{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;background:#6b9080;color:#fff;border-radius:50%;font-size:.82rem;font-weight:700;flex-shrink:0}.pub-step-text,.pub-tip-text{font-size:.94rem;line-height:1.55;color:#1f3a30}.pub-tip-item{display:flex;gap:.75rem;align-items:flex-start;background:#eaf4f4;border-radius:10px;padding:.75rem .9rem}.pub-tip-bullet{width:7px;height:7px;border-radius:50%;background:#6b9080;margin-top:.45rem;flex-shrink:0}.pub-section-card{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px;padding:1rem 1.15rem;box-shadow:0 1px 4px #00000005}.pub-desi-section,.pub-chemical-section,.pub-expert-section{background:#fff!important;border:1px solid #e2e8f0!important}.pub-desi-section .pub-section-title,.pub-chemical-section .pub-section-title,.pub-expert-section .pub-section-title{color:#0f172a}.pub-remedy-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.pub-remedy-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .85rem;display:flex;flex-direction:column;gap:.25rem}.pub-remedy-card.chemical-item{border-color:#e2e8f0}.pub-remedy-card p{margin:0;font-size:.88rem;line-height:1.45;color:#1e293b}.pub-remedy-tag{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#16a34a}.pub-remedy-tag.chem-tag{color:#2563eb}.pub-bullet-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.pub-bullet-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.45;color:#1e293b;padding:.45rem .65rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px}.pub-symptom-bullet{color:#d97706;font-weight:800;font-size:1.1rem;line-height:1}.pub-action-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.5rem}.pub-share-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1.15rem;font-size:.9rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:all .2s ease}.pub-share-btn:hover{background:#f1f5f9}.pub-cta-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:8px;text-decoration:none;transition:all .2s ease}.pub-cta-link:hover{filter:brightness(1.08)}.pub-section-eyebrow{display:inline-flex;align-items:center;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#166534;margin-bottom:.25rem}.pub-severity-card{background:#fff!important}.pub-severity-meta{display:flex;flex-direction:column;gap:.35rem}@media(max-width:480px){.pub-header-row{padding:.85rem}.pub-branding,.pub-lang-group{width:100%;justify-content:space-between}.pub-issue-title{font-size:1.45rem}.pub-action-strip button,.pub-action-strip a{width:100%}}.dr-pdf-header,.dr-pdf-footer{display:none}.pub-card-wrapper.dr-pdf-export-mode{width:980px!important;max-width:980px!important;padding:16px 20px!important;margin:0 auto!important;background:#f6fff8!important;box-sizing:border-box!important;gap:8px!important;font-size:13px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-header-row,.pub-card-wrapper.dr-pdf-export-mode .pub-action-strip,.pub-card-wrapper.dr-pdf-export-mode .pub-translating-bar{display:none!important}.pub-card-wrapper.dr-pdf-export-mode .dr-pdf-header{display:flex!important;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:2px solid #6b9080;margin-bottom:2px}.pub-card-wrapper.dr-pdf-export-mode .dr-pdf-footer{display:flex!important;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid #cce3de;margin-top:4px;font-size:.75rem;color:#52796f;font-weight:500}.pub-card-wrapper.dr-pdf-export-mode .pub-grid{grid-template-columns:240px 1fr!important;gap:12px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-leaf-img{height:140px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-metrics-card{padding:8px!important;gap:6px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-section-card{padding:8px 12px!important;margin-bottom:6px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-issue-title{font-size:1.35rem!important;margin-bottom:4px!important}.pub-card-wrapper.dr-pdf-export-mode .pub-section-title{font-size:.95rem!important}.pub-card-wrapper.dr-pdf-export-mode .pub-bullet-list li,.pub-card-wrapper.dr-pdf-export-mode .pub-cause-row,.pub-card-wrapper.dr-pdf-export-mode .pub-action-step,.pub-card-wrapper.dr-pdf-export-mode .pub-remedy-box,.pub-card-wrapper.dr-pdf-export-mode .pub-tip-row{font-size:.82rem!important;line-height:1.3!important;margin-bottom:3px!important}.dr-audio-btn{display:inline-flex;align-items:center;gap:.45rem;justify-content:center;min-height:38px;padding:.4rem 1rem;font-size:.88rem;font-weight:600;color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;cursor:pointer;box-shadow:0 1px 3px #16653414;transition:all .2s cubic-bezier(.4,0,.2,1)}.dr-audio-btn:hover{background:#dcfce7;border-color:#4ade80;color:#14532d;transform:translateY(-1px);box-shadow:0 3px 8px #16653426}.dr-audio-btn.active-speaking{background:#15803d;color:#fff;border-color:#166534;box-shadow:0 0 0 3px #22c55e4d,0 2px 6px #15803d4d;animation:drAudioPulse 2s infinite}.dr-audio-btn.active-speaking:hover{background:#b91c1c;border-color:#991b1b;box-shadow:0 0 0 3px #ef44444d}@keyframes drAudioPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 5px #22c55e00}}.dr-pulse-speaker{animation:drSpeakerBounce .8s ease-in-out infinite alternate}@keyframes drSpeakerBounce{0%{transform:scale(1)}to{transform:scale(1.18)}}.dr-live-narration-banner{display:flex;align-items:center;gap:.85rem;padding:.75rem 1.15rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:10px;box-shadow:0 2px 10px #16653414;animation:drFadeSlideDown .3s ease-out}.dr-audio-waveform{display:flex;align-items:center;gap:3px;height:18px;flex-shrink:0}.sw-bar{width:3px;background:#16a34a;border-radius:2px;animation:swWave .9s ease-in-out infinite alternate}.sw-bar.b1{height:8px;animation-delay:.1s}.sw-bar.b2{height:16px;animation-delay:.3s}.sw-bar.b3{height:12px;animation-delay:.2s}.sw-bar.b4{height:18px;animation-delay:.4s}@keyframes swWave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.dr-narration-content{flex:1;min-width:0}.dr-narration-tag{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#15803d;margin-bottom:2px}.dr-narration-sentence{margin:0;font-size:.88rem;font-weight:500;color:#166534;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr-stop-narration-btn{padding:.35rem .85rem;font-size:.78rem;font-weight:600;color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.dr-stop-narration-btn:hover{background:#ef4444;color:#fff;border-color:#dc2626}@keyframes drFadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dr-translating-overlay-container{display:flex;justify-content:center;align-items:center;min-height:480px;padding:2.5rem 1rem;width:100%;box-sizing:border-box;animation:drFadeIn .3s ease-out}.dr-translating-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:640px;width:100%;padding:3rem 2rem;background:linear-gradient(145deg,#fff,#f0fdf4);border:1.5px solid #86efac;border-radius:24px;box-shadow:0 16px 40px #16653414,0 4px 12px #00000008;position:relative;overflow:hidden}.dr-translating-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#15803d,#3b82f6,#10b981);background-size:300% 100%;animation:drGradientShift 3s linear infinite}.dr-translating-anim-box{position:relative;display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:1.5rem}.dr-translating-pulse-halo{position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#4ade8059,#22c55e00 70%);animation:drPulseHalo 2s cubic-bezier(.4,0,.6,1) infinite}.dr-translating-icon-orb{position:relative;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #86efac;color:#15803d;box-shadow:0 8px 20px #22c55e33}.dr-translating-sparkle-spin{animation:drSpinSlow 6s linear infinite}.dr-translating-lang-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;font-size:.78rem;font-weight:700;color:#15803d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.dr-translating-pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:drDotPulse 1.4s ease-in-out infinite}.dr-translating-main-title{font-size:1.45rem;font-weight:800;color:#0f172a;margin:0 0 .6rem;line-height:1.3}.dr-translating-main-desc{font-size:.92rem;color:#475569;line-height:1.5;margin:0 0 1.75rem;max-width:480px}.dr-translating-progress-track{width:100%;max-width:380px;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:1.75rem;position:relative}.dr-translating-progress-bar{position:absolute;top:0;left:0;bottom:0;width:40%;background:linear-gradient(90deg,#22c55e,#10b981);border-radius:999px;animation:drIndeterminate 1.8s cubic-bezier(.65,0,.35,1) infinite}.dr-translating-pill-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.dr-trans-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:.8rem;font-weight:600;color:#334155}.dr-ai-spark-tag{font-size:.76rem;font-weight:600;color:#059669;background:#10b98114;padding:.3rem .75rem;border-radius:6px}.urban-bot-launcher-wrapper{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9990}.urban-bot-launcher-btn{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #2d6a4f73;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;outline:none;padding:0}.urban-bot-launcher-btn:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 12px 28px #2d6a4f8c}.urban-bot-launcher-btn:active{transform:scale(.96)}.bot-launcher-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.bot-launcher-icon{font-size:2.15rem;color:#fff;transition:transform .25s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.urban-bot-launcher-btn:hover .bot-launcher-icon{transform:scale(1.06)}.bot-launcher-leaf-badge{position:absolute;bottom:8px;right:8px;width:18px;height:18px;background:#52b788;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;border:2px solid #1b4332;box-shadow:0 2px 4px #00000040}.bot-online-badge{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background-color:#27ae60;border:2.5px solid var(--surface, #ffffff);box-shadow:0 0 0 2px #27ae6066;animation:bot-online-pulse 2s infinite ease-in-out}@keyframes bot-online-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.urban-bot-window{position:fixed;bottom:1.5rem;right:1.5rem;width:400px;max-width:calc(100vw - 2rem);height:580px;max-height:calc(100vh - 3rem);background-color:var(--surface, #ffffff);color:var(--text, #1f3a30);border-radius:16px;box-shadow:0 12px 40px #00000038;border:1px solid var(--border, rgba(107, 144, 128, .2));display:flex;flex-direction:column;overflow:hidden;z-index:9991;animation:bot-slide-up .28s cubic-bezier(.16,1,.3,1)}@keyframes bot-slide-up{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.urban-bot-header{padding:.8rem .95rem;background:linear-gradient(135deg,var(--primary-dark, #1b4332),var(--primary, #2d6a4f));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-bottom:1px solid rgba(255,255,255,.12)}.bot-header-info{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.bot-avatar-circle{width:38px;height:38px;border-radius:50%;background:#064e3bb3;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;border:1.5px solid rgba(52,211,153,.55);box-shadow:0 2px 8px #0003}.bot-header-avatar-icon{font-size:1.45rem;color:#fff}.bot-header-leaf-badge{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;background:#52b788;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.48rem;border:1.5px solid #1b4332;box-shadow:0 1px 3px #0000004d}.bot-header-text-group{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.bot-header-title{margin:0;font-size:.95rem;font-weight:700;color:#fff;line-height:1.2}.bot-status-indicator{display:flex;align-items:center;gap:.35rem;margin-top:.15rem;min-width:0}.bot-status-dot{width:7px;height:7px;border-radius:50%;background-color:#2ecc71;display:inline-block;box-shadow:0 0 5px #2ecc71;flex-shrink:0}.bot-status-text{font-size:.72rem;color:#ffffffe0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bot-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-left:auto;flex-shrink:0}.bot-mode-toggle{display:flex;align-items:center;background:#00000047;border-radius:16px;padding:2px;border:1px solid rgba(255,255,255,.22);gap:2px}.bot-mode-btn{background:transparent;border:none;color:#ffffffc7;width:28px;height:24px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1;padding:0}.bot-mode-btn:hover{color:#fff;background:#ffffff29;transform:scale(1.05)}.bot-mode-btn.active-mode{background:#52b788;color:#fff;box-shadow:0 1px 4px #00000047;transform:scale(1.02)}.mode-btn-icon{font-size:.85rem}.bot-icon-btn{background:#ffffff1f;border:none;color:#fff;width:26px;height:26px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.78rem;transition:all .2s ease;flex-shrink:0}.bot-icon-btn:hover{background:#ffffff40;transform:translateY(-1px)}.bot-icon-btn.active,.bot-icon-btn.active-sound{background:#2ecc7159;color:#a3e4d7;box-shadow:0 0 8px #2ecc7166}.bot-icon-btn.muted-sound{background:#ffffff14;color:#ffffff8c}.bot-icon-btn.muted-sound:hover{background:#fff3;color:#fff}.bot-icon-btn.close-btn:hover{background:#e74c3ccc}.urban-bot-messages{flex:1;padding:1rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.9rem;background-color:var(--background, #f9faf9);scrollbar-width:thin}.urban-bot-message-row{display:flex;align-items:flex-start;gap:.55rem;max-width:95%;min-width:0;width:100%;animation:bot-msg-fade .2s ease}@keyframes bot-msg-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.urban-bot-message-row.user-row{align-self:flex-end;flex-direction:row-reverse;max-width:85%}.urban-bot-message-row.bot-row{align-self:flex-start;max-width:95%}.msg-bot-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#064e3b,#0f172a);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;box-shadow:0 2px 6px #05966940;border:1.5px solid rgba(52,211,153,.45)}.msg-agent-icon{font-size:1.3rem;color:#fff}.urban-bot-bubble{padding:.75rem .95rem;border-radius:14px;font-size:.88rem;line-height:1.5;box-shadow:0 2px 8px #0000000a;word-break:break-word;overflow-wrap:break-word;min-width:0;max-width:100%}.urban-bot-bubble.user{background:linear-gradient(135deg,var(--primary, #2d6a4f),var(--primary-dark, #1b4332));color:#fff;border-bottom-right-radius:3px}.urban-bot-bubble.bot{flex:1;background-color:var(--surface, #ffffff);color:var(--text, #1f3a30);border:1px solid var(--border, rgba(107, 144, 128, .2));border-bottom-left-radius:3px}.urban-bot-bubble.bubble-system-notice{background:#52b78826;border:1px solid rgba(82,183,136,.4);color:var(--text, #1b4332);font-size:.84rem;border-radius:12px;padding:.65rem .85rem;box-shadow:0 2px 8px #0000000a}.urban-bot-bubble strong{color:var(--primary, #2d6a4f)}.urban-bot-bubble.user strong{color:#fff}.msg-action-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;min-width:0;max-width:100%;gap:.4rem;margin-top:.65rem;padding-top:.5rem;padding-bottom:.2rem;border-top:1px dashed var(--border, rgba(107, 144, 128, .25));scrollbar-width:none;-ms-overflow-style:none}.msg-action-chips::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.msg-action-btn{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:6px;border:1.5px solid var(--primary, #2d6a4f);background:#2d6a4f14;color:var(--primary, #2d6a4f);font-size:.76rem;font-weight:700;cursor:pointer;transition:all .15s ease}.msg-action-btn:hover{background:var(--primary, #2d6a4f);color:#fff;transform:translateY(-1px)}.action-link-icon{font-size:.7rem}.msg-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;padding-top:.25rem;gap:.5rem}.msg-timestamp{font-size:.68rem;opacity:.65}.msg-footer-actions{display:flex;align-items:center;gap:.25rem}.msg-action-icon-btn{background:none;border:none;color:var(--text-secondary, #6b9080);cursor:pointer;padding:3px 5px;font-size:.78rem;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;line-height:1}.msg-action-icon-btn:hover{color:var(--primary, #2d6a4f);background:#2d6a4f14}.msg-action-icon-btn.active-like{color:#27ae60}.msg-action-icon-btn.active-dislike{color:#e74c3c}.msg-action-icon-btn.copied{color:#27ae60}.msg-action-icon-btn.speaking{color:#e74c3c;animation:bot-speaking-pulse 1s infinite alternate}@keyframes bot-speaking-pulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.msg-safety-banner{display:flex;align-items:flex-start;gap:.45rem;margin:.55rem 0 .4rem;padding:.45rem .65rem;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);font-size:.78rem;line-height:1.35;color:#92400e}.safety-badge-icon{font-size:.85rem;flex-shrink:0}.safety-badge-text{font-weight:500}.msg-followup-container{margin-top:.65rem;padding-top:.5rem;border-top:1px dashed rgba(107,144,128,.25)}.msg-followup-title{display:flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;color:var(--primary, #2d6a4f);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.3px}.followup-leaf-icon{font-size:.75rem}.msg-followup-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;min-width:0;max-width:100%;gap:.35rem;padding-bottom:.2rem;scrollbar-width:none;-ms-overflow-style:none}.msg-followup-chips::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.msg-followup-chip{flex-shrink:0;white-space:nowrap;background:#2d6a4f14;border:1px solid rgba(45,106,79,.22);color:var(--primary, #2d6a4f);font-size:.74rem;font-weight:600;border-radius:12px;padding:.25rem .6rem;cursor:pointer;transition:all .2s ease;text-align:left}.msg-followup-chip:hover:not(:disabled){background:var(--primary, #2d6a4f);color:#fff;transform:translateY(-1px)}.msg-followup-chip:disabled{opacity:.5;cursor:not-allowed}.urban-bot-retry-banner{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.78rem;border-radius:8px;margin:.4rem .75rem}.retry-send-btn{display:inline-flex;align-items:center;gap:.3rem;background:#ef4444;color:#fff;border:none;padding:.25rem .55rem;border-radius:6px;font-size:.72rem;font-weight:600;cursor:pointer}.retry-send-btn:hover{background:#dc2626}.typing-bubble{display:flex;align-items:center;gap:5px;padding:.85rem 1.15rem}.typing-bubble .dot{width:7px;height:7px;border-radius:50%;background-color:var(--primary, #2d6a4f);opacity:.5;animation:bot-dot-bounce 1.3s infinite ease-in-out both}.typing-bubble .dot:nth-child(1){animation-delay:-.32s}.typing-bubble .dot:nth-child(2){animation-delay:-.16s}@keyframes bot-dot-bounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.urban-bot-chips-bar{display:flex;gap:.45rem;overflow-x:auto;padding:.5rem .85rem;background-color:var(--surface, #ffffff);border-top:1px solid var(--border, rgba(107, 144, 128, .15));scrollbar-width:none;-ms-overflow-style:none}.urban-bot-chips-bar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.urban-bot-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:16px;border:1px solid var(--border, rgba(107, 144, 128, .3));background:var(--surface-strong, #ffffff);color:var(--text, #1f3a30);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.urban-bot-chip:hover:not(:disabled){background:#2d6a4f1a;border-color:var(--primary, #2d6a4f);color:var(--primary, #2d6a4f);transform:translateY(-1px)}.urban-bot-chip:disabled{opacity:.5;cursor:not-allowed}.chip-icon{font-size:.72rem;color:var(--sage, #6b9080)}.chip-emoji{font-size:.85rem;line-height:1}.urban-bot-speech-error{background:#fee2e2;color:#991b1b;border-top:1px solid #fca5a5;padding:.4rem .85rem;font-size:.76rem;display:flex;align-items:center;justify-content:space-between;line-height:1.35;animation:bot-msg-fade .2s ease}.urban-bot-speech-error button{background:none;border:none;color:#991b1b;cursor:pointer;padding:2px 4px;font-size:.78rem;display:flex;align-items:center}.urban-bot-speech-error button:hover{color:#7f1d1d}.urban-bot-input-bar{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background-color:var(--surface, #ffffff);border-top:1px solid var(--border, rgba(107, 144, 128, .2))}.bot-mic-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border, rgba(107, 144, 128, .3));background:var(--surface, #ffffff);color:var(--text-secondary, #6b9080);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;position:relative;transition:all .2s ease;flex-shrink:0}.bot-mic-btn:hover{background:#2d6a4f1a;color:var(--primary, #2d6a4f);border-color:var(--primary, #2d6a4f)}.bot-mic-btn.listening{background:#e74c3c;color:#fff;border-color:#c0392b}.mic-wave{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid #e74c3c;animation:bot-mic-ripple 1.2s infinite ease-out}@keyframes bot-mic-ripple{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.urban-bot-input{flex:1;padding:.6rem .85rem;border-radius:20px;border:1.5px solid var(--border, rgba(107, 144, 128, .3));background:var(--background, #f9faf9);color:var(--text, #1f3a30);font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.urban-bot-input:focus{border-color:var(--primary, #2d6a4f);box-shadow:0 0 0 3px #2d6a4f26;background-color:var(--surface, #ffffff)}.bot-send-btn{width:36px;height:36px;border-radius:50%;background:var(--primary, #2d6a4f);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;transition:all .2s ease;box-shadow:0 2px 8px #2d6a4f4d}.bot-send-btn:hover:not(:disabled){background:var(--primary-dark, #1b4332);transform:scale(1.05)}.bot-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.urban-bot-disclaimer{padding:.3rem .5rem;font-size:.66rem;text-align:center;color:var(--text-secondary, #6b9080);background:var(--surface, #ffffff);border-top:1px solid var(--border, rgba(107, 144, 128, .1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.urban-bot-launcher-wrapper{bottom:1.25rem;right:1.25rem}.urban-bot-launcher-btn{width:52px;height:52px}.bot-launcher-icon{font-size:1.4rem}.urban-bot-window{bottom:.75rem;right:.75rem;left:.75rem;width:auto;max-width:100%;height:85vh;max-height:85vh;border-radius:14px}}.urban-bot-voice-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2.5rem 1.25rem 2rem;background:radial-gradient(circle at 50% 35%,rgba(45,106,79,.16) 0%,rgba(27,67,50,.05) 55%,var(--background, #f9faf9) 100%);position:relative;overflow:hidden;box-sizing:border-box;animation:bot-voice-fade .3s ease}@keyframes bot-voice-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.voice-sphere-container{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-top:.5rem;margin-bottom:.5rem}.voice-ripple-ring{position:absolute;border-radius:50%;pointer-events:none;transition:all .3s ease}.voice-ripple-ring.ring-1{width:110px;height:110px;border:1.5px solid rgba(82,183,136,.35)}.voice-ripple-ring.ring-2{width:140px;height:140px;border:1.5px dashed rgba(82,183,136,.22)}.voice-ripple-ring.ring-3{width:170px;height:170px;border:1px solid rgba(82,183,136,.15)}.voice-ripple-ring.speaking-wave.ring-1{animation:voice-speak-pulse-1 1.4s infinite ease-out;border-color:#34d399bf;box-shadow:0 0 15px #34d39966}.voice-ripple-ring.speaking-wave.ring-2{animation:voice-speak-pulse-2 1.4s infinite .3s ease-out;border-color:#2d6a4f8c;box-shadow:0 0 20px #2d6a4f4d}.voice-ripple-ring.speaking-wave.ring-3{animation:voice-speak-pulse-3 1.4s infinite .6s ease-out;border-color:#52b78873}.voice-ripple-ring.listening-wave.ring-1{animation:voice-listen-pulse-1 1.2s infinite ease-in-out;border-color:#27ae60d9;box-shadow:0 0 18px #27ae6073}.voice-ripple-ring.listening-wave.ring-2{animation:voice-listen-pulse-2 1.2s infinite .25s ease-in-out;border-color:#2ecc71a6}.voice-ripple-ring.listening-wave.ring-3{animation:voice-listen-pulse-3 1.2s infinite .5s ease-in-out;border-color:#2ecc7166}@keyframes voice-speak-pulse-1{0%{transform:scale(.92);opacity:.8}50%{transform:scale(1.08);opacity:1}to{transform:scale(.92);opacity:.8}}@keyframes voice-speak-pulse-2{0%{transform:scale(.9);opacity:.5}50%{transform:scale(1.14);opacity:.9}to{transform:scale(.9);opacity:.5}}@keyframes voice-speak-pulse-3{0%{transform:scale(.88);opacity:.2}50%{transform:scale(1.2);opacity:.7}to{transform:scale(.88);opacity:.2}}@keyframes voice-listen-pulse-1{0%,to{transform:scale(.95);opacity:.7}50%{transform:scale(1.12);opacity:1}}@keyframes voice-listen-pulse-2{0%,to{transform:scale(.92);opacity:.4}50%{transform:scale(1.18);opacity:.85}}@keyframes voice-listen-pulse-3{0%,to{transform:scale(.9);opacity:.2}50%{transform:scale(1.24);opacity:.6}}.voice-avatar-orb{width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,#1b4332,#2d6a4f 55%,#081c15);border:3px solid rgba(82,183,136,.7);box-shadow:0 8px 26px #1b433259;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:all .3s cubic-bezier(.34,1.56,.64,1);padding:0;outline:none}.voice-avatar-orb:hover{transform:scale(1.06);box-shadow:0 12px 30px #2d6a4f80;border-color:#52b788}.voice-avatar-orb:active{transform:scale(.95)}.voice-avatar-orb.orb-speaking{animation:orb-speaking-glow 1.5s infinite ease-in-out;border-color:#52b788;box-shadow:0 0 25px #52b788bf,0 0 50px #2d6a4f73}.voice-avatar-orb.orb-listening{animation:orb-listening-glow 1.2s infinite ease-in-out;border-color:#2ecc71;box-shadow:0 0 25px #2ecc71d9,0 0 45px #27ae6080}.voice-avatar-orb.orb-thinking{animation:orb-thinking-pulse 1s infinite alternate ease-in-out;border-color:#f39c12;box-shadow:0 0 20px #f39c1280}.voice-avatar-orb.orb-idle{animation:orb-idle-breath 3.5s infinite ease-in-out}@keyframes orb-speaking-glow{0%,to{transform:scale(1);box-shadow:0 0 20px #52b7888c,0 8px 24px #1b433266}50%{transform:scale(1.07);box-shadow:0 0 35px #52b788e6,0 12px 35px #2d6a4fa6}}@keyframes orb-listening-glow{0%,to{transform:scale(1);box-shadow:0 0 18px #2ecc7180}50%{transform:scale(1.08);box-shadow:0 0 35px #2ecc71e6,0 0 55px #27ae6080}}@keyframes orb-thinking-pulse{0%{transform:scale(.97);opacity:.85}to{transform:scale(1.03);opacity:1}}@keyframes orb-idle-breath{0%,to{transform:scale(1);box-shadow:0 8px 24px #1b433259}50%{transform:scale(1.03);box-shadow:0 10px 28px #2d6a4f73}}.voice-avatar-orb-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.voice-orb-eq-overlay{position:absolute;bottom:-10px;display:flex;align-items:flex-end;gap:3px;height:20px;background:#1b4332e6;padding:3px 8px;border-radius:12px;border:1px solid rgba(82,183,136,.55);box-shadow:0 2px 8px #00000059;z-index:3}.voice-eq-bar{width:3px;background:#52b788;border-radius:2px;animation:voice-eq-bounce .8s infinite ease-in-out}.voice-eq-bar.bar-1{height:6px;animation-delay:.1s}.voice-eq-bar.bar-2{height:14px;animation-delay:.3s}.voice-eq-bar.bar-3{height:18px;animation-delay:.15s}.voice-eq-bar.bar-4{height:11px;animation-delay:.4s}.voice-eq-bar.bar-5{height:7px;animation-delay:.2s}@keyframes voice-eq-bounce{0%,to{height:4px}50%{height:16px;background:#a3e4d7}}.voice-status-wrapper{display:flex;flex-direction:column;align-items:center;gap:.7rem;max-width:90%;text-align:center;z-index:2;width:100%}.voice-state-pill{display:inline-flex;align-items:center}.voice-state-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:20px;font-size:.78rem;font-weight:600;line-height:1.3}.voice-state-badge.state-speaking{background:#2ecc7126;color:var(--primary, #2d6a4f);border:1px solid rgba(46,204,113,.35);animation:voice-badge-pulse 1.5s infinite}.voice-state-badge.state-listening{background:#27ae6033;color:#1b4332;border:1px solid rgba(39,174,96,.5);font-weight:700}.voice-state-badge.state-thinking{background:#f39c1226;color:#d35400;border:1px solid rgba(243,156,18,.35)}.voice-state-badge.state-idle{background:#6b90801f;color:var(--text-secondary, #6b9080);border:1px solid rgba(107,144,128,.25)}@keyframes voice-badge-pulse{0%,to{opacity:1}50%{opacity:.75}}.voice-pulse-icon{font-size:.82rem;animation:voice-icon-wobble 1s infinite ease-in-out}@keyframes voice-icon-wobble{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.voice-spin-icon{font-size:.82rem;animation:spin 1.2s infinite linear}.voice-subtitle-card{max-height:90px;overflow-y:auto;padding:.55rem .85rem;border-radius:12px;background:var(--surface, #ffffff);border:1px solid var(--border, rgba(107, 144, 128, .2));box-shadow:0 4px 12px #0000000d;width:100%;box-sizing:border-box}.voice-subtitle-text{margin:0;font-size:.78rem;line-height:1.4;color:var(--text, #1f3a30);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.voice-action-dock{width:100%;display:flex;align-items:center;justify-content:center;padding:.5rem 0 .25rem}.voice-dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1.6rem;border-radius:999px;border:1.5px solid #52b788;background:linear-gradient(135deg,#1b4332,#2d6a4f);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #1b43324d;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;width:auto;max-width:90%}.voice-dock-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #2d6a4f73;border-color:#74c69d}.voice-dock-btn:active{transform:scale(.97)}.voice-dock-btn.dock-btn-listening{background:linear-gradient(135deg,#e74c3c,#c0392b);border-color:#ff7675;box-shadow:0 8px 24px #e74c3c73;animation:voice-btn-pulse 1.4s infinite ease-in-out}.voice-dock-btn.dock-btn-speaking{background:linear-gradient(135deg,#2d6a4f,#1b4332);border-color:#2ecc71;box-shadow:0 8px 24px #2ecc7159}.voice-dock-icon-circle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff3;font-size:.92rem}.voice-dock-label{font-size:.9rem;letter-spacing:.2px}.urban-bot-speech-error.voice-error-banner{margin:.5rem auto;width:90%}@keyframes voice-btn-pulse{0%,to{box-shadow:0 0 #e74c3c99}50%{box-shadow:0 0 0 10px #e74c3c00}}*{box-sizing:border-box}html{font-size:16px;width:100%;max-width:100vw;overflow-x:hidden}body{margin:0;min-width:320px;width:100%;max-width:100vw;overflow-x:hidden}#root{width:100%;max-width:100vw;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--cream)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;vertical-align:middle;line-height:1.2}button svg,a svg,.btn-primary svg,.btn-secondary svg,.btn-danger svg{display:inline-block;vertical-align:middle;flex-shrink:0}.btn-primary{background:linear-gradient(135deg,var(--sage),var(--ink));border:1px solid var(--sage);padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;color:var(--cream);transition:transform var(--transition),box-shadow var(--transition),filter var(--transition);box-shadow:inset 0 1px #f6fff840;cursor:pointer;text-decoration:none}.btn-primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:var(--shadow-lift),inset 0 1px #f6fff840}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:#f6fff8b8;border:1px solid var(--border);padding:12px 20px;border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;text-decoration:none;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.btn-secondary:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.btn-danger{background:var(--mist);border:1px solid var(--sage);padding:12px 20px;border-radius:var(--radius-sm);color:var(--ink)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1f3a3094;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-md);padding:30px;max-width:500px;width:90%;box-shadow:var(--shadow-lift)}.form-group{margin-bottom:var(--space-2)}.form-group label{display:block;margin-bottom:4px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#eaf4f4c2;color:var(--ink);font-size:1rem;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:var(--cream);box-shadow:0 0 0 3px #3fa88a33}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}input.input-error,select.input-error,textarea.input-error,.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{border-color:#eb5757!important;background-color:#eb57570a!important;box-shadow:0 0 0 3px #eb575726!important}.error-text{font-size:.8rem;color:#eb5757;display:flex;align-items:center;gap:.35rem;margin-top:.35rem;font-weight:500;line-height:1.3}.error-text svg{flex-shrink:0;font-size:.85rem}img{max-width:100%;height:auto}@media(max-width:600px){.modal-content{padding:20px 16px;width:95%;max-height:90vh;overflow-y:auto}.form-row{flex-direction:column;gap:0}.form-actions{flex-direction:column-reverse}.form-actions button,.form-actions a{width:100%}}:root{--sage: #6b9080;--sage-light: #a4c3b2;--mist: #cce3de;--ice: #eaf4f4;--cream: #f6fff8;--ink: #1f3a30;--accent: #3fa88a;--primary: var(--sage);--primary-light: var(--sage-light);--primary-dark: var(--ink);--background: var(--cream);--surface: var(--ice);--surface-strong: var(--cream);--text: var(--ink);--text-secondary: #385b4d;--border: rgba(107, 144, 128, .28);--shadow-soft: 0 8px 24px rgba(31, 58, 48, .08), 0 2px 5px rgba(107, 144, 128, .12);--shadow-lift: 0 14px 32px rgba(31, 58, 48, .12), 0 4px 8px rgba(107, 144, 128, .16);--radius-sm: 6px;--radius-md: 14px;--radius-lg: 28px;--transition: .2s ease-out;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 48px;--accent-lavender: var(--accent);--pastel-lavender: var(--mist);--pastel-gray: var(--ice);--pastel-mint: var(--sage-light)}body{background:linear-gradient(135deg,var(--cream) 0%,var(--mist) 46%,var(--sage-light) 76%,var(--sage) 100%);color:var(--text);font-family:DM Sans,sans-serif}:root{--background: var(--cream);--surface: var(--ice);--text: var(--ink)}
