:root{--red:#a52c2a;--red-dark:#76211f;--ink:#282624;--muted:#817b74;--line:#e8e1d8;--paper:#f7f4ef;--surface:#fff;--green:#47755d;--amber:#c8863e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700}h1{font-size:32px;line-height:1.1;letter-spacing:-1px}h1 em,h2 em{font-family:'Playfair Display',serif;font-weight:600;color:var(--red)}h2{font-size:25px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--red)}.muted{color:var(--muted);font-size:13px}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--red-dark)}.login-art{padding:11vw 9vw;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#9f2b29,#641d1c)}.stamp,.brand-mark{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:700 42px 'Playfair Display',serif;width:76px;height:76px}.login-art p{font-size:42px;line-height:1.04;letter-spacing:-2px}.login-art small{font-size:10px;letter-spacing:2px;opacity:.65}.login-card{align-self:center;justify-self:center;background:#fff;width:min(440px,85%);padding:52px;border-radius:3px;box-shadow:0 22px 60px #4c151544}.login-card h1{margin:14px 0}.login-card label,.price-fields label,.setting label,.dialog-head+label,.form-grid label{display:block;font-size:12px;font-weight:700;color:#625c55;margin-top:22px}.login-card input,.price-fields input,.setting input,.dialog-head~label input,.form-grid input,.dialog-head~label select{display:block;width:100%;border:1px solid var(--line);padding:12px 13px;margin-top:7px;border-radius:2px;background:#fff;outline-color:var(--red)}.primary{background:var(--red);color:#fff;padding:12px 18px;border-radius:2px;font-weight:700}.primary:hover{background:var(--red-dark)}.full{width:100%;margin-top:28px;display:flex;justify-content:space-between}.login-note{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.app{display:flex;min-height:100vh}.sidebar{width:230px;background:#262321;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 8px 70px}.brand-mark{font-size:22px;width:36px;height:36px}.brand strong{display:block;letter-spacing:2px}.brand small{display:block;color:#a7a09a;font-size:10px;margin-top:3px}.nav-item{display:block;background:transparent;color:#a9a39c;text-align:left;width:100%;padding:13px 12px;border-radius:3px;margin:4px 0}.nav-item span{display:inline-block;width:25px;color:#d4ccc3}.nav-item.active,.nav-item:hover{color:#fff;background:#403b36}.sidebar-foot{margin-top:auto}.user-chip{border-top:1px solid #46413c;padding:18px 4px;display:flex;align-items:center;gap:10px}.avatar{background:var(--red);display:grid;place-items:center;border-radius:50%;width:30px;height:30px;font-weight:bold}.user-chip strong,.user-chip small{display:block;font-size:11px}.user-chip small{color:#97918b;margin-top:2px}.logout{background:none;color:#9a948d;padding:8px 4px;font-size:12px}.main{flex:1;max-width:1500px}.topbar{height:100px;border-bottom:1px solid var(--line);padding:27px 5%;display:flex;justify-content:space-between;align-items:center}.top-actions{display:flex;align-items:center;gap:24px}.saved{font-size:11px;color:var(--green)}.saved i{width:7px;height:7px;background:var(--green);display:inline-block;border-radius:50%;margin-right:6px}.icon-button{background:none;color:var(--muted);font-size:20px}.view{padding:44px 5%}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}.workspace-grid{display:grid;grid-template-columns:minmax(500px,1.65fr) minmax(280px,.8fr);gap:20px}.panel,.menu-strip{background:var(--surface);border:1px solid var(--line);border-radius:3px}.panel{padding:26px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.panel h3{font-size:18px}.text-button,.close{background:none;color:var(--muted);font-size:12px}.price-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.price-fields label{margin:0}.unit{float:right;color:var(--muted);font-size:10px;font-weight:400}.table-wrap{overflow-x:auto}.recipe-panel table{margin-top:30px}.recipe-panel th,.recipe-panel td{padding:13px 10px}.recipe-panel th{border-bottom:1px solid var(--line);text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.recipe-panel td{border-bottom:1px solid #f0ece7}.recipe-panel select,.recipe-panel input{width:100%;border:1px solid var(--line);padding:9px;background:#fff}.recipe-panel td:nth-child(1){min-width:190px}.recipe-panel td:nth-child(2){min-width:130px}.money{font-weight:700}.remove{color:#b9b0a8;background:none;font-size:18px}.add-row{background:none;color:var(--red);font-weight:700;padding:18px 0 0}.summary-panel{background:#2c2926;color:#fff}.summary-panel .muted,.summary-panel .eyebrow{color:#aaa29a}.summary-panel h3{color:#fff}.cost-total{border-bottom:1px solid #48423d;padding:6px 0 24px;margin-bottom:26px}.cost-total span{display:block;color:#aaa29a;font-size:12px}.cost-total strong{font-size:31px;margin-top:8px;display:block}.metric-group{border-bottom:1px solid #48423d;padding:0 0 20px;margin-bottom:22px}.metric-label,.metric-sub{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#c2bbb4;margin:10px 0}.metric-label strong{color:#fff;font-size:18px}.metric-sub{font-size:11px;color:#aaa29a}.metric-sub span:last-child{color:#fff}.bar{height:5px;background:#48423d;margin:16px 0 9px}.bar i{display:block;width:0;height:100%;background:#d1a36f}.bar.grab i{background:#8bb59a}.setting{padding-top:2px}.setting input{background:#403b36;color:#fff;border-color:#5a524a}.setting p{font-size:11px;margin-top:8px}.menu-strip{margin-top:20px;padding:23px 26px;display:flex;gap:35px;align-items:center}.menu-list{display:flex;gap:10px;flex-wrap:wrap}.menu-pill{border:1px solid var(--line);padding:11px 15px;background:#fff;min-width:150px}.menu-pill.active{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}.menu-pill strong,.menu-pill small{display:block}.menu-pill small{color:var(--muted);font-size:11px;margin-top:4px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.search{border:1px solid var(--line);padding:11px 13px;width:240px}.ingredients table{width:100%}table{border-collapse:collapse;width:100%}.ingredients th,.ingredients td{padding:14px 10px;border-bottom:1px solid #f0ece7;text-align:left}.ingredients th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.ingredient-name{font-weight:700}.subline{font-size:11px;color:var(--muted);display:block;margin-top:3px}.edit-btn{background:none;color:var(--red);font-size:12px;font-weight:700}dialog{border:0;padding:0;border-radius:3px;box-shadow:0 20px 70px #32251f33;width:min(480px,calc(100% - 30px))}dialog::backdrop{background:#28211d66}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.dialog-head h3{font-size:22px;margin-top:7px}.dialog-head~label{margin-top:0}.dialog-head~label input,.dialog-head~label select{display:block}.dialog-head~label,.form-grid label{color:#625c55}.dialog-head,.dialog-head~label,.form-grid,.dialog-actions{margin-left:30px;margin-right:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{margin-top:18px}.form-grid input,.form-grid select{display:block;width:100%;border:1px solid var(--line);padding:11px;margin-top:7px;background:#fff}.dialog-head{padding-top:30px}.close{font-size:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:20px 0;margin-top:28px}.secondary{padding:12px 17px;background:#f0ece7;color:var(--ink);font-weight:700}
@media(max-width:850px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{margin:30px auto}.sidebar{width:68px;padding:24px 10px}.brand{margin:0 5px 55px}.brand div,.nav-item:not(.active)::after,.nav-item{font-size:0}.nav-item span{font-size:18px;width:auto}.nav-item.active{font-size:0;text-align:center}.sidebar-foot .user-chip div,.logout{display:none}.user-chip{justify-content:center}.topbar{padding:20px 6%;height:90px}.view{padding:32px 6%}.workspace-grid{grid-template-columns:1fr}.price-fields{grid-template-columns:1fr 1fr}.price-fields label:first-child{grid-column:span 2}.menu-strip{display:block}.menu-list{margin-top:18px}.toolbar{align-items:flex-start;gap:20px;flex-direction:column}.search{width:100%}}
@media(max-width:500px){.top-actions .saved{display:none}.section-intro{align-items:flex-start;gap:20px;flex-direction:column}.section-intro .primary{align-self:stretch}.price-fields{grid-template-columns:1fr}.price-fields label:first-child{grid-column:auto}.panel{padding:19px}.recipe-panel td:nth-child(1){min-width:150px}}
.file-button{display:inline-block}.file-button input{display:none}.import-panel{min-height:180px}.import-top{display:flex;justify-content:space-between;gap:20px}.file-limit{color:var(--amber);font-size:11px;font-weight:700;background:#fff5e9;padding:7px 10px;height:max-content}.import-empty{text-align:center;padding:38px;border:1px dashed #d8cec2;margin-top:22px;color:var(--muted)}.import-empty strong,.import-empty span{display:block}.import-empty strong{color:var(--ink);margin-bottom:6px}.import-status{padding:13px 0;color:var(--green);font-size:12px}.review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.sales-lower{display:grid;grid-template-columns:1.6fr .8fr;gap:20px;margin-top:20px}.big-number{font-size:20px}.top-selling h3{margin-top:7px}.top-item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.rank{font:700 18px 'Playfair Display',serif;color:var(--red);width:20px}.top-item strong{display:block}.top-item small{color:var(--muted)}.#review-body input,#review-body select{border:1px solid var(--line);padding:8px;width:100%}@media(max-width:850px){.sales-lower{grid-template-columns:1fr}.import-top{display:block}.file-limit{display:inline-block;margin-top:14px}}
