:root{color:#172019;background:#f6f7f2;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a,button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #286847}.page{width:min(100% - 2rem,70rem);margin:0 auto;padding:2rem 0}.landing-hero{align-content:center;gap:1.5rem;min-height:100svh;display:grid}.landing-hero__eyebrow{color:#286847;margin:0;font-weight:700}.landing-hero__title{max-width:14ch;margin:0;font-size:calc(clamp(2.5rem,8vw,5rem));line-height:1.05}.landing-hero__description{max-width:38rem;margin:0;font-size:1.125rem}.auth-form__actions,.landing-hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{color:#fff;background:#286847;border:1px solid #286847;border-radius:.75rem;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button--secondary{color:#286847;background:0 0}.app-shell{min-height:100svh}.skip-link{z-index:2;color:#fff;background:#172019;border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell__content{width:min(100% - 2rem,70rem);min-height:100svh;padding:2rem 0 calc(5.5rem + env(safe-area-inset-bottom));margin:0 auto}.app-navigation{z-index:1;background:#fff;display:grid;position:fixed;box-shadow:0 -1px 10px #1720191f}.app-navigation--bottom{padding-bottom:max(.75rem,env(safe-area-inset-bottom));grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0}.app-navigation__link{color:#172019;text-align:center;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.app-navigation__link.router-link-active{color:#286847}.placeholder-page{max-width:42rem}.task-card__content,.today-board,.today-board__status,.today-page{gap:1rem;display:grid}.history-page__header,.today-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.task-card h3,.today-board h2,.today-board p,.today-page h1,.today-page__header h1{margin:0}.today-board__status{justify-items:start}.today-board__grid{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.today-board__empty,.today-board__heading{grid-column:1/-1}.today-board__heading:not(:first-child){margin-top:1rem}.today-board__empty{color:#637065}.task-card{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;min-width:0}.task-card h3:focus,.task-card--highlight{outline-offset:3px;outline:3px solid #286847}.task-card__photo,.task-card__placeholder{aspect-ratio:2;border-radius:.75rem .75rem 0 0;width:100%}.task-card__photo{-o-object-fit:cover;object-fit:cover;display:block}.task-card__placeholder{background:#edf1e8;place-items:center;font-size:3rem;display:grid}.task-card__content{overflow-wrap:anywhere;padding:1rem}.task-card h3 a{color:inherit}@media (width>=1000px){.today-board__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1400px){.today-board__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.plants-page{gap:1.5rem;display:grid}.plants-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.history-list__empty,.history-list__item p,.history-page__header h1,.history-page__header p,.history-page__stale,.history-page__timezone,.plants-empty p,.plants-page__failure p,.plants-page__header h1{margin:0}.plants-page__actions{flex-wrap:wrap;gap:.75rem;display:flex}.history-list,.history-page{gap:1rem;display:grid}.history-page{max-width:52rem}.history-page__header>div{gap:.35rem;display:grid}.history-list__summary span,.history-page__header p,.history-page__stale,.history-page__timezone{color:#637065}.history-list__empty,.history-page__failure,.history-page__status{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;padding:1.5rem}.history-page__failure{gap:1rem;display:grid}.history-page__failure p{color:#a72f2f;margin:0}.history-list__items{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.history-list__item{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;gap:.5rem;padding:1rem;display:grid}.history-list__summary{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.history-list__item p,.history-list__item time{color:#637065;font-size:.9375rem}.plants-empty,.plants-page__failure{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;gap:1rem;max-width:32rem;padding:1.5rem;display:grid}.photo-manager__failure,.photo-manager__warning,.plant-detail-page__state p,.plants-page__failure p{color:#a72f2f}.plant-create-page{max-width:42rem}.plant-edit-page{gap:1.5rem;max-width:42rem;display:grid}.plant-edit-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.plant-delete h2,.plant-delete p,.plant-edit-page__header h1,.plant-edit-page__photo h2{margin:0}.plant-delete,.plant-edit-page__danger,.plant-edit-page__photo{gap:1rem;display:grid}.plant-edit-page__danger,.plant-edit-page__photo{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;padding:1.5rem}.plant-edit-page__danger{border-color:#d08b8b}.plant-create-page h1{margin:0 0 1.5rem}.plant-detail,.plant-detail-page{gap:1.5rem;display:grid}.plant-detail-page__state,.plant-detail__section{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;gap:.75rem;padding:1.5rem;display:grid}.care-schedule-card h2,.care-schedule-card p,.confirm-dialog h2,.confirm-dialog p,.photo-manager__failure,.photo-manager__warning,.plant-detail-page__state p,.plant-detail__header h1,.plant-detail__section h2,.plant-detail__section p,.schedule-form fieldset{margin:0}.plant-detail__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.plant-detail__section--photo{padding:0;overflow:hidden}.care-schedule-card,.confirm-dialog,.schedule-form,.schedule-form fieldset{gap:.75rem;display:grid}.schedule-form fieldset{border:0;padding:0}.schedule-form label{gap:.35rem;display:grid}.schedule-form input{min-height:44px}.care-schedule-card__actions,.confirm-dialog__actions,.schedule-form__actions{flex-wrap:wrap;gap:.75rem;display:flex}.confirm-dialog__backdrop{z-index:10;background:#17201980;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:.75rem;width:min(100%,32rem);padding:1.5rem}.care-task-actions,.postpone-dialog__form{gap:.75rem;display:grid}.care-task-actions__buttons{flex-wrap:wrap;gap:.75rem;display:flex}.care-task-actions button,.postpone-dialog button{min-width:44px;min-height:44px}.postpone-dialog{max-height:calc(100svh - 2rem);overflow-y:auto}.postpone-dialog input{border:1px solid #637065;border-radius:.5rem;width:100%;min-width:0;min-height:44px;padding:.75rem}.postpone-dialog input[aria-invalid=true]{border-color:#a72f2f}.postpone-dialog input[readonly]{background:#f1f4ef}.photo-manager{gap:1rem;display:grid}.plant-detail__photo,.plant-detail__photo-placeholder{aspect-ratio:4/3;width:100%;min-height:18rem}.plant-detail__photo{-o-object-fit:cover;object-fit:cover;display:block}.plant-detail__photo-placeholder{background:#edf1e8;place-items:center;font-size:5rem;display:grid}.photo-manager__failure,.photo-manager__input,.photo-manager__remove,.photo-manager__warning{margin:0 1.5rem}.photo-field,.photo-manager__input,.plant-form,.plant-form__field{gap:.5rem;display:grid}.photo-manager__input input{min-height:44px}.plant-detail__skeleton{background:linear-gradient(110deg,#edf1e8 8%,#f6f7f2 18%,#edf1e8 33%) 0 0/200% 100%;border-radius:.75rem;min-height:28rem;animation:1.2s linear infinite plant-skeleton}.plant-form{gap:1rem}.plant-form input,.plant-form textarea{background:#fff;border:1px solid #637065;border-radius:.5rem;width:100%;min-height:44px;padding:.75rem}.plant-form textarea{resize:vertical;min-height:8rem}.plant-form input[aria-invalid=true],.plant-form textarea[aria-invalid=true]{border-color:#a72f2f}.plant-form__actions{display:flex}.photo-field__preview{gap:.75rem;display:grid}.photo-field__preview img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:.5rem;width:min(100%,24rem)}.plant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.plant-tile{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;min-width:0;overflow:hidden}.plant-tile__link{min-height:44px;color:inherit;text-decoration:none;display:grid}.plant-tile__photo,.plant-tile__placeholder{aspect-ratio:4/3;width:100%}.plant-tile__photo{-o-object-fit:cover;object-fit:cover;display:block}.plant-tile__placeholder{background:#edf1e8;place-items:center;font-size:3rem;display:grid}.plant-tile__content{gap:.25rem;padding:.75rem;display:grid}.plant-tile__name{overflow-wrap:anywhere;font-weight:700}.plant-tile__location{color:#637065}.plant-tile__urgency{font-weight:700}.plant-tile__urgency--overdue{color:#a72f2f}.plant-tile__urgency--today{color:#a45c00}.plant-tile__urgency--upcoming{color:#286847}.plant-tile__urgency--none{color:#637065}.plant-grid--skeleton{pointer-events:none}.plant-tile--skeleton{background:linear-gradient(110deg,#edf1e8 8%,#f6f7f2 18%,#edf1e8 33%) 0 0/200% 100%;border:0;min-height:13rem;animation:1.2s linear infinite plant-skeleton}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes plant-skeleton{to{background-position-x:-200%}}.settings-page{max-width:42rem}.profile-section__email,.settings-page__description,.settings-page__failure,.settings-page__status{margin:0}.settings-page__failure{gap:1rem;margin-top:1.5rem;display:grid}.settings-page__failure p{color:#a72f2f;margin:0}.profile-section{background:#fff;border:1px solid #d4dbd2;border-radius:.75rem;gap:1rem;margin-top:2rem;padding:1.5rem;display:grid}.profile-section h2{margin:0}.profile-section--danger{border-color:#d08b8b}.profile-section__email{gap:.25rem;display:grid}.profile-timezone-form{gap:1rem;display:grid}.profile-timezone-form select{background:#fff;border:1px solid #637065;border-radius:.5rem;min-height:44px;padding:.75rem}.profile-timezone-form select[aria-invalid=true]{border-color:#a72f2f}.profile-timezone-form__description{color:#637065;margin:-.5rem 0 0}.profile-account-form{max-width:none}.profile-account-form__checkbox{align-items:flex-start;gap:.75rem;display:flex}.profile-account-form__checkbox input{flex:none;width:1.25rem;height:1.25rem;margin:.1rem 0 0}.profile-danger-button{background:#a72f2f;border-color:#a72f2f}button:disabled{cursor:not-allowed;opacity:.6}.auth-page{align-content:center;min-height:100svh;display:grid}.auth-form{gap:1rem;max-width:28rem;display:grid}.auth-page__content{width:min(100%,28rem)}.auth-page__navigation{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.auth-form__field{gap:.5rem;display:grid}.auth-form input{border:1px solid #637065;border-radius:.5rem;min-height:44px;padding:.75rem}.auth-form input[aria-invalid=true]{border-color:#a72f2f}.field-error,.form-failure{color:#a72f2f;margin:0}.form-success{color:#286847;margin:0}.push-prompt__actions,.push-settings__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.push-prompt{background:#f4fbf6;border:1px solid #286847;border-radius:.75rem;margin-top:1.5rem;padding:1rem}.push-prompt h2,.push-prompt p{margin-top:0}.verification-email{overflow-wrap:anywhere;font-weight:700}.verification-actions{gap:1rem;margin-top:1.5rem;display:grid}.update-prompt{z-index:3;right:1rem;bottom:calc(5.5rem + env(safe-area-inset-bottom));color:#172019;background:#fff;border:1px solid #286847;border-radius:.75rem;max-width:32rem;margin:0 auto;padding:1rem;position:fixed;left:1rem;box-shadow:0 8px 24px #1720192e}.update-prompt__message{margin:0}.update-prompt__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.update-prompt__dismiss{color:#286847;background:#fff;border:1px solid #286847;border-radius:.75rem;min-width:44px;min-height:44px;padding:.75rem 1rem;font-weight:700}@media (width>=768px){.plant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell__content{width:min(100% - 18rem,70rem);margin-left:16rem;padding-bottom:2rem}.app-navigation--bottom,.app-navigation--rail{grid-template-columns:1fr;align-content:center;width:14rem;padding:1rem;inset:0 auto 0 0;box-shadow:1px 0 10px #1720191f}.app-navigation__link{justify-content:flex-start}.update-prompt{margin:0;bottom:1.5rem;left:auto;right:1.5rem}}@media (width>=1100px){.plant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.install-dialog[data-v-6f2a2527]{color:#112019;background:#f7f8f4;border:1px solid #637065;border-radius:1rem;width:calc(min(28rem,100vw - 2rem));max-height:calc(100dvh - 2rem);padding:1.5rem;overflow-y:auto;box-shadow:0 1rem 3rem #00000040}.install-dialog[data-v-6f2a2527]::backdrop{background:#0000008c}.install-dialog h2[data-v-6f2a2527]{margin-top:0}.install-dialog p[data-v-6f2a2527]{line-height:1.5}.install-dialog__actions[data-v-6f2a2527]{gap:.75rem;margin-top:1.25rem;display:grid}
