:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-app:#f3f4f6;--card-bg:#fff;--surface-bg:#fff;--surface-alt:#f9fafb;--text-primary:#111827;--text-muted:#6b7280;--border-light:#e5e7eb;--border-color:#d1d5db;--primary-color:#10b981;--primary-dark:#047857;--primary-light:#d1fae5;--secondary-color:#667eea;--secondary-dark:#4f46e5;--warning-color:#f59e0b;--danger-color:#ef4444;--danger-dark:#dc2626;--danger-text:#b91c1c;--danger-border-soft:#ef444440;--danger-bg-soft:#ef444414;--danger-pulse:#ef4444b3;--danger-pulse-fade:#ef444400;--info-color:#3b82f6;--flower-color:#ec4899;--sun-color:#f6bb3b;--image-placeholder-bg:#e5e7eb;--accent-indigo:#6366f1;--accent-green-start:#37cc6d;--add-btn-start:#4caf50;--add-btn-end:#45a049;--add-btn-hover-end:#3d8b40;--text-on-primary:#fff;--overlay-bg:#11182799;--elevated-shadow:0 10px 25px #00000014;--banner-shadow:2px 2px 10px #0003;--badge-bg:#10b9811a;--calendar-bg:#00000005;--calendar-border:#00000008;--calendar-today-bg:#10b9810d;--focus-ring:#10b9811f;--notif-shadow:#10b98133;--sun-shadow:#ec9f484d;--water-shadow:#488fec4d;--flower-shadow:#ec48994d;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-speed:.6s;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}input,select,textarea{font-size:16px}@media (prefers-color-scheme:dark){:root{--bg-app:#111827;--card-bg:#1f2937;--surface-bg:#1f2937;--surface-alt:#111827;--text-primary:#f9fafb;--text-muted:#9ca3af;--border-light:#374151;--border-color:#4b5563;--overlay-bg:#000000b3;--calendar-bg:#ffffff0a;--calendar-border:#ffffff14;--calendar-today-bg:#10b9811f}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background-color:var(--bg-app);min-height:100vh;color:var(--text-primary);margin:0;overflow-x:hidden}#root{text-align:center;box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}button,input,select,textarea{font-family:inherit}.header{margin-bottom:2rem}.header h1{color:var(--primary-color);margin-bottom:.5rem;font-size:clamp(2rem,8vw,3.5rem);font-weight:900}.test-btn{background:var(--accent-indigo);color:var(--text-on-primary);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;transition:transform .2s,opacity .2s;display:inline-flex}.test-btn:hover{opacity:.9;transform:scale(1.05)}.plants-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;width:100%;padding-bottom:2rem;display:grid}.card-container{perspective:1200px;cursor:pointer;min-height:575px}.plant-card{width:100%;height:100%;transition:transform var(--transition-speed) cubic-bezier(.4, 0, .2, 1);transform-style:preserve-3d;position:relative}.plant-card.flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;background-color:var(--card-bg);box-shadow:var(--elevated-shadow);border-radius:1.5rem;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.card-back{overflow-y:auto;transform:rotateY(180deg)}.card-container:hover .plant-card:not(.flipped){transform:translateY(-8px)}.card-header-badge{z-index:10;position:absolute;top:1rem;left:0}.card-banner{background:linear-gradient(to right, var(--primary-color), var(--primary-dark));color:var(--text-on-primary);box-shadow:var(--banner-shadow);border-radius:0 .5rem .5rem 0;padding:.4rem 1rem;font-size:.8rem;font-weight:800}.plant-image-container{background-color:var(--image-placeholder-bg);width:100%;height:180px;position:relative}.plant-image{object-fit:cover;image-rendering:auto;backface-visibility:hidden;width:100%;height:100%}.pictureWave{width:100%;height:40px;fill:var(--card-bg);z-index:5;position:absolute;bottom:-1px;left:0}.plant-content{text-align:left;flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.plant-title{color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:800}.scientific-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:.75rem}.badges{gap:.5rem;margin-bottom:1.5rem;display:flex}.badge{background:var(--badge-bg);color:var(--primary-dark);border-radius:12px;padding:.2rem .7rem;font-size:.7rem;font-weight:700}.watering-calendar-container{background:var(--calendar-bg);border-radius:1rem;margin-bottom:1.5rem;padding:.8rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-header-day{color:var(--text-muted);font-size:.6rem;font-weight:800}.calendar-cell{aspect-ratio:1;background:var(--card-bg);border:1px solid var(--calendar-border);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;font-size:.65rem;display:flex}.calendar-cell.today{border-color:var(--primary-color);background:var(--calendar-today-bg)}.calendar-cell.past{opacity:.4}.sun-icon{color:var(--sun-color);filter:drop-shadow(0 0 2px var(--sun-shadow))}.water-icon{color:var(--info-color);filter:drop-shadow(0 0 2px var(--water-shadow))}.bloom-icon{color:var(--flower-color);filter:drop-shadow(0 0 2px var(--flower-shadow))}.bg-red-600{background:linear-gradient(to right, var(--danger-color), var(--danger-dark))!important}@keyframes pulse-red{0%{box-shadow:0 0 0 0 var(--danger-pulse);transform:scale(1)}70%{box-shadow:0 0 0 10px var(--danger-pulse-fade);transform:scale(1.02)}to{box-shadow:0 0 0 0 var(--danger-pulse-fade);transform:scale(1)}}.urgent-pulse{animation:2s infinite pulse-red}.calendar-icons{gap:4px;margin-top:2px;display:flex}.notification-btn-full{background:linear-gradient(135deg, var(--accent-indigo) 0%, var(--secondary-color) 100%);width:100%;color:var(--text-on-primary);cursor:pointer;box-shadow:0 4px 12px var(--notif-shadow);border:none;border-radius:.8rem;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.8rem;font-weight:700;display:flex}.notification-btn-full.active{color:var(--text-muted);border:1px solid var(--border-light);box-shadow:none;background:0 0}.btn-delete-plant{background:linear-gradient(135deg, var(--danger-color), var(--danger-dark));color:var(--text-on-primary);box-shadow:none;margin-top:.6rem}.btn-delete-plant:hover{filter:brightness(.95)}.info-grid{grid-template-columns:24px 1fr;align-items:start;gap:.75rem;margin-top:1rem;display:grid}.info-text{color:var(--text-primary);font-size:.85rem;line-height:1.4}.list-none{margin:0}.info-grid svg{margin-top:2px}.info-text b{color:var(--text-primary)}.plant-description{color:var(--text-primary);margin-bottom:1rem;font-size:.9rem;line-height:1.6}.add-plant-btn{background:linear-gradient(135deg, var(--accent-green-start), var(--primary-color))!important;transition:all .2s!important}.add-plant-btn:hover{background:linear-gradient(135deg, var(--accent-green-start), var(--primary-color))!important;transform:scale(1.08)!important}.modal-overlay{background-color:var(--overlay-bg);z-index:1000;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);width:min(100%,640px);max-height:90vh;color:var(--text-primary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:.25s ease-out slideUp;overflow:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.15rem;display:flex}.modal-close-btn{color:var(--text-muted);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;padding:.45rem}.modal-close-btn:hover:not(:disabled){background:var(--surface-alt);color:var(--text-primary)}.add-plant-form{text-align:left;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.form-group{flex-direction:column;gap:.45rem;display:flex}.form-group label{color:var(--text-primary);font-size:.85rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-bg);width:100%;color:var(--text-primary);box-sizing:border-box;padding:.8rem .9rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring);background:color-mix(in srgb, var(--surface-bg) 92%, var(--primary-light));outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--surface-alt)}.image-upload-zone{border:1.5px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--surface-alt);padding:1rem;transition:border-color .2s,background-color .2s,transform .2s}.image-upload-zone:hover{border-color:var(--primary-color);background:color-mix(in srgb, var(--surface-alt) 88%, var(--primary-light));transform:translateY(-1px)}.image-preview{flex-direction:column;align-items:center;gap:.75rem;display:flex}.image-preview img{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:220px}.image-uploaded{color:var(--primary-color);margin:0;font-size:.85rem;font-weight:700}.upload-placeholder{color:var(--text-muted);flex-direction:column;align-items:center;gap:.45rem;display:flex}.upload-placeholder svg{color:var(--primary-color)}p{margin:0}.upload-hint{font-size:.75rem!important}.form-quick-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn-use-ai,.btn-edit-manual,.btn-cancel,.btn-submit{border-radius:var(--radius-md);font-family:inherit;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s}.btn-use-ai,.btn-edit-manual{border:1px solid var(--border-light);flex:180px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;display:inline-flex}.btn-use-ai{background:linear-gradient(135deg, var(--secondary-color), var(--secondary-dark));color:var(--text-on-primary);border-color:#0000}.btn-use-ai:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-edit-manual{background:var(--surface-alt);color:var(--text-primary)}.btn-edit-manual:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.btn-use-ai:disabled,.btn-edit-manual:disabled,.btn-cancel:disabled,.btn-submit:disabled,.modal-close-btn:disabled{opacity:.6;cursor:not-allowed}.expanded-form-section{background:var(--surface-alt);border:1px solid var(--border-light);border-radius:var(--radius-lg);flex-direction:column;gap:1rem;margin-top:.25rem;padding:1rem;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expanded-form-section h3{color:var(--text-primary);margin:0;font-size:.95rem}.watering-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.watering-input-group{flex-direction:column;gap:.35rem;display:flex}.watering-input-group label{color:var(--text-muted);font-size:.75rem;font-weight:700}.watering-input-group input{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-bg);width:100%;color:var(--text-primary);padding:.75rem .85rem}.watering-input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:.25rem;display:flex}.btn-cancel,.btn-submit{border:1px solid var(--border-light);justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.1rem;display:inline-flex}.btn-cancel{background:var(--surface-alt);color:var(--text-primary)}.btn-cancel:hover:not(:disabled) .modal-header h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.15rem;display:flex}.btn-cancel:hover:not(:disabled){border-color:var(--border-color);box-shadow:var(--shadow-sm)}.btn-submit{background:var(--primary-color);color:var(--text-on-primary);border-color:#0000}.btn-submit:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.error-message{border-radius:var(--radius-md);border:1px solid var(--danger-border-soft);border-left:4px solid var(--danger-color);background:var(--danger-bg-soft);color:var(--danger-text);padding:.85rem 1rem}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=640px){.modal-content{width:100%}.watering-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit,.btn-use-ai,.btn-edit-manual{width:100%}}
