dialog:has(.pos-menu){width:min(1040px,calc(100vw - 24px));color:#302c29}
dialog:has(.pos-menu) header{background:#eee9e2;border-top:5px solid #ba3032;border-bottom-color:#d6c9bd}
dialog:has(.pos-menu) header h2{font-family:Georgia,serif;letter-spacing:-.04em}
dialog:has(.pos-menu) .body{background:#f8f5f0}
dialog:has(.pos-config:not([hidden]))>footer{display:none}
.body:has(.pos-menu) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.body:has(.pos-menu) .form-grid>.full{min-width:0}
#pos-picker{min-width:0;max-width:100%}
.pos-menu{min-width:0;border:1px solid #d9ccc0;border-radius:14px;background:#fff;overflow:hidden}
.pos-menu-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid #e8dfd6}
.pos-menu-heading h3{font-family:Georgia,serif;font-size:24px;letter-spacing:-.04em;margin:2px 0 0}
.pos-menu-heading>strong{font-size:12px;color:#b92f30;white-space:nowrap}
.pos-menu .eyebrow{color:#b92f30}
.pos-search{display:block;max-width:none;margin:15px 20px 13px;color:#5e5750}
.pos-search input{margin-top:7px;border:1px solid #d5c5b7;border-radius:10px;background:#fdfcfa;min-height:46px;padding:10px 15px;font-size:15px}
.pos-search input:focus{border-color:#b92f30;outline:2px solid #b92f3025}
.pos-categories{display:flex;gap:7px;overflow-x:auto;max-width:100%;padding:0 20px 15px;scrollbar-width:thin}
.pos-category{display:flex;align-items:center;gap:9px;white-space:nowrap;flex:none;min-height:41px;border:1px solid #ddd2c7;border-radius:999px;padding:9px 14px;color:#554d46;background:#f9f6f2;font-size:12px}
.pos-category strong{font-size:12px;font-weight:750}.pos-category small{font-size:10px;color:#8a8077}
.pos-category.active{background:#b92f30;color:#fff;border-color:#b92f30}.pos-category.active small{color:#fff9}
.pos-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:380px;overflow:auto;padding:0 20px 20px}
.pos-results-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 3px;border-top:1px solid #eee5dd}
.pos-results-heading strong{font-family:Georgia,serif;font-size:20px}.pos-results-heading span{font-size:11px;color:#766c63}
.pos-product{display:flex;align-items:center;gap:12px;min-height:98px;overflow:hidden;text-align:left;border:1px solid #e1d7cd;border-radius:11px;padding:8px;background:#fff}
.pos-product:hover,.pos-product:focus-visible{border-color:#b92f30;background:#fffaf8}
.pos-photo{display:block;position:relative;overflow:hidden;flex:none;width:78px;height:78px;border-radius:8px;background:#efe8dc}
.pos-photo svg,.pos-photo img{display:block;width:100%;height:100%;object-fit:cover}
.pos-photo img{box-sizing:border-box;object-fit:contain;padding:3px;background:radial-gradient(ellipse at 50% 55%,#f7f2e9,#eae4da)}
.pos-photo-empty{display:grid;place-items:center;background:#f1ebe3;color:#7b7168;font-size:10px;text-align:center;padding:8px}
.pos-product-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.pos-product-copy>strong{font-size:13px;line-height:1.25;color:#2e2a27}.pos-product-copy>small{font-size:10px;color:#80766d}
.pos-product-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px}.pos-product-bottom>b{font-size:14px;color:#b92f30}.pos-product-bottom>span{font-size:10px;font-weight:800;color:#b92f30;white-space:nowrap}
.pos-no-results{grid-column:1/-1;padding:28px;text-align:center;color:#7b7168}
.pos-browse[hidden],.pos-config[hidden]{display:none}
.pos-config{padding:18px 20px 24px}
.pos-config-head{display:flex;align-items:center;gap:16px;padding-bottom:15px;border-bottom:1px solid #e7ded4}
.pos-config-head button{border:0;background:none;color:#a3282b;font-size:13px;font-weight:800;padding:8px 0}
.pos-config-head .eyebrow{margin-left:auto;font-size:10px}
.pos-config-product{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #e7ded4;margin-bottom:18px}
.pos-config-product .pos-photo{width:112px;height:112px}
.pos-config-product>div{min-width:0}
.pos-config-product small{font-size:11px;color:#aa3435;font-weight:750}
.pos-config-product h3{font-family:Georgia,serif;font-size:27px;margin:5px 0}
.pos-config-product p{color:#6d6259;font-size:12px;line-height:1.45;margin:0 0 9px;max-width:65ch}
.pos-config-product strong{font-size:13px;color:#302c29}
.pos-choice-group{border:0;border-bottom:1px solid #e7ded4;margin:0 0 22px;padding:12px 0 26px;min-width:0}
.pos-choice-group legend{font-size:15px;font-weight:800;color:#302c29;line-height:1.4;padding:0 0 12px}
.pos-choice-group legend small{display:inline-block;margin-left:8px;color:#a82b2d;font-size:11px;font-weight:700}
.pos-choice{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #ded2c6;border-radius:9px;margin-top:10px;cursor:pointer;min-height:46px}
.pos-choice:has(input:checked){border-color:#b92f30;background:#fff7f5}
.pos-choice input{width:18px;height:18px;margin:0;accent-color:#b92f30;flex:none}
.pos-choice span{flex:1;font-size:13px}.pos-choice strong{font-size:12px;color:#a3282b}
.pos-extras-disclosure{border-bottom:1px solid #e7ded4;padding:4px 0}.pos-extras-disclosure>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:14px 0;color:#a3282b;font-size:14px;font-weight:850}.pos-extras-disclosure>summary::-webkit-details-marker{display:none}.pos-extras-disclosure>summary:before{content:'+';display:grid;place-items:center;width:22px;height:22px;border:1px solid #c9aead;border-radius:50%;font-size:16px}.pos-extras-disclosure[open]>summary:before{content:'−'}.pos-extras-disclosure>summary small{margin-left:auto;color:#766a60;font-size:11px;font-weight:600}.pos-extras-disclosure .pos-choice-group:last-child{border-bottom:0}
.pos-extra-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.pos-extra-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #ded2c6;border-radius:9px;padding:9px 11px;min-width:0}
.pos-extra-row>span{display:grid;gap:3px;min-width:0}.pos-extra-row strong{font-size:12px}.pos-extra-row small{font-size:10px;color:#a3282b}
.pos-stepper{display:flex;align-items:center;gap:9px;flex:none}.pos-stepper button{display:grid;place-items:center;border:1px solid #d3c6b9;border-radius:8px;background:#faf7f3;width:31px;height:31px;padding:0;font-size:18px;color:#a3282b}.pos-stepper button:disabled{opacity:.4}.pos-stepper output{min-width:16px;text-align:center;font-size:13px;font-weight:800}
.pos-kitchen-notes{border:1px solid #dfd1c4;border-radius:10px;background:#fffbf7;margin:0 0 22px;overflow:hidden}
.pos-kitchen-notes>summary{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:11px;align-items:center;list-style:none;cursor:pointer;padding:12px 15px;color:#a3282b}
.pos-kitchen-notes>summary::-webkit-details-marker{display:none}
.pos-kitchen-notes>summary:before{content:'+';grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border:1px solid #c9aead;border-radius:50%;font-size:17px;font-weight:700}
.pos-kitchen-notes[open]>summary{border-bottom:1px solid #e7ded4}
.pos-kitchen-notes[open]>summary:before{content:'−'}
.pos-kitchen-notes .pos-notes-label{font-size:13px;font-weight:800}
.pos-kitchen-notes>summary small{grid-column:2;color:#766a60;font-size:11px;font-weight:500}
.pos-kitchen-notes>label{display:grid;gap:8px;padding:14px 15px 0;color:#302c29;font-size:12px;font-weight:800}
.pos-kitchen-notes textarea{min-height:82px;resize:vertical;border:1px solid #d6c9bd;border-radius:9px;padding:12px;font:inherit;font-weight:400}
.pos-kitchen-notes>p{margin:0;padding:9px 15px 14px;color:#766a60;font-size:11px}
.pos-config-total{border-top:1px dashed #d8c9bb;padding:13px 0}.pos-config-total>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}.pos-config-total>div:last-child{font-size:15px;font-weight:800;border-top:1px solid #e7ded4;margin-top:6px;padding-top:12px}.pos-config-total>div:last-child strong{color:#b92f30}
.pos-config-actions{display:flex;align-items:center;gap:14px;border-top:1px solid #e7ded4;padding-top:15px}.pos-quantity>span{font-size:12px;font-weight:750;margin-right:5px}.pos-required-hint{color:#a3282b;font-size:11px;margin:0 auto 0 0}.pos-confirm{border:0;border-radius:9px;background:#b92f30;color:#fff;font-weight:850;padding:12px 18px;min-height:43px;white-space:nowrap}.pos-confirm:disabled{background:#cfb4b0;color:#fff}
.pos-cart-item .actions{display:flex;gap:5px}.pos-cart-item .actions button{font-size:11px;padding:7px 9px}.pos-cart-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;margin-top:12px;font-size:12px}.pos-cart-breakdown span{color:#665d55}.pos-cart-breakdown strong{text-align:right}.pos-cart-breakdown span:nth-last-child(2),.pos-cart-breakdown strong:last-child{border-top:1px solid #e7ded4;padding-top:8px}.pos-cart-notes{font-size:12px;color:#694e43;background:#faf1eb;padding:8px 10px;border-radius:7px}.pos-cart-line-total{display:block;text-align:right;color:#b92f30;margin-top:9px}
.pos-cart-add-note{display:block;margin-top:10px;padding:8px 0;border:0;background:transparent;color:#a3282b;text-align:left;font-size:12px;font-weight:800}
@media(max-width:700px){dialog:has(.pos-menu) header{padding:16px}dialog:has(.pos-menu) .body{padding:12px}.body:has(.pos-menu) .form-grid{grid-template-columns:minmax(0,1fr)}.pos-menu-heading{padding:15px}.pos-menu-heading h3{font-size:19px}.pos-menu-heading>strong{font-size:10px}.pos-search{margin:13px 15px}.pos-categories{padding:0 15px 12px}.pos-products{grid-template-columns:minmax(0,1fr);max-height:43dvh;padding:0 15px 15px}.pos-product{min-height:78px}.pos-photo{width:65px;height:65px}.pos-results-heading strong{font-size:18px}}
@media(max-width:700px){.pos-config{padding:12px 14px 18px}.pos-config-product{align-items:flex-start;gap:11px}.pos-config-product .pos-photo{width:78px;height:78px}.pos-config-product h3{font-size:21px}.pos-extra-list{grid-template-columns:minmax(0,1fr)}.pos-config-actions{flex-wrap:wrap}.pos-required-hint{width:100%;order:2}.pos-confirm{width:100%;order:3}}

.pos-waiter .pos-product{min-height:86px}
.pos-waiter .pos-product-bottom{justify-content:flex-end}
.pos-waiter .pos-product-bottom>span{font-size:12px}
.pos-flow-feedback{margin:0 20px;color:#2c7250;font-size:12px;font-weight:750}
.pos-flow-feedback:empty{display:none}
.pos-flow[hidden]{display:none}
.pos-flow{padding:18px 20px 24px}
.pos-flow-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:15px;border-bottom:1px solid #e7ded4}
.pos-flow-head button,.pos-flow-products,.pos-flow-clear{border:0;background:transparent;color:#a3282b;font-weight:800;padding:8px 0}
.pos-flow-head span{font-size:11px;font-weight:800;color:#87796e;letter-spacing:.08em}
.pos-flow-product{display:flex;align-items:center;gap:16px;padding:19px 0;border-bottom:1px solid #e7ded4;margin-bottom:19px}
.pos-flow-product .pos-photo{width:90px;height:90px}
.pos-flow-product>div{min-width:0}
.pos-flow-product small{color:#a3282b;font-size:11px;font-weight:750}
.pos-flow-product h3{font:700 26px Georgia,serif;letter-spacing:-.035em;margin:5px 0 0}
.pos-flow-step{display:grid;gap:14px}
.pos-flow-step>.eyebrow{font-size:10px}
.pos-flow-step h4{font:700 29px Georgia,serif;letter-spacing:-.04em;margin:0;color:#302c29}
.pos-flow-step>p:not(.pos-flow-error){margin:-5px 0 4px;color:#71675e;font-size:13px}
.pos-flow-options,.pos-flow-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.pos-flow-option,.pos-flow-action{display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:64px;border:1px solid #dbcbbd;border-radius:11px;background:#fff;text-align:left;padding:15px 17px;color:#302c29;font-size:15px;font-weight:800}
.pos-flow-option:hover,.pos-flow-action:hover{border-color:#b92f30;background:#fffaf7}
.pos-flow-option.selected,.pos-flow-action.selected{border-color:#b92f30;background:#fff4f0;color:#9f2729}
.pos-flow-option b{color:#b92f30;font-size:17px}
.pos-flow-none{color:#70645b}
.pos-flow-next,.pos-flow-finish{min-height:50px;border:0;border-radius:10px;background:#b92f30;color:#fff;font-size:15px;font-weight:850;padding:12px 18px}
.pos-flow-next:disabled{opacity:.5}
.pos-flow-final .pos-flow-actions{margin:3px 0}
.pos-flow-action{display:grid;align-content:center;justify-content:start;gap:4px;min-height:72px}
.pos-flow-action strong{font-size:14px}
.pos-flow-action small{font-size:11px;font-weight:550;color:#766a60}
.pos-flow-panel{border:1px solid #e1d2c5;border-radius:11px;background:#fffbf7;padding:17px}
.pos-flow-panel h5{font-size:15px;margin:0 0 14px}
.pos-flow-panel p{font-size:13px;color:#6e6259;margin:0 0 8px}
.pos-flow-notes label{display:grid;gap:9px;font-size:13px}
.pos-flow-notes textarea{min-height:92px;resize:vertical}
.pos-flow-notes>small{display:block;margin-top:9px;font-size:11px;color:#766a60}
.pos-flow-extra-group+.pos-flow-extra-group{border-top:1px solid #eaded3;padding-top:18px;margin-top:18px}
.pos-flow-extra-group>strong{display:block;margin-bottom:10px}
.pos-flow-extra-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pos-flow-extra-row{display:flex;justify-content:space-between;align-items:center;gap:9px;min-width:0;background:#fff;border:1px solid #e2d5ca;border-radius:9px;padding:10px}
.pos-flow-extra-row>span{font-size:12px;font-weight:700}
.pos-flow-extra-row .pos-stepper{gap:5px}
.pos-flow-extra-row .pos-stepper button{width:29px;height:29px}
.pos-flow-quantity{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #e7ded4;border-bottom:1px solid #e7ded4;font-size:13px;font-weight:800}
.pos-flow-error{margin:0;color:#a3282b;font-size:12px;font-weight:700}
.pos-flow-error:empty{display:none}
.pos-flow-products{text-align:center}
.pos-waiter-cart-item{border-color:#ded2c7}
.pos-waiter-cart-item .row{align-items:flex-start}
.pos-waiter-cart-item .row>strong{font-size:15px}
.pos-waiter-cart-item .pos-waiter-remove{flex:0 0 auto;min-height:40px;border:1px solid #d9afa8;border-radius:9px;background:#fff8f6;color:#a3282b;padding:8px 14px;font-size:12px;font-weight:800}
.pos-waiter-cart-item .pos-waiter-remove:hover{background:#fbece9;border-color:#b92f30}
.pos-waiter-cart-item .pos-waiter-selection{margin:10px 0;color:#6a6057;font-size:12px}
.pos-waiter-cart-item .pos-cart-notes{margin:10px 0}
.pos-waiter-cart-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pos-waiter-cart-actions button{border:1px solid #ded2c7;background:#fff;color:#a3282b;font-size:11px;font-weight:800;padding:9px 11px}
.pos-waiter-cart-actions button:last-child{color:#70645b}
.pos-waiter-cart-count{border-top:1px solid #e7ded4;padding:15px 0;color:#62584f;font-size:13px}
@media(max-width:700px){
  .pos-flow{padding:12px 14px 20px}
  .pos-flow-product{gap:12px}
  .pos-flow-product .pos-photo{width:70px;height:70px}
  .pos-flow-product h3{font-size:21px}
  .pos-flow-step h4{font-size:24px}
  .pos-flow-options,.pos-flow-actions,.pos-flow-extra-list{grid-template-columns:minmax(0,1fr)}
  .pos-flow-option{min-height:58px}
  .pos-flow-action{min-height:65px}
  .pos-flow-feedback{margin:0 15px}
}
dialog.waiter-order-flow{width:min(720px,calc(100vw - 24px))}
dialog.waiter-order-flow .body{max-height:calc(90dvh - 100px);padding:15px;background:#f8f5f0}
dialog.waiter-order-flow>footer,
dialog.waiter-order-flow .waiter-pos-context,
dialog.waiter-order-flow .waiter-global-notes,
dialog.waiter-order-flow .waiter-cart-review{display:none}
dialog.waiter-order-flow .pos-flow{padding:12px 18px 20px}
dialog.waiter-order-flow .pos-flow-head{padding:0 0 8px;border:0}
dialog.waiter-order-flow .pos-flow-head button{font-size:13px}
dialog.waiter-order-flow .pos-flow-product{gap:12px;padding:8px 0 14px;margin-bottom:14px}
dialog.waiter-order-flow .pos-flow-product .pos-photo{width:64px;height:64px}
dialog.waiter-order-flow .pos-flow-product h3{font-size:22px;margin:2px 0 0}
dialog.waiter-order-flow .pos-flow-step{gap:12px}
dialog.waiter-order-flow .pos-flow-step h4{font-size:23px}
dialog.waiter-order-flow .pos-flow-action{display:flex;align-items:center;justify-content:center;min-height:50px;padding:10px 14px;font-size:13px}
dialog.waiter-order-flow .pos-flow-option{min-height:54px;padding:11px 14px}
dialog.waiter-order-flow .pos-flow-quantity{padding:9px 0}
dialog.waiter-order-flow .pos-flow-finish{min-height:46px}
@media(max-width:700px){
  dialog.waiter-order-flow .body{max-height:calc(90dvh - 78px);padding:10px}
  dialog.waiter-order-flow .pos-flow{padding:9px 13px 15px}
  dialog.waiter-order-flow .pos-flow-product .pos-photo{width:58px;height:58px}
  dialog.waiter-order-flow .pos-flow-product h3{font-size:20px}
  dialog.waiter-order-flow .pos-flow-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  dialog.waiter-order-flow .pos-flow-action{min-width:0;font-size:12px;padding:9px 6px}
}
.pos-waiter-cart-main{display:flex;align-items:flex-start;gap:13px}
.pos-waiter-cart-main>.pos-photo{width:60px;height:60px}
.pos-waiter-cart-copy{flex:1;min-width:0}
.pos-waiter-cart-copy>.row{align-items:flex-start}
.pos-flow-extra-row>.pos-photo{width:38px;height:38px;border-radius:6px}
.pos-flow-extra-row>span:not(.pos-photo){flex:1;min-width:0}
