:root{--green:#28513d;--ink:#24382e;--muted:#6f7b72;--line:#e1e6dc;--paper:#f5f6f0;--amber:#81581b;--radius:15px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc8c45;outline-offset:3px}header{background:#fff;border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:750;letter-spacing:-1px}.brand small{font-size:10px;letter-spacing:2px;color:var(--muted);align-self:end;padding-bottom:7px}.brand-icon{background:var(--green);color:#fff;border-radius:10px;padding:2px 13px;font-family:Georgia,serif;font-size:30px}.identity{display:flex;align-items:center;gap:12px;font-size:13px}.identity form{margin:0}nav{display:flex;gap:6px;padding:12px max(24px,calc((100vw - 1280px)/2));background:#fff;overflow:auto;border-bottom:1px solid var(--line)}nav a{white-space:nowrap;padding:8px 13px;border-radius:8px;font-size:13px;color:var(--muted)}nav a:hover,nav a.active{background:#edf2e9;color:var(--green);text-decoration:none}main{max-width:1280px;margin:0 auto;padding:40px 24px 60px;min-height:75vh}h1{font-size:34px;line-height:1.2;letter-spacing:-1.2px;font-weight:650;margin:8px 0 12px}h2{font-size:19px;line-height:1.3;margin:0 0 18px;font-weight:650}h3{font-size:16px;margin:0 0 12px}p{margin:0 0 20px;color:var(--muted)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--green);margin-bottom:10px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}.page-head p:last-child{margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 3px 10px #20362b03}.stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:20px;margin-bottom:28px}.stats p{font-size:13px;margin-bottom:10px}.stats strong{display:block;font-size:40px;line-height:1.1;margin-bottom:16px;font-weight:600}.stats small{font-size:12px;color:var(--muted)}.stats h2{font-size:22px;max-width:250px}.stats .warning{background:#fbf5e9;border-color:#ede0bd}.columns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:10px}.section-head a{font-size:12px}.stock-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.stock-row:last-child{border-bottom:0}.stock-row small,td small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.badge{display:inline-block;padding:4px 10px;border-radius:6px;background:#eef0ec;color:#606e62;font-size:12px;white-space:nowrap}.amber{color:var(--amber);background:#f8edcf}.green{background:#eaf3e8;color:var(--green)}.button,button{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;padding:11px 17px;font:600 13px/1.4 system-ui;cursor:pointer;min-height:43px;text-decoration:none;white-space:normal}.button:hover,button:hover{filter:brightness(.94);text-decoration:none}.secondary{background:#fff;color:var(--green);border-color:#cbd7c8}.text-button{background:none;color:var(--green);border:0;padding:4px;min-height:32px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:22px}.actions form{margin:0}.form-card{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}input,select,textarea{width:100%;border:1px solid #ced8ca;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);font:400 16px/1.4 system-ui;margin-top:6px;min-height:45px}textarea{min-height:100px;resize:vertical}label small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:7px}.hint{font-size:13px;line-height:1.7;background:#f4f6f0;padding:15px;border-radius:8px;margin-top:18px}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:680px}th{background:#fafbf7;color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.7px}th,td{padding:18px 21px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.note{min-width:180px;max-width:360px;overflow-wrap:anywhere;white-space:pre-wrap}.positive{color:#2c6948;font-weight:650;white-space:nowrap}.negative{color:#a05a3d;font-weight:650;white-space:nowrap}.search{display:flex;gap:10px;max-width:650px;margin-bottom:22px}.search input{margin:0}.alert{padding:16px 20px;border-radius:10px;margin-bottom:24px;border:1px solid var(--line)}.success{background:#eaf2e7;color:var(--green)}.error{background:#f9e9e4;color:#8f3e2c}.recipe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.ingredient-box{margin:8px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbf8}.ingredient-box summary{cursor:pointer;font-size:12px;color:var(--green);font-weight:650;list-style:none}.ingredient-box summary::-webkit-details-marker{display:none}.ingredient-box summary::after{content:'▾';margin-left:8px;font-size:11px}.ingredient-box[open] summary::after{content:'▴'}.ingredient-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ingredient-tag{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef0ec;color:#566458;font-size:12px}.ingredient-tag.tag-ok{background:#eaf3e8;color:var(--green)}.ingredient-tag.tag-missing{background:#f8edcf;color:var(--amber)}.ingredient-row{display:grid;grid-template-columns:1fr 130px;gap:15px;border-bottom:1px solid var(--line);padding:10px 0;align-items:center}.ingredient-row input{margin:0}.checkbox{display:flex;align-items:center;gap:12px;margin:0}.checkbox input{width:18px;height:18px;min-height:0}.user-row{padding:20px 0;border-bottom:1px solid var(--line)}.user-row:first-of-type{padding-top:0}.user-row:last-child{border-bottom:0}.token{display:block;overflow-wrap:anywhere;margin-top:12px;padding:14px;background:#fff;border-radius:8px;user-select:all}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;max-width:1050px;margin:70px auto}.login-layout h1{font-size:49px;line-height:1.16;letter-spacing:-2px}.login-layout .card{padding:35px}.lead{font-size:17px;line-height:1.8;margin-top:25px}.illustration{display:flex;align-items:center;gap:16px;margin-top:40px;padding:24px 0;border-top:1px solid #d8dfce;font-size:11px;letter-spacing:2px;color:var(--green)}.illustration span{background:#e7eddf;padding:14px 11px;border-radius:9px}.illustration b{color:#9cae90;font-size:20px}footer{max-width:1280px;margin:auto;padding:22px 24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.muted{color:var(--muted);font-size:12px}button:disabled{opacity:.6;cursor:wait}@media(max-width:850px){.columns{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats .card:last-child{grid-column:1/-1}.login-layout{gap:35px;margin:20px auto}.login-layout h1{font-size:38px}.identity .badge{display:none}.recipe-grid{grid-template-columns:1fr}}@media(max-width:580px){header{padding:15px 18px}.brand{font-size:21px}.brand small{display:none}.identity{gap:8px;font-size:12px}.identity .text-button{font-size:11px}nav{padding:8px 12px}main{padding:25px 16px 40px}h1{font-size:28px}.page-head{align-items:start;flex-direction:column;gap:16px}.stats{gap:12px}.card{padding:20px}.table-wrap{padding:0}.stats strong{font-size:34px}.form-grid{grid-template-columns:1fr;gap:0}.login-layout{grid-template-columns:1fr;gap:25px}.login-layout h1{font-size:36px}.illustration{display:none}.login-layout .card{padding:24px}.section-head{flex-wrap:wrap}.section-head h2{margin-bottom:5px}.ingredient-row{grid-template-columns:1fr 100px}.checkbox{font-size:12px}footer{flex-direction:column;gap:5px}.stock-row{gap:8px}.stock-row b{font-size:13px}}
