:root{color:#edf3ed;background:#101512;--bg: #101512;--panel: #171e1a;--panel-soft: #1d2621;--panel-raised: #222d27;--border: #334039;--border-soft: #26322c;--text: #edf3ed;--muted: #9daaa1;--faint: #6f7b73;--accent: #f97316;--accent-strong: #fb923c;--accent-muted: #43240f;--danger: #ff786c;--danger-muted: #3b2321;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,rgb(249 115 22 / 14%),transparent 34rem),var(--bg);margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#07120c;cursor:pointer;font-weight:700;min-height:40px;padding:.58rem .82rem}button:disabled{cursor:wait;opacity:.62}input,select,textarea{background:#0f1512;border:1px solid var(--border);border-radius:6px;color:var(--text);min-height:40px;padding:.55rem .68rem;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid rgb(249 115 22 / 26%);outline-offset:1px}textarea{line-height:1.45;min-height:116px;resize:vertical}label{color:var(--muted);display:grid;font-size:.82rem;font-weight:700;gap:6px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.1;margin-bottom:6px}h2{font-size:1.24rem;margin-bottom:0}h3{font-size:1rem;margin-bottom:12px}.app-shell{display:grid;gap:18px;margin:0 auto;padding:28px 0;width:min(1240px,calc(100vw - 28px))}.app-shell.mini-app{padding-top:18px}.auth-shell{align-items:center;min-height:100vh}.auth-panel{display:grid;gap:18px;justify-self:center;max-width:420px;min-height:0;width:100%}.topbar,.section-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.top-actions{align-items:center;display:grid;gap:8px;grid-template-columns:auto 158px auto}.view-tabs{background:#0d1210;border:1px solid var(--border-soft);border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.view-tabs button{background:transparent;border-color:transparent;color:var(--muted);min-height:32px;padding:.35rem .6rem}.view-tabs button.active{background:var(--accent-muted);border-color:#8a4617;color:var(--accent-strong)}.eyebrow{color:var(--faint);font-size:.75rem;font-weight:800;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.subtle,.empty,.panel p,.metric span,.metric small,.meal-row small,.run-button small,td{color:var(--muted)}.metrics{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.metric-row{display:grid;gap:10px;grid-template-columns:minmax(160px,220px);margin-bottom:12px}.metric,.panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:8px;box-shadow:0 14px 30px #0000002e;min-width:0}.metric{display:grid;gap:7px;min-height:106px;padding:14px}.metric strong{font-size:1.46rem;line-height:1.1;overflow-wrap:anywhere}.workspace{display:grid;gap:16px;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr)}.side-grid,.import-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-view{display:grid;gap:14px;min-width:0}.panel{min-height:180px;padding:16px}.form-panel{display:grid;gap:14px}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.wide{grid-column:span 2}.food-results,.meal-list,.run-list,.template-list{display:grid;gap:8px}.admin-editor{min-height:0}.template-row{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:8px;display:grid;gap:10px;min-width:0;padding:12px}.template-meta{display:grid;gap:3px;min-width:0}.template-meta p{margin:0;overflow-wrap:anywhere}.food-results button,.run-button{align-items:start;background:var(--panel-soft);border:1px solid var(--border-soft);color:var(--text);display:grid;gap:4px;justify-items:start;min-height:58px;padding:9px 11px;text-align:left}.food-results small{color:var(--muted)}.meal-row{align-items:start;border-bottom:1px solid var(--border-soft);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.meal-row:first-child{padding-top:0}.meal-row:last-child{border-bottom:0}.meal-row p{margin:6px 0 0}.meal-main,.meal-edit,.item-list,.item-edit,.item-add,.plan-list{display:grid;gap:10px;min-width:0}.meal-title{display:grid;gap:2px}.meal-title p,.item-row p{overflow-wrap:anywhere}.meal-actions,.inline-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.meal-actions{justify-content:flex-end}.item-list{border-top:1px solid var(--border-soft);padding-top:8px}.item-row{align-items:center;background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:6px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}.item-row p{margin:0}.item-edit,.item-add{background:#121916;border:1px solid var(--border-soft);border-radius:6px;padding:10px}.item-grid{grid-template-columns:minmax(180px,2fr) repeat(5,minmax(90px,1fr))}.check-row{align-items:center;display:flex;flex-direction:row;gap:8px;min-height:58px}.check-row input{margin:0;width:auto}.ghost{background:transparent;border-color:var(--border);color:var(--accent-strong)}.danger{border-color:#7c3935;color:var(--danger)}.api-pill{background:var(--accent-muted);border:1px solid #8a4617;border-radius:999px;color:var(--accent-strong);font-size:.78rem;font-weight:800;overflow-wrap:anywhere;padding:.35rem .65rem}.error-text{background:var(--danger-muted);border:1px solid #7c3935;border-radius:8px;color:#ffb5af;margin:0;padding:12px}.run-button.active{background:var(--accent-muted);border-color:#8a4617}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;min-width:720px;width:100%}th,td{border-bottom:1px solid var(--border-soft);font-size:.88rem;padding:10px;text-align:left;vertical-align:top}th{color:var(--faint);font-size:.74rem;text-transform:uppercase}td{max-width:360px;overflow-wrap:anywhere}@media(max-width:980px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace,.side-grid,.import-grid{grid-template-columns:1fr}}@media(max-width:680px){.app-shell{width:min(100vw - 20px,560px)}.topbar,.section-heading,.top-actions{align-items:stretch;display:grid;grid-template-columns:1fr}.metrics,.form-grid,.form-grid.compact{grid-template-columns:1fr 1fr}.wide{grid-column:span 2}.meal-row{grid-template-columns:1fr}.meal-actions{justify-content:flex-start}.item-row{grid-template-columns:1fr}.item-grid{grid-template-columns:1fr 1fr}}
