:root{color:#2e2925;font-synthesis:none;background:#efe9df;font-family:Inter,Noto Sans TC,PingFang HK,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#fff9ef 0,#efe9df 38%,#e7e0d6 100%);min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:#fbf8f2;width:min(100%,520px);min-height:100vh;margin:auto;padding:74px 14px 104px;position:relative;box-shadow:0 0 70px #392b1b1f}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf8f2f0;border-bottom:1px solid #e7dfd2;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;width:min(100%,520px);height:64px;padding:10px 14px;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}.brand-mark{color:#fff;background:#2f2a25;border-radius:14px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:900;display:grid}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy strong{font-size:15px}.brand-copy span{color:#82776a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.state-pill{color:#4d463f;background:#fff;border:1px solid #d8cfbf;border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:11px;font-weight:800;display:flex}.state-pill i{background:#2d9c62;border-radius:50%;width:8px;height:8px}.app-shell[data-mode=offline] .state-pill i{background:#8d8070}.app-shell[data-mode=degraded] .state-pill i{background:#d89521}.authority-strip{background:#fff8e8;border:1px solid #ead8b2;border-radius:13px;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-bottom:10px;padding:9px 11px;font-size:11px;display:flex}.authority-strip b{color:#875315}.authority-strip span{color:#665b50}.authority-strip em{color:#9d3b32;margin-left:auto;font-style:normal;font-weight:900}.notice,.recovery-banner{border-radius:14px;align-items:flex-start;gap:9px;margin-bottom:10px;padding:11px 12px;font-size:12px;line-height:1.4;display:flex}.notice{color:#7d302a;background:#fff0ed;border:1px solid #e6b5ae}.notice span{flex:1}.notice button,.recovery-banner button{color:inherit;background:0 0;border:0;font-weight:900}.recovery-banner{background:#fff7df;border:1px solid #e4ca83;grid-template-columns:1fr auto;display:grid}.recovery-banner strong{grid-column:1}.recovery-banner span{color:#6d5d3c;grid-column:1}.recovery-banner button{grid-area:1/2/3}.recovery-banner.offline{background:#f2f0ec;border-color:#cfc7bc}.stage{min-height:calc(100vh - 185px)}.page{gap:12px;display:grid}.hero{background:linear-gradient(145deg,#fff,#f5eee4);border:1px solid #e7ddd0;border-radius:20px;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px;display:flex;box-shadow:0 10px 30px #362a1b0d}.hero.compact{padding:14px}.hero>div:first-child{gap:3px;display:grid}.hero span,.hero small{color:#837566;font-size:12px}.hero h1{margin:0;font-size:20px}.hero-count{place-items:end;display:grid}.hero-count b{font-size:30px;line-height:1}.hero-count small{font-size:11px}.tag{letter-spacing:.06em;color:#9d3b32;background:#fff0ed;border-radius:999px;padding:6px 8px;font-size:10px}.category-rail{scrollbar-width:none;gap:7px;padding:2px 1px 4px;display:flex;overflow:auto}.category-rail::-webkit-scrollbar{display:none}.category-rail button,.segmented button{white-space:nowrap;color:#5d544a;background:#fff;border:1px solid #ded4c7;border-radius:999px;padding:10px 13px;font-weight:800}.category-rail button.active,.segmented button.active{color:#fff;background:#2f2a25;border-color:#2f2a25}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.product-card{text-align:left;background:#fff;border:1px solid #e6dccf;border-radius:18px;gap:7px;min-height:148px;padding:12px;display:grid;box-shadow:0 8px 24px #372b1e0a}.product-card strong{font-size:15px}.product-card small{color:#6f655c}.product-card i{color:#9a6c36;font-size:10px;font-style:normal}.product-card.disabled{opacity:.48}.product-avatar{color:#80562e;background:#f1e5d3;border-radius:16px;place-items:center;width:48px;height:48px;font-size:20px;font-weight:900;display:grid}.cart-bar{z-index:5;color:#fff;background:#2f2a25;border:0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;width:100%;padding:12px 14px;display:grid;position:sticky;bottom:88px;box-shadow:0 12px 30px #2b211638}.cart-bar div:first-child{align-items:center;gap:6px;display:flex}.cart-bar b{color:#2f2a25;background:#fff;border-radius:10px;place-items:center;width:28px;height:28px;display:grid}.cart-bar div:nth-child(2){text-align:left;display:grid}.cart-bar strong{font-size:13px}.cart-bar small{color:#d9d1c8;font-size:10px}.cart-bar em{font-style:normal;font-weight:900}.cards{gap:10px;display:grid}.work-card,.order-card,.dine-card,.panel{background:#fff;border:1px solid #e6dccf;border-radius:18px;padding:13px}.work-card{grid-template-columns:1fr auto;gap:10px;display:grid}.work-card.alert{background:#fff9f7;border-color:#e9b4ad}.work-main{gap:5px;display:grid}.eyebrow{color:#807467;justify-content:space-between;gap:10px;font-size:11px;display:flex}.work-main h2,.order-card h2,.dine-card h2,.panel h2{margin:0;font-size:17px}.work-main p{color:#665d54;margin:0;font-size:12px}.work-side{align-content:space-between;justify-items:end;gap:10px;display:grid}.work-side button,.order-actions button,.dine-card button,.panel button,.drawer button,.sheet button,.tool-card{color:#4f463d;background:#fff;border:1px solid #d9cfbf;border-radius:12px;padding:9px 11px;font-weight:800}.status{color:#5f5448;background:#eee8df;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:900}.status.warning{color:#8b5b08;background:#fff0ce}.status.critical{color:#9b342b;background:#ffe5e1}.status.positive{color:#257049;background:#e5f5eb}.status.unknown{color:#654c94;background:#eee9f8}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.search{color:#6d6258;gap:5px;font-size:12px;display:grid}.search input,.field-grid input{background:#fff;border:1px solid #ded4c7;border-radius:13px;outline:none;min-height:46px;padding:0 12px}.order-card{gap:11px;display:grid}.order-head,.order-meta{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.order-head small{color:#84786c}.order-meta{color:#64594f;font-size:12px}.order-meta b{color:#2f2a25;font-size:16px}.order-card p{color:#6f6459;margin:0;font-size:12px}.order-actions{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}.order-actions .danger{color:#a4372e;background:#fff7f5;border-color:#e7b8b1}.field-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-grid label{color:#6d6258;gap:5px;font-size:12px;display:grid}.panel{gap:11px;display:grid}.primary{color:#fff!important;background:#2f2a25!important;border-color:#2f2a25!important}.wide{width:100%}.dine-card{justify-content:space-between;align-items:center;gap:10px;display:flex}.dine-card>div{gap:4px;display:grid}.dine-card small{color:#817569}.tool-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.tool-card{text-align:left;grid-template-columns:auto 1fr;gap:4px 9px;min-height:116px;padding:13px;display:grid}.tool-card>span{color:#9f6a31;grid-row:1/4;font-size:18px}.tool-card strong{font-size:14px}.tool-card small{color:#75695d;font-size:11px}.tool-card em{color:#9c443a;font-size:10px;font-style:normal}.drawer{z-index:30;width:min(100%,520px);max-height:78vh;padding:14px 14px calc(20px + env(safe-area-inset-bottom));background:#fffaf4;border-radius:24px 24px 0 0;position:fixed;bottom:0;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 -18px 50px #2d221633}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.drawer-head strong{font-size:18px}.callout{color:#725730;background:#fff7e7;border-radius:12px;padding:11px;font-size:12px;line-height:1.45}.list-row{border-bottom:1px solid #eee5da;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.list-row>div{gap:3px;display:grid}.list-row small{color:#7b7065}.metric-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.metric{background:#f8f3ec;border-radius:14px;gap:5px;padding:12px;display:grid}.metric span{color:#786b5f;font-size:11px}.metric strong{font-size:16px}.diag-line{border-bottom:1px solid #eee5da;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 0;display:grid}.diag-line b{color:#257049}.diag-line b.warn{color:#986b13}.diag-line small{color:#7f7469}.registry{gap:16px;display:grid}.registry section{gap:6px;display:grid}.registry h3{color:#8b5c27;margin:0;font-size:12px}.registry article{border:1px solid #eee3d6;border-radius:12px;justify-content:space-between;gap:8px;padding:9px;display:flex}.registry article>div{gap:2px;display:grid}.registry strong{font-size:12px}.registry small{color:#8b7e71;font-size:9px}.registry span{color:#6f6459;text-align:right;font-size:10px}.registry em{color:#2d7b54;font-size:9px;font-style:normal}.registry em.red{color:#a83b31}.bottom-nav{z-index:25;width:min(100%,520px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf8f2f7;border-top:1px solid #e4dace;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#807469;background:0 0;border:0;border-radius:14px;place-items:center;min-height:64px;display:grid;position:relative}.bottom-nav button>span{font-size:18px;font-weight:900}.bottom-nav button small{font-size:10px;font-weight:800}.bottom-nav button.active{color:#2f2a25;background:#ece3d6}.bottom-nav button b{color:#fff;background:#a64137;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:10px;display:grid;position:absolute;top:5px;right:10px}.overlay{z-index:40;background:#2a221b66;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,520px);max-height:88vh;padding:10px 14px calc(18px + env(safe-area-inset-bottom));background:#fffaf5;border-radius:24px 24px 0 0;overflow:auto;box-shadow:0 -20px 55px #261c1238}.sheet-grabber{background:#d7cbbd;border-radius:999px;width:48px;height:5px;margin:0 auto 10px}.sheet header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.sheet header>div{gap:3px;display:grid}.sheet header span,.sheet header small{color:#7e7266;font-size:11px}.sheet h2{margin:0;font-size:20px}.sheet header>button{background:#efe7dc;border:0;border-radius:12px;width:36px;height:36px}.option-group{gap:9px;margin-top:17px;display:grid}.option-group>div:first-child{align-items:center;gap:8px;display:flex}.option-group em,.option-group>div:first-child span{color:#8a5a0c;background:#fff0cf;border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option-grid button.active{color:#fff;background:#2f2a25;border-color:#2f2a25}.sheet-actions{background:#fffaf5;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:18px;padding:10px 0 2px;display:grid;position:sticky;bottom:-18px}.sheet-actions button{min-height:50px}.cart-lines{gap:8px;margin-top:10px;display:grid}.cart-lines article{border:1px solid #e8ded2;border-radius:13px;justify-content:space-between;gap:10px;padding:10px;display:flex}.cart-lines article>div{gap:3px;display:grid}.cart-lines small{color:#786d62}.quote-box,.pending-box{background:#f5efe7;border-radius:15px;gap:4px;margin-top:12px;padding:13px;display:grid}.quote-box span,.pending-box span{color:#817469;font-size:10px}.quote-box small,.pending-box small{color:#72665b;font-size:11px}.pending-box{background:#fff5e4;border:1px solid #edd29a}.empty{text-align:center;color:#7c7166;padding:20px}@media (width<=360px){.product-grid,.tool-grid,.field-grid,.metric-grid,.order-actions,.work-card{grid-template-columns:1fr}.work-side{justify-items:stretch}.work-side button{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.source-filter{scrollbar-width:none;gap:7px;padding:1px 0 3px;display:flex;overflow:auto}.source-filter::-webkit-scrollbar{display:none}.source-filter button{white-space:nowrap;color:#62584e;background:#fff;border:1px solid #ded4c7;border-radius:999px;padding:9px 11px;font-size:11px;font-weight:800}.source-filter button.active{color:#fff;background:#2f2a25;border-color:#2f2a25}.qty-stepper{background:#ece4d8;border-radius:10px;align-items:center;gap:6px;padding:3px;display:flex}.qty-stepper button{background:#fffaf4;border:0;border-radius:8px;width:28px;height:28px;font-weight:900}.qty-stepper button:disabled{opacity:.35}.qty-stepper b{text-align:center;min-width:18px}.pending-actions{grid-template-columns:1fr 1.5fr;gap:7px;margin-top:10px;display:grid}.pending-actions button{background:#fffaf4;border:1px solid #cfbea8;border-radius:10px;padding:9px;font-weight:800}.option-group>small{color:#8d7d6f;margin-top:6px;font-size:9px;display:block}.empty-state{text-align:center;justify-items:center;gap:8px;padding:26px 18px;display:grid}.empty-state h2{margin:0;font-size:18px}.empty-state p{color:#766b61;max-width:34ch;margin:0;line-height:1.55}.option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option-list button{color:#4b433b;background:#fff;border:1px solid #ded3c7;border-radius:12px;min-height:44px;font-weight:800}.option-list button.active{color:#fff;background:#2f2a25;border-color:#2f2a25}.option-list button:disabled{opacity:.35}.sheet footer{background:#fffaf5;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:18px;padding:12px 0 2px;display:grid;position:sticky;bottom:-18px}.sheet footer button{min-height:48px}.cart-line{border-bottom:1px solid #ece2d7;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.cart-line>div:first-child{gap:3px;display:grid}.cart-line small{color:#7b7065}.qty{align-items:center;gap:6px;display:flex}.qty button{background:#fff;border:1px solid #ddd2c6;border-radius:10px;width:32px;height:32px}.cart-total{background:#f3ece3;border-radius:14px;gap:4px;margin-top:14px;padding:14px;display:grid}.cart-total span,.cart-total small{color:#7d7166;font-size:11px}.cart-total strong{font-size:18px}.row-actions{justify-items:end;gap:6px;display:grid}.row-actions button{min-width:94px}.timeline{border-top:1px solid #ece2d7;gap:7px;margin-top:12px;padding-top:10px;display:grid}.timeline>div{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;display:grid}.timeline b{font-size:12px}.timeline span{color:#74695f;grid-column:1/2;font-size:11px}.timeline small{color:#92867a;grid-area:1/2/3;font-size:10px}.primary:disabled,button:disabled{cursor:not-allowed}.tool-card em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.state-pill{max-width:180px}.brand-copy span{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}@media (width<=420px){.cart-line{grid-template-columns:1fr auto}.cart-line>.danger{grid-column:1/3}.row-actions{grid-column:1/3;grid-template-columns:1fr 1fr;justify-items:stretch;width:100%}.option-list{grid-template-columns:1fr 1fr}}.staff-login label{color:#6d6258;gap:6px;font-size:12px;display:grid}.staff-login select,.staff-login input{color:#2f2a25;background:#fff;border:1px solid #ded4c7;border-radius:13px;outline:none;min-height:46px;padding:0 12px}.staff-login .danger{color:#a4372e;background:#fff7f5;border-color:#e7b8b1}.connection-settings{gap:12px;display:grid}
