:root{color-scheme:light;--bg: #f6f7f3;--panel: #ffffff;--soft: #edf2ea;--text: #1f2a22;--muted: #667167;--line: #d9dfd5;--accent: #2f7a59;--accent-2: #396d92;--warn: #986b21;--danger: #a34343;--shadow: 0 12px 32px rgba(31, 42, 34, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,label.button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(47,122,89,.25);outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--line)}.brand h1{margin:0;font-size:1.35rem}.brand p{margin:.2rem 0 0;color:var(--muted)}.actions,.row,.tabs,.toolbar{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}button,.button{border:1px solid transparent;border-radius:8px;padding:.62rem .82rem;background:var(--panel);color:var(--text);font-weight:700;text-decoration:none}.primary{background:var(--accent);color:#fff}.secondary{border-color:var(--line)}.danger{color:var(--danger);border-color:#e8c3c3}.link{border:0;color:var(--accent-2);background:transparent;padding:.25rem}.icon{width:2.35rem;height:2.35rem;padding:0}.auth{width:min(480px,calc(100vw - 2rem));margin:14vh auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.25rem;box-shadow:var(--shadow)}.auth h1{margin:0 0 .4rem}.auth p,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 73px)}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:1rem;display:grid;align-content:start;gap:.85rem}.sidebar input{width:100%}.list-heading-row{display:flex;align-items:end;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.list-heading-row h2{margin:0;font-size:1.1rem}.sort-control{display:flex;align-items:center;gap:.4rem;min-width:0;font-size:.82rem;color:var(--muted)}.sort-control select{width:auto;max-width:100%;padding:.48rem 1.8rem .48rem .55rem}.nav-list{display:grid;gap:.35rem;max-height:calc(100vh - 260px);overflow:auto}.nav-item{display:grid;grid-template-columns:44px 1fr;gap:.7rem;align-items:center;text-align:left;border:1px solid transparent;background:transparent}.nav-item:hover{background:var(--soft);border-color:var(--line)}.nav-item.selected{background:var(--soft);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.badge{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent);font-weight:800}.nav-item strong,.nav-item small{display:block}.nav-item small{color:var(--muted);margin-top:.12rem}.species-list-row,.species-list-copy,.plant-list-copy{min-width:0}.species-list-copy strong,.species-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.species-avatar{text-transform:none;letter-spacing:-.02em}.scientific-name{font-family:Georgia,Times New Roman,serif;font-weight:inherit}.taxon-suffix{font-style:normal}.species-title{overflow-wrap:anywhere}.species-title .scientific-name{font-weight:600}.species-common-name{margin:.2rem 0 .45rem;color:var(--muted);font-size:1.05rem}.species-family{margin:0 0 .55rem;font-style:normal;color:var(--text)}.species-family span{font-style:normal}.species-family-prompt{margin:0 0 .45rem;padding-left:0;font-size:.85rem}.plant-species-reference{margin:.25rem 0 0;color:var(--muted)}.plant-species-reference span{display:block;margin-top:.12rem}.plant-species-reference .link{display:inline-block;margin-top:.2rem;padding-inline:0}.identification-history{margin-top:1rem}.identification-change{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:.2rem 1rem;padding:.65rem 0;border-top:1px solid var(--line)}.identification-change:first-of-type{border-top:0}.identification-change time{color:var(--muted);font-size:.82rem}.identification-change p{margin:0;min-width:0;overflow-wrap:anywhere}.identification-change .muted{grid-column:2}.plant-list-taxon{line-height:1.3}.plant-list-taxon span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.species-guide-hero{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:1rem;align-items:start}.species-guide-identity{min-width:0}.species-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.species-title-row .species-title{min-width:0;margin-bottom:.35rem}.species-title-row button{flex:0 0 auto}.species-guide-identity .reference-section{margin-top:.8rem;box-shadow:none}.species-reference-image{margin:0;min-width:0}.species-reference-image>a{display:block;border-radius:8px;overflow:hidden;background:var(--soft)}.species-reference-image img{display:block;width:100%;max-height:430px;object-fit:contain}.species-reference-image figcaption{margin-top:.45rem;font-weight:700}.image-attribution{display:flex;justify-content:space-between;gap:.4rem .8rem;flex-wrap:wrap;margin-top:.35rem;color:var(--muted);font-size:.78rem}.image-attribution span:last-child{display:flex;gap:.65rem}.species-image-empty{display:grid;place-items:center;align-content:center;min-height:280px;gap:.45rem;padding:1rem;border:1px dashed var(--line);border-radius:8px;background:var(--soft);text-align:center;color:var(--muted)}.species-image-empty strong{color:var(--text);font-size:1.05rem}.species-guide-sections{display:grid;gap:.8rem;margin-top:.8rem}.reference-section h3,.species-sources h3,.species-collection h3,.species-administration h3{margin-bottom:0}.reference-section dl{margin:.65rem 0 0}.reference-section dl div{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.reference-section dt{color:var(--muted);font-size:.82rem;font-weight:700}.reference-section dd{margin:0;overflow-wrap:anywhere}.reference-section.problems{border-left:4px solid var(--line)}.reference-empty{width:100%;margin-top:.65rem;border:1px dashed var(--line);color:var(--muted);font-weight:600}.source-citation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.source-citation span,.source-citation small{display:block;margin-top:.15rem;color:var(--muted)}.source-actions{display:grid;justify-items:end;align-content:start;gap:.25rem;font-size:.8rem}.source-actions time{color:var(--muted)}.species-plant-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.5rem;margin-top:.65rem}.species-plant-link{display:grid;gap:.2rem;min-width:0;border-color:var(--line);text-align:left}.species-plant-link span{color:var(--muted);font-size:.8rem}.species-administration{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.species-administration p{margin-bottom:0}.species-danger-zone{display:flex;align-items:center}.species-administration .species-danger-zone{padding-left:1rem;border-left:1px solid var(--line)}.species-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.species-primary-actions{margin-left:auto}.permission-acknowledgment{grid-template-columns:auto minmax(0,1fr);align-items:start}.permission-acknowledgment input{width:auto;margin-top:.2rem}.species-editor fieldset{display:grid;gap:.8rem;border:1px solid var(--line);border-radius:8px;padding:.8rem}.pot-list-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.18rem;width:100%;padding:.7rem .75rem}.pot-list-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.pot-location,.pot-watering,.pot-care-note{min-width:0;color:var(--muted);font-size:.8rem;line-height:1.3}.pot-location{color:var(--accent-2)}.pot-watering{font-weight:700}.pot-care-note{display:-webkit-box;overflow:hidden;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pot-care-note.empty-note{font-style:italic;opacity:.75}.content{padding:1.1rem;min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:1rem}.hero{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.pot-header-meta{margin:.3rem 0;color:var(--muted);text-transform:capitalize}.pot-membership{margin:.35rem 0 0;color:var(--muted)}.pot-membership .link{padding-inline:0;font-weight:700}.pot-admin-actions{justify-content:flex-end}h2,h3,p{margin-top:0}h2{margin-bottom:.25rem;font-size:1.75rem}h3{margin-bottom:.5rem}.eyebrow{margin-bottom:.35rem;color:var(--accent);font-size:.75rem;font-weight:800;text-transform:uppercase}.tabs{margin:1rem 0;border-bottom:1px solid var(--line)}.tab{border-radius:8px 8px 0 0;color:var(--muted)}.tab.active{background:var(--accent);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.metric{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:.8rem}.metric span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:.25rem}.metric strong{white-space:pre-line}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem;margin-top:.85rem}.stack{display:grid;gap:.75rem}.timeline{display:grid;gap:.55rem}.event{display:grid;grid-template-columns:132px 1fr;gap:.75rem;border:1px solid var(--line);border-radius:8px;padding:.75rem;background:#fff}.event time{color:var(--muted);font-size:.88rem}.event b{text-transform:capitalize}.event-details{margin:.2rem 0;color:var(--accent-2);font-size:.82rem}.event-actions{display:flex;gap:.45rem;margin-top:.3rem}.event-actions button{font-size:.8rem}.event-date-time{margin-top:0}.event-plants [data-affected-plants]{display:grid;gap:.45rem;margin-top:.55rem}.preserve{white-space:pre-line}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-control{gap:.2rem}.search-control small{color:var(--muted);font-weight:500;text-align:right}.detail-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem;margin-top:.7rem}.detail-navigation button{min-width:0;text-align:left}.detail-navigation button:last-child{text-align:right}.detail-navigation span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;color:var(--muted);font-size:.75rem;font-weight:500}.quick-events{display:flex;flex-wrap:wrap;gap:.5rem}.quick-events button{min-height:44px;flex:1 1 125px}.compact-actions .secondary{background:var(--panel);border-color:var(--line);color:var(--text)}.compact-actions .quiet-action{color:var(--accent-2);font-weight:650}.compact-care-status{display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:.9rem;font-weight:700}.overview-photos{display:grid;gap:.7rem}.overview-photos h3{margin-bottom:0}.overview-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.overview-photo{padding:0;overflow:hidden;border-color:var(--line);text-align:left;font-weight:500}.overview-photo img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--soft)}.overview-photo span{display:block;padding:.5rem}.overview-photo small{display:-webkit-box;margin-top:.15rem;overflow:hidden;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:2}.compact-empty{padding:.65rem;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.planting-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .9rem;margin:0}.planting-details dl div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1fr);gap:.55rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.planting-details dt{color:var(--muted);font-size:.82rem;font-weight:700}.planting-details dd{margin:0;overflow-wrap:anywhere}.inline-notes textarea{width:100%}.inline-notes h3{margin-bottom:.35rem}.note-conflict:empty{display:none}.nfc-link-panel{display:grid;gap:.8rem}.nfc-link-panel h3,.nfc-link-panel p{margin-bottom:0}.status-pill{border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:800}.status-pill.active{background:var(--soft);color:var(--accent)}.status-pill.inactive{background:#f2ece5;color:var(--warn)}.nfc-details{display:grid;gap:.55rem;margin:0}.nfc-details div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.6rem}.nfc-details dt{color:var(--muted);font-size:.82rem;font-weight:700}.nfc-details dd{margin:0;overflow-wrap:anywhere}.generated-slug{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:8px;padding:.65rem}.generated-slug span{color:var(--muted);font-size:.82rem;font-weight:700}.generated-slug code,.nfc-url-preview{overflow-wrap:anywhere}.advanced-slug[hidden]{display:none}.disabled-link{pointer-events:none;opacity:.55}.species-picker{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:.75rem}.species-picker legend{padding:0 .3rem;font-weight:800}.species-picker .grow{flex:1 1 240px;min-width:0}.species-editor{display:grid;gap:.8rem}.species-usage{margin-top:.85rem}#speciesPlantRefs{display:grid;justify-items:start;margin-top:.5rem}.pot-status-flag{margin-top:.7rem}.choice-list,.embedded-fields{display:grid;gap:.65rem;margin-top:.6rem}.check-row{grid-template-columns:auto minmax(0,1fr);align-items:center}.check-row input{width:auto}details>summary{cursor:pointer;font-weight:800}.save-status{position:fixed;right:1rem;bottom:1rem;z-index:20;min-height:2rem;padding:.45rem .7rem;border-radius:8px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted);font-size:.85rem;pointer-events:none}.save-status:empty{display:none}.save-status.saving,.save-status.unsaved{color:var(--warn)}.save-status.saved{color:var(--accent)}.save-status.failed{color:var(--danger);border-color:#e8c3c3}button:disabled{cursor:not-allowed;opacity:.55}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}.photo{overflow:hidden;padding:0}.photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:var(--soft)}.photo .photo-details{padding:.75rem}.photo .photo-details .row{align-items:center}.photo .photo-details p:last-child{overflow-wrap:anywhere}dialog{border:0;border-radius:8px;width:min(680px,calc(100vw - 1.5rem));padding:0;box-shadow:0 28px 90px #00000047}dialog::backdrop{background:#121a1473}form{display:grid;gap:.8rem}dialog form{padding:1rem}label{display:grid;gap:.32rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.68rem;color:var(--text);background:#fff}textarea{resize:vertical}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.empty{border:1px dashed var(--line);border-radius:8px;padding:1rem;color:var(--muted);text-align:center;background:#ffffff8c}.nfc{max-width:680px;margin:0 auto;padding:1rem}.nfc .quick{display:grid;gap:.75rem}.nfc .quick button{width:100%;min-height:58px;font-size:1.05rem}.notice{background:#fff7e6;border:1px solid #e8d39d;color:#664510;border-radius:8px;padding:.7rem}.import-preview{display:grid;gap:.75rem}.import-preview h3,.import-preview p{margin-bottom:0}.import-preview details{border:1px solid var(--line);border-radius:8px;padding:.7rem}.import-preview summary{cursor:pointer;font-weight:700}@media(max-width:860px){.topbar{align-items:flex-start;flex-direction:column}.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.nav-list{max-height:260px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.two,.species-guide-hero{grid-template-columns:1fr}}@media(max-width:560px){.content,.sidebar,.topbar{padding:.85rem}.hero,.event{grid-template-columns:1fr}.actions button,.actions .button{flex:1 1 auto}.list-heading-row{align-items:stretch}.sort-control{flex:1 1 100%}.sort-control select{flex:1}.detail-navigation span{display:none}.quick-events button{flex-basis:100%}.pot-admin-actions{justify-content:flex-start}.compact-care-status{display:grid;gap:.45rem}.overview-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planting-details dl{grid-template-columns:1fr}.save-status{left:.85rem;right:.85rem;bottom:.85rem;text-align:center}.nfc-details div{grid-template-columns:1fr;gap:.15rem}.generated-slug{grid-template-columns:1fr auto}.generated-slug span{grid-column:1 / -1}.reference-section dl div,.source-citation{grid-template-columns:1fr;gap:.2rem}.source-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center}.species-reference-image img{max-height:340px}.species-title-row{align-items:stretch;flex-direction:column}.species-title-row button{align-self:flex-start}.species-form-actions{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.species-form-actions .species-danger-zone{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.species-primary-actions{width:100%;margin-left:0}.species-primary-actions button{flex:1 1 0}.species-administration{align-items:stretch}.species-administration .species-danger-zone{flex-basis:100%;padding:.8rem 0 0;border-top:1px solid var(--line);border-left:0}.identification-change{grid-template-columns:1fr}.identification-change .muted{grid-column:1}}
