*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#111827;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#app-shell{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{margin:0;line-height:1.2}p{margin:0}button{font-family:inherit}:focus:not(:focus-visible){outline:none}:root{--season-summer-bg: #c2410c;--season-summer-bg-light: #fff7ed;--season-summer-text: #7c2d12;--season-summer-border: #ea580c;--season-autumn-bg: #b45309;--season-autumn-bg-light: #fef3e2;--season-autumn-text: #431a01;--season-autumn-border: #92400e;--season-winter-bg: #475569;--season-winter-bg-light: #e8eef6;--season-winter-text: #0f172a;--season-winter-border: #334155;--season-spring-bg: #15803d;--season-spring-bg-light: #f0fdf4;--season-spring-text: #14532d;--season-spring-border: #16a34a}.season-summer{--season-bg: var(--season-summer-bg);--season-bg-light: var(--season-summer-bg-light);--season-text: var(--season-summer-text);--season-border: var(--season-summer-border)}.season-autumn{--season-bg: var(--season-autumn-bg);--season-bg-light: var(--season-autumn-bg-light);--season-text: var(--season-autumn-text);--season-border: var(--season-autumn-border)}.season-winter{--season-bg: var(--season-winter-bg);--season-bg-light: var(--season-winter-bg-light);--season-text: var(--season-winter-text);--season-border: var(--season-winter-border)}.season-spring{--season-bg: var(--season-spring-bg);--season-bg-light: var(--season-spring-bg-light);--season-text: var(--season-spring-text);--season-border: var(--season-spring-border)}.app-header[data-v-b8d6c84c]{display:flex;align-items:center;gap:1rem;padding:0 1.25rem;height:64px;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 4px #0000000f;flex-shrink:0}.header-brand[data-v-b8d6c84c]{background:none;border:none;font-size:1.05rem;font-weight:700;cursor:pointer;color:#111827;display:flex;align-items:center;gap:.4rem;font-family:inherit;padding:.25rem .5rem;border-radius:6px;white-space:nowrap;flex-shrink:0}.header-brand[data-v-b8d6c84c]:hover{background:#f3f4f6}.header-brand[data-v-b8d6c84c]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.mode-tabs[data-v-b8d6c84c]{display:flex;gap:.25rem;flex:1;justify-content:center}.mode-tab[data-v-b8d6c84c]{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid transparent;border-radius:8px;padding:.4rem .9rem;font-size:.88rem;font-weight:500;cursor:pointer;font-family:inherit;color:#6b7280;transition:background .1s,color .1s,border-color .1s}.mode-tab[data-v-b8d6c84c]:hover{background:#f3f4f6;color:#111827}.mode-tab.active[data-v-b8d6c84c]{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;font-weight:600}.mode-tab[data-v-b8d6c84c]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.entry-count[data-v-b8d6c84c]{background:#15803d;color:#fff;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:20px;min-width:18px;text-align:center}.header-date[data-v-b8d6c84c]{font-size:.82rem;color:#6b7280;white-space:nowrap;flex-shrink:0}.header-spacer[data-v-b8d6c84c]{flex-shrink:0;min-width:80px}.profile-link[data-v-b8d6c84c]{background:none;border:1px solid transparent;border-radius:20px;font-size:1.1rem;cursor:pointer;color:#9ca3af;padding:.35rem;line-height:1;flex-shrink:0;transition:background .1s}.profile-link[data-v-b8d6c84c]:hover{background:#f3f4f6}.profile-link.active[data-v-b8d6c84c]{background:#e5e7eb;border-color:#d1d5db}.profile-link[data-v-b8d6c84c]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media (max-width: 600px){.brand-text[data-v-b8d6c84c],.header-spacer[data-v-b8d6c84c]{display:none}.mode-tabs[data-v-b8d6c84c]{justify-content:flex-end}}.gateway-view[data-v-f49a9d39]{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f0fdf4}.gateway-card[data-v-f49a9d39]{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a;text-align:center;max-width:450px;width:90%}.brand[data-v-f49a9d39]{margin-bottom:.5rem}.icon[data-v-f49a9d39]{font-size:3rem;display:block;margin-bottom:.5rem}h1[data-v-f49a9d39]{font-size:1.75rem;color:#111827;font-weight:800;margin:0}.subtitle[data-v-f49a9d39]{color:#6b7280;margin-bottom:2.5rem;font-size:1.1rem}.actions[data-v-f49a9d39]{display:flex;flex-direction:column;gap:1rem}.btn-guest[data-v-f49a9d39]{background:#f3f4f6;color:#1f2937;border:1px solid #d1d5db;padding:.85rem;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .1s}.btn-guest[data-v-f49a9d39]:hover{background:#e5e7eb}.btn-login[data-v-f49a9d39]{background:#15803d;color:#fff;border:none;padding:.85rem;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .1s}.btn-login[data-v-f49a9d39]:hover{background:#166534}.note[data-v-f49a9d39]{margin-top:2rem;font-size:.8rem;color:#9ca3af}.month-tile[data-v-19f9711f]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1.25rem .5rem;border:2px solid var(--season-border);border-radius:10px;background:var(--season-bg-light);color:var(--season-text);cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;transition:transform .1s ease,box-shadow .1s ease;width:100%;min-height:90px}.month-tile[data-v-19f9711f]:hover,.month-tile[data-v-19f9711f]:focus-visible{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;outline:3px solid var(--season-bg);outline-offset:2px}.month-tile.is-current[data-v-19f9711f]{border-width:3px;border-color:var(--season-bg);box-shadow:0 0 0 3px var(--season-bg)}.tile-short[data-v-19f9711f]{font-size:1.4rem;font-weight:700}.tile-full[data-v-19f9711f]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.current-badge[data-v-19f9711f]{position:absolute;top:6px;right:8px;background:var(--season-bg);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.month-grid[data-v-91271ecb]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 600px){.month-grid[data-v-91271ecb]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 400px){.month-grid[data-v-91271ecb]{grid-template-columns:repeat(2,1fr)}}.home-view[data-v-2a007d48]{max-width:800px;margin:0 auto;padding:2rem 1rem}.home-intro[data-v-2a007d48]{text-align:center;margin-bottom:2rem}.home-title[data-v-2a007d48]{font-size:2rem;font-weight:800;color:#111827;margin:0 0 .5rem}.home-subtitle[data-v-2a007d48]{color:#6b7280;font-size:1rem;margin:0}.date-picker[data-v-6aeaee93]{background:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001f;padding:1.5rem;max-width:360px;width:100%;margin:0 auto}.dp-header[data-v-6aeaee93]{text-align:center;margin-bottom:1rem}.dp-title[data-v-6aeaee93]{font-size:1.2rem;font-weight:700;color:var(--season-text, #1f2937)}.dp-grid[data-v-6aeaee93]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dp-day-label[data-v-6aeaee93]{text-align:center;font-size:.7rem;font-weight:600;color:#6b7280;padding:4px 0;text-transform:uppercase}.dp-cell[data-v-6aeaee93]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.9rem}.dp-empty[data-v-6aeaee93]{background:transparent}.dp-day[data-v-6aeaee93]{background:none;border:none;cursor:pointer;font-family:inherit;transition:background .1s;color:#111827}.dp-day[data-v-6aeaee93]:hover:not(.is-selected),.dp-day[data-v-6aeaee93]:focus-visible:not(.is-selected){background:var(--season-bg-light, #f3f4f6);outline:2px solid var(--season-border, #9ca3af)}.dp-day.is-today[data-v-6aeaee93]{font-weight:700;text-decoration:underline;text-underline-offset:3px}.dp-day.is-selected[data-v-6aeaee93]{background:var(--season-bg, #374151);color:#fff;font-weight:700}.dp-actions[data-v-6aeaee93]{display:flex;gap:.75rem;margin-top:1.25rem;justify-content:flex-end}.btn-cancel[data-v-6aeaee93]{background:none;border:1px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-family:inherit;color:#374151}.btn-cancel[data-v-6aeaee93]:hover{background:#f3f4f6}.btn-confirm[data-v-6aeaee93]{background:var(--season-bg, #374151);color:#fff;border:none;border-radius:8px;padding:.5rem 1.2rem;cursor:pointer;font-family:inherit;font-weight:600;transition:opacity .1s}.btn-confirm[data-v-6aeaee93]:disabled{opacity:.45;cursor:not-allowed}.btn-confirm[data-v-6aeaee93]:not(:disabled):hover{opacity:.85}.plant-card[data-v-358e94b0]{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:1rem 1.1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.plant-card[data-v-358e94b0]:hover,.plant-card[data-v-358e94b0]:focus-visible{border-color:#9ca3af;box-shadow:0 2px 10px #00000014;outline:none}.plant-card.is-active[data-v-358e94b0]{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.card-header[data-v-358e94b0]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.cat-badge[data-v-358e94b0]{display:inline-flex;align-items:center;gap:.3em;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:20px}.cat-fruit[data-v-358e94b0]{background:#fef3c7;color:#78350f}.cat-herb[data-v-358e94b0]{background:#f0fdf4;color:#14532d}.cat-vegetable[data-v-358e94b0]{background:#eff6ff;color:#1e3a5f}.harvest-date[data-v-358e94b0]{font-size:.75rem;color:#6b7280}.plant-name[data-v-358e94b0]{font-size:1.05rem;font-weight:700;margin:0 0 .2rem;color:#111827}.plant-latin[data-v-358e94b0]{font-size:.8rem;color:#6b7280;font-style:italic;margin:0 0 .4rem}.plant-note[data-v-358e94b0]{font-size:.82rem;color:#374151;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ad-container[data-v-a33acc58]{display:flex;width:100%;min-width:250px;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;background:#f9fafb;min-height:50px;border:1px dashed rgba(0,0,0,.05)}.dev-mock[data-v-a33acc58]{color:#94a3b8;font-family:inherit;font-size:.875rem;text-align:center;padding:1rem}.plant-list[data-v-a09f3f51]{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;height:100%;padding-right:2px}.filter-bar[data-v-a09f3f51]{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:.25rem}.filter-btn[data-v-a09f3f51]{background:none;border:1px solid #d1d5db;border-radius:20px;padding:.3rem .85rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#374151;transition:background .1s,border-color .1s}.filter-btn[data-v-a09f3f51]:hover{background:#f3f4f6}.filter-btn.active[data-v-a09f3f51]{background:#1f2937;color:#fff;border-color:#1f2937}.group-heading[data-v-a09f3f51]{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:.5rem 0 .4rem;font-weight:600}.count[data-v-a09f3f51]{font-weight:400}.cards[data-v-a09f3f51]{display:flex;flex-direction:column;gap:.6rem}.state-msg[data-v-a09f3f51]{color:#6b7280;font-size:.9rem;text-align:center;padding:2rem 0}.state-msg.error[data-v-a09f3f51]{color:#dc2626}.ad-card[data-v-a09f3f51]{min-height:80px;margin:.3rem 0}.companion-pill[data-v-3b8c6d0a]{display:inline-flex;align-items:center;gap:.3rem;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;border:1px solid transparent;transition:opacity .1s,filter .1s;line-height:1.5}.companion-pill[data-v-3b8c6d0a]:hover{filter:brightness(.93)}.companion-pill[data-v-3b8c6d0a]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.pill-good[data-v-3b8c6d0a]{background:#dcfce7;color:#15803d;border-color:#86efac}.pill-bad[data-v-3b8c6d0a]{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.plant-detail[data-v-2a448882]{background:#f9fafb;border-left:1px solid #e5e7eb;overflow-y:auto;height:100%;padding:1.25rem 1.25rem 2rem;position:relative}.empty-state[data-v-2a448882],.loading-state[data-v-2a448882]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;gap:.75rem;text-align:center}.empty-icon[data-v-2a448882]{font-size:3rem}.close-btn[data-v-2a448882]{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1rem;cursor:pointer;color:#6b7280;line-height:1;padding:4px 6px;border-radius:6px}.close-btn[data-v-2a448882]:hover{background:#e5e7eb}.detail-header-text[data-v-2a448882]{flex:1;min-width:0}.garden-action[data-v-2a448882]{margin-bottom:1rem;padding:.6rem .85rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.btn-add-garden[data-v-2a448882]{background:#15803d;color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.35rem;transition:background .1s}.btn-add-garden[data-v-2a448882]:hover{background:#166534}.btn-add-garden[data-v-2a448882]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.already-added[data-v-2a448882]{font-size:.84rem;color:#15803d;font-weight:500;display:flex;align-items:center;gap:.4rem}.link-btn[data-v-2a448882]{background:none;border:none;color:#15803d;text-decoration:underline;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;font-weight:600}.link-btn[data-v-2a448882]:hover{color:#166534}.detail-header[data-v-2a448882]{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding-right:2rem}.detail-category-icon[data-v-2a448882]{font-size:2rem;line-height:1}.detail-name[data-v-2a448882]{font-size:1.3rem;font-weight:700;margin:0 0 .15rem;color:#111827}.detail-latin[data-v-2a448882]{font-style:italic;color:#6b7280;font-size:.85rem;margin:0}.detail-body[data-v-2a448882]{display:flex;flex-direction:column;gap:1rem}.detail-section[data-v-2a448882]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.85rem 1rem}.section-title[data-v-2a448882]{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700;margin:0 0 .5rem}.section-value[data-v-2a448882]{margin:0;font-size:.88rem;color:#1f2937;line-height:1.5}.perennial-badge[data-v-2a448882]{display:inline-block;font-size:.78rem;font-weight:700;color:#0369a1;margin-right:.25rem}.section-value.secondary[data-v-2a448882]{color:#6b7280;font-size:.82rem;margin-top:.3rem}.windows-list[data-v-2a448882]{display:flex;flex-wrap:wrap;gap:.4rem}.window-chip[data-v-2a448882]{background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;padding:2px 10px;font-size:.8rem;color:#374151}.detail-dl[data-v-2a448882]{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;margin:0;font-size:.85rem}.detail-dl dt[data-v-2a448882]{color:#6b7280;font-weight:600;white-space:nowrap}.detail-dl dd[data-v-2a448882]{margin:0;color:#1f2937;line-height:1.45}.companions-group[data-v-2a448882]{margin-bottom:.65rem}.companions-group[data-v-2a448882]:last-child{margin-bottom:0}.companions-label[data-v-2a448882]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:0 0 .4rem}.companions-pills[data-v-2a448882]{display:flex;flex-wrap:wrap;gap:.35rem}.companions-loading[data-v-2a448882]{font-size:.82rem;color:#9ca3af;padding:.6rem 0}.picker-overlay[data-v-76886129]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px);padding:2rem 1rem}.picker-container[data-v-76886129]{width:100%;max-width:400px}.split-view[data-v-76886129]{display:flex;flex-direction:column;height:calc(100vh - 64px);overflow:hidden}.split-header[data-v-76886129]{padding:.6rem 1.25rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-size:.9rem;color:#374151;flex-shrink:0}.split-body[data-v-76886129]{display:flex;flex:1;overflow:hidden}.pane[data-v-76886129]{overflow-y:auto}.pane-list[data-v-76886129]{flex:0 0 380px;max-width:380px;border-right:1px solid #e5e7eb;padding:1rem}.pane-detail[data-v-76886129]{flex:1;min-width:0}@media (max-width: 768px){.split-view[data-v-76886129]{height:auto;overflow:visible}.split-body[data-v-76886129]{flex-direction:column;overflow:visible}.pane-list[data-v-76886129]{flex:none;max-width:100%;border-right:none;border-bottom:1px solid #e5e7eb;padding:1rem;overflow:visible}.pane-detail[data-v-76886129]{min-height:60vh;overflow:visible}}.garden-tile[data-v-347ac723]{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem .85rem .85rem;border-radius:10px;border:2px solid #d6c5a0;background:#fdf8f0;background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(139,90,43,.03) 8px,rgba(139,90,43,.03) 9px);box-shadow:0 2px 6px #00000012,inset 0 1px #fff9;transition:transform .1s,box-shadow .1s;aspect-ratio:1 / 1;min-width:0;overflow:hidden;text-align:center}.garden-tile[data-v-347ac723]{cursor:pointer}.garden-tile[data-v-347ac723]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.garden-tile[data-v-347ac723]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cat-vegetable[data-v-347ac723]{border-color:#86efac;background-color:#f0fdf4}.cat-herb[data-v-347ac723]{border-color:#6ee7b7;background-color:#ecfdf5}.cat-fruit[data-v-347ac723]{border-color:#fde68a;background-color:#fffbeb}.status-past[data-v-347ac723]{opacity:.55;filter:grayscale(.4)}.tile-remove[data-v-347ac723]{position:absolute;top:6px;right:6px;background:none;border:none;font-size:.75rem;color:#9ca3af;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1}.tile-remove[data-v-347ac723]:hover{background:#fee2e2;color:#dc2626}.tile-icon[data-v-347ac723]{font-size:2rem;line-height:1;margin-bottom:.3rem}.tile-name[data-v-347ac723]{font-size:.88rem;font-weight:700;margin:0 0 .1rem;color:#1f2937;line-height:1.2;word-break:break-word}.tile-latin[data-v-347ac723]{font-size:.68rem;font-style:italic;color:#9ca3af;margin:0 0 .4rem;line-height:1.2;word-break:break-word}.tile-divider[data-v-347ac723]{width:60%;height:1px;background:#0000001a;margin:.35rem 0}.tile-dates[data-v-347ac723]{margin:0;width:100%;display:flex;flex-direction:column;gap:.15rem}.tile-date-row[data-v-347ac723]{display:flex;justify-content:space-between;gap:.25rem;font-size:.72rem}.tile-date-row dt[data-v-347ac723]{color:#6b7280;font-weight:600}.tile-date-row dd[data-v-347ac723]{margin:0;color:#374151;text-align:right}.dd-perennial[data-v-347ac723]{color:#0369a1;font-size:.68rem}.tile-status[data-v-347ac723]{margin-top:auto;padding-top:.4rem;font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:.25rem}.status-growing[data-v-347ac723]{color:#15803d}.status-ready[data-v-347ac723]{color:#b45309}.status-past[data-v-347ac723]{color:#9ca3af}.status-future[data-v-347ac723]{color:#6b7280}.tile-notes[data-v-347ac723]{font-size:.68rem;color:#9ca3af;margin:.25rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.modal-backdrop[data-v-d81da7c4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-box[data-v-d81da7c4]{background:#fff;padding:2rem;border-radius:12px;width:100%;max-width:400px;text-align:center;box-shadow:0 20px 40px #0003}.title[data-v-d81da7c4]{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#111827}.message[data-v-d81da7c4]{margin:0 0 1rem;color:#374151;font-size:1.1rem;font-weight:500}.submessage[data-v-d81da7c4]{margin:-.5rem 0 1.5rem;color:#6b7280;font-size:.85rem}.actions[data-v-d81da7c4]{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.btn-confirm[data-v-d81da7c4],.btn-cancel[data-v-d81da7c4]{flex:1;max-width:100px;padding:.6rem;border-radius:8px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:background .1s}.btn-confirm[data-v-d81da7c4]{background:#dc2626;color:#fff;border:none}.btn-confirm[data-v-d81da7c4]:hover{background:#b91c1c}.btn-cancel[data-v-d81da7c4]{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-cancel[data-v-d81da7c4]:hover{background:#e5e7eb}.modal-backdrop[data-v-ebf13061]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-box[data-v-ebf13061]{background:#fff;border-radius:14px;width:100%;max-width:540px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000038;overflow:hidden}.modal-header[data-v-ebf13061]{display:flex;align-items:flex-start;gap:.85rem;padding:1.1rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header.cat-vegetable[data-v-ebf13061]{background:#f0fdf4}.modal-header.cat-herb[data-v-ebf13061]{background:#ecfdf5}.modal-header.cat-fruit[data-v-ebf13061]{background:#fffbeb}.header-icon[data-v-ebf13061]{font-size:2.2rem;line-height:1;flex-shrink:0}.header-text[data-v-ebf13061]{flex:1;min-width:0}.header-name[data-v-ebf13061]{font-size:1.2rem;font-weight:800;margin:0 0 .1rem;color:#111827;line-height:1.2}.header-latin[data-v-ebf13061]{font-style:italic;color:#6b7280;font-size:.85rem;margin:0}.modal-close[data-v-ebf13061]{background:none;border:none;font-size:1rem;cursor:pointer;color:#6b7280;padding:4px 6px;border-radius:6px;flex-shrink:0;line-height:1}.modal-close[data-v-ebf13061]:hover{background:#00000012}.modal-close[data-v-ebf13061]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.modal-body[data-v-ebf13061]{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem}.loading-state[data-v-ebf13061],.error-state[data-v-ebf13061]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;font-size:.9rem;color:#9ca3af;text-align:center}.error-state[data-v-ebf13061]{color:#dc2626}.status-strip[data-v-ebf13061]{background:#f9fafb!important}.status-row[data-v-ebf13061]{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.status-badge[data-v-ebf13061]{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.status-growing .status-badge[data-v-ebf13061]{background:#dcfce7;color:#15803d}.status-ready .status-badge[data-v-ebf13061]{background:#fef9c3;color:#854d0e}.status-past .status-badge[data-v-ebf13061]{background:#f3f4f6;color:#6b7280}.status-future .status-badge[data-v-ebf13061]{background:#eff6ff;color:#1d4ed8}.status-dates[data-v-ebf13061]{font-size:.82rem;color:#6b7280;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.status-dates strong[data-v-ebf13061]{color:#374151}.editable-badge[data-v-ebf13061]{cursor:pointer;transition:opacity .2s;border-bottom:1px dashed rgba(0,0,0,.25);padding-bottom:1px}.editable-badge[data-v-ebf13061]:hover{opacity:.7}.date-editor-wrapper[data-v-ebf13061]{display:flex;align-items:center;gap:.25rem}.date-edit-input[data-v-ebf13061]{font-family:inherit;font-size:.8rem;padding:1px 4px;border:1px solid #9ca3af;border-radius:4px;background:#fff;color:#111827;outline:none}.date-edit-input[data-v-ebf13061]:focus{border-color:#2563eb}.date-save-btn[data-v-ebf13061]{font-size:.75rem;padding:2px 6px;border-radius:4px;background:#e5e7eb;border:1px solid #d1d5db;cursor:pointer}.date-save-btn[data-v-ebf13061]:hover{background:#d1d5db}.detail-section[data-v-ebf13061]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.85rem 1rem}.section-title[data-v-ebf13061]{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700;margin:0 0 .5rem}.section-value[data-v-ebf13061]{margin:0;font-size:.88rem;color:#1f2937;line-height:1.5}.section-value.secondary[data-v-ebf13061]{color:#6b7280;font-size:.82rem;margin-top:.3rem}.perennial-badge[data-v-ebf13061]{display:inline-block;font-size:.78rem;font-weight:700;color:#0369a1;margin-right:.25rem}.notes-input[data-v-ebf13061]{width:100%;box-sizing:border-box;padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.88rem;color:#111827;resize:vertical;min-height:68px;line-height:1.5}.notes-input[data-v-ebf13061]:focus{outline:none;border-color:#15803d;box-shadow:0 0 0 2px #15803d2e}.notes-input[data-v-ebf13061]::placeholder{color:#9ca3af}.companions-group[data-v-ebf13061]{margin-bottom:.6rem}.companions-group[data-v-ebf13061]:last-child{margin-bottom:0}.companions-label[data-v-ebf13061]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:0 0 .4rem}.companions-pills[data-v-ebf13061]{display:flex;flex-wrap:wrap;gap:.35rem}.windows-list[data-v-ebf13061]{display:flex;flex-wrap:wrap;gap:.4rem}.window-chip[data-v-ebf13061]{background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:2px 10px;font-size:.8rem;color:#374151}.detail-dl[data-v-ebf13061]{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;margin:0;font-size:.85rem}.detail-dl dt[data-v-ebf13061]{color:#6b7280;font-weight:600;white-space:nowrap}.detail-dl dd[data-v-ebf13061]{margin:0;color:#1f2937;line-height:1.45}.modal-footer[data-v-ebf13061]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0}.btn-remove[data-v-ebf13061]{background:none;border:1px solid #fca5a5;border-radius:8px;padding:.45rem .9rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#dc2626;font-weight:600;transition:background .1s}.btn-remove[data-v-ebf13061]:hover{background:#fef2f2}.btn-remove[data-v-ebf13061]:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.btn-close[data-v-ebf13061]{background:#1f2937;color:#fff;border:none;border-radius:8px;padding:.45rem 1.25rem;cursor:pointer;font-family:inherit;font-weight:600;font-size:.88rem;transition:background .1s}.btn-close[data-v-ebf13061]:hover{background:#111827}.btn-close[data-v-ebf13061]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media (max-width: 480px){.modal-backdrop[data-v-ebf13061]{padding:0;align-items:flex-end}.modal-box[data-v-ebf13061]{max-width:100%;max-height:92vh;border-radius:14px 14px 0 0}}.garden-grid-wrapper[data-v-1adc6f0c]{display:flex;flex-direction:column;gap:1rem}.filter-bar[data-v-1adc6f0c]{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn[data-v-1adc6f0c]{background:none;border:1px solid #d1d5db;border-radius:20px;padding:.3rem .85rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#374151;transition:background .1s,border-color .1s}.filter-btn[data-v-1adc6f0c]:hover{background:#f3f4f6}.filter-btn.active[data-v-1adc6f0c]{background:#1f2937;color:#fff;border-color:#1f2937}.garden-grid[data-v-1adc6f0c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem}@media (max-width: 480px){.garden-grid[data-v-1adc6f0c]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.empty-garden[data-v-1adc6f0c]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:#9ca3af;text-align:center}.empty-icon[data-v-1adc6f0c]{font-size:3rem}.empty-title[data-v-1adc6f0c]{font-size:1.05rem;font-weight:600;color:#6b7280;margin:0}.empty-sub[data-v-1adc6f0c]{font-size:.88rem;margin:0;max-width:300px}.harvest-calendar[data-v-753b40cf]{display:flex;flex-direction:column;gap:1.25rem}.empty-calendar[data-v-753b40cf]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem;color:#9ca3af;font-size:.9rem;text-align:center}.empty-calendar span[data-v-753b40cf]{font-size:2.5rem}.cal-nav[data-v-753b40cf]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cal-nav-btn[data-v-753b40cf]{background:none;border:1px solid #d1d5db;border-radius:8px;width:2.2rem;height:2.2rem;font-size:1rem;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .1s,border-color .1s}.cal-nav-btn[data-v-753b40cf]:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.cal-nav-btn[data-v-753b40cf]:disabled{opacity:.35;cursor:not-allowed}.cal-nav-btn[data-v-753b40cf]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cal-nav-label[data-v-753b40cf]{font-size:.88rem;font-weight:600;color:#374151;flex:1;text-align:center}.cal-grid[data-v-753b40cf]{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}@media (max-width: 600px){.cal-grid[data-v-753b40cf]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 400px){.cal-grid[data-v-753b40cf]{grid-template-columns:repeat(3,1fr)}}.cal-month[data-v-753b40cf]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.6rem .25rem;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;cursor:pointer;font-family:inherit;transition:background .1s,border-color .1s,transform .1s;min-height:64px}.cal-month[data-v-753b40cf]:hover{background:#f3f4f6;border-color:#9ca3af}.cal-month[data-v-753b40cf]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cal-month.is-current[data-v-753b40cf]{border-color:#6b7280;background:#f3f4f6}.cal-month.has-harvests[data-v-753b40cf]{border-color:#86efac;background:#f0fdf4}.cal-month.is-selected[data-v-753b40cf]{border-color:#15803d;background:#dcfce7;transform:translateY(-1px);box-shadow:0 3px 8px #15803d26}.cal-month-name[data-v-753b40cf]{font-size:.85rem;font-weight:700;color:#1f2937}.cal-year[data-v-753b40cf]{font-size:.65rem;color:#9ca3af}.cal-count[data-v-753b40cf]{position:absolute;top:5px;right:6px;background:#15803d;color:#fff;font-size:.62rem;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center}.cal-empty-dot[data-v-753b40cf]{width:6px;height:6px;border-radius:50%;background:#e5e7eb;margin-top:2px}.cal-detail[data-v-753b40cf]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.1rem 1.25rem}.cal-detail-title[data-v-753b40cf]{font-size:1rem;font-weight:700;margin:0 0 .85rem;color:#111827;display:flex;align-items:baseline;gap:.5rem}.cal-detail-count[data-v-753b40cf]{font-size:.8rem;font-weight:400;color:#6b7280}.cal-detail-empty[data-v-753b40cf]{color:#9ca3af;font-size:.88rem}.cal-entry-list[data-v-753b40cf]{display:flex;flex-direction:column;gap:.6rem}.cal-entry[data-v-753b40cf]{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .85rem;border-radius:8px;border:1px solid #e5e7eb}.cat-vegetable[data-v-753b40cf]{border-color:#bbf7d0;background:#f0fdf4}.cat-herb[data-v-753b40cf]{border-color:#a7f3d0;background:#ecfdf5}.cat-fruit[data-v-753b40cf]{border-color:#fde68a;background:#fffbeb}.cal-entry-icon[data-v-753b40cf]{font-size:1.3rem;line-height:1;flex-shrink:0}.cal-entry-info[data-v-753b40cf]{display:flex;flex-direction:column;gap:.1rem}.cal-entry-name[data-v-753b40cf]{font-size:.9rem;color:#1f2937;display:flex;align-items:center;gap:.3rem}.cal-entry-window[data-v-753b40cf]{font-size:.8rem;color:#374151}.cal-entry-sown[data-v-753b40cf]{font-size:.75rem;color:#9ca3af}.is-perennial[data-v-753b40cf]{border-color:#bae6fd;background:#f0f9ff}.perennial-tag[data-v-753b40cf]{font-size:.8rem}.slide-down-enter-active[data-v-753b40cf],.slide-down-leave-active[data-v-753b40cf]{transition:opacity .2s ease,transform .2s ease}.slide-down-enter-from[data-v-753b40cf],.slide-down-leave-to[data-v-753b40cf]{opacity:0;transform:translateY(-6px)}.harvest-timeline[data-v-28f404e1]{display:flex;flex-direction:column;gap:1.25rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:1.25rem}.empty-calendar[data-v-28f404e1]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem;color:#9ca3af;text-align:center}.empty-calendar span[data-v-28f404e1]{font-size:2.5rem}.cal-nav[data-v-28f404e1]{display:flex;align-items:center;justify-content:space-between}.cal-nav-btn[data-v-28f404e1]{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.35rem .8rem;font-size:.85rem;cursor:pointer;color:#374151;transition:background .1s}.cal-nav-btn[data-v-28f404e1]:hover{background:#f3f4f6}.cal-nav-label[data-v-28f404e1]{font-size:1rem;font-weight:700;color:#111827}.timeline-container[data-v-28f404e1]{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.timeline-header[data-v-28f404e1],.timeline-row[data-v-28f404e1]{display:grid;align-items:stretch}.timeline-header[data-v-28f404e1]{background:#f9fafb;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:2}.header-name[data-v-28f404e1]{padding:.75rem 1rem;font-weight:700;font-size:.85rem;color:#6b7280;border-right:1px solid #e5e7eb}.header-month[data-v-28f404e1]{padding:.5rem;text-align:center;font-weight:600;font-size:.85rem;color:#374151;border-right:1px dashed #e5e7eb}.header-month[data-v-28f404e1]:last-child{border-right:none}.header-month small[data-v-28f404e1]{font-weight:400;color:#9ca3af}.bed-group[data-v-28f404e1]{border-bottom:2px solid #e5e7eb}.bed-group[data-v-28f404e1]:last-child{border-bottom:none}.bed-title[data-v-28f404e1]{padding:.6rem 1rem;background:#f3f4f6;font-weight:700;font-size:.9rem;color:#111827;border-bottom:1px solid #e5e7eb}.timeline-row[data-v-28f404e1]{border-bottom:1px solid #e5e7eb}.timeline-row[data-v-28f404e1]:last-child{border-bottom:none}.row-label[data-v-28f404e1]{padding:.65rem 1rem;border-right:1px solid #e5e7eb;display:flex;align-items:center;overflow:hidden;white-space:nowrap;font-size:.88rem;font-weight:600;color:#1f2937}.cat-vegetable[data-v-28f404e1]{border-left:4px solid #4ade80}.cat-herb[data-v-28f404e1]{border-left:4px solid #34d399}.cat-fruit[data-v-28f404e1]{border-left:4px solid #fbbf24}.grid-cells-wrapper[data-v-28f404e1]{grid-column:2 / -1;display:grid;position:relative}.grid-cell[data-v-28f404e1]{border-right:1px dashed #e5e7eb}.grid-cell[data-v-28f404e1]:last-child{border-right:none}.bars-layer[data-v-28f404e1]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;pointer-events:none}.harvest-bar[data-v-28f404e1]{position:absolute;height:24px;border-radius:4px;opacity:.85;pointer-events:auto;cursor:crosshair}.harvest-bar[data-v-28f404e1]:hover{opacity:1;z-index:10}.harvest-bar[data-v-28f404e1]:hover:after{content:attr(data-label);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:0 4px 6px #0003}.annual-bar[data-v-28f404e1]{background:repeating-linear-gradient(45deg,#15803d,#15803d 8px,#16a34a 8px,#16a34a 16px);box-shadow:0 2px 4px #15803d33}.perennial-bar[data-v-28f404e1]{background:#38bdf8;border:1px solid #0284c7}.empty-bed[data-v-28f404e1]{padding:.75rem 1rem;color:#9ca3af;font-size:.85rem;font-style:italic}.modal-backdrop[data-v-51abc0f1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-box[data-v-51abc0f1]{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header[data-v-51abc0f1]{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem .75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-title[data-v-51abc0f1]{font-size:1.05rem;font-weight:700;margin:0;color:#111827}.modal-close[data-v-51abc0f1]{background:none;border:none;font-size:1rem;cursor:pointer;color:#6b7280;padding:4px 6px;border-radius:6px}.modal-close[data-v-51abc0f1]:hover{background:#f3f4f6}.field-group[data-v-51abc0f1]{padding:.75rem 1.25rem 0;flex-shrink:0}.field-label[data-v-51abc0f1]{display:block;font-size:.82rem;font-weight:600;color:#374151;margin-bottom:.35rem}.field-hint[data-v-51abc0f1]{font-weight:400;color:#9ca3af}.date-input[data-v-51abc0f1],.search-input[data-v-51abc0f1],.bed-select[data-v-51abc0f1]{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.9rem;color:#111827;box-sizing:border-box;background:#fff}.date-input[data-v-51abc0f1]:focus,.search-input[data-v-51abc0f1]:focus,.bed-select[data-v-51abc0f1]:focus{outline:none;border-color:#15803d;box-shadow:0 0 0 2px #15803d33}.state-msg[data-v-51abc0f1]{padding:.75rem 1.25rem 0;font-size:.88rem;color:#6b7280;flex-shrink:0}.state-msg.error[data-v-51abc0f1]{color:#dc2626}.plant-picker[data-v-51abc0f1]{flex:1;overflow-y:auto;padding:.5rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.plant-option[data-v-51abc0f1]{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-family:inherit;background:#fff;text-align:left;transition:background .1s,border-color .1s}.plant-option[data-v-51abc0f1]:hover{background:#f0fdf4;border-color:#86efac}.plant-option.selected[data-v-51abc0f1]{background:#dcfce7;border-color:#15803d}.plant-option.already-added[data-v-51abc0f1]{opacity:.6}.opt-name[data-v-51abc0f1]{font-size:.88rem;font-weight:600;color:#1f2937}.opt-meta[data-v-51abc0f1]{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.opt-cat[data-v-51abc0f1]{background:#f3f4f6;padding:1px 7px;border-radius:10px;color:#6b7280;text-transform:capitalize}.opt-added[data-v-51abc0f1]{color:#15803d;font-weight:600}.compat-checking[data-v-51abc0f1]{padding:.45rem 1.25rem 0;font-size:.8rem;color:#9ca3af;flex-shrink:0}.compat-ok[data-v-51abc0f1]{padding:.45rem 1.25rem 0;font-size:.8rem;color:#15803d;font-weight:600;flex-shrink:0}.compat-warning[data-v-51abc0f1]{margin:.75rem 1.25rem 0;padding:.85rem 1rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;flex-shrink:0}.compat-title[data-v-51abc0f1]{font-size:.88rem;font-weight:700;color:#c2410c;margin:0 0 .5rem}.compat-reasons[data-v-51abc0f1]{margin:0 0 .75rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}.compat-reasons li[data-v-51abc0f1]{font-size:.82rem;color:#374151;line-height:1.45}.compat-mechanism[data-v-51abc0f1]{font-size:.75rem;color:#9ca3af;font-style:italic;margin:0 .2rem}.compat-actions[data-v-51abc0f1]{display:flex;gap:.5rem}.btn-compat-cancel[data-v-51abc0f1]{flex:1;background:none;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .75rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#374151;font-weight:600}.btn-compat-cancel[data-v-51abc0f1]:hover{background:#f3f4f6}.btn-compat-proceed[data-v-51abc0f1]{flex:1;background:#c2410c;color:#fff;border:none;border-radius:6px;padding:.4rem .75rem;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600}.btn-compat-proceed[data-v-51abc0f1]:hover{background:#9a3412}.success-msg[data-v-51abc0f1]{padding:.5rem 1.25rem 0;font-size:.85rem;color:#15803d;font-weight:600;flex-shrink:0}.modal-footer[data-v-51abc0f1]{display:flex;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0;margin-top:auto}.btn-cancel[data-v-51abc0f1]{background:none;border:1px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-family:inherit;color:#374151}.btn-cancel[data-v-51abc0f1]:hover{background:#f3f4f6}.btn-add[data-v-51abc0f1]{background:#15803d;color:#fff;border:none;border-radius:8px;padding:.5rem 1.2rem;cursor:pointer;font-family:inherit;font-weight:600;transition:opacity .1s}.btn-add[data-v-51abc0f1]:disabled{opacity:.4;cursor:not-allowed}.btn-add[data-v-51abc0f1]:not(:disabled):hover{background:#166534}.panel-backdrop[data-v-3fcf2064]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:110}.suggestions-panel[data-v-3fcf2064]{position:fixed;top:0;right:0;bottom:0;width:440px;max-width:100vw;background:#fff;z-index:111;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;overflow:hidden}.panel-header[data-v-3fcf2064]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem .85rem;border-bottom:1px solid #e5e7eb;flex-shrink:0;background:#f9fafb}.panel-title-block[data-v-3fcf2064]{display:flex;flex-direction:column;gap:.15rem}.panel-title[data-v-3fcf2064]{font-size:1rem;font-weight:700;color:#111827;margin:0}.panel-subtitle[data-v-3fcf2064]{font-size:.78rem;color:#6b7280;margin:0}.panel-close[data-v-3fcf2064]{background:none;border:none;font-size:1rem;cursor:pointer;color:#6b7280;padding:4px 6px;border-radius:6px;flex-shrink:0;line-height:1}.panel-close[data-v-3fcf2064]:hover{background:#f3f4f6}.panel-close[data-v-3fcf2064]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.panel-search[data-v-3fcf2064]{padding:.75rem 1.25rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.search-input[data-v-3fcf2064]{width:100%;padding:.45rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:.88rem;color:#111827;box-sizing:border-box;background:#fff}.search-input[data-v-3fcf2064]:focus{outline:none;border-color:#15803d;box-shadow:0 0 0 2px #15803d26}.skeleton-list[data-v-3fcf2064]{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.skeleton-card[data-v-3fcf2064]{height:68px;border-radius:10px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer-3fcf2064 1.4s infinite}@keyframes shimmer-3fcf2064{0%{background-position:200% 0}to{background-position:-200% 0}}.panel-error[data-v-3fcf2064]{padding:1.25rem;color:#dc2626;font-size:.88rem}.panel-empty[data-v-3fcf2064]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#9ca3af;text-align:center}.empty-icon[data-v-3fcf2064]{font-size:2.5rem;margin:0}.empty-text[data-v-3fcf2064]{font-size:.9rem;margin:0}.panel-results[data-v-3fcf2064]{flex:1;overflow-y:auto;padding:.75rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.group-heading[data-v-3fcf2064]{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid #f3f4f6}.heading-beneficial[data-v-3fcf2064]{color:#15803d}.heading-neutral[data-v-3fcf2064]{color:#6b7280}.heading-detrimental[data-v-3fcf2064]{color:#dc2626}.group-count[data-v-3fcf2064]{margin-left:auto;font-size:.72rem;font-weight:500;background:#f3f4f6;color:#6b7280;padding:1px 7px;border-radius:10px;text-transform:none;letter-spacing:0}.card-list[data-v-3fcf2064]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.suggestion-card[data-v-3fcf2064]{border:1px solid #e5e7eb;border-radius:10px;padding:.65rem .85rem;background:#fff;display:flex;flex-direction:column;gap:.4rem;transition:border-color .1s}.card-beneficial[data-v-3fcf2064]{border-color:#bbf7d0;background:#f0fdf4}.card-detrimental[data-v-3fcf2064]{border-color:#fecaca;background:#fff5f5}.card-main[data-v-3fcf2064]{display:flex;align-items:center;gap:.75rem}.card-info[data-v-3fcf2064]{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.plant-name[data-v-3fcf2064]{font-size:.9rem;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-latin[data-v-3fcf2064]{font-size:.75rem;color:#9ca3af;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta[data-v-3fcf2064]{display:flex;align-items:center;gap:.4rem;margin-top:.1rem}.cat-badge[data-v-3fcf2064]{font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:10px;text-transform:capitalize;white-space:nowrap}.cat-vegetable[data-v-3fcf2064]{background:#dcfce7;color:#15803d}.cat-herb[data-v-3fcf2064]{background:#dbeafe;color:#1d4ed8}.cat-fruit[data-v-3fcf2064]{background:#fef3c7;color:#b45309}.harvest-days[data-v-3fcf2064]{font-size:.72rem;color:#9ca3af}.btn-add[data-v-3fcf2064]{flex-shrink:0;padding:.35rem .85rem;border:1px solid #15803d;border-radius:7px;background:#fff;color:#15803d;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.btn-add[data-v-3fcf2064]:hover:not(:disabled){background:#15803d;color:#fff}.btn-add.added[data-v-3fcf2064]{border-color:#86efac;color:#15803d;background:#dcfce7;cursor:default}.btn-add[data-v-3fcf2064]:disabled:not(.added){opacity:.5;cursor:not-allowed}.btn-add[data-v-3fcf2064]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.companion-reasons[data-v-3fcf2064]{display:flex;flex-wrap:wrap;gap:.35rem}.reason-pill[data-v-3fcf2064]{font-size:.7rem;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.pill-good[data-v-3fcf2064]{background:#dcfce7;color:#15803d;border:1px solid #86efac}.pill-bad[data-v-3fcf2064]{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.empty-bed-note[data-v-3fcf2064]{flex-shrink:0;padding:.6rem 1.25rem;background:#fffbeb;border-top:1px solid #fde68a}.empty-bed-note p[data-v-3fcf2064]{margin:0;font-size:.8rem;color:#92400e}@media (max-width: 480px){.suggestions-panel[data-v-3fcf2064]{width:100vw;border-radius:0}}.garden-view[data-v-baba9f7b]{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1rem}.guest-banner[data-v-baba9f7b]{display:flex;align-items:center;justify-content:space-between;background:#f0fdfa;border:1px solid #14b8a6;border-radius:12px;padding:1rem 1.5rem;margin-bottom:.5rem;flex-wrap:wrap;gap:1rem}.banner-content[data-v-baba9f7b]{display:flex;align-items:flex-start;gap:1rem}.banner-icon[data-v-baba9f7b]{font-size:1.5rem;margin-top:.1rem}.banner-title[data-v-baba9f7b]{font-size:1.05rem;font-weight:700;color:#0f766e;margin:0 0 .2rem}.banner-text[data-v-baba9f7b]{font-size:.88rem;color:#0f766e;margin:0;max-width:600px}.btn-login[data-v-baba9f7b]{background:#0f766e;color:#fff;border:none;border-radius:8px;padding:.5rem 1.2rem;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .1s}.btn-login[data-v-baba9f7b]:hover{background:#115e59}.garden-toolbar[data-v-baba9f7b]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.toolbar-left[data-v-baba9f7b]{display:flex;align-items:center}.toolbar-right[data-v-baba9f7b]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.garden-title[data-v-baba9f7b]{font-size:1.4rem;font-weight:800;color:#111827;margin:0;display:flex;align-items:baseline;gap:.5rem}.garden-count[data-v-baba9f7b]{font-size:.85rem;font-weight:400;color:#6b7280}.view-toggle[data-v-baba9f7b]{display:flex;border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.toggle-btn[data-v-baba9f7b]{background:none;border:none;padding:.4rem .85rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#374151;display:flex;align-items:center;gap:.3rem;border-right:1px solid #d1d5db;transition:background .1s}.toggle-btn[data-v-baba9f7b]:last-child{border-right:none}.toggle-btn[data-v-baba9f7b]:hover{background:#f3f4f6}.toggle-btn.active[data-v-baba9f7b]{background:#1f2937;color:#fff}.btn-add-plant[data-v-baba9f7b]{background:#15803d;color:#fff;border:none;border-radius:8px;padding:.45rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.3rem}.btn-add-plant[data-v-baba9f7b]:hover{background:#166534}.btn-add-plant[data-v-baba9f7b]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn-add-structure[data-v-baba9f7b]{background:none;border:1px solid #15803d;border-radius:8px;padding:.45rem .9rem;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;color:#15803d;display:flex;align-items:center;gap:.3rem;transition:background .1s}.btn-add-structure[data-v-baba9f7b]:hover{background:#f0fdf4}.btn-add-structure[data-v-baba9f7b]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn-action[data-v-baba9f7b]{background:none;border:1px solid #d1d5db;border-radius:8px;padding:.4rem .85rem;cursor:pointer;font-family:inherit;font-size:.82rem;color:#374151;transition:background .1s}.btn-action[data-v-baba9f7b]:hover:not(:disabled){background:#f3f4f6}.btn-action[data-v-baba9f7b]:disabled{opacity:.4;cursor:not-allowed}.sr-only[data-v-baba9f7b]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.import-msg[data-v-baba9f7b]{font-size:.85rem;margin:0;padding:.5rem .85rem;border-radius:8px}.import-msg.success[data-v-baba9f7b]{background:#f0fdf4;color:#15803d}.import-msg.error[data-v-baba9f7b]{background:#fef2f2;color:#dc2626}.garden-content[data-v-baba9f7b]{flex:1;display:flex;flex-direction:column;gap:1.5rem}.empty-garden-state[data-v-baba9f7b]{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:3.5rem 1rem;color:#9ca3af;text-align:center}.empty-icon[data-v-baba9f7b]{font-size:3rem}.empty-title[data-v-baba9f7b]{font-size:1.1rem;font-weight:600;color:#6b7280;margin:0}.empty-sub[data-v-baba9f7b]{font-size:.88rem;margin:0;max-width:340px}.empty-actions[data-v-baba9f7b]{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.bed-section[data-v-baba9f7b]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.bed-header[data-v-baba9f7b]{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.bed-name[data-v-baba9f7b]{font-size:1rem;font-weight:700;color:#111827;margin:0;flex:1}.bed-count[data-v-baba9f7b]{font-size:.78rem;color:#9ca3af;white-space:nowrap;margin-right:auto}.btn-icon[data-v-baba9f7b]{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;padding:.2rem .6rem;font-size:1rem;box-shadow:0 1px 2px #0000000d;transition:background .1s}.btn-icon[data-v-baba9f7b]:hover{background:#f3f4f6}.delete-btn[data-v-baba9f7b]{color:#dc2626;border-color:#fca5a5;margin-right:.5rem}.delete-btn[data-v-baba9f7b]:hover{background:#fef2f2}.bed-edit-input[data-v-baba9f7b]{flex:1;font-size:1rem;font-weight:700;padding:.3rem .5rem;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;color:#111827}.btn-suggest-plants[data-v-baba9f7b]{background:none;border:1px solid #bfdbfe;border-radius:6px;padding:.3rem .75rem;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;color:#1d4ed8;display:flex;align-items:center;gap:.25rem;transition:background .1s,border-color .1s;white-space:nowrap}.btn-suggest-plants[data-v-baba9f7b]:hover{background:#eff6ff;border-color:#93c5fd}.btn-suggest-plants[data-v-baba9f7b]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn-add-to-bed[data-v-baba9f7b]{background:none;border:1px solid #d1d5db;border-radius:6px;padding:.3rem .75rem;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.25rem;transition:background .1s,border-color .1s;white-space:nowrap}.btn-add-to-bed[data-v-baba9f7b]:hover{background:#f0fdf4;border-color:#86efac;color:#15803d}.btn-add-to-bed[data-v-baba9f7b]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.bed-section[data-v-baba9f7b] .garden-grid-wrapper{padding:1rem 1.1rem}@media (max-width: 600px){.garden-toolbar[data-v-baba9f7b]{flex-direction:column;align-items:flex-start}.toolbar-right[data-v-baba9f7b]{width:100%;justify-content:flex-start}}.profile-view[data-v-3025508b]{padding:2rem;display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 64px);background-color:#f9fafb}.profile-card[data-v-3025508b]{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:400px}h1[data-v-3025508b]{font-size:1.5rem;color:#111827;margin-top:0;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.detail-row[data-v-3025508b]{display:flex;flex-direction:column;margin-bottom:1.25rem}.label[data-v-3025508b]{font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.25rem}.value[data-v-3025508b]{font-size:1.125rem;color:#1f2937}.actions[data-v-3025508b]{margin-top:2.5rem}.btn-logout[data-v-3025508b]{width:100%;padding:.75rem;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-logout[data-v-3025508b]:hover{background-color:#dc2626}.btn-logout[data-v-3025508b]:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.auth-container[data-v-6e1ba5e2]{max-width:400px;margin:40px auto;padding:30px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014}h2[data-v-6e1ba5e2]{text-align:center;color:#2c3e50;margin-bottom:24px}.auth-form[data-v-6e1ba5e2]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-6e1ba5e2]{display:flex;flex-direction:column;gap:6px}label[data-v-6e1ba5e2]{font-weight:500;color:#34495e}input[data-v-6e1ba5e2]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:16px}button[data-v-6e1ba5e2]{background:#3498db;color:#fff;padding:12px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px;transition:background .2s}button[data-v-6e1ba5e2]:hover{background:#2980b9}button[data-v-6e1ba5e2]:disabled{background:#95a5a6;cursor:not-allowed}.error-msg[data-v-6e1ba5e2]{color:#e74c3c;font-size:14px;background:#fadbd8;padding:8px 12px;border-radius:4px}.auth-switch[data-v-6e1ba5e2]{text-align:center;margin-top:16px;font-size:14px;color:#7f8c8d}.auth-switch a[data-v-6e1ba5e2]{color:#3498db;text-decoration:none}.auth-container[data-v-e3e1dba2]{max-width:400px;margin:40px auto;padding:30px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014}h2[data-v-e3e1dba2]{text-align:center;color:#2c3e50;margin-bottom:24px}.auth-form[data-v-e3e1dba2]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-e3e1dba2]{display:flex;flex-direction:column;gap:6px}label[data-v-e3e1dba2]{font-weight:500;color:#34495e}input[data-v-e3e1dba2]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:16px}button[data-v-e3e1dba2]{background:#2ecc71;color:#fff;padding:12px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px;transition:background .2s}button[data-v-e3e1dba2]:hover{background:#27ae60}button[data-v-e3e1dba2]:disabled{background:#95a5a6;cursor:not-allowed}.error-msg[data-v-e3e1dba2]{color:#e74c3c;font-size:14px;background:#fadbd8;padding:8px 12px;border-radius:4px}.auth-switch[data-v-e3e1dba2]{text-align:center;margin-top:16px;font-size:14px;color:#7f8c8d}.auth-switch a[data-v-e3e1dba2]{color:#2ecc71;text-decoration:none}.turnstile-widget[data-v-e3e1dba2]{padding:10px;background:#f8f9fa;border:1px solid #ddd;border-radius:6px}
