@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#20332b;--color-ink-soft:#476155;--color-muted:#809287;--color-leaf:#357451;--color-leaf-hover:#286343;--color-leaf-soft:#e5f1e6;--color-leaf-border:#cfe0d2;--color-canvas:#f6f7f2;--color-surface:#fff;--color-border:#dce5dc;--color-danger:#ae443d;--color-danger-soft:#fce2e0;--color-warning:#a4732f;--color-warning-soft:#fff0d9;--color-success:#307a45;--color-success-soft:#e2f1e5;--radius-control:9px;--radius-card:14px;--radius-dialog:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--focus-ring:0 0 0 3px #3574512e}.primary-button,.secondary-button,.ghost-button,.danger-button,.filter-control,.sort-control,.search,.view-button,.sort-direction{border-radius:var(--radius-control);min-height:38px}.primary-button{background:var(--color-leaf)}.secondary-button{color:var(--color-leaf);background:var(--color-leaf-soft);border-color:var(--color-leaf-border)}.toolbar select:focus-visible,.toolbar button:focus-visible,.search:focus-within{box-shadow:var(--focus-ring);outline:none}.filter-control,.sort-control{border-color:var(--color-border)}.filter-control,.sort-control,.sort-direction{height:34px;min-height:34px}.filter-control,.sort-control{border-color:var(--color-leaf-border);border-radius:10px}.toolbar select:focus-visible,.toolbar button:focus-visible{box-shadow:none;outline:none}.filter-control select,.sort-control select{appearance:none;box-shadow:none;outline:none}.toolbar select option{color:var(--color-ink-soft);background:var(--color-surface)}.toolbar select option:checked{color:#fff;background:var(--color-leaf)}.sort-direction{border:0;border-left:1px solid var(--color-leaf-border);color:var(--color-leaf);border-radius:0}.api-error{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-soft);border-radius:var(--radius-control);color:var(--color-danger);background:#fff;font-size:13px}:root{color:#20332b;font-synthesis:none;background:#f6f7f2;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 85% 0,#e4f0e6 0,#0000 32rem),#f6f7f2;min-height:100vh}.topbar{background:#ffffff8c;border-bottom:1px solid #e1e7e0;justify-content:space-between;align-items:center;height:74px;padding:0 clamp(20px,5vw,76px);display:flex}.brand{letter-spacing:-.04em;color:#1f3d31;align-items:center;gap:10px;font-size:19px;font-weight:700;display:flex}.brand-mark{color:#fff;background:#40805d;border-radius:10px;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.top-actions{align-items:center;gap:14px;display:flex}.icon-button,.more-button,.view-button,.edit-button,.close-x{color:#577064;background:0 0;border:0}.icon-button{font-size:24px;position:relative}.notification-dot{background:#e99b43;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:0}.avatar{color:#fff;background:#9a7560;border:0;border-radius:50%;width:34px;height:34px;font-weight:700}.page{width:min(1080px,100% - 40px);margin:0 auto;padding:58px 0 80px}.page-heading{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}h1,h2,p{margin:0}.eyebrow{color:#799084;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.page h1{letter-spacing:-.06em;margin-top:7px;font-family:Playfair Display,serif;font-size:clamp(38px,6vw,64px);line-height:1}.primary-button{color:#fff;background:#357451;border:0;border-radius:11px;padding:12px 17px;font-weight:700;box-shadow:0 8px 20px #3574512e}.primary-button:hover{background:#286343}.toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.search{color:#84a092;background:#fff;border:1px solid #dce5dc;border-radius:10px;align-items:center;gap:10px;width:min(320px,100%);padding:10px 14px;display:flex}.search input{color:#20332b;background:0 0;border:0;outline:0;width:100%}.toolbar-right{align-items:center;gap:7px;display:flex}.toolbar select{color:#577064;background:#fff;border:1px solid #dce5dc;border-radius:10px;padding:10px 12px}.view-button{border-radius:9px;width:38px;height:38px;font-size:20px}.view-button.active{color:#357451;background:#dfede2}.status-legend{color:#789083;gap:20px;padding:22px 0 15px;font-size:12px;display:flex}.status-legend span{align-items:center;gap:7px;display:flex}.dot{background:currentColor;border-radius:50%;width:9px;height:9px;display:inline-block}.dot.green,.status-pill.watered .dot{color:#50ab67;background:#50ab67}.dot.amber,.status-pill.due .dot{color:#edae47;background:#edae47}.dot.red,.status-pill.dry .dot{color:#e75d52;background:#e75d52}.plant-list{gap:11px;display:grid}.plant-list.grid{grid-template-columns:repeat(3,1fr);gap:16px}.plant-list.grid .plant-card{padding:0;display:block;overflow:hidden}.plant-list.grid .plant-photo{border-radius:0;height:170px}.plant-list.grid .plant-main{padding:18px}.plant-list.grid .plant-title{display:block}.plant-list.grid .status-pill{margin-top:14px;display:inline-flex}.plant-list.grid .plant-meta{grid-template-columns:1fr;display:grid}.plant-list.grid .more-button{position:absolute;top:185px;right:15px}.plant-card{background:#ffffffc7;border:1px solid #e0e8e0;border-radius:14px;align-items:stretch;min-height:148px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.plant-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #294c3914}.plant-photo{background:linear-gradient(145deg,#d5e8da,#edf2e6);flex:0 0 148px;place-items:center;font-size:64px;display:grid}.plant-main{flex:1;padding:20px 24px}.plant-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.plant-title h2{letter-spacing:-.02em;font-size:17px}.plant-title p{color:#809287;margin-top:4px;font-size:13px}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.watered{color:#307a45;background:#e2f1e5}.status-pill.due{color:#a4732f;background:#fff0d9}.status-pill.dry{color:#ae443d;background:#fce2e0}.plant-meta{color:#8a9b91;flex-wrap:wrap;gap:22px;margin-top:28px;font-size:12px;display:flex}.plant-meta strong{color:#476155;font-weight:600}.more-button{align-self:start;padding:18px;font-size:22px}.empty-state{text-align:center;color:#91a197;border:1px dashed #cfdcd0;border-radius:14px;padding:80px 20px}.empty-state span{font-size:28px}.empty-state h2{color:#476155;margin:12px 0 5px;font-size:18px}.empty-state p{font-size:13px}.overlay{z-index:4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14281c45;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.drawer,.notifications{background:#fcfdf9;width:min(470px,100%);height:100%;padding:30px clamp(24px,5vw,46px);animation:.2s ease-out slide-in;overflow-y:auto;box-shadow:-15px 0 40px #14281c1a}.close-button{color:#678075;background:0 0;border:0;padding:0;font-size:13px}.detail-photo{background:linear-gradient(145deg,#d5e8da,#eef3e8);border-radius:14px;place-items:center;height:240px;margin:25px 0;font-size:96px;display:grid}.detail-heading{justify-content:space-between;align-items:start;display:flex}.detail-heading h2{letter-spacing:-.04em;margin:7px 0 4px;font-family:Playfair Display,serif;font-size:31px}.detail-heading p:last-child{color:#809287}.edit-button{background:#e9f0e8;border-radius:9px;width:34px;height:34px;font-size:18px}.detail-status{color:#94a39a;align-items:center;gap:12px;margin:20px 0 28px;font-size:12px;display:flex}.detail-grid{border-top:1px solid #e2e9e1;border-bottom:1px solid #e2e9e1;gap:17px;padding:22px 0;display:grid}.detail-grid div{justify-content:space-between;gap:18px;display:flex}.detail-grid dt{color:#88988e;font-size:12px}.detail-grid dd{color:#3b5748;text-align:right;margin:0;font-size:13px;font-weight:600}.note-field{color:#82958a;gap:8px;margin-top:24px;font-size:12px;font-weight:700;display:grid}.note-field textarea,.modal input,.modal select{color:#3b5748;resize:vertical;background:#fff;border:1px solid #dbe5dc;border-radius:9px;outline-color:#71a580;width:100%;padding:11px}.note-field textarea{min-height:68px}.detail-actions,.modal-actions{gap:10px;margin-top:24px;display:flex}.secondary-button,.ghost-button{color:#31734b;background:#e5f1e6;border:1px solid #cfe0d2;border-radius:10px;padding:11px 14px;font-weight:700}.ghost-button{color:#6f8378;background:0 0;border-color:#dbe5dc}.modal{background:#fcfdf9;border-radius:16px;width:min(430px,100% - 40px);max-height:calc(100vh - 40px);padding:34px;animation:.2s ease-out rise-in;position:relative;overflow:hidden;box-shadow:0 25px 70px #14281c2b}.modal h2{margin:8px 0;font-family:Playfair Display,serif;font-size:32px}.modal-copy{color:#809287;margin-bottom:24px;font-size:13px}.modal label{color:#6e8176;gap:7px;margin-top:15px;font-size:12px;font-weight:700;display:grid}.close-x{font-size:25px;position:absolute;top:17px;right:20px}.modal-actions{justify-content:flex-end}.notifications{width:min(430px,100%)}.notifications-heading{justify-content:space-between;align-items:start;margin-bottom:28px;display:flex}.notifications-heading h2{margin-top:8px;font-family:Playfair Display,serif;font-size:31px}.notification-item{border-bottom:1px solid #e4eae3;gap:13px;padding:16px 0;display:flex}.notification-icon{border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-weight:700;display:grid}.notification-icon.amber{color:#aa772e;background:#fff0d9}.notification-icon.green{color:#36794b;background:#e2f1e5}.notification-item strong{color:#3b5748;font-size:13px;display:block}.notification-item p{color:#839389;margin:4px 0;font-size:12px;line-height:1.45}.notification-item small{color:#b0bbb3;font-size:11px}.calendar-picker{position:relative}.calendar-trigger{color:#8b9a90;text-align:left;background:#fff;border:1px solid #dbe5dc;border-radius:9px;align-items:center;gap:10px;width:100%;padding:11px;display:flex}.calendar-trigger.has-value{color:#3b5748}.calendar-trigger b{margin-left:auto;font-size:15px}.calendar-popover{z-index:5;background:#fff;border:1px solid #dbe5dc;border-radius:13px;padding:14px;position:absolute;top:calc(100% + 7px);left:0;right:0;box-shadow:0 16px 35px #21402d29}.calendar-header{color:#3b5748;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-header button{color:#50765d;background:#edf4ec;border:0;border-radius:8px;width:28px;height:28px;font-size:19px}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-weekdays{color:#a0aea5;margin-bottom:4px;font-size:10px;font-weight:700}.calendar-grid button,.calendar-grid span{color:#50675a;background:0 0;border:0;border-radius:8px;place-items:center;height:30px;font-size:12px;display:grid}.calendar-grid button:hover{background:#edf4ec}.calendar-grid button.selected{color:#fff;background:#357451;font-weight:700}.calendar-today{color:#357451;background:0 0;border:0;border-top:1px solid #edf0eb;width:100%;margin-top:9px;padding-top:10px;font-size:12px;font-weight:700}@keyframes slide-in{0%{opacity:.4;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes rise-in{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal{overflow:hidden auto}.calendar-popover{top:auto;bottom:calc(100% + 7px)}.plant-photo img,.detail-photo img,.avatar-preview img{object-fit:cover;width:100%;height:100%}.avatar-picker{background:#fff;border:1px solid #dbe5dc;border-radius:11px;align-items:center;gap:14px;padding:12px;display:flex}.avatar-preview{background:linear-gradient(145deg,#d5e8da,#edf2e6);border-radius:12px;flex:0 0 60px;place-items:center;width:60px;height:60px;font-size:31px;display:grid;overflow:hidden}.avatar-options{flex:1;min-width:0}.avatar-presets{flex-wrap:wrap;gap:4px;display:flex}.avatar-presets button{background:0 0;border:1px solid #0000;border-radius:8px;width:29px;height:29px;padding:0;font-size:18px}.avatar-presets button:hover,.avatar-presets button.selected{background:#edf5ed;border-color:#9fc5a7}.avatar-sources{gap:7px;margin-top:8px;display:flex}.avatar-source{cursor:pointer;background:#f8fbf7;border:1px solid #dbe5dc;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;color:#527060!important;margin:0!important;font-size:11px!important;display:inline-flex!important}.avatar-source input{display:none}.modal-field{color:#6e8176;gap:7px;margin-top:15px;font-size:12px;font-weight:700;display:grid}.modal>h2{display:none}.view-button[aria-label=Grid\ view]:after{content:"⊞";font-size:22px}.sort-direction{color:#577064;background:#fff;border:1px solid #dce5dc;border-radius:9px;width:38px;height:38px;font-size:20px}.view-button{color:#577064;background:#fff;border:1px solid #dce5dc}.search>span{font-size:21px;line-height:1}.status-legend{justify-content:flex-end;display:none}.plant-list{margin-top:22px}.search{height:38px;padding-top:8px;padding-bottom:8px}.view-button{color:#245f3a;background:#d5e9d8;border-color:#6f9f78}.view-button.active{color:#fff;background:#357451;border-color:#357451}.toolbar select{padding:8px 10px;font-size:12px}.sort-direction{width:34px;height:34px;padding:7px 8px;font-size:17px}.sort-control{align-items:center;display:flex}.sort-control select{border-right:0;border-radius:9px 0 0 9px}.sort-control .sort-direction{border-radius:0 9px 9px 0}.sort-control,.sort-control select,.sort-control .sort-direction{height:34px}.sort-control select{padding-top:0;padding-bottom:0}.toolbar-right>select,.sort-control{width:132px}.filter-control{color:#577064;background:#fff;border:1px solid #dce5dc;border-radius:9px;align-items:center;width:132px;height:34px;display:flex;overflow:hidden}.filter-control .filter-symbol{color:#4d7e5a;padding-left:9px;font-size:13px}.filter-control select{background:0 0;border:0;width:100%}.filter-control select:focus,.filter-control select:focus-visible{box-shadow:none;outline:none}.plant-menu{z-index:3;background:#fff;border:1px solid #dce5dc;border-radius:10px;min-width:112px;padding:5px;display:grid;position:absolute;top:48px;right:12px;box-shadow:0 10px 24px #21402d24}.plant-menu button{color:#476155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:12px}.plant-menu button:hover{background:#edf4ec}.plant-menu button.danger{color:#b14e47}.plant-menu button{justify-content:space-between;align-items:center;gap:14px;width:100%;display:flex}.menu-symbol{flex:0 0 18px;width:18px;height:18px;margin-left:auto;display:block;overflow:visible}.menu-symbol.pen{transform:none}.filter-control,.sort-control{box-sizing:border-box;border:1px solid var(--color-leaf-border);background:var(--color-surface);border-radius:10px;height:34px;min-height:34px;position:relative}.filter-control{width:132px;overflow:hidden}.sort-control{align-items:stretch;width:132px;display:flex;overflow:hidden}.filter-control select,.sort-control select{height:100%;box-shadow:none;color:var(--color-ink-soft);appearance:none;background:0 0;border:0;border-radius:0;outline:none;padding:0 28px 0 10px;font-size:12px}.filter-control select{width:100%}.sort-control select{flex:1;min-width:0}.filter-control:after,.sort-control:after{border-right:1.5px solid var(--color-ink-soft);border-bottom:1.5px solid var(--color-ink-soft);content:"";pointer-events:none;width:6px;height:6px;position:absolute;top:11px;right:11px;transform:rotate(45deg)}.sort-control:after{right:44px}.sort-control .sort-direction{border:0;border-left:1px solid var(--color-leaf-border);width:34px;height:100%;min-height:0;color:var(--color-leaf);background:0 0;border-radius:0;flex:0 0 34px;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.filter-control:hover,.sort-control:hover{border-color:var(--color-leaf)}.filter-control:focus-within,.sort-control:focus-within{border-color:var(--color-leaf);box-shadow:var(--focus-ring)}.filter-control select:focus-visible,.sort-control select:focus-visible,.sort-control .sort-direction:focus-visible{box-shadow:none;outline:none}.edit-button{place-items:center;font-size:0;display:grid}.edit-button .edit-pencil{color:#40805d;width:18px;height:18px;display:block}.confirm-modal{background:#fcfdf9;border:1px solid #e0e8e0;border-radius:16px;width:min(390px,100% - 40px);padding:30px;box-shadow:0 25px 70px #14281c2b}.confirm-modal h2{margin:8px 0 10px;font-family:Playfair Display,serif;font-size:28px}.confirm-modal p:not(.eyebrow){color:#809287;font-size:13px;line-height:1.5}.danger-button{color:#a74740;background:#fce6e3;border:1px solid #e7b5b0;border-radius:10px;padding:11px 14px;font-weight:700}.close-button{align-items:center;gap:6px;font-size:12px;display:inline-flex}.back-symbol{font-size:27px;line-height:.6}.icon-button{color:#355f45;filter:grayscale(.35);font-size:23px}.modal textarea{color:#3b5748;resize:vertical;background:#fff;border:1px solid #dbe5dc;border-radius:9px;outline-color:#71a580;width:100%;min-height:68px;padding:11px}.plant-photo svg{color:#477d5b;width:76px;height:76px}.detail-photo svg{color:#477d5b;width:130px;height:130px}.avatar-presets button svg{color:#477d5b;width:24px;height:24px}.sketch-avatar{background-image:url(/plant-sketches.png);background-position-y:0;background-repeat:no-repeat;background-size:485px 110px;width:86px;height:86px;display:block}.sketch-monstera{background-position-x:-2px}.sketch-cactus{background-position-x:-68px}.sketch-pothos{background-position-x:-127px}.sketch-aloe{background-position-x:-190px}.sketch-bloom{background-position-x:-290px}.sketch-branch{background-position-x:-340px}.sketch-snake{background-position-x:-389px}.avatar-presets button .sketch-avatar{background-size:139px 32px;width:25px;height:25px}.avatar-presets button .sketch-monstera{background-position-x:0}.avatar-presets button .sketch-cactus{background-position-x:-19px}.avatar-presets button .sketch-pothos{background-position-x:-36px}.avatar-presets button .sketch-aloe{background-position-x:-54px}.avatar-presets button .sketch-bloom{background-position-x:-83px}.avatar-presets button .sketch-branch{background-position-x:-97px}.avatar-presets button .sketch-snake{background-position-x:-112px}@media (width<=680px){.page{width:min(100% - 28px,540px);padding-top:38px}.page-heading{flex-direction:column;align-items:start;gap:20px}.toolbar{flex-direction:column;align-items:stretch}.search{width:100%}.toolbar-right{justify-content:space-between}.status-legend{flex-wrap:wrap;gap:10px 15px}.plant-list.grid{grid-template-columns:1fr}.plant-card{min-height:118px}.plant-photo{flex-basis:100px}.plant-photo span{font-size:45px}.plant-main{padding:16px}.plant-title{display:block}.status-pill{margin-top:10px}.plant-meta{gap:6px;margin-top:17px;display:grid}.more-button{padding:12px}}.auth-shell{min-height:100vh}.auth-wrap{place-items:center;min-height:calc(100vh - 74px);padding:40px 20px;display:grid}.auth-card{background:#ffffffde;border:1px solid #e0e8e0;border-radius:20px;width:min(440px,100%);padding:clamp(28px,6vw,46px);position:relative;box-shadow:0 20px 60px #294c3914}.auth-plant{color:#3f805b;background:#e6f0e6;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:24px;font-size:27px;display:grid}.auth-card h1{color:#20392d;letter-spacing:-.04em;margin-top:9px;font-family:Playfair Display,serif;font-size:clamp(30px,6vw,39px);line-height:1.1}.auth-copy{color:#809287;margin:10px 0 25px;font-size:14px;line-height:1.6}.auth-card form{gap:15px;display:grid}.auth-card label,.account-modal label{color:#6e8176;gap:7px;font-size:12px;font-weight:700;display:grid}.auth-card input,.account-modal input{color:#3b5748;background:#fff;border:1px solid #dbe5dc;border-radius:9px;outline-color:#71a580;width:100%;padding:12px}.auth-card input:focus,.account-modal input:focus{border-color:#88b191;box-shadow:0 0 0 3px #51875c1f}.auth-submit{width:100%;min-height:45px;margin-top:7px}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-switch{color:#809287;text-align:center;border-top:1px solid #e7ece6;margin-top:23px;padding-top:20px;font-size:13px}.text-button{color:#357451;font-size:inherit;background:0 0;border:0;padding:0;font-weight:700}.text-button:hover{color:#214f34;text-decoration:underline}.forgot-link{margin:14px auto 0;font-size:12px;display:block}.auth-back{margin:18px auto 0;font-size:12px;display:block}.auth-error,.auth-message{border-radius:9px;margin-top:13px;padding:10px 12px;font-size:12px;line-height:1.5}.auth-error{color:#a74740;background:#fce9e6}.auth-message{color:#357451;background:#e6f2e7}.auth-loading{color:#73877b;justify-content:center;align-items:center;gap:12px;min-height:100vh;font-size:13px;display:flex}.account-menu-wrap{position:relative}.account-button,.profile-initial{color:#fff;background:#357451;border:1px solid #cbdcca;border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.account-button{box-shadow:0 3px 9px #3574512b}.account-button:hover{background:#286343}.account-menu{z-index:5;background:#fff;border:1px solid #dce5dc;border-radius:12px;width:215px;padding:9px;display:grid;position:absolute;top:46px;right:0;box-shadow:0 12px 30px #21402d26}.account-menu-name{color:#294638;padding:7px 8px 2px;font-size:13px;font-weight:700}.account-menu-email{color:#8a9b91;text-overflow:ellipsis;padding:0 8px 9px;font-size:11px;overflow:hidden}.account-menu button{color:#476155;text-align:left;background:0 0;border:0;border-radius:7px;padding:9px 8px;font-size:12px}.account-menu button:hover{background:#edf4ec}.account-menu button.account-signout{color:#a74740;border-top:1px solid #edf0eb;border-radius:0 0 7px 7px;margin-top:4px}.centered-overlay{justify-content:center;align-items:center;padding:20px;overflow-y:auto}.account-modal{width:min(480px,100%);max-height:calc(100vh - 40px);padding:30px;overflow-y:auto}.account-modal h2{margin:8px 0;font-family:Playfair Display,serif;font-size:29px}.profile-status{background:#f8faf6;border:1px solid #e2e9e1;border-radius:11px;align-items:center;gap:12px;margin:18px 0 22px;padding:13px;display:flex}.profile-initial{flex:0 0 36px}.profile-status strong,.profile-status small{display:block}.profile-status strong{color:#476155;font-size:12px}.profile-status small{color:#91a197;margin-top:3px;font-size:11px}.account-subform{border-top:1px solid #e6ece5;margin-top:20px;padding-top:18px}.account-section-title{color:#476155;margin-bottom:12px;font-size:13px;font-weight:700}.account-modal .modal-actions{margin-top:13px}.account-modal .modal-actions button{min-height:38px}.settings-modal{width:min(400px,100%)}.settings-note{color:#70877a;background:#f6faf4;border:1px solid #e0e8e0;border-radius:12px;align-items:center;gap:13px;padding:16px;font-size:13px;line-height:1.5;display:flex}.settings-note span{color:#3f805b;font-size:23px}@media (width<=520px){.auth-wrap{padding:24px 14px}.auth-card{border-radius:15px}.account-modal{padding:25px 20px}.top-actions{gap:10px}}.auth-prototype-note{color:#829287;text-align:center;margin:16px 0 0;font-size:11px;line-height:1.55}.password-requirements{color:#9c514b;background:#f8faf6;border:1px solid #e2e9e1;border-radius:10px;gap:6px;margin:-5px 0 0;padding:12px 13px;font-size:11px;list-style:none;display:grid}.password-requirements li{align-items:center;gap:8px;line-height:1.35;display:flex}.password-requirements li>span{text-align:center;width:13px;font-weight:800}.password-requirements li.is-met{color:#357451}.password-requirements li.is-missing{color:#b95149}.password-requirements li.requirements-summary{color:#74877b;border-top:1px solid #e2e9e1;margin-top:3px;padding-top:8px;font-weight:700}.password-requirements li.requirements-summary.is-met{color:#357451}.password-requirements li.requirements-summary.is-missing{color:#b95149}.notification-overlay{z-index:5}.plant-detail-over-notifications{z-index:6;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.plant-detail-over-notifications .drawer{pointer-events:auto;margin-right:min(430px,100%)}.notification-bell{position:relative}.notification-count{color:#8a9b91;margin-top:5px;font-size:12px}.notification-toolbar{border-bottom:1px solid #e4eae3;justify-content:space-between;gap:12px;margin:-12px 0 14px;padding-bottom:14px;display:flex}.notification-toolbar button{color:#357451;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:700}.notification-toolbar button.notification-clear{color:#a74740}.notification-list{display:grid}.notification-item{align-items:stretch;gap:8px;padding:12px 0}.notification-item.is-unread{background:linear-gradient(90deg,#e2f1e573,#0000)}.notification-open{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:13px;padding:4px;display:flex}.notification-open:hover .notification-copy strong{color:#357451}.notification-icon{overflow:hidden}.notification-icon .plant-avatar{place-items:center;width:100%;height:100%;font-size:19px;display:grid}.notification-icon img{object-fit:cover;width:100%;height:100%}.notification-copy{gap:4px;min-width:0;display:grid}.notification-copy strong{color:#3b5748;font-size:13px}.notification-copy>span{color:#839389;font-size:12px}.notification-copy small{color:#91a197;font-size:10px}.notification-item.is-read .notification-copy strong{color:#6f8177;font-weight:600}.notification-unread-dot{background:#4b8c5c;border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-left:auto}.notification-delete{color:#829287;cursor:pointer;background:#fff;border:1px solid #e3e9e2;border-radius:8px;flex:0 0 32px;align-self:center;width:32px;height:32px;font-size:19px}.notification-delete:hover{color:#a74740;background:#fff7f6;border-color:#e7b5b0}.notifications-empty{color:#829287;text-align:center;justify-items:center;gap:10px;padding:68px 20px;display:grid}.notifications-empty>span{color:#5f956b;font-size:30px}.notifications-empty strong{color:#476155;font-size:14px}.notifications-empty p{max-width:260px;margin:0;font-size:12px;line-height:1.55}@media (width<=760px){.plant-detail-over-notifications .drawer{margin-right:0}}.overdue-toast{z-index:12;color:#795719;background:#fffaf0;border:1px solid #ead8a7;border-radius:13px;align-items:center;gap:12px;width:min(360px,100vw - 36px);padding:14px;animation:.2s ease-out rise-in;display:flex;position:fixed;top:88px;right:max(22px,50vw - 540px);box-shadow:0 14px 36px #44371a29}.overdue-toast-icon{color:#fff;background:#d79d35;border-radius:50%;flex:0 0 30px;place-items:center;height:30px;font-weight:800;display:grid}.overdue-toast strong{font-size:13px;display:block}.overdue-toast p{color:#937842;margin-top:3px;font-size:12px}.overdue-toast>button{color:#9c8759;background:0 0;border:0;align-self:flex-start;margin-left:auto;padding:0 2px;font-size:21px;line-height:1}.snooze-button{color:#936a22;background:#fff4d8;border-color:#ead8a7}.snooze-button:hover,.snooze-button.is-snoozed{color:#795719;background:#f7e7b8;border-color:#dfc47e}.detail-actions>button{white-space:nowrap;flex:1 1 0;justify-content:center;align-items:center;gap:7px;min-width:0;height:44px;padding:10px 8px;display:inline-flex}.detail-actions .snooze-clock{font-size:19px;line-height:1}.snooze-modal{position:relative}.snooze-modal>p:not(.eyebrow){color:#809287;margin:10px 0 20px;font-size:13px;line-height:1.5}.snooze-tomorrow{color:#795719;text-align:left;background:#fff4d8;border:1px solid #ead8a7;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:19px;padding:12px 14px;font-weight:700;display:flex}.snooze-tomorrow:hover{background:#f7e7b8}.snooze-modal form{border-top:1px solid #e7ece6;padding-top:17px}.snooze-modal form label{color:#6e8176;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.snooze-custom{align-items:center;gap:9px;display:flex}.snooze-custom input{color:#3b5748;width:82px;min-height:42px;font:inherit;background:#fff;border:1px solid #dbe5dc;border-radius:9px;padding:8px 10px}.snooze-custom>span{color:#809287;flex:1;font-size:13px}.snooze-custom .primary-button{white-space:nowrap}.snooze-cancel{margin:15px 0 0 auto;display:block}.auth-password-control{display:block;position:relative}.auth-password-control input{padding-right:62px!important}.password-visibility{color:#547363;cursor:pointer;background:#f2f6f0;border:0;border-radius:6px;place-items:center;width:32px;height:30px;padding:5px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-visibility svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.password-visibility:hover{color:#285f3f;background:#e5efe3}.password-visibility:focus-visible{outline-offset:2px;outline:2px solid #71a580}.filter-control:focus-within,.sort-control:focus-within{box-shadow:none}.sort-control{border:0;border:1px solid var(--color-leaf-border);background:0 0;background:var(--color-surface);border-radius:10px;height:34px;position:relative;overflow:visible}.select-menu{z-index:4;width:132px;height:34px;position:relative}.sort-control .select-menu{flex:auto;width:98px}.sort-control .select-menu-trigger{box-sizing:border-box;border:0;border-radius:9px 0 0 9px;height:32px}:is(.sort-control:has(.select-menu-trigger:hover),.sort-control:has(.select-menu.is-open)){border-color:var(--color-leaf)}.select-menu-trigger{border:1px solid var(--color-leaf-border);width:100%;height:34px;color:var(--color-ink-soft);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;font-size:12px;display:flex}.select-menu-trigger:hover,.select-menu.is-open .select-menu-trigger{border-color:var(--color-leaf)}.select-menu-trigger:focus-visible{box-shadow:0 0 0 2px var(--color-leaf-soft);outline:none}.select-menu-chevron{border-right:1.5px solid var(--color-ink-soft);border-bottom:1.5px solid var(--color-ink-soft);flex:0 0 6px;width:6px;height:6px;transform:rotate(45deg)translateY(-2px)}.select-menu-options{z-index:10;box-sizing:border-box;border:1px solid var(--color-leaf-border);background:var(--color-surface);border-radius:11px;gap:2px;width:132px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 10px 24px #21402d24}.sort-control .select-menu-options{width:132px}.select-menu-options button{width:100%;min-height:29px;color:var(--color-ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 9px;font-size:12px}.select-menu-options button:hover,.select-menu-options button:focus-visible{color:var(--color-leaf-hover);background:var(--color-leaf-soft);outline:none}.select-menu-options button.is-selected{color:var(--color-leaf-hover);background:#e8f2e7;font-weight:700}.sort-control .sort-direction{z-index:1;box-sizing:border-box;border:0;border-left:1px solid var(--color-leaf-border);border-radius:0 9px 9px 0;flex:0 0 34px;align-self:stretch;place-items:center;height:32px;min-height:0;padding:0;font-family:Arial,sans-serif;font-size:18px;line-height:1;display:grid;position:relative}.toolbar-right{flex:1;justify-content:space-between;gap:12px;min-width:0}.filter-sort-controls,.view-toggle-group{align-items:center;gap:7px;display:flex}.brand-mark svg{width:19px;height:19px;display:block}.notification-bell{width:38px;height:38px;color:var(--color-leaf);filter:none;place-items:center;padding:0;display:grid}.bell-icon{width:23px;height:23px;display:block}.notification-dot{box-shadow:none;background:#e9ad45}.view-button{flex:0 0 38px;place-items:center;padding:0;display:grid}.view-button svg{width:18px;height:18px;display:block}.view-button[aria-label=Grid\ view]{font-size:inherit}.view-button[aria-label=Grid\ view]:after{content:none}@media (width<=680px){.topbar{height:64px;padding-inline:16px}.brand{gap:8px;font-size:18px}.top-actions{gap:9px}.page{width:calc(100% - 28px);padding-top:30px}.page-heading{flex-direction:row;align-items:end;gap:12px;margin-bottom:20px}.page h1{font-size:42px}.page-heading>.primary-button{flex:none;padding:10px 12px;font-size:12px}.toolbar{gap:10px}.toolbar-right{flex:none;justify-content:space-between;gap:6px;width:100%}.filter-sort-controls,.view-toggle-group{gap:6px}.filter-sort-controls>.select-menu,.sort-control{flex:0 0 112px;width:112px}.sort-control .select-menu{width:78px}.sort-control .sort-direction{flex-basis:32px}.select-menu-options,.sort-control .select-menu-options{width:112px}.view-button{border-radius:9px;flex-basis:34px;width:34px;height:34px}.view-button svg{width:16px;height:16px}.plant-list.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plant-list.grid .plant-card{border-radius:12px;min-width:0}.plant-list.grid .plant-photo{height:clamp(72px,23vw,94px);display:grid}.plant-list.grid .plant-photo svg{width:54px;height:54px}.plant-list.grid .plant-main{padding:10px}.plant-list.grid .plant-title{padding-right:18px}.plant-list.grid .plant-title h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.plant-list.grid .plant-title p{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.plant-list.grid .status-pill{white-space:normal;gap:5px;max-width:100%;margin-top:8px;padding:5px 7px;font-size:9px}.plant-list.grid .status-pill .dot{flex:0 0 7px;width:7px;height:7px}.plant-list.grid .plant-meta{gap:5px;margin-top:10px;font-size:10px;line-height:1.3}.plant-list.grid .plant-meta span{overflow-wrap:anywhere}.plant-list.grid .more-button{padding:5px;font-size:18px;top:calc(clamp(72px,23vw,94px) + 1px);right:3px}.plant-list.grid .plant-menu{top:calc(clamp(72px,23vw,94px) + 32px);right:5px}.view-button{box-sizing:border-box;flex:0 0 34px;width:34px;height:34px;min-height:34px}.plant-list:not(.grid){gap:8px}.plant-list:not(.grid) .plant-card{min-height:102px;overflow:visible}.plant-list:not(.grid) .plant-card:has(.plant-menu){z-index:20}.plant-list:not(.grid) .plant-photo{border-radius:13px 0 0 13px;flex:0 0 76px;font-size:42px;overflow:hidden}.plant-list:not(.grid) .plant-photo svg{width:54px;height:54px}.plant-list:not(.grid) .plant-main{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4px 9px;min-width:0;padding:9px 34px 9px 11px;display:grid}.plant-list:not(.grid) .plant-title,.plant-list:not(.grid) .plant-title>div{display:contents}.plant-list:not(.grid) .plant-title h2{letter-spacing:-.02em;white-space:nowrap;grid-area:1/1/auto/-1;min-width:0;font-size:13px;overflow:visible}.plant-list:not(.grid) .plant-title p{text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;min-width:0;margin:0;font-size:10px;overflow:hidden}.plant-list:not(.grid) .status-pill{white-space:nowrap;grid-area:3/1;justify-self:start;gap:4px;max-width:100%;margin-top:0;padding:4px 6px;font-size:8px;position:static}.plant-list:not(.grid) .status-pill .dot{width:7px;height:7px}.plant-list:not(.grid) .plant-meta{border-top:0;border-left:1px solid #edf1eb;grid-area:2/2/4;grid-template-columns:minmax(0,1fr);align-content:center;align-self:stretch;gap:4px;min-width:0;margin:0;padding:0 0 0 8px;font-size:9px;line-height:1.35;display:grid}.plant-list:not(.grid) .plant-meta span{overflow-wrap:anywhere;min-width:0}.plant-list:not(.grid) .plant-meta span:nth-child(3){grid-column:1/-1}.plant-list:not(.grid) .plant-meta strong{color:var(--color-ink-soft)}.plant-list:not(.grid) .more-button{align-self:auto;padding:5px;font-size:20px;position:absolute;top:2px;right:5px;transform:none}.plant-list:not(.grid) .plant-menu{z-index:30;top:50%;right:40px;transform:translateY(-50%)}}@media (width<=360px){.toolbar-right,.filter-sort-controls{gap:4px}.filter-sort-controls>.select-menu,.sort-control{flex-basis:102px;width:102px}.sort-control .select-menu{width:68px}.select-menu-options,.sort-control .select-menu-options{width:102px}.view-button{flex-basis:32px;width:32px}.plant-list.grid{gap:8px}.plant-list.grid .plant-main{padding:8px}.plant-list:not(.grid) .plant-photo{flex-basis:68px}.plant-list:not(.grid) .plant-main{gap:6px;padding-left:8px}.plant-list:not(.grid) .plant-meta{gap:5px;font-size:8.5px}}@media (width<=520px){.profile-overlay{padding:0;display:block;overflow:hidden auto}.profile-modal{width:100%;min-height:100dvh;max-height:none;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;margin:0;animation:none;overflow:visible}.profile-form{gap:14px;display:grid}.profile-form .account-subform{margin-top:2px}.profile-form .profile-actions{margin:4px -20px calc(-24px - env(safe-area-inset-bottom));padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fcfdf9;position:sticky;bottom:0}.profile-form .profile-actions button{width:100%}}
