:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f5f2ec;--panel:#fffaf2;--panel2:#fff;--text:#1f1712;--muted:#756b62;--line:#e3d8ca;--accent:#a64026;--accent2:#2f6f4e;--bad:#b42318;--warn:#ad6800;--shadow:0 12px 35px rgba(76,45,20,.08)}
[data-theme=dark]{--bg:#11100f;--panel:#1b1815;--panel2:#211d19;--text:#f4eee7;--muted:#b7a99b;--line:#3a3129;--accent:#d66b45;--accent2:#7bc79c;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}h1{margin:0 0 18px;font-size:34px;line-height:1.1}h2{margin:0;font-size:20px}.topbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px max(16px,calc((100% - 1180px)/2));background:color-mix(in srgb,var(--panel) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:20px;font-weight:850;color:var(--accent)}nav{display:flex;gap:10px;align-items:center;overflow:auto}nav a,.ghost,.button-lite{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);white-space:nowrap}.ghost{color:var(--text)}main{max-width:1180px;margin:auto;padding:28px 16px 60px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:800;margin:0 0 8px}.title-row,.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.actions{display:flex;gap:8px;flex-wrap:wrap}.cards,.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.cards div,.metrics div,section,.panel,table{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.cards div,.metrics div{padding:18px}.cards b,.metrics b{display:block;font-size:30px;line-height:1}.cards span,.metrics span,.muted,.empty{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}section{padding:16px;margin:18px 0}.panel,.search,.recipe-head{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px;margin:16px 0;background:var(--panel);border:1px solid var(--line);border-radius:8px}.compact-panel{margin:12px 0 0}.search{box-shadow:none}.recipe-head{align-items:end}.name-input{font-size:30px;font-weight:850;min-width:280px}input,select,button{min-height:40px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font:inherit}button,.button-lite{cursor:pointer}button{border-color:var(--accent);background:var(--accent);color:white;font-weight:800}.button-lite{display:inline-flex;color:var(--text);font-weight:700}.danger{background:transparent;border-color:var(--bad);color:var(--bad)}table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;margin-top:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tr:last-child td{border-bottom:0}.inline-form{display:flex;gap:6px;align-items:center}.inline-form input{width:86px}.inline-form input[name=supplier]{width:130px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(47,111,78,.13);color:var(--accent2);font-weight:850}.badge.warn{background:rgba(173,104,0,.15);color:var(--warn)}.badge.bad{background:rgba(180,35,24,.14);color:var(--bad)}.flash{display:grid;gap:8px;margin-bottom:14px}.flash div,.notice{padding:12px 14px;border-radius:8px;background:rgba(47,111,78,.12);border:1px solid color-mix(in srgb,var(--accent2) 35%,transparent)}.notice{margin:12px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chips span{display:inline-flex;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2)}.archive-form{margin-top:18px}
.nav-form{margin:0}.nav-form button{min-height:0}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,var(--panel) 0,var(--bg) 55%)}.login-wrap{width:min(430px,100%);padding:18px}.login-card{margin:0;padding:24px}.pin-display{height:54px;display:grid;place-items:center;margin:12px 0 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);font-size:24px;font-weight:850;letter-spacing:.22em;color:var(--muted)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{height:64px;font-size:24px;border-color:var(--line);background:var(--panel2);color:var(--text)}.login-submit,.passkey-login{width:100%;justify-content:center;margin-top:12px}.status-line{min-height:24px;margin-top:12px;color:var(--muted)}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.template-card{display:flex;flex-direction:column;gap:14px;margin:0}.template-card form{margin-top:auto}.template-card button{width:100%}.ingredient-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ingredient-list li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}.ingredient-list li:last-child{border-bottom:0}.ingredient-list b{font-size:14px}.ingredient-list small{grid-column:1/-1;color:var(--muted)}
@media(max-width:980px){.template-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){h1{font-size:28px}.topbar{align-items:flex-start;flex-direction:column}nav{width:100%}.title-row,.section-head{display:block}.cards,.metrics,.grid-2,.template-grid{grid-template-columns:1fr}.panel>*,.search>*,.recipe-head>*{width:100%}table{display:block;overflow:auto;white-space:nowrap}.name-input{min-width:0}}
