:root{font-family:Inter,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1b2328;background:#f4f6f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.app-header,.section-header,.item-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.app-header{margin-bottom:16px;align-items:stretch}.app-header h1{margin:4px 0 0;font-size:30px;line-height:1.2}.eyebrow{margin:0;color:#627071;font-size:13px;font-weight:700}.tab-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px}.tab-bar button,.category-tabs button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid #d9dfdc;border-radius:8px;background:#fff;color:#293337;font-weight:700}.tab-bar button.active,.category-tabs button.active{border-color:#176b4d;background:#176b4d;color:#fff}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric{min-height:82px;border:1px solid #dfe5e2;border-left:5px solid #3f6f88;border-radius:8px;background:#fff;padding:14px}.metric span{display:block;color:#607174;font-size:13px;font-weight:700;margin-bottom:10px}.metric strong{font-size:24px;line-height:1.1}.metric.alert{border-left-color:#b42318}.notice-bar{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid #c9ded6;border-radius:8px;background:#eef8f3;color:#14523d;padding:10px 14px;margin-bottom:16px;font-weight:700}main{padding-bottom:40px}.panel{border:1px solid #dfe5e2;border-radius:8px;background:#fff;padding:18px}.login-panel{min-width:360px;padding:12px}.login-panel h2{margin:2px 0 0;font-size:17px}.login-form{display:grid;grid-template-columns:minmax(120px,1fr) 128px;gap:10px;align-items:end;margin-top:10px}.section-header{margin-bottom:16px}.section-header h2,.menu-card h3,.recipe-card h3,.supplier-card h3{margin:0}.section-header h2{font-size:22px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}.cart-panel{position:sticky;top:16px}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.category-tabs button{min-height:36px;padding:0 12px}.menu-grid,.recipe-list,.supplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.menu-card,.recipe-card,.supplier-card{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;border:1px solid #dfe5e2;border-radius:8px;background:#fbfcfb;padding:14px;gap:14px}.recipe-card.inactive{opacity:.72}.pain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pain-card{border:1px solid #dfe5e2;border-radius:8px;background:#fbfcfb;padding:14px}.pain-card h3{margin:0 0 8px;font-size:17px}.pain-card p{margin:0 0 12px;color:#566467;line-height:1.45}.pain-card strong{display:block;color:#176b4d;line-height:1.45}.control-list{display:grid;gap:10px}.control-list div{display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe5e2;border-radius:8px;background:#fbfcfb;padding:12px;color:#253035;font-weight:700}.price{color:#176b4d;font-size:19px;font-weight:800;white-space:nowrap}.muted{margin:4px 0 0;color:#647173}.item-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.stock-badge,.inline-alert{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#e8f2ef;color:#14523d;padding:3px 10px;font-size:13px;font-weight:800;white-space:nowrap}.stock-badge.danger,.inline-alert{background:#fff0ed;color:#a62a20}.inline-alert{margin-left:8px}.icon-button,.small-button,.form-button,.checkout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;font-weight:800}.icon-button{width:36px;height:36px;border:1px solid #d6ddda;background:#fff;color:#293337;flex:0 0 auto}.icon-button.primary,.form-button,.checkout-button{background:#176b4d;color:#fff}.icon-button.danger{border-color:#ffd4cf;color:#b42318}.small-button{min-height:36px;border:1px solid #cfd8d5;background:#fff;color:#293337;padding:0 12px}.small-button.reset{background:#293337;color:#fff}.checkout-button,.form-button{width:100%;min-height:44px;padding:0 16px}.login-form .form-button{min-height:40px;height:40px}.cart-lines{display:grid;gap:10px}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e7e4;border-radius:8px;padding:10px}.cart-line strong,.cart-line span{display:block}.cart-line span{margin-top:4px;color:#647173}.qty-controls{display:flex;align-items:center;gap:6px}.qty-controls span{width:30px;text-align:center;color:#1b2328;font-weight:800}.divider{height:1px;background:#e2e7e4;margin:16px 0}.summary-list{display:grid;gap:8px}.summary-list div{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-list span{color:#647173}.summary-list.compact{border-top:1px solid #e3e8e6;border-bottom:1px solid #e3e8e6;padding:10px 0}.consumption-panel{margin:16px 0}.consumption-panel h3,.subsection-title{margin:0 0 10px;font-size:16px}.material-list,.recipe-lines{display:flex;flex-wrap:wrap;gap:8px}.material-list.compact{margin-top:8px}.material-list.compact span,.recipe-lines span{border:1px solid #dfe5e2;border-radius:999px;background:#fff;padding:4px 9px;font-size:13px}.material-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;width:100%;border-bottom:1px solid #e6ebe8;padding:8px 0}.material-line strong{text-align:right}.material-line small{grid-column:1 / -1;color:#647173}.material-line.danger{color:#b42318}.warning-box{display:flex;align-items:flex-start;gap:8px;border:1px solid #ffd4cf;border-radius:8px;background:#fff7f5;color:#a62a20;padding:10px;margin-bottom:12px;font-weight:700}.empty-state{min-height:90px;display:flex;align-items:center;justify-content:center;border:1px dashed #cfd8d5;border-radius:8px;color:#647173;text-align:center;padding:18px}.stack,.recipes-layout,.suppliers-layout{display:grid;gap:16px}.recipes-layout,.suppliers-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start}.table-wrap{width:100%;overflow-x:auto}table{width:100%;min-width:860px;border-collapse:collapse}th,td{border-bottom:1px solid #e2e7e4;padding:11px 10px;text-align:left;vertical-align:middle}th{color:#607174;font-size:13px;font-weight:800}td{color:#253035}details summary{cursor:pointer;color:#176b4d;font-weight:800}.entry-grid,.stacked-form{display:grid;gap:12px}.entry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stacked-form{grid-template-columns:1fr}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.span-2{grid-column:span 2}label{display:grid;gap:6px;color:#475456;font-size:13px;font-weight:800}input,select,textarea{width:100%;min-height:40px;border:1px solid #cfd8d5;border-radius:8px;background:#fff;color:#1b2328;padding:8px 10px}textarea{resize:vertical}.inline-form{display:grid;grid-template-columns:minmax(90px,1fr) 36px;gap:6px;align-items:center}.recipe-editor{display:grid;gap:8px}.recipe-edit-line{display:grid;grid-template-columns:minmax(0,1fr) 110px 40px 36px;gap:8px;align-items:center}.note{color:#3e4b4d;line-height:1.5}@media(max-width:1100px){.pos-layout,.recipes-layout,.suppliers-layout{grid-template-columns:1fr}.cart-panel{position:static}.metrics-grid,.tab-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.login-panel{min-width:0}}@media(max-width:760px){.app-shell{padding:14px}.app-header,.section-header,.item-row{align-items:flex-start;flex-direction:column}.app-header h1{font-size:24px}.tab-bar,.metrics-grid,.entry-grid,.two-columns,.login-form{grid-template-columns:1fr}.tab-bar button{justify-content:flex-start;padding:0 14px}.category-tabs{justify-content:flex-start}.span-2{grid-column:span 1}.cart-line{grid-template-columns:1fr}.qty-controls{justify-content:flex-start}.recipe-edit-line{grid-template-columns:1fr 100px 36px 36px}}
