:root{--bg:#f5f5f3;--card:#fff;--ink:#161616;--muted:#626262;--line:#e6e6e1;--shadow:0 8px 24px rgba(0,0,0,.06);--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--control-radius:10px;--panel-radius:18px;--status-ready:#195b31;--status-warning:#80571f;--status-awaiting-bg:#f1e9ff;--status-awaiting-border:#9670c5;--status-awaiting-ink:#573282;--status-error:#a01a1a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;font-size:16px;line-height:1.45;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:12px;padding:12px 14px;cursor:pointer;background:#111;color:#fff}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #4280ce;outline-offset:3px}h1{font-size:28px;line-height:1.2;margin:0;font-weight:800}h2{font-size:20px;margin:0}p{margin:6px 0}.muted{font-size:14px;color:var(--muted)}.pos-app{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{background:#111;color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:25px;padding:8px 10px 20px;line-height:1.3}.brand span{display:block;font-weight:400;opacity:.7}.sidebar nav{display:flex;flex-direction:column;gap:10px}.nav-button{border:0;background:transparent;color:#ddd;padding:12px 14px;border-radius:12px;text-align:left}.nav-button.selected,.nav-button:hover:not(:disabled){background:#2a2a2a;color:#fff}.nav-button:disabled{opacity:.45}.sidebar-bottom{margin-top:auto;font-size:14px;color:#aaa;padding:10px;overflow-wrap:anywhere}.sidebar-bottom #connection{display:block;font-size:12px;margin:12px 0}.sidebar-actions{display:flex;gap:6px;flex-wrap:wrap}.sidebar-actions button{font-size:12px;padding:7px 10px;background:#252525;color:#ccc;border-radius:8px}.main-content{padding:var(--space-4);min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-3)}.pill{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:#555;font-size:14px;white-space:nowrap}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}.table-button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);min-height:132px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--ink);gap:2px}.table-button strong{font-size:26px;font-weight:800}.table-button span,.table-button small{font-size:14px;color:var(--muted);font-weight:400}.table-button small{margin-top:auto;padding-top:10px}.table-button.is-preparing{background:#fff8ec;border-color:#e8c685}.table-button.is-ready{background:#e7f7ea;border-color:#73b982;box-shadow:0 0 0 2px rgba(115,185,130,.16) inset}.table-button.is-ready span,.table-button.is-ready small{color:#246235}.back-button{background:transparent;color:#555}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--panel-radius);padding:var(--space-3);box-shadow:var(--shadow)}.order-panel{margin-bottom:16px}.order-top-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.order-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.order-total{display:flex;align-items:center;gap:10px;white-space:nowrap}.order-total strong{font-size:24px}.order-lines{min-height:110px;padding:10px 0 2px}.order-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.light-button{background:#f1f1ee;color:#111}.danger-button{background:#7e1616}.readiness{margin-left:auto;padding:12px 14px;border-radius:12px;background:#deded8;color:#666}.readiness.is-ready{background:#d7f3df;color:#195b31;border:1px solid #73b982}.menu-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1px solid var(--line);background:#fff;color:#111;border-radius:999px;padding:9px 12px}.chip.active{background:#111;color:#fff}.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item{border:1px solid var(--line);background:#fafafa;color:#111;border-radius:14px;padding:14px;text-align:left;min-height:80px}.item:hover:not(:disabled){background:#f0f0ed}.item-name{font-weight:700;display:block;margin-bottom:6px;overflow-wrap:anywhere}.item-meta{color:var(--muted);font-size:14px}.item-meta>span:first-child{display:none}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:6px 14px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}.cart-line>strong{font-weight:700}.quantity-controls{display:flex;align-items:center;gap:10px;justify-content:flex-end}.quantity-controls button{border:1px solid var(--line);background:#fff;color:#111;width:30px;height:30px;border-radius:8px;padding:0}.quantity-controls .price{min-width:86px;text-align:right;font-weight:800}.cart-line input{grid-column:1;width:100%;max-width:450px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:5px 8px;font-size:14px;color:#555}.sent-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:10px 4px;border-bottom:1px solid var(--line)}.sent-line .item-note{grid-column:1;grid-row:2}.sent-line .muted{grid-column:2;grid-row:1}.sent-line.is-ready{background:#e7f7ea;border-radius:8px;padding:10px;margin:4px 0;color:#195b31}.sent-line.is-ready .muted{color:#195b31}.item-note{font-size:14px;color:#75421d;background:#fff3df;padding:7px 10px;border-radius:7px;overflow-wrap:anywhere}#draftState{font-size:14px;color:#80571f;margin:8px 0}#dataError{color:#a01a1a;margin-bottom:12px}#actionMessage{background:#e9effa;padding:10px 14px;border-radius:10px;font-size:14px;margin-bottom:14px}#dataError:empty,#actionMessage:empty,#draftState:empty{display:none}.trial-note{font-size:12px;color:var(--muted);margin-top:28px;max-width:780px}.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.ticket{background:#fff;border:1px solid var(--line);border-top:4px solid #c58d34;border-radius:18px;padding:18px;box-shadow:var(--shadow)}.ticket.complete{border-top-color:#73b982}.ticket-line{padding:14px 0;border-top:1px solid var(--line)}.ticket-line strong{font-size:18px;display:block}.ticket-line button{width:100%;margin-top:10px}.ready-button{background:#e7f7ea;color:#195b31;border:1px solid #73b982}.check{display:flex;align-items:center;gap:10px;font-size:14px}.check input{width:20px;height:20px}.empty{color:var(--muted);padding:24px;background:#fff;border:1px dashed var(--line);border-radius:14px;grid-column:1/-1}.login-panel{max-width:420px;margin:10vh auto;background:#1d1d1d;color:#fff;padding:30px;border-radius:22px}.login-panel .wordmark{font-size:30px;font-weight:800;margin-bottom:28px}.wordmark span{font-weight:400;opacity:.7}.login-panel .intro,.login-panel .note{color:#aaa;margin-top:12px}.login-panel .note{font-size:14px}.login-panel label{display:block;margin:18px 0 8px}.login-panel input{width:100%;padding:14px;border-radius:12px;border:1px solid #444;background:#111;color:#fff}.login-panel button{width:100%;background:#fff;color:#111;font-weight:700;margin-top:22px}.login-panel #loginError{color:#ffb6b6}.secondary{background:#f1f1ee;color:#111}@media(min-width:1550px){.table-button{min-height:150px}}@media(max-width:1050px){.order-hint{display:none}.table-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}.table-button{padding:16px}.table-button strong{font-size:23px}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.pos-app{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;z-index:20;padding:8px}.brand,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:6px;overflow:auto}.nav-button{white-space:nowrap}.main-content{padding:18px 14px 90px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-button{min-height:125px}.items{grid-template-columns:repeat(2,minmax(0,1fr))}.order-top-head{align-items:flex-start;flex-wrap:wrap}.order-title{gap:8px}.order-title h2{font-size:18px}.order-total strong{font-size:22px}.cart-line{grid-template-columns:minmax(0,1fr) 160px;gap:8px}.quantity-controls{gap:5px}.quantity-controls .price{min-width:60px}.cart-line input{max-width:none;grid-column:1/-1}.sent-line{display:block}.sent-line .muted{display:block;margin-top:5px}.order-actions button{padding:10px}.readiness{padding:10px}.ticket-grid{grid-template-columns:1fr}.login-panel{margin:6vh 16px}.panel{padding:14px}.top h1{font-size:26px}}

#sendReview{width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);background:var(--card);box-shadow:var(--shadow)}#sendReview::backdrop{background:rgba(0,0,0,.55)}#sendReviewMeta{font-weight:700;margin-top:16px}.review-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.review-line p{overflow-wrap:anywhere}.review-total{font-weight:800;font-size:20px;text-align:right;margin:18px 0}.review-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

#extrasDialog{width:min(620px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--card);color:var(--ink)}#extrasDialog::backdrop{background:rgba(0,0,0,.55)}.line-title{background:transparent;color:var(--ink);padding:0;text-align:left;font-weight:700;border-radius:4px}.line-title:disabled{opacity:1;cursor:default}.line-extras{grid-column:1/-1;font-size:14px;color:var(--muted)}#extrasDialog .review-actions{margin-top:20px}@media(max-width:500px){#extrasDialog .review-line{grid-template-columns:1fr auto}#extrasDialog .review-line>strong{grid-column:1/-1;text-align:right}}

.ticket-line.is-ready{background:#edf8ef;border-radius:10px;padding:12px}.ticket-progress{font-size:14px;font-weight:700;margin-top:14px;color:var(--muted)}#stationSound[aria-pressed="true"]{background:#111;color:#fff}#stationView>.top{flex-wrap:wrap}

.settings-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px}.settings-menu{display:flex;flex-direction:column;align-self:start;padding:14px;gap:4px}.settings-group-label{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.07em;margin:14px 8px 4px}.settings-tab{color:var(--ink);background:transparent;text-align:left;padding:10px 12px}.settings-tab.active{background:#111;color:#fff}.settings-layout h2{margin-bottom:12px}.settings-layout .panel{margin:14px 0}.settings-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.settings-row>span{overflow-wrap:anywhere;text-align:right}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-fields label{display:flex;flex-direction:column;gap:6px}.settings-fields input{min-width:0;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px}.settings-form .review-actions{margin-top:18px}.brand b{font:inherit}@media(max-width:800px){.settings-layout{grid-template-columns:1fr}.settings-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-group-label{grid-column:1/-1}.settings-fields{grid-template-columns:1fr}}

.settings-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.settings-fields input[type="checkbox"]{width:22px;height:22px}.settings-fields select{font:inherit;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;color:var(--ink);width:100%}.settings-row>div:first-child{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.settings-row{flex-wrap:wrap}}

.catalog-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.catalog-filters label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px}.catalog-filters input,.catalog-filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;min-width:0;flex:1}.catalog-scroll{overflow-x:auto}.catalog-table{width:100%;border-collapse:collapse;font-size:14px}.catalog-table th,.catalog-table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.catalog-table th{color:var(--muted);font-weight:600;white-space:nowrap}.catalog-table td:first-child{min-width:150px}.catalog-table .settings-actions{flex-wrap:nowrap}.catalog-table button{padding:8px 10px;font-size:13px}

