:root{--bg:#0c1010;--panel:#141919;--raised:#1d2423;--line:#303a36;--gold:#e1bf55;--text:#f5f3ea;--muted:#9fa9a3;--green:#80c7a0;--red:#ef9d91}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 15px;background:var(--raised);color:var(--text)}button:hover{border-color:var(--gold)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.primary{background:var(--gold);color:#11170f;border-color:var(--gold);font-weight:700}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--gold);font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.15;letter-spacing:-1px}h2{font-size:26px;line-height:1.3}h3{font-size:18px}small,.muted{color:var(--muted)}label{display:grid;gap:7px;font-size:13px}input,select,textarea{width:100%;padding:11px;background:var(--bg);border:1px solid var(--line);border-radius:7px;color:var(--text);min-width:0}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}#login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{padding:50px 10%;background:radial-gradient(ellipse at bottom left,#3e352233,transparent 65%);display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.login-brand img{width:190px;height:210px;object-fit:cover;object-position:top;margin-bottom:40px}.login-brand h1 span{color:var(--gold)}.login-brand p:last-child{color:var(--muted);max-width:390px;font-size:18px}#loginForm{width:100%;max-width:450px;align-self:center;justify-self:center;padding:35px}#loginForm label{margin:22px 0}#loginForm>.primary{width:100%}#loginError{color:var(--red);margin:15px 0}#app{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;padding:25px 19px;border-right:1px solid var(--line);background:#111615;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:35px}.brand img{width:54px;height:60px;object-fit:cover;object-position:top;border-radius:50%}.brand strong{font-size:12px;letter-spacing:.6px}.brand small{display:block;font-size:11px}nav{display:grid;gap:7px}nav button{text-align:left;background:none;border-color:transparent;color:var(--muted)}nav button.active{background:#e1bf5513;border-color:#e1bf5530;color:var(--gold)}.aside-bottom{margin-top:auto;padding-top:25px;color:var(--muted);font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}header{padding:20px 35px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}header strong{display:block;font-size:19px}.header-actions{display:flex;gap:8px;align-items:center}.header-actions span{font-size:12px;color:var(--muted);margin-right:10px}.header-actions button{font-size:12px}main{padding:35px;max-width:1650px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.heading h1{font-size:32px;margin-bottom:8px}.heading p{margin-bottom:0;color:var(--muted)}.period{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:24px}.period label{max-width:180px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:23px}.stat small{display:block;font-size:12px}.stat strong{display:block;font-size:27px;margin:7px 0;color:var(--text);letter-spacing:-.5px}.stat:first-child{border-color:#e1bf5555}.stat:first-child strong{color:var(--gold)}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.columns{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.notice{padding:14px 18px;background:#e1bf550c;border:1px solid #e1bf5533;border-radius:8px;color:#d7c898;font-size:13px;margin-bottom:22px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;text-align:left;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #303a3660;vertical-align:top}td small{display:block}tbody tr:hover{background:#ffffff02}.pill{display:inline-block;font-size:10px;padding:3px 8px;border-radius:20px;background:#e1bf5515;color:var(--gold)}.pill.green{color:var(--green);background:#80c7a015}.pill.red{color:var(--red);background:#ef9d9115}.empty{color:var(--muted);padding:25px;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.checklabel{display:flex;align-items:center;gap:9px}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.product-card{padding:18px;text-align:left;background:var(--panel);min-height:120px}.product-card strong{display:block;font-size:14px;line-height:1.35}.product-card small{display:block;margin:5px 0}.product-card b{color:var(--gold);font-size:19px}.cart-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row span{flex:1}.cart-row input{width:70px}.cart-total{font-size:25px;font-weight:bold;display:flex;justify-content:space-between;margin:20px 0}.recipe-row{display:flex;gap:8px;margin-bottom:8px}.recipe-row select{flex:1}.recipe-row input{width:100px}.legend{font-size:12px;color:var(--muted)}footer{padding:20px 35px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:25px;max-width:760px;width:calc(100% - 30px);max-height:90vh;overflow:auto}dialog::backdrop{background:#000a}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-heading h2{margin:0}#toast{position:fixed;bottom:25px;right:25px;max-width:480px;padding:15px 22px;border:1px solid var(--gold);border-radius:8px;background:var(--raised);z-index:100}#busy{position:fixed;inset:0;background:#0c1010c9;display:grid;place-content:center;justify-items:center;z-index:200}.spinner{width:35px;height:35px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bars{display:grid;gap:14px}.bar-label{display:flex;justify-content:space-between;font-size:13px}.bar{height:6px;border-radius:5px;background:var(--raised);margin-top:7px}.bar span{display:block;height:100%;background:var(--gold);border-radius:5px}[hidden]{display:none!important}@media(max-width:1100px){#app{grid-template-columns:200px 1fr}.stats{grid-template-columns:1fr 1fr}.columns{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr}main,header{padding:22px}h1{font-size:33px}}@media(max-width:700px){#login{grid-template-columns:1fr}.login-brand{padding:25px;border-right:0;border-bottom:1px solid var(--line)}.login-brand img{width:80px;height:90px;margin:0}.login-brand h1,.login-brand p{display:none}#app{grid-template-columns:1fr}aside{height:auto;position:static;padding:15px}.brand{margin-bottom:12px}aside>.eyebrow,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;font-size:12px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-actions span{width:100%;text-align:right}.header-actions button{font-size:10px;padding:7px}header{gap:7px}main{padding:18px}.heading{align-items:start}.heading h1{font-size:27px}.stat{padding:15px}.stat strong{font-size:22px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.product-grid{grid-template-columns:1fr 1fr}.product-card{padding:12px}.product-card strong{font-size:12px}.card{padding:17px}.period button{font-size:12px;padding:8px}.period label{max-width:145px}footer{padding:15px}}
#app>*{min-width:0}.columns>*{min-width:0}.stat{min-width:0}.bar-label span{overflow-wrap:anywhere}@media(max-width:700px){#app{grid-template-columns:minmax(0,1fr)}aside,nav{min-width:0;max-width:100%}.heading{flex-wrap:wrap}.header-actions{max-width:65%}}
