:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#252823;background:#f5f2eb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #d7d8d1;border-radius:12px;background:#fff;color:#252823;padding:9px 14px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #497563;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#244f42;color:#fff;border-color:#244f42;font-weight:700}.danger{color:#a3362d;border-color:#d9aaa5}.ghost{background:transparent}.app{max-width:1600px;margin:auto;padding:18px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d8d8d1;padding-bottom:14px}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:.03em}.sub{font-size:13px;color:#626862}.nav,.row,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav{margin:16px 0}.nav button.active{background:#303a33;color:white}.grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);gap:18px}.panel{background:#fff;border:1px solid #e0e0d9;border-radius:18px;padding:18px;min-width:0}.panel h2{font-size:21px;margin:0 0 15px}.panel h3{font-size:17px}.muted{color:#626862}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product{min-height:78px;text-align:left;padding:12px;background:#fafaf7}.product strong,.product span{display:block}.product span{margin-top:5px;color:#565f56}.tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.tabs button{white-space:nowrap}.tabs .selected{background:#e3ece6;border-color:#739481}.line,.order{border:1px solid #e0e1d9;border-radius:14px;padding:13px;margin:10px 0}.linehead{display:flex;justify-content:space-between;gap:10px}.line strong{font-size:16px}.line small{display:block;color:#5f665f;margin-top:5px}.qty{display:flex;align-items:center;gap:8px}.qty button{min-width:44px}.field{display:grid;gap:5px;margin:10px 0}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #c9cec6;border-radius:10px;background:#fff}.field textarea{min-height:65px}.total{display:flex;justify-content:space-between;align-items:center;font-size:24px;font-weight:700;border-top:1px solid #deded8;padding:15px 0}.checkout{width:100%;font-size:20px;min-height:58px}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#e9eee9;font-size:12px;font-weight:700}.badge.warn{background:#fff1d5}.badge.cancel{background:#f7dfdc}.order h3{margin:5px 0;font-size:22px}.order .items{margin:7px 0;color:#454b45}.kitchen{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.kitchen .order{margin:0}.cook{display:block;width:100%;position:relative;overflow:hidden;text-align:left;margin:7px 0;font-size:18px;font-weight:700;min-height:62px}.cook::after{content:"";position:absolute;right:0;top:0;bottom:0;width:0;background:#b8ddc6;opacity:.5;transition:width .25s;pointer-events:none}.cook.done::after{width:100%}.cook span{position:relative;z-index:1}.notice{padding:12px;border-radius:12px;background:#fff4db;margin:10px 0}.ok{background:#e5f2e9}.empty{padding:32px 12px;text-align:center;color:#697169}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.metric{background:#f4f5f0;padding:14px;border-radius:12px}.metric strong{display:block;font-size:23px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:9px;border-bottom:1px solid #e4e5df}.table td:last-child,.table th:last-child{text-align:right}.stack{display:grid;gap:12px}.sr{position:absolute;left:-10000px}@media(max-width:850px){.grid{grid-template-columns:1fr}.app{padding:12px}.panel{padding:14px}}@media(max-width:390px){.products{grid-template-columns:1fr}.top{align-items:flex-start}.brand{font-size:22px}}@media(orientation:landscape) and (min-width:600px){.app{max-width:none;padding:10px 14px}.top{padding-bottom:7px}.nav{margin:8px 0;flex-wrap:nowrap;overflow-x:auto}.nav button{white-space:nowrap;flex:none}.grid{grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:10px}.grid>.panel{max-height:calc(100dvh - 112px);overflow:auto;overscroll-behavior:contain}.panel{padding:12px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.product{min-height:62px}.line,.order{margin:7px 0;padding:10px}}@media(orientation:landscape) and (min-width:900px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.cook::after{transition:none}}
/* One-device landscape workflow: kitchen left, checkout right. */
@media(orientation:landscape) and (min-width:600px){.grid{grid-template-columns:minmax(250px,.85fr) minmax(0,1.45fr)}.grid>.panel:first-child{grid-column:2;grid-row:1}.grid>.kitchen-side{grid-column:1;grid-row:1}.kitchen-side .cook{min-height:56px}}
/* Kitchen gets the larger side of the one-device screen. */
@media (orientation:landscape) and (min-width:600px){.grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr)}.grid>.kitchen-side{background:#fbfaf6}.kitchen-side .order{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:14px;align-items:center;padding:14px}.kitchen-side .order h3{grid-column:1;grid-row:1;font-size:30px;margin:0}.kitchen-side .order .sub{grid-column:1;grid-row:2;align-self:start}.kitchen-side .cook{grid-column:2;min-height:56px;margin:3px 0;font-size:18px}.grid>.panel:first-child .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (orientation:landscape) and (min-width:600px) and (max-width:850px){.grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.kitchen-side .order{grid-template-columns:70px minmax(0,1fr);column-gap:8px}.kitchen-side .order h3{font-size:24px}.kitchen-side .cook{font-size:16px}}
/* Tripot POS is operated in landscape; keep the two work areas side by side. */
.grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:10px}.grid>.panel:first-child{grid-column:2;grid-row:1}.grid>.kitchen-side{grid-column:1;grid-row:1;background:#fbfaf6}.grid>.panel{max-height:calc(100dvh - 112px);overflow:auto;overscroll-behavior:contain}.kitchen-side .order{display:grid;grid-template-columns:94px minmax(0,1fr);column-gap:14px;align-items:center;padding:14px}.kitchen-side .order h3{grid-column:1;grid-row:1;font-size:30px;margin:0}.kitchen-side .order .sub{grid-column:1;grid-row:2;align-self:start}.kitchen-side .cook{grid-column:2;min-height:56px;margin:3px 0;font-size:18px}.grid>.panel:first-child .products{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.kitchen-side .order{display:block}.kitchen-side .order h3{font-size:25px}.kitchen-side .cook{font-size:16px}.app{min-width:620px}}
.extras{border-top:1px solid #e4e5df;margin-top:9px;padding-top:6px}.extras summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#315c49;font-weight:700}.extras[open] summary{margin-bottom:8px}.extras .row{gap:12px;padding:4px 0}.extras label{cursor:pointer}
.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.payment-options button{min-height:54px;font-weight:700;font-size:17px}.payment-options button.selected{background:#244f42;color:#fff;border-color:#244f42}.change-details{border:1px solid #d7d8d1;border-radius:12px;padding:0 12px}.change-details summary{cursor:pointer;min-height:48px;display:flex;align-items:center;color:#315c49;font-weight:700}.change-details[open]{padding-bottom:12px}
/* Compact top bar keeps the work areas tall. */
.app{max-width:none;padding:8px 12px}.top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:2px 0 8px;margin-bottom:8px}.top .brand{font-size:25px;white-space:nowrap}.top .sub{font-size:12px}.top .nav{margin:0;display:flex;flex-wrap:nowrap;overflow-x:auto;min-width:0;gap:5px}.top .nav button{white-space:nowrap;flex:none;min-height:44px;padding:7px 12px}.top .status{text-align:right;white-space:nowrap}.grid>.panel{max-height:calc(100dvh - 82px)}.product{min-height:76px}.grid>.panel:first-child .products{gap:8px}.kitchen-side .order{margin:8px 0}
@media(max-width:900px){.top{grid-template-columns:auto minmax(0,1fr)}.top .status{display:none}.top .brand{font-size:21px}.top .nav button{padding:6px 10px}.grid>.panel{max-height:calc(100dvh - 76px)}}
@media(min-width:1400px){.grid>.panel:first-child .products{grid-template-columns:repeat(3,minmax(0,1fr))}}
.product{position:relative;padding-right:50px}.product.in-cart{border:2px solid #497563;background:#edf4ee}.product-count{position:absolute;right:10px;top:10px;min-width:32px;height:32px;border-radius:999px;background:#244f42;color:#fff;display:grid;place-items:center;font-size:18px;line-height:1}
.product{touch-action:pan-y}.product::selection{background:transparent}.item-name{border:0;background:transparent;padding:0;min-height:44px;text-align:left;font-weight:700;font-size:16px;color:#244f42}.item-name span{font-size:13px}.extras-panel{border-top:1px solid #e4e5df;margin-top:8px;padding-top:8px}.extras-panel[hidden]{display:none!important}.extras-panel .row{gap:12px}.extras-panel label{cursor:pointer}
/* Original vertical order, with a reachable checkout footer. */
.grid>.pos-panel{display:flex;flex-direction:column;overflow:hidden}.pos-panel>h2{flex:none;margin-bottom:4px}.pos-panel>.sub{flex:none;margin-bottom:5px}.product-catalog{flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain}.order-section{flex:none;max-height:18%;display:flex;flex-direction:column;min-height:60px;border-top:1px solid #e3e4dd}.order-section h3{flex:none;margin:5px 0}.cart-list{overflow-y:auto;min-height:0}.cart-list .empty{padding:8px}.checkout-bottom{flex:none;background:#fff;border-top:1px solid #deded8;padding-top:3px}.checkout-bottom .total{border-top:0;padding:4px 0;font-size:20px}.checkout-bottom .field{margin:4px 0}.checkout-bottom .field input{padding:8px}.checkout-bottom .field textarea{min-height:38px;max-height:45px;padding:8px}.checkout-bottom .payment-options button{min-height:46px}.checkout-bottom .checkout{min-height:52px}.checkout-bottom #change{font-size:13px}
.adjustments{border:1px solid #d7d8d1;border-radius:11px;padding:0 10px}.adjustments summary{cursor:pointer;min-height:42px;display:flex;align-items:center;color:#315c49;font-weight:700}.adjustments[open]{padding-bottom:7px}.adjustments .field{margin:4px 0}.free-option{display:flex;gap:8px;align-items:center;min-height:44px;font-weight:700}.free-option input{width:22px;height:22px}
.checkout-bottom .adjustments{margin:3px 0}
/* Checkout adjustments open from the total amount. */
.checkout-bottom .adjustments{border:0;padding:0;margin:0}.checkout-bottom .adjustments summary.total{display:flex;min-height:48px;padding:4px 0;cursor:pointer;list-style:none;color:#252823}.checkout-bottom .adjustments summary.total::-webkit-details-marker{display:none}.checkout-bottom .adjustments summary.total small{font-size:12px;font-weight:500;color:#5f665f}.checkout-bottom .adjustments[open]{padding-bottom:6px}.checkout-bottom .adjustments[open] summary.total{margin-bottom:4px}
/* Reusable physical ticket numbers sit beside the category tabs. */
.catalog-head{display:flex;align-items:flex-start;gap:6px}.catalog-head .tabs{flex:1;min-width:0}.ticket-config{position:relative;flex:none;z-index:4}.ticket-config summary{list-style:none;cursor:pointer;white-space:nowrap;min-height:44px;padding:10px 9px;border:1px solid #b9c8bb;border-radius:11px;background:#edf4ee;color:#244f42;font-weight:700;font-size:13px}.ticket-config summary::-webkit-details-marker{display:none}.ticket-config[open] form{position:absolute;right:0;top:48px;width:250px;padding:12px;background:#fff;border:1px solid #c9cec6;border-radius:12px;box-shadow:0 8px 24px #0002;display:grid;gap:7px}.ticket-config form label{display:grid;grid-template-columns:90px 1fr;align-items:center;font-size:13px}.ticket-config form input{width:100%;padding:7px;border:1px solid #c9cec6;border-radius:8px}.ticket-config form small{color:#626862}.group-no{display:block;font-size:12px;color:#626862;font-weight:400}.kitchen-side .order .group-no{grid-column:1;grid-row:2}.kitchen-side .order .sub{grid-column:1;grid-row:3}.kitchen-side .order .cook{grid-column:2}
.catalog-head{flex-wrap:wrap}.ticket-config[open]{width:100%}.ticket-config[open] form{position:static;top:auto;right:auto;width:100%;box-shadow:none;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.ticket-config form label{display:grid;grid-template-columns:1fr;gap:3px}.ticket-config form small{grid-column:1/-1}
/* Number cards and add-on flags are high contrast for a busy kitchen. */
.ticket-config summary{background:#7a3f1c;color:#fff;border-color:#7a3f1c;font-size:15px}.ticket-identity h3,.finished-ticket{color:#7a3f1c;font-weight:800}.checkout-ticket{display:inline-block;margin-left:8px;padding:3px 10px;border-radius:999px;background:#fff2ce;color:#5e2c0c;font-size:18px}.kitchen-side .kitchen-order{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:start}.kitchen-order .kitchen-identity{grid-column:1;grid-row:1}.kitchen-order .kitchen-items{grid-column:2;grid-row:1;min-width:0}.ticket-action{display:block;position:relative;overflow:hidden;width:100%;min-height:86px;padding:7px 4px;background:#873d19;color:#fff;border:2px solid #873d19;text-align:center;box-shadow:0 3px 8px #873d1930}.ticket-action strong,.ticket-action small{position:relative;z-index:1;display:block}.ticket-action strong{font-size:22px;line-height:1.1;white-space:nowrap}.ticket-action small{margin-top:6px;font-size:12px;font-weight:500;color:#fff3e8}.kitchen-order .kitchen-identity>.sub{text-align:center;margin-top:5px}.kitchen-side .kitchen-order .cook{grid-column:auto;min-height:58px}.kitchen-order .cook{margin:0 0 6px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:2px solid #d0d5cb;background:#fff}.cook .cook-name{font-size:18px;line-height:1.2}.kitchen-tags{display:flex;flex-wrap:wrap;gap:4px}.kitchen-tag{display:inline-block;border-radius:7px;padding:3px 7px;background:#ffe29b;color:#5a2b06;font-size:13px;font-weight:800;line-height:1.2;border:1px solid #c17d2d}.order-note{display:block;margin-top:5px}.cook::after,.ticket-action::after{content:"";position:absolute;left:0;right:auto;top:0;bottom:0;width:0;background:#70c58d;opacity:.7;transition:width .78s ease-out;pointer-events:none}.cook.finishing::after,.ticket-action.finishing::after{width:100%}.ticket-action.finishing{border-color:#347b4c}.done-items{font-size:12px;color:#4f6256}.done-items summary{cursor:pointer;padding:5px}.done-items button{min-height:36px;padding:5px 8px;margin:3px;font-size:12px}.finished-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finished-ticket{font-size:19px}.finished-row button{margin-left:auto}@media(max-width:760px){.kitchen-side .kitchen-order{grid-template-columns:1fr}.kitchen-order .kitchen-identity,.kitchen-order .kitchen-items{grid-column:1;grid-row:auto}.ticket-action{min-height:58px}.ticket-action strong{font-size:19px}}@media(prefers-reduced-motion:reduce){.cook::after,.ticket-action::after{transition:none}}
.ticket-config summary{padding:7px 9px;min-height:44px}.ticket-config summary strong{font-size:22px;line-height:1}.ticket-config summary small{font-size:10px;font-weight:500;opacity:.85}.catalog-head .tabs button{padding-left:8px;padding-right:8px}
/* Give the primary action more of the freed vertical space. */
.checkout-bottom .checkout{min-height:76px;font-size:24px;border-radius:14px}.checkout-bottom .checkout-ticket{font-size:20px;padding:5px 12px}
/* Fast ticket selection beside the product category; range settings stay in the header. */
.catalog-head{flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:9px}.catalog-head .tabs{flex:none;max-width:42%;overflow-x:auto;margin:0}.catalog-head .tabs button{min-height:42px;white-space:nowrap}.ticket-picks{display:flex;flex:1;min-width:0;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:2px}.ticket-picks button{flex:none;min-width:46px;min-height:42px;padding:5px 7px;font-weight:800;color:#7a3f1c;border-color:#c79a76}.ticket-picks button.selected{background:#873d19;color:#fff;border-color:#873d19}.status-controls{display:flex;align-items:center;gap:7px;white-space:nowrap}.top .status-controls .status{display:inline;text-align:left;white-space:nowrap}.status-controls .ticket-config{z-index:20}.status-controls .ticket-config summary{min-height:36px;padding:7px 9px;font-size:12px;background:#7a3f1c}.status-controls .ticket-config[open]{width:auto}.status-controls .ticket-config[open] form{position:absolute;top:40px;right:0;width:250px;display:grid;grid-template-columns:1fr;align-items:stretch;box-shadow:0 8px 24px #0003}.status-controls .ticket-config form strong{font-size:15px}.status-controls .ticket-config form label{grid-template-columns:1fr}.top{grid-template-columns:auto minmax(0,1fr) auto}@media(max-width:900px){.top{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.top .status-controls .status{font-size:10px}.top .nav button{padding:6px 8px}.top .status-controls .ticket-config summary{padding:7px 6px}}
.top .nav{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.status-controls{min-width:0}.catalog-head .tabs{max-width:35%}.catalog-head .tabs button{font-size:14px}.ticket-picks{scrollbar-width:thin}@media(max-width:900px){.mode-status{display:none}.top .status-controls .status{font-size:11px}.top .nav{min-width:0}}
/* Large, filled ticket numbers for quick selection. */
.ticket-picks button{min-width:49px;min-height:46px;padding:5px 8px;background:#99502a;color:#fff;border-color:#99502a;font-size:21px;line-height:1;font-weight:800}.ticket-picks button.selected{background:#244f42;border-color:#244f42;box-shadow:inset 0 0 0 2px #fff}
/* A second tap cancels the filling animation before the item is saved. */
.cook::after,.ticket-action::after{transition:width var(--gauge-duration,1.6s) ease-out}.cook.finishing,.ticket-action.finishing{border-color:#317d4e}
/* Fast topping controls for the selected order line. */
.option-backdrop{position:fixed;inset:0;z-index:50;background:#141b16a8;display:grid;place-items:center;padding:16px}.option-popup{width:min(480px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 14px 48px #0005}.option-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.option-title strong{font-size:22px}.option-title button{font-size:26px;line-height:1;min-width:44px}.option-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.option-buttons button{min-height:76px;padding:8px;background:#fff7e5;border:2px solid #d1a257;color:#4c2a0d;font-size:18px;font-weight:800}.option-buttons button small{display:block;font-size:14px}.option-buttons button.chosen{background:#99502a;border-color:#99502a;color:#fff}.option-popup .field{margin:10px 0}.option-popup .field input{font-size:17px;min-height:48px}.option-done{width:100%;min-height:54px;font-size:18px}.cart-tag{display:inline-block;margin:2px 0;padding:2px 5px;border-radius:5px;background:#ffe29b;color:#5a2b06;font-weight:800;font-size:11px}
/* Offline sales charts use the same saved orders as the tables. */
.report-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:14px 0}.chart-card{min-width:0;border:1px solid #e0e1d9;border-radius:16px;padding:14px;background:#fafaf7}.chart-card h3{margin:0 0 3px}.chart-card .sub{margin:0 0 13px}.pie-layout{display:grid;grid-template-columns:minmax(130px,210px) minmax(0,1fr);align-items:center;gap:14px}.sales-pie{width:min(100%,210px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.sales-pie>div{width:55%;height:55%;border-radius:50%;background:#fafaf7;display:grid;place-content:center;text-align:center;font-size:28px;font-weight:800;line-height:1}.sales-pie small{font-size:13px;margin-top:3px}.pie-legend{display:grid;gap:5px;max-height:240px;overflow:auto}.pie-legend>div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:7px;align-items:center;font-size:13px}.pie-legend strong{white-space:nowrap}.pie-swatch{width:13px;height:13px;border-radius:4px}.hour-head,.hour-row{display:grid;grid-template-columns:50px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.hour-head{font-size:12px;color:#626862;border-bottom:1px solid #d9ddd4;padding-bottom:5px}.hour-row{padding:7px 0;border-bottom:1px solid #e9ebe5;font-size:13px}.hour-cell{display:flex;align-items:center;gap:6px;min-width:0}.hour-cell b{white-space:nowrap;font-size:12px}.bar-track{flex:1;height:15px;border-radius:4px;background:#e8ebe5;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:4px}.sales-bar{background:#99502a}.count-bar{background:#376c59}@media(max-width:900px){.report-charts{grid-template-columns:1fr}}@media(max-width:520px){.pie-layout{grid-template-columns:1fr}.sales-pie{margin:auto}}
.status-controls .ticket-config form select{width:100%;min-height:42px;padding:7px;border:1px solid #c9cec6;border-radius:8px;background:#fff;color:#252823}
/* Compact checkout, with large amount dialogs. */
.checkout-bottom .total-button{width:100%;border:0;border-radius:0;background:#fff;text-align:left;padding:5px 0;cursor:pointer}.checkout-bottom .total-button small{font-size:12px;color:#626862}.tender-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:7px 10px;margin:5px 0;border-color:#c9cec6;text-align:left}.tender-trigger span{font-size:14px}.tender-trigger strong{color:#244f42;font-size:17px}.order-memo{display:block;width:100%;min-height:42px;margin:5px 0;padding:8px 11px;border:1px solid #c9cec6;border-radius:10px;background:#fff}.ticket-picks button{font-size:25px;min-width:52px;min-height:50px}.checkout-bottom .checkout-ticket{font-size:24px;padding:5px 13px}.adjust-preview{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:10px 12px;border-radius:10px;background:#f4f5f0}.adjust-preview strong{font-size:25px;color:#244f42}.tender-display{display:grid;gap:5px;margin:14px 0;padding:14px;border-radius:12px;background:#f4f5f0}.tender-display span{font-size:14px}.tender-display strong{font-size:36px;text-align:right;color:#244f42}.tender-display b{font-size:20px;text-align:right;color:#7a3f1c}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{min-height:64px;font-size:27px;font-weight:700;background:#fff;border:1px solid #c9cec6}.keypad button:active{background:#dfeae2}.keypad-clear{width:100%;margin-top:8px;min-height:45px;color:#873d19;font-weight:700}

.keypad-confirm{width:100%;margin-top:8px;min-height:56px;font-size:19px;font-weight:800}

/* Keep all checkout popups inside the right-hand POS panel so the kitchen stays visible. */
.grid>.pos-panel{position:relative;isolation:isolate}.pos-panel .option-backdrop{position:absolute;inset:0;z-index:50;padding:8px;background:#f5f2ebee;place-items:center}.pos-panel .option-popup{width:100%;max-height:calc(100% - 8px);padding:14px;box-shadow:0 6px 22px #0003}.pos-panel .option-title strong{font-size:20px}
/* Cash change is shown prominently below the received amount. */
.checkout-bottom .change-result:not(:empty){display:block;margin:5px 0;padding:8px 11px;border-radius:10px;background:#dfeee4;color:#174c31;font-size:20px;font-weight:800;text-align:right}.checkout-bottom .change-result.shortage{background:#fff0e5;color:#8d321f}.checkout-bottom .change-result:empty{display:none}.one-item-note{margin:9px 0 0;padding:7px 9px;border-radius:8px;background:#fff1d5;color:#6b3a14;font-size:13px;font-weight:700}.cart-tag.plain{background:#e9eee9;color:#385041}.variant-line{border-color:#d4bea4}.variant-line .item-name{font-weight:800}
.order-section.multi-line{max-height:25%;min-height:145px}.cart-list .line{margin:3px 0;padding:7px 8px}.cart-list .linehead{align-items:center}.cart-list .line small{margin-top:1px}.cart-list .qty{gap:4px}.cart-list .qty button{min-width:38px;min-height:38px;padding:4px}.cart-list .item-name{min-height:35px}.cart-list .line.has-extra{background:#fff9ed;border:2px solid #c68b39}.cart-list .line.has-extra .cart-tag{background:#ffd27b;color:#5a2b06}
.order-section.multi-line{max-height:32%;min-height:180px}
.pos-panel.many-items .product-catalog{min-height:48px}
.checkout-bottom #change.change-result:not(:empty){display:flex;justify-content:flex-end;align-items:center;min-height:44px;font-size:20px;line-height:1.2}.pos-panel.many-items .product-catalog{min-height:38px}

.cream-metric{background:#fff1dc;color:#683c15}.cream-metric small{display:block;margin-top:2px;font-size:12px;font-weight:700}

/* Quantity stays separate from the product name on kitchen tickets. */
.kitchen-order .cook-main{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.kitchen-order .cook-name{min-width:0;overflow-wrap:anywhere}.kitchen-order .cook-qty{flex:none;display:inline-flex;align-items:baseline;justify-content:center;gap:2px;min-width:54px;padding:3px 8px;border-radius:9px;background:#244f42;color:#fff;font-size:25px;font-weight:900;line-height:1}.kitchen-order .cook-qty small{font-size:13px;font-weight:800}.kitchen-order .cook:has(.cook-qty) .kitchen-tags{padding-right:0}

/* Flavor colors and compact crepe illustrations for the order grid. */
.product{--tile:#f4eee4;--stroke:#cdbda7;--ink:#3d2f27;display:flex;align-items:center;gap:7px;min-height:80px;padding:8px 42px 8px 7px;background:var(--tile);border:2px solid var(--stroke);color:var(--ink);text-align:left}.product .product-art{flex:none;width:49px;height:56px;filter:drop-shadow(0 2px 2px #0002)}.product .product-copy{display:block;min-width:0}.product .product-copy strong{display:block;font-size:15px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}.product .product-copy>span{display:block;margin-top:3px;font-size:15px;font-weight:800;color:var(--ink)}.product.in-cart{background:var(--tile);border-color:#244f42;box-shadow:inset 0 0 0 2px #244f42}.product:active{filter:brightness(.94)}.product-count{right:6px;top:6px}.theme-banana{--tile:#fff1bd;--stroke:#ddbd55;--ink:#553714}.theme-caramel{--tile:#f6dec5;--stroke:#bc8655;--ink:#56361d}.theme-strawberry{--tile:#fce0e1;--stroke:#d98b91;--ink:#672e37}.theme-marshmallow{--tile:#f7e9d5;--stroke:#cba47d;--ink:#62412c}.theme-matcha{--tile:#e2edcf;--stroke:#9bb46b;--ink:#2c4e2b}.theme-choco-berry{--tile:#f0d8dd;--stroke:#ab747d;--ink:#532c33}.theme-earl{--tile:#f2e2d0;--stroke:#b99c78;--ink:#5b4331}.theme-cream{--tile:#f3eee1;--stroke:#bdb5a1;--ink:#4f473a}@media(max-width:850px){.product .product-art{width:42px;height:48px}.product .product-copy strong{font-size:14px}}
.product{padding-right:7px}.product.in-cart .product-copy{padding-right:20px}@media(max-width:850px){.product{gap:4px}.product .product-art{width:33px;height:44px}.product .product-copy strong{font-size:13px;line-height:1.15}.product .product-copy>span{font-size:14px}.product-count{min-width:28px;height:28px;font-size:16px}}

/* Kitchen counts are shown on the left only for multiple portions. */
.kitchen-order .cook-main{justify-content:flex-start;gap:10px}.kitchen-order .cook-qty{order:0;min-width:52px;background:#244f42}.kitchen-order .cook-name{order:1}.ticket-action strong{font-size:35px;letter-spacing:.04em}.kitchen-side .ticket-action strong{font-size:35px}
/* Stronger flavor separation in the menu grid. */
.product.theme-banana,.product.theme-banana.in-cart{--tile:#ffe45c;--stroke:#c9a923;--ink:#45300d;background:#ffe45c}.product.theme-caramel,.product.theme-caramel.in-cart{--tile:#bb793e;--stroke:#8c542b;--ink:#fffaf0;background:#bb793e}.product.theme-marshmallow,.product.theme-marshmallow.in-cart{--tile:#292a2b;--stroke:#111213;--ink:#fff9e9;background:#292a2b}.product.theme-choco-berry,.product.theme-choco-berry.in-cart{--stroke:#83413f;--ink:#fff9f3;background:linear-gradient(115deg,#603b2e 0%,#603b2e 54%,#b94761 54%,#b94761 100%)}.product.theme-earl,.product.theme-earl.in-cart{--stroke:#a27371;--ink:#432d31;background:linear-gradient(120deg,#ffe1a5 0%,#ffe1a5 26%,#f6b9a9 26%,#f6b9a9 49%,#d7dcb0 49%,#d7dcb0 74%,#c5c6de 74%)}.product.theme-caramel .product-copy strong,.product.theme-caramel .product-copy>span,.product.theme-marshmallow .product-copy strong,.product.theme-marshmallow .product-copy>span,.product.theme-choco-berry .product-copy strong,.product.theme-choco-berry .product-copy>span{color:#fff9f0}.product.theme-marshmallow .product-art{filter:drop-shadow(0 0 5px #fff7df)}

/* PayPay share and estimated processing fee. */
.paypay-share{background:#edf3fc;color:#23456e}.fee-metric{background:#fff0e4;color:#673319}.net-metric{background:#e6f1e8;color:#1c4c31}.fee-metric small,.net-metric small,.paypay-share small{display:block;margin-top:3px;font-size:12px;font-weight:700}.fee-metric input{width:68px;padding:4px 5px;border:1px solid #ba8e76;border-radius:6px;background:#fff;font-size:14px;font-weight:700}
/* Chocolate and strawberry tile, with larger product labels. */
.product.theme-choco-berry,.product.theme-choco-berry.in-cart{--stroke:#d65d7f;--ink:#fffaf6;background:radial-gradient(circle at 82% 24%,#f36c91 0 9px,transparent 10px),radial-gradient(circle at 68% 76%,#e35b7e 0 7px,transparent 8px),linear-gradient(125deg,#4b281f,#6b392c)}.product.theme-choco-berry .product-art{filter:drop-shadow(0 0 4px #f7a0ae)}.product .product-copy strong{font-size:17px}.product .product-copy>span{font-size:17px}@media(max-width:850px){.product .product-copy strong{font-size:15px}.product .product-copy>span{font-size:16px}}

/* Make strawberry chocolate unmistakable even when only the top row is visible. */
.product.theme-choco-berry,.product.theme-choco-berry.in-cart{--stroke:#a82e56;--ink:#fff;background:linear-gradient(90deg,#ed4d82 0%,#ed4d82 27%,#3d201b 27%,#3d201b 100%);border:3px solid #a82e56}.product.theme-choco-berry .product-art{background:#f7acc0;border-radius:50%;padding:2px;filter:drop-shadow(0 2px 2px #0005)}.product.theme-choco-berry .product-copy strong,.product.theme-choco-berry .product-copy>span{color:#fff}

/* Transparent photo cutouts from the supplied crepe menu. */
.product .product-photo{display:block;flex:none;width:55px;height:55px;background-image:url('./assets/crepe-sprite.png');background-size:400% 200%;background-repeat:no-repeat;filter:drop-shadow(0 2px 2px #0005)}.product .photo-banana{background-position:0% 0%}.product .photo-caramel{background-position:33.333% 0%}.product .photo-strawberry{background-position:66.667% 0%}.product .photo-marshmallow{background-position:100% 0%}.product .photo-matcha{background-position:0% 100%}.product .photo-choco-berry{background-position:33.333% 100%}.product .photo-earl{background-position:66.667% 100%}.product .photo-cream,.product .photo-classic{background-position:100% 100%}@media(max-width:850px){.product .product-photo{width:40px;height:46px}}
.companion-pick{background:#efe6ff;color:#4c2870;border:2px solid #9164b9;font-weight:800;white-space:nowrap}.companion-pick.selected{background:#67348d;color:#fff;border-color:#67348d}.companion-group{border-color:#9164b9}.companion-group .ticket-action{background:#67348d;border-color:#67348d}

/* Larger cutout photos and quiet pastel flavor tiles. */
.product{min-height:96px;gap:8px}.product .product-photo{width:70px;height:70px}.product.theme-banana,.product.theme-banana.in-cart{--tile:#fff2bd;--stroke:#d8be6c;--ink:#493b20;background:#fff2bd}.product.theme-caramel,.product.theme-caramel.in-cart{--tile:#efddc9;--stroke:#c4a07d;--ink:#483326;background:#efddc9}.product.theme-strawberry,.product.theme-strawberry.in-cart{--tile:#f9e0e3;--stroke:#d9a4ae;--ink:#583038;background:#f9e0e3}.product.theme-marshmallow,.product.theme-marshmallow.in-cart{--tile:#e8e8e4;--stroke:#9da19e;--ink:#303431;background:#e8e8e4}.product.theme-matcha,.product.theme-matcha.in-cart{--tile:#e2edcf;--stroke:#9bb46b;--ink:#2c4e2b;background:#e2edcf}.product.theme-choco-berry,.product.theme-choco-berry.in-cart{--tile:#f2dfe4;--stroke:#b9909a;--ink:#4e3038;background:linear-gradient(90deg,#e7d0cb 0 23%,#f2dfe4 23%);border:2px solid var(--stroke)}.product.theme-earl,.product.theme-earl.in-cart{--tile:#f4e7d9;--stroke:#c5a79a;--ink:#49362f;background:linear-gradient(110deg,#f8e8c9 0 28%,#f4dedc 28% 52%,#e5eacb 52% 76%,#e2e2f0 76%)}.product.theme-cream,.product.theme-cream.in-cart{--tile:#f3eee1;--stroke:#bdb5a1;--ink:#4f473a;background:#f3eee1}.product.theme-caramel .product-copy strong,.product.theme-caramel .product-copy>span,.product.theme-marshmallow .product-copy strong,.product.theme-marshmallow .product-copy>span,.product.theme-choco-berry .product-copy strong,.product.theme-choco-berry .product-copy>span{color:var(--ink)}.product.theme-choco-berry .product-photo{background-color:transparent;border-radius:0;padding:0;filter:drop-shadow(0 2px 2px #0004)}@media(max-width:850px){.product{min-height:84px;gap:5px}.product .product-photo{width:50px;height:54px}}
.gauge-control{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:13px 15px;margin:14px 0;border:1px solid #b6c8b8;border-radius:12px;background:#edf4ee}.gauge-control>div{display:grid;gap:3px}.gauge-control strong{font-size:16px}.gauge-control small{font-size:12px;color:#4e6253}.gauge-control select{min-height:44px;padding:8px 10px;border:1px solid #8eaa93;border-radius:9px;background:#fff;font-weight:700}
.product.theme-choco-berry,.product.theme-choco-berry.in-cart{--stroke:#242424;border:3px solid #242424}

/* A second tap freezes the gauge; another tap resumes from that point. */
.cook::after,.ticket-action::after{width:var(--gauge-progress,0%);transition:width var(--gauge-duration,1.7s) linear}.cook.finishing::after,.ticket-action.finishing::after{width:var(--gauge-progress,100%)}.cook.paused::after,.ticket-action.paused::after{width:var(--gauge-progress,0%);transition:none}.cook.paused,.ticket-action.paused{border-color:#c18a36;background:#fff0d8}.cook.paused::before,.ticket-action.paused::before{content:"一時停止";position:absolute;right:5px;top:3px;z-index:3;padding:2px 5px;border-radius:5px;background:#8d541d;color:#fff;font-size:11px;font-weight:800}.ticket-action.paused strong,.ticket-action.paused small{color:#5a3418}

.brand{display:flex;align-items:center;min-height:40px}.brand-logo{display:block;width:176px;max-width:100%;height:auto;max-height:56px;object-fit:contain;object-position:left center}@media(max-width:850px){.brand-logo{width:142px;max-height:48px}}

/* Test shifts can be removed from reports and restored without losing records. */
.sales-shift-controls{margin:18px 0;padding-top:4px;border-top:1px solid #dfe3da}
.sales-shift-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce0d6;border-radius:12px;padding:12px;margin:8px 0;background:#fafbf7;break-inside:avoid}
.sales-shift-card>div{display:grid;gap:4px;min-width:0}
.sales-shift-card strong{font-size:18px}
.sales-shift-card span{font-size:14px;overflow-wrap:anywhere}
.sales-shift-card small{font-size:13px;color:#626862}
.sales-shift-card button{flex:none;min-height:44px;font-size:14px}
.deleted-shifts{margin:12px 0;border:1px solid #dce0d6;border-radius:12px;padding:0 10px}
.deleted-shifts>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}
.deleted-shifts .sales-shift-card{background:#f1f2ee}
@media(max-width:600px){.sales-shift-card{align-items:flex-start;flex-direction:column;gap:8px}.sales-shift-card button{align-self:stretch}}
@media print{.sales-shift-controls{display:none}}

.sales-shift-card{flex-wrap:wrap}
.sales-delete-confirm{width:100%;padding:10px;border-radius:9px;border:1px solid #d7aaa0;background:#fff2ec}
.sales-delete-confirm p{margin:0 0 8px;font-size:14px;line-height:1.5}
.sales-delete-confirm .actions{gap:8px}
