.bottom-tab-bar[data-v-4b1e68a5]{display:none}@media (width<=600px){.bottom-tab-bar[data-v-4b1e68a5]{height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--paper-ruled);z-index:100;background:#fff;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item[data-v-4b1e68a5]{color:var(--ink-light);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;transition:color .15s;display:flex;position:relative}.tab-item.active[data-v-4b1e68a5],.tab-item.router-link-active[data-v-4b1e68a5]{color:var(--green)}.tab-label[data-v-4b1e68a5]{font-size:11px;font-weight:500;line-height:1}.more-backdrop[data-v-4b1e68a5]{top:0;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom,0px));z-index:99;position:fixed}.more-menu[data-v-4b1e68a5]{z-index:101;background:#fff;border-radius:12px 12px 0 0;min-width:200px;position:absolute;bottom:100%;right:8px;overflow:hidden;box-shadow:0 -4px 16px #00000014}.more-menu-item[data-v-4b1e68a5]{color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;text-decoration:none;transition:background .1s;display:flex}.more-menu-item[data-v-4b1e68a5]:hover,.more-menu-item[data-v-4b1e68a5]:active{background:var(--paper-warm)}.more-menu-divider[data-v-4b1e68a5]{border-top:1px solid var(--paper-ruled-light)}.more-menu-logout[data-v-4b1e68a5]{color:var(--ink-light)}.more-slide-enter-active[data-v-4b1e68a5],.more-slide-leave-active[data-v-4b1e68a5]{transition:transform .15s,opacity .15s}.more-slide-enter-from[data-v-4b1e68a5],.more-slide-leave-to[data-v-4b1e68a5]{opacity:0;transform:translateY(8px)}}.nav-avatar-wrap{cursor:pointer;flex-shrink:0;margin-left:auto;position:relative}.nav-avatar{color:#fff;-webkit-user-select:none;user-select:none;background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.nav-avatar:hover{background:#fff6}.nav-dropdown{border:1px solid var(--paper-ruled);border-radius:var(--radius);z-index:100;background:#fff;min-width:160px;position:absolute;top:38px;right:0;overflow:hidden;box-shadow:0 4px 16px #00000014}.nav-dropdown-item{padding:10px 14px;font-size:14px;display:block;color:var(--ink)!important;border-bottom:none!important;text-decoration:none!important}.nav-dropdown-item:hover{background:var(--paper-warm)}.nav-dropdown-divider{border-top:1px solid var(--paper-ruled-light)}.nav-dropdown-logout{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-size:14px;color:var(--ink-light)!important}.nav-login-link{border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;margin-left:auto;padding:6px 14px;font-size:14px;transition:background .15s,border-color .15s;color:#ffffffd9!important;text-decoration:none!important}.nav-login-link:hover{background:#ffffff1a;border-color:#ffffff80}.account-nudge{background:var(--paper-warm);border-bottom:1px solid var(--paper-ruled-light);color:var(--ink-light);text-align:center;justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.account-nudge a{color:var(--green);font-weight:600;text-decoration:none}.account-nudge a:hover{text-decoration:underline}.account-nudge-close{color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.account-nudge-close:hover{color:var(--ink)}.page-enter-active{transition:opacity .15s,transform .15s}.page-leave-active{transition:opacity .1s}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0}.ct-select[data-v-c1c89e7d]{flex-direction:column;gap:6px;display:flex}.ct-chip[data-v-c1c89e7d]{background:var(--green-bg);border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:6px 8px 6px 12px;transition:border-color .15s;display:flex}.ct-chip[data-v-c1c89e7d]:hover{border-color:var(--paper-ruled)}.ct-chip-info[data-v-c1c89e7d]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ct-chip-name[data-v-c1c89e7d]{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.ct-chip-meta[data-v-c1c89e7d]{color:var(--ink-light);white-space:nowrap;font-size:12px}.ct-chip-qty[data-v-c1c89e7d]{flex-shrink:0}.ct-chip-qty input[data-v-c1c89e7d]{border:1px solid var(--paper-ruled);text-align:center;width:36px;color:var(--ink);-moz-appearance:textfield;background:#fff;border-radius:5px;padding:3px 2px;font-size:13px;transition:border-color .15s}.ct-chip-qty input[data-v-c1c89e7d]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ct-chip-qty input[data-v-c1c89e7d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ct-chip-qty input[data-v-c1c89e7d]:focus{border-color:var(--green);outline:none}.ct-chip-remove[data-v-c1c89e7d]{width:22px;height:22px;color:var(--paper-ruled);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,background .15s;display:flex}.ct-chip-remove[data-v-c1c89e7d]:hover{color:var(--ink);background:var(--paper-ruled-light)}.ct-add-btn[data-v-c1c89e7d]{border:1px dashed var(--paper-ruled);color:var(--ink-light);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:5px 12px;font-size:13px;transition:color .15s,border-color .15s;display:inline-flex}.ct-add-btn[data-v-c1c89e7d]:hover{color:var(--green);border-color:var(--green)}.typeahead-item-name[data-v-c1c89e7d]{font-weight:500}.typeahead-item-meta[data-v-c1c89e7d]{color:var(--ink-light);margin-left:8px;font-size:12px}.ct-create[data-v-c1c89e7d]{border:1px solid var(--paper-ruled);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.ct-create-actions[data-v-c1c89e7d]{gap:8px;margin-top:2px;display:flex}.sg-card[data-v-ddcf590d]{border-bottom:1px solid var(--paper-ruled-light);cursor:pointer;padding:14px 0;transition:background .1s}.sg-card[data-v-ddcf590d]:last-child{border-bottom:none}.sg-card[data-v-ddcf590d]:hover{background:#faf5ed80;border-radius:6px;margin:0 -8px;padding-left:8px;padding-right:8px}.sg-expanded[data-v-ddcf590d]{background:var(--green-bg);border-radius:6px;margin:0 -8px;padding-left:8px;padding-right:8px}.sg-muted[data-v-ddcf590d]{opacity:.65}.sg-header[data-v-ddcf590d]{align-items:flex-start;gap:12px;display:flex}.sg-photo[data-v-ddcf590d]{object-fit:cover;background:var(--paper-warm);border-radius:50%;flex-shrink:0;width:40px;height:40px}.sg-photo-placeholder[data-v-ddcf590d]{color:var(--ink-light);justify-content:center;align-items:center;display:flex}.sg-info[data-v-ddcf590d]{flex:1;min-width:0}.sg-name[data-v-ddcf590d]{font-weight:600;font-size:var(--text-base);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sg-sci[data-v-ddcf590d]{font-size:var(--text-xs);color:var(--ink-light);font-style:italic}.sg-stats[data-v-ddcf590d]{gap:14px;margin-top:4px;display:flex}.sg-stat[data-v-ddcf590d]{font-size:var(--text-xs);color:var(--ink-light);align-items:center;gap:4px;display:inline-flex}.sg-right[data-v-ddcf590d]{flex-shrink:0;align-self:flex-start;align-items:center;gap:8px;margin-top:2px;display:flex}.sg-chevron[data-v-ddcf590d]{color:var(--ink-light);opacity:.5;transition:transform .2s,opacity .2s,color .2s}.sg-expanded .sg-chevron[data-v-ddcf590d]{color:var(--green);opacity:1;transform:rotate(90deg)}.sg-card:hover .sg-chevron[data-v-ddcf590d]{opacity:.8}.sg-badges[data-v-ddcf590d]{gap:4px;display:flex}.sg-badge[data-v-ddcf590d]{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.sg-badge-outdoor[data-v-ddcf590d]{color:#059669;background:#d1fae5}.sg-badge-indoor[data-v-ddcf590d]{color:#2563eb;background:#dbeafe}.sg-badge-library[data-v-ddcf590d]{background:var(--green-bg);color:var(--green)}.sg-detail[data-v-ddcf590d]{border-top:1px solid #2d6a4f26;align-items:flex-end;gap:12px;margin-top:10px;padding-top:10px;display:flex}.sg-reasons[data-v-ddcf590d]{flex:1;min-width:0;margin:0;padding:0;list-style:none}.sg-reasons li[data-v-ddcf590d]{font-size:var(--text-sm);color:var(--ink);padding:2px 0 2px 14px;position:relative}.sg-reasons li[data-v-ddcf590d]:before{content:"·";color:var(--green);font-weight:700;position:absolute;left:0}.sg-sow-btn[data-v-ddcf590d]{font-size:var(--text-sm);align-items:center;gap:6px;padding:6px 16px;display:inline-flex}.sg-expand-enter-active[data-v-ddcf590d],.sg-expand-leave-active[data-v-ddcf590d]{transition:all .2s ease-out;overflow:hidden}.sg-expand-enter-from[data-v-ddcf590d],.sg-expand-leave-to[data-v-ddcf590d]{opacity:0;max-height:0}.sg-expand-enter-to[data-v-ddcf590d],.sg-expand-leave-from[data-v-ddcf590d]{opacity:1;max-height:200px}.stage-icon-img[data-v-3239e0e2]{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stage-icon-img[data-v-3239e0e2] svg{width:100%;height:100%}.confirm-backdrop[data-v-34779610]{z-index:1000;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.confirm-sheet[data-v-34779610]{padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:500px;box-shadow:0 -4px 24px #0000001f}.confirm-handle[data-v-34779610]{background:var(--paper-ruled);border-radius:2px;width:36px;height:4px;margin:0 auto 16px}.confirm-title[data-v-34779610]{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:700}.confirm-message[data-v-34779610]{color:var(--ink-light);margin:0 0 20px;font-size:14px;line-height:1.5}.confirm-actions[data-v-34779610]{flex-direction:column;gap:8px;display:flex}.confirm-btn[data-v-34779610]{cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.confirm-btn[data-v-34779610]:active{transform:scale(.98)}.confirm-btn-danger[data-v-34779610]{background:var(--orange);color:#fff}.confirm-btn-danger[data-v-34779610]:hover{background:#d45a3a}.confirm-btn-danger[data-v-34779610]:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.confirm-btn-cancel[data-v-34779610]{background:var(--paper-ruled-light);color:var(--ink)}.confirm-btn-cancel[data-v-34779610]:hover{background:var(--paper-ruled)}@media (width>=601px){.confirm-backdrop[data-v-34779610]{align-items:center;padding:20px}.confirm-sheet[data-v-34779610]{border-radius:12px;max-width:380px;padding:24px;box-shadow:0 8px 30px #00000026}.confirm-handle[data-v-34779610]{display:none}.confirm-actions[data-v-34779610]{flex-direction:row-reverse;gap:10px}.confirm-btn[data-v-34779610]{width:auto;padding:10px 20px}}.confirm-sheet-enter-active[data-v-34779610],.confirm-sheet-leave-active[data-v-34779610]{transition:opacity .2s}.confirm-sheet-enter-from[data-v-34779610],.confirm-sheet-leave-to[data-v-34779610]{opacity:0}.confirm-sheet-enter-active .confirm-sheet[data-v-34779610]{animation:.25s ease-out sheet-slide-up-34779610}.confirm-sheet-leave-active .confirm-sheet[data-v-34779610]{animation:.2s ease-in sheet-slide-down-34779610}@keyframes sheet-slide-up-34779610{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-slide-down-34779610{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (width>=601px){.confirm-sheet-enter-active .confirm-sheet[data-v-34779610]{animation:.15s modal-pop-34779610}.confirm-sheet-leave-active .confirm-sheet[data-v-34779610]{animation:none}@keyframes modal-pop-34779610{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}.page-header.dash-indent[data-v-0d734306]{justify-content:space-between;padding:28px 0 20px;flex-direction:row!important;align-items:center!important;display:flex!important}.dash-title[data-v-0d734306]{z-index:1;margin-bottom:0;font-size:28px;position:relative}.dash-header[data-v-0d734306]{position:relative;overflow:visible}.dash-header-watermark[data-v-0d734306]{opacity:.055;color:var(--green);pointer-events:none;z-index:0;position:absolute;top:-20px;right:-8px}.dash-header .dash-toolbar[data-v-0d734306]{z-index:1;position:relative}.sowing-detail .detail-row-group[data-v-0d734306]{flex-direction:column;align-items:stretch;gap:6px}.sowing-detail .detail-row-label[data-v-0d734306]{min-width:auto;margin-bottom:2px}@media (width>=601px){.dash-indent[data-v-0d734306]{margin-left:80px}}.dash-toolbar[data-v-0d734306]{align-items:center;gap:8px;display:flex}.toolbar-btn[data-v-0d734306]{width:36px;height:36px;color:var(--ink-light);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:flex}.toolbar-btn[data-v-0d734306]:hover{background:var(--paper-warm);color:var(--ink)}.toolbar-btn svg[data-v-0d734306]{width:18px;height:18px}.code-lookup[data-v-0d734306]{align-items:center;gap:0;display:inline-flex}.code-lookup-open .toolbar-btn[data-v-0d734306]{color:var(--green);background:var(--green-bg)}.code-lookup-input[data-v-0d734306]{border:1px solid var(--paper-ruled);border-radius:var(--radius);text-align:center;font-variant-numeric:tabular-nums;width:64px;color:var(--ink);padding:6px 10px;font-size:14px;font-weight:600}.code-lookup-input-hidden[data-v-0d734306]{display:none}.code-lookup-open .code-lookup-input[data-v-0d734306]{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.code-lookup-open .toolbar-btn[data-v-0d734306]{background:var(--green-bg);border-radius:8px 0 0 8px}.code-lookup-input[data-v-0d734306]::placeholder{color:var(--paper-ruled);font-weight:400}.code-lookup-input[data-v-0d734306]:focus{border-color:var(--green);outline:none}.photo-strip[data-v-0d734306]{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:4px 2px;display:flex}.photo-thumb[data-v-0d734306]{text-align:center;cursor:pointer;flex-shrink:0;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:relative}.photo-thumb[data-v-0d734306]:hover{transform:scale(1.05)}.photo-thumb[data-v-0d734306]:active{transform:scale(.97)}.photo-thumb img[data-v-0d734306]{object-fit:cover;border-radius:8px;width:80px;height:80px;transition:box-shadow .2s;display:block;box-shadow:0 1px 4px #0000001a}.photo-thumb:hover img[data-v-0d734306]{box-shadow:0 3px 12px #00000026}.photo-date[data-v-0d734306]{color:var(--ink-light);letter-spacing:.01em;margin-top:4px;font-size:11px;display:block}.photo-add[data-v-0d734306]{border:1.5px dashed var(--paper-ruled);cursor:pointer;width:80px;height:80px;color:var(--ink-light);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.photo-add[data-v-0d734306]:hover{border-color:var(--green);color:var(--green);background:var(--green-bg);transform:scale(1.05)}.photo-add[data-v-0d734306]:active{transform:scale(.95)}.photo-add-compact[data-v-0d734306]{border-radius:6px;flex-direction:row;gap:4px;width:auto;height:auto;padding:6px 12px}.photo-add-text[data-v-0d734306]{font-size:12px}.photo-adding[data-v-0d734306]{pointer-events:none;border-color:var(--green);color:var(--green)}.photo-add-spinner[data-v-0d734306]{border:2px solid var(--paper-ruled);border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin-0d734306}@keyframes spin-0d734306{to{transform:rotate(360deg)}}.photo-thumb-edit[data-v-0d734306]{position:relative}.photo-delete[data-v-0d734306]{color:#fff;cursor:pointer;opacity:0;background:#0009;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;transition:all .15s;display:flex;position:absolute;top:-5px;right:-5px;transform:scale(.8)}.photo-thumb-edit:hover .photo-delete[data-v-0d734306]{opacity:1;transform:scale(1)}@media (hover:none){.photo-delete[data-v-0d734306]{opacity:1;transform:scale(1)}}.photo-delete[data-v-0d734306]:hover{background:var(--red,#e53e3e);border-color:var(--red,#e53e3e)}.lightbox-overlay[data-v-0d734306]{z-index:1100;-webkit-backdrop-filter:blur(20px);background:#000000eb;justify-content:center;align-items:center;padding:60px 24px 48px;display:flex;position:fixed;inset:0}.lightbox-img[data-v-0d734306]{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:4px;max-width:100%;max-height:100%;transition:opacity .15s}.lightbox-img-fade[data-v-0d734306]{opacity:0}.lightbox-toolbar[data-v-0d734306]{gap:8px;display:flex;position:absolute;top:12px;right:12px}.lightbox-btn[data-v-0d734306]{color:#fffc;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.lightbox-btn[data-v-0d734306]:hover{color:#fff;background:#fff3}.lightbox-btn-spinning[data-v-0d734306]{pointer-events:none;animation:.4s spin-0d734306}.lightbox-nav[data-v-0d734306]{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;padding:12px;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav[data-v-0d734306]:hover{color:#fff;background:#fff3}.lightbox-prev[data-v-0d734306]{left:12px}.lightbox-next[data-v-0d734306]{right:12px}@media (width<=600px){.lightbox-overlay[data-v-0d734306]{padding:48px 16px 60px}.lightbox-nav[data-v-0d734306]{background:#ffffff26;padding:10px}.lightbox-prev[data-v-0d734306]{left:8px}.lightbox-next[data-v-0d734306]{right:8px}.lightbox-img[data-v-0d734306]{max-width:calc(100% - 48px)}}.lightbox-counter[data-v-0d734306]{align-items:center;gap:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.lightbox-dot[data-v-0d734306]{background:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:all .2s}.lightbox-dot.active[data-v-0d734306]{background:#fff;transform:scale(1.25)}.lightbox-enter-active[data-v-0d734306]{transition:opacity .25s}.lightbox-leave-active[data-v-0d734306]{transition:opacity .2s}.lightbox-enter-from[data-v-0d734306],.lightbox-leave-to[data-v-0d734306]{opacity:0}.stage-header-illust[data-v-0d734306]{opacity:.35;transition:opacity .3s;display:none}@media (width<=600px){.stage-header-illust[data-v-0d734306]{display:inline-flex}}.stage-header-illust-active[data-v-0d734306]{opacity:.7;transition:opacity .3s}.botanical-divider[data-v-0d734306]{opacity:.25;justify-content:center;align-items:center;gap:8px;margin:-12px 0 20px;padding:0;display:flex}.botanical-divider .divider-line[data-v-0d734306]{background:linear-gradient(to right, transparent, var(--paper-ruled), transparent);flex:1;height:1px}.botanical-divider svg[data-v-0d734306]{width:18px;height:18px;color:var(--green);flex-shrink:0}@media (width>=601px){.botanical-divider[data-v-0d734306]{margin-left:80px}}.stale-hint[data-v-0d734306]{color:#c07820;opacity:.85;margin-top:2px;font-size:.75rem;font-style:italic;line-height:1.3}.welcome-screen[data-v-0d734306]{max-width:520px;margin:0 auto;padding:16px 0 48px}.welcome-hero[data-v-0d734306]{text-align:center;padding:32px 16px 24px}.welcome-title[data-v-0d734306]{color:var(--ink);margin-bottom:4px}.welcome-subtitle[data-v-0d734306]{color:var(--ink-light);margin:0}.welcome-bottom-alt[data-v-0d734306]{text-align:center;margin-top:8px;padding:24px 16px 0}.welcome-alt-link[data-v-0d734306]{font-size:var(--text-sm);color:var(--ink-light);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.welcome-alt-link[data-v-0d734306]:hover{color:var(--green)}.welcome-city-search[data-v-0d734306]{max-width:400px;margin:0 auto;position:relative}.welcome-city-search .city-input-row[data-v-0d734306]{align-items:stretch;gap:8px;display:flex}.welcome-city-search .city-input-wrap[data-v-0d734306]{flex:1;position:relative}.welcome-city-search .city-input-icon[data-v-0d734306]{color:var(--ink-light);pointer-events:none;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.welcome-city-search .city-input[data-v-0d734306]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:10px 12px 10px 30px;font-family:inherit;font-size:16px}.welcome-city-search .city-input[data-v-0d734306]:focus{border-bottom-color:var(--green)}.welcome-city-search .city-input[data-v-0d734306]::placeholder{color:#c8bfb0;font-style:italic}.welcome-city-search .btn-locate[data-v-0d734306]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:40px;color:var(--ink-light);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.welcome-city-search .btn-locate[data-v-0d734306]:hover{color:var(--green)}.welcome-city-search .btn-locate[data-v-0d734306]:disabled{opacity:.5;cursor:wait}.welcome-city-search .city-dropdown[data-v-0d734306]{border:1px solid var(--paper-ruled);border-radius:0 0 var(--radius) var(--radius);z-index:10;background:#fff;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 16px #00000014}.welcome-city-search .city-option[data-v-0d734306]{width:100%;font-size:var(--text-base);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;transition:background .1s;display:flex}.welcome-city-search .city-option[data-v-0d734306]:hover{background:var(--green-bg)}.welcome-city-search .city-region[data-v-0d734306]{color:var(--ink-light);font-size:var(--text-xs);margin-left:auto}.welcome-city-search .spinning[data-v-0d734306]{animation:1s linear infinite welcome-spin-0d734306}@keyframes welcome-spin-0d734306{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-error[data-v-0d734306]{color:var(--orange);text-align:center;margin-top:8px;font-size:13px}.welcome-section-heading[data-v-0d734306]{font-family:var(--font-display);font-size:var(--text-base);color:var(--ink);align-items:center;gap:12px;margin-bottom:16px;font-weight:600;display:flex}.welcome-section-heading[data-v-0d734306]:after{content:"";background:linear-gradient(to right, var(--paper-ruled), transparent);flex:1;height:1px}.welcome-location-btn[data-v-0d734306]{cursor:pointer;font-size:var(--text-xs);color:var(--ink-light);font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:12px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.welcome-location-btn[data-v-0d734306]:hover{color:var(--green);background:var(--green-bg)}.welcome-loading[data-v-0d734306]{justify-content:center;padding:32px 0;display:flex}.welcome-suggestions[data-v-0d734306]{flex-direction:column;display:flex}.welcome-see-all[data-v-0d734306]{font-size:var(--text-sm);color:var(--green);justify-content:center;align-items:center;gap:6px;margin-top:16px;font-weight:500;text-decoration:none;transition:color .15s;display:flex}.welcome-see-all[data-v-0d734306]:hover{color:var(--green-light)}.account-nudge[data-v-0d734306]{font-size:var(--text-sm);color:var(--ink-light);background:var(--paper-warm);border:1px solid var(--paper-ruled);border-radius:8px;align-items:center;gap:10px;margin:0 0 16px;padding:8px 14px;display:flex}@media (width>=601px){.account-nudge[data-v-0d734306]{margin-left:100px}}.account-nudge-text[data-v-0d734306]{flex:1}.account-nudge-link[data-v-0d734306]{color:var(--green);white-space:nowrap;font-weight:600;text-decoration:none}.account-nudge-link[data-v-0d734306]:hover{text-decoration:underline}.account-nudge-dismiss[data-v-0d734306]{color:var(--ink-light);cursor:pointer;opacity:.4;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.account-nudge-dismiss[data-v-0d734306]:hover{opacity:.8}.quick-sow-guide[data-v-0d734306]{flex-direction:column;max-width:240px;display:flex}.quick-sow-guide .detail-actions-row[data-v-0d734306]{justify-content:flex-start;gap:8px;margin-top:8px}.quick-sow-hint[data-v-0d734306]{font-size:var(--text-sm);color:var(--green);margin:0 0 10px;line-height:1.4}.quick-sow-guide .form-group[data-v-0d734306]{background:var(--green-bg);border-radius:var(--radius);margin-bottom:0;padding:10px 12px 6px}.sow-more-nudge[data-v-0d734306]{font-size:var(--text-sm);color:var(--ink-light);align-items:center;gap:8px;margin-top:4px;padding:10px 0;display:flex}.sow-more-icon[data-v-0d734306]{color:var(--green);flex-shrink:0}.sow-more-link[data-v-0d734306]{color:var(--green);align-items:center;gap:3px;margin-left:2px;font-weight:600;text-decoration:none;display:inline-flex}.sow-more-link[data-v-0d734306]:hover{text-decoration:underline}.scan-trigger-btn[data-v-fc673e3a]{border:1.5px dashed var(--paper-ruled);border-radius:var(--radius);cursor:pointer;color:var(--ink-light);background:#fff;align-items:center;gap:8px;padding:8px 14px;font-size:13px;transition:all .15s;display:inline-flex}.scan-trigger-btn[data-v-fc673e3a]:hover{border-color:var(--green);color:var(--green);background:var(--green-bg)}.scan-trigger-btn svg[data-v-fc673e3a]{flex-shrink:0}.scan-preview[data-v-fc673e3a]{border:1.5px solid var(--blue);border-radius:var(--radius);background:#457b9d0a;padding:10px 12px}.scan-preview-files[data-v-fc673e3a]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.scan-preview-thumb[data-v-fc673e3a]{width:48px;height:48px;position:relative}.scan-preview-thumb img[data-v-fc673e3a]{object-fit:cover;border:1px solid var(--paper-ruled);border-radius:6px;width:48px;height:48px}.scan-preview-pdf[data-v-fc673e3a]{border:1px solid var(--paper-ruled);background:var(--paper-ruled-light);width:48px;height:48px;color:var(--ink-light);border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.scan-preview-remove[data-v-fc673e3a]{background:var(--orange);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:50%;width:16px;height:16px;font-size:10px;line-height:16px;position:absolute;top:-5px;right:-5px}.scan-preview-add[data-v-fc673e3a]{border:1.5px dashed var(--paper-ruled);width:48px;height:48px;color:var(--ink-light);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;font-size:20px;display:flex}.scan-preview-add[data-v-fc673e3a]:hover{border-color:var(--green);color:var(--green)}.scan-preview-actions[data-v-fc673e3a]{align-items:center;gap:8px;display:flex}.scan-error[data-v-fc673e3a]{color:var(--orange);margin-top:6px;font-size:13px}.variety-search-bar[data-v-1cdb17a5]{margin-bottom:16px}.variety-search-input-wrap[data-v-1cdb17a5]{margin-bottom:10px;position:relative}.variety-search-icon[data-v-1cdb17a5]{color:var(--ink-light);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.variety-search-input[data-v-1cdb17a5]{border:1.5px solid var(--paper-ruled);border-radius:var(--radius);width:100%;color:var(--ink);box-sizing:border-box;background:#fff;padding:10px 36px 10px 38px;font-size:14px;transition:all .2s}.variety-search-input[data-v-1cdb17a5]:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 2px #2d6a4f14}.variety-search-input[data-v-1cdb17a5]::placeholder{color:#c8bfb0;font-style:italic}.variety-search-clear[data-v-1cdb17a5]{color:var(--ink-light);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.variety-search-clear[data-v-1cdb17a5]:hover{color:var(--ink);background:var(--paper-ruled-light)}.variety-filter-pills[data-v-1cdb17a5]{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.variety-filter-pills[data-v-1cdb17a5]::-webkit-scrollbar{display:none}.variety-pill[data-v-1cdb17a5]{border:1.5px solid var(--paper-ruled);color:var(--ink-light);cursor:pointer;background:#fff;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;transition:all .15s;display:flex}.variety-pill[data-v-1cdb17a5]:hover{border-color:var(--ink-light);color:var(--ink)}.variety-pill-active[data-v-1cdb17a5]{background:var(--green);color:#fff;border-color:var(--green)}.variety-pill-active[data-v-1cdb17a5]:hover{background:var(--green-light);border-color:var(--green-light);color:#fff}.variety-pill-count[data-v-1cdb17a5]{opacity:.7;font-size:11px}.empty-filter-state[data-v-1cdb17a5]{text-align:center;color:var(--ink-light);padding:40px 20px;font-size:14px}.empty-filter-state p[data-v-1cdb17a5]{margin-bottom:12px}.catalog-section[data-v-1cdb17a5]{margin-top:32px}.catalog-section[data-v-1cdb17a5] .variety-list{margin-bottom:0}.variety-detail-photo[data-v-1cdb17a5]{object-fit:cover;border-radius:var(--radius);cursor:pointer;width:100%;max-height:200px;margin-bottom:16px;transition:opacity .15s}.variety-detail-photo[data-v-1cdb17a5]:hover{opacity:.85}.photo-lightbox[data-v-1cdb17a5]{z-index:1100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;background:#000000e6;justify-content:center;align-items:center;padding:48px 24px;display:flex;position:fixed;inset:0}.photo-lightbox-img[data-v-1cdb17a5]{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.photo-lightbox-close[data-v-1cdb17a5]{color:#fffc;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;padding:6px 12px;font-size:28px;line-height:1;transition:all .15s;position:absolute;top:12px;right:12px}.photo-lightbox-close[data-v-1cdb17a5]:hover{color:#fff;background:#fff3}.lightbox-enter-active[data-v-1cdb17a5]{transition:opacity .25s}.lightbox-leave-active[data-v-1cdb17a5]{transition:opacity .2s}.lightbox-enter-from[data-v-1cdb17a5],.lightbox-leave-to[data-v-1cdb17a5]{opacity:0}.detail-btn-sow[data-v-1cdb17a5]{color:var(--green);align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.detail-btn-sow[data-v-1cdb17a5]:hover{background:var(--green-bg)}.discover-section[data-v-1cdb17a5]{margin-top:32px}.discover-intro[data-v-1cdb17a5]{font-size:var(--text-sm);color:var(--ink-light);margin:0 0 12px}.discover-preview[data-v-1cdb17a5]{border:1px solid var(--paper-ruled-light);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:hidden}.discover-preview[data-v-1cdb17a5]:hover{border-color:var(--paper-ruled);box-shadow:0 1px 3px #0000000f}.discover-preview-items[data-v-1cdb17a5]{flex-direction:column;display:flex}.discover-preview-item[data-v-1cdb17a5]{border-bottom:1px solid var(--paper-ruled-light);align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.discover-preview:hover .discover-preview-item[data-v-1cdb17a5]{background:var(--green-bg)}.discover-preview-item[data-v-1cdb17a5]:last-child{border-bottom:none}.discover-preview-photo[data-v-1cdb17a5]{object-fit:cover;background:var(--paper-warm);border-radius:6px;flex-shrink:0;width:28px;height:28px}.discover-preview-placeholder[data-v-1cdb17a5]{background:var(--paper-warm);width:28px;height:28px;color:var(--ink-light);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.discover-preview-name[data-v-1cdb17a5]{font-size:var(--text-base);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.btn-show-discover[data-v-1cdb17a5]{border:none;border-top:1px solid var(--paper-ruled-light);background:var(--paper-warm);width:100%;color:var(--green);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:600;transition:background .15s;display:flex}.discover-preview:hover .btn-show-discover[data-v-1cdb17a5]{background:var(--green-bg)}.discover-filters[data-v-1cdb17a5]{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.discover-filter-pill[data-v-1cdb17a5]{border:1.5px solid var(--paper-ruled);color:var(--ink-light);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:#fff;border-radius:16px;padding:4px 12px;font-weight:500;transition:all .15s}.discover-filter-pill[data-v-1cdb17a5]:hover{border-color:var(--green);color:var(--green)}.discover-filter-pill.active[data-v-1cdb17a5]{background:var(--green);border-color:var(--green);color:#fff}.btn-load-more[data-v-1cdb17a5]{border:1.5px solid var(--paper-ruled);border-radius:var(--radius);width:100%;color:var(--green);font-size:var(--text-sm);cursor:pointer;background:#fff;grid-column:1/-1;margin-top:8px;padding:12px;font-weight:600;transition:all .15s;display:block}.btn-load-more[data-v-1cdb17a5]:hover{border-color:var(--green);background:var(--green-bg)}.discover-empty[data-v-1cdb17a5]{text-align:center;color:var(--ink-light);font-size:var(--text-sm);padding:24px 0}.hardiness-badge[data-v-1cdb17a5]{white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.hardiness-badge.hardy[data-v-1cdb17a5]{color:#2563eb;background:#dbeafe}.hardiness-badge.tender[data-v-1cdb17a5]{color:#d97706;background:#fef3c7}.discover-filter-pill.climate[data-v-1cdb17a5]{border-color:var(--blue,#457b9d);color:var(--blue,#457b9d)}.discover-filter-pill.climate.active[data-v-1cdb17a5]{background:var(--blue,#457b9d);border-color:var(--blue,#457b9d);color:#fff}.print-toolbar[data-v-546f749d]{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.print-action[data-v-546f749d]{margin-bottom:24px;padding:10px 24px}.sowing-select-list[data-v-546f749d]{margin-bottom:20px}.sowing-select-header[data-v-546f749d]{border-bottom:1px solid var(--paper-ruled);cursor:pointer;margin-bottom:2px;padding:10px 0}.sowing-select-header-text[data-v-546f749d]{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-light)}.sowing-select-item[data-v-546f749d]{border-bottom:1px solid var(--paper-ruled-light);cursor:pointer;border-radius:6px;align-items:center;gap:12px;margin:0 -8px;padding:12px 8px;transition:background .1s;display:flex}.sowing-select-item[data-v-546f749d]:last-child{border-bottom:none}.sowing-select-item[data-v-546f749d]:hover{background:var(--paper-warm)}.sowing-select-item-checked[data-v-546f749d],.sowing-select-item-checked[data-v-546f749d]:hover{background:var(--green-bg)}.sowing-select-info[data-v-546f749d]{flex:1;min-width:0}.sowing-select-name[data-v-546f749d]{color:var(--ink);font-size:15px;font-weight:600}.sowing-select-meta[data-v-546f749d]{font-size:var(--text-sm);color:var(--ink-light);align-items:center;gap:8px;margin-top:2px;display:flex}@media (width<=600px){.print-toolbar[data-v-546f749d]{flex-direction:column;align-items:stretch;gap:12px}.print-action[data-v-546f749d]{width:100%}}.login-page[data-v-34af2ffb]{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card[data-v-34af2ffb]{width:100%;max-width:400px}.login-illustration[data-v-34af2ffb]{text-align:center;margin-bottom:32px}.login-illustration svg[data-v-34af2ffb]{width:80px;height:120px;color:var(--green-light);opacity:.5}.login-brand[data-v-34af2ffb]{font-family:var(--font-display);text-align:center;color:var(--ink);margin:0 0 4px;font-size:26px;font-weight:700}.login-subtitle[data-v-34af2ffb]{text-align:center;color:var(--ink-light);margin:0 0 36px;font-size:14px;font-style:italic}.login-tabs[data-v-34af2ffb]{border-bottom:1.5px solid var(--paper-ruled);margin-bottom:28px;display:flex}.login-tabs a[data-v-34af2ffb]{text-align:center;color:var(--ink-light);cursor:pointer;border-bottom:2px solid #0000;flex:1;margin-bottom:-1.5px;padding:10px 0;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.login-tabs a[data-v-34af2ffb]:hover{color:var(--ink)}.login-tabs a.active[data-v-34af2ffb],.login-tabs a.router-link-exact-active[data-v-34af2ffb]{color:var(--green);border-bottom-color:var(--green);font-weight:600}.form-group[data-v-34af2ffb]{margin-bottom:22px}.form-group label[data-v-34af2ffb]{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-light);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.form-group input[data-v-34af2ffb]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;color:var(--ink);-webkit-appearance:none;background:0 0;border-radius:0;padding:12px 4px;font-family:inherit;font-size:16px;transition:all .2s}.form-group input[data-v-34af2ffb]::placeholder{color:#c8bfb0;font-style:italic}.form-group input[data-v-34af2ffb]:focus{border-bottom-color:var(--green);outline:none;box-shadow:0 2px #2d6a4f1a}.login-error[data-v-34af2ffb]{color:var(--orange);margin-bottom:12px;font-size:13px}.login-submit[data-v-34af2ffb]{width:100%;font-size:15px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius);background:var(--green);color:#fff;cursor:pointer;border:none;margin-top:4px;padding:14px;transition:all .2s;position:relative;overflow:hidden}.login-submit[data-v-34af2ffb]:before{content:"";opacity:.12;background:#fff;width:28px;height:28px;position:absolute;bottom:-3px;right:-6px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain}.login-submit[data-v-34af2ffb]:hover{background:var(--green-light)}.login-submit[data-v-34af2ffb]:active{transform:scale(.98)}.login-submit[data-v-34af2ffb]:focus-visible{outline:2px solid var(--green);outline-offset:2px}.login-submit[data-v-34af2ffb]:disabled{opacity:.5;cursor:not-allowed}.login-divider[data-v-34af2ffb]{color:var(--ink-light);align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.login-divider[data-v-34af2ffb]:before,.login-divider[data-v-34af2ffb]:after{content:"";background:var(--paper-ruled);flex:1;height:1px}.login-google[data-v-34af2ffb]{width:100%;font-size:14px;font-weight:500;font-family:var(--font-body);border:1.5px solid var(--paper-ruled);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:10px;padding:12px;transition:all .15s;display:flex}.login-google[data-v-34af2ffb]:hover{background:var(--paper-warm);border-color:var(--ink-light)}.login-google[data-v-34af2ffb]:active{transform:scale(.98)}.login-google[data-v-34af2ffb]:focus-visible{outline:2px solid var(--green);outline-offset:2px}.login-explore[data-v-34af2ffb]{text-align:center;border-top:1px solid var(--paper-ruled-light);color:var(--green);margin-top:28px;padding-top:20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:block}.login-explore[data-v-34af2ffb]:hover{color:var(--green-light)}@media (width>=640px){.login-card[data-v-34af2ffb]{border:1px solid var(--paper-ruled-light);background:#fff;border-radius:16px;padding:44px 40px;box-shadow:0 4px 24px #0000000a}.login-divider span[data-v-34af2ffb]{background:#fff}}.login-page[data-v-4c70dd04]{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card[data-v-4c70dd04]{width:100%;max-width:400px}.login-brand[data-v-4c70dd04]{font-family:var(--font-display);text-align:center;color:var(--ink);margin:0 0 4px;font-size:26px;font-weight:700}.login-subtitle[data-v-4c70dd04]{text-align:center;color:var(--ink-light);margin:0 0 36px;font-size:14px;font-style:italic}.login-tabs[data-v-4c70dd04]{border-bottom:1.5px solid var(--paper-ruled);margin-bottom:28px;display:flex}.login-tabs a[data-v-4c70dd04]{text-align:center;color:var(--ink-light);cursor:pointer;border-bottom:2px solid #0000;flex:1;margin-bottom:-1.5px;padding:10px 0;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.login-tabs a[data-v-4c70dd04]:hover{color:var(--ink)}.login-tabs a.active[data-v-4c70dd04],.login-tabs a.router-link-exact-active[data-v-4c70dd04]{color:var(--green);border-bottom-color:var(--green);font-weight:600}.form-group[data-v-4c70dd04]{margin-bottom:22px}.form-group label[data-v-4c70dd04]{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-light);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.form-group input[data-v-4c70dd04]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;color:var(--ink);-webkit-appearance:none;background:0 0;border-radius:0;padding:12px 4px;font-family:inherit;font-size:16px;transition:all .2s}.form-group input[data-v-4c70dd04]::placeholder{color:#c8bfb0;font-style:italic}.form-group input[data-v-4c70dd04]:focus{border-bottom-color:var(--green);outline:none;box-shadow:0 2px #2d6a4f1a}.login-error[data-v-4c70dd04]{color:var(--orange);margin-bottom:12px;font-size:13px}.login-submit[data-v-4c70dd04]{width:100%;font-size:15px;font-weight:600;font-family:var(--font-body);border-radius:var(--radius);background:var(--green);color:#fff;cursor:pointer;border:none;margin-top:4px;padding:14px;transition:all .2s;position:relative;overflow:hidden}.login-submit[data-v-4c70dd04]:before{content:"";opacity:.12;background:#fff;width:28px;height:28px;position:absolute;bottom:-3px;right:-6px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain}.login-submit[data-v-4c70dd04]:hover{background:var(--green-light)}.login-submit[data-v-4c70dd04]:active{transform:scale(.98)}.login-submit[data-v-4c70dd04]:disabled{opacity:.5;cursor:not-allowed}.login-divider[data-v-4c70dd04]{color:var(--ink-light);align-items:center;gap:16px;margin:24px 0;font-size:12px;display:flex}.login-divider[data-v-4c70dd04]:before,.login-divider[data-v-4c70dd04]:after{content:"";background:var(--paper-ruled);flex:1;height:1px}.login-google[data-v-4c70dd04]{width:100%;font-size:14px;font-weight:500;font-family:var(--font-body);border:1.5px solid var(--paper-ruled);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:10px;padding:12px;transition:all .15s;display:flex}.login-google[data-v-4c70dd04]:hover{background:var(--paper-warm);border-color:var(--ink-light)}.login-explore[data-v-4c70dd04]{text-align:center;border-top:1px solid var(--paper-ruled-light);color:var(--green);margin-top:28px;padding-top:20px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:block}.login-explore[data-v-4c70dd04]:hover{color:var(--green-light)}@media (width>=640px){.login-card[data-v-4c70dd04]{border:1px solid var(--paper-ruled-light);background:#fff;border-radius:16px;padding:44px 40px;box-shadow:0 4px 24px #0000000a}}.user-card[data-v-1a40a3a8]{border-bottom:1px solid var(--paper-ruled-light);align-items:center;gap:16px;margin-bottom:8px;padding:20px 0;display:flex}.profile-avatar[data-v-1a40a3a8]{background:var(--green);color:#fff;width:48px;height:48px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.user-info[data-v-1a40a3a8]{flex:1;min-width:0}.user-name[data-v-1a40a3a8]{color:var(--ink);font-size:16px;font-weight:600}.user-email[data-v-1a40a3a8]{color:var(--ink-light);margin-top:2px;font-size:13px}.preferences-card[data-v-1a40a3a8]{border:1px solid var(--paper-ruled-light);border-radius:var(--radius);background:#fff;margin-bottom:16px;padding:0 20px;box-shadow:0 1px 3px #0000000f}.profile-section[data-v-1a40a3a8]{border-bottom:1px solid var(--paper-ruled-light);padding:24px 0}.profile-section[data-v-1a40a3a8]:last-of-type{border-bottom:none}.inline-save[data-v-1a40a3a8]{align-items:flex-end;gap:12px;display:flex}.password-grid[data-v-1a40a3a8]{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=600px){.password-grid[data-v-1a40a3a8]{grid-template-columns:1fr;gap:0}}.help-text[data-v-1a40a3a8]{color:var(--ink-light);margin-top:6px;font-size:12px;font-style:italic}.profile-success[data-v-1a40a3a8]{color:var(--green);margin-top:6px;font-size:12px}.profile-error[data-v-1a40a3a8]{color:var(--orange);margin-top:6px;font-size:12px}.location-current[data-v-1a40a3a8]{background:var(--green-bg);border-radius:var(--radius);color:var(--ink);align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.btn-clear-location[data-v-1a40a3a8]{color:var(--ink-light);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:20px;line-height:1}.btn-clear-location[data-v-1a40a3a8]:hover{color:var(--orange)}.location-search-wrap[data-v-1a40a3a8]{position:relative}.city-input-row[data-v-1a40a3a8]{align-items:stretch;gap:8px;display:flex}.city-input-row .city-input-wrap[data-v-1a40a3a8]{flex:1}.btn-locate[data-v-1a40a3a8]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:40px;color:var(--ink-light);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.btn-locate[data-v-1a40a3a8]:hover{color:var(--green)}.btn-locate[data-v-1a40a3a8]:disabled{opacity:.5;cursor:wait}.spinning[data-v-1a40a3a8]{animation:1s linear infinite spin-1a40a3a8}@keyframes spin-1a40a3a8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.city-input-wrap[data-v-1a40a3a8]{position:relative}.city-input-icon[data-v-1a40a3a8]{color:var(--ink-light);pointer-events:none;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.city-input[data-v-1a40a3a8]{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:10px 12px 10px 30px;font-size:16px}.city-input[data-v-1a40a3a8]:focus{border-bottom-color:var(--green)}.city-input[data-v-1a40a3a8]::placeholder{color:#c8bfb0;font-style:italic}.city-dropdown[data-v-1a40a3a8]{border:1px solid var(--paper-ruled);border-radius:0 0 var(--radius) var(--radius);z-index:10;background:#fff;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 4px 16px #00000014}.city-option[data-v-1a40a3a8]{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:background .1s;display:flex}.city-option[data-v-1a40a3a8]:hover{background:var(--green-bg)}.city-region[data-v-1a40a3a8]{color:var(--ink-light);margin-left:auto;font-size:11px}.language-options[data-v-1a40a3a8]{gap:8px;display:flex}.language-option[data-v-1a40a3a8]{border:1.5px solid var(--paper-ruled);color:var(--ink-light);font-size:var(--text-sm);cursor:pointer;background:#fff;border-radius:20px;padding:8px 20px;font-weight:500;transition:all .15s}.language-option[data-v-1a40a3a8]:hover{border-color:var(--ink-light);color:var(--ink)}.language-option.active[data-v-1a40a3a8]{border-color:var(--green);background:var(--green-bg);color:var(--green)}.category-toggles[data-v-1a40a3a8]{flex-wrap:wrap;gap:8px;display:flex}.category-toggle[data-v-1a40a3a8]{border:1.5px solid var(--green);background:var(--green-bg);color:var(--green);font-size:var(--text-sm);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .15s;display:inline-flex}.category-toggle[data-v-1a40a3a8]:hover{background:var(--paper-warm)}.category-toggle.hidden[data-v-1a40a3a8]{border-color:var(--paper-ruled);color:var(--ink-light);opacity:.6;background:#fff}.category-toggle.hidden[data-v-1a40a3a8]:hover{opacity:.8;border-color:var(--ink-light)}.admin-error[data-v-675f660b]{color:var(--orange);font-size:var(--text-sm);margin-bottom:12px}.admin-user-list[data-v-675f660b]{padding:16px 0}.admin-user-item[data-v-675f660b]{border-bottom:1px solid var(--paper-ruled-light);border-radius:6px;align-items:center;gap:16px;margin:0 -8px;padding:14px 8px;transition:background .1s;display:flex}.admin-user-item[data-v-675f660b]:last-child{border-bottom:none}.admin-user-item[data-v-675f660b]:hover{background:var(--paper-warm)}.admin-user-deactivated[data-v-675f660b]{opacity:.45}.admin-user-info[data-v-675f660b]{flex:1;min-width:0}.admin-user-name[data-v-675f660b]{color:var(--ink);font-size:15px;font-weight:600}.admin-user-email[data-v-675f660b]{font-size:var(--text-sm);color:var(--ink-light);font-style:italic}.admin-user-badge-disabled[data-v-675f660b]{font-size:var(--text-xs);color:var(--orange);margin-top:2px;font-weight:600}.admin-user-stats[data-v-675f660b]{flex-shrink:0;gap:12px;display:flex}.admin-stat[data-v-675f660b]{font-size:var(--text-base);color:var(--ink);white-space:nowrap;font-weight:600}.admin-stat-label[data-v-675f660b]{color:var(--ink-light);font-weight:400;font-size:var(--text-sm)}.admin-user-activity[data-v-675f660b]{text-align:right;flex-shrink:0;min-width:100px}.admin-activity-line[data-v-675f660b]{font-size:var(--text-sm);color:var(--ink)}.admin-activity-label[data-v-675f660b]{font-size:var(--text-xs);color:var(--ink-light)}.admin-user-actions[data-v-675f660b]{flex-shrink:0;align-items:center;gap:10px;display:flex}.admin-checkbox-text[data-v-675f660b]{font-size:var(--text-sm);color:var(--ink-light)}.admin-btn-reactivate[data-v-675f660b]{color:var(--green)!important;border-color:var(--green)!important}@media (width<=600px){.admin-user-item[data-v-675f660b]{flex-wrap:wrap;gap:6px;padding:12px 8px}.admin-user-info[data-v-675f660b]{width:100%}.admin-user-stats[data-v-675f660b]{flex-basis:auto}.admin-user-actions[data-v-675f660b]{margin-left:auto}}.stats-summary[data-v-b0d7ea26]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:8px;display:grid}.stat-card[data-v-b0d7ea26]{border:1px solid var(--gray-200);border-radius:var(--radius);text-align:center;background:#fff;padding:16px}.stat-value[data-v-b0d7ea26]{font-family:var(--font-display);color:var(--green);font-size:28px;font-weight:700;line-height:1.2}.stat-value-denom[data-v-b0d7ea26]{color:var(--gray-400);font-size:18px;font-weight:500}.stat-value-good[data-v-b0d7ea26]{color:var(--green)}.stat-value-warn[data-v-b0d7ea26]{color:var(--orange)}.stat-label[data-v-b0d7ea26]{color:var(--gray-500);margin-top:4px;font-size:13px}.category-breakdown[data-v-b0d7ea26]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.category-chip[data-v-b0d7ea26]{border:1px solid;border-radius:14px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:flex}.category-chip strong[data-v-b0d7ea26]{font-weight:700}.rate-bar-wrap[data-v-b0d7ea26]{align-items:center;gap:6px;display:flex}.rate-bar[data-v-b0d7ea26]{background:var(--gray-100);border-radius:3px;flex-shrink:0;width:48px;height:6px;overflow:hidden}.rate-bar-fill[data-v-b0d7ea26]{background:var(--green);border-radius:3px;height:100%;transition:width .3s}.rate-bar-good[data-v-b0d7ea26]{background:var(--green)}.rate-bar-warn[data-v-b0d7ea26]{background:var(--orange)}.rate-bar-label[data-v-b0d7ea26]{color:var(--gray-700);white-space:nowrap;font-size:13px;font-weight:600}.rate-bar-pending[data-v-b0d7ea26]{background:#f59e0b}.rate-pending-label[data-v-b0d7ea26]{color:var(--gray-500);font-size:12px;font-weight:400}.rate-pending[data-v-b0d7ea26]{color:var(--gray-400);font-size:12px;font-style:italic}.stats-table .row-secondary[data-v-b0d7ea26]{color:var(--gray-400);font-size:12px;display:block}.stats-detail-header[data-v-b0d7ea26],.stats-detail-row[data-v-b0d7ea26]{grid-template-columns:1fr 1fr 80px 120px;gap:8px;padding:6px 0;font-size:13px;display:grid}.stats-detail-header[data-v-b0d7ea26]{color:var(--gray-500);border-bottom:1px solid var(--gray-200);margin-bottom:4px;padding-bottom:8px;font-weight:600}.stats-detail-row+.stats-detail-row[data-v-b0d7ea26]{border-top:1px solid var(--gray-100)}.dev-fast[data-v-b0d7ea26]{color:var(--green);font-weight:500}.dev-ok[data-v-b0d7ea26]{color:var(--blue)}.dev-slow[data-v-b0d7ea26]{color:var(--orange);font-weight:500}@media (width<=600px){.stats-summary[data-v-b0d7ea26]{grid-template-columns:repeat(2,1fr)}.stat-value[data-v-b0d7ea26]{font-size:22px}.stats-detail-header[data-v-b0d7ea26],.stats-detail-row[data-v-b0d7ea26]{grid-template-columns:1fr 1fr}.stats-detail-header span[data-v-b0d7ea26]:nth-child(3),.stats-detail-header span[data-v-b0d7ea26]:nth-child(4),.stats-detail-row span[data-v-b0d7ea26]:nth-child(3),.stats-detail-row span[data-v-b0d7ea26]:nth-child(4){display:none}}.plan-tabs[data-v-45f3b83f]{border-bottom:2px solid var(--gray-200);gap:0;margin-bottom:20px;display:flex}.plan-tab[data-v-45f3b83f]{cursor:pointer;color:var(--gray-400);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 20px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.plan-tab[data-v-45f3b83f]:hover{color:var(--gray-600)}.plan-tab.active[data-v-45f3b83f]{color:var(--green);border-bottom-color:var(--green)}.nursery-summary[data-v-45f3b83f]{gap:12px;margin-bottom:20px;display:flex}.nursery-stat-card[data-v-45f3b83f]{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;flex-direction:column;flex:1;gap:2px;padding:12px 16px;display:flex}.nursery-stat-label[data-v-45f3b83f]{color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.nursery-stat-value[data-v-45f3b83f]{font-size:22px;font-weight:700;line-height:1.2}.nursery-stat-value.over-capacity[data-v-45f3b83f]{color:#e74c3c}.nursery-stat-unit[data-v-45f3b83f]{color:var(--gray-400);font-size:12px}.nursery-nav[data-v-45f3b83f]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.nursery-range[data-v-45f3b83f]{text-align:center;min-width:120px;font-size:15px;font-weight:600}.nursery-today-btn[data-v-45f3b83f]{margin-left:auto}.nursery-chart-wrap[data-v-45f3b83f]{margin-bottom:12px}.nursery-chart-inner[data-v-45f3b83f]{display:flex;position:relative}.nursery-y-axis[data-v-45f3b83f]{flex-shrink:0;width:32px;position:relative}.nursery-y-label[data-v-45f3b83f]{color:#999;font-size:11px;position:absolute;right:4px;transform:translateY(-50%)}.nursery-bars-scroll[data-v-45f3b83f]{-webkit-overflow-scrolling:touch;flex:1;overflow-x:auto}.nursery-chart-svg[data-v-45f3b83f]{min-width:100%;display:block}.nursery-detail[data-v-45f3b83f]{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;margin-bottom:16px;padding:12px 16px}.nursery-detail-title[data-v-45f3b83f]{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.nursery-detail-close[data-v-45f3b83f]{color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.nursery-detail-close[data-v-45f3b83f]:hover{color:var(--gray-600)}.nursery-detail-row[data-v-45f3b83f]{align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.nursery-detail-dot[data-v-45f3b83f]{border-radius:2px;flex-shrink:0;width:8px;height:8px}.nursery-detail-name[data-v-45f3b83f]{flex:1}.nursery-detail-qty[data-v-45f3b83f]{color:var(--gray-500);font-weight:500}.empty-state[data-v-45f3b83f]{text-align:center;color:var(--gray-400);padding:40px 16px;font-size:14px}.cal-nav[data-v-45f3b83f]{align-items:center;gap:12px;margin-bottom:16px;display:flex}.cal-month[data-v-45f3b83f]{text-transform:capitalize;text-align:center;min-width:180px;font-size:18px;font-weight:600}.cal-today-btn[data-v-45f3b83f]{margin-left:auto}.cal-legend[data-v-45f3b83f]{color:var(--gray-500);flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.cal-legend-item[data-v-45f3b83f]{align-items:center;gap:4px;display:flex}.cal-dot[data-v-45f3b83f]{border-radius:2px;flex-shrink:0;width:10px;height:10px}.cal-dot-sown[data-v-45f3b83f]{background:var(--green)}.cal-dot-expected[data-v-45f3b83f]{background:var(--blue);opacity:.5}.cal-dot-sprouted[data-v-45f3b83f]{background:#5cb85c}.cal-dot-repiquage[data-v-45f3b83f]{background:var(--orange)}.cal-grid[data-v-45f3b83f]{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-header[data-v-45f3b83f]{text-align:center;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:8px 4px;font-size:12px;font-weight:600}.cal-cell[data-v-45f3b83f]{border-bottom:1px solid var(--gray-100);border-right:1px solid var(--gray-100);min-height:80px;padding:4px;position:relative}.cal-cell[data-v-45f3b83f]:nth-child(7n+7){border-right:none}.cal-cell.cal-out[data-v-45f3b83f]{background:var(--gray-50);opacity:.5}.cal-cell.cal-today[data-v-45f3b83f]{background:#2a9d8f0f}.cal-cell.cal-today .cal-day-num[data-v-45f3b83f]{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.cal-day-num[data-v-45f3b83f]{color:var(--gray-600);margin-bottom:2px;font-size:13px;font-weight:500}.cal-events[data-v-45f3b83f]{flex-direction:column;gap:2px;display:flex}.cal-event[data-v-45f3b83f]{text-overflow:ellipsis;white-space:nowrap;cursor:default;border-radius:3px;padding:1px 4px;font-size:11px;overflow:hidden}.cal-event-sown[data-v-45f3b83f]{color:var(--green);border-left:2px solid var(--green);background:#2a9d8f26}.cal-event-expected_sprout[data-v-45f3b83f]{color:var(--blue);border-left:2px solid var(--blue);opacity:.7;background:#457b9d1a}.cal-event-sprouted[data-v-45f3b83f]{color:#3d8b3d;background:#5cb85c26;border-left:2px solid #5cb85c}.cal-event-repiquage[data-v-45f3b83f]{color:var(--orange);border-left:2px solid var(--orange);background:#e67e221f}.cal-empty-hint[data-v-45f3b83f]{text-align:center;color:var(--gray-400);margin-top:16px;font-size:13px;line-height:1.5}.cal-more[data-v-45f3b83f]{color:var(--gray-400);padding-left:4px;font-size:11px}.cal-event-name[data-v-45f3b83f]{text-overflow:ellipsis;overflow:hidden}.harvest-chart-wrap[data-v-45f3b83f]{margin-bottom:12px}.harvest-chart-inner[data-v-45f3b83f]{display:flex;position:relative}.harvest-y-axis[data-v-45f3b83f]{border-right:1px solid var(--gray-200);flex-shrink:0;width:140px}.harvest-y-header[data-v-45f3b83f]{height:20px}.harvest-y-label[data-v-45f3b83f]{border-top:1px solid #0000;align-items:center;height:28px;padding:0 8px 0 0;display:flex}.harvest-y-label.harvest-y-first[data-v-45f3b83f]{border-top:1px solid var(--gray-100)}.harvest-variety-name[data-v-45f3b83f]{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:13px;font-weight:500;overflow:hidden}.harvest-bars-scroll[data-v-45f3b83f]{-webkit-overflow-scrolling:touch;flex:1;overflow-x:auto}.harvest-chart-svg[data-v-45f3b83f]{min-width:100%;display:block}.harvest-missing-banner[data-v-45f3b83f]{background:var(--orange-bg);border-radius:var(--radius);margin-top:16px;padding:12px 16px}.harvest-missing-summary[data-v-45f3b83f]{color:var(--gray-500);cursor:pointer;font-size:13px;font-weight:500;list-style:none}.harvest-missing-summary[data-v-45f3b83f]:before{content:"▸ "}details[open]>.harvest-missing-summary[data-v-45f3b83f]:before{content:"▾ "}.harvest-missing-desc[data-v-45f3b83f]{color:var(--gray-400);margin-bottom:8px;font-size:13px}.harvest-missing-list[data-v-45f3b83f]{flex-wrap:wrap;gap:6px;display:flex}.harvest-missing-item[data-v-45f3b83f]{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);border-radius:12px;padding:2px 10px;font-size:13px;text-decoration:none}.harvest-missing-item[data-v-45f3b83f]:hover{background:var(--green-bg);border-color:var(--green);color:var(--green)}@media (width<=600px){.plan-tab[data-v-45f3b83f]{padding:8px 14px;font-size:13px}.nursery-summary[data-v-45f3b83f]{gap:8px}.nursery-stat-card[data-v-45f3b83f]{padding:10px 12px}.nursery-stat-value[data-v-45f3b83f]{font-size:18px}.nursery-range[data-v-45f3b83f]{min-width:auto;font-size:13px}.cal-month[data-v-45f3b83f]{min-width:auto;font-size:15px}.cal-cell[data-v-45f3b83f]{min-height:50px;padding:2px}.cal-day-num[data-v-45f3b83f]{font-size:11px}.cal-event[data-v-45f3b83f]{padding:0 2px;font-size:9px}.cal-event-name[data-v-45f3b83f]{max-width:100%}.cal-header[data-v-45f3b83f]{padding:4px 2px;font-size:10px}.cal-legend[data-v-45f3b83f]{gap:8px;font-size:11px}.harvest-y-axis[data-v-45f3b83f]{width:90px}.harvest-variety-name[data-v-45f3b83f]{max-width:82px;font-size:11px}}.quick-photo[data-v-ee565a5b]{max-width:480px;margin:0 auto;padding:32px 16px}.qp-empty[data-v-ee565a5b]{text-align:center;padding:48px 24px}.qp-empty-icon[data-v-ee565a5b]{background:var(--green-bg);width:72px;height:72px;color:var(--green);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex}.qp-empty-icon[data-v-ee565a5b]:hover{transform:scale(1.08);box-shadow:0 4px 20px #2d6a4f26}.qp-empty-icon[data-v-ee565a5b]:active{transform:scale(.95)}.qp-empty-title[data-v-ee565a5b]{font-size:var(--text-lg);color:var(--gray-700);margin-bottom:8px;font-weight:600}.qp-empty-hint[data-v-ee565a5b]{font-size:var(--text-base);color:var(--gray-400);max-width:280px;margin-bottom:24px;margin-left:auto;margin-right:auto;line-height:1.5}.qp-photos[data-v-ee565a5b]{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.qp-thumb[data-v-ee565a5b]{transition:opacity .2s;position:relative}.qp-thumb img[data-v-ee565a5b]{object-fit:cover;border-radius:10px;width:100px;height:100px;transition:box-shadow .2s,opacity .2s;display:block;box-shadow:0 2px 8px #0000001a}.qp-thumb-excluded img[data-v-ee565a5b]{opacity:.3}.qp-thumb-remove[data-v-ee565a5b]{color:#fff;cursor:pointer;background:#0009;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s;display:flex;position:absolute;top:-6px;right:-6px}.qp-thumb-remove[data-v-ee565a5b]:hover{background:var(--red,#e53e3e);border-color:var(--red,#e53e3e)}.qp-thumb-toggle[data-v-ee565a5b]{color:#ffffffb3;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex;position:absolute;bottom:6px;right:6px}.qp-thumb-toggle.active[data-v-ee565a5b]{background:var(--green);color:#fff}.qp-thumb-add[data-v-ee565a5b]{border:2px dashed var(--gray-300);cursor:pointer;width:100px;height:100px;color:var(--gray-400);background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.qp-thumb-add[data-v-ee565a5b]:hover{border-color:var(--green);color:var(--green);background:var(--green-bg);transform:scale(1.04)}.qp-thumb-add[data-v-ee565a5b]:active{transform:scale(.96)}.qp-detecting[data-v-ee565a5b]{color:var(--gray-500);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.qp-detecting-spinner[data-v-ee565a5b]{border:2px solid var(--gray-300);border-top-color:var(--green);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-ee565a5b}@keyframes spin-ee565a5b{to{transform:rotate(360deg)}}.qp-detected[data-v-ee565a5b]{background:var(--green-bg);color:var(--green);border-radius:20px;align-items:center;gap:6px;margin-bottom:16px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.qp-hint[data-v-ee565a5b]{color:var(--gray-400);margin-bottom:16px;font-size:13px;line-height:1.5}.qp-actions[data-v-ee565a5b]{gap:8px;display:flex}.qp-error[data-v-ee565a5b]{color:var(--red,#e53e3e);margin-bottom:8px;font-size:13px}.qp-picker[data-v-ee565a5b]{margin-top:8px}.qp-picker-label[data-v-ee565a5b]{color:var(--gray-700);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.qp-select[data-v-ee565a5b]{border:1px solid var(--gray-200);border-radius:var(--radius);background:#fff;width:100%;margin-bottom:12px;padding:10px 12px;font-size:15px;transition:border-color .15s}.qp-select[data-v-ee565a5b]:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2d6a4f14}.qp-uploading[data-v-ee565a5b]{text-align:center;padding:32px 0}.qp-progress-ring[data-v-ee565a5b]{width:64px;height:64px;margin:0 auto 16px;position:relative}.qp-progress-ring svg[data-v-ee565a5b]{width:100%;height:100%}.qp-progress-text[data-v-ee565a5b]{color:var(--green);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.qp-uploading p[data-v-ee565a5b]{color:var(--gray-500);font-size:14px}.qp-done[data-v-ee565a5b]{text-align:center;padding:48px 24px}.qp-done-icon[data-v-ee565a5b]{background:var(--green-bg);width:64px;height:64px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) pop-ee565a5b;display:flex}@keyframes pop-ee565a5b{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.qp-done-title[data-v-ee565a5b]{color:var(--gray-700);margin-bottom:4px;font-size:16px;font-weight:600}.qp-done-name[data-v-ee565a5b]{color:var(--green);font-size:14px}.fade-enter-active[data-v-ee565a5b]{transition:opacity .25s,transform .25s}.fade-leave-active[data-v-ee565a5b]{transition:opacity .15s}.fade-enter-from[data-v-ee565a5b]{opacity:0;transform:translateY(4px)}.fade-leave-to[data-v-ee565a5b]{opacity:0}.photo-grid-enter-active[data-v-ee565a5b]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.photo-grid-leave-active[data-v-ee565a5b]{transition:all .2s}.photo-grid-enter-from[data-v-ee565a5b],.photo-grid-leave-to[data-v-ee565a5b]{opacity:0;transform:scale(.8)}:root{--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-display:"Bitter", Georgia, "Times New Roman", serif;--green:#2d6a4f;--green-light:#40916c;--green-bg:#f0f5f1;--orange:#e76f51;--orange-bg:#fef3f0;--blue:#457b9d;--ink:#2c3e2d;--ink-light:#5a6e5c;--paper:#fdfbf7;--paper-warm:#faf5ed;--paper-ruled:#e8dfd2;--paper-ruled-light:#f0ebe3;--gray-50:#f8f6f2;--gray-100:#f3f1ed;--gray-200:#e5e3df;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-900:#111827;--radius:10px;--shadow:0 1px 3px #0000000f;--stage-sown-bg:#eef2ff;--stage-sown:#2563eb;--stage-sprouted-bg:#ecfdf5;--stage-sprouted:#059669;--stage-repiquage-bg:#fffbeb;--stage-repiquage:#d97706;--stage-done-bg:var(--paper-ruled-light);--stage-done:var(--ink-light);--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.5}#app{min-height:100vh}nav.main-nav{background:var(--green);color:#fff;z-index:100;align-items:center;gap:32px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}nav.main-nav .brand{font-family:var(--font-display);font-size:var(--text-xl);color:#fff;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}nav.main-nav .nav-links{align-items:center;gap:32px;display:flex}nav.main-nav .nav-links a{color:#fffc;font-size:var(--text-base);border-bottom:2px solid #0000;padding:4px 0;text-decoration:none;transition:all .2s}nav.main-nav .nav-links a:hover,nav.main-nav .nav-links a.router-link-active{color:#fff;border-bottom-color:#fff}.page{max-width:780px;margin:0 auto;padding:24px 16px}.page-narrow{max-width:640px}.page h1{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink);margin-bottom:20px;font-weight:700}.page h2{font-family:var(--font-display);font-weight:600}.back-link{color:var(--ink-light);flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.back-chevron{margin-top:-1px;font-size:18px;line-height:1}.back-link:hover{color:var(--green)}.btn{border-radius:var(--radius);border:1.5px solid var(--paper-ruled);color:var(--ink);font-size:var(--text-base);cursor:pointer;font-weight:500;font-family:var(--font-body);background:#fff;align-items:center;gap:6px;padding:8px 16px;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{background:var(--paper-warm);border-color:var(--ink-light)}.btn:active{background:var(--paper-ruled-light);transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn-primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:600;position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:.12;background:#fff;width:28px;height:28px;position:absolute;bottom:-3px;right:-6px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.9C15.5 4.9 17 3.5 19 2c1 2 2 4.5 2 8 0 5.5-3.8 10-10 10z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain}.btn-primary:hover{background:var(--green-light);border-color:var(--green-light)}.btn-primary:active{background:#245a42;border-color:#245a42;transform:scale(.97)}.btn-sm{font-size:var(--text-sm);min-height:36px;padding:6px 12px}.btn-sm:before{display:none}.btn-danger{color:var(--orange);border-color:var(--orange)}.btn-danger:hover{background:var(--orange-bg)}.btn-danger:active{background:#fde8e3;transform:scale(.97)}.card{border:1px solid var(--paper-ruled-light);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:16px}.form-group{margin-bottom:22px}.form-group label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--ink-light);margin-bottom:6px;font-weight:600;transition:color .2s;display:block}.form-group:focus-within label{color:var(--green)}.form-group input,.form-group select,.form-group textarea{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;font-size:15px;font-family:var(--font-body);color:var(--ink);-webkit-appearance:none;background:0 0;border-radius:0;padding:10px 4px;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#c8bfb0;font-style:italic}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom-color:var(--green);outline:none;box-shadow:0 2px #2d6a4f1a}.form-group select{appearance:none;cursor:pointer;accent-color:var(--green);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235a6e5c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;padding-right:24px}.form-group select option{color:var(--ink);background:#fff;padding:8px 4px}.form-group select option:checked{background:var(--green-bg);color:var(--green)}.form-group textarea{background-image:repeating-linear-gradient(transparent, transparent 31px, var(--paper-ruled) 31px, var(--paper-ruled) 32px);resize:vertical;background-position:0 10px;border:none;border-radius:0;min-height:126px;padding:10px 4px;line-height:32px}.form-group textarea:focus{box-shadow:none;border:none}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.variety-form{background:var(--paper-warm);border:1px solid var(--paper-ruled-light);border-radius:12px;margin:24px 0 8px;padding:20px}@media (width<=600px){.form-row{grid-template-columns:1fr}.form-row-3{grid-template-columns:1fr 1fr}.variety-form{padding:10px}}.form-group .checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-group .checkbox-label input[type=checkbox]{appearance:none;border:1.5px solid var(--paper-ruled);cursor:pointer;background:#fff;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:border-color .15s,background .15s;position:relative}.form-group .checkbox-label input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}.form-group .checkbox-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.stage-badge{font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1.2px;border-radius:4px;padding:3px 10px;font-weight:600;display:inline-block}.stage-sown{background:var(--stage-sown-bg);color:var(--stage-sown)}.stage-sprouted{background:var(--stage-sprouted-bg);color:var(--stage-sprouted)}.stage-repiquage{background:var(--stage-repiquage-bg);color:var(--stage-repiquage)}.stage-done{background:var(--stage-done-bg);color:var(--stage-done)}.stage-icon-sown{color:var(--stage-sown)}.stage-icon-sprouted{color:var(--stage-sprouted)}.stage-icon-repiquage{color:var(--stage-repiquage)}.stage-icon-done{color:var(--stage-done)}.stage-list{border-left:2px solid var(--paper-ruled);margin-left:6px;padding-left:18px}.stage-list-sown{border-left-color:#2563eb33}.stage-list-sprouted{border-left-color:#05966933}.stage-list-repiquage{border-left-color:#d9770633}.stage-list-done{border-left-color:var(--paper-ruled)}.sowing-code{background:var(--paper-warm);min-width:22px;height:18px;color:var(--ink-light);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.overdue{color:var(--orange);font-weight:500}.sowing-row{border-bottom:1px solid var(--paper-ruled-light);cursor:pointer;align-items:flex-start;gap:14px;padding:16px 0;transition:background .1s;display:flex}.sowing-row:last-child{border-bottom:none}.sowing-row:hover{background:#faf5ed80;border-radius:6px;margin:0 -8px;padding-left:8px;padding-right:8px}.sowing-info{flex:1;min-width:0}.sowing-name{color:var(--ink);margin-bottom:3px;font-size:15px;font-weight:600}.sowing-meta{color:var(--ink-light);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.sowing-meta-overdue{color:var(--orange);font-weight:600}.sowing-chevron{width:14px;height:14px;color:var(--ink-light);opacity:.4;flex-shrink:0;margin-top:4px;transition:transform .2s}.sowing-row-expanded .sowing-chevron{opacity:.7;transform:rotate(180deg)}.sowing-detail{border-bottom:1px solid var(--paper-ruled-light);padding:16px 0 8px;animation:.2s ease-out detail-reveal}@keyframes detail-reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-actions-row{border-top:1px solid var(--paper-ruled-light);justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:16px;display:flex}.variety-list{margin-bottom:80px}.variety-item{border-bottom:1px solid var(--paper-ruled-light);cursor:pointer;padding:16px 0;transition:background .1s}.variety-item:hover{background:#faf5ed80;border-radius:6px;margin:0 -12px;padding-left:12px;padding-right:12px}.variety-item:last-child{border-bottom:none}.variety-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.variety-photo{object-fit:cover;background:var(--paper-warm);border:1.5px solid var(--paper-ruled-light);cursor:pointer;border-radius:50%;flex-shrink:0;width:36px;height:36px;transition:border-color .15s,transform .15s}.variety-photo:hover{border-color:var(--green);transform:scale(1.1)}.variety-name{color:var(--ink);margin-bottom:2px;font-size:15px;font-weight:600}.variety-scientific{color:var(--ink-light);margin-bottom:6px;font-size:12px;font-style:italic}.variety-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.variety-stats{color:var(--ink-light);font-size:12px}.variety-chevron{width:14px;height:14px;color:var(--ink-light);opacity:.4;flex-shrink:0;margin-top:4px;transition:transform .2s}.variety-item.expanded .variety-chevron{opacity:.7;transform:rotate(180deg)}.category-tag{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.category-tag-vegetable{color:#059669;background:#ecfdf5}.category-tag-fruit{color:#e76f51;background:#fff1f0}.category-tag-flower{color:#db2777;background:#fce7f3}.category-tag-herb{color:#d97706;background:#fef3c7}.category-tag-tree{color:#5a7a4a;background:#f0f5ed}.variety-detail{padding:16px 0 4px;animation:.2s ease-out detail-reveal}.detail-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.detail-group-label{text-transform:uppercase;letter-spacing:1px;color:var(--ink-light);grid-column:1/-1;margin-bottom:8px;font-size:10px;font-weight:600}.detail-pills{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.detail-pill{background:var(--paper-warm);color:var(--ink);border:1px solid var(--paper-ruled-light);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.detail-actions{border-top:1px solid var(--paper-ruled-light);justify-content:space-between;align-items:center;gap:8px;padding-top:16px;display:flex}.detail-actions-right{gap:8px;margin-left:auto;display:flex}.detail-btn{border:1.5px solid var(--paper-ruled);color:var(--ink);font-size:13px;font-weight:500;font-family:var(--font-body);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;transition:all .15s;display:inline-flex}.detail-btn:hover{background:var(--paper-warm);border-color:var(--ink-light)}.detail-btn.danger{color:var(--orange);border-color:var(--orange)}.detail-btn.danger:hover{background:#fef3f0}.detail-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.detail-chip{background:var(--paper-warm);border:1px solid var(--paper-ruled);font-size:var(--text-xs);color:var(--ink);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;line-height:1.4;display:inline-flex}.detail-chip-label{color:var(--ink-light);font-size:11px}.detail-chip-warn{border-color:var(--orange);color:var(--orange);background:var(--orange-bg)}.chip-light{color:#92710a;background:#fef9e7;border-color:#f0d960}.chip-dark{color:#e0e0e0;background:#2d2d2d;border-color:#2d2d2d}.detail-row-text{align-items:baseline}.detail-row-value{color:var(--ink);font-size:13px;line-height:1.5}.detail-row-group{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.detail-row-group .detail-chips{margin-bottom:0}.detail-row-group:has(.photo-strip){align-items:center}.detail-row-label{color:var(--ink-light);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;min-width:96px;font-size:11px;font-weight:600}@media (width<=640px){.detail-row-group{flex-direction:column;align-items:stretch;gap:2px}.detail-row-label{min-width:auto;color:var(--ink-light);letter-spacing:.5px;font-size:10px;font-weight:500}}.detail-attachments{flex-wrap:wrap;gap:10px;display:flex}.detail-attachment{color:inherit;text-decoration:none;position:relative}.detail-attachment-img{object-fit:cover;border:1px solid var(--paper-ruled);border-radius:8px;width:80px;height:80px;transition:border-color .15s}.detail-attachment-img:hover{border-color:var(--green)}.detail-attachment-file{background:var(--paper-warm);border:1px solid var(--paper-ruled);color:var(--ink-light);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:border-color .15s;display:flex}.detail-attachment-file:hover{border-color:var(--green);color:var(--green)}.detail-attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.edit-attachments{flex-direction:column;gap:4px;display:flex}.edit-attachment-item{align-items:center;gap:6px;font-size:13px;display:flex}.edit-attachment-link{color:var(--ink);align-items:center;gap:6px;text-decoration:none;display:flex}.edit-attachment-link:hover{color:var(--green)}.edit-attachment-thumb{object-fit:cover;border-radius:3px;width:20px;height:20px}.edit-attachment-add{color:var(--ink-light);cursor:pointer;margin-top:2px;font-size:12px}.edit-attachment-add:hover{color:var(--green)}.event-timeline{flex-direction:column;gap:0;display:flex;position:relative}.event-item{align-items:center;gap:8px;padding:5px 0;font-size:13px;line-height:1;display:flex;position:relative}.event-icon{text-align:center;height:20px;color:var(--ink-light);background:var(--paper);border:2px solid var(--paper-ruled);z-index:1;border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;display:flex;position:relative}.event-item:before{content:"";background:var(--paper-ruled);width:2px;position:absolute;top:0;bottom:0;left:10px}.event-item:first-child:before{top:50%}.event-item:last-child:before{bottom:50%}.event-text{color:var(--ink);flex:auto}.event-date{color:var(--ink-light);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;padding-left:16px;font-size:12px}.event-delete-slot{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.event-delete{color:var(--ink-light);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:15px;line-height:1}.event-delete:hover{color:var(--red,#e63946);background:#e6394614}.undo-toast{background:var(--gray-900,#1a1a2e);color:#fff;z-index:1200;cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:12px 20px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.undo-toast-btn{color:var(--blue,#457b9d);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.toast-enter-active{transition:all .3s}.toast-leave-active{transition:all .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(20px)}.detail-section{border-top:1px solid var(--paper-ruled-light);margin-top:4px;padding-top:12px}.history-toggle{cursor:pointer;color:var(--ink-light);background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;display:inline-flex}.history-toggle:hover{color:var(--ink)}.history-toggle-count{color:var(--ink-light);font-size:12px}.history-toggle-chevron{color:var(--ink-light);transition:transform .15s}.history-toggle-chevron-open{transform:rotate(180deg)}.detail-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.detail-delete{color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.detail-delete:hover{color:var(--orange)}.text-muted{color:var(--ink-light)!important}.show-mobile-only{display:none}.filter-toggles{flex-direction:column;gap:6px;display:flex}.filter-toggle{width:100%;color:var(--ink-light);cursor:pointer;border:1px dashed var(--paper-ruled);border-radius:var(--radius);text-align:center;background:0 0;padding:10px 12px;font-size:13px;transition:all .15s;display:block}.filter-toggle:hover{border-color:var(--ink-light);color:var(--ink)}.stage-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.stage-header-clickable:hover{opacity:.8}.stage-chevron{color:var(--ink-light);flex-shrink:0;margin-left:auto;transition:transform .2s;transform:rotate(180deg)}.stage-chevron-collapsed{transform:rotate(0)}.variety-tag{border:1px solid #0000;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-block}.tag-toggles{flex-wrap:wrap;gap:6px;display:flex}.tag-toggle{cursor:pointer;border:1.5px solid var(--paper-ruled);color:var(--ink-light);background:#fff;border-radius:16px;align-items:center;gap:4px;min-height:36px;padding:8px 12px;font-size:12px;transition:all .15s;display:inline-flex}.tag-toggle:hover{border-color:var(--ink-light)}.tag-toggle.active{color:var(--green);border-color:var(--green);background:var(--green-bg);font-weight:600}.tag-toggle input[type=checkbox]{display:none}.stage-group{align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.stage-illustration{opacity:.4;flex-shrink:0;justify-content:center;width:88px;margin-top:36px;transition:opacity .4s;display:flex}.stage-illustration-collapsed{opacity:0;height:0;margin-top:0;overflow:hidden}.stage-illustration-active{opacity:1;animation:.7s ease-out illu-glow}@keyframes illu-glow{0%{opacity:.4}25%{opacity:1}to{opacity:1}}.stage-group-content{flex:1;min-width:0}.stage-group h2{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);align-items:center;gap:8px;margin-bottom:8px;font-weight:600;display:flex}.stage-count{color:var(--ink-light);font-size:12px;font-weight:500}.loading-state{text-align:center;color:var(--ink-light);padding:48px 16px}.loading-spinner{border:3px solid var(--paper-ruled);border-top-color:var(--green);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin:0;font-size:14px}.empty-state{text-align:center;color:var(--ink-light);padding:48px 16px}.empty-state-illustration{color:var(--green-light);opacity:.6;margin:0 auto 20px;display:block}.empty-state p{margin-bottom:16px;font-size:16px}.empty-features{flex-direction:column;gap:16px;max-width:280px;margin-top:40px;margin-left:auto;margin-right:auto;display:flex}.empty-feature{color:var(--ink-light);text-align:left;align-items:center;gap:12px;font-size:13px;display:flex}.empty-feature svg{color:var(--green-light);flex-shrink:0}.typeahead{position:relative}.typeahead input{border:none;border-bottom:1.5px solid var(--paper-ruled);width:100%;font-size:15px;font-family:var(--font-body);color:var(--ink);-webkit-appearance:none;background:0 0;border-radius:0;padding:9px 4px;transition:border-color .2s,box-shadow .2s}.typeahead input::placeholder{color:#c8bfb0;font-style:italic}.typeahead input:focus{border-bottom-color:var(--green);outline:none;box-shadow:0 2px #2d6a4f1a}.typeahead-search .typeahead-icon{color:var(--ink-light);pointer-events:none;transition:color .2s;position:absolute;bottom:11px;left:4px}.typeahead-search:focus-within .typeahead-icon{color:var(--green)}.typeahead-search input{padding-left:26px}.typeahead-list{border:1px solid var(--paper-ruled);z-index:10;background:#fff;border-radius:8px;max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #00000014}.typeahead-item{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .1s;display:flex}.typeahead-item>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.typeahead-item+.typeahead-item{border-top:1px solid var(--paper-ruled-light)}.typeahead-item:hover{background:var(--paper-warm)}.typeahead-cat{color:var(--ink-light);flex-shrink:0;font-size:11px;font-style:italic}.typeahead-item.create-new{color:var(--green);background:#2d6a4f08;font-weight:500}.actions{align-items:center;gap:8px;display:flex}@media print{nav.main-nav,.no-print{display:none!important}body{color:#000;background:#fff}.print-grid{grid-template-columns:repeat(var(--label-cols,2), var(--label-w,80mm));gap:var(--label-gap-y,0mm) var(--label-gap-x,4mm);padding:var(--sheet-margin-top,10mm) var(--sheet-margin-left,15mm);justify-content:center;margin:0;display:grid}.print-card{width:var(--label-w,80mm);height:var(--label-h,50mm);page-break-inside:avoid;color:#000;box-shadow:none;border:none;border-radius:0;padding:2.5mm 3mm;font-size:9pt;display:block;overflow:hidden}.print-card *{color:#000!important}.print-card .card-corner{float:right;text-align:center;margin-bottom:2.5mm;margin-left:2.5mm}.print-card .card-qr{width:16mm;height:16mm;display:block}.print-card .card-code-only{font-size:14pt;font-weight:700;color:#333!important}.print-card .card-code{letter-spacing:.5pt;font-size:7pt;font-weight:600;color:#666!important}.print-card .card-name{font-size:11pt;font-weight:700;line-height:1.2}.print-card .card-scientific{margin-top:.3mm;font-size:7pt;font-style:italic;color:#777!important}.print-card .card-meta{margin-top:.5mm;font-size:7.5pt;color:#555!important}.print-card .card-sep:before{content:" · "}.print-card .card-divider{border:none;border-top:.3pt solid #ccc;margin:1.5mm 0 0}.print-card .card-details{padding-top:1mm}.print-card .card-detail{font-size:8pt;line-height:1.3}.print-card .card-detail-muted{font-size:7.5pt;color:#666!important}.print-card-compact .card-name{font-size:10pt}.print-card-compact .card-meta{font-size:7pt}.print-card-compact .card-qr{width:13mm;height:13mm}.print-card-compact .card-detail{font-size:7.5pt}.print-card-compact .card-detail-muted{font-size:7pt}}.print-grid-preview{grid-template-columns:repeat(auto-fill, var(--preview-col-width,260px));gap:16px;display:grid}.print-card-preview{width:100%;aspect-ratio:var(--label-ratio,1.6);border:1px solid var(--paper-ruled-light);border-left:3px solid var(--green);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:12px 12px 12px 14px;font-size:12px;display:block;overflow:hidden}.print-card-preview .card-corner{float:right;text-align:center;margin-bottom:10px;margin-left:12px}.print-card-preview .card-qr{border-radius:4px;width:68px;height:68px;display:block}.print-card-preview .card-code{color:var(--ink-light);opacity:.7;letter-spacing:.5px;margin-top:2px;font-size:10px;font-weight:600}.print-card-preview .card-name{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:700;line-height:1.25}.print-card-preview .card-scientific{color:var(--ink-light);opacity:.7;margin-top:1px;font-size:10px;font-style:italic}.print-card-preview .card-meta{color:var(--ink-light);margin-top:3px;font-size:11px}.print-card-preview .card-sep:before{content:" · "}.print-card-preview .card-divider{border:none;border-top:1px solid var(--paper-ruled-light);margin:8px 0 0}.print-card-preview .card-details{padding-top:8px}.print-card-preview .card-detail{color:var(--ink-light);font-size:11px;line-height:1.5}.print-card-preview .card-detail-muted{color:var(--ink-light);opacity:.7;font-size:10px}.print-card-preview .card-code-only{float:right;color:var(--ink-light);margin-left:8px;font-size:18px;font-weight:700}.print-card-preview.print-card-compact .card-name{font-size:14px}.print-card-preview.print-card-compact .card-meta{font-size:10px}.print-card-preview.print-card-compact .card-qr{width:52px;height:52px}.print-card-preview.print-card-compact .card-detail{font-size:10px}.ai-suggested{border:1.5px dashed var(--blue);border-radius:var(--radius);background:#457b9d0a;padding:6px 8px 8px;position:relative}.ai-badge{color:var(--blue);align-items:center;gap:4px;margin-bottom:2px;font-size:11px;display:inline-flex}.ai-actions{gap:2px;margin-left:6px;display:inline-flex}.ai-actions button{border:1px solid var(--paper-ruled);cursor:pointer;color:var(--ink-light);background:0 0;border-radius:4px;padding:0 5px;font-size:11px;line-height:18px}.ai-actions button:hover{background:var(--paper-warm)}.ai-actions .accept:hover{color:var(--green);border-color:var(--green)}.ai-actions .dismiss:hover{color:var(--orange);border-color:var(--orange)}.ai-banner{border-radius:var(--radius);color:var(--blue);background:#457b9d14;border:1px solid #457b9d40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.ai-banner .ai-actions{gap:6px}.ai-banner .ai-actions button{padding:2px 10px;font-size:12px}.section-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1.5px;color:var(--green);align-items:center;gap:10px;margin-bottom:20px;font-size:12px;font-weight:600;display:flex}.section-heading:after{content:"";background:linear-gradient(to right, var(--paper-ruled), transparent);flex:1;height:1px}.form-section{border:none;border-radius:0;margin-bottom:8px}.form-section-header{cursor:pointer;border-bottom:1px solid var(--paper-ruled);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:10px;padding:12px 0;transition:border-color .2s;display:flex}.form-section-header:hover{border-bottom-color:var(--green)}.form-section-header .tab-title{font-family:var(--font-display);color:var(--ink);font-size:15px;font-weight:600}.form-section-header .tab-optional{color:var(--ink-light);margin-left:2px;font-size:12px;font-style:italic;font-weight:400}.form-section-header .tab-chevron{color:var(--ink-light);flex-shrink:0;margin-left:auto;transition:transform .25s}.form-section-header.open .tab-chevron{transform:rotate(180deg)}.form-section-header .chevron{color:var(--ink-light);font-size:12px;transition:transform .2s}.form-section-header .chevron.open{transform:rotate(90deg)}.form-section-header .section-summary{color:var(--ink-light);font-size:12px;font-style:italic;font-weight:400}.form-section-body{background:0 0;border-top:none;padding:4px 4px 18px;animation:.2s ease-out detail-reveal}.fab{background:var(--green);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .25s,opacity .25s,box-shadow .15s;display:none;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 12px #0003,0 1px 3px #0000001a}.fab:active{transform:scale(.92);box-shadow:0 2px 8px #0003}.fab-hidden{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}.edit-actions-sticky{gap:8px;margin-top:4px;display:flex}.detail-delete-btn{color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:13px;transition:color .15s}.detail-delete-btn:hover,.detail-delete-btn:active{color:var(--orange);background:0 0}.new-sowing-columns{gap:0;display:grid}@media (width>=601px){.new-sowing-columns{grid-template-columns:1fr 1fr;gap:0 32px}}.notebook-top{padding:12px 0;position:relative}.notebook-top:after{content:"";opacity:.07;background:var(--green);pointer-events:none;width:56px;height:56px;position:absolute;top:12px;right:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 20h10M10 20c5.5-2.5.8-6.4 3-10M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8zM14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 20h10M10 20c5.5-2.5.8-6.4 3-10M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8zM14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.notebook-top .back-link{margin-bottom:2px}.page-title{font-family:var(--font-display);color:var(--ink);margin-bottom:0;font-size:22px;font-weight:700;line-height:1.1}.page-date{color:var(--ink-light);margin-top:1px;font-size:12px;font-style:italic}.ruled-line{background:var(--paper-ruled);height:1px}.form-body{padding:16px 0 20px}.variety-selected-card{background:var(--green-bg);border-radius:var(--radius);border:1px solid #2d6a4f1a;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.variety-selected-info{flex:1;min-width:0}.variety-selected-name{color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.variety-selected-meta{color:var(--ink-light);flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.variety-selected-meta span+span:before{content:"·";color:var(--paper-ruled);margin-right:8px}.variety-selected-change{color:var(--green);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;transition:background .15s}.variety-selected-change:hover{background:#2d6a4f14}.variety-new-banner{background:var(--green-bg);border-radius:var(--radius);border:1px solid #2d6a4f1a;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;display:flex}.variety-new-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px}.variety-new-name{color:var(--green);flex:1;font-size:13px;font-weight:500}.variety-new-cancel{color:var(--ink-light);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-body);background:0 0;border:none;padding:4px 8px}.variety-form-title{font-family:var(--font-display);color:var(--green);margin-bottom:16px;font-size:13px;font-weight:600}.bottom-bar{bottom:var(--tab-bar-height,0px);background:var(--paper);border-top:1.5px solid var(--paper-ruled);z-index:50;gap:10px;padding:14px 20px;display:flex;position:fixed;left:0;right:0}.bottom-bar .btn{flex:none}.bottom-bar .btn-primary{flex:1;justify-content:center}.page:has(.bottom-bar){padding-bottom:80px}@media (width>=601px){.bottom-bar{background:0 0;border-top:none;justify-content:flex-end;padding:24px 0 0;position:static}.bottom-bar .btn-primary{flex:none}.page:has(.bottom-bar){padding-bottom:0}.variety-list{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.variety-item.expanded{grid-column:span 1}.detail-grid{grid-template-columns:1fr 1fr 1fr}}@media (width<=600px){:root{--tab-bar-height:calc(56px + env(safe-area-inset-bottom,0px))}.page{padding:12px 8px calc(var(--tab-bar-height,56px) + 12px);padding-bottom:140px}.page h1{margin-bottom:12px;font-size:20px}.fab.show-mobile-only{bottom:calc(var(--tab-bar-height,56px) + 16px);display:flex}.edit-actions-sticky{background:var(--paper-warm);border-top:1px solid var(--paper-ruled);z-index:10;margin:8px -12px 0;padding:12px;position:sticky;bottom:0}nav.main-nav{display:none}.undo-toast{bottom:calc(var(--tab-bar-height,56px) + 16px)}.page-header{flex-direction:column;gap:8px;align-items:stretch!important}.page-header .actions{flex-wrap:wrap}.card{padding:4px 0}.card-form{padding:16px}.stage-group{margin-bottom:28px;display:block}.stage-illustration{display:none}.stage-group h2{margin-bottom:8px}.hide-mobile{display:none}.show-mobile-only{display:inline}div.show-mobile-only{display:flex}.actions{flex-wrap:wrap}.scan-bar{text-align:center;flex-direction:column;align-items:stretch!important}.scan-bar .btn{justify-content:center}.form-section-body{padding:4px 4px 14px}.form-row{gap:10px}.form-group{margin-bottom:16px}.form-group label{font-size:11px}.print-grid-preview{grid-template-columns:1fr}}
