:root{font-family:system-ui,sans-serif;color-scheme:light dark}body{margin:0}main{max-width:720px;margin:0 auto;padding:1.5rem}.card{display:block;border:1px solid #8883;border-radius:10px;padding:1rem;margin:.75rem 0;color:inherit;text-decoration:none}a.card:hover{border-color:#8886}.card h3{margin:0 0 .25rem}.muted{opacity:.7;font-size:.9rem}form label{display:block;margin:.75rem 0 .25rem}input{width:100%;padding:.5rem;box-sizing:border-box}button{margin-top:1rem;padding:.5rem 1rem;cursor:pointer}.error{color:#c0392b}:root{--cream: #F7F3EA;--cream-2: #F1ECE0;--heading: #223223;--body-text: #4D584A;--muted: #8A9184;--cta-bg: #203623;--cta-hover: #28472C;--olive: #55642E;--olive-dot: #5D7E42;--olive-light: #7FA05B;--line: #DED7C8;--glass: rgba(255, 255, 255, .55);--glass-line: rgba(255, 255, 255, .7);--ok: #5D7E42;--warn: #C08A2D;--alert: #B5573C}body{font-family:Geist,Inter,sans-serif;color:var(--heading);background:var(--cream)}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;height:76px;padding:0 40px;background:#f7f3ead1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.28em;text-indent:.28em;font-size:15px}.logo-chip-sm{width:40px;height:40px;border-radius:12px;background:linear-gradient(160deg,#2a472e,#1b301e);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff24,0 6px 16px #1c371c33;flex-shrink:0}.nav{display:flex;align-items:center;gap:6px;margin-left:12px}.nav a{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--body-text);transition:background .2s ease,color .2s ease}.nav a:hover{background:#5d7e421a;color:var(--heading)}.nav a.active{background:var(--cta-bg);color:#fff}.badge{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;background:#fff9;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--body-text)}.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--olive-dot)}.page{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:48px 40px 80px}.page-head{margin-bottom:36px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--olive-dot)}.page-title{font-family:Cormorant Garamond,serif;font-weight:700;font-size:clamp(40px,5vw,64px);line-height:.98;color:var(--heading)}.page-title .accent{color:var(--olive)}.page-sub{margin-top:14px;font-size:16px;color:var(--body-text);max-width:60ch}.glass{background:var(--glass);border:1px solid var(--glass-line);border-radius:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 44px #1c371c0f}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}.tile{padding:24px 26px}.tile .label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.tile .value{font-family:Cormorant Garamond,serif;font-weight:700;font-size:48px;line-height:1;margin-top:10px;color:var(--heading)}.tile .value small{font-size:18px;color:var(--muted);font-family:Geist,sans-serif;font-weight:500}.tile .foot{margin-top:8px;font-size:13px;color:var(--body-text)}.status{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.status .sdot{width:7px;height:7px;border-radius:50%}.status.ok{background:#5d7e421f;color:#3f5a2b}.status.ok .sdot{background:var(--ok)}.status.warn{background:#c08a2d24;color:#8a6415}.status.warn .sdot{background:var(--warn)}.status.alert{background:#b5573c24;color:#8f3d27}.status.alert .sdot{background:var(--alert)}.section-title{font-family:Cormorant Garamond,serif;font-weight:700;font-size:30px;color:var(--heading);margin:44px 0 20px}.section-title:first-child{margin-top:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;background:#ffffff80;border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--body-text)}.cta{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 26px;border:none;border-radius:999px;background:var(--cta-bg);color:#fff;font-family:Geist,sans-serif;font-weight:600;font-size:16px;cursor:pointer;transition:all .25s ease;box-shadow:0 10px 26px #1c371c29}.cta:hover{background:var(--cta-hover);transform:translateY(-1px)}.cta.ghost{background:#ffffff80;border:1px solid var(--line);color:var(--heading);box-shadow:none}.cta.ghost:hover{background:#fffc}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .6s ease-out both}@media(prefers-reduced-motion:reduce){*{animation:none!important}}.dash-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}.plant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pcard{display:flex;gap:18px;padding:20px;align-items:center;transition:transform .25s ease,box-shadow .25s ease}.pcard:hover{transform:translateY(-3px);box-shadow:0 24px 50px #1c371c1a}.pthumb{width:84px;height:84px;border-radius:18px;background:radial-gradient(circle at 50% 35%,#eef2e3,#e2e8d3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border:1px solid rgba(255,255,255,.7);font-family:Cormorant Garamond,serif;font-weight:700;font-size:34px;color:var(--olive)}.pcard .pbody{flex:1;min-width:0}.pcard h3{font-size:18px;font-weight:600;color:var(--heading)}.pcard .cultivar{font-size:13px;color:var(--muted);margin-top:2px}.pcard .last{font-size:13px;color:var(--body-text);margin-top:12px;display:flex;align-items:center;gap:7px}.pcard .last .k{color:var(--muted)}.pcard .status{margin-top:12px}.attn{padding:24px}.attn h2{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:700;margin-bottom:6px}.attn .cap{font-size:13px;color:var(--muted);margin-bottom:18px}.attn-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}.attn-item:first-of-type{border-top:none}.attn-item .txt{font-size:13.5px;line-height:1.45;color:var(--body-text)}.attn-item .txt b{color:var(--heading);font-weight:600}.attn .calm{font-size:13.5px;color:var(--muted)}.arrow-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--olive);margin-bottom:18px}.arrow-link:hover{color:var(--heading)}.list-card{display:block;padding:20px 22px;margin-bottom:14px;transition:box-shadow .25s ease}.list-card h3{font-size:17px;font-weight:600;color:var(--heading);margin:0}.list-card .meta{font-size:13px;color:var(--muted);margin-top:4px}a.list-card:hover{box-shadow:0 20px 44px #1c371c1a}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.gallery-item{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;cursor:pointer;background:none}.gallery-item.selected{border-color:var(--olive-dot)}.gallery-item img{width:100%;display:block}.gallery-item .cap{display:block;padding:6px 8px;font-size:12px;color:var(--muted)}.compare-grid{display:flex;gap:16px;margin-bottom:24px}.compare-grid figure{flex:1;margin:0}.compare-grid img{width:100%;border-radius:14px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;padding:40px 34px}.login-card h1{font-family:Cormorant Garamond,serif;font-size:34px;margin-bottom:4px}.login-card .sub{font-size:13px;color:var(--muted);margin-bottom:24px}.login-card label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}.login-card input{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff9;font-size:15px;color:var(--heading)}.login-card input:focus{outline:2px solid var(--olive-light);outline-offset:1px}.login-card .cta{width:100%;justify-content:center;margin-top:22px}.logout-btn{margin-left:14px;height:40px;padding:0 18px;font-size:13px}@media(max-width:980px){.tiles{grid-template-columns:repeat(2,1fr)}.nav{display:none}.page{padding:32px 22px 64px}.dash-layout,.plant-grid{grid-template-columns:1fr}}@media(max-width:560px){.tiles{grid-template-columns:1fr}.badge{display:none}.topbar{padding:0 20px}.compare-grid{flex-direction:column}.logout-btn{margin-left:8px;padding:0 12px}}
