:root{color-scheme:light;--background:#fff8ea;--background-soft:#f2fbf7;--foreground:#18222f;--muted:#647083;--line:#d8e0df;--panel-tint:#fffdf7;--accent:#177e89;--accent-strong:#0f5e66;--accent-soft:#dff7f5;--warm:#f26d5b;--sun:#f5b942;--leaf:#55a46b;--berry:#9357b8;--shadow:0 14px 34px rgb(24 34 47/9%);--shadow-soft:0 8px 22px rgb(24 34 47/7%)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#fff2cc 0,var(--background) 220px,var(--background-soft) 100%);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.inline-link{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgb(255 253 247/88%);border-bottom:1px solid rgb(216 224 223/78%);display:flex;justify-content:space-between;min-height:64px;padding:10px 22px;position:sticky;top:0;z-index:20}.brand{border-left:5px solid var(--warm);flex:0 0 auto;gap:2px;padding-left:10px}.brand strong{font-size:18px;letter-spacing:0}.brand span,.muted{color:var(--muted);font-size:13px}.nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.button,.nav a{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:1px solid rgb(15 94 102/18%);border-radius:8px;box-shadow:0 7px 16px rgb(23 126 137/18%);color:white;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;min-height:40px;padding:0 14px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.button:hover,.nav a:hover{box-shadow:0 9px 20px rgb(23 126 137/24%);transform:translateY(-1px)}.button.secondary,.nav a.secondary{background:#fff7e5;border-color:#f2d58c;box-shadow:none;color:var(--foreground)}.nav form{margin:0}.main{margin:0 auto;max-width:none;padding:22px 28px 40px;width:100%}.hero{background:linear-gradient(90deg,rgb(255 255 255/90%),rgb(255 255 255/54)),linear-gradient(135deg,#ffe28a,#bceadf 48%,#f7c7da);border:1px solid rgb(255 255 255/74%);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:10px;margin:4px 0 20px;overflow:hidden;padding:24px;position:relative}.hero:after{background:var(--warm);bottom:0;content:"";height:6px;left:0;position:absolute;width:min(320px,58%)}.hero h1{font-size:clamp(34px,5vw,56px);line-height:.98;margin:0}.hero p{color:var(--muted);font-size:16px;line-height:1.5;margin:0}.grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card,.grid{display:grid}.card{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);gap:10px;overflow:hidden;padding:18px;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}a.card{min-height:150px;padding-top:48px}.card:before{background:var(--accent);content:"";height:8px;left:0;position:absolute;right:0;top:0}.grid .card:nth-child(2n):before{background:var(--warm)}.grid .card:nth-child(3n):before{background:var(--leaf)}.grid .card:nth-child(4n):before{background:var(--berry)}.plant-library-row:hover,.request-card:hover,.source-alias-card:hover,.user-admin-card:hover,a.card:hover{border-color:rgb(23 126 137/34%);box-shadow:var(--shadow);transform:translateY(-2px)}.card h2,.card h3,.card p{margin:0}.card p{color:var(--muted);line-height:1.45}.login-shell{display:grid;min-height:calc(100vh - 120px);place-items:center}.login-panel{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:16px;max-width:420px;padding:24px;width:min(100%,420px)}.backlog-form h2,.empty-tool h2,.login-panel h1,.login-panel p,.request-card h2{margin:0}.empty-tool p,.login-panel p{color:var(--muted);line-height:1.45}.backlog-form label,.login-panel label{display:grid;gap:6px}.backlog-form span,.login-panel span{color:var(--muted);font-size:13px;font-weight:700}.backlog-form input,.backlog-form select,.backlog-form textarea,.login-panel input,.status-form select{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:42px;padding:8px 10px;width:100%}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid rgb(245 185 66/45%);outline-offset:2px}.form-error{background:#fff0ed;border:1px solid #f6b8ae;border-radius:6px;color:#923224;padding:10px 12px}.form-success{background:#edf9ef;border:1px solid #b7dfbf;border-radius:6px;color:#1d5b3e;padding:10px 12px}.account-layout{max-width:520px}.backlog-layout,.plant-test-layout,.tool-surface{display:grid;gap:16px}.plant-test-layout{align-items:start;grid-template-columns:minmax(300px,420px) minmax(0,1fr)}.plant-results-panel,.plant-test-panel{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:16px;padding:16px}.camera-capture-button{align-items:center;background:#fff7e5;border:2px dashed #f1b75b;border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;gap:4px;min-height:112px;padding:18px;text-align:center}.camera-capture-button input,.secondary-photo-picker input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.camera-capture-button span,.plant-photo-controls span{color:var(--muted);font-size:13px;font-weight:700}.secondary-photo-picker{color:var(--accent);cursor:pointer;font-size:13px;font-weight:700;justify-self:start}.plant-photo-card,.plant-photo-grid{display:grid;gap:10px}.plant-photo-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:10px}.plant-photo-card img{aspect-ratio:4/3;background:#eef0ec;border-radius:6px;object-fit:cover;width:100%}.plant-photo-controls{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.plant-photo-controls label{display:grid;gap:6px}.plant-photo-controls select{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-height:36px;padding:0 10px}.plant-settings-grid{display:grid;gap:10px}.plant-result-summary{align-items:start;display:flex;gap:16px;justify-content:space-between}.plant-result-summary h2{font-size:24px;line-height:1.2;margin:4px 0 0}.plant-accuracy-strip,.plant-meta-strip{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.plant-meta-strip{justify-content:flex-end}.plant-match-details{color:var(--muted);display:flex;flex-wrap:wrap;font-size:14px;gap:8px 14px;margin-top:6px}.candidate-list{display:grid;gap:10px}.candidate-card{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:36px minmax(0,1fr) auto;padding:12px}.candidate-card h3,.candidate-card p{margin:0}.candidate-card p{color:var(--muted);line-height:1.4;margin-top:4px}.candidate-rank{align-items:center;background:var(--accent-soft);border-radius:6px;display:inline-flex;font-weight:700;height:36px;justify-content:center;width:36px}.candidate-score{color:var(--accent);font-size:20px}.candidate-confidence{align-items:end;display:grid;gap:4px;justify-items:end}.confidence-badge{border-radius:6px;font-size:12px;font-weight:700;padding:4px 7px;white-space:nowrap}.confidence-badge.strong{background:#e7f3ee;color:#1d5b3e}.confidence-badge.possible{background:#fff6d8;color:#765700}.confidence-badge.low{background:#f0f0ee;color:var(--muted)}.raw-response{border-top:1px solid var(--line);padding-top:12px}.raw-response summary{color:var(--accent);cursor:pointer;font-weight:700}.raw-response pre{background:#17201b;border-radius:8px;color:#edf4ef;font-size:12px;line-height:1.5;max-height:480px;overflow:auto;padding:12px;white-space:pre-wrap}.plant-library-hero{align-items:end;display:flex;gap:16px;justify-content:space-between}.plant-library-search{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(140px,170px) minmax(140px,170px) auto auto;margin-bottom:16px;max-width:1100px}.plant-location-filter{min-height:36px}.plant-library-list{display:grid;gap:10px}.plant-library-row{align-items:stretch;background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:96px minmax(0,1fr);overflow:hidden}.plant-library-row:hover{background:#ffffff}.plant-library-row img{background:#eef0ec;height:100%;min-height:104px;object-fit:cover;width:100%}.plant-library-row-body{display:grid;gap:8px;padding:12px}.plant-library-row h2,.plant-library-row p{margin:0}.plant-library-row h2{font-size:20px}.plant-summary{color:#35443c;line-height:1.45}.plant-scan-list{border-top:1px solid var(--line);display:grid;gap:6px;padding-top:10px}.plant-scan-row{color:var(--muted);display:grid;font-size:13px;gap:8px;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto}.plant-detail-hero{align-items:end;display:flex;gap:16px;justify-content:space-between}.plant-detail-layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.plant-detail-layout,.plant-detail-main,.plant-detail-side{display:grid;gap:16px}.plant-detail-photo{background:#eef0ec;border-radius:8px;max-height:68vh;object-fit:contain;width:100%}.plant-detail-panel{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:10px;padding:14px}.plant-detail-panel h2,.plant-detail-panel p{margin:0}.plant-map{border:1px solid var(--line);border-radius:8px;height:260px;width:100%}.plant-detail-scan,.plant-detail-scan-list{display:grid;gap:10px}.plant-detail-scan{align-items:center;border:1px solid var(--line);border-radius:8px;grid-template-columns:72px minmax(0,1fr);overflow:hidden}.plant-detail-scan img{aspect-ratio:1;height:72px;object-fit:cover;width:72px}.plant-detail-scan div{display:grid;gap:2px;padding-right:10px}.plant-detail-scan span{color:var(--muted);font-size:13px}.empty-tool{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);max-width:720px;padding:24px}.admin-users-layout,.backlog-layout{align-items:start;grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.admin-users-layout{display:grid;gap:16px}.backlog-form,.request-card{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:14px;padding:16px}.backlog-list{display:grid;gap:10px}.request-card p{color:#35443c;line-height:1.45;margin:6px 0 0}.request-status{color:#b44838;font-size:12px;font-weight:700;text-transform:uppercase}.request-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.status-form{align-items:center;display:flex;gap:8px}.status-form select{max-width:170px}.admin-section,.user-admin-list{display:grid;gap:12px}.admin-section{margin-top:18px}.section-heading{display:grid;gap:4px}.section-heading h2,.section-heading p,.source-alias-card h3,.source-alias-card p{margin:0}.section-heading p,.source-alias-card p{color:var(--muted)}.source-alias-list{display:grid;gap:10px}.source-alias-card{align-items:end;background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(220px,320px) auto;padding:14px}.source-alias-card label{display:grid;gap:6px}.source-alias-card span{color:var(--muted);font-size:13px;font-weight:700}.source-alias-card input{background:var(--panel);min-height:42px;padding:8px 10px}.source-alias-card input,.user-admin-card{border:1px solid var(--line);border-radius:8px}.user-admin-card{background:var(--panel-tint);box-shadow:var(--shadow-soft);display:grid;gap:14px;padding:16px}.user-admin-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.user-admin-heading h2,.user-admin-heading p{margin:0}.user-admin-heading p{color:var(--muted);font-size:13px}.badge{background:#e8f7eb;border:1px solid #bae4c5;border-radius:999px;color:#1d5b3e;font-size:12px;font-weight:700;padding:4px 9px;white-space:nowrap}.muted-badge{background:#f0f0ee;border-color:var(--line);color:var(--muted)}.tool-access-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reset-password-form{display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) auto}.reset-password-form input{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:42px;padding:8px 10px}.toolbar{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(130px,150px) minmax(130px,150px) auto;margin-bottom:12px}.mailbox-bar{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.mailbox-button{background:#ffffff;border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 12px rgb(24 34 47/6%);color:var(--foreground);cursor:pointer;flex:0 0 auto;font-weight:700;min-height:40px;padding:0 14px}.mailbox-button.active{background:var(--warm);border-color:var(--accent);color:white}.filter-strip{align-items:center;display:flex;gap:18px;justify-content:flex-end;margin:-4px 0 10px}.toggle{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;gap:8px}.toggle input{accent-color:var(--accent)}.field{display:grid;gap:6px}.field label{color:var(--muted);font-size:13px;font-weight:700}.compact-field{min-width:0}.field input,.field select{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-height:42px;padding:0 12px;width:100%}.archive-workspace{align-items:stretch;display:grid;gap:0;height:calc(100vh - 230px);min-height:560px;width:100%}.mail-list,.preview-pane{background:var(--panel-tint);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft);overflow:hidden}.mail-list{min-width:0;overflow-y:auto}.resize-handle{cursor:col-resize;display:grid;place-items:center}.resize-handle:before{background:var(--line);border-radius:99px;content:"";display:block;height:64px;width:3px}.resize-handle:hover:before{background:var(--accent)}.list-status{align-items:center;border-bottom:1px solid var(--line);color:var(--muted);display:grid;font-size:13px;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:38px;padding:0 14px}.list-status strong,.mail-row{color:var(--foreground)}.mail-row{align-items:center;background:transparent;border:0;cursor:pointer;display:grid;gap:12px;grid-template-columns:88px minmax(180px,260px) minmax(0,1fr);min-height:56px;padding:9px 14px;text-align:left;width:100%}.mail-row+.mail-row{border-top:1px solid var(--line)}.mail-row.selected,.mail-row:hover{background:var(--accent-soft)}.mail-date{font-size:13px;font-weight:700;white-space:nowrap}.list-status span,.mail-correspondent,.mail-summary,.mail-summary span,.mail-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-correspondent{font-size:14px}.mail-summary{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,auto) repeat(2,auto);justify-content:start}.mail-summary strong{flex:0 1 auto;font-size:14px}.mail-summary span{color:var(--muted);flex:1 1 auto;font-size:13px}.attachment-indicator{border:1.5px solid var(--accent);border-radius:3px;display:inline-block;height:16px;overflow:hidden;position:relative;text-indent:999px;width:13px}.attachment-indicator:before{border:1.5px solid var(--accent);border-top:0;content:"";display:block;height:7px;left:3px;position:absolute;top:3px;transform:rotate(-18deg);width:5px}.favorite-indicator{align-items:center;background:#fff7e5;border:1px solid #f2d58c;border-radius:999px;color:#765700;display:inline-flex;font-size:11px;font-weight:800;min-height:20px;padding:0 7px}.status{color:var(--muted);padding:20px}.list-load-status{border-top:1px solid var(--line);color:var(--muted);font-size:13px;min-height:42px;padding:12px 14px;text-align:center}.preview-pane{min-width:0;overflow-y:auto;padding:18px}.preview-header-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:12px}.preview-meta{color:var(--muted);display:flex;font-size:13px;gap:10px;justify-content:space-between;min-width:0;overflow:hidden}.preview-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-pane h2{font-size:22px;line-height:1.2;margin:0 0 10px}.preview-correspondent{border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;margin-bottom:10px;overflow:hidden;padding-bottom:14px;text-overflow:ellipsis;white-space:nowrap}.email-action-bar{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:auto auto minmax(220px,1fr);margin-bottom:12px;padding-bottom:12px}.email-action-button{background:#ffffff;border:1px solid var(--line);border-radius:999px;color:var(--foreground);cursor:pointer;font-size:13px;font-weight:800;min-height:34px;padding:0 12px}.email-action-button.active,.email-action-button:hover{background:var(--accent);border-color:var(--accent);color:white}.email-action-button:disabled{cursor:wait;opacity:.62}.email-forward-form{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;margin:0}.email-forward-form input{background:var(--panel);border:1px solid var(--line);border-radius:999px;min-height:34px;min-width:0;padding:0 12px;width:100%}.email-action-status{color:var(--muted);font-size:13px;margin:-4px 0 10px}.attachment-list{background:#fff7e5;border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;margin-bottom:14px;padding:10px}.attachment-list-title{color:var(--muted);font-size:13px;font-weight:700}.attachment-link{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--foreground);display:grid;gap:2px;min-height:42px;padding:7px 10px;text-decoration:none}.attachment-link:hover{border-color:var(--accent)}.attachment-link small,.attachment-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-link span{font-size:14px;font-weight:700}.attachment-link small{color:var(--muted);font-size:12px}.preview-actions{align-items:center;display:flex;gap:6px;margin:0}.preview-mode-button{background:#ffffff;border:1px solid var(--line);border-radius:999px;color:var(--foreground);cursor:pointer;font-size:12px;font-weight:700;min-height:24px;padding:0 8px}.preview-mode-button.active{background:var(--accent);border-color:var(--accent);color:white}.preview-mode-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.preview-pane p{color:#35443c;font-size:14px;line-height:1.55;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.email-html-frame{background:#ffffff;border:0;display:block;height:calc(100vh - 370px);min-height:520px;width:100%}.preview-empty{color:var(--muted);margin-top:40%;text-align:center}.preview-loading{color:var(--muted);font-size:13px;margin-bottom:12px}.preview-back-button{background:#ffffff;border:1px solid var(--line);border-radius:999px;color:var(--foreground);cursor:pointer;display:none;font-size:14px;font-weight:700;margin-bottom:14px;min-height:36px;padding:0 12px}@media (max-width:900px){.topbar{align-items:stretch;flex-direction:column;gap:12px;padding:12px 14px}.nav{flex-wrap:nowrap;justify-content:flex-start;margin:0 -14px;overflow-x:auto;padding:0 14px 4px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav .button,.nav a{flex:0 0 auto;min-height:42px}.main{padding:16px 14px 34px}.hero{margin-top:0;padding:18px}.hero h1{font-size:clamp(31px,12vw,44px)}.login-shell{min-height:auto;padding-top:8vh;place-items:start center}.admin-users-layout,.backlog-layout,.grid,.mail-row,.plant-detail-hero,.plant-detail-layout,.plant-library-search,.plant-scan-row,.plant-test-layout,.reset-password-form,.source-alias-card,.toolbar{grid-template-columns:1fr}.plant-library-hero{align-items:start;flex-direction:column;gap:10px}.plant-detail-hero .button,.plant-library-hero .button{align-self:stretch;justify-content:center;min-height:42px}.plant-library-row{grid-template-columns:72px minmax(0,1fr)}.plant-library-row img{min-height:84px}.plant-library-row-body{gap:5px;padding:10px}.plant-library-row h2{font-size:17px;line-height:1.15}.plant-library-row .request-meta,.plant-library-row p,.plant-scan-row{font-size:12px}.plant-scan-list{gap:4px;padding-top:6px}.plant-scan-row{grid-template-columns:1fr;gap:2px}.archive-workspace{display:grid;grid-template-columns:1fr!important;height:auto;min-height:0}.resize-handle{display:none}.mail-list{height:calc(100dvh - 280px);min-height:360px}.preview-pane{display:none;height:calc(100dvh - 120px);min-height:460px}.archive-workspace.mobile-preview-open .mail-list{display:none}.archive-workspace.mobile-preview-open .preview-pane{display:block}.preview-back-button{display:inline-flex;align-items:center}.mail-row{align-items:start;background:#ffffff;border:1px solid var(--line);border-radius:8px;gap:6px;margin:8px;min-height:0;padding:12px}.mail-row+.mail-row{border-top:1px solid var(--line)}.mail-summary{grid-template-columns:minmax(0,1fr) auto;width:100%}.email-action-bar,.filter-strip,.preview-actions,.status-form{align-items:stretch;flex-direction:column}.email-action-bar,.email-forward-form{grid-template-columns:1fr}.email-action-button,.preview-actions .preview-mode-button,.status-form .button,.status-form select{max-width:none;width:100%}.candidate-card,.plant-photo-controls,.user-admin-heading{grid-template-columns:1fr}.candidate-confidence{justify-items:start}}:root{--background:#fff4d7;--background-soft:#e9fff8;--foreground:#161b33;--muted:#667085;--line:rgb(22 27 51/12%);--panel:#ffffff;--panel-tint:#fffefa;--accent:#006d77;--accent-strong:#073b4c;--accent-soft:#c8fff4;--warm:#ef476f;--sun:#ffd166;--leaf:#06d6a0;--berry:#7b2cbf;--sky:#118ab2;--ink:#161b33;--shadow:0 22px 50px rgb(22 27 51/16%);--shadow-soft:0 12px 28px rgb(22 27 51/11%)}body{background:linear-gradient(135deg,rgb(255 209 102/38%) 0 18%,transparent 18%),linear-gradient(215deg,rgb(6 214 160/24%) 0 22%,transparent 22%),linear-gradient(180deg,#fff8e8,#fff4d7 42%,#eafff8)}.shell{background:repeating-linear-gradient(90deg,rgb(255 255 255/0),rgb(255 255 255/0) 46px,rgb(255 255 255/24%) 0,rgb(255 255 255/24%) 47px)}.topbar{background:linear-gradient(90deg,#161b33,#073b4c 55%,#006d77);border-bottom:0;box-shadow:0 12px 28px rgb(22 27 51/20%);color:white;min-height:78px;overflow:hidden}.topbar:after{background:linear-gradient(90deg,var(--warm),var(--sun),var(--leaf),var(--sky));bottom:0;content:"";height:5px;left:0;position:absolute;right:0}.brand{border-left:0;display:grid;gap:0 12px;grid-template-columns:48px auto;padding-left:0}.brand-mark{align-items:center;align-self:center;background:linear-gradient(135deg,var(--sun),var(--warm));border:2px solid rgb(255 255 255/45%);border-radius:8px;box-shadow:0 10px 24px rgb(0 0 0/24%);color:var(--ink);display:inline-flex;font-size:14px;font-weight:900;grid-row:1/3;height:48px;justify-content:center;width:48px}.brand strong{color:white;font-size:20px;line-height:1.1}.brand span:not(.brand-mark){color:rgb(255 255 255/72%)}.nav .button,.nav a{background:rgb(255 255 255/12%);border:1px solid rgb(255 255 255/22%);box-shadow:none;color:white}.nav .button.secondary,.nav a.secondary{background:rgb(255 255 255/92%);border-color:rgb(255 255 255/55%);color:var(--ink)}.main{padding:28px clamp(14px,4vw,42px) 44px}.hero{background:linear-gradient(135deg,rgb(22 27 51/94%),rgb(0 109 119/90)),linear-gradient(135deg,var(--warm),var(--sun));border:0;box-shadow:var(--shadow);color:white;min-height:220px;padding:clamp(24px,5vw,44px)}.hero:before{background:linear-gradient(90deg,rgb(255 255 255/12%) 0 12px,transparent 12px 24px),linear-gradient(180deg,rgb(255 255 255/10%) 0 12px,transparent 12px 24px);content:"";inset:0;opacity:.55;pointer-events:none;position:absolute}.hero:after{background:linear-gradient(90deg,var(--warm),var(--sun),var(--leaf));height:10px;width:100%}.hero>*{position:relative;z-index:1}.hero .muted,.hero p{color:rgb(255 255 255/78%);max-width:760px}.hero-kicker{color:var(--sun);display:inline-block;font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.dashboard-hero{align-items:end;display:grid;grid-template-columns:minmax(0,1fr) auto}.hero-stat{align-items:center;background:rgb(255 255 255/14%);border:1px solid rgb(255 255 255/26%);border-radius:8px;display:grid;height:118px;justify-items:center;min-width:132px;padding:14px}.hero-stat strong{color:var(--sun);font-size:52px;line-height:.9}.hero-stat span{color:rgb(255 255 255/82%);font-size:13px;font-weight:800;text-transform:uppercase}.grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.backlog-form,.card,.empty-tool,.login-panel,.mail-list,.plant-detail-panel,.plant-library-row,.plant-results-panel,.plant-test-panel,.preview-pane,.request-card,.source-alias-card,.user-admin-card{border:0;box-shadow:var(--shadow-soft)}.tool-card{background:var(--ink);color:white;isolation:isolate;min-height:230px;padding:20px}.tool-card:before{background:linear-gradient(135deg,rgb(255 255 255/22%),transparent 36%),linear-gradient(135deg,var(--sky),var(--leaf));bottom:0;height:auto;opacity:.95;width:auto;z-index:-2}.tool-card:after,.tool-card:before{content:"";inset:0;position:absolute}.tool-card:after{background:linear-gradient(135deg,transparent 0 52%,rgb(255 255 255/18%) 52% 62%,transparent 62%),linear-gradient(90deg,rgb(22 27 51/0),rgb(22 27 51/34%));z-index:-1}.tool-email_archive:before{background:linear-gradient(135deg,rgb(255 255 255/18%),transparent 38%),linear-gradient(135deg,#118ab2,#06d6a0)}.tool-plant_recognizer:before{background:linear-gradient(135deg,rgb(255 255 255/18%),transparent 38%),linear-gradient(135deg,#55a46b,#ffd166)}.tool-backlog:before{background:linear-gradient(135deg,rgb(255 255 255/18%),transparent 38%),linear-gradient(135deg,#ef476f,#ff9f1c)}.tool-admin_openarchiver:before,.tool-admin_users:before{background:linear-gradient(135deg,rgb(255 255 255/18%),transparent 38%),linear-gradient(135deg,#7b2cbf,#118ab2)}.tool-card-mark{align-items:center;background:rgb(255 255 255/22%);border:1px solid rgb(255 255 255/34%);border-radius:8px;color:white;display:inline-flex;font-size:22px;font-weight:900;height:62px;justify-content:center;width:62px}.tool-card-body{align-self:end;display:grid;gap:8px}.tool-card h2{font-size:25px;line-height:1.05}.tool-card p{color:rgb(255 255 255/78%)}.tool-card-action{align-items:center;align-self:end;background:rgb(255 255 255/92%);border-radius:999px;color:var(--ink);display:inline-flex;font-size:13px;font-weight:900;justify-content:center;min-height:34px;padding:0 14px;width:max-content}.login-panel{background:linear-gradient(180deg,rgb(255 255 255/96%),rgb(255 255 255/90%)),linear-gradient(135deg,var(--sun),var(--leaf))}.button,.mailbox-button.active,.preview-mode-button.active{background:linear-gradient(135deg,var(--warm),#ff7a45);border-color:rgb(239 71 111/35%);box-shadow:0 11px 22px rgb(239 71 111/22%)}.button.danger{background:linear-gradient(135deg,#b42318,#ef476f);border-color:rgb(180 35 24/28%);box-shadow:0 11px 22px rgb(180 35 24/18%)}.backlog-form input,.backlog-form select,.backlog-form textarea,.field input,.field select,.login-panel input,.reset-password-form input,.source-alias-card input,.status-form select{border:2px solid rgb(22 27 51/10%)}.mail-list,.preview-pane{background:rgb(255 255 255/92%)}.mail-row.selected,.mail-row:hover{background:#fff0f4;box-shadow:inset 5px 0 0 var(--warm)}@media (max-width:900px){body{background:linear-gradient(160deg,rgb(239 71 111/20%) 0 21%,transparent 21%),linear-gradient(215deg,rgb(6 214 160/26%) 0 26%,transparent 26%),linear-gradient(180deg,#fff8e8,#fff4d7 42%,#eafff8)}.topbar{border-radius:0 0 18px 18px;min-height:0}.brand{grid-template-columns:42px auto}.brand-mark{height:42px;width:42px}.nav .button,.nav a{border-radius:999px}.main{padding-top:18px}.hero{border-radius:18px;min-height:210px}.dashboard-hero{align-items:start;grid-template-columns:1fr}.hero-stat{align-items:center;display:flex;gap:10px;height:auto;justify-content:flex-start;min-width:0;width:max-content}.hero-stat strong{font-size:30px}.tool-card{min-height:188px}.tool-card h2{font-size:23px}.login-shell{padding-top:5vh}.login-panel{border-radius:18px}}.email-archive-hero{background:transparent;border:0;box-shadow:none;color:var(--foreground);margin:0 0 16px;min-height:0;overflow:visible;padding:0}.email-archive-hero:after,.email-archive-hero:before{display:none}.email-archive-hero h1,.email-archive-hero p{color:inherit}.email-archive-view .archive-workspace{height:calc(100vh - 270px);min-height:560px}.email-archive-view .mail-list,.email-archive-view .preview-pane{background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:none}.email-archive-view .preview-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.email-archive-view .preview-header-row{flex:0 0 auto}.email-archive-view .preview-pane>p{flex:1 1 auto;min-height:0;overflow:auto}.email-archive-view .email-html-frame{background:#ffffff;border:1px solid #edf0ec;border-radius:6px;flex:1 1 auto;height:auto;min-height:360px;overflow:auto;width:100%}.email-archive-view .mail-row.selected,.email-archive-view .mail-row:hover{background:#eef4f1;box-shadow:inset 4px 0 0 var(--accent)}@media (max-width:900px){.email-archive-view .archive-workspace{height:auto;min-height:0}.email-archive-view .preview-pane{overflow-y:auto}.email-archive-view .preview-header-row{grid-template-columns:minmax(0,1fr) auto}.email-archive-view .preview-actions{align-items:center;flex-direction:row}.email-archive-view .email-html-frame{flex:none;height:70vh;min-height:420px}}.mobile-menu-layer,.mobile-menu-trigger,.mobile-top-title{display:none}.mobile-menu-trigger{border:0;cursor:pointer;flex:0 0 auto;padding:0}.mobile-top-title{min-width:0}.mobile-top-title span,.mobile-top-title strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-top-title strong{color:white;font-size:17px;line-height:1.15}.mobile-top-title span{color:rgb(255 255 255/72%);font-size:12px;margin-top:2px}.mobile-menu-layer.open{display:block}.mobile-menu-scrim{background:rgb(8 12 28/46%);border:0;cursor:pointer;inset:0;position:fixed;z-index:80}.mobile-menu-panel{background:linear-gradient(180deg,rgb(255 255 255/98%),rgb(255 250 236/98%)),linear-gradient(135deg,var(--sun),var(--leaf));border-radius:0 18px 18px 0;box-shadow:28px 0 60px rgb(22 27 51/28%);color:var(--ink);display:grid;gap:20px;grid-template-rows:auto minmax(0,1fr);height:100dvh;left:0;max-width:340px;overflow-y:auto;padding:18px;position:fixed;top:0;width:min(86vw,340px);z-index:90}.mobile-menu-heading{align-items:center;display:grid;gap:12px;grid-template-columns:48px minmax(0,1fr)}.mobile-menu-heading .brand-mark{align-self:center;box-shadow:none;grid-row:auto;justify-self:center}.mobile-menu-panel-close{border:0;cursor:pointer;padding:0}.mobile-menu-heading span,.mobile-menu-heading strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-heading strong{font-size:20px}.mobile-menu-heading span{color:var(--muted);font-size:13px;margin-top:2px}.mobile-menu-links{display:grid;gap:10px}.mobile-menu-links a,.mobile-menu-signout{align-items:center;background:linear-gradient(180deg,rgb(255 255 255/88%),rgb(255 255 255/76%)),var(--menu-link-color,var(--sun));border:2px solid rgb(22 27 51/8%);border-radius:8px;box-shadow:0 8px 18px rgb(22 27 51/8%);color:var(--ink);cursor:pointer;display:flex;font-weight:900;justify-content:center;min-height:52px;padding:0 14px;text-align:center;width:100%}.mobile-menu-link-home{--menu-link-color:var(--sun)}.mobile-menu-link-email_archive{--menu-link-color:var(--sky)}.mobile-menu-link-plant_recognizer{--menu-link-color:var(--leaf)}.mobile-menu-link-recipe_scrapbook{--menu-link-color:var(--sun)}.mobile-menu-link-backlog{--menu-link-color:var(--warm)}.mobile-menu-link-admin_openarchiver,.mobile-menu-link-admin_users{--menu-link-color:var(--berry)}.tool-recipe_scrapbook:before{background:linear-gradient(135deg,rgb(255 255 255/18%),transparent 38%),linear-gradient(135deg,#ff9f1c,#006d77)}@media print{body{background:#ffffff}.attachment-list,.email-action-bar,.email-action-status,.email-archive-hero,.filter-strip,.mail-list,.mailbox-bar,.preview-actions,.preview-back-button,.resize-handle,.toolbar,.topbar{display:none!important}.main{padding:0}.archive-workspace,.email-archive-view .archive-workspace{display:block;height:auto;min-height:0}.email-archive-view .preview-pane,.preview-pane{border:0;box-shadow:none;display:block!important;height:auto;min-height:0;overflow:visible;padding:0}.preview-correspondent{white-space:normal}.email-archive-view .preview-pane>p,.preview-pane p{overflow:visible}.email-archive-view .email-html-frame,.email-html-frame{border:0;height:80vh;min-height:0}}.recipe-detail-hero,.recipe-hero{align-items:end;display:grid;grid-template-columns:minmax(0,1fr) auto}.recipe-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.recipe-detail-layout,.recipe-generate-layout{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,420px) minmax(0,1fr)}.recipe-capture-layout{max-width:620px}.recipe-ai-panel,.recipe-cook-log,.recipe-detail-panel,.recipe-form,.recipe-generated-card{background:var(--panel-tint);border:0;border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:14px;padding:16px}.recipe-form label,.recipe-generated-card label,.recipe-search label{display:grid;gap:6px}.recipe-form span,.recipe-generated-card span,.recipe-search span{color:var(--muted);font-size:13px;font-weight:700}.recipe-form input,.recipe-form select,.recipe-form textarea,.recipe-generated-card input,.recipe-generated-card select,.recipe-generated-card textarea,.recipe-search input,.recipe-search select{background:var(--panel);border:2px solid rgb(22 27 51/10%);border-radius:8px;min-height:42px;padding:8px 10px;width:100%}.recipe-form textarea,.recipe-generated-card textarea{line-height:1.45;resize:vertical}.recipe-form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.recipe-photo-picker{background:#fff7e5;border:2px dashed #ff9f1c;border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;gap:4px;min-height:92px;padding:16px;place-items:center;text-align:center}.recipe-photo-picker input{height:1px;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px}.recipe-cook-history,.recipe-detail-main,.recipe-detail-side,.recipe-generated-list,.recipe-library-list{display:grid;gap:10px}.recipe-select-toggle,.recipe-selection-summary{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;padding:10px 12px}.recipe-selection-summary strong{color:var(--ink);font-size:14px}.recipe-selection-summary span{color:var(--muted);font-size:13px;font-weight:700}.recipe-select-toggle{cursor:pointer;justify-content:start}.recipe-select-toggle input{accent-color:var(--accent);min-height:18px;width:18px}.recipe-select-toggle span{color:var(--foreground)}.recipe-search{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) minmax(160px,220px) minmax(150px,190px) auto}.recipe-library-row{align-items:stretch;background:var(--panel-tint);border:0;border-radius:8px;box-shadow:var(--shadow-soft);display:grid;gap:0;grid-template-columns:96px minmax(0,1fr);min-height:104px;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.recipe-library-row:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.recipe-library-row img,.recipe-row-placeholder{background:#fff0d8;height:100%;min-height:104px;object-fit:cover;width:100%}.recipe-row-placeholder{align-items:center;color:var(--ink);display:flex;font-size:22px;font-weight:900;justify-content:center}.recipe-library-row-body{display:grid;gap:8px;padding:12px}.recipe-cook-log p,.recipe-detail-panel h2,.recipe-detail-panel p,.recipe-library-row h2,.recipe-library-row p{margin:0}.recipe-library-row h2{font-size:20px;line-height:1.15}.recipe-cook-log p,.recipe-detail-panel p,.recipe-library-row p{color:#35443c;line-height:1.5;white-space:pre-wrap}.recipe-photo-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.recipe-photo-card{display:grid;gap:8px;margin:0}.recipe-photo-card img{background:#fff0d8;border-radius:8px;box-shadow:var(--shadow-soft);max-height:420px;object-fit:cover;width:100%}.recipe-photo-card figcaption,.recipe-photo-delete-confirm{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.recipe-meta-strip,.recipe-photo-card figcaption span,.recipe-photo-delete-confirm span{color:var(--muted);font-size:13px;font-weight:700}.recipe-meta-strip{display:flex;flex-wrap:wrap;gap:8px 14px}.recipe-confirm-actions,.recipe-shopping-list-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.recipe-share-action,.recipe-shopping-list-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.recipe-share-action span{color:var(--muted);font-size:13px;font-weight:700}.recipe-shopping-list-heading h2,.recipe-shopping-list-heading p{margin:0}.recipe-cook-log{grid-template-columns:92px minmax(0,1fr)}.recipe-selected-photo{align-items:start;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:112px minmax(0,1fr);padding:10px}.recipe-selected-photo img{aspect-ratio:1;background:#fff0d8;border-radius:6px;object-fit:cover;width:112px}.recipe-selected-photo div{display:grid;gap:6px}.recipe-selected-photo span,.recipe-selected-photo strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-selected-photo span{color:var(--muted);font-size:13px;font-weight:700}.recipe-selected-photo .button{justify-self:start}.recipe-ai-panel{align-content:start}.recipe-cook-log img{aspect-ratio:1;border-radius:8px;object-fit:cover;width:92px}@media (max-width:900px){.recipe-cook-log,.recipe-detail-hero,.recipe-detail-layout,.recipe-generate-layout,.recipe-hero,.recipe-library-row,.recipe-search,.recipe-selected-photo{grid-template-columns:1fr}.recipe-detail-hero .button,.recipe-hero-actions,.recipe-hero-actions .button,.recipe-search .button{justify-content:center;width:100%}.recipe-library-row img,.recipe-row-placeholder{aspect-ratio:16/9;min-height:0}.recipe-cook-log img,.recipe-selected-photo img{aspect-ratio:16/9;width:100%}}.mobile-menu-link-account{--menu-link-color:#ff9f1c}.mobile-menu-link-signin{--menu-link-color:var(--leaf)}.mobile-menu-signout{background:linear-gradient(135deg,var(--warm),#ff7a45);border-color:transparent;color:white;justify-content:center}.mobile-menu-links form{margin:0}@media (max-width:900px){.topbar{align-items:center;flex-direction:row;gap:12px;justify-content:flex-start;overflow:visible;padding:12px 14px 16px}.topbar .brand,.topbar .nav{display:none}.mobile-menu-trigger{display:inline-flex}.mobile-top-title{display:block}}