.void-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);background:var(--card);box-shadow:var(--shadow)}.void-dialog::backdrop{background:rgba(0,0,0,.55)}.void-selection{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.void-selection .quantity-controls{justify-content:center}.void-dialog .review-actions{margin-top:20px}.void-question{font-size:20px;font-weight:700;margin:22px 0;overflow-wrap:anywhere}@media(max-width:520px){.void-selection{grid-template-columns:minmax(0,1fr) auto}.void-selection>div:first-child{grid-column:1/-1}.void-selection>button{justify-self:end}.void-dialog{padding:18px}}

.bill-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.bill-tab{display:grid;gap:5px;text-align:left;min-width:150px;background:#f7f6f1;color:#303b3b;border:1px solid #deddd5;border-radius:16px;padding:14px 18px}.bill-tab span{font-size:12px;color:#747872}.bill-tab.active{background:#303b3b;color:#fff}.bill-tab.active span{color:#ddd}.discount-note{color:#76603c;font-size:14px}.bill-dialog{width:min(650px,calc(100vw - 32px));max-height:85vh;overflow:auto}.bill-dialog label{display:grid;gap:6px;margin:12px 0}.bill-dialog select,.bill-dialog input{width:100%;padding:12px;border:1px solid #deddd5;border-radius:12px;background:#f7f6f1;color:#303b3b}.bill-tabs[hidden]{display:none}

.bill-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
/* Trial payment and cashier panels share the original charcoal/cream palette. */
.pay-button{margin-left:auto;min-width:118px}.pay-button:disabled{background:#e5e2d9;color:#77756d}
.payment-dialog{width:min(720px,94vw);max-height:88vh;overflow:auto}.payment-dialog fieldset{border:0;padding:0;min-width:0}.payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.payment-method{padding:24px 12px;background:#f8f7f2;color:#303631;border:1px solid #deded3;border-radius:18px;font-weight:700;font-size:17px}.payment-method:hover{background:#e9eddf}.cashier-list{display:grid;gap:9px;margin:16px 0 28px}.cashier-row{display:grid;grid-template-columns:1.5fr .6fr 1fr .8fr 1.7fr;align-items:center;gap:16px;padding:18px;background:#fafaf6;border:1px solid #e2e1d7;border-radius:16px}.cashier-row.paid{background:#e4efdf}.cashier-row p{margin:5px 0}.cashier-status{font-size:13px}.cashier-detail-line{display:grid;grid-template-columns:1fr auto;gap:6px;border-bottom:1px solid #dddcd2;padding:14px 0}.cashier-detail-line p{grid-column:1/-1;margin:0}.button-link{display:inline-block;border-radius:12px;background:#303a32;color:#fff;padding:12px 18px;text-decoration:none}#paymentRecovery{padding:10px 0}
@media(max-width:760px){.cashier-row{grid-template-columns:1fr 1fr;gap:10px}.cashier-row>div{grid-column:1/-1}.payment-methods{grid-template-columns:1fr 1fr}}
/* Controller follows the trial's Inventory / Receiving / History arrangement. */
.controller-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.controller-summary .panel{display:grid;gap:8px}.controller-summary strong{font-size:28px}.stock-table input{min-width:105px;max-width:160px}.stock-conflict{max-width:240px;color:#973f3f;font-size:14px}.stock-plus{color:#347a49}.stock-minus,.negative-stock{color:#a03e3e}.stock-receipt-line{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,1fr) minmax(130px,1.2fr) minmax(90px,1fr) auto;gap:12px;align-items:end;margin:16px 0;padding-bottom:16px;border-bottom:1px solid #deddd3}.stock-receipt-line label{display:grid;gap:8px;font-size:14px}.stock-history-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stock-history-card{padding:16px 0;border-bottom:1px solid #deddd3}.stock-history-head,.stock-history-line{display:flex;justify-content:space-between;gap:14px;align-items:start}.stock-history-head p{margin:5px 0}.stock-history-line{flex-wrap:wrap;margin:12px 0;font-size:14px}#controllerView textarea{display:block;width:100%;margin:8px 0 16px;padding:10px;border:1px solid #deddd3;border-radius:10px}#controllerView form>button{margin-top:16px}#controllerView>.menu-cats{margin-bottom:18px}
@media(max-width:1000px){.stock-receipt-line{grid-template-columns:1fr 1fr}.stock-receipt-line>label:first-child{grid-column:1/-1}.stock-history-columns{grid-template-columns:1fr}}
@media(max-width:600px){.controller-summary{grid-template-columns:1fr}.stock-history-head{flex-wrap:wrap}}

/* Original Shift layout: receipt rows, closed shifts and original/final report panels. */
.shift-list{display:grid}.shift-row{display:grid;grid-template-columns:minmax(140px,1.2fr) 75px minmax(140px,1fr) minmax(110px,.8fr);align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}.shift-row .amount{text-align:right;font-weight:700}.shift-summary{margin:18px 0}.shift-summary-line{display:flex;justify-content:space-between;gap:18px;padding:5px 0}.shift-summary-line.total{font-size:1.2rem;border-top:1px solid var(--line);padding-top:12px}.closed-shift-row{display:grid;grid-template-columns:1fr 1.5fr .7fr .8fr;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 4px}.closed-shift-row small{display:block}.closed-shift-row strong{text-align:right}.shift-review-block{border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0}.shift-review-block.adjusted{border-color:#889b8d}.report-changed-row{background:#f6eed1}.report-change-note{display:block;color:#845417;font-size:.875rem}.report-note,.report-accepted{padding:14px;border-top:1px solid var(--line)}.shift-dialog{width:min(900px,95vw);max-width:95vw;max-height:90vh;overflow:auto}.shift-bill-text{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.shift-report{margin-top:20px}#shiftView>div.panel{margin-bottom:20px}.shift-row input,.shift-row select{width:100%;min-width:0}
@media(max-width:700px){.shift-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px 4px}.shift-row .amount{text-align:left}.closed-shift-row{grid-template-columns:1fr 1fr}.shift-review-block{padding:12px}.shift-dialog{padding:16px}}
/* Management follows the trial's filter strip, six KPIs and paired ranked lists. */
.management-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.management-filters label{display:grid;gap:5px;font-size:12px;font-weight:700}.management-filters input,.management-filters select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.management-kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:14px}.management-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.management-kpi .muted{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.management-kpi strong{display:block;margin-top:5px;font-size:22px;font-weight:900;overflow-wrap:anywhere}.management-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.management-top-sale{display:grid;grid-template-columns:36px minmax(0,1fr) 90px 100px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.management-top-sale strong{overflow-wrap:anywhere}.management-rank{font-weight:900;color:var(--muted)}.management-sale-amount{text-align:right}.management-stock{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.management-stock small{display:block;margin-top:5px}.management-stock>span{text-align:right}.stock-out,.stock-low{font-weight:900}.stock-out{color:#b42318}.stock-low{color:#9a6700}.management-events{min-height:80px;max-height:330px;overflow:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-gutter:stable}.management-event{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.management-event small{font-size:12px}.management-event:last-child,.management-stock:last-child,.management-top-sale:last-child{border-bottom:0}#managementView .panel{min-width:0}#managementView .panel>button{margin-top:12px}
@media(max-width:1050px){.management-kpis{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media(max-width:760px){.management-columns{grid-template-columns:1fr}.management-kpis{grid-template-columns:1fr 1fr}.management-filters{display:grid;grid-template-columns:1fr 1fr}.management-top-sale{grid-template-columns:24px minmax(0,1fr) 60px 75px;gap:6px}.management-stock{grid-template-columns:minmax(0,1fr) 60px 60px}.management-event{grid-template-columns:90px minmax(0,1fr)}}
/* Users and Roles retain the trial's settings rows and permission checkboxes. */
.access-form{margin:16px 0}.access-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:0;padding:0;min-width:0}.access-form fieldset>h3,.access-form fieldset>p{grid-column:1/-1}.access-form fieldset>label{display:grid;gap:6px;font-size:14px}.access-form input:not([type="checkbox"]),.access-form select{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.access-form .access-active{display:flex;flex-direction:row;align-items:center;align-self:end;min-height:44px}.access-form input[type="checkbox"]{width:20px;height:20px}.access-permissions{display:grid;gap:9px;align-content:start}.access-permissions h4{margin:5px 0}.access-form .review-actions{margin-top:18px}.access-form[hidden]{display:none}
@media(max-width:650px){.access-form fieldset{grid-template-columns:1fr}.access-form fieldset>h3,.access-form fieldset>p{grid-column:1}.access-permissions{margin-bottom:12px}}

.login-methods{display:flex;gap:8px}.login-methods button{font-size:14px;padding:10px 8px;background:#333;color:#ddd}.login-methods button[aria-pressed="true"]{background:#fff;color:#111}.login-panel fieldset{border:0;padding:0;margin:0;min-width:0}.login-panel fieldset[hidden]{display:none}
.backup-download{display:inline-block;text-decoration:none;border-radius:12px;padding:12px 14px;background:#111;color:#fff}.backup-download:focus-visible{outline:3px solid #4280ce;outline-offset:3px}

.pwa-controls{margin-top:1rem}.pwa-controls p{font-size:14px}.pwa-dialog{max-width:34rem;width:90vw;border:1px solid #d7d4cc;border-radius:18px;background:#f1eee7;color:#263238;padding:1.5rem}.pwa-dialog::backdrop{background:#0008}.pwa-dialog p{margin:1rem 0}.offline-notice{padding:12px 16px;border-left:3px solid #b17438;background:#fff4d8;color:#49351d;border-radius:8px}.offline-notice[hidden]{display:none}

.mobile-session{display:none}
@media(max-width:700px){.mobile-session{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:10;background:var(--bg);padding:10px 0;margin-bottom:18px;border-bottom:1px solid var(--line)}}

/* v48 parity: shared modal surfaces, add feedback, station board and report changes. */
dialog{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--card);color:var(--ink);box-shadow:0 22px 60px rgba(0,0,0,.25);max-width:94vw;max-height:90vh;overflow:auto;overscroll-behavior:contain}
dialog::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
dialog h2{margin-bottom:12px}dialog input:not([type="checkbox"]),dialog select,dialog textarea{font:inherit;max-width:100%;min-width:0}dialog .review-actions{margin-top:18px}
.table-total{margin-top:8px;font-size:16px}.order-discount-summary{font-size:13px;color:var(--muted);text-align:right;margin-top:5px}.order-discount-summary:empty{display:none}
@media(min-width:701px){.order-panel{position:sticky;top:0;z-index:5}.order-lines{max-height:40vh;overflow-y:auto;overscroll-behavior:contain}}
.item.added,.item.added:hover:not(:disabled){transform:scale(.97);background:#e8f5ea;box-shadow:0 0 0 2px #8bcf95 inset;transition:.12s}
.fly-item{position:fixed;z-index:9999;pointer-events:none;background:#111;color:#fff;border-radius:12px;padding:10px 14px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.25);white-space:nowrap;max-width:80vw;overflow:hidden;text-overflow:ellipsis;transform-origin:center;animation:flyToOrder .48s cubic-bezier(.22,.8,.25,1) forwards}
@keyframes flyToOrder{from{opacity:.95;transform:translate(-50%,-50%) scale(1)}to{opacity:.15;transform:translate(calc(-50% + var(--flight-x)),calc(-50% + var(--flight-y))) scale(.45)}}
.cart-line.flash{animation:orderFlash .65s ease}@keyframes orderFlash{0%{background:#fff4c7;transform:scale(1.01)}100%{background:transparent;transform:scale(1)}}
.ticket-grid{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding-bottom:8px;scroll-snap-type:x proximity}
.ticket{flex:0 0 340px;max-width:360px;min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafafa;box-shadow:none;scroll-snap-align:start}
.ticket.complete{border-color:var(--line)}.ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ticket-head h2{font-size:16px;overflow-wrap:anywhere}
.ticket-status{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px;background:#fff4dd;white-space:nowrap}.ticket-status.ready{background:#e8f5ea}
.ticket-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;padding:10px 0;border-top:0;border-bottom:1px solid var(--line)}
.ticket-line .ticket-item-name{font-size:16px;overflow-wrap:anywhere}.ticket-description{min-width:0}.ticket-description .muted{display:block;font-size:13px;margin-top:2px}
.ticket-line button{grid-column:2;grid-row:1;width:auto;margin:0;background:#fff;color:#111;border:1px solid var(--line);border-radius:9px;padding:7px 10px;min-height:44px}
.ticket-line .item-note,.ticket-line .line-extras{grid-column:1/-1}.ticket-line.is-ready{opacity:.52;background:transparent;border-radius:0;padding:10px 0}.ticket-line.is-ready .ticket-item-name{text-decoration:line-through}.ticket-line .ready-button{background:#e8f5ea}
.ticket-progress{font-size:12px;font-weight:400;text-align:right;margin-top:10px}
.cashier-status{display:inline-block;justify-self:start;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#f2f2ef}.cashier-status.ready{background:#e8f5ea}.cashier-status.preparing{background:#fff4dd}.cashier-status.paid{background:#d9efdd}.cashier-row.paid{background:#e8f5ea;border-color:#c8e6cc}
.cashier-row.clickable{cursor:pointer}.cashier-row.clickable:hover{box-shadow:0 4px 14px rgba(0,0,0,.06);transform:translateY(-1px)}.closed-shift-row:hover{background:#fafafa}.payment-method:hover{background:#f0f0ed}
.shift-review-block{background:#fafafa}.shift-review-block.adjusted{background:#fff;border:2px solid var(--ink)}.report-changed-row{background:#fff7d6;border-radius:10px;padding-left:8px;padding-right:8px}.report-changed-cell{background:#ffe7a8;border-radius:8px;padding:5px 8px;font-weight:900}.report-change-note{display:block;margin-top:3px;font-size:11px;font-weight:800;color:#7a5600}
@media(max-width:700px){.ticket{flex-basis:min(340px,calc(100vw - 40px))}.order-panel{position:static}.order-lines{max-height:none}.sidebar{padding-bottom:max(8px,env(safe-area-inset-bottom))}.main-content{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.item.added,.item.added:hover:not(:disabled){transform:none;transition:none}.fly-item{display:none}.cart-line.flash{animation:none;background:#fff4c7}.cashier-row.clickable:hover{transform:none}}

/* Remaining v48 selections and neutral colors. */
main:has(>#workspace[hidden]){min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:#111;padding:20px}
main:has(>#workspace[hidden]) .login-panel{width:min(420px,100%);margin:0}
.bill-tabs{padding:10px;border-radius:12px;background:#f5f5f2}.bill-tab{border-color:var(--line);background:#fff;color:#111;border-radius:12px;padding:10px 12px}.bill-tab.active{background:#111;border-color:#111;color:#fff}.bill-tab>strong{font-size:14px;font-weight:900}.bill-tab>b{font-size:16px}
.payment-method{background:#fafafa;color:#111;border-color:var(--line);border-radius:14px}.pay-button:disabled{background:#deded8;color:#777;opacity:1}
.selection-item,.topping-row{border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px 12px;margin:8px 0;grid-template-columns:minmax(0,1fr) auto auto}
.selection-item.selected,.topping-row.selected{border:2px solid var(--ink);background:#fafafa}
#extrasList{max-height:52vh;overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}
.discount-scope-list{display:grid;gap:8px;margin-top:12px;max-height:48vh;overflow-y:auto;padding-right:4px}
.discount-scope-btn{width:100%;text-align:left;border:1px solid var(--line);background:#fff;color:#111;border-radius:11px;padding:11px 12px}.discount-scope-btn:hover{background:#fafafa}
.discount-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.discount-tile{min-height:92px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#111;padding:12px;text-align:left}.discount-tile strong{display:block;font-size:22px;margin-bottom:5px}.discount-tile.selected{border:2px solid var(--ink);background:#fafafa}
.stock-table input,.stock-receipt-line input,.stock-receipt-line select{width:100%;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.negative-stock{font-weight:900;color:#b42318}
@media(max-width:500px){.discount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.table-timestamps{display:grid;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:14px;line-height:1.4;font-weight:400;text-align:left;width:100%}.table-timestamps>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px}.table-timestamps time{font-variant-numeric:tabular-nums}
.table-button.is-awaiting-cashier{background:var(--status-awaiting-bg);border-color:var(--status-awaiting-border);box-shadow:0 0 0 2px rgba(150,112,197,.16) inset}.table-button.is-awaiting-cashier span,.table-button.is-awaiting-cashier small{color:var(--status-awaiting-ink)}
.included-side-label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.included-side-label select{min-height:44px;min-width:180px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--card);color:var(--ink);font-size:16px}.included-side-label select:focus-visible{outline:3px solid #4280ce;outline-offset:3px}.included-side-note{grid-column:1/-1;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:7px 10px;border-radius:8px;font-size:14px;font-weight:700;overflow-wrap:anywhere}.ticket-line .included-side-note{font-size:16px}
.doneness-dialog{width:min(520px,calc(100vw - 32px))}.doneness-dialog>p{color:var(--muted)}.doneness-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.doneness-option{min-height:52px;background:var(--ink);color:var(--card);font-weight:700}.doneness-dialog>.secondary{min-height:44px;width:100%}.doneness-label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.doneness-label select{min-height:44px;min-width:180px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--card);color:var(--ink);font-size:16px}.doneness-label select:focus-visible{outline:3px solid #4280ce;outline-offset:3px}.doneness-badge{display:inline-block;padding:6px 10px;border:1px solid var(--ink);border-radius:8px;color:var(--ink);background:var(--card);font-size:16px;font-weight:800;overflow-wrap:anywhere}
.dish-choice-dialog{width:min(520px,calc(100vw - 32px))}.dish-choice-dialog>p{color:var(--muted)}.dish-choice-options{display:grid;gap:10px;margin:18px 0}.dish-choice-option{min-height:52px;background:var(--ink);color:var(--card);font-weight:700;font-size:16px}.dish-choice-dialog>.secondary{min-height:44px;width:100%}.dish-choice-label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.dish-choice-label select{min-height:44px;min-width:180px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--card);color:var(--ink);font-size:16px}.dish-choice-label select:focus-visible{outline:3px solid #4280ce;outline-offset:3px}.dish-choice-badge{grid-column:1/-1;display:inline-block;padding:6px 10px;border:1px solid var(--ink);border-radius:8px;color:var(--ink);background:var(--card);font-size:16px;font-weight:800;overflow-wrap:anywhere}.dish-choice-total{grid-column:1/-1;margin:4px 0;font-size:14px;font-weight:700;color:var(--ink)}.ticket-line .dish-choice-total{font-size:16px}
.station-voids{margin:0 0 24px;border:2px solid #bc3636;border-radius:16px;background:#fff1f0;padding:16px;color:#7e2020}.station-voids h2{margin:0 0 12px;font-size:20px}.void-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.void-alert{border:1px solid #d58e89;border-radius:12px;background:#fff;padding:14px}.void-alert h3{margin:0 0 10px;font-size:18px}.void-alert-item{font-size:18px}.void-alert p{font-size:14px;line-height:1.45;margin:8px 0}.void-alert-confirm{background:#9c2929;color:#fff;border:1px solid #9c2929;border-radius:10px;min-height:44px;padding:10px 14px;font:inherit;cursor:pointer}.void-alert-confirm:disabled{opacity:.55;cursor:default}.void-alert-error{font-weight:700}

.draft-recovery{padding:18px;margin-bottom:18px;border:2px solid #b58638;background:#fff3d9;color:#463516}.draft-recovery p{margin:8px 0 14px}.draft-recovery button{min-height:44px}

.login-panel .login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 26px;text-align:center}.login-brand img{display:block;width:clamp(100px,26vw,120px);max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;flex-shrink:0}.login-panel .login-brand span{font-size:13px;font-weight:500;line-height:1;letter-spacing:.32em;padding-left:.32em;color:#c6ad7c;opacity:1}.login-panel>h1{text-align:center;font-size:24px;font-weight:650;letter-spacing:-.02em}.login-panel>.intro{text-align:center;font-size:14px;font-weight:400;color:#aaa;margin-top:8px}

.table-name-fields{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px;grid-column:1/-1}.table-range-fields{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:14px}.table-range-fields label{flex:1;min-width:70px}.table-range-fields button{width:100%}

/* Action outcomes share a clear, readable palette; progress stays neutral. */
#actionMessage.action-notice{padding:12px 16px;margin:0 0 18px;border:1px solid;border-left-width:4px;border-radius:10px;line-height:1.5;overflow-wrap:anywhere}
#actionMessage.action-notice--success{background:#e7f7ea;border-color:#73b982;color:#205c32}
#actionMessage.action-notice--error,#dataError:not(:empty),#loginError:not(:empty){background:#fff0ef;border:1px solid #d98983;border-left:4px solid #ba3b32;color:#8c241e;border-radius:10px;padding:12px 16px;line-height:1.5;overflow-wrap:anywhere}
#actionMessage.action-notice--info{background:#eef1f4;border-color:#bbc4ce;color:#364554}

.pwa-update-status{padding:12px;border:1px solid #b99240;border-radius:10px;background:#352b12;color:#fff0c0;font-size:14px;line-height:1.45;margin:12px 0;}

.management-payment-confirmed{border-left:3px solid #18804b;background:#edf9f1;padding:10px 8px;margin:5px 0}.management-payment-confirmed strong{color:#146c3e}.management-void{border-left:3px solid #b42318;background:#fff1f0;padding:10px 8px;margin:5px 0}.management-void strong{color:#b42318}.management-events~button{margin-top:12px}

.ticket.ticket-new{border:3px solid #d57b0b;background:#fff8e7}.new-ticket-title{margin:0 0 12px;color:#8a4700;font-size:20px}.accept-ticket{width:100%;margin:12px 0;background:#126e43;color:#fff;font-weight:800;padding:14px}#stationCount{font-size:18px;font-weight:700}

/* A single permitted screen uses the full width and keeps account controls at the top. */
.finance-day-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0}.finance-scroll{margin-top:16px;max-height:68vh}.finance-table{min-width:1180px}.finance-table th,.finance-table td{white-space:nowrap}.finance-table thead th{position:sticky;top:0;z-index:1;background:var(--card);box-shadow:0 1px 0 var(--line)}.finance-details{margin:0 0 0 8px;padding:4px 7px;min-height:30px;font-size:12px}.finance-opening td,.finance-opening th{background:#f3f1e8}.finance-total td,.finance-total th{background:#eef4ef;font-weight:700}.finance-closing td,.finance-closing th{background:#e3eee5;font-weight:800}.guest-account-row{align-items:center}.guest-balance{font-size:18px;font-weight:800}.guest-statement{padding-top:12px;margin-top:12px;border-top:1px solid #deddd3}.guest-statement h3{margin:0 0 8px}.finance-dialog,.guest-account-dialog{max-width:660px;width:min(660px,calc(100% - 28px))}.finance-dialog .settings-fields,.guest-account-dialog .settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-dialog .settings-fields>p,.finance-dialog .settings-fields>div,.finance-dialog .settings-fields>label:last-child,.guest-account-dialog .settings-fields>p,.guest-account-dialog .settings-fields>div,.guest-account-dialog .settings-fields>label:last-child{grid-column:1/-1}
@media(max-width:680px){.finance-day-head{align-items:flex-start;flex-direction:column}.finance-dialog .settings-fields,.guest-account-dialog .settings-fields{grid-template-columns:1fr}.finance-table{min-width:920px}}
.pos-app.single-section{grid-template-columns:minmax(0,1fr)}.single-section>.sidebar{display:none}.single-section .mobile-session{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:0 0 12px;border-bottom:1px solid var(--line)}
/* Keep all desktop sections inside the sidebar as the role's menu grows. */
@media(min-width:701px){
 .sidebar{height:100vh;height:100dvh;min-height:0;align-self:start;overflow-y:auto;overflow-x:hidden}
 .sidebar>.brand,.sidebar>.sidebar-bottom{flex:0 0 auto}
 .sidebar>nav{flex:1 1 auto;min-height:52px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px;margin:-4px;scroll-padding-block:4px}
 .sidebar>nav>.nav-button{flex:0 0 auto;overflow-wrap:anywhere}
}
.session-identity{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px;overflow-wrap:anywhere}#mobileConnection{font-size:12px;color:var(--muted)}.session-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-actions button{min-height:44px;font-size:14px;white-space:nowrap}
.table-button .table-stations{display:grid;gap:6px;width:100%;margin:6px 0}.table-button .table-station{padding:6px 9px;border-radius:7px;line-height:1.35;font-size:13px;text-align:left}.table-button .table-station--awaiting{color:#7a480a;background:#fff1d0}.table-button .table-station--preparing{color:#5f511b;background:#f6f0d6}.table-button .table-station--ready{color:#246536;background:#e3f3e6}
@media(max-width:700px){.single-section .main-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-session{flex-wrap:wrap;gap:10px}.session-identity{flex:1 1 140px}.session-actions{flex:0 1 auto}.single-section .mobile-session{position:static}}
.side-options{display:flex;flex-direction:column;gap:6px}.side-options>strong{font-size:14px}.side-options .muted{margin:0}.side-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:12px;border:1px solid var(--line);border-radius:10px}.side-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;cursor:pointer}.side-checkbox input[type="checkbox"]{width:18px;height:18px;margin:0;flex:0 0 auto}.side-checkbox span{line-height:1.25}@media(max-width:600px){.side-checkboxes{grid-template-columns:1fr}}

.finance-table .finance-card-total{border-left:2px solid #92adb1;border-right:2px solid #92adb1;font-weight:750;color:#17474e}
.management-sales-filter{display:block;margin:0 0 14px;font-weight:700}.management-sales-filter[hidden]{display:none}.management-sales-filter select{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.management-money{margin-bottom:14px}.management-money .catalog-table{min-width:620px}.management-money .catalog-table td{white-space:nowrap}.management-money .catalog-table td:first-child{min-width:90px}.management-money .catalog-table th{white-space:normal;min-width:100px}@media(min-width:1051px){.management-kpis{grid-template-columns:repeat(4,minmax(120px,1fr))}}

.tip-payment-summary{display:grid;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid var(--line,#d7d7d7);border-radius:.75rem}.tip-payment-summary p{margin:0}.tip-payment-summary label{display:grid;gap:.4rem}.tip-payment-summary input{width:100%;box-sizing:border-box;font:inherit;padding:.65rem}.payment-breakdown-table{width:100%;font-size:.9rem}.payment-breakdown-table td{white-space:nowrap}.payment-breakdown-table th{min-width:6rem}

.shift-activity-entry{padding:1rem 0;border-top:1px solid var(--line,#ddd);overflow-wrap:anywhere}.shift-activity-entry p{margin:.3rem 0;font-size:.95rem}.guest-statement .shift-bill-text{white-space:pre-wrap}

.supplier-picker{display:grid;gap:8px;flex:1;min-width:190px}.supplier-picker>button{justify-self:start;font-size:13px;padding:8px 10px}.supplier-picker select,.supplier-editor input{width:100%;min-width:0}.supplier-editor{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:#f5f4ee;border:1px solid var(--line);border-radius:10px}.supplier-editor[hidden]{display:none}.supplier-editor input,.supplier-editor p{flex-basis:100%;margin:0}.supplier-editor button{font-size:13px;padding:8px 10px}.supplier-editor p{font-size:13px}
.reception-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin-top:18px}.reception-card{margin:0;display:flex;flex-direction:column;gap:10px;border-left:5px solid #627276}.reception-card h2,.reception-card h3,.reception-card p{margin:0}.reception-card .review-actions{margin-top:auto;padding-top:12px;gap:8px;flex-wrap:wrap}.reception-card button{font-size:14px;padding:9px 12px}.reception-card .reception-room{font-weight:700;color:#526468}.reception-card.reception-due{border-left-color:#bf8400;background:#fff9e7}.reception-card.reception-overdue{border-left-color:#b33a31;background:#fff1ef}.reception-card.reception-settled{border-left-color:#378351}.reception-notice{font-weight:700;font-size:16px}.reception-dialog{max-width:760px;width:calc(100% - 30px)}#receptionView>input{width:100%;max-width:480px;padding:12px;margin-top:16px;border:1px solid var(--line);border-radius:10px;font:inherit}.reception-dialog input,.reception-dialog select{min-height:44px}.passport-number{font-size:22px;font-weight:700;letter-spacing:1px}.registration-page{min-height:100vh;background:#e9edeb;display:block;padding:24px 12px}.registration-shell{display:block!important;max-width:720px!important;margin:0 auto!important;padding:26px!important;border-radius:20px;background:#fff}.registration-shell>img{display:block;margin:0 auto 18px}.registration-shell h1{font-size:28px}.registration-shell fieldset{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:0;padding:0;margin:22px 0}.registration-shell fieldset>label{display:flex;flex-direction:column;gap:7px;font-size:16px}.registration-shell input:not([type=checkbox]){min-height:48px;padding:11px 12px;font:inherit;border:1px solid #9aa9a7;border-radius:9px;width:100%;box-sizing:border-box}.registration-consents{grid-column:1/-1;display:grid;gap:20px;padding-top:10px}.registration-check{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5}.registration-check input{flex:0 0 22px;width:22px;height:22px;margin-top:3px}.registration-shell form>button{width:100%;min-height:52px;font-size:17px}.registration-staff{display:inline-block;margin-top:24px;font-size:14px;color:#596965}.registration-shell [role=status]{font-size:16px;line-height:1.5}@media(max-width:540px){.registration-shell fieldset{grid-template-columns:1fr}.registration-shell{padding:20px!important}.registration-page{padding:12px 8px}}

/* Version 85: compact action history; details load only when opened. */
.activity-dialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto}.activity-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}.activity-filters label{display:grid;gap:5px;flex:1 1 150px;min-width:0}.activity-filters input,.activity-filters select{width:100%;box-sizing:border-box}.activity-entry{display:block;padding:16px 0;border-bottom:1px solid #ddd}.activity-entry strong,.activity-entry small{display:block}.activity-entry details{margin-top:10px}.activity-entry summary{cursor:pointer;font-weight:600}.activity-detail{overflow:auto;overflow-wrap:anywhere}.activity-detail td{white-space:pre-wrap;max-width:600px}.activity-open{margin-bottom:12px}

.guest-visit-detail{grid-column:1/-1;display:grid;gap:16px;min-width:0}.guest-visit-detail>button{justify-self:start;align-self:start}.guest-visit-detail .stock-history-line{align-items:center}.guest-visit-detail .stock-history-line button{white-space:normal;overflow-wrap:anywhere}

/* Compact Finance columns; keep the account values readable while scrolling. */
.finance-table{min-width:0;width:max-content;table-layout:fixed}.finance-table th,.finance-table td{padding:8px 10px;white-space:normal;min-width:0;max-width:160px;overflow-wrap:anywhere}.finance-table th:first-child,.finance-table td:first-child{width:58px;min-width:58px;max-width:58px}.finance-table th:nth-child(2),.finance-table td:nth-child(2){width:190px;min-width:190px;max-width:190px}.finance-table th:nth-child(3),.finance-table td:nth-child(3){width:74px;min-width:74px;max-width:74px}.finance-table th:nth-child(n+4),.finance-table td:nth-child(n+4){width:136px;min-width:136px;max-width:136px;text-align:right;font-variant-numeric:tabular-nums}.finance-table th:last-child,.finance-table td:last-child{width:190px;min-width:190px;max-width:190px;text-align:left}.finance-day-amount{display:block;white-space:normal;font-size:14px;line-height:1.6}.finance-table .finance-details{display:block;margin:5px 0 0;font-size:14px}.finance-scroll{overflow:auto;overscroll-behavior-x:contain}
/* Version 88: readable finance summaries and bounded action history. */
.report-scroll{max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.report-table{width:100%;font-size:1rem}.report-table th,.report-table td{padding:12px 10px;white-space:normal;min-width:0!important;overflow-wrap:anywhere}.report-table th{font-size:.875rem}.report-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.report-table th:not(:first-child){text-align:right}.report-table td:first-child{width:34%}.report-table small{display:block}.report-table summary{cursor:pointer;font-weight:700}.report-table details[open]{min-width:210px}.report-facts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;font-size:.95rem;margin:14px 0}.report-facts dt{color:var(--muted)}.report-facts dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.report-facts dd,.report-facts dt{overflow-wrap:anywhere}.receipt-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}.receipt-totals span{display:block;font-size:.875rem;color:var(--muted)}.receipt-totals strong{display:block;font-size:1.3rem;margin-top:6px;font-variant-numeric:tabular-nums}.receipt-totals>div:last-child{border-left:3px solid #9c7a32;padding-left:12px}.payment-currency+.payment-currency{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.customer-payments,.finance-day-head~.panel{margin-top:16px}.currency-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.currency-facts>section{min-width:0}.management-tabs{display:flex;gap:8px;margin-bottom:16px}.management-stock-events{margin-top:16px}.management-log-panel{margin-top:0}.management-money{margin-top:16px}.management-kpi .muted{font-size:.875rem;text-transform:none;letter-spacing:0}.management-filters label{font-size:.875rem}.management-top-sale,.management-stock{font-size:.875rem}.finance-scroll{max-height:420px;overflow:auto;overscroll-behavior:contain}.finance-movements th:nth-child(1){width:65px}.finance-movements td:not(:first-child),.finance-movements th:not(:first-child){text-align:left}.finance-movements td:nth-child(3){font-size:.95rem}.finance-movements td:nth-child(2) button{display:block;margin-top:6px;font-size:.875rem}.finance-movements thead{position:sticky;top:0;background:#fff;z-index:1}.finance-movements td div{padding:3px 0}
.activity-list{height:clamp(260px,52dvh,580px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}.activity-entry{display:grid;grid-template-columns:155px minmax(0,1fr) auto;gap:16px;padding:14px 0;font-size:1rem;align-items:start}.activity-entry-head time{display:block;font-size:.875rem;font-variant-numeric:tabular-nums}.activity-category{display:block;font-size:.875rem;color:var(--muted);margin-top:6px}.activity-entry-main strong{font-size:1rem;line-height:1.5}.activity-who{margin-top:4px;font-size:.95rem}.activity-entry details{margin:0;font-size:.875rem}.activity-entry details[open]{grid-column:1/-1}.activity-detail{max-width:100%;max-height:340px;overflow:auto;overscroll-behavior:contain}.activity-detail .catalog-table{font-size:.875rem}.activity-detail th{white-space:normal;min-width:130px}.activity-detail td{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.activity-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.875rem}.activity-filters{gap:10px;margin:12px 0}.activity-filters label{font-size:.875rem;flex-basis:140px}.activity-filters input,.activity-filters select{min-height:42px;font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.activity-list:focus-visible{outline:2px solid #9c7a32;outline-offset:3px}.activity-dialog{overscroll-behavior:contain}.activity-amount{margin-top:5px}
@media(max-width:680px){.report-table{font-size:.875rem}.report-table td,.report-table th{padding:10px 6px}.receipt-totals{gap:8px}.receipt-totals strong{font-size:1rem}.report-facts{font-size:.875rem;gap:8px}.activity-entry{grid-template-columns:1fr auto;gap:8px}.activity-entry-head{grid-column:1/-1;display:flex;gap:12px;align-items:center}.activity-category{margin:0}.activity-filters label{flex-basis:120px}.activity-list{padding:0 10px;height:48dvh}.currency-facts{grid-template-columns:1fr}.finance-movements{min-width:530px}}
.receipt-composition{max-width:480px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line)}.report-secondary{margin:16px 0}.report-secondary>summary{cursor:pointer;font-size:1rem;font-weight:700;padding:14px;border:1px solid var(--line);border-radius:12px}.report-secondary[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.report-secondary .panel{margin-top:0}
/* Version 89: mixed receiving and purchase price history */
.receiving-item-search{display:grid;gap:6px;min-width:0}.receiving-item-search input,.receiving-item-search select{width:100%;min-width:0}.receiving-item-search small{font-size:12px;line-height:1.3}.stock-receipt-line{align-items:start}.stock-receipt-line>button{margin-top:23px}.purchase-item-editor{padding:16px;background:#f5f4ed;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;align-items:end}.purchase-item-editor[hidden]{display:none}.purchase-item-editor label{display:grid;gap:6px;flex:1;min-width:160px}.purchase-item-editor p{flex-basis:100%;margin:0}.purchase-price-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:start}.purchase-price-controls>.purchase-price-search{grid-column:1/-1}.purchase-price-controls input,.purchase-price-controls select,.purchase-price-controls>button{height:44px;min-height:44px;min-width:0;margin:0;font-size:16px}.purchase-price-controls input,.purchase-price-controls select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background-color:var(--card);color:var(--ink)}.purchase-price-controls input[type=search]{-webkit-appearance:none;appearance:none}.purchase-price-controls>button{white-space:nowrap}.purchase-price-controls .receiving-item-search small:empty{display:none}.purchase-price-scroll{max-height:60vh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px}.purchase-price-table{width:100%;border-collapse:collapse;font-size:14px}.purchase-price-table th,.purchase-price-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.purchase-price-table th{position:sticky;top:0;background:#f5f4ed;z-index:1}.purchase-price-table td:nth-child(n+3):nth-child(-n+5){white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.purchase-price-table small{display:block;margin-top:4px}.purchase-price-table td:first-child{min-width:135px}.purchase-price-table td:nth-child(2){min-width:155px}@media(max-width:700px){.purchase-price-controls{grid-template-columns:1fr}.purchase-price-scroll{max-height:55vh}}
/* Version 90: visible audit journal and daily cash workbook */
.management-log-panel{margin:0 0 20px}.management-log-panel .activity-list{max-height:360px}.finance-workbook{margin-top:16px;padding:14px;min-width:0}.finance-workbook-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:10px}.finance-workbook-head .review-actions{margin:0}.finance-workbook-head select{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.finance-workbook .finance-scroll{max-height:65vh;border:1px solid #d9ded8;border-radius:8px;margin-top:12px;scrollbar-gutter:stable}.finance-workbook-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:max-content;min-width:100%;font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}.finance-workbook-table th,.finance-workbook-table td{padding:7px 8px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;vertical-align:top;min-width:76px;text-align:right;white-space:nowrap}.finance-workbook-table thead{position:sticky;top:0;z-index:4;background:#edf0e8}.finance-workbook-table th{text-align:center;font-weight:750}.finance-workbook-table thead th{white-space:normal}.finance-workbook-table .workbook-time{min-width:48px;width:48px;text-align:left}.finance-workbook-table .workbook-description{min-width:210px;width:240px;max-width:280px;text-align:left;white-space:normal;position:sticky;left:0;background:#fff;z-index:2}.finance-workbook-table thead .workbook-description{background:#edf0e8;z-index:5}.workbook-comment{margin-top:4px;overflow-wrap:anywhere}.finance-workbook-table .workbook-department{min-width:70px;text-align:left}.finance-workbook-table .workbook-actor{min-width:85px;max-width:140px;white-space:normal;text-align:left}.finance-workbook-table .workbook-in{background:#f2f7ed}.finance-workbook-table .workbook-out{background:#fff1de}.finance-workbook-table .workbook-card{background:#eff3fa}.finance-workbook-table .workbook-details{display:block;font-size:11px;padding:2px 0;background:none;color:#365576;text-decoration:underline;margin-top:5px}.finance-workbook-table .workbook-opening>*{background:#f1f2ed}.finance-workbook-table .workbook-provisional>*{color:#647184;font-style:italic}.finance-workbook-table tfoot{position:sticky;bottom:0;z-index:3}.finance-workbook-table tfoot th,.finance-workbook-table tfoot td{background:#e4eedf;font-weight:800;border-top:1px solid #b7c7b2}.finance-workbook-table .workbook-closing>*{background:#d7e7ce}.finance-workbook.is-expanded{position:fixed;inset:12px;z-index:120;margin:0;overflow:auto;box-shadow:0 0 0 20px #1118}.finance-workbook.is-expanded .finance-scroll{max-height:calc(100dvh - 190px)}.finance-quick-entry{padding:14px;margin:12px 0;background:#f8f8f2;border:1px solid #c5d1bf;border-radius:10px}.finance-quick-fields{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;margin-top:10px}.finance-quick-fields label{display:grid;gap:5px;font-size:13px}.finance-quick-fields input,.finance-quick-fields select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.finance-quick-fields label:last-child{grid-column:1/-1}.finance-quick-entry .review-actions{margin-top:10px}@media(max-width:700px){.finance-quick-fields{grid-template-columns:1fr 1fr}.finance-workbook{padding:10px}.finance-workbook-table .workbook-description{min-width:150px;max-width:180px}.finance-workbook.is-expanded{inset:4px}.finance-workbook.is-expanded .finance-scroll{max-height:65vh}}

/* Version 93: bounded guest pages and tablet-friendly lookup controls. */
.reception-results,.guest-results{max-height:68vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 4px 8px 0}
.reception-more-views>summary,.reception-stay-details>summary,.reception-guest-details>summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:14px}
.reception-more-views{margin-top:8px}.reception-more-views .menu-cats{margin:4px 0}
.reception-stay-details,.reception-guest-details{border-top:1px solid var(--line)}
.reception-private-details,.reception-bill-review{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}
.reception-bill-review{padding:10px 0;border-top:1px solid var(--line)}
.reception-bill-review button,.reception-stay-details>button,.reception-guest-details>button{white-space:normal;max-width:100%;margin:4px 0}
.reception-status{font-weight:650;font-size:14px}.reception-dates{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.reception-dialog .settings-fields>.reception-bill-review{grid-column:1/-1}
.paged-select{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
.paged-select input,.paged-select select{width:100%;min-width:0}
.paged-select>span{font-size:.8rem;color:#6d706d}
.paged-select button{justify-self:start;padding:7px 10px;font-size:.82rem}

/* Version 98: compact receiving fields and readable event descriptions. */
.receiving-form{container-type:inline-size;min-width:0}
.receiving-form>h2{margin-bottom:8px}
.receiving-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:16px 12px;align-items:start;margin:18px 0 10px}
.receiving-details>label,.receiving-details .supplier-picker label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;line-height:1.3;flex:none}
.receiving-field-title{display:block;min-height:2.6em;font-size:14px;line-height:1.3}
.receiving-details .supplier-picker{min-width:0;align-content:start;gap:8px}
.receiving-details input:not([type=checkbox]),.receiving-details select{height:44px;min-height:44px;width:100%;flex:none;min-width:0;padding:10px;font-size:16px;color:var(--ink)}
.receiving-details button{align-self:start;justify-self:start;min-height:36px;padding:7px 10px;font-size:14px}
.receiving-details small{font-size:14px;line-height:1.35}
.receiving-check{display:flex;align-items:center;height:44px}
.receiving-details .receiving-check input{flex:none;width:22px;height:22px;margin:0;accent-color:#303b3b}
.receiving-details>.receiving-rate{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px;padding-top:4px;max-width:100%}
.receiving-rate>span{flex:0 1 auto}
.receiving-details .receiving-rate input{width:130px;min-width:64px;flex:0 1 130px;font-variant-numeric:tabular-nums}
.receiving-rate>span:last-child{font-weight:650;white-space:nowrap}
.receiving-form .stock-receipt-line{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.4fr) 44px;gap:10px;align-items:start;margin:18px 0;padding:16px 0 18px;border-top:1px solid var(--line);border-bottom:0}
.receiving-form .stock-receipt-line>label{min-width:0;gap:6px;grid-column:auto}
.receiving-form .stock-receipt-line>.receiving-line-search{grid-column:1/-1;width:min(100%,480px);margin-bottom:2px}
.receiving-form .stock-receipt-line input,.receiving-form .stock-receipt-line select{height:44px;min-height:44px;font-size:16px}
.receiving-form .receiving-item-search{gap:6px}
.receiving-form .receiving-item-search small{font-size:14px;line-height:1.35}
.receiving-unit-cost>strong{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere;font-size:16px;font-variant-numeric:tabular-nums}
.receiving-form .stock-receipt-line>button{margin-top:calc(2.6em + 6px);width:44px;height:44px;padding:0;font-size:14px}
.activity-entry-main{min-width:0;overflow-wrap:anywhere}
.activity-entry-main>strong{font-weight:650}
.activity-entry-head,.activity-who{min-width:0;overflow-wrap:anywhere}
@container(max-width:680px){
 .receiving-form .stock-receipt-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
 .receiving-form .stock-receipt-line>.receiving-item-field{grid-column:1/3}
 .receiving-form .stock-receipt-line>button{grid-column:3;grid-row:2}
 .receiving-form .stock-receipt-line>.receiving-unit-cost{grid-column:1/3}
 .receiving-details{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container(max-width:360px){
 .receiving-details{grid-template-columns:minmax(0,1fr)}
 .receiving-details .receiving-field-title{min-height:0}
 .receiving-details .receiving-rate input{flex-basis:90px;width:90px}
}
/* Guest registration: finger drawing stays inside the pad, including on tablets. */
.registration-signature{grid-column:1/-1;min-width:0;display:grid;gap:10px}
.registration-signature-pad,.registration-signature-image{display:block;width:100%;max-width:720px;aspect-ratio:1000/360;background:#fff;border:1px solid #9ca3af;border-radius:12px;color:#111827}
.registration-signature-pad{touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}
.registration-signature button{justify-self:start}
.registration-signature p{margin:0}

.registration-signature-surface{width:100%;max-width:720px;min-width:0;touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.registration-signature-surface .registration-signature-pad{box-sizing:border-box;touch-action:none}
.registration-signature-pad polyline{pointer-events:none}

/* Balance matrix keeps each money account and currency distinct. */
.finance-money-balances{margin:10px 0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.finance-money-balances h2{font-size:17px;margin:0 0 6px}.finance-balances-scroll{overflow-x:auto}.finance-balances-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:16px}.finance-balances-table th,.finance-balances-table td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.finance-balances-table thead th{font-size:12px;font-weight:650;color:var(--muted);padding-top:4px;padding-bottom:5px}.finance-balances-table th:first-child{text-align:left;padding-left:0;white-space:normal;width:40%;min-width:140px}.finance-balances-table td{font-weight:750}.finance-balances-table tr:last-child>*{border-bottom:0}.finance-balances-table tbody th{font-size:14px;font-weight:600}.finance-balances-table small{display:block;font-size:11px;font-weight:400}.finance-balances-table .finance-balance-negative{color:#a32323;background:#fff4f1}.finance-balances-table .finance-balance-zero{color:var(--muted);font-weight:400}
.finance-balance-help{font-size:12px;color:var(--muted);margin-top:4px}.finance-balance-help summary{cursor:pointer;padding:6px 0}.finance-balance-help p{font-size:12px;max-width:850px}
.finance-daily-meta{margin:12px 0 8px}.finance-handover-empty{font-size:12px;margin:4px 0 10px}.finance-handover-panel{margin:10px 0;padding:12px 16px}.finance-handover-panel h2{font-size:17px}
.finance-daily-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:10px 0}.finance-daily-actions>button,.finance-more-actions>summary{min-height:44px;padding:11px 14px;font-size:14px}.finance-more-actions{margin-left:auto}.finance-more-actions>summary{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:var(--card)}.finance-more-buttons{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.finance-more-buttons button{min-height:44px;font-size:14px;padding:10px 12px}.finance-workbook-help{margin-top:10px;font-size:12px;color:var(--muted)}.finance-workbook-help summary{cursor:pointer;padding:6px 0}.finance-workbook-head .review-actions{gap:6px}.finance-workbook-head button,.finance-workbook-head select{font-size:13px;min-height:44px;padding:10px 12px}
@media(max-width:600px){.finance-money-balances{padding:10px 12px}.finance-balances-table{font-size:14px}.finance-balances-table th,.finance-balances-table td{padding:8px}.finance-balances-table th:first-child{min-width:115px}.finance-daily-actions>button{flex:1 1 calc(50% - 8px)}.finance-more-actions{margin-left:0;width:100%}.finance-more-actions>summary{width:fit-content}.finance-workbook-head .review-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}}


/* Registration 107: compact reception setup and private signed photo. */
.registration-advanced,.registration-signature-notice,.registration-photo,.registration-record-photo{grid-column:1/-1}
.registration-advanced{border-top:1px solid var(--line);padding-top:16px}
.registration-advanced summary{cursor:pointer;font-weight:700;padding:10px 0}
.registration-advanced .settings-fields{margin-top:14px}
.reception-dialog .settings-fields .reception-check{grid-column:1/-1;display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px}
.reception-check input[type=checkbox]{flex:0 0 24px;min-height:24px;width:24px;height:24px;margin:0}
.reception-check span{display:grid;gap:6px}.reception-check small{font-size:14px;line-height:1.45;color:var(--muted)}
.registration-photo{display:grid;gap:14px;padding:18px;border:1px solid #9aa9a7;border-radius:14px;min-width:0}
.registration-photo h2,.registration-photo p{margin:0;line-height:1.5}
.registration-photo video,.registration-photo img,.registration-record-photo{display:block;max-width:100%;width:360px;max-height:420px;object-fit:contain;border-radius:10px;background:#edf0ee}
.registration-photo [hidden]{display:none}.registration-photo .review-actions{display:flex;gap:10px;flex-wrap:wrap}
.registration-photo .registration-check{display:flex;flex-direction:row;align-items:flex-start}
.registration-shell input[readonly]{background:#f2f5f3;color:#374b44}

.registration-shell select{min-height:48px;padding:11px 12px;font:inherit;border:1px solid #9aa9a7;border-radius:9px;width:100%;min-width:0;background:#fff;color:var(--ink);box-sizing:border-box}.registration-shell fieldset>label[hidden]{display:none}

.guest-registration-list{grid-column:1/-1;display:grid;gap:12px}.guest-registration-list .panel{margin:0;padding:16px}.guest-registration-list strong{overflow-wrap:anywhere}

.breakfast-dialog {width:min(560px,calc(100vw - 2rem));max-height:90dvh;overflow:auto;}
.breakfast-dialog form {display:grid;gap:14px;}
.breakfast-dialog label {display:grid;gap:6px;}
.breakfast-dialog select {width:100%;min-height:46px;}
.breakfast-dialog [hidden] {display:none!important;}

.breakfast-included-options {display:flex;flex-wrap:wrap;gap:12px;}
.breakfast-dialog label.breakfast-included-option {display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;border:1px solid #ccc;border-radius:10px;cursor:pointer;}
.breakfast-dialog .breakfast-included-option input {width:22px;height:22px;min-height:0;margin:0;}
/* Temporary availability — compact toolbar entry, existing menu stays recognizable. */
.stop-button{font-size:.88rem;padding:.6rem .85rem;flex:0 0 auto;white-space:nowrap;min-height:42px}
.stop-button.has-stops{background:#fff3e7;color:#633b14;border:1px solid #d9b996}
.stop-dialog{width:min(620px,calc(100vw - 24px));max-height:min(80dvh,760px);padding:22px;box-sizing:border-box;overflow:auto}
.stop-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.stop-heading h2{margin:0;font-size:1.25rem}
.stop-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.stop-tools input{flex:1 1 100%;min-width:0}
.stop-rows{display:grid;gap:0}.stop-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #dce0dc}
.stop-item{min-width:0;overflow-wrap:anywhere}.stop-item>small{display:block;margin-top:4px}.stop-row>button{flex:0 0 auto;font-size:.85rem;padding:.65rem .8rem}
.stop-item details{margin-top:7px;font-size:.84rem}.stop-item summary{cursor:pointer}.stop-item p{margin:6px 0}.stop-status:empty{display:none}
.stop-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:12px 18px;border-radius:12px;background:#283b35;color:white;box-shadow:0 4px 20px #0002;z-index:1200;pointer-events:none;font-size:.9rem}
.unavailable-tag{display:inline-block;border-radius:6px;background:#f1e2d7;color:#75431e;font-size:.78rem;padding:3px 6px}
.menu-button:disabled:has(.unavailable-tag){opacity:.72}.stop-draft-issue{color:#973d20;font-size:.86rem;grid-column:1/-1;margin:4px 0}
@media(max-width:600px){.stop-dialog{padding:16px}.stop-row{gap:8px}.stop-row>button{max-width:112px;white-space:normal}.stop-button{padding:.5rem .65rem;font-size:.8rem}.top:has(.stop-button){flex-wrap:wrap;gap:10px}.stop-toast{bottom:12px}}
.top:has(.stop-button){flex-wrap:wrap}
.stop-tools input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card);color:var(--ink)}
.stop-item>small,.stop-item details,.stop-row>button{font-size:.875rem}
@media(max-width:600px){.stop-button{font-size:.875rem}}
.stop-dialog{overscroll-behavior:contain}

/* Cashier operational actions, separate from the Finance ledger. */
.cashier-invoice-choice{display:block;width:100%;margin:10px 0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.cashier-money-dialog .settings-fields>p{grid-column:1/-1}
.cashier-money-dialog form>.review-actions{margin:18px 0}
.cashier-money-dialog form.review-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:16px 0}
.cashier-money-dialog form.review-actions input{width:100%;min-width:0}

/* One room registration, with a single main-guest signature. */
.registration-shell fieldset>h2,.registration-party,.registration-party-note{grid-column:1/-1}
.registration-party>p,.registration-party-note{font-size:16px;line-height:1.5}
.registration-party[hidden]{display:none}
.registration-shell .registration-additional-guest{border:1px solid var(--line);border-radius:12px;padding:16px;margin:18px 0}
.registration-additional-guest legend{font-size:18px;font-weight:700;padding:0 6px}
.registration-additional-guest>button{grid-column:1/-1;justify-self:start}
.registration-record-guests{grid-column:1/-1;overflow-wrap:anywhere}
.registration-record-guests>section{border-top:1px solid var(--line);padding:12px 0}

/* Weekly staff roster: a bounded scrolling table with a stable name column. */
#scheduleView{min-width:0;max-width:100%}
.schedule-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.schedule-heading h1{margin:0}.schedule-heading p{margin:6px 0 0}
.schedule-tools,.schedule-departments,.schedule-weekbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.schedule-departments{margin-bottom:20px}.schedule-departments button[aria-pressed=true]{background:var(--ink);color:var(--card)}
.schedule-weekbar{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.schedule-weekbar strong{min-width:215px;text-align:center}.schedule-weekbar input{width:auto;min-width:140px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
#scheduleView>h2{margin-bottom:4px}#scheduleView>h2+p{margin-top:0}
.schedule-inactive{display:flex;align-items:center;gap:8px;font-size:.9rem}.schedule-inactive input{width:18px;height:18px;min-height:0;margin:0}
.schedule-status{min-height:24px;margin:10px 0;font-size:.9rem}
.schedule-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--card);max-height:70vh;overscroll-behavior:contain}
.schedule-table{width:100%;min-width:1130px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.875rem}
.schedule-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.schedule-table th,.schedule-table td{padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.schedule-table thead th{position:sticky;top:0;z-index:2;background:#f1f2eb;height:62px;font-weight:700}
.schedule-table th small{display:block;font-size:.8rem;margin-top:5px;font-weight:400}
.schedule-table th:first-child{position:sticky;left:0;width:180px;background:var(--card);text-align:left;z-index:1;overflow-wrap:anywhere}
.schedule-table thead th:first-child{z-index:3;background:#f1f2eb}.schedule-table th:last-child{width:75px}.schedule-table tr:last-child>*{border-bottom:0}
.schedule-table thead th.schedule-today{background:#dce8df}.schedule-table tr>*:last-child{border-right:0}
.schedule-name{background:none;color:var(--ink);border:0;border-radius:4px;padding:5px 0;text-align:left;font-size:.925rem;font-weight:700;white-space:normal;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#9aaba0;text-underline-offset:4px}
.schedule-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:70px;width:100%;padding:9px 4px;border:1px solid transparent;border-radius:8px;box-sizing:border-box;font-size:.85rem;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;white-space:normal}
button.schedule-day:hover{border-color:#7a9186}.schedule-day--work{background:#e3eee6;color:#214d38}.schedule-day--off{background:#eeefea;color:#535e57}.schedule-day--leave{background:#f9edcf;color:#725718}.schedule-day--empty{background:transparent;color:#7a817b;border:1px dashed #d4d9d1;font-weight:400}
.schedule-day small{font-size:.75rem;font-weight:400;line-height:1.3}.schedule-cell-note{overflow-wrap:anywhere;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.schedule-hours{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.schedule-empty{padding:28px;line-height:1.6}.schedule-legend{font-size:.85rem;line-height:1.5;margin-top:12px}
.schedule-month{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:.9rem}.schedule-month select{min-width:180px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.schedule-name-totals{display:grid;gap:3px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:#365645}
.schedule-dialog{width:min(540px,calc(100vw - 28px));max-height:88dvh;overflow:auto;box-sizing:border-box;padding:24px}
.schedule-dialog h2{margin-top:0;font-size:1.3rem}.schedule-fields{display:grid;gap:14px;margin:18px 0}.schedule-fields label{display:grid;gap:6px;font-size:.9rem;min-width:0}
.schedule-fields input,.schedule-fields select,.schedule-fields textarea{width:100%;min-width:0;box-sizing:border-box;padding:11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card);font:inherit}
.schedule-times{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-times>label:last-child{grid-column:1/-1}
.schedule-dialog .muted{font-size:.875rem;line-height:1.5}.schedule-dialog>p{line-height:1.5}
#scheduleView [hidden],.schedule-dialog [hidden]{display:none!important}
@media(max-width:600px){.schedule-heading{align-items:flex-start}.schedule-weekbar{gap:8px;padding:10px}.schedule-weekbar strong{min-width:0;flex:1;font-size:.85rem}.schedule-weekbar>button{padding:9px;font-size:.85rem}.schedule-weekbar input{flex:1}.schedule-departments{gap:7px}.schedule-departments button{font-size:.85rem;padding:10px}.schedule-table th:first-child{width:145px}.schedule-dialog{padding:18px}}

/* Staff records extend the POS work surfaces; documents stay inside their editor. */
.staff-tabs{margin:12px 0 24px}.staff-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:18px 0}.staff-filters>input{flex:1 1 240px;min-width:0}.staff-filters>label{display:flex;align-items:center;gap:8px}.staff-filters input[type=checkbox]{width:auto}.staff-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}.staff-card{margin:0;padding:20px}.staff-card h3{margin-top:0}.staff-needed{color:#855000}.staff-dialog{width:min(920px,calc(100vw - 32px));max-height:90vh;max-height:90dvh;overflow-y:auto}.staff-field-group{margin:20px 0 28px;padding-bottom:20px;border-bottom:1px solid #d9dddc}.staff-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.staff-fields label{display:flex;flex-direction:column;gap:6px;min-width:0}.staff-fields input,.staff-fields select,.staff-fields textarea{width:100%;min-width:0;box-sizing:border-box}.staff-upload{margin:20px 0}.staff-upload input[type=file]{display:block;width:100%;max-width:100%;margin:10px 0}.staff-document-preview{display:block;max-width:100%;width:auto;max-height:280px;object-fit:contain;border-radius:8px;margin-bottom:10px}.staff-dialog .registration-photo{max-width:440px;margin:16px 0}.staff-dialog .registration-photo video,.staff-dialog .registration-photo img{max-width:100%;max-height:260px}.staff-payroll-scroll{overflow:auto;max-width:100%;border:1px solid #d9dddc;border-radius:12px}.staff-payroll-table{min-width:1100px;width:100%;border-collapse:collapse}.staff-payroll-table th,.staff-payroll-table td{padding:12px;vertical-align:top;border-bottom:1px solid #e3e5e4;text-align:right;white-space:nowrap}.staff-payroll-table th:first-child,.staff-payroll-table td:first-child{position:sticky;left:0;text-align:left;background:#f7f8f6;z-index:1;min-width:140px;max-width:220px;white-space:normal}.staff-payroll-table td:first-child small{display:block;margin-top:6px}.staff-payroll-table td:last-child{white-space:normal;min-width:160px}.staff-payroll-table td:last-child button{display:block;margin-bottom:6px;width:100%}.staff-payroll-total{font-weight:650;margin:12px 0}.staff-payment-dialog{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto}.staff-payment-dialog .staff-fields>p{grid-column:1/-1}.staff-payment-dialog form>button{margin-right:10px}.staff-payment-row{padding:16px 0;border-bottom:1px solid #d9dddc}.staff-payment-row p{overflow-wrap:anywhere}@media(max-width:700px){.staff-fields{grid-template-columns:1fr}.staff-dialog,.staff-payment-dialog{padding:20px}.staff-payroll-table th:first-child,.staff-payroll-table td:first-child{min-width:120px;max-width:160px}.staff-tabs{gap:6px}.staff-filters>label{flex-wrap:wrap}}

.staff-payroll-access form>label{display:flex;align-items:center;gap:12px;margin:16px 0}.staff-payroll-access .staff-fields{grid-template-columns:minmax(0,1fr);gap:10px;max-width:640px}.staff-payroll-access .staff-fields label{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px;min-height:54px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;overflow-wrap:anywhere}.staff-payroll-access .staff-fields label:has(input:checked){border-color:var(--ink);box-shadow:inset 3px 0 0 var(--ink)}.staff-payroll-access .staff-fields label:focus-within{outline:2px solid var(--ink);outline-offset:2px}.staff-payroll-access input[type=checkbox]{order:-1;margin:0}.staff-payroll-access input[type=checkbox]{width:22px;height:22px;flex:none}.staff-payroll-access form>button{margin-top:20px}.staff-loan-card>button{margin:12px 8px 12px 0}.staff-loan-card>strong{display:block}.staff-payroll-table td:nth-child(2){white-space:normal;min-width:210px;text-align:left}.staff-payroll-table td:nth-child(2) small{display:block;margin-top:6px}

.staff-payroll-table .staff-salary-edit{min-width:120px;min-height:44px;border:1px solid var(--line);white-space:nowrap;text-align:right;text-decoration:underline;text-underline-offset:3px}

/* Receiving invoices: the total and explicit save action stay together. */
.receiving-invoice-tools .review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.receiving-invoice-tools input[type=search]{flex:1 1 16rem;min-width:0}
.receiving-invoice-result{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--line,#dedbd3);padding:1rem 0}
.receiving-invoice-result>span{flex:1 1 18rem}
.receiving-invoice-total{font-weight:700;padding:1rem;background:var(--soft,#eef0e8);border-radius:12px;overflow-wrap:anywhere}

.supplier-invoice-row{display:grid;grid-template-columns:32px minmax(160px,1fr) minmax(160px,.75fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--card);min-width:0}.supplier-invoice-list{margin:12px 0 24px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.supplier-invoice-row:last-child{border-bottom:0}.supplier-invoice-row p{margin:3px 0;font-size:13px}.supplier-invoice-main{min-width:0;overflow-wrap:anywhere}.supplier-invoice-amount{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.supplier-invoice-amount>strong{font-size:15px}.supplier-invoice-actions button{min-height:44px;padding:10px 13px;font-size:14px}
.supplier-invoice-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
@media(max-width:850px){.supplier-invoice-row{grid-template-columns:32px minmax(0,1fr) auto}.supplier-invoice-amount{grid-column:2;grid-row:2}.supplier-invoice-actions{grid-column:3;grid-row:1/3;flex-direction:column}}@media(max-width:480px){.supplier-invoice-row{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:12px}.supplier-invoice-actions{grid-column:2;grid-row:3;flex-direction:row}.supplier-invoice-choice{grid-row:1/3}}
.receiving-vat{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.receiving-vat>label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px}
.receiving-vat select,.receiving-vat input{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);font:inherit;font-size:16px}
.receiving-vat>p{grid-column:1/-1;margin:0}.receiving-vat>p:empty{display:none}
.receiving-form .stock-receipt-line.has-vat{grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1.2fr) minmax(75px,.6fr) 44px}
.receiving-vat [hidden],.receiving-form .receiving-line-vat[hidden]{display:none}
@media(max-width:1100px){.receiving-form .stock-receipt-line.has-vat{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.receiving-form .stock-receipt-line.has-vat>.receiving-item-field{grid-column:1/3}.receiving-form .stock-receipt-line.has-vat>button{grid-column:3;grid-row:2}.receiving-form .stock-receipt-line.has-vat>.receiving-line-vat{grid-column:2}.receiving-form .stock-receipt-line.has-vat>.receiving-unit-cost{grid-column:1}}
/* Supplier selection keeps the checkbox within its invoice and totals above the list. */
.supplier-invoice-summary,.supplier-selection-tools{padding:10px 14px;margin:10px 0;border:1px solid #c7cec8;border-radius:10px;background:#f0f2eb}
.supplier-invoice-summary h3{margin:0 0 8px}.supplier-invoice-summary p{margin:6px 0}
.supplier-selection-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.supplier-selection-tools>p{flex:1 1 130px;margin:0}.supplier-selection-tools button{min-height:44px;padding:10px 13px;font-size:14px}
.supplier-invoice-choice{display:flex!important;align-items:center;gap:10px;margin:0;min-height:44px;justify-content:center!important}
.supplier-invoice-choice input{width:22px!important;height:22px;flex:none;margin:0;order:-1}
.supplier-invoice-row.is-selected{box-shadow:inset 3px 0 #385956;background:#edf2ed}
.supplier-invoice-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin-bottom:8px}
.supplier-invoice-filters label{min-width:0;font-size:14px;gap:4px}
.supplier-invoice-filters input,.supplier-invoice-filters select{width:100%;box-sizing:border-box;min-height:42px;font:inherit}
.supplier-invoice-search{grid-column:span 2;display:flex;gap:8px;align-items:end;min-width:0}
.supplier-invoice-search label{flex:1;min-width:0}
.supplier-invoice-filters button{min-height:42px;padding:10px 14px}
.supplier-invoice-filter-note{font-size:14px;margin:8px 0}
@media(min-width:1250px){.supplier-invoice-filters{grid-template-columns:repeat(6,minmax(0,1fr))}.supplier-invoice-search{grid-column:span 3}}
@media(max-width:600px){.supplier-invoice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-invoice-search{grid-column:1/-1}}
.supplier-payment-line{padding:14px;border:1px solid #c7cec8;border-radius:12px;margin:8px 0}.supplier-payment-line p{margin:6px 0}

.finance-dialog .settings-fields>.supplier-payment-total{grid-column:1/-1;font-size:18px}
.cashier-status.cancelled{background:#f4e6e3;color:#8f3126}

.shift-money-scroll{overflow-x:auto}.shift-money-scroll table{width:100%;border-collapse:collapse}.shift-money-scroll th,.shift-money-scroll td{padding:10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line,#ddd)}.shift-money-scroll th:first-child{text-align:left}.shift-cash-total{font-weight:700;background:rgba(125,157,128,.12)}

/* Kitchen course blocks: text headings and borders remain clear without colour. */
.ticket-course{--course-accent:#355b96;--course-tint:#edf3fb;margin-top:12px;border:1px solid var(--line);border-left:4px solid var(--course-accent);border-radius:10px;background:var(--card);overflow:hidden}
.ticket-course-title{margin:0;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--course-tint);color:var(--course-accent);font-size:14px;line-height:1.4;font-weight:800;overflow-wrap:anywhere}
.ticket-course-kids{--course-accent:#875500;--course-tint:#fff3cf}.ticket-course-starters{--course-accent:#096b75;--course-tint:#e8f6f7}.ticket-course-soups{--course-accent:#9c4218;--course-tint:#fff0e8}.ticket-course-desserts{--course-accent:#764091;--course-tint:#f5edfa}.ticket-course-ready{--course-accent:#52645a;--course-tint:#edf1ee}
.ticket-course .ticket-line{margin:0;padding:10px}.ticket-course .ticket-line:last-child{border-bottom:0}

/* Clear separation of recorded money and report-only corrections. */
.shift-details{margin:16px 0;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.shift-details>summary{cursor:pointer;font-weight:700}.shift-details[open]>summary{margin-bottom:12px}.shift-recorded-total{font-size:1.1rem;font-weight:700}.shift-corrections{background:#fffaf0;border-color:#d8bb75}.shift-corrections td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.shift-corrections th{text-align:left}.shift-corrections .shift-summary-line{flex-wrap:wrap}.shift-row label{display:grid;gap:6px;font-size:.875rem;min-width:0}.shift-row label input,.shift-row label select{font-size:1rem}.shift-row .muted{font-size:.875rem}

.shift-cash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:18px 0}.shift-cash-card{border:2px solid #8ca496;background:#f3f8f4;border-radius:16px;padding:20px}.shift-cash-card h4{margin:0 0 10px;font-size:1rem}.shift-cash-expected{display:block;font-size:clamp(1.35rem,3vw,2rem);font-variant-numeric:tabular-nums;margin-bottom:18px;overflow-wrap:anywhere}.shift-cash-card .shift-summary-line{font-size:.95rem;flex-wrap:wrap}.shift-noncash{margin:20px 0}.shift-noncash h4{margin-bottom:10px}

/* Currency/tip corrections stay inside the same bill card. */
.shift-payment-currency{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:12px}.shift-payment-currency>p{grid-column:1/-1;margin:0;font-size:.875rem}.shift-review-block>label{display:grid;gap:6px;margin-top:16px;max-width:420px}.shift-review-block>select{max-width:100%;width:100%;min-height:44px}.shift-review-block>label input{width:100%;min-width:0}.shift-handover .shift-summary-line{flex-wrap:wrap}.payment-dialog label:has(select[name=payment_currency]){display:grid;gap:8px;margin:16px 0}.payment-dialog select[name=payment_currency]{min-height:44px;width:100%}@media(max-width:520px){.shift-payment-currency{grid-template-columns:1fr}.shift-summary-line{gap:8px}}

.staff-record-fields{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:12px 20px}.staff-record-fields dt{font-weight:600}.staff-record-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:550px){.staff-record-fields{grid-template-columns:1fr;gap:5px}.staff-record-fields dd{margin-bottom:12px}}

/* Operational event history */
.activity-changes{display:grid;gap:.35rem;margin:.5rem 0;font-size:.9rem;overflow-wrap:anywhere}.activity-changes>span{padding:.4rem .6rem;border-left:3px solid #73868a;background:#f3f6f7}.activity-reason{margin:.4rem 0;font-weight:600}.activity-filters label:has(input[type="checkbox"]){display:flex;align-items:center;gap:.5rem}.activity-filters select{min-height:44px}

/* Compact cashier confirmation across desktop, tablet and phone. */
.payment-dialog.cashier-confirm-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:18px}
.cashier-confirm-dialog>h2{font-size:1.25rem;margin:0 0 8px}.cashier-confirm-dialog>p:empty{display:none}.cashier-confirm-dialog>.review-actions{margin-top:8px}.cashier-confirm-dialog>.review-actions button{min-height:44px;padding:8px 14px}
.cashier-confirm-order{margin:0 0 8px;color:#59645f;font-size:.9rem}
.cashier-confirm-identity{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 12px;background:#edf1f0;border-radius:10px}
.cashier-confirm-identity>div{min-width:0}.cashier-confirm-identity strong{display:block;font-size:1.1rem;overflow-wrap:anywhere}
.cashier-confirm-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:3px}
.payment-dialog.cashier-confirm-dialog .cashier-confirm-currency{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;font-size:.875rem}
.payment-dialog.cashier-confirm-dialog .cashier-confirm-currency select{width:110px;min-height:44px;padding:8px;font-size:1rem;font-weight:700}
.cashier-confirm-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:8px 0;padding:0;gap:0;overflow:hidden;border:1px solid #c5d0ca;border-radius:12px}
.cashier-confirm-bill{padding:12px;background:#f0f5f1;align-content:center}.cashier-confirm-amount{display:block;font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cashier-confirm-summary .cashier-confirm-tip{padding:10px 12px;margin:0;gap:5px;font-size:.875rem;font-weight:600;min-width:0}.cashier-confirm-summary input{font-size:1.1rem;font-weight:650;min-height:44px;padding:8px;background:#fff;border:1px solid #acbcb3;border-radius:8px;min-width:0}
.cashier-confirm-total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#263f36;color:#fff}.cashier-confirm-total .cashier-confirm-label{margin:0}.cashier-confirm-total-amount{font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.cashier-confirm-summary+.muted{font-size:.875rem;margin:6px 0;line-height:1.35}
.cashier-confirm-buttons{grid-template-columns:1fr;margin:10px 0 8px}.cashier-confirm-buttons .payment-method{background:#263f36;color:#fff;padding:11px;font-size:1rem;min-height:44px;border-radius:10px}.cashier-confirm-buttons .payment-method:hover{background:#365747}
.cashier-confirm-dialog details summary{padding:8px 0;font-size:.875rem;cursor:pointer}.cashier-confirm-dialog details .payment-methods{margin:4px 0;gap:6px}.cashier-confirm-dialog details button{padding:8px;min-height:44px;font-size:.875rem}
@media(max-width:380px){.payment-dialog.cashier-confirm-dialog{padding:12px}.cashier-confirm-total-amount{font-size:1.25rem}.cashier-confirm-summary .cashier-confirm-tip,.cashier-confirm-bill{padding:8px}}
@media(max-height:500px) and (min-width:600px){.payment-dialog.cashier-confirm-dialog{width:min(760px,calc(100vw - 24px));padding:12px}.cashier-confirm-dialog>fieldset{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.cashier-confirm-order,.cashier-confirm-identity,.payment-dialog.cashier-confirm-dialog .cashier-confirm-currency{grid-column:1;margin:0}.cashier-confirm-summary{grid-column:2;grid-row:1/4;margin:0}.cashier-confirm-summary+.muted{grid-column:1/-1}.cashier-confirm-buttons{margin:0}.cashier-confirm-dialog details{align-self:center}.cashier-confirm-dialog>.review-actions{margin-top:4px}}

.activity-collapse-all{margin:0 0 12px;min-height:44px}.activity-entry details>summary{padding:10px 14px;border:1px solid #bdc9c1;border-radius:9px;background:#eef3ef;font-size:1rem}.activity-entry details[open]>summary{position:sticky;top:0;z-index:2;background:#e2ece5}.activity-entry details>button{margin:10px 0;min-height:44px}.activity-entry .activity-detail{max-height:none;overflow:visible}.activity-detail .catalog-table{width:100%;table-layout:fixed}.activity-detail th{width:38%;min-width:0}

/* Cashier confirmation is still pending; prepared food is a separate state. */
.cashier-status.awaiting{background:var(--status-awaiting-bg);color:var(--status-awaiting-ink)}.cashier-row:has(.cashier-status.awaiting){background:var(--status-awaiting-bg);border-color:var(--status-awaiting-border)}
.login-panel .muted{color:#b8b8b8}

.account-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.account-dialog .settings-form{display:grid;gap:10px;margin:18px 0}.account-dialog label,.account-page label{display:grid;gap:5px}.account-dialog input,.account-page input{width:100%;box-sizing:border-box;min-height:44px}.account-page{max-width:480px;margin:8vh auto;padding:24px}.account-page .settings-form{display:grid;gap:14px}.account-page [hidden]{display:none!important}@media(max-width:540px){.account-page{margin:20px 12px}.account-dialog{padding:16px}}

.receiving-save-status{padding:12px 14px;border:1px solid var(--line);border-left:4px solid #a75b00;border-radius:8px;background:#fff8e8;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.receiving-save-status[hidden]{display:none}

/* Price lookup: one searchable item field with visible, keyboard-accessible matches. */
.purchase-price-picker{min-width:0;display:grid;gap:6px}.purchase-price-picker label{display:grid;gap:6px;font-size:14px}.purchase-price-matches{display:grid;gap:2px;max-height:18rem;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:4px;background:var(--card)}.purchase-price-matches[hidden],.purchase-price-picker small[hidden]{display:none}.purchase-price-match{width:100%;text-align:left;white-space:normal;min-height:44px;margin:0;font-size:16px;padding:10px 12px}.purchase-price-match:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.purchase-price-picker small{font-size:14px;line-height:1.4}.purchase-price-controls>select,.purchase-price-controls>button{margin-top:26px}@media(max-width:700px){.purchase-price-controls>select,.purchase-price-controls>button{margin-top:0}}
/* Only unconfirmed discount operations use a page notice; requests use account badges. */
.discount-notifications{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem;padding:.7rem;border:1px solid #dfd8ba;border-radius:14px;background:#fff9e8;box-shadow:none}
.discount-notifications[hidden],.discount-request-status[hidden]{display:none}
.discount-inbox-button{background:#171717;color:#fff;border-radius:12px}
.discount-request-dialog{width:min(700px,calc(100vw - 28px));max-height:88dvh;overflow:auto;border:1px solid #deded8;border-radius:20px;padding:24px}
.discount-request-dialog fieldset{min-width:0;border:0;padding:0;display:grid;gap:12px}
.discount-request-dialog label{display:grid;gap:6px}
.discount-request-dialog input,.discount-request-dialog select,.discount-request-dialog textarea{width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid #d8d8d3;border-radius:9px;background:#fff;color:#111;font:inherit}
.discount-request-dialog details{padding:12px;border:1px solid #deded8;border-radius:10px}
.discount-request-dialog summary{cursor:pointer;min-height:32px;font-weight:600}
.discount-request-dialog .review-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.discount-request-card{border:1px solid #deded8;border-left:5px solid #999;border-radius:12px;padding:16px;overflow-wrap:anywhere}
.discount-request-card.pending,.discount-request-status.pending{border-left:5px solid #b17a06;background:#fff9e8}
.discount-request-card.approved,.discount-request-status.approved{border-left:5px solid #397758;background:#edf6ef}
.discount-request-card.rejected,.discount-request-status.rejected{border-left:5px solid #a74448;background:#fff0f0}
.discount-request-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px;border-radius:10px;background:#f1f1ed;margin-bottom:12px}
.discount-quote{padding:12px;background:#f1f1ed;border-radius:10px;font-weight:600}
.discount-item-selection{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(44px,auto);align-content:start;gap:4px;max-height:32vh;overflow-y:auto;margin:8px 0 16px}
.discount-item-selection:not(:empty){min-height:min(160px,32vh)}
.discount-request-dialog label.discount-item-check{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid #deded8;border-radius:10px;cursor:pointer}
.discount-request-dialog .discount-item-check input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px;margin:0;appearance:auto;accent-color:#36755b}
.discount-item-check span{min-width:0;overflow-wrap:anywhere}
.order-takeaway{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#faf9f5}
.takeaway-choice{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.takeaway-choice input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:0;padding:0;appearance:auto;accent-color:#8a5d19}
.order-takeaway>small{display:block;margin-top:3px;overflow-wrap:anywhere}
.takeaway-badge{display:inline-block;padding:4px 8px;border:1px solid #d7b374;border-radius:7px;background:#fff1d6;color:#714809;font-size:12px;font-weight:800;letter-spacing:.04em;line-height:1.4}
.cart-line>.takeaway-badge,.sent-line>.takeaway-badge{grid-column:1/-1;justify-self:start}
.takeaway-ticket{padding:9px 10px;border:1px solid #d7b374;border-radius:9px;background:#fff1d6;color:#714809;font-size:15px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.discount-selected-summary{margin:6px 0;padding:8px 12px;background:#f1f5f1;border-radius:8px}
.discount-quote p{font-size:.92em;font-weight:400;margin:6px 0}
.discount-form-status{padding:12px 14px;border:1px solid #bcc8d2;border-left:5px solid #466681;border-radius:10px;background:#f1f6fa;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.discount-form-status.error{border-color:#aa323c;background:#fff0f1;color:#82222b}.discount-form-status.warning{border-color:#976613;background:#fff7e3;color:#714c0c}.discount-form-status.success{border-color:#397758;background:#edf6ef;color:#235338}
.discount-request-dialog [aria-invalid="true"]{border:2px solid #aa323c;background:#fff6f6;outline-color:#aa323c}.discount-reason-hint{font-size:.9rem;line-height:1.4;color:#555;margin-top:-6px}.discount-request-dialog h2:focus{outline:none}
@media(max-width:600px){.discount-request-dialog{padding:18px}.discount-notifications button{flex:1}.discount-request-dialog .review-actions button{flex:1 1 44%}}

/* Fast table zones and saved resident visits. */
.table-browser{display:grid;gap:10px;margin-bottom:16px}.table-browser>input,.resident-dialog>input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:16px}.table-zones{display:flex;flex-wrap:wrap;gap:7px}.table-zones .chip{min-height:44px;font-size:14px}.table-zones .chip[aria-pressed="true"]{background:#111;color:#fff}.table-zones .resident-tab{border-color:#111;font-weight:700}.table-button .table-resident{font-weight:700;color:#242424;overflow-wrap:anywhere}.resident-dialog{width:min(620px,94vw);max-height:90dvh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--bg)}.resident-dialog::backdrop{background:#0008}.resident-dialog>h2{margin-bottom:14px;overflow-wrap:anywhere}.resident-dialog>p{margin:12px 0;font-size:14px}.resident-results{display:grid;gap:10px}.resident-result{display:grid;gap:5px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);padding:14px;overflow-wrap:anywhere}.resident-result span,.resident-result small{font-size:14px;color:var(--muted)}.resident-table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.resident-visit{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;margin-bottom:14px;background:#edf2fa;border:1px solid #c5d4ec;border-radius:12px;overflow-wrap:anywhere}.resident-visit span{font-size:14px}.resident-visit button{margin-left:auto;font-size:14px}@media(max-width:480px){.resident-dialog{padding:16px}.resident-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.resident-search{display:grid;gap:10px}.resident-search h2{font-size:16px;margin:4px 0 0}.resident-search p{font-size:14px;margin:0}.resident-search>.secondary{justify-self:start}
.resident-create{display:grid;gap:12px}.resident-create label{display:grid;gap:6px;font-size:16px}.resident-create input{width:100%;min-width:0;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:10px}

/* Station rejections */
.ticket-line .reject-item{grid-row:2;grid-column:2;background:#fff3ee;color:#9b271d;border:1px solid #d98475;min-height:44px}.rejection-notices{margin:16px 0}.rejection-notices h2{font-size:1.2rem}.rejection-alert{padding:16px;margin:10px 0;border:2px solid #be5944;border-radius:12px;background:#fff5f0}.rejection-alert h3{margin-top:0}.rejection-warning{padding:12px;border-radius:8px;background:#fff0db;color:#733d00}.void-dialog textarea{width:100%;box-sizing:border-box}

.station-reject-body label{display:grid;gap:6px;margin:16px 0}.station-reject-body select,.station-reject-body textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}

.station-reject-actions{display:grid;grid-template-columns:1fr;width:100%}.station-reject-actions button{width:100%;min-height:48px;white-space:normal}.station-reject-actions button[hidden]{display:none}.rejection-stop-explanation{padding:12px;background:#fff0db;border-radius:8px}

.cashier-cash-panel>h2{margin:0 0 8px}.shift-cash-label{display:block;font-size:14px;color:var(--muted);margin:8px 0}.cash-opening-warning{padding:10px;border-radius:8px;background:#fff0db;color:#733d00;font-size:14px;line-height:1.45}.closing-cash-preview{margin-top:20px;padding-top:12px;border-top:2px solid var(--line)}.cashier-cash-panel .shift-cash-expected,.closing-cash-preview .shift-cash-expected{font-size:28px;overflow-wrap:anywhere}.shift-cash-card .shift-summary-line{gap:14px}.shift-cash-card .shift-summary-line>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:700px){.cashier-cash-panel .shift-cash-cards,.closing-cash-preview .shift-cash-cards{grid-template-columns:1fr}}
/* Device push preferences */
.finance-dialog fieldset:has(input[type="checkbox"]) label{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;font-size:1rem}
.finance-dialog fieldset:has(input[type="checkbox"]) input{width:1.2rem;height:1.2rem;flex:0 0 auto}

.staff-order-dialog{width:min(600px,calc(100vw - 32px))}.staff-order-list{margin:16px 0}.staff-order-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #d9dddc}.staff-order-name{min-width:0;overflow-wrap:anywhere}.staff-order-name small{display:block;margin-top:4px}.staff-order-buttons{display:flex;gap:6px;flex-shrink:0}.staff-order-buttons button{min-width:44px;min-height:44px;padding:8px 12px}.staff-order-dialog>.review-actions{position:sticky;bottom:0;background:var(--panel,#fff);padding:12px 0}

/* Read-only supplier breakdown fits tablets; numbers retain their column alignment. */
.supplier-items-scroll{overflow-x:auto}.supplier-items-table{width:100%;border-collapse:collapse;font-size:14px}.supplier-items-table th,.supplier-items-table td{padding:10px 6px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.supplier-items-table th:first-child,.supplier-items-table td:first-child{text-align:left;min-width:100px;overflow-wrap:anywhere}.supplier-items-table td:not(:first-child){white-space:nowrap}.supplier-invoice-items h3{margin:8px 0}.supplier-invoice-items p{font-size:13px}.supplier-invoice-summary h3{font-size:15px}.supplier-invoice-summary p{font-size:13px}

.supplier-invoice-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.supplier-invoice-info .stock-history-line{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:4px 0;border:0;min-width:0;overflow-wrap:anywhere}.supplier-invoice-info .stock-history-line>span{font-size:13px;color:var(--muted)}

/* v200: compact overview surfaces, preserving operational buttons and warnings. */
.staff-employee-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.staff-employee-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.staff-employee-row:last-child{border-bottom:0}.staff-employee-row h3{font-size:16px;margin:0;overflow-wrap:anywhere}.staff-employee-row p{margin:3px 0}.staff-employee-row button{min-height:44px;font-size:14px}.staff-missing-details{font-size:13px;min-width:0}.staff-missing-details summary{cursor:pointer;padding:8px 0;min-height:44px}.staff-missing-details p{color:var(--muted);line-height:1.5}.staff-tabs{margin:10px 0 16px}.staff-filters{margin:12px 0;gap:12px}
.schedule-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px}.schedule-options .schedule-month{margin:8px 0}.schedule-status:empty{display:none}.schedule-departments{margin-bottom:12px;gap:8px}.schedule-tools button,.schedule-departments button{min-height:44px;padding:10px 12px;font-size:14px}.schedule-weekbar{padding:10px;gap:8px}.schedule-weekbar button{min-height:44px;padding:10px 12px;font-size:14px}.schedule-day{min-height:56px;padding:7px 4px}.schedule-table th,.schedule-table td{padding:6px}.schedule-name{min-height:44px}.schedule-table th small{margin-top:3px}.schedule-name-totals{font-size:12px}
.guest-account-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,.4fr) auto;gap:14px;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.guest-account-row>div:first-child{min-width:0;overflow-wrap:anywhere}.guest-account-row p{margin:3px 0;font-size:13px}.guest-account-balance{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-variant-numeric:tabular-nums}.guest-account-actions{display:flex;gap:6px}.guest-account-actions button{min-height:44px;font-size:14px;padding:10px 13px}
#guestAccountsView>.top,#receptionView>.top{flex-wrap:wrap;gap:10px}#guestAccountsView>.top>div,#receptionView>.top>div{flex:1 1 240px}.reception-grid{gap:12px;margin-top:12px}.reception-card{padding:14px;gap:6px;overflow-wrap:anywhere}.reception-card h2,.reception-card h3{font-size:18px}.reception-card .review-actions{padding-top:8px;gap:6px}.reception-card button{min-height:44px}.reception-notice{font-size:14px}
.cashier-cash-panel{padding:14px;margin-bottom:12px}.cashier-cash-panel>h2{font-size:18px}.shift-cash-overview{margin:10px 0;padding:0;border:0}.shift-cash-overview>h3{font-size:14px;margin:8px 0}.shift-cash-overview .shift-cash-cards{gap:10px;margin:8px 0}.shift-cash-overview .shift-cash-card{padding:12px;border-width:1px;border-radius:12px}.shift-cash-overview .shift-cash-card h4{font-size:14px;margin:0 0 4px}.shift-cash-overview .shift-cash-label{font-size:12px;margin:3px 0}.shift-cash-overview .shift-cash-expected{font-size:26px;margin:0 0 6px}.cash-breakdown summary{font-size:13px;cursor:pointer;padding:8px 0}.cash-breakdown .shift-summary-line{font-size:13px}.shift-cash-overview>p{font-size:12px}.cashier-cash-panel .review-actions{margin-top:8px}.cashier-cash-panel button{min-height:44px;font-size:13px;padding:10px 12px}
.cashier-money-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 14px}.cashier-money-panel>h2{font-size:17px}.cashier-money-panel>.review-actions{margin:0}.cashier-money-panel>.cashier-payment-requests{flex-basis:100%}.cashier-money-panel button{min-height:44px}#cashierView .cashier-list{gap:8px}#cashierView .cashier-row{padding:12px 14px;gap:12px}#cashierView .cashier-row button{min-height:44px}
.receiving-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.receiving-invoice-tools{padding:12px 16px;margin:10px 0}.receiving-invoice-tools>summary{cursor:pointer;min-height:44px;font-weight:650}.receiving-form-heading button{min-height:44px}.controller-summary{gap:10px}.controller-summary>.panel{padding:12px 14px}#controllerView .stock-history-line{padding-top:10px;padding-bottom:10px}
#tablesView .table-grid{gap:10px}#tablesView .table-button{padding:16px}#tablesView .table-timestamps{margin-top:6px;padding-top:6px;gap:2px;font-size:12px}
#managementView .management-kpi{padding:11px 12px}#managementView .management-kpi strong{font-size:21px}#managementView .management-filters button{min-height:44px}
@media(max-width:800px){.staff-employee-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.staff-employee-row>.staff-missing-details,.staff-employee-row>span{grid-column:1;grid-row:2}.staff-employee-row>button{grid-column:2;grid-row:1/3}.guest-account-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.guest-account-actions{grid-column:1/-1;justify-content:flex-end}.settings-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px}.settings-menu .settings-group-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.settings-tab{min-height:44px;padding:10px;font-size:14px}.settings-layout{gap:10px}}
@media(min-width:560px) and (max-width:700px){.cashier-cash-panel .shift-cash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.settings-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-employee-row{padding:10px 12px}.staff-employee-row>button{padding:10px}.guest-account-row{padding:10px 12px}.guest-account-balance{font-size:14px}.schedule-options{align-items:flex-start;flex-direction:column}.cashier-money-panel>.review-actions{width:100%}}
/* Table transfers: one secondary action; current destination remains the main title. */
.table-move-note{font-size:14px;color:#80500c;background:#fff4d9;border-radius:8px;padding:7px 10px;margin:6px 0}

/* Discount inbox: compact rows, optional current-shift history, no permanent toolbar. */
.discount-inbox-button[hidden]{display:none!important}
.sidebar-actions .discount-inbox-button,.session-actions .discount-inbox-button{background:#5a430a;color:#fff;border:1px solid #9a7924;min-height:44px}
.discount-request-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-left-width:4px}
.discount-request-card>div{min-width:0;display:grid;gap:4px}.discount-request-card p{margin:0}.discount-request-card small{font-size:13px}.discount-request-card button{flex-shrink:0;min-height:44px}
.discount-request-list{display:grid;gap:8px;margin-top:10px}.discount-sound-settings p{margin:8px 0 0;font-size:14px}
@media(max-width:440px){.discount-request-card{align-items:flex-start;flex-wrap:wrap}.discount-request-card button{margin-left:auto}}
.discount-request-dialog[open]{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.discount-request-dialog>h2{flex-shrink:0;margin-top:0}
.discount-request-dialog>fieldset{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto}
.discount-request-dialog>.review-actions,.discount-request-dialog>.discount-form-status{flex-shrink:0}

.payment-block-reason{margin:10px 0 0;padding:10px 12px;border-left:3px solid #9a7924;background:#fff8e8;color:#604615;border-radius:8px;font-size:14px;overflow-wrap:anywhere}

/* Cashier: requested payments first; secondary work does not occupy an empty panel. */
#cashierView>div>h1{margin-bottom:16px}
#cashierView>div>h2{font-size:19px;margin:14px 0 10px}
.cashier-secondary{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}
.cashier-secondary>summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}
.cashier-secondary[open]{padding-bottom:12px}
.cashier-money-panel{display:block;margin:12px 0;padding:0}
.cashier-money-panel .cashier-payment-requests{padding:14px;border:1px solid #d8c891;background:#fffcf3;border-radius:12px}
.cashier-money-panel .cashier-payment-requests h2{font-size:18px;margin:0 0 8px}
.cashier-money-panel .cashier-secondary .review-actions{margin-top:4px;justify-content:flex-start}
.cashier-cash-panel{margin-top:18px}

/* v205 guest debt and repeat visits */
.guest-visit-balance{margin:-4px 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.guest-visit-totals{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:14px;font-variant-numeric:tabular-nums}.guest-debt-link{min-height:44px;padding:8px 0;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.guest-visit-balance p{margin:5px 0;font-size:13px}.guest-checkout-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin:8px 0;padding:12px 14px;border:1px solid var(--status-awaiting-border);border-radius:12px;background:var(--status-awaiting-bg)}.guest-checkout-row p,.guest-checkout-row .review-actions{grid-column:1/-1;margin:2px 0}.guest-checkout-row .review-actions{justify-content:flex-end}.guest-statement>details{margin-top:8px}.guest-account-dialog .settings-fields>details{grid-column:1/-1}.guest-account-dialog summary{min-height:44px;padding:10px 0;cursor:pointer}

.activity-status-approved{color:#27633e;font-weight:600;margin-top:6px;overflow-wrap:anywhere}

/* Compact roster: all statuses keep the same row height. */
.schedule-viewbar,.schedule-daybar,.schedule-view-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-viewbar{justify-content:space-between;margin:8px 0}.schedule-view-toggle button,.schedule-daybar button{min-height:40px;padding:8px 12px;font-size:14px}.schedule-view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--card)}.schedule-daybar input{width:145px;padding:7px;border:1px solid var(--line);border-radius:8px;font:inherit}.schedule-daybar strong{font-size:14px}.schedule-day-summary{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;font-size:13px;font-weight:600}.schedule-day-summary span{padding:5px 9px;border-radius:6px;background:#eef0ec}.schedule-day-summary .schedule-summary-work{background:#e3eee6;color:#214d38}.schedule-day-summary .schedule-summary-leave{background:#f9edcf;color:#725718}.schedule-day-summary .schedule-summary-empty{background:#fff3e2;color:#805317}
.schedule-compact{min-width:860px;font-size:13px}.schedule-compact th,.schedule-compact td{padding:3px 5px}.schedule-compact thead th{height:40px}.schedule-compact th:first-child{width:185px;max-width:185px}.schedule-compact th:last-child{width:58px}.schedule-compact .schedule-name{display:block;width:100%;min-height:22px;padding:0;font-size:13px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-compact .schedule-position{font-size:11px;line-height:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-compact .schedule-day{min-height:38px;height:38px;padding:4px 3px;gap:3px;flex-direction:row;font-size:12px;white-space:nowrap;border-radius:5px}.schedule-compact .schedule-day--empty{border:0;color:#8a7354;background:#faf7f1}.schedule-compact td.schedule-today{background:#f0f7f1;border-left:2px solid #729982;border-right:2px solid #729982}.schedule-note-marker{font-size:15px}.schedule-today-table{min-width:0}.schedule-today-table th:first-child{width:48%;max-width:none}.schedule-today-table .schedule-day{font-size:14px;min-height:40px;height:40px;justify-content:flex-start;padding-left:12px}.schedule-today-table th:last-child{width:65px}.schedule-hours-details{font-size:12px;margin-top:8px;color:#526256}.schedule-hours-details summary{cursor:pointer;padding:7px 0}.schedule-hours-detail-row{display:flex;gap:12px;flex-wrap:wrap;padding:6px;border-bottom:1px solid var(--line)}.schedule-hours-detail-row strong{min-width:160px}.schedule-hours-details:not([open])>div{display:none}.schedule-options:has(.schedule-month[hidden]){justify-content:flex-end}.schedule-legend{font-size:12px;margin:7px 0}.schedule-heading p{margin:4px 0}.schedule-heading h2{margin:0}.schedule-heading{margin-bottom:8px}.schedule-departments{margin-bottom:8px}
@media(max-width:600px){.schedule-daybar{gap:5px}.schedule-daybar strong{order:-1;width:100%}.schedule-compact th:first-child{width:150px}.schedule-today-table th:first-child{width:45%}.schedule-today-table .schedule-day{font-size:12px;padding-left:5px}.schedule-day-summary{gap:5px;font-size:12px}}

.schedule-compact .schedule-overnight{flex-direction:column;gap:0}.schedule-compact .schedule-overnight small{font-size:10px;line-height:12px}.schedule-today-table th,.schedule-today-table td{padding-top:2px;padding-bottom:2px}.schedule-today-table .schedule-day{min-height:36px;height:36px}.schedule-today-table .schedule-position{line-height:12px}.schedule-options{min-height:0}.schedule-compact .schedule-hours{font-size:12px}
/* Stable shift colours; today is outlined without replacing each shift's colour. */
.schedule-shift-legend{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin:6px 0 9px;font-size:12px;line-height:1.4}.schedule-shift-legend[hidden]{display:none}.schedule-shift-legend-title{font-weight:600;color:var(--muted)}
.schedule-shift-chip,.schedule-compact .schedule-day--work{background:var(--shift-bg,#e3eee6);color:var(--shift-ink,#214d38);border-left:3px solid var(--shift-edge,#658774)}
.schedule-shift-chip{display:inline-block;padding:4px 7px;border-radius:5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.schedule-compact .schedule-day--off,.schedule-day-summary .schedule-summary-off{background:#f9e3e0;color:#803e39}.schedule-compact .schedule-day--leave,.schedule-day-summary .schedule-summary-leave{background:#e8edf2;color:#455668}
.schedule-compact td.schedule-today{background:#f4f6f5}.schedule-compact button.schedule-day:hover{outline:1px solid #718579;outline-offset:-1px}.schedule-compact button.schedule-day:focus-visible{outline:2px solid #264d3a;outline-offset:1px}
.out-of-menu-dialog{width:min(480px,calc(100vw - 28px));max-height:90dvh;overflow:auto}.out-of-menu-dialog form{display:grid;gap:14px}.out-of-menu-dialog h2,.out-of-menu-dialog p{margin:0}.out-of-menu-dialog label{display:grid;gap:6px;font-size:14px}.out-of-menu-dialog input,.out-of-menu-dialog select{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit}.out-of-menu-dialog form>button{min-height:44px}
.cart-line.out-of-menu-line>.line-title{grid-column:1;grid-row:1}.cart-line.out-of-menu-line>.quantity-controls{grid-column:2;grid-row:1}.cart-line.out-of-menu-line>.item-note{grid-column:1/-1}
/* Management overview: one readable layout across desktop and phone. */
#managementView .management-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#managementView .management-kpi[data-scope=current]{background:#edf4f0;border:2px solid #9dbbaa}
#managementView .management-kpi-scope{display:block;margin-top:7px;color:#3e6050;font-size:12px;font-weight:600}
#managementView .management-help{margin:14px 0;border:1px solid var(--line);border-radius:12px;padding:4px 14px;background:#fff}
#managementView .management-help>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650;font-size:14px}
#managementView .management-help p{font-size:14px;line-height:1.5;margin:10px 0}
#managementView .management-dashboard{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
#managementView .management-dashboard .panel{margin:0;min-width:0;padding:16px}
#managementView .management-dashboard h2{margin:0 0 8px}
#managementView .management-ranking-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#managementView .management-ranking-controls .catalog-tabs{margin:0;gap:4px}
#managementView .management-ranking-controls select{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:8px}
#managementView .management-ranked-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
#managementView .management-ranked-row small{display:block;margin-top:3px}
#managementView .management-ranked-row strong{overflow-wrap:anywhere}
#managementView .management-ranked-row>div:last-child{text-align:right;max-width:150px}
#managementView .management-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain}
#managementView .management-bars{display:flex;align-items:stretch;height:180px;gap:3px;min-width:480px;padding:8px 0}
#managementView .management-bar{display:flex;flex:1 0 16px;flex-direction:column;align-items:stretch;justify-content:end;padding:0;background:transparent;border:0;border-radius:4px;min-width:16px;min-height:44px}
#managementView .management-bar-track{display:flex;align-items:end;justify-content:center;height:144px;width:100%;background:#f5f7f5;border-radius:4px}
#managementView .management-bar-fill{display:block;width:100%;max-width:30px;background:#438563;border-radius:4px 4px 0 0}
#managementView .management-bar-fill.negative{background:#b65050}
#managementView .management-bar[aria-pressed=true] .management-bar-fill{background:#172d25}
#managementView .management-bar:focus-visible{outline:2px solid #438563;outline-offset:2px}
#managementView .management-bar-label{height:22px;font-size:10px;white-space:nowrap;text-align:center;padding-top:5px}
#managementView .management-bar{min-width:28px;flex-basis:28px}
#managementView .management-bar-label{font-size:12px}
#managementView .management-bar[aria-pressed=true] .negative{background:#8c2727}
@media(pointer:coarse){#managementView .management-bar{min-width:44px;flex-basis:44px}}
#managementView .management-chart-detail{min-height:44px;padding:10px;background:#f5f7f5;border-radius:8px;font-size:14px;margin:8px 0 0}
#managementView .management-secondary{margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}
#managementView .management-secondary>summary{cursor:pointer;min-height:24px;font-weight:700}
#managementView .management-secondary>.management-kpis{margin-top:12px}
#managementView .management-secondary .management-kpi strong{font-size:17px}
@media(max-width:1000px){#managementView .management-dashboard{grid-template-columns:1fr}}
@media(max-width:600px){#managementView .management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#managementView .management-kpi strong{font-size:20px}#managementView .management-filters{gap:8px;padding:12px}#managementView .management-filters label:first-child{flex:1 0 100%}#managementView .management-filters label{flex:1;min-width:120px}#managementView .management-dashboard .panel{padding:12px}#managementView .management-ranking-controls button{padding:9px 10px}#managementView .management-bars{min-width:480px}#managementView .management-ranked-row{font-size:14px}}
 #managementView .management-comparison{grid-column:1/-1;font-size:13px;color:var(--muted);margin:0}
 #managementView .management-chart-scroll::after{content:"Scroll across to see all hours / days";display:block;font-size:12px;color:var(--muted);padding-top:4px}
/* Compact payroll: row height follows employee information, not a stack of actions. */
.staff-payroll-table{font-size:13px;line-height:1.3;font-variant-numeric:tabular-nums}
.staff-payroll-table th,.staff-payroll-table td{padding:7px 9px;vertical-align:middle}
.staff-payroll-table th{font-size:12px;background:#eef0ec}
.staff-payroll-table th:first-child,.staff-payroll-table td:first-child{min-width:170px;max-width:220px}
.staff-payroll-table td:first-child strong{display:block;line-height:1.3}
.staff-payroll-table td:first-child small,.staff-payroll-table td:nth-child(2) small{font-size:11px;line-height:1.25;margin-top:2px}
.staff-payroll-table td:nth-child(2){min-width:210px;max-width:230px}
.staff-payroll-table td:nth-child(2)>strong{font-weight:500}
.staff-payroll-table td:nth-child(10){font-weight:750;background:#f0f6f1}
.staff-payroll-table tbody tr:hover td{background:#edf2ec}
.staff-payroll-table .staff-salary-edit{font-size:13px;min-width:0;min-height:36px;padding:7px 9px;border-radius:7px}
.staff-payroll-table td:last-child{min-width:190px}
.staff-payroll-table .staff-payroll-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.staff-payroll-table .staff-payroll-actions button{display:inline-block;width:auto;margin:0;min-height:36px;padding:7px 9px;font-size:13px;border-radius:7px;white-space:nowrap}
.staff-payroll-more summary{cursor:pointer;list-style-position:inside;padding:8px 10px;min-height:36px;background:#eeefeb;border-radius:7px;white-space:nowrap}
.staff-payroll-more>div{display:grid;gap:5px;padding-top:5px}
.staff-payroll-more:not([open])>div{display:none}
.staff-payroll-table .staff-payroll-more button{text-align:left;width:100%}
@media(pointer:coarse){.staff-payroll-table .staff-salary-edit,.staff-payroll-table .staff-payroll-actions button,.staff-payroll-more summary{min-height:44px}}
@media(max-width:700px){.staff-payroll-table th:first-child,.staff-payroll-table td:first-child{min-width:145px;max-width:180px}.staff-payroll-table th,.staff-payroll-table td{padding:6px 8px}}
/* Clear date navigation and readable chart axes on narrow screens. */
#managementView .management-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#managementView .management-filters label{display:grid;gap:6px;min-width:0}
#managementView .management-filters input,#managementView .management-filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
#managementView .management-date-navigation{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
#managementView .management-date-navigation button{min-height:44px;padding:9px 12px;font-size:14px}
#managementView .management-period-heading{font-size:20px;margin:12px 0 4px}
#managementView .management-period-note{margin:0 0 12px}
#managementView .management-chart-plot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:10px}
#managementView .management-chart-axis{height:144px;margin-top:8px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:11px;color:#526256;font-variant-numeric:tabular-nums}
#managementView .management-bar{color:#25382e}
#managementView .management-bar-label{color:#25382e;font-size:11px;flex-shrink:0}
#managementView .management-bar-track{flex-shrink:0;background:repeating-linear-gradient(to top,#dce4de 0,#dce4de 1px,transparent 1px,transparent 50%)}
#managementView .management-bars{min-width:480px}
#managementView .management-bar[aria-pressed=true] .management-bar-fill.negative{background:#853333}
@media(max-width:600px){#managementView .management-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#managementView .management-filters label{min-width:0}#managementView .management-filters label:first-child{grid-column:1/-1}#managementView .management-date-navigation button{flex:1 1 auto}}

/* Phone toolbars: reserve real room for native date controls and enlarged text. */
@media(max-width:700px){
 .mobile-session,.single-section .mobile-session{position:static;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
 .mobile-session .session-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0;justify-content:stretch}
 .mobile-session .session-actions button{width:100%;min-width:0;min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
}
@media(max-width:600px){
 #managementView>.top,#receptionView>.top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
 #managementView>.top>div:first-child,#receptionView>.top>div:first-child{grid-column:1/-1;min-width:0;overflow-wrap:anywhere}
 #managementView>.top>button,#receptionView>.top>button{width:100%;min-width:0;min-height:44px;margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 #receptionView>.menu-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #receptionView>.menu-cats>button{min-width:0;min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 #receptionView>.menu-cats>button:last-child:nth-child(odd){grid-column:1/-1}
 #managementView .management-filters{grid-template-columns:minmax(0,1fr);gap:12px}
 #managementView .management-filters label{grid-column:1;max-width:100%}
 #managementView .management-filters input[type=date]{display:block;-webkit-appearance:none;appearance:none;min-inline-size:0;inline-size:100%;max-inline-size:100%;min-height:44px;font-size:16px;text-align:left}
 #managementView .management-filters input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
 #managementView .management-date-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #managementView .management-date-navigation button{width:100%;min-width:0;margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
 #managementView .management-date-navigation button:last-child{grid-column:1/-1}
}

/* Guest statements stay separate from starting or continuing an order. */
.resident-account-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.resident-account-entry>.resident-result{width:100%;min-width:0}
.resident-statement-button{min-height:44px;white-space:normal;overflow-wrap:anywhere;padding:10px 12px}
.resident-unpaid-filter{margin-left:auto}
.resident-unpaid-filter[aria-pressed=true]{background:#111;color:#fff}
@media(max-width:380px){.resident-account-entry{grid-template-columns:minmax(0,1fr)}.resident-account-entry>.resident-statement-button{justify-self:stretch}}

/* Shared drawer: compact overview, one ledger and an explicit physical count. */
.cashier-drawer-overview{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:#edf3ee;border:1px solid #c8d8cd;border-radius:12px;margin-bottom:16px}
.cashier-drawer-overview>div:first-child{display:flex;gap:10px 18px;align-items:baseline;flex-wrap:wrap;font-variant-numeric:tabular-nums}.cashier-drawer-overview .review-actions{margin:0}.cashier-drawer-overview button{min-height:44px;padding:10px 12px;font-size:14px}
.cash-journal{margin:18px 0 10px;border-top:1px solid var(--line);padding-top:14px;min-width:0}.cash-journal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cash-journal-heading h3{margin:0}.cash-journal-heading .review-actions{margin:0}.cash-journal button{min-height:44px;padding:9px 12px;font-size:14px}.cash-journal>.muted{font-size:13px;line-height:1.5}
.cash-journal-controls{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(180px,1fr);gap:10px}.cash-journal-controls input,.cash-journal-controls select,.cash-count-fields input,.cash-count-dialog textarea{box-sizing:border-box;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.cash-journal-opening{display:flex;gap:6px 20px;flex-wrap:wrap;margin:12px 0;font-size:13px;font-variant-numeric:tabular-nums}.cash-journal-opening small{flex-basis:100%;color:var(--muted)}.cash-journal-list{border-top:1px solid var(--line)}
.cash-journal-entry{border-bottom:1px solid var(--line);padding:0}.cash-journal-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 4px;cursor:pointer;list-style:none}.cash-journal-entry>summary::-webkit-details-marker{display:none}.cash-journal-entry>summary::after{content:'Details ▾';font-size:12px;color:var(--muted);grid-column:1/-1}.cash-journal-entry[open]>summary::after{content:'Details ▴'}.cash-journal-identity,.cash-journal-amounts{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px;overflow-wrap:anywhere}.cash-journal-identity small,.cash-journal-amounts small{font-size:12px;color:var(--muted)}.cash-journal-amounts{text-align:right;font-variant-numeric:tabular-nums}.cash-journal-in{color:#246046}.cash-journal-out{color:#973c34}.cash-journal-detail{padding:0 12px 12px;font-size:13px;line-height:1.5;background:#f7f8f5}.cash-journal-detail p{margin:5px 0;overflow-wrap:anywhere}
.cash-count-history>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.cash-count-record{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.cash-count-record p{margin:5px 0}.cash-count-result{font-size:13px;font-weight:600}.cash-count-dialog{width:min(570px,calc(100vw - 28px));max-height:90dvh;overflow:auto}.cash-count-dialog form{display:grid;gap:12px}.cash-count-fields{display:grid;gap:12px}.cash-count-fields label{display:grid;gap:6px;font-size:14px}.cash-count-fields p{margin:0;color:var(--muted);font-size:13px}.cash-count-dialog button{min-height:44px}
@media(max-width:600px){.cash-journal-controls{grid-template-columns:minmax(0,1fr)}.cash-journal-entry>summary{gap:8px}.cash-journal-identity,.cash-journal-amounts{font-size:13px}.cashier-drawer-overview .review-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-drawer-overview button{white-space:normal;min-width:0}.cash-count-fields input,.cash-count-dialog textarea,.cash-journal-controls input,.cash-journal-controls select{font-size:16px}}

.staff-report-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.staff-report-actions[hidden]{display:none}.staff-report-actions>span{font-size:12px;max-width:300px}.staff-report-actions>span:empty{display:none}

.guest-inactive-filter{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.guest-inactive-filter input{width:auto;margin:0}

#orderArea>.order-navigation{justify-content:flex-start;flex-wrap:wrap;gap:12px}.order-navigation>.order-heading{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}#backTables{background:#203b4b;color:#fff;border:1px solid #203b4b;font-weight:700;min-height:48px;flex-shrink:0;padding:12px 18px}#backTables:hover{background:#152c3a}@media(max-width:600px){#orderArea>.order-navigation{gap:10px}#backTables{padding:12px 14px}.order-navigation>.order-heading{flex-basis:110px}}

.cash-handover-dialog{box-sizing:border-box;max-height:90dvh;overflow:auto}.cash-handover-dialog input,.cash-handover-dialog select,.cash-handover-dialog textarea{box-sizing:border-box;min-width:0;width:100%;min-height:44px;font:inherit}.cash-handover-dialog textarea{padding:10px;border:1px solid var(--line);border-radius:10px}.cash-handover-preview{padding:12px;background:#edf5ef;border-radius:10px;font-weight:600}.cash-handover-dialog form>button{min-height:44px;width:100%;margin:12px 0}.cash-handover-dialog>button{min-height:44px}.cash-handover-dialog p{overflow-wrap:anywhere}@media(max-width:680px){.cash-handover-dialog input,.cash-handover-dialog select,.cash-handover-dialog textarea{font-size:16px}}

.move-hotel-guest{border-top:1px solid var(--border,#ddd);margin-top:1rem;padding-top:1rem}.move-hotel-guest p{margin:.45rem 0 .75rem}.move-hotel-guest button{max-width:100%;white-space:normal;min-height:44px}

/* v230: private resume screen and an explicit saved-data state. */
.pin-lock-panel{text-align:center}.pin-lock-panel form{text-align:left}.pin-lock-identity{font-size:20px;font-weight:700;overflow-wrap:anywhere;margin:14px 0}.pin-lock-panel #resumePin{text-align:center;font-size:28px;letter-spacing:.4em}.pin-lock-panel #pinLockError{color:#ffb4ab}.pin-lock-panel #pinLockSignOut{width:100%;margin-top:12px}.pin-lock-panel .note{color:#c8c8c3}.resume-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e6bf66;border-radius:12px;background:#fff7e2;color:#503e14;margin:0 0 14px}.resume-notice button{flex-shrink:0;font-size:14px;background:#503e14;color:white}.pos-locked dialog{visibility:hidden}
@media(max-width:480px){.resume-notice{align-items:flex-start;flex-direction:column}.resume-notice button{align-self:flex-end}.pin-lock-panel{padding:22px!important}.pin-lock-panel .login-brand{margin-bottom:18px}}

#cashierView .cashier-row.cashier-guest-payment{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:8px 0;overflow-wrap:anywhere}#cashierView .cashier-guest-payment>div{grid-column:auto;display:grid;gap:4px}#cashierView .cashier-guest-payment>div>span{font-size:13px;color:var(--muted)}#cashierView .cashier-guest-payment>strong{white-space:nowrap}#cashierView .cashier-guest-payment>span:last-child{font-size:13px;text-align:right}
.catalog-duplicate-notice{margin-top:16px;padding:14px;border:1px solid #e8c685;border-radius:12px;background:#fff8ec;overflow-wrap:anywhere}.catalog-duplicate-notice button{max-width:100%;margin-top:8px;white-space:normal;text-align:left}

/* v237: the full menu is one tap away; scrolling stays above the home gesture area. */
.mobile-navigation-trigger{display:none}
.mobile-navigation-dialog{width:min(560px,calc(100% - 28px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:72vh;max-height:72dvh;margin:auto;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.mobile-navigation-dialog::backdrop{background:rgba(0,0,0,.48)}
.mobile-navigation-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.mobile-navigation-heading button{min-height:44px}
.mobile-navigation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-navigation-item{min-width:0;min-height:52px;padding:14px 12px;border:1px solid var(--line);border-radius:12px;background:#f1f1ee;color:var(--ink);text-align:left;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
.mobile-navigation-item.selected{background:#263238;color:#fff;border-color:#263238;font-weight:700}
@media(max-width:700px){
 .sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
 .sidebar>nav{min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-x pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .sidebar>nav::-webkit-scrollbar{display:none}
 .sidebar>nav>.nav-button{flex:0 0 auto;min-height:48px}
 .mobile-navigation-trigger{display:block;min-width:84px;min-height:48px;background:#fff;color:#111;font-weight:700;white-space:nowrap;touch-action:manipulation}
 .main-content{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
 .single-section .main-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
 .login-panel{margin-top:calc(6vh + env(safe-area-inset-top,0px));margin-left:max(16px,env(safe-area-inset-left,0px));margin-right:max(16px,env(safe-area-inset-right,0px))}
}

/* Keep every split part visible after settlement, including account charges. */
.split-bill-overview{margin:16px 0;padding:16px;background:#f7f6f1;border:1px solid var(--line);border-radius:16px;min-width:0}.split-bill-overview[hidden]{display:none}.split-bill-summary{display:grid;gap:10px;min-width:0}.split-bill-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0}.split-bill-total{display:grid;gap:6px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.split-bill-total span{font-size:13px;color:var(--muted)}.split-bill-part{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px;background:#fff;border:1px solid var(--line);border-left:5px solid #a34030;border-radius:12px;overflow-wrap:anywhere}.split-bill-part--paid{border-left-color:#397d5a}.split-bill-part--requested{border-left-color:#ab7b17}.split-bill-part--charged{border-left-color:#5b6a99}.split-bill-part p,.split-bill-part button{grid-column:1/-1;margin:0}.split-bill-status{font-weight:650}.split-bill-part button{justify-self:start;text-align:left}.split-bill-overview>button{margin-top:12px}.split-bill-dialog .review-actions{margin-top:18px}.split-bill-dialog button{min-height:44px;white-space:normal;overflow-wrap:anywhere}.split-bill-dialog button.primary{background:#243e50;color:#fff;font-weight:750}@media(max-width:560px){.split-bill-totals{grid-template-columns:1fr}.split-bill-total{grid-template-columns:minmax(0,1fr) auto;align-items:center}.split-bill-dialog .review-actions{display:grid;grid-template-columns:1fr}.split-bill-overview{padding:12px}}

/* Unpaid guest accounts remain visible independently of physical tables. */
.open-account-notice{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.open-account-notice button{min-height:44px}
.open-account-card{grid-column:span 2;min-width:0;display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border:1px solid #91a6b0;border-left:5px solid #294b5e;border-radius:18px;box-shadow:var(--shadow);overflow-wrap:anywhere}.open-account-card h2{font-size:20px;line-height:1.3}.open-account-card p{margin:0}.open-account-pending{color:#77500b;font-size:14px;font-weight:650}.open-account-sums{display:grid;gap:8px}.open-account-sums>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}.open-account-sums>div:last-child{padding-top:10px;border-top:1px solid var(--line)}.open-account-sums>div:last-child strong{font-size:24px}.open-account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.open-account-actions button{min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere;max-width:100%}
@media(max-width:560px){.open-account-card{grid-column:1/-1;padding:16px}.open-account-actions button{flex:1 1 140px}.open-account-notice button{width:100%}}

/* Ready work precedes compact account balances in Open. */
.open-section-title{grid-column:1/-1;font-size:18px;margin:14px 0 2px;color:#294b5e}.open-account-card--0{border-color:#73b982;background:#edf8ef}.open-account-card--1{border-color:#e8c685}.open-account-card--2{border-color:var(--status-awaiting-border);background:var(--status-awaiting-bg)}.open-account-card--3{gap:8px;padding:16px}.open-account-card--3 .open-account-sums>div:last-child{border-top:0;padding-top:0}.open-account-card--3 .open-account-sums>div:last-child strong{font-size:22px}.open-account-card--3 .open-account-actions{gap:6px}.open-account-pending{background:#fff1ce;padding:6px 10px;border-radius:8px}.table-button .table-guest-unlinked{font-size:12px;color:#77500b;background:#fff1ce;border-radius:6px;padding:5px 7px;margin:6px 0}.resident-visit.guest-link-required{background:#fff8e7;border:2px solid #c89631;display:flex;flex-wrap:wrap}.resident-visit.guest-link-required strong,.resident-visit.guest-link-required p{flex-basis:100%;margin:0}.resident-visit .guest-link-button{background:#294b5e;color:#fff;font-weight:700;min-height:44px;margin:4px 0 0}.open-account-payment{width:min(620px,94vw);max-height:90dvh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--ink)}.open-account-payment::backdrop{background:#0008}.open-account-payment>h2{margin-bottom:14px;overflow-wrap:anywhere}.open-account-payment>div{display:grid;gap:10px}.open-account-payment button{min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere}.open-account-payment>button{margin-top:16px}.open-account-payment .primary{background:#294b5e;color:#fff;font-weight:700}
.pwa-version{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.pwa-version button,.login-panel .pwa-version button{width:auto;margin:0;padding:5px 8px;font-size:12px;font-weight:400;border-radius:7px}.pwa-update-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fafaf7;font-size:13px}.pwa-update-status button{padding:6px 9px;font-size:13px}.pwa-update-status>span:last-child{color:var(--muted)}

/* v254: compact actual-currency payment form. */
.mixed-payment-part{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px 0;border-top:1px solid var(--line,#deded3)}.mixed-payment-part h3,.mixed-payment-part>p,.mixed-payment-part>details,.mixed-payment-part>.mixed-rounding-choice{grid-column:1/-1;margin:0}.mixed-payment-part>label{display:flex;flex-direction:column;gap:5px;min-width:0}.mixed-payment-part input:not([type=checkbox]),.mixed-payment-part select{width:100%;min-width:0;box-sizing:border-box}.mixed-payment-part>.mixed-rounding-choice{flex-direction:row;align-items:center;justify-content:space-between}.mixed-payment-part input[type=checkbox]{width:auto}.mixed-payment-part details label{display:grid;gap:5px;margin-top:8px}.mixed-payment-part summary{font-size:.875rem;cursor:pointer}@media(max-width:420px){.mixed-payment-part{grid-template-columns:1fr}}

/* v255 guest payment fields stay inside the existing modal. */
.guest-mixed-form{border:0;padding:0;margin:0;min-width:0;display:grid;gap:10px}.guest-mixed-form>label{display:grid;gap:5px}.guest-mixed-form>label input{width:100%;box-sizing:border-box}.guest-mixed-form>.tip-payment-summary{margin:.5rem 0}.settings-fields.guest-mixed-fields>fieldset,.settings-fields.guest-mixed-fields>p{grid-column:1/-1}

/* Tables: one status and next step; supporting information is disclosed. */
#tablesView .table-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:start}
#tablesView .table-button,#tablesView .open-account-card{grid-column:auto;min-width:0;min-height:0;padding:16px;gap:10px;overflow-wrap:anywhere}
#tablesView .table-card-title{font-size:23px;line-height:1.2;font-weight:800;max-width:100%;overflow-wrap:anywhere}
#tablesView .table-resident{font-size:14px;line-height:1.35;font-weight:500;max-width:100%;overflow-wrap:anywhere}
.table-card-facts{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;width:100%}
#tablesView .table-card-waiter{flex-basis:100%;font-size:13px;line-height:1.4;font-weight:500;color:var(--muted);overflow-wrap:anywhere}
#tablesView .table-card-status{font-size:14px;font-weight:700;color:var(--ink)}
#tablesView .is-awaiting-cashier .table-card-status,#tablesView .open-account-card--2 .table-card-status{color:var(--status-awaiting-ink)}
#tablesView .table-card-age{font-size:13px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
#tablesView .table-card-age.is-old{color:#87440e;font-weight:650}
.table-card-amount{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;width:100%}
.table-card-amount>span{font-size:13px;color:var(--muted)}
#tablesView .table-total{font-size:23px;margin:0;line-height:1.25}
#tablesView .open-account-sums{gap:6px;width:100%}
#tablesView .open-account-sums>div{padding:0;border:0;flex-wrap:wrap;gap:3px 12px}
#tablesView .open-account-sums>div strong{font-size:16px}
#tablesView .open-account-sums>div:first-child strong{font-size:23px}
#tablesView .open-account-sums>div:first-child>span{font-weight:650}
#tablesView .table-card-next,#tablesView .open-account-card>.open-account-actions{width:100%;margin:0}
#tablesView .table-card-next,#tablesView .open-account-card>.open-account-actions button{width:100%;min-height:44px;text-align:center;font-size:15px;padding:10px 12px;white-space:normal;overflow-wrap:anywhere}
.table-card-details{width:100%;border-top:1px solid var(--line);padding-top:6px}
.table-card-details>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:13px;color:var(--muted);padding:10px 0}
.table-card-details>p{font-size:13px;margin:8px 0;overflow-wrap:anywhere}
#tablesView .table-card-details .table-timestamps{font-size:12px;border:0;padding:0;margin:8px 0}
#tablesView .table-card-details .table-stations{font-size:13px}
.table-card-details .open-account-actions{margin-top:10px}
#tablesView .table-card-open{display:block;min-height:44px;padding:2px 0;background:transparent;color:var(--ink);text-align:left;border-radius:5px}
#tablesView .table-card-actions,#tablesView .open-account-card>.open-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
#tablesView .table-card-add{width:100%;min-height:44px;padding:10px 8px;background:#294b5e;color:#fff;font-size:15px;font-weight:650;white-space:normal;overflow-wrap:anywhere}
#tablesView .table-card-actions .table-card-next,#tablesView .open-account-card>.open-account-actions button{min-width:0;padding:10px 8px}
.order-more-actions{margin-bottom:10px}.order-more-actions>summary{min-height:44px;display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer;font-size:14px}.order-more-actions>summary::before{content:'▸'}.order-more-actions[open]>summary::before{content:'▾'}
#tablesView .table-button.selected{outline:2px solid #294b5e;outline-offset:2px}
#tablesView .open-account-notice button{font-size:13px;background:transparent;border:1px solid var(--line);padding:8px 12px}
@media(max-width:560px){#tablesView .table-grid{grid-template-columns:1fr}#tablesView .table-button,#tablesView .open-account-card{padding:14px}#tablesView .open-account-notice{justify-content:flex-end}#tablesView .open-account-notice button{width:auto}}

.guest-charge-item{padding:10px 0;border-bottom:1px solid var(--line);min-width:0}
.guest-charge-item-main,.guest-charge-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap}
.guest-charge-item-main>strong:first-child{flex:1;min-width:140px;overflow-wrap:anywhere}
.guest-charge-item-main>strong:last-child,.guest-charge-totals strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.guest-charge-note{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600}
.guest-charge-totals{display:grid;gap:6px;padding:14px 0}
.guest-charge-final{font-size:20px;padding-top:8px;border-top:1px solid var(--line)}
.guest-charge-history,.guest-charge-edits{border-top:1px solid var(--line);padding:4px 0;min-width:0}
.guest-charge-history>summary,.guest-charge-edits>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px}
.guest-charge-correction{padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.guest-charge-edits .guest-statement{display:flex;flex-wrap:wrap;gap:8px}

/* Current order: identity and money together, prominent items and primary actions. */
.current-order-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,1fr);gap:10px 24px;border-bottom:1px solid var(--line);padding:10px 0 14px;margin-bottom:4px;min-width:0}
.current-order-identity,.current-order-money{min-width:0;overflow-wrap:anywhere}
.current-order-identity h1{font-size:24px;margin-bottom:6px}
.current-order-summary .resident-visit{margin:0;padding:0;border:0;background:transparent;gap:6px;display:flex;flex-wrap:wrap}
.current-order-summary .resident-visit>strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.current-order-summary .resident-visit p{margin:0;font-size:13px}
.current-order-summary .resident-visit button{font-size:13px;min-height:44px;padding:8px 10px;margin:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.current-order-summary .order-total{justify-content:space-between;flex-wrap:wrap;white-space:normal;gap:4px 12px}
.current-order-summary .order-total>strong{font-size:25px}
.current-order-summary .order-total>span:last-child:not(:first-child){flex-basis:100%;text-align:right;font-size:12px}
.current-order-summary .guest-visit-balance{margin:4px 0;padding:0;border:0;background:transparent}
.current-order-summary .guest-visit-totals{display:grid;gap:3px;font-size:14px}
.current-order-summary .guest-debt-link{justify-self:start;padding:6px 0;min-height:36px;font-size:14px;text-align:left}
.current-order-summary .guest-visit-totals>strong{font-size:16px}
.current-order-summary .order-discount-summary{text-align:left;margin:5px 0;font-size:13px}
.order-price-details>summary,.guest-balance-details>summary,.order-navigation summary,.breakfast-composition>summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:13px;color:var(--muted)}
.order-navigation{align-items:start;margin-bottom:10px}.order-navigation .order-heading{flex:1;min-width:0;font-size:13px}.order-navigation .order-heading>p{margin:3px 0}
#currentOrderPanel .order-top-head h2{font-size:18px}#currentOrderPanel .pill{font-size:12px;padding:4px 8px}
#currentOrderPanel .cart-line,#currentOrderPanel .sent-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:start;padding:10px 0;min-width:0}
#currentOrderPanel .line-title{font-size:16px;font-weight:700;line-height:1.35;min-width:0;overflow-wrap:anywhere;text-align:left;grid-column:1;grid-row:1}
#currentOrderPanel .sent-line-figures{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:16px;font-variant-numeric:tabular-nums;grid-column:2;grid-row:1}
#currentOrderPanel .line-quantity{font-weight:650}#currentOrderPanel .line-amount{font-weight:800}
#currentOrderPanel .sent-line-state{grid-column:1/-1;grid-row:auto;font-size:12px}
#currentOrderPanel .item-note,#currentOrderPanel .included-side-note,#currentOrderPanel .breakfast-composition,#currentOrderPanel .discount-note,#currentOrderPanel .extras-summary,#currentOrderPanel .dish-choice-total{grid-column:1/-1;grid-row:auto;margin:3px 0;max-width:100%;white-space:pre-wrap}
#currentOrderPanel .item-note{color:#6a3214;background:#fff1d9;border-left:3px solid #b46c24;padding:6px 10px;font-weight:550;line-height:1.4}
#currentOrderPanel .cart-line>.quantity-controls{grid-column:2;grid-row:1;gap:5px;flex-wrap:wrap;font-size:16px;font-weight:700}
#currentOrderPanel .quantity-controls button{width:36px;height:36px}#currentOrderPanel .quantity-controls .price{min-width:65px;font-size:16px}
#currentOrderPanel .cart-line input[data-cart-note]{grid-column:1/-1;max-width:none;min-width:0;font-size:14px;padding:8px}
.breakfast-composition-text{font-size:13px;line-height:1.4;white-space:pre-wrap;color:var(--muted);margin:0 0 8px}
#currentOrderPanel .breakfast-summary{grid-column:1/-1;margin:3px 0;overflow-wrap:anywhere}
#currentOrderPanel .primary-order-actions{position:sticky;top:8px;z-index:4;display:flex;flex-wrap:wrap;gap:8px;background:var(--card);padding:8px 0}
#currentOrderPanel .order-actions{gap:6px;margin-top:0;padding:0 0 10px;border-bottom:1px solid var(--line)}
#currentOrderPanel #sendOrder,#currentOrderPanel #payOrder{flex:1 1 140px;min-height:48px;font-weight:750;font-size:16px}
#currentOrderPanel #sendOrder{background:#294b5e;color:#fff}#currentOrderPanel #payOrder:not(:disabled){background:#195b31;color:#fff}
#currentOrderPanel .order-actions>.light-button,#currentOrderPanel #voidOrder{min-height:44px;font-size:13px;padding:9px 12px}
#currentOrderPanel #chargeAccount{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#currentOrderPanel .readiness{font-size:13px;padding:8px 10px;margin-left:0}
@media(max-width:700px){.current-order-summary{grid-template-columns:1fr;gap:8px}.current-order-summary .order-total>span:last-child:not(:first-child){flex-basis:auto}.current-order-summary .guest-visit-totals{display:flex;justify-content:space-between;gap:4px 12px}.current-order-summary .guest-visit-totals>strong{flex-basis:100%}}
@media(max-width:420px){#currentOrderPanel .cart-line{grid-template-columns:minmax(0,1fr)}#currentOrderPanel .cart-line>.quantity-controls{grid-column:1;grid-row:2;justify-content:flex-start}#currentOrderPanel .sent-line{grid-template-columns:minmax(0,1fr) auto}#currentOrderPanel .sent-line-figures{gap:4px;flex-direction:column;align-items:flex-end}#currentOrderPanel .line-title{font-size:15px}}
/* Receipt archive: short rows; immutable detail is loaded only when opened. */
.receipts-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(120px,1fr));gap:12px;align-items:end}
.receipts-filters label{min-width:0}.receipts-filters input,.receipts-filters select{width:100%;min-width:0}
.receipts-list{max-width:1000px}.receipts-day{font-size:1rem;margin:24px 0 10px;color:var(--muted,#59685d)}
.receipt-row{display:flex;justify-content:space-between;gap:16px;text-align:left;align-items:center;width:100%;border-radius:0;border-width:0 0 1px;background:var(--panel,#fff);color:inherit;padding:16px 12px;min-height:76px}
.receipt-row:hover{background:#edf5ee}.receipt-row-main,.receipt-row-side{display:flex;flex-direction:column;gap:5px;min-width:0}.receipt-row-main{flex:1;overflow-wrap:anywhere}.receipt-row-side{text-align:right;flex-shrink:0}.receipt-row .muted{font-size:.85rem}
.receipts-dialog{width:min(700px,calc(100vw - 24px));max-height:90dvh;padding:20px}.receipts-dialog h2{font-size:1.25rem;overflow-wrap:anywhere}.receipt-section{border-bottom:1px solid #dce3dc;padding:10px 0}.receipt-section h3{font-size:1rem;margin:5px 0 10px;overflow-wrap:anywhere}
.receipt-detail-line{display:flex;justify-content:space-between;gap:16px;margin:8px 0;overflow-wrap:anywhere}.receipt-detail-line strong{text-align:right}.receipt-bill-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;margin:8px 0}.receipts-detail{min-width:0}
@media(max-width:700px){.receipts-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.receipts-filters label:first-child{grid-column:1/-1}.receipt-row{gap:10px;padding:14px 6px}.receipt-row-side{max-width:45%;flex-shrink:1}.receipts-dialog{padding:16px}.receipt-detail-line{gap:10px}.receipts-dialog>button{width:100%;margin-top:16px}}
/* Station lanes keep each ticket and action in place during live updates. */
.station-board{min-width:0}.station-queue-navigation{display:flex;gap:8px;position:sticky;top:0;z-index:4;padding:8px 0;background:var(--bg);margin-bottom:6px}
.station-queue-tab{flex:1;min-width:0;padding:12px 8px;background:var(--card);color:var(--ink);border:1px solid var(--line);font-weight:700;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.station-queue-tab[aria-pressed=true]{background:#111;color:#fff}
.station-layout-notice{height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--muted)}.station-layout-notice[hidden]{display:flex!important;visibility:hidden}.station-layout-notice button{padding:6px 10px;font-size:.8rem;white-space:nowrap}
.station-queues{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;align-items:start}.station-queue,.station-queue-list{display:contents}.station-queue[hidden]{display:none}.station-queue-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.station-queue-empty{grid-column:1/-1;padding:18px 8px;color:var(--muted);font-size:.9rem}
.station-ticket{padding:14px;min-width:0;border-top:4px solid #bd882e}.station-queue-ready .station-ticket{border-top-color:#73b982}.station-ticket.ticket-new{border:1px solid #d5b16d;border-top:4px solid #d57b0b;background:#fffaf0}.station-ticket .ticket-head h3{font-size:1.05rem;overflow-wrap:anywhere;margin:0;min-width:0}.station-ticket-age{font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:#75421d}.station-ticket-meta{font-size:.8rem;color:var(--muted);margin:5px 0 8px}.station-ticket-pending{font-size:.85rem;color:#75421d;background:#fff1cf;padding:7px;border-radius:6px}
.station-ticket .station-accept-slot{min-height:0}.station-ticket .accept-ticket{margin:6px 0 12px}.station-ticket-line .ticket-description{display:flex;justify-content:space-between;align-items:start;gap:12px}.station-ticket-line .ticket-item-name{font-size:1rem;flex:1;min-width:0}.station-ticket-line .station-ticket-quantity{font-size:1.2rem;white-space:nowrap;line-height:1.1}.station-ticket .ticket-course-title{font-size:.78rem;padding:7px 10px}.station-line-actions{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;margin-top:8px}.station-ticket-line .station-line-actions button{margin:0;width:100%;min-height:44px;padding:10px 5px;font-size:.9rem}.station-ticket-line .station-line-actions button[hidden]{display:block!important;visibility:hidden}.station-line-change{font-size:.8rem;font-weight:700;color:#885319}.station-ticket .item-note{font-weight:600}.station-ticket-notes .item-note,.station-ticket-notes .doneness-badge{margin:7px 0;white-space:pre-wrap}
@media(max-width:700px){.station-queues{grid-template-columns:minmax(0,1fr)}.station-queue-navigation{top:0;gap:6px}.station-queue-tab{font-size:.82rem;padding:12px 4px}.station-ticket .ticket-head h3{font-size:1.1rem}.station-layout-notice{font-size:.72rem}.station-ticket{padding:14px}.station-ticket-line .station-line-actions button{min-height:48px}}
.station-ticket-meta{white-space:normal;overflow-wrap:anywhere;min-height:1.45em;line-height:1.45}
.station-ticket-line .station-line-change[hidden]{display:block!important;visibility:hidden}.station-ticket-line>.station-line-change{min-height:1.45em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0}
.station-ticket .ticket-head{flex-wrap:wrap;gap:5px}.station-ticket .ticket-head h3{flex-basis:100%}.station-ticket-age{font-size:.88rem;white-space:normal;overflow-wrap:anywhere;line-height:1.45;color:var(--muted)}
.station-queue-ready .station-ticket-age{color:#246235}
/* Controller: four count columns and details only when needed. */
.controller-stock-summary{margin:12px 0}.controller-stock-summary>summary,.receiving-options>summary{cursor:pointer;font-weight:650;padding:12px 0;min-height:44px}.controller-stock-summary .controller-summary{margin:6px 0 12px}
#controllerView .stock-table{width:100%;min-width:0;table-layout:fixed}#controllerView .stock-table th:first-child{width:43%}#controllerView .stock-table th:nth-child(2){width:16%}#controllerView .stock-table th:nth-child(3){width:23%}#controllerView .stock-table th:nth-child(4){width:18%}
#controllerView .stock-table th,#controllerView .stock-table td{padding:12px 8px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}#controllerView .stock-table td:nth-child(2),#controllerView .stock-table td:nth-child(4){font-weight:700;font-variant-numeric:tabular-nums}#controllerView .stock-table input{min-width:0;width:100%;max-width:160px;font-size:16px;min-height:44px;scroll-margin-block:70px}
.inventory-item-name{font-size:16px;line-height:1.35}.inventory-item-details{font-size:13px;color:var(--muted);margin-top:6px}.inventory-item-details summary{cursor:pointer;min-height:28px}.inventory-item-details p{margin:6px 0;line-height:1.4}.stock-table .stock-conflict:empty{display:none}.stock-table .stock-conflict{font-size:12px;margin:6px 0}.stock-table button{font-size:12px;padding:8px;min-height:44px;max-width:100%;white-space:normal}
.receiving-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0}.receiving-options .receiving-vat{padding-top:6px;border:0}.receiving-options .receiving-details{margin-top:6px}.receiving-form .receiving-details{grid-template-columns:minmax(0,1.4fr) minmax(0,1.3fr) minmax(100px,.6fr) minmax(130px,1fr)}
.receiving-form .stock-receipt-line,.receiving-form .stock-receipt-line.has-vat{grid-template-columns:minmax(0,2fr) minmax(80px,.7fr) minmax(110px,1fr) 44px}.receiving-form .stock-receipt-line>.receiving-unit-cost{grid-column:1/-1;grid-row:auto;font-size:13px;color:var(--muted)}.receiving-unit-cost>summary{cursor:pointer;min-height:28px}.receiving-unit-cost strong{display:block;margin-top:4px}.receiving-form .stock-receipt-line>button{grid-column:4;grid-row:1;margin-top:24px}.receiving-form .stock-receipt-line>.receiving-line-vat{grid-column:2/4;grid-row:auto}.receiving-form input{scroll-margin-block:70px}
.controller-review-dialog{width:min(620px,calc(100vw - 24px));max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;padding:20px}.controller-review-dialog h2{font-size:1.3rem}.controller-review-dialog h3{font-size:1rem;margin:18px 0 8px}.controller-review-dialog p{margin:8px 0;line-height:1.5}.controller-review-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.controller-review-line strong{min-width:0;overflow-wrap:anywhere}.controller-review-line span{text-align:right;min-width:35%}.controller-review-dialog .review-actions{margin-top:18px}.controller-review-dialog .review-actions button{min-height:48px;flex:1;white-space:normal}.controller-review-dialog .stock-conflict:empty{display:none}
@media(max-width:1000px){.receiving-form .receiving-details{grid-template-columns:repeat(2,minmax(0,1fr))}.receiving-form .stock-receipt-line,.receiving-form .stock-receipt-line.has-vat{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.receiving-form .stock-receipt-line>.receiving-item-field{grid-column:1/3}.receiving-form .stock-receipt-line>button{grid-column:3;grid-row:1}.receiving-form .stock-receipt-line>.receiving-line-vat{grid-column:1/3}.receiving-form .stock-receipt-line>.receiving-unit-cost{grid-column:1/3}}
@media(max-width:500px){#controllerView .stock-table th,#controllerView .stock-table td{padding:10px 4px;font-size:12px}#controllerView .stock-table th:first-child{width:39%}#controllerView .stock-table th:nth-child(2){width:17%}#controllerView .stock-table th:nth-child(3){width:25%}#controllerView .stock-table th:nth-child(4){width:19%}.inventory-item-name{font-size:14px}.receiving-form .receiving-details{gap:12px 8px}.receiving-form .receiving-details>.supplier-picker{grid-column:1/-1}.controller-review-dialog{padding:16px}.controller-review-line{font-size:14px}}
/* Shift: one drawer position; reports and turnover stay in disclosures. */
.shift-active{padding:16px}.shift-drawer-overview h2{font-size:19px;margin:0 0 10px}.shift-drawer-overview .shift-cash-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;margin:8px 0}.shift-drawer-overview .shift-cash-card{padding:14px;border-width:1px;border-radius:12px}.shift-drawer-overview .shift-cash-card>h3{font-size:16px;margin:0 0 10px}.shift-drawer-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shift-drawer-figures>div{min-width:0}.shift-drawer-figures span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.shift-drawer-figures strong{display:block;overflow-wrap:anywhere;font-size:18px;line-height:1.35;font-variant-numeric:tabular-nums}.shift-drawer-expected strong{color:#195b31}.shift-count-age{font-size:12px;line-height:1.4;color:var(--muted);margin:10px 0 0}.shift-drawer-overview .stock-minus{font-size:13px;margin:8px 0 0}.shift-next-step{padding:10px 12px;background:#f2f4ef;border-radius:9px;font-size:14px;line-height:1.5}.shift-receipt-state{display:block;margin-top:6px}.shift-primary-actions{display:flex;flex-wrap:wrap;gap:8px}.shift-primary-actions button{flex:1 1 120px;min-height:48px;white-space:normal;font-weight:700}.shift-action-hint{font-size:12px;color:var(--muted);line-height:1.45;margin:10px 0 16px}.shift-active>.shift-details{border-top:1px solid var(--line);padding:6px 0}.shift-active>.shift-details>summary,.shift-archive>summary{cursor:pointer;min-height:44px;padding:10px 0}.shift-archive>summary h2{font-size:18px;margin:0}.shift-archive{margin-top:16px}.shift-report-history-label{font-size:14px;padding:10px;background:#f2f4ef;border-radius:8px}.shift-report>.shift-details{padding:6px 0;border-top:1px solid var(--line)}.shift-report>.shift-details>summary{min-height:44px;padding:10px 0;cursor:pointer}.shift-dialog .closing-cash-preview{margin:16px 0 0;border-top:1px solid var(--line);padding-top:12px;font-size:14px}.shift-dialog .closing-cash-preview h3{font-size:16px;margin-bottom:8px}.shift-dialog input,.shift-dialog select,.shift-dialog textarea{font-size:16px;min-height:44px}.shift-dialog .shift-row>.shift-details{font-size:13px;min-width:0}.shift-dialog .shift-row>.shift-details>summary{cursor:pointer;padding:8px 0;min-height:44px}
@media(max-width:700px){.shift-active{padding:14px}.shift-drawer-figures strong{font-size:16px}.shift-drawer-figures{gap:8px}.shift-dialog{max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}.shift-archive .closed-shift-row{gap:8px;overflow-wrap:anywhere}.shift-dialog .review-actions button{min-height:48px;white-space:normal}}

/* Finance v264: a compact daily ledger and a table-only top layer. */
.finance-modes{margin:18px 0 12px}.finance-modes [aria-pressed=true]{background:var(--ink);color:var(--card)}
.finance-receipts{margin:12px 0}.finance-receipts>summary{padding:8px 0;cursor:pointer;font-weight:650}.finance-export h2{font-size:20px}.finance-export p{max-width:65ch}.finance-workbook>button{margin-top:12px}
.finance-table-fullscreen{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--card);box-sizing:border-box}.finance-table-fullscreen[open]{display:flex}.finance-table-fullscreen::backdrop{background:var(--card)}.finance-table-fullscreen .finance-table-frame{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.finance-table-fullscreen .finance-scroll{flex:1;min-height:0;max-height:none;margin:0;border:1px solid var(--line);border-radius:8px;scrollbar-gutter:stable}.finance-table-fullscreen h2{margin:0;font-size:18px}.finance-table-fullscreen .finance-workbook-head{flex:none}.finance-table-fullscreen .finance-workbook-head .review-actions{flex-wrap:wrap}
@media(max-width:600px){.finance-table-fullscreen .finance-workbook-head{gap:8px}.finance-table-fullscreen .finance-workbook-head .review-actions{width:100%}}

/* Guest accounts v266: one amount summary, explicit payment scope, lazy history. */
.guest-amount-summary{width:100%;font-variant-numeric:tabular-nums;min-width:0}.guest-amount-part,.guest-amount-total{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.guest-amount-part{font-size:13px;padding:3px 0;color:var(--muted)}.guest-amount-part strong{color:var(--ink);white-space:nowrap}.guest-amount-total{font-size:16px;font-weight:700;padding-top:7px}.guest-amount-total strong{white-space:nowrap;font-size:18px}.guest-account-dialog .guest-amount-summary,.guest-account-dialog .guest-statement-actions{grid-column:1/-1}.guest-account-dialog .guest-amount-summary{padding:12px;border:1px solid var(--line);border-radius:10px}.guest-statement-actions{display:flex;gap:8px;flex-wrap:wrap}.guest-statement-actions button{min-height:44px}.guest-account-meta{font-size:13px;color:var(--muted)}.guest-account-meta summary{cursor:pointer;min-height:32px;padding:5px 0}.guest-account-meta button{margin:6px 6px 0 0;font-size:13px;min-height:44px}.guest-account-row{grid-template-columns:minmax(180px,1fr) minmax(230px,.75fr) auto}.guest-account-actions{flex-wrap:wrap}.guest-visit-row,.guest-charge-row{padding:10px 0;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center;overflow-wrap:anywhere}.guest-charge-row>.muted{flex-basis:100%}.guest-charge-row strong{margin-right:auto}.guest-charge-row button,.guest-visit-row button{font-size:13px;min-height:44px;padding:9px 12px}.guest-unpaid-bills,.guest-paid-history{border-top:1px solid var(--line);margin-top:10px}.guest-account-dialog .guest-statement .stock-history-line{gap:6px}.guest-account-dialog .guest-statement .stock-history-line>p{flex-basis:100%}
@media(max-width:800px){.guest-account-row{grid-template-columns:minmax(0,1fr) auto}.guest-account-balance{grid-column:1/-1;grid-row:2;width:100%}.guest-account-actions{grid-column:2;grid-row:1;flex-direction:column}.guest-account-row>div:first-child{grid-column:1;grid-row:1}.guest-statement-actions button{flex:1 1 auto}}

/* Later guest discounts share an hour but are never drawn as negative sales. */
#managementView .management-bar-track{gap:2px}
#managementView .management-bar-track>.management-bar-fill{flex:1;min-width:0}
#managementView .management-bar-fill.discount-adjustment{background:#b78024}
#managementView .management-bar[aria-pressed=true] .management-bar-fill.discount-adjustment{background:#805b1d}

/* v275: shared shell. Page-specific table, amount and preparation rules remain local. */
.navigation-group-label{font-size:11px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:#aaa;margin:16px 12px 3px;font-weight:600;flex:0 0 auto}
.navigation-group-label:first-child{margin-top:0}
.sidebar>nav{gap:4px}.sidebar>nav>.nav-button{min-height:44px;line-height:1.3;white-space:normal}
.sidebar{height:100vh;height:100dvh}
.account-menu{position:relative;min-width:0;z-index:30}.account-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 12px;border-radius:var(--control-radius);background:#f1f1ee;color:var(--ink);font-size:14px;line-height:1.3;white-space:nowrap}
.account-menu>summary::-webkit-details-marker{display:none}.account-menu>summary::after{content:'⌄';font-size:14px}.account-menu[open]>summary{background:#e5e7e1}
.account-menu-actions{position:absolute;top:calc(100% + 8px);right:0;width:230px;max-width:calc(100vw - 28px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:4px;padding:var(--space-1);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.account-menu-actions>button{width:100%;min-height:44px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.35;padding:10px 12px;background:transparent;color:var(--ink)}
.account-menu-actions>button:hover:not(:disabled){background:#f1f1ee}.sidebar .account-menu-actions{top:auto;bottom:calc(100% + 8px);right:auto;left:0}.sidebar .account-menu>summary{background:#252525;color:#eee}
.sidebar-actions{align-items:center;gap:var(--space-1)}.sidebar-actions>button{min-height:44px;font-size:14px;padding:10px 12px;color:#eee}.sidebar-bottom{padding:8px;min-width:0}.sidebar-bottom #connection{margin:6px 0 10px;line-height:1.4}
.session-identity{min-width:0;flex:1 1 150px}.session-identity #mobileIdentity{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.session-identity #mobileConnection{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere;margin-top:3px}
.mobile-session .session-actions{display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;gap:8px;min-width:0;width:auto}.mobile-session .session-actions>button{width:auto;min-width:0;min-height:44px;padding:10px 12px;font-size:14px;line-height:1.3}
.single-section .mobile-session{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.mobile-navigation-grid>.navigation-group-label{grid-column:1/-1;color:var(--muted);margin:10px 0 0}.mobile-navigation-grid>.navigation-group-label:first-child{margin-top:0}.mobile-navigation-heading{position:sticky;top:-18px;z-index:2;padding:8px 0;background:var(--card)}
.pos-app input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),.pos-app select,.pos-app textarea{font:inherit;font-size:16px;min-height:44px;border-radius:var(--control-radius);padding:10px 12px;max-width:100%;scroll-margin-block:70px}
.pos-app textarea{resize:vertical}.pos-app label{min-width:0}.pos-app button{max-width:100%;overflow-wrap:anywhere}.pos-app .secondary,.pos-app .light-button{border-radius:var(--control-radius);line-height:1.35}.pos-app .panel{border-radius:var(--panel-radius)}
.empty-state,.pos-app .empty{grid-column:1/-1;padding:var(--space-3);border:1px dashed var(--line);border-radius:var(--control-radius);background:var(--card);color:var(--muted);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.empty-state p{margin:0}.empty-state p+p{margin-top:6px}.empty-state button{margin-top:12px}
#connection[data-state=offline],#mobileConnection[data-state=offline]{color:var(--status-warning)}.sidebar #connection[data-state=offline]{color:#f0c87d}
#mobileConnection[data-state=live]{color:var(--status-ready)}
@media(max-width:700px){
 .sidebar{height:auto}.sidebar>nav>.navigation-group-label,.sidebar>nav>.nav-button[data-quick=false]{display:none}.sidebar>nav>.nav-button{white-space:nowrap;padding:10px 12px;font-size:14px}
 .mobile-session,.single-section .mobile-session{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;margin-bottom:16px}
 .mobile-navigation-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
}
@media(min-width:701px) and (max-height:540px){
 .sidebar{padding:12px 10px;gap:8px}.sidebar .brand{font-size:18px;padding:0 8px 4px}.sidebar .brand span{display:none}.sidebar-bottom{padding:6px}.sidebar-bottom #identity{font-size:12px}.sidebar-bottom #connection{font-size:11px;margin:4px 0 6px}.sidebar>nav{min-height:44px}.navigation-group-label{margin-top:10px}
}
@media(max-width:380px){.mobile-navigation-grid{grid-template-columns:minmax(0,1fr)}.session-identity{flex-basis:100%}.mobile-session .session-actions{width:100%}}

.mobile-session .account-menu-actions>button{padding:10px var(--space-2)}

.account-menu:not([open])>.account-menu-actions{display:none}

.station-history-tabs{display:flex;gap:8px;margin:12px 0}.station-history-tabs button{min-height:44px}.station-history-tabs button[aria-pressed="true"]{background:#171717;color:#fff}.station-history-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.station-history-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 180px}.station-history-filters input{width:100%;min-width:0;box-sizing:border-box}.station-history-filters button{min-height:44px}.station-history-list{display:grid;gap:12px}.station-history-ticket{min-width:0;overflow-wrap:anywhere}.station-history-ticket .ticket-head{flex-wrap:wrap}.station-history-ticket p{margin:8px 0}.station-history-ticket summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.station-history-item{padding:12px 0;border-top:1px solid #ddd}.station-history-item .item-note{white-space:pre-wrap}.station-history-ticket .ticket-head h3{margin:0}.station-history-ticket details{margin-top:8px}@media(max-width:500px){.station-history-filters label{flex-basis:100%}.station-history-filters button{flex:1}.station-history-ticket{padding:14px}}

.preparation-stats{margin:16px 0;padding:18px;border:1px solid #d8ddd8;border-radius:14px;background:#f7f8f5}.preparation-stats h2{margin-top:0}.preparation-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.preparation-metric{display:flex;flex-direction:column;gap:6px}.preparation-metric strong{font-size:1.7rem}.preparation-stats summary{min-height:44px;cursor:pointer;line-height:1.4;padding:10px 0;box-sizing:border-box;font-weight:600}.preparation-table-wrap{overflow-x:auto;max-width:100%}.preparation-table{width:100%;border-collapse:collapse}.preparation-table th,.preparation-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #d8ddd8}.preparation-table th:not(:first-child),.preparation-table td:not(:first-child){white-space:nowrap}.preparation-table td:first-child{min-width:130px;overflow-wrap:anywhere}.preparation-table button{min-height:44px}@media(max-width:500px){.preparation-stats{padding:14px}.preparation-metrics{grid-template-columns:1fr}.preparation-table{font-size:.9rem}}
/* Keep unsent items visible beside the send action, including when scrolling. */
#draftState.draft-send-notice,.draft-reminders{background:#fff1ce;color:#633b00;border:2px solid #d18a14;border-radius:12px;padding:12px 14px;line-height:1.4;overflow-wrap:anywhere}
#draftState.draft-send-notice{flex:1 0 100%;min-width:0;margin:0;font-size:14px}
.draft-send-notice strong,.draft-reminders>strong{display:block;font-size:18px;font-weight:800}
.draft-send-notice span{display:block;margin-top:4px}
#draftState[data-tone="error"]{background:#fff0ed;color:#8c1919;border-color:#ad2929}
#draftState[data-tone="sending"]{background:#edf3f7;color:#294b5e;border-color:#6f8e9e}
#currentOrderPanel #sendOrder.needs-send{background:#995700;color:#fff;box-shadow:0 0 0 2px #edc46b;white-space:normal}
.draft-reminders{margin-bottom:16px}.draft-reminders>p{font-size:14px;margin:6px 0 10px}
.draft-reminder-actions{display:flex;flex-wrap:wrap;gap:8px}.draft-reminder-button{min-height:48px;max-width:100%;background:#995700;color:#fff;font-weight:750;white-space:normal;overflow-wrap:anywhere;text-align:left}
@media(max-width:700px){#draftState.draft-send-notice{padding:10px 12px}.draft-send-notice strong,.draft-reminders>strong{font-size:17px}.draft-reminder-button{flex:1 1 160px}}
/* One statement list for current bills and earlier guest debt. */
.guest-account-dialog .guest-unpaid-items{grid-column:1/-1;min-width:0;border:1px solid #d5ddd8;border-radius:12px;padding:14px;margin:10px 0;background:#fff}
.guest-unpaid-items>h3{font-size:18px;margin:0 0 8px}.guest-unpaid-item{border-bottom:1px solid var(--line);padding:12px 0;min-width:0}.guest-unpaid-item-main{display:flex;justify-content:space-between;align-items:start;gap:12px}.guest-unpaid-item-main>strong:first-child{min-width:0;overflow-wrap:anywhere}.guest-unpaid-item-main>strong:last-child{flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}
.guest-unpaid-item .muted,.guest-unpaid-source{font-size:12px;line-height:1.45;color:var(--muted);margin:5px 0 0;white-space:pre-line;overflow-wrap:anywhere}.guest-unpaid-item-notes{font-size:13px;color:var(--muted);margin-top:5px}.guest-unpaid-item-notes>summary{cursor:pointer;min-height:32px;padding:6px 0}.guest-unpaid-item-notes p{white-space:pre-wrap;overflow-wrap:anywhere}.guest-unpaid-notice{padding:10px;background:#fff1ce;color:#633b00;border-radius:8px;font-size:13px}
.guest-source-bills>summary,.guest-unpaid-bills>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.guest-unpaid-items .guest-charge-final{font-size:19px}.guest-unpaid-items .guest-charge-totals{margin-top:12px}
@media(max-width:500px){.guest-account-dialog .guest-unpaid-items{padding:12px}.guest-unpaid-item-main{gap:8px;font-size:15px}.guest-unpaid-items .guest-charge-final{font-size:18px}}

/* Supplier balances: one supplier per card, native currencies kept separate. */
.supplier-balance-search{display:flex;flex-direction:column;gap:6px;max-width:440px;margin:16px 0}.supplier-balance-search input{width:100%;box-sizing:border-box;min-height:44px}
.supplier-balance-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;align-items:start;margin:12px 0 24px}.supplier-balance-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow-wrap:anywhere}.supplier-balance-card h3{margin:0 0 6px}.supplier-balance-card p{font-size:14px;margin:6px 0}.supplier-balance-card button{margin-top:10px;min-height:44px}
.supplier-balance-amount{display:flex;flex-direction:column;gap:4px;padding:10px 0}.supplier-balance-amount>strong{font-size:21px}.supplier-balance-amount>span{font-size:14px}.supplier-balance-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:8px 0}.supplier-balance-total>strong{font-size:20px}
/* Rooms share the guest account identity and balance shown in Open. */
#tablesView .room-account-card .room-total-due strong{font-size:25px}#tablesView .room-account-card .open-account-sums>div:not(.room-total-due){font-size:13px;color:var(--muted)}#tablesView .room-account-card .open-account-sums>div:not(.room-total-due) strong{font-size:15px}#tablesView .room-account-card .room-statement-button{grid-column:1/-1;flex-basis:100%;background:#f0f0ec;color:var(--ink);font-size:14px;min-height:44px;padding:10px 12px;text-align:center}#tablesView .room-account-card .table-guest-unlinked{font-size:13px;background:#fff1ce;padding:8px 10px;border-radius:8px;color:#77500b}

/* Shared drafts reuse the existing Tables reminder and compact order facts. */
#draftReminders{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .8rem;padding:.65rem .85rem}#draftReminders[hidden]{display:none}#draftReminders>p{flex-basis:100%;margin:0;font-size:.85rem}#draftReminders>button{margin-left:auto;padding:.5rem .8rem;min-height:40px}.draft-sync-status{font-size:.85rem;color:var(--muted,#666);display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;grid-column:1/-1}.draft-sync-status[hidden]{display:none}.draft-sync-status button{padding:.3rem .5rem;min-height:36px}.guest-link-recovery{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;background:#fff4d6;border:1px solid #d6ab4f;border-radius:10px;padding:.6rem .8rem;margin:.5rem 0;font-size:.9rem}.guest-link-recovery[hidden]{display:none}.guest-link-recovery button{min-height:40px;padding:.45rem .7rem}
.item-options-editor{margin:12px 0;padding:12px;border:1px solid var(--border,#d8dedc);border-radius:12px;grid-column:1/-1}
.item-options-editor summary{cursor:pointer;font-weight:650;min-height:28px}
.item-option-groups{display:grid;gap:12px;margin:12px 0}
.item-option-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px;background:var(--bg,#f6f7f5);border-radius:10px}
.item-option-group label,.item-options-dialog label{display:grid;gap:6px;min-width:0}
.item-option-group textarea{box-sizing:border-box;width:100%;font:inherit;padding:10px;border:1px solid #ccd4d0;border-radius:8px;resize:vertical}
.item-option-required{display:flex!important;align-items:center;gap:8px}
.item-option-required input{width:auto!important;min-height:20px}
.item-options-presets{display:flex;flex-wrap:wrap;gap:8px}
.item-options-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;max-height:85vh;overflow:auto}
.item-options-dialog form{display:grid;gap:14px}.item-options-dialog h2{margin:0}.item-options-dialog select{width:100%;min-height:44px}
.item-options-change{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere;margin:6px 0}
@media(max-width:540px){.item-option-group{grid-template-columns:minmax(0,1fr)}}

.settings-fields .item-option-required{flex-direction:row;align-items:center;justify-content:flex-start}.item-options-dialog{border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);background:var(--card);box-shadow:var(--shadow)}.item-options-dialog::backdrop{background:rgba(0,0,0,.5)}
.item-options-dialog select{font:inherit;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;color:var(--ink)}
.finance-workbook-table .workbook-expense-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:11px;line-height:1.4;color:var(--muted);margin-top:3px;font-weight:400}
.bill-dialog label.discount-item-check{margin:0;display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.bill-dialog .discount-item-check input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px;margin:0;appearance:auto;accent-color:#36755b}.bill-dialog .discount-selected-list{max-height:16vh;overflow:auto;margin-bottom:10px}.bill-dialog .discount-quote{margin-top:12px}.bill-dialog .discount-item-selection{margin-bottom:4px}
