:root{--bg: #0b0d10;--panel: #141821;--panel-2: #1a202b;--text: #f7f2ea;--muted: #a9b0bd;--line: rgba(255, 255, 255, .09);--accent: #f1c27d;--accent-strong: #ffb65c;--danger: #ff6b6b;--warn: #ffd166;--good: #77dd99;--shadow: 0 24px 80px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(241,194,125,.12),transparent 35%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.auth-shell{max-width:520px;margin:8vh auto}.app-main,.page-heading{margin-left:292px;transition:margin-left .2s ease}.page-heading{margin-bottom:20px}.page-heading h1{margin:0 0 4px;font-size:34px}.mobile-topbar{display:none}.sidebar{position:fixed;left:max(16px,calc((100vw - 1500px)/2 + 16px));top:20px;bottom:20px;width:260px;display:flex;flex-direction:column;gap:18px;padding:18px;background:#141821f5;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);z-index:12;transition:width .2s ease,transform .2s ease}.sidebar.collapsed{width:82px}.sidebar.collapsed~.page-heading,.sidebar.collapsed~.app-main{margin-left:114px}.sidebar-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.sidebar-head h1{margin:6px 0 0;font-size:22px}.side-nav{display:grid;gap:16px;overflow:auto}.nav-group{display:grid;gap:8px}.nav-group>span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.nav-group button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-radius:12px;padding:10px;color:var(--text);background:transparent}.nav-group button span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#ffffff0f;color:var(--accent);font-weight:800;flex:0 0 auto}.nav-group button.active{background:#f1c27d24;border-color:#f1c27d59}.sidebar-logout{margin-top:auto}.icon-button{width:42px;height:42px;padding:0;display:grid;place-items:center}.mobile-close{display:none}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tabs button,.ghost,.primary,.danger{border:1px solid var(--line);border-radius:16px;padding:11px 16px;color:var(--text);background:#ffffff0a;transition:.2s ease}.tabs button.active,.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#251406;border-color:transparent;font-weight:800}.primary.large{padding:15px 22px;font-size:16px}.ghost:hover,.tabs button:hover{background:#ffffff17}.danger{color:var(--danger)}.danger:hover{background:#ff6b6b1a}main{display:block}.mobile-action{display:none}.page-grid{display:grid;gap:20px}.two-columns{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:20px;align-items:start}.card{background:#141821eb;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.sticky-card{position:sticky;top:16px}.hero,.action-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#f1c27d29,#141821f5)}.hero h2,.action-panel h2,.card h2,.card h3{margin-top:0}.hero p,.muted{color:var(--muted);line-height:1.6}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.filters{display:flex;gap:10px;flex-wrap:wrap}.meal-toggles,.nutrition-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.meal-toggles label{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}.meal-toggles input{width:auto}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px}.stat-card span{display:block;color:var(--muted);margin-bottom:10px}.stat-card strong{font-size:30px}.stat-warn strong{color:var(--warn)}.stat-danger strong{color:var(--danger)}.form{display:grid;gap:14px}.form label{display:grid;gap:7px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:#0d1118;color:var(--text);padding:12px 13px;outline:none}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#f1c27db3}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;border:1px solid var(--line);color:var(--muted)}.badge-good{color:var(--good);border-color:#77dd9959;background:#77dd9914}.badge-warn{color:var(--warn);border-color:#ffd16659;background:#ffd16614}.badge-danger{color:var(--danger);border-color:#ff6b6b61;background:#ff6b6b17}.badge-accent{color:var(--accent);border-color:#f1c27d66;background:#f1c27d14}.empty,.error-box{border:1px dashed var(--line);border-radius:20px;padding:20px;color:var(--muted);text-align:center}.error-box{color:var(--danger);border-color:#ff6b6b59;background:#ff6b6b14}.success-box{border:1px solid rgba(119,221,153,.35);border-radius:20px;padding:16px;color:var(--good);background:#77dd9914}.inline-check{display:inline-flex;gap:8px;align-items:center;color:var(--muted)}.inline-check input{width:auto}.list-button{display:grid;gap:4px;text-align:left;width:100%}.list-button small{opacity:.75}.purchased-row{opacity:.65}.editable-shopping-list input[type=number]{max-width:180px}.shopping-quantity{grid-column:1 / -1;align-items:end}.shopping-quantity input,.shopping-quantity select{min-width:110px}.ingredient-editor{display:grid;grid-template-columns:minmax(180px,1fr) 120px 96px auto;gap:10px;align-items:end}.dropzone{display:grid;gap:10px;border:1px dashed var(--line);border-radius:18px;padding:14px;color:var(--muted);background:#ffffff08}.dropzone input{background:transparent;border:0;padding:0}.dropzone img{width:100%;max-height:220px;object-fit:cover;border-radius:14px}.link-button{display:inline-flex;align-items:center;text-decoration:none}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-row{display:grid;grid-template-columns:90px 1fr auto;gap:10px;margin-top:12px;align-items:center}.vote-card{border:1px solid var(--line);border-radius:20px;padding:14px;background:#ffffff08}hr{width:100%;border:0;border-top:1px solid var(--line);margin:18px 0}.compact-list,.inventory-table,.catalog-list,.shopping-list,.selected-list{display:grid;gap:10px}.inventory-row,.inventory-card,.catalog-row,.shopping-list>div,.selected-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);background:#ffffff08;border-radius:20px;padding:14px}.inventory-row div,.catalog-row div{display:grid;gap:4px}.inventory-row span,.catalog-row span,.shopping-list small{color:var(--muted)}.inventory-card{align-items:flex-start}.inventory-card h3{margin:0 0 6px}.inventory-card p{margin:4px 0}.status-use_soon,.status-expired{border-color:#ff6b6b73;background:linear-gradient(135deg,#ff6b6b24,#ffffff08)}.status-fresh{border-color:#77dd9940}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.meal-column{display:grid;gap:14px}.meal-column>summary{display:flex;cursor:pointer;list-style:none}.meal-column>summary::-webkit-details-marker{display:none}.meal-column>summary h2{margin:0}.suggestion-card{display:grid;grid-template-columns:118px 1fr;gap:14px;border:1px solid var(--line);border-radius:22px;padding:12px;background:#ffffff08}.suggestion-card.selected{border-color:#f1c27da6;background:#f1c27d14}.suggestion-card img{width:118px;height:118px;border-radius:18px;object-fit:cover}.suggestion-card h3{margin:0 0 8px}.suggestion-card p{margin:0}details{color:var(--muted);margin:8px 0}details ul{margin:8px 0 0;padding-left:18px}.card-actions{display:flex;gap:10px;align-items:center}.card-actions input,.selected-list input{max-width:84px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.recipe-card{overflow:hidden;border-radius:22px;background:var(--panel-2);border:1px solid var(--line);transition:.2s ease;cursor:pointer}.recipe-card:hover{transform:translateY(-2px);border-color:#f1c27d80}.recipe-card img,.image-placeholder{width:100%;height:160px;object-fit:cover;display:block;background:#232936}.recipe-card>div{padding:14px}.recipe-card h3{margin:0 0 8px}.recipe-card p{color:var(--muted);margin:0 0 12px}.nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-size:12px;color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:grid;place-items:center;padding:24px;z-index:10}.modal{position:relative;width:min(860px,100%);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.modal-close{position:absolute;top:12px;right:14px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#00000040;color:var(--text);font-size:26px}.modal-image{width:100%;max-height:320px;object-fit:cover;border-radius:20px;margin-bottom:18px}.ingredients-list{columns:2}.modal li{margin-bottom:8px;color:var(--muted)}.shopping-list>div{display:grid;grid-template-columns:1fr auto;align-items:start}.shopping-list small{grid-column:1 / -1}@media (max-width: 1100px){.hero,.action-panel{align-items:stretch;flex-direction:column}.two-columns,.meal-grid,.analytics-grid{grid-template-columns:1fr}.sticky-card{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.app-shell{width:min(100% - 20px,1500px);padding-top:18px}.app-main,.page-heading{margin-left:0}.page-heading{display:none}.mobile-topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.sidebar{left:10px;right:10px;top:10px;bottom:10px;width:auto;max-width:none;transform:translate(calc(-100% - 20px))}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:auto}.desktop-collapse{display:none}.mobile-close{display:grid}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:11}.desktop-form{display:none}.mobile-action{display:block;width:100%}.meal-column:not([open]){padding-bottom:16px}.section-title,.inventory-card,.catalog-row{flex-direction:column;align-items:stretch}.form-row,.stats-grid,.review-row,.suggestion-card{grid-template-columns:1fr}.suggestion-card img{width:100%;height:180px}.ingredients-list{columns:1}.ingredient-editor{grid-template-columns:1fr}}
