:root{--ink: #18332b;--muted: #6d7b73;--paper: #fbf7ef;--surface: #fffdf8;--surface-quiet: #f4eee4;--line: rgba(24, 51, 43, .13);--accent: #2f7d68;--accent-strong: #225c4e;--warn: #a85d18;--danger: #9d332b;--shadow: 0 24px 70px rgba(24, 51, 43, .11);color:var(--ink);background:var(--paper);font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#fbf7efeb,#f8eeddeb),radial-gradient(circle at 12% 8%,rgba(47,125,104,.18),transparent 24rem),radial-gradient(circle at 92% 20%,rgba(168,93,24,.14),transparent 22rem)}a{color:inherit}.app-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:18px 0 92px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0 14px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:var(--ink);color:var(--paper);font-weight:900;letter-spacing:-.06em}.brand strong,.brand small{display:block}.brand strong{font-size:1.05rem;letter-spacing:-.03em}.brand small{color:var(--muted);font-size:.78rem}.account-chip{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.account-chip>span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:.8rem;font-weight:800}.nav-list{position:sticky;top:8px;z-index:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:7px;margin:0 0 26px;border:1px solid var(--line);border-radius:24px;background:#fffdf8e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 30px #18332b0f}.nav-list a{min-height:42px;display:grid;place-items:center;padding:0 10px;border-radius:18px;color:var(--muted);font-size:.9rem;font-weight:800;text-decoration:none;transition:background .14s ease,color .14s ease,transform .14s ease}.nav-list a:hover{transform:translateY(-1px);color:var(--ink)}.nav-list a.active{background:var(--accent);color:#fff}.page-heading{display:grid;gap:8px;margin:16px 0 22px;animation:rise-in .26s ease-out both}.eyebrow{margin:0;color:var(--warn);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:.98}h1{max-width:850px;margin-bottom:0;font-size:clamp(2.25rem,8vw,5.6rem)}.page-heading p:not(.eyebrow){max-width:650px;margin-bottom:0;color:var(--muted);font-size:clamp(1rem,3vw,1.2rem);line-height:1.45}.workspace{animation:fade-in .22s ease-out both}.dashboard-layout,.work-grid{display:grid;gap:14px}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-height:118px;padding:18px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 12px 35px #18332b0f}.metric span,.metric small{display:block;color:var(--muted);font-weight:700}.metric strong{display:block;margin:10px 0 4px;font-size:2.5rem;letter-spacing:-.08em}.metric.warn strong{color:var(--warn)}.split-grid,.work-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px}.split-grid.lower{grid-template-columns:repeat(2,minmax(0,1fr))}.full-span{grid-column:1 / -1}.panel{padding:clamp(18px,4vw,28px);border:1px solid var(--line);border-radius:30px;background:#fffdf8db;box-shadow:var(--shadow)}.hero-panel{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:22px;align-items:start}.panel h2{margin-bottom:12px;font-size:clamp(1.7rem,4vw,2.55rem)}.panel h3{margin-bottom:6px;font-size:1.1rem}.panel p{color:var(--muted);line-height:1.45}.section-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.status-pill{display:inline-flex;align-items:center;white-space:nowrap;min-height:30px;padding:0 11px;border-radius:999px;background:var(--surface-quiet);color:var(--muted);font-size:.78rem;font-weight:900}.status-pill.warn{color:var(--warn)}input,select,button{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit}button{cursor:pointer;border-color:var(--accent);background:var(--accent);color:#fff;font-weight:900;transition:transform .14s ease,background .14s ease,opacity .14s ease}button:hover{transform:translateY(-1px);background:var(--accent-strong)}button:disabled{cursor:wait;opacity:.6}.ghost-button{border-color:var(--line);background:var(--surface-quiet);color:var(--ink)}.ghost-button:hover{background:#ebe2d5}.danger-button{border-color:#9d332b40;background:#9d332b1a;color:var(--danger)}.danger-button:hover{background:var(--danger);color:#fff}.text-button{min-height:auto;width:auto;padding:0;border:0;background:transparent;color:var(--accent);font-size:.82rem}.text-button:hover{background:transparent;color:var(--accent-strong)}.compact{min-height:34px;width:auto;padding:6px 10px;border-radius:999px;font-size:.78rem}.primary-action{min-height:52px}.form-stack{display:grid;gap:10px}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-row,.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button-row>*{width:auto}.button-row.tight{gap:6px}.button-row.tight button{min-height:38px;padding:8px 10px;border-radius:12px;font-size:.82rem}.field-label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.scan-band{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:12px}.scan-band button{width:auto}.search-input{margin-bottom:12px}.scanner-view{display:none;width:100%;max-height:260px;margin:0 0 12px;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:var(--ink)}.scanner-view.active{display:block}.product-suggestions{display:flex;flex-wrap:wrap;gap:7px}.product-chip{display:inline-grid;justify-items:start;width:auto;min-height:42px;padding:8px 11px;border-color:var(--line);background:var(--surface-quiet);color:var(--ink);border-radius:999px}.product-chip strong{font-size:.86rem}.product-chip span{color:var(--muted);font-size:.72rem}.list-block,.compact-list,.timeline-list,.suggestion-stack,.proposal-grid,.user-table{display:grid;gap:10px}.list-item,.compact-row,.timeline-row,.proposal-card,.suggestion-card,.user-row,.mini-meal{border:1px solid var(--line);background:#ffffff94}.list-item{display:grid;gap:12px;padding:14px;border-radius:22px}.inventory-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.item-meta{display:grid;gap:4px;text-align:right}.item-meta strong{font-size:1.05rem}.expiry{color:var(--muted);font-size:.8rem;font-weight:800}.expiry.warn{color:var(--warn)}.compact-row,.timeline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px 14px;border-radius:18px}.compact-row small,.timeline-row small{color:var(--muted)}.compact-row span,.timeline-row span{color:var(--muted);font-weight:800;text-transform:capitalize}.timeline-row{grid-template-columns:86px minmax(0,1fr)}.timeline-row small{grid-column:2}.empty-state{margin:0;color:var(--muted)}.notice{margin:14px 0 0;padding:12px 14px;border-radius:16px;background:#2f7d681a;color:var(--accent-strong);font-weight:800}.notice.error{background:#9d332b1a;color:var(--danger)}.shopping-row{grid-template-columns:42px minmax(0,1fr) auto;align-items:center}.shopping-row.checked{opacity:.62}.check-button{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;background:var(--surface);color:var(--accent)}.shopping-row.checked .check-button{background:var(--accent);color:#fff;font-size:.68rem}.quiet-panel{box-shadow:none;background:#f4eee49e}.slot-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.slot-column{min-height:180px;padding:12px;border-radius:22px;background:var(--surface-quiet)}.slot-column h3{text-transform:capitalize}.mini-meal{display:grid;gap:5px;margin-top:8px;padding:10px;border-radius:16px;background:var(--surface)}.mini-meal span,.mini-meal small{color:var(--muted)}.proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-card{display:grid;gap:14px;padding:16px;border-radius:24px}.vote-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vote-row button{min-height:40px;padding:8px}.mode-selector{display:grid;gap:8px;margin-bottom:14px}.mode-card{display:grid;gap:4px;justify-items:start;min-height:auto;padding:14px;border-color:var(--line);background:var(--surface-quiet);color:var(--ink);text-align:left}.mode-card span{color:var(--muted);font-size:.86rem;font-weight:700}.mode-card.active{background:var(--ink);color:#fff}.mode-card.active span{color:#ffffffb8}.suggestion-card{display:grid;gap:12px;padding:16px;border-radius:24px}.suggestion-topline{display:flex;align-items:start;justify-content:space-between;gap:12px}.suggestion-topline span{color:var(--accent);font-weight:900}.ingredient-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ingredient-columns div{display:grid;gap:5px;padding:12px;border-radius:16px;background:var(--surface-quiet)}.ingredient-columns span{color:var(--muted);font-size:.9rem}.step-list{margin:0;padding-left:20px;color:var(--muted)}.recipe-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.recipe-tile{display:grid;gap:8px;min-height:150px;padding:14px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.recipe-tile p{display:-webkit-box;margin:0;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.recipe-tile small{align-self:end;color:var(--muted);font-weight:800}.recipe-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.recipe-actions button{min-height:38px;padding:7px;border-radius:12px;font-size:.78rem}.connection-row{display:flex;gap:10px;align-items:center;margin-bottom:12px}.connection-row button{width:auto}.connection-ok{color:var(--accent);font-weight:900}.connection-warn{color:var(--warn);font-weight:900}.user-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 180px 220px auto;gap:10px;align-items:center;padding:14px;border-radius:22px}.user-row button{width:auto}.access-panel{max-width:680px}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.app-shell{width:min(100% - 18px,720px);padding-top:10px}.topbar{padding-bottom:10px}.account-chip .ghost-button{display:none}.nav-list{position:fixed;inset:auto 9px 10px;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;border-radius:24px}.nav-list a{min-height:48px;padding:0 4px;font-size:.76rem}.page-heading{margin-top:8px}.metric-strip,.split-grid,.split-grid.lower,.work-grid,.hero-panel,.proposal-grid{grid-template-columns:1fr}.metric-strip,.recipe-library{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-row,.shopping-row,.user-row{grid-template-columns:1fr}.shopping-row .check-button{justify-self:start}.item-meta{text-align:left}.slot-board{grid-template-columns:1fr 1fr}}@media(max-width:540px){h1{font-size:clamp(2rem,15vw,3.6rem)}.panel{border-radius:24px;padding:16px}.metric{min-height:104px;padding:14px;border-radius:22px}.metric strong{font-size:2rem}.inline-fields,.slot-board,.ingredient-columns,.vote-row{grid-template-columns:1fr}.button-row>*,.connection-row button{width:100%}.scan-band,.recipe-library,.recipe-actions{grid-template-columns:1fr}}
