:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#1d2925;background:#f7f8f6;font-synthesis:none;text-rendering:optimizeLegibility;--green:#246b5c;--green-2:#e5f2ed;--ink:#1d2925;--muted:#78837f;--line:#e7ebe7;--surface:#fff;--amber:#a86a12;--amber-bg:#fff4df;--blue:#426ca4;--blue-bg:#eaf1fb;--red:#b44b40;--shadow:0 8px 26px rgba(33,58,47,.055)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.layout{min-height:100vh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;padding:28px 18px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:-.4px;font-weight:600;margin:0 8px 43px}.brand b{color:var(--green)}.brand small{display:block;color:#9aa29f;font-size:9px;letter-spacing:1.5px;margin-top:3px;font-weight:600}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--green);color:#fff;font-size:23px}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;display:flex;gap:14px;align-items:center;text-align:left;color:#64716c;font-weight:500;padding:13px 14px;border-radius:12px;min-height:47px}.nav-item span{font-size:20px;width:23px;text-align:center}.nav-item:hover{background:#f5f7f4}.nav-item.active{color:var(--green);background:var(--green-2);font-weight:600}.side-user{display:flex;align-items:center;gap:11px;margin-top:auto;padding:12px 5px 3px;border-top:1px solid var(--line)}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f6ebd5;color:#8a631c;font-weight:700}.user-lines{min-width:0;flex:1}.user-lines b,.user-lines small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-lines b{font-size:12px}.user-lines small{font-size:10px;color:var(--muted);margin-top:3px}.icon-button{border:0;background:transparent;color:#718078;font-size:20px;width:38px;height:38px;border-radius:10px}.icon-button:hover{background:#f1f4f1}.main{margin-left:244px;padding:30px clamp(22px,4vw,58px) 60px;max-width:1600px}.topbar{height:66px;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.topbar h1{font-size:25px;letter-spacing:-.7px;margin:4px 0 0}.eyebrow{font-size:9px;letter-spacing:1px;font-weight:600;color:#9aa29f}.connection{font-size:11px;color:#66736e;padding:9px 13px;border:1px solid var(--line);border-radius:30px;background:#fff}.connection i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#50a780;margin-right:6px}.mobile-logout,.mobile-nav{display:none}.greeting{display:flex;justify-content:space-between;align-items:center;margin:20px 0 23px}.greeting h2{font-size:21px;margin:0 0 6px;letter-spacing:-.6px}.greeting p,.section-heading p{font-size:12px;color:var(--muted);margin:0}.date-chip{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:10px;color:#60716a;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 34px}.metric{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 19px;box-shadow:var(--shadow);min-height:145px}.metric-icon{position:absolute;right:18px;top:17px;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;font-size:18px}.green{color:var(--green);background:var(--green-2)}.blue{color:var(--blue);background:var(--blue-bg)}.amber{color:var(--amber);background:var(--amber-bg)}.red{color:var(--red);background:#fae9e7}.metric-label{color:#6e7b76;font-size:11px;font-weight:500}.metric strong{font-size:27px;letter-spacing:-1px;margin-top:4px}.metric strong small{font-weight:400;font-size:14px;color:#a0a9a5}.metric-foot{font-size:10px;color:#8b9691}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:31px 0 15px}.section-heading h2{font-size:15px;margin:0 0 5px;letter-spacing:-.3px}.section-heading.compact{margin:0 0 14px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;text-align:left;display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto auto;column-gap:13px;box-shadow:var(--shadow);color:var(--ink)}.quick-card:hover,.table-card:hover,.menu-item:hover{border-color:#b9d8cd;transform:translateY(-1px)}.quick-symbol{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:20px}.quick-card b{font-size:13px;margin:2px 0 4px}.quick-card small{font-size:10px;color:var(--muted)}.arrow{position:absolute;right:16px;top:21px;color:#98a29d}.notice-card{margin-top:28px;border:1px solid #dce8df;background:#f0f6f1;border-radius:12px;padding:11px 14px;display:flex;gap:10px;align-items:center;color:var(--green)}.notice-card p{font-size:10px;color:#5a7267;margin:0;line-height:1.6}.restaurant-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,.8fr);gap:22px;align-items:start}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.table-card{position:relative;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 11px;min-height:78px;transition:.15s}.table-card b{display:block;font-size:12px;margin:10px 0 4px}.table-card small{font-size:9px;color:var(--muted)}.table-card.occupied{border-color:#e8d7b7;background:#fffcf5}.table-card.selected{outline:2px solid var(--green);outline-offset:1px}.table-state{position:absolute;top:9px;right:8px;font-size:8px;color:var(--green);background:var(--green-2);border-radius:20px;padding:3px 5px}.occupied .table-state{color:var(--amber);background:var(--amber-bg)}.menu-heading{margin-top:27px!important}.search-input{width:130px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:10px}.menu-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid #f0f2ef;background:#fff;color:var(--ink);transition:.15s}.menu-item:last-child{border-bottom:0}.menu-item>span:first-child{flex:1}.menu-item b,.menu-item small{display:block}.menu-item b{font-size:11px}.menu-item small{font-size:9px;color:var(--muted);margin-top:4px}.menu-item strong{font-size:10px;white-space:nowrap}.add-mark{color:var(--green);font-size:18px;width:24px;text-align:center}.order-panel,.form-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.order-panel{position:sticky;top:18px}.status-pill{font-size:9px;padding:5px 8px;border-radius:30px;background:#edf0ed;color:#68736e;white-space:nowrap}.status-pill.green{background:var(--green-2)}.status-pill.blue{background:var(--blue-bg)}.status-pill.amber{background:var(--amber-bg)}.status-pill.red{background:#fae9e7}.order-lines{min-height:78px;max-height:320px;overflow:auto;margin:15px 0}.order-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2ef}.order-line b,.order-line small{display:block}.order-line b{font-size:10px}.order-line small{font-size:9px;color:var(--muted);margin-top:4px}.order-line strong{font-size:10px;white-space:nowrap}.total-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 0;margin:9px 0 3px;font-size:11px}.total-row strong{font-size:16px}.order-empty{display:grid;place-items:center;min-height:190px;text-align:center;color:#87938e;padding:20px}.order-empty span{font-size:30px;color:#9caaa4}.order-empty p{max-width:210px;font-size:10px;line-height:1.7}.button{min-height:42px;border:0;border-radius:10px;padding:10px 15px;font-size:11px;font-weight:600;transition:.15s}.button:hover{filter:brightness(.97);transform:translateY(-1px)}.button.primary{color:#fff;background:var(--green)}.button.secondary{background:#edf3ef;color:#285e51}.button.outline{background:#fff;border:1px solid #d7e1dc;color:#43685b}.button.full{display:block;width:100%;margin-top:9px}.button.small{min-height:34px;padding:8px 12px;margin-top:12px}.two-column{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;align-items:start}.booking-list{display:grid;gap:10px}.booking-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}.booking-top{display:flex;align-items:center;justify-content:space-between}.booking-top b{font-size:12px}.booking-meta{display:flex;gap:15px;color:#64716b;font-size:9px;margin:12px 0}.date-range{font-size:11px;font-weight:600}.date-range span{color:#a6afaa;padding:0 7px}.booking-price{margin-top:10px;color:var(--green);font-weight:600;font-size:12px}.booking-price small{font-weight:400;color:var(--muted);font-size:9px}.form-stack{display:grid;gap:12px}.form-stack label{display:grid;gap:6px;font-size:10px;color:#5d6c65;font-weight:500}.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid #dfe5e0;background:#fff;border-radius:9px;padding:10px 11px;min-height:40px;color:var(--ink);font-size:11px;outline:none}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:#73a995;box-shadow:0 0 0 3px #e4f1eb}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history-list{display:grid;gap:8px}.history-row{display:grid;grid-template-columns:37px minmax(150px,1fr) auto auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.payment-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf3ef;color:var(--green);font-size:17px}.history-row b,.history-row small{display:block}.history-row b{font-size:10px}.history-row small{font-size:9px;color:var(--muted);margin-top:4px}.history-row strong{font-size:11px;text-align:right}.history-row strong small{font-size:8px}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-card h2,.form-card h2{font-size:14px}.info-card p,.muted,.small-muted{font-size:10px;line-height:1.7;color:var(--muted)}.info-card a{font-size:10px;color:var(--green)}.small-muted{font-size:9px}.empty-state{display:grid;justify-items:center;text-align:center;padding:75px 20px;background:#fff;border:1px solid var(--line);border-radius:15px}.empty-state h2{font-size:15px}.empty-state p{font-size:11px;color:var(--muted)}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eff5f1;color:var(--green);font-size:22px}.empty-inline{padding:22px;text-align:center;color:var(--muted);font-size:10px;background:#fff;border:1px dashed #dbe3dd;border-radius:12px}.toast{position:fixed;right:24px;bottom:24px;z-index:10;max-width:min(400px,calc(100vw - 30px));padding:13px 16px;background:#303c36;color:#fff;border-radius:11px;box-shadow:0 7px 25px #0002;font-size:11px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 35%,#eaf2ec 0%,#f7f8f6 55%)}.auth-card{width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 20px 60px #183e2e12}.auth-card .brand{margin:0 0 30px}.auth-card h1{font-size:20px;margin:0 0 8px}.auth-card>p{font-size:11px;color:var(--muted);margin:0 0 20px}.auth-card .text-button{margin-top:17px}.text-button{border:0;background:none;padding:5px 0;color:var(--green);font-size:10px}.full{width:100%}.auth-foot{position:fixed;bottom:12px;font-size:9px;color:#96a19b}.error-text{font-size:10px;color:var(--red)!important}.hidden{display:none!important}.loading{display:grid;place-items:center;min-height:100vh;color:var(--muted);font-size:12px}.skeleton{padding:30px;color:var(--muted)}.busy{cursor:progress}.busy button{pointer-events:auto;opacity:1}
@media(max-width:1080px){.sidebar{width:215px}.main{margin-left:215px;padding-left:26px;padding-right:26px}.restaurant-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr)}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics{gap:9px}.metric{padding:16px 14px}}
@media(max-width:760px){.sidebar{display:none}.main{margin:0;padding:18px 16px calc(88px + env(safe-area-inset-bottom))}.topbar{height:55px;margin-bottom:17px}.topbar h1{font-size:21px}.connection{font-size:0;padding:10px}.connection i{margin:0}.mobile-logout{display:block}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom));z-index:6;justify-content:space-around}.mobile-nav .nav-item{display:grid;justify-items:center;gap:2px;min-height:48px;padding:3px 8px;font-size:8px;border-radius:9px}.mobile-nav .nav-item span{font-size:17px}.greeting{margin:13px 0 17px;align-items:start}.greeting h2{font-size:18px}.greeting p{font-size:10px}.date-chip{font-size:9px;padding:8px}.metrics{grid-template-columns:1fr 1fr;margin:14px 0 26px}.metric{min-height:118px;padding:14px}.metric:nth-child(3){grid-column:1/-1;min-height:105px}.metric strong{font-size:23px}.metric-icon{right:12px;top:12px;width:29px;height:29px}.metric-label{font-size:9px;max-width:115px}.metric-foot{font-size:8px}.quick-grid{gap:9px}.quick-card{padding:12px;grid-template-columns:33px 1fr;column-gap:9px}.quick-symbol{width:33px;height:33px;font-size:17px}.quick-card b{font-size:10px}.quick-card small{font-size:8px;line-height:1.5}.arrow{right:8px;top:8px}.notice-card{margin-top:19px;align-items:flex-start}.notice-card p{font-size:9px}.restaurant-grid,.two-column,.settings-grid{grid-template-columns:1fr;gap:14px}.restaurant-grid>div{min-width:0}.order-panel{position:static;order:-1}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.table-card{min-height:71px;padding:10px}.table-card b{font-size:10px}.table-card small{font-size:8px}.table-state{font-size:7px;right:5px}.menu-heading{margin-top:20px!important}.search-input{width:105px}.menu-item{padding:11px 9px}.menu-item b{font-size:10px}.menu-item strong{font-size:9px}.order-lines{max-height:220px}.history-row{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:10px}.history-row>.status-pill{grid-column:2/-1;justify-self:start}.history-row b{font-size:9px}.history-row small{font-size:8px}.history-row strong{font-size:9px}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics .metric:nth-child(3){grid-column:auto}.section-heading h2{font-size:13px}.form-card,.info-card,.order-panel{padding:15px}.booking-card{padding:13px}.toast{right:12px;bottom:calc(73px + env(safe-area-inset-bottom));left:12px;max-width:none}.auth-card{padding:24px}.mobile-nav .nav-item:nth-child(5),.mobile-nav .nav-item:nth-child(6){display:none}}
@media print{@page{size:80mm auto;margin:4mm}body{background:#fff;color:#000;font:11px Arial,sans-serif}.sidebar,.topbar,.mobile-nav,.toast,button,.notice-card,.section-heading{display:none!important}.main{margin:0;padding:0;max-width:none}.restaurant-grid{display:block}.restaurant-grid>div{display:none}.order-panel{display:block;border:0;box-shadow:none;padding:0;position:static}.order-panel .status-pill{display:none}.order-panel .section-heading{display:block!important;margin:0!important}.order-panel .section-heading p:after{content:' · BILL TÍNH TIỀN';font-weight:bold}.order-line{padding:5px 0}.order-line b,.order-line strong{font-size:11px}.order-line small{font-size:9px}.total-row{border-top:1px dashed #333;font-size:12px}.total-row strong{font-size:14px}.order-panel:after{content:'Cảm ơn quý khách!\A\AĐây là bill tính tiền nội bộ, không phải hóa đơn điện tử.';white-space:pre-wrap;display:block;text-align:center;font-size:9px;margin-top:15px}}
.toast{left:50%;right:auto;bottom:24px;transform:translateX(-50%);width:max-content;max-width:min(420px,calc(100vw - 24px));text-align:center}.toast-success{background:#246b5c}.toast-error{background:#a9433b}@media(max-width:760px){.toast{left:50%;right:auto;bottom:calc(73px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 24px);transform:translateX(-50%)}}
.order-lines{max-height:none;min-height:0;overflow:visible}.order-line{align-items:center}.remove-item-button{flex-shrink:0;min-height:34px;border:1px solid #f0d6d3;border-radius:9px;background:#fff8f7;color:var(--red);padding:6px 8px;font-size:9px;font-weight:600}.remove-item-button:active{background:#fae9e7}.cancelled-order-group{margin:10px 0;border-top:1px dashed var(--line);padding-top:8px}.cancelled-order-group summary{cursor:pointer;color:var(--muted);font-size:9px;padding:4px 0}.cancelled-order-group[open] .order-line{opacity:.75}

@media(max-width:760px){.mobile-nav .nav-item:nth-child(5),.mobile-nav .nav-item:nth-child(6){display:grid}.mobile-nav .nav-item{padding-inline:4px;min-width:0;font-size:8px}}

.connection.offline{color:#9a443b;border-color:#ecd0cc;background:#fff4f2}.connection.offline i{background:#bd5348}

.report-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 20px}.report-tools form{display:flex;align-items:end;gap:9px}.report-tools label{display:grid;gap:5px;color:var(--muted);font-size:9px}.report-tools input{min-height:39px;padding:8px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink)}@media(max-width:760px){.report-tools,.report-tools form{align-items:stretch;flex-direction:column}.report-tools form{display:grid;grid-template-columns:1fr 1fr}.report-tools form button{grid-column:1/-1}.report-tools>.button{width:100%}}

.catalog-editor{grid-column:1/-1}.catalog-price-list{display:grid;gap:7px;margin-top:12px}.catalog-price-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 130px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.catalog-name{display:grid;gap:4px;font-size:9px;color:var(--muted)}.catalog-name input{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;color:var(--ink)}.catalog-name input:focus{outline:2px solid #e4bd54;outline-offset:1px}.catalog-name small{display:block;margin-top:3px;font-size:9px;color:var(--muted);line-height:1.5}.price-field{display:grid;gap:4px;font-size:9px;color:var(--muted)}.price-field input{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;color:var(--ink)}.availability-field{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.availability-field input{accent-color:var(--green)}.catalog-save{display:block;margin:16px 0 2px auto;min-width:150px}.order-item-info{flex:1;min-width:0}.qty-stepper{display:flex;align-items:center;gap:7px;flex-shrink:0}.qty-stepper button{width:30px;height:30px;border:1px solid #dce6e0;border-radius:9px;background:#f7faf8;color:var(--green);font-size:17px;line-height:1}.qty-stepper button:active{background:var(--green-2)}.qty-stepper b{min-width:18px;text-align:center;font-size:11px}.qty-stepper button:disabled{opacity:.35}@media(max-width:760px){.catalog-editor{grid-column:auto}.catalog-price-row{grid-template-columns:minmax(0,1fr) auto;gap:9px}.catalog-name{grid-column:1/-1}.price-field{grid-column:1/2}.availability-field{grid-column:2;grid-row:2;justify-self:end}.catalog-save{width:100%}.qty-stepper{gap:5px}.qty-stepper button{width:34px;height:34px}}

.order-meta{font-size:10px;color:var(--muted);margin-top:12px}.dialog-backdrop{position:fixed;inset:0;z-index:20;background:#18251f77;display:grid;place-items:center;padding:18px}.dialog-card{position:relative;width:min(100%,390px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 20px 60px #0003}.dialog-card h2{font-size:17px;margin:0 28px 8px 0}.dialog-card>p{margin:0 0 18px}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#f1f4f1;border-radius:50%;width:32px;height:32px;font-size:20px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}.dialog-card .error-text{margin:0;color:var(--red)}
.order-group{margin:10px 0}.order-group-title{display:block;font-size:9px;letter-spacing:.2px;color:var(--green);padding:5px 0;border-bottom:1px solid var(--line)}.pending-order-group .order-group-title{color:var(--amber)}

/* Hospitality workspace base theme */
:root{
  font-family:'Be Vietnam Pro',sans-serif;color:#18332d;background:#f4f7f4;font-synthesis:none;text-rendering:optimizeLegibility;
  --green:#176b57;--green-2:#e5f2ec;--ink:#18332d;--muted:#667a73;--line:#e1e9e4;--surface:#fff;
  --amber:#98600f;--amber-bg:#fff2d9;--blue:#315f93;--blue-bg:#eaf1fa;--red:#a84236;--shadow:0 12px 32px rgba(26,61,48,.07)
}
body{min-width:320px;background:#f4f7f4;color:var(--ink);font-size:15px;line-height:1.55}
button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}
.layout{min-height:100vh;background:radial-gradient(ellipse at 90% 0%,#edf4ee 0,transparent 35%),#f4f7f4}
.sidebar{width:258px;padding:30px 18px 20px;background:#123e35;border:0;color:#f8fbf8;box-shadow:8px 0 30px rgba(16,50,41,.08)}
.brand{gap:13px;margin:0 8px 46px;color:#18332d;font-size:18px;letter-spacing:-.5px;font-weight:700}.sidebar .brand{color:#fff}
.brand b{color:#e6b75f}.brand small{color:#afc6bc;font-size:9px;letter-spacing:1.55px}
.brand-mark{width:44px;height:44px;border-radius:15px;background:#e4b458;color:#173c32;box-shadow:0 7px 18px #071f1b38}
.sidebar nav{gap:6px}.nav-item{gap:13px;min-height:48px;padding:12px 14px;border-radius:12px;color:#c5d8d0;font-size:13px;font-weight:500;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-icon{display:grid;place-items:center;width:22px;height:22px;flex:none}.ui-icon{display:block;width:21px;height:21px;flex:none}
.sidebar .nav-item:hover{background:#1c5045;color:#fff}.sidebar .nav-item.active{color:#173e34;background:#e7f1eb;font-weight:700;box-shadow:inset 3px 0 #dfb250}
.side-user{border-color:#386357;padding:14px 4px 2px}.side-user .user-lines b{font-size:12px;color:#fff}.side-user .user-lines small{font-size:10px;color:#b2c9bf}
.avatar{width:39px;height:39px;background:#edc779;color:#29453c}.sidebar .icon-button{color:#c0d4cb}.sidebar .icon-button:hover{background:#28584d;color:#fff}
.main{margin-left:258px;max-width:none;padding:32px clamp(24px,4vw,64px) 64px}
.topbar{height:auto;min-height:72px;margin-bottom:28px;padding-bottom:21px;border-bottom:1px solid #e3eae5}
.eyebrow{font-size:10px;letter-spacing:1px;color:#778a82;font-weight:600}.topbar h1{font-size:29px;line-height:1.25;letter-spacing:-1px;margin:5px 0 0;font-weight:700;color:#163c32}
.connection{padding:9px 14px;border:1px solid #dce8df;background:#fff;color:#3c6958;font-size:11px;font-weight:600;box-shadow:0 4px 14px #173e3208}
.connection i{background:#38a374;box-shadow:0 0 0 3px #d9f0e4}.connection.offline i{background:#c35543;box-shadow:0 0 0 3px #f8e3df}
.mobile-logout,.mobile-nav{display:none}
.greeting{margin:12px 0 26px}.greeting h2{font-size:22px;font-weight:700;color:#193c32;letter-spacing:-.55px}.greeting p,.section-heading p{font-size:13px;line-height:1.6;color:#6b7d75}
.date-chip{padding:10px 14px;border-radius:12px;background:#fff;border-color:#e1e9e4;color:#546d62;font-size:12px;font-weight:600}
.metrics{gap:16px;margin:22px 0 36px}.metric{min-height:150px;padding:22px 21px;border-color:#e4ebe6;border-radius:18px;box-shadow:0 8px 24px rgba(31,63,49,.05);transition:transform .18s ease,box-shadow .18s ease}
.metric:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,63,49,.09)}.metric-label{font-size:12px;color:#647970;font-weight:600}.metric strong{font-size:30px;color:#193b32;letter-spacing:-1px}.metric strong small{font-size:14px;color:#8b9a93}.metric-foot{font-size:11px;color:#76877f}
.metric-icon,.quick-symbol{border-radius:13px}.metric-icon{width:39px;height:39px;display:grid;place-items:center;font-size:0}.metric-icon .ui-icon,.quick-symbol .ui-icon{width:21px;height:21px}
.green{color:#176b57;background:#e5f2ec}.blue{color:#315f93;background:#eaf1fa}.amber{color:#98600f;background:#fff2d9}.red{color:#a84236;background:#fae9e7}
.section-heading{margin:34px 0 16px}.section-heading h2{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin:0 0 5px;color:#183d32}.section-heading.compact{margin-bottom:16px}
.quick-grid{gap:16px}.quick-card{padding:19px;border-color:#e3ebe5;border-radius:17px;box-shadow:0 7px 20px rgba(31,63,49,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.quick-card:hover,.table-card:hover,.menu-item:hover{border-color:#a9c9b9;transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,63,49,.07)}
.quick-symbol{width:46px;height:46px}.quick-card b{font-size:13px;color:#1a3c32}.quick-card small{font-size:11px;color:#6c7f76;line-height:1.55}.arrow{font-size:19px;color:#698176}
.notice-card{margin-top:28px;padding:13px 16px;border-radius:14px;background:#eaf3ec;border-color:#d8e7dc}.notice-card p{font-size:11px;color:#4d6b5b;line-height:1.7}
.restaurant-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,.85fr);gap:24px}.table-grid{gap:11px}.table-card{min-height:91px;padding:15px 13px;border-radius:15px;border-color:#e2eae5;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.table-card b{font-size:13px;margin:14px 0 3px;color:#203a31}.table-card small{font-size:10px;color:#708279}.table-card.occupied{border-color:#e9d5aa;background:#fffbf3}.table-card.selected{outline:2px solid #34866d;outline-offset:2px}
.table-state{top:10px;right:9px;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:600;color:#176b57;background:#e5f2ec}.occupied .table-state{color:#8c5b13;background:#fff0d3}
.menu-heading{margin-top:32px!important}.search-input{width:190px;min-height:42px;padding:10px 13px;border:1px solid #dce6df;border-radius:11px;background:#fff;font-size:12px;color:#233e34}.search-input::placeholder{color:#87968f}.search-input:focus{outline:0;border-color:#55a083;box-shadow:0 0 0 3px #dff0e8}
.menu-list{border-radius:16px;border-color:#e1eae4;box-shadow:0 7px 20px rgba(31,63,49,.035)}.menu-item{min-height:64px;padding:13px 15px;gap:12px;transition:background .16s ease,border-color .16s ease}
.menu-item b{font-size:12px;color:#213b31}.menu-item small{font-size:10px;line-height:1.55;color:#74857d}.menu-item strong{font-size:12px;color:#176b57}.add-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf6f0;font-size:21px;font-weight:500}
.order-panel,.form-card,.info-card{padding:22px;border-radius:19px;border-color:#e3ebe5;box-shadow:0 10px 28px rgba(31,63,49,.055)}.order-panel{top:20px}.order-panel .section-heading h2{font-size:17px}
.status-pill{padding:6px 10px;border-radius:30px;font-size:10px;font-weight:600;background:#edf1ee;color:#586b61}.status-pill.green{color:#176b57;background:#e5f2ec}.status-pill.blue{color:#315f93;background:#eaf1fa}.status-pill.amber{color:#8e5b12;background:#fff2d9}.status-pill.red{color:#a84236;background:#fae9e7}
.order-meta{font-size:12px;color:#6a7c74;margin-top:14px}.order-lines{min-height:82px;max-height:350px;margin:16px 0}.order-line{gap:10px;padding:12px 0;border-color:#edf1ee}.order-line b{font-size:12px;color:#213a31}.order-line small{font-size:10px;color:#75857d;line-height:1.55}.order-line strong{font-size:11px;color:#28473b}
.order-empty{min-height:190px}.order-empty p{font-size:11px;line-height:1.7}.total-row{padding:16px 0;font-size:12px;color:#566a60}.total-row strong{font-size:19px;color:#173e33}
.button{min-height:46px;border-radius:12px;padding:11px 17px;font-size:12px;font-weight:700;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.button.primary{background:#176b57;color:#fff;box-shadow:0 5px 12px rgba(23,107,87,.16)}.button.primary:hover{filter:brightness(1.06);box-shadow:0 8px 18px rgba(23,107,87,.2)}
.button.secondary{background:#e8f2ec;color:#245b49}.button.outline{background:#fff;border-color:#d7e4db;color:#376957}.button.full{margin-top:10px}
.table-card,.menu-item,.quick-card,.nav-item,.button,.icon-button,.qty-stepper button{cursor:pointer}
.booking-card,.history-row{border-color:#e2eae5;border-radius:16px;box-shadow:0 5px 16px rgba(31,63,49,.035)}.booking-card{padding:18px}.booking-top b{font-size:13px;color:#203a31}.booking-meta{font-size:11px;color:#6e8077}.date-range{font-size:12px}.booking-price{font-size:13px}.booking-price small{font-size:10px}
.form-stack{gap:15px}.form-stack label{gap:7px;color:#496258;font-size:12px;font-weight:600}.form-stack input,.form-stack select,.form-stack textarea{min-height:46px;padding:11px 13px;border:1px solid #dce6df;border-radius:11px;color:#1d3930;font-size:13px;background:#fff}
.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.price-field input:focus{outline:0;border-color:#489377;box-shadow:0 0 0 3px #dfefe7}
.field-row{gap:12px}.history-row{padding:15px}.history-row b{font-size:12px}.history-row small{font-size:10px}.history-row strong{font-size:12px}.payment-symbol{border-radius:12px}
.settings-grid{gap:18px}.info-card h2,.form-card h2{font-size:17px;color:#1a3d32}.info-card p,.muted,.small-muted{font-size:12px;line-height:1.7;color:#667a71}.small-muted{font-size:11px}.info-card a{font-size:12px;font-weight:600;color:#176b57}
.catalog-price-row{padding:13px 14px;border-radius:13px;border-color:#e3ebe5}.catalog-name b{font-size:12px;color:#213a31}.catalog-name small{font-size:10px;color:#71837a}.price-field{font-size:11px;font-weight:600}.price-field input{min-height:42px;padding:9px 11px;border-color:#dce6df;border-radius:10px;color:#1d3930;font-size:12px}.availability-field{font-size:11px;color:#536b60}.catalog-save{min-width:165px}
.qty-stepper{gap:8px}.qty-stepper button{width:38px;height:38px;border-radius:11px;background:#f2f7f3;border-color:#dbe7de;font-size:19px}.qty-stepper b{font-size:12px}.remove-item-button{min-height:36px;border-radius:9px;font-size:10px}
.toast{right:50%;bottom:24px;transform:translateX(50%);width:max-content;max-width:min(460px,calc(100vw - 32px));padding:13px 18px;border-radius:13px;font-size:12px;font-weight:600;box-shadow:0 12px 32px #102c2440}.toast-success{background:#173f35}.toast-error{background:#a84236}
.auth-wrap{background:radial-gradient(ellipse at 50% 32%,#e5efe7 0,#f4f7f4 62%)}.auth-card{border-color:#e1eae4;border-radius:24px;padding:34px;box-shadow:0 24px 65px rgba(18,62,53,.12)}.auth-card h1{font-size:24px;color:#173f35}.auth-card>p{font-size:13px}.auth-card .brand{margin:0 0 32px}.auth-foot{font-size:11px}
.empty-state,.empty-inline{border-radius:17px}.empty-state h2{font-size:18px}.empty-state p,.empty-inline{font-size:12px;color:#687d73;line-height:1.65}
.dialog-card{border-color:#e1eae4;border-radius:22px;padding:28px;box-shadow:0 24px 80px #0d2b2240}.dialog-card h2{font-size:20px;color:#173f35}.dialog-close{width:40px;height:40px;font-size:23px}.dialog-actions{gap:10px}
.icon-button{display:grid;place-items:center}.icon-button .ui-icon{width:19px;height:19px}.top-actions{display:flex;align-items:center;gap:12px}
:focus-visible{outline:3px solid #d9a944!important;outline-offset:3px}
@media(max-width:1100px) and (min-width:761px){.main{padding-inline:26px}.restaurant-grid{grid-template-columns:minmax(0,1.25fr) minmax(295px,.85fr);gap:17px}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{padding:18px 16px}.metric strong{font-size:26px}}
@media(max-width:760px){
  body{font-size:14px}.layout{background:#f4f7f4}.main{margin:0;padding:18px 16px calc(98px + env(safe-area-inset-bottom))}.topbar{min-height:60px;margin-bottom:19px;padding-bottom:15px}.topbar h1{font-size:23px}.eyebrow{font-size:9px}.connection{font-size:0;width:39px;height:39px;display:grid;place-items:center;padding:0}.connection i{margin:0}.mobile-logout{display:grid}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;min-height:68px;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e1e9e4;box-shadow:0 -8px 24px #163a2d0c;z-index:6;justify-content:space-around;backdrop-filter:blur(14px)}
  .mobile-nav .nav-item{display:grid;justify-items:center;align-content:center;gap:3px;min-width:54px;min-height:52px;padding:4px 8px;border-radius:12px;font-size:9px;color:#64776d}.mobile-nav .nav-item.active{color:#176b57;background:#eaf3ed;box-shadow:none}.mobile-nav .nav-icon{width:23px;height:23px}.mobile-nav .ui-icon{width:20px;height:20px}.mobile-nav .nav-label{white-space:nowrap;font-weight:600}
  .greeting{margin:12px 0 20px;align-items:flex-start}.greeting h2{font-size:19px}.greeting p{font-size:11px}.date-chip{font-size:10px;padding:8px 10px;white-space:nowrap}
  .metrics{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 27px}.metric{min-height:124px;padding:15px 13px;border-radius:16px}.metric:nth-child(3){grid-column:1/-1;min-height:110px}.metric strong{font-size:25px}.metric-icon{right:12px;top:12px;width:32px;height:32px}.metric-icon .ui-icon{width:18px;height:18px}.metric-label{font-size:10px;max-width:130px;line-height:1.45}.metric-foot{font-size:9px;line-height:1.5}.section-heading{margin:27px 0 13px}.section-heading h2{font-size:15px}.section-heading p{font-size:11px}.quick-grid{gap:9px}.quick-card{min-height:94px;padding:13px 11px;grid-template-columns:34px 1fr;column-gap:9px;border-radius:14px}.quick-symbol{width:34px;height:34px}.quick-symbol .ui-icon{width:18px;height:18px}.quick-card b{font-size:10px}.quick-card small{font-size:9px;line-height:1.5}.arrow{right:8px;top:8px;font-size:16px}
  .notice-card{margin-top:18px;padding:12px}.notice-card p{font-size:10px}.restaurant-grid,.two-column,.settings-grid{grid-template-columns:1fr;gap:14px}.restaurant-grid>div{min-width:0}.order-panel{position:static;order:-1;padding:17px;border-radius:17px}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.table-card{min-height:82px;padding:12px 9px;border-radius:13px}.table-card b{font-size:11px;margin-top:14px}.table-card small{font-size:9px}.table-state{font-size:8px;right:6px;top:8px}
  .menu-heading{margin-top:24px!important;align-items:flex-end;gap:9px}.menu-heading .section-heading p{max-width:195px}.search-input{width:min(42vw,175px);min-height:42px;font-size:11px;padding:9px 10px}.menu-list{border-radius:14px}.menu-item{min-height:61px;padding:11px 10px;gap:8px}.menu-item b{font-size:11px}.menu-item small{font-size:9px}.menu-item strong{font-size:10px}.add-mark{width:31px;height:31px}
  .order-lines{max-height:none;overflow:visible;margin:12px 0}.order-line{padding:10px 0}.order-line b{font-size:11px}.order-line small{font-size:9px}.qty-stepper button{width:36px;height:36px}.total-row{padding:13px 0}.total-row strong{font-size:18px}.button{min-height:46px;font-size:11px}.form-card,.info-card{padding:17px;border-radius:16px}.form-stack{gap:12px}.form-stack label{font-size:11px}.form-stack input,.form-stack select,.form-stack textarea{min-height:45px;font-size:12px}.field-row{gap:8px}.booking-card{padding:15px}.booking-top b{font-size:12px}.booking-meta{font-size:10px;gap:10px}.date-range{font-size:11px}.booking-price{font-size:12px}.history-row{grid-template-columns:35px minmax(0,1fr) auto;gap:9px;padding:12px}.history-row>.status-pill{grid-column:2/-1;justify-self:start}.history-row b{font-size:10px}.history-row small{font-size:9px;line-height:1.5}.history-row strong{font-size:10px}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics .metric:nth-child(3){grid-column:auto}
  .catalog-editor{grid-column:auto}.catalog-price-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px}.catalog-name{grid-column:1/-1}.catalog-name b{font-size:11px}.catalog-name small{font-size:9px}.price-field{grid-column:1/2;font-size:10px}.price-field input{min-height:42px}.availability-field{grid-column:2;grid-row:2;justify-self:end;font-size:10px}.catalog-save{width:100%;min-height:46px}.toast{bottom:calc(80px + env(safe-area-inset-bottom));left:50%;right:auto;max-width:calc(100vw - 28px);padding:12px 16px;font-size:11px}.auth-card{padding:26px 22px}.dialog-card{padding:25px 20px}.dialog-card h2{font-size:18px}
  .mobile-more-menu:not(.hidden){display:block;position:fixed;inset:0;z-index:7}.mobile-more-backdrop{position:absolute;inset:0;background:rgba(16,38,31,.32);backdrop-filter:blur(2px)}.mobile-more-card{position:absolute;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));width:min(245px,calc(100vw - 24px));display:grid;gap:5px;padding:9px;background:#fff;border:1px solid #e0e9e3;border-radius:17px;box-shadow:0 16px 38px rgba(13,46,35,.2)}.mobile-more-card .nav-item{display:flex;justify-content:flex-start;gap:12px;min-height:48px;padding:9px 12px;border-radius:11px;font-size:12px;text-align:left}.mobile-more-card .nav-item.active{background:#eaf3ed;color:#176b57}.mobile-nav .mobile-more-toggle{display:grid}
}
@media(max-width:370px){.main{padding-inline:12px}.mobile-nav .nav-item{min-width:48px;padding-inline:4px;font-size:8px}.quick-card{grid-template-columns:30px 1fr}.quick-symbol{width:30px;height:30px}.metrics{gap:8px}.metric{padding:13px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Reference direction: clear mobile type scale, bright surfaces, confident blue */
:root{
  color:#172033;background:#f4f6fa;--green:#245eea;--green-2:#edf3ff;--ink:#172033;--muted:#667085;--line:#e5e9f0;--surface:#fff;
  --blue:#3373dd;--blue-bg:#edf4ff;--shadow:0 8px 24px rgba(20,39,77,.055)
}
body,.layout{background:#f4f6fa;color:#172033}
.sidebar{background:#fff;color:#172033;border-right:1px solid #e7eaf0;box-shadow:4px 0 22px rgba(24,39,75,.035)}
.brand,.sidebar .brand{color:#172033}.brand b{color:#245eea}.brand small{color:#8690a2}
.brand-mark{background:#245eea;color:#fff;box-shadow:0 6px 15px rgba(36,94,234,.2)}
.sidebar .nav-item{color:#5e687b}.sidebar .nav-item:hover{background:#f5f7fb;color:#244eb7}.sidebar .nav-item.active{color:#245eea;background:#eef3ff;box-shadow:inset 3px 0 #245eea}
.side-user{border-color:#e7eaf0}.side-user .user-lines b{color:#172033}.side-user .user-lines small{color:#778195}.sidebar .icon-button{color:#667085}.sidebar .icon-button:hover{background:#f0f4fb;color:#245eea}
.main{background:transparent}.topbar{border-color:#e5e9f0}.topbar h1{color:#172033;font-size:28px;line-height:36px;letter-spacing:-.56px;font-weight:600}.eyebrow{font-size:12px;letter-spacing:.04em;color:#667085}
.connection{border-color:#e5e9f0;color:#48566c}.connection i{background:#35a875;box-shadow:0 0 0 3px #e4f6ed}
.greeting h2{font-size:24px;line-height:32px;letter-spacing:-.48px;font-weight:600;color:#172033}.greeting p,.section-heading p{font-size:14px;line-height:20px;color:#667085}
.date-chip{font-size:12px;border-color:#e5e9f0;color:#4c5870}.metrics{gap:16px}.metric{background:#fff;border-color:#e8ebf1;border-radius:18px;box-shadow:0 5px 18px rgba(26,43,81,.045)}.metric-label{font-size:14px;color:#4e5b70}.metric strong{font-size:28px;line-height:36px;letter-spacing:-.56px;color:#172033}.metric strong small{font-size:14px}.metric-foot{font-size:12px;line-height:18px;color:#667085}
.green{color:#245eea;background:#edf3ff}.blue{color:#3474dd;background:#edf4ff}.amber{color:#9b6207;background:#fff2db}.red{color:#b5473c;background:#fff0ed}
.section-heading h2{font-size:20px;line-height:28px;letter-spacing:-.2px;font-weight:600;color:#172033}.section-heading p{font-size:13px}
.quick-card,.table-card,.booking-card,.history-row,.form-card,.info-card,.order-panel,.menu-list{background:#fff;border-color:#e7eaf0;box-shadow:0 5px 18px rgba(26,43,81,.04)}
.quick-card{border-radius:18px;padding:20px}.quick-card b{font-size:14px}.quick-card small{font-size:12px;line-height:18px}.quick-symbol{border-radius:14px}.arrow{color:#5976bc}
.notice-card{background:#eef4ff;border-color:#dce8ff;color:#285dc7}.notice-card p{font-size:12px;line-height:18px;color:#405d9a}
.table-grid{gap:12px}.table-card{min-height:92px;border-radius:15px;padding:14px}.table-card b{font-size:14px;line-height:20px;color:#172033}.table-card small{font-size:12px;line-height:18px;color:#667085}.table-card.occupied{border-color:#f1d7ad;background:#fffaf1}.table-card.selected{outline-color:#245eea}.table-state{font-size:11px;padding:4px 8px;font-weight:600}
.menu-heading .section-heading h2{font-size:20px}.search-input{width:200px;min-height:44px;border-radius:12px;font-size:14px;padding:10px 13px}.menu-item{min-height:68px;padding:14px 15px}.menu-item b{font-size:14px;line-height:20px}.menu-item small{font-size:12px;line-height:18px}.menu-item strong{font-size:14px;color:#245eea}.add-mark{width:40px;height:40px;background:#edf3ff;color:#245eea;border-radius:12px;font-size:23px}
.order-panel,.form-card,.info-card{padding:22px;border-radius:18px}.order-panel .section-heading h2{font-size:20px}.order-meta{font-size:13px}.status-pill{font-size:12px;padding:6px 10px}.order-line{padding:12px 0}.order-line b{font-size:13px;line-height:20px}.order-line small{font-size:12px;line-height:18px}.order-line strong{font-size:13px}.total-row{font-size:14px}.total-row strong{font-size:20px;line-height:28px}.order-empty p{font-size:13px;line-height:20px}
.button{min-height:48px;padding:12px 18px;font-size:14px;border-radius:13px}.button.primary{background:#245eea;box-shadow:0 5px 14px rgba(36,94,234,.18)}.button.primary:hover{filter:brightness(1.04);box-shadow:0 8px 18px rgba(36,94,234,.22)}.button.secondary{background:#edf3ff;color:#2456c7}.button.outline{border-color:#d8dfec;color:#3259a9}.button.full{margin-top:11px}
.form-card h2,.info-card h2{font-size:20px;line-height:28px}.info-card p,.muted{font-size:14px;line-height:21px}.small-muted{font-size:12px;line-height:18px}.form-stack{gap:16px}.form-stack label{font-size:13px;line-height:20px}.form-stack input,.form-stack select,.form-stack textarea{min-height:48px;font-size:14px;border-radius:12px}.field-row{gap:12px}
.booking-card{padding:18px;border-radius:16px}.booking-top b{font-size:14px}.booking-meta{font-size:12px;line-height:18px}.date-range{font-size:14px}.booking-price{font-size:14px}.booking-price small{font-size:12px}.history-row{padding:16px;border-radius:15px}.history-row b{font-size:13px}.history-row small{font-size:12px;line-height:18px}.history-row strong{font-size:14px}.payment-symbol{font-size:18px}
.catalog-price-row{border-radius:14px;padding:14px}.catalog-name b{font-size:13px;line-height:19px}.catalog-name small{font-size:12px;line-height:18px}.price-field{font-size:12px}.price-field input{min-height:46px;font-size:14px;border-radius:11px}.availability-field{font-size:12px}.qty-stepper button{width:44px;height:44px;font-size:21px;border-radius:13px}.qty-stepper b{font-size:14px}.remove-item-button{min-height:40px;font-size:12px}
.auth-card h1{font-size:28px;line-height:36px;letter-spacing:-.56px}.auth-card>p{font-size:14px;line-height:21px}.auth-foot{font-size:12px}.toast{font-size:14px;line-height:20px}
.dialog-card h2{font-size:24px;line-height:32px}.dialog-card>p{font-size:14px;line-height:21px}.dialog-card .form-stack label{font-size:14px}
@media(max-width:760px){
  body{font-size:14px;line-height:20px}.main{padding:16px 16px calc(100px + env(safe-area-inset-bottom))}.topbar{min-height:62px;margin-bottom:18px;padding-bottom:14px}.topbar h1{font-size:24px;line-height:32px}.eyebrow{font-size:11px;line-height:16px}.connection{width:42px;height:42px}
  .greeting{margin:12px 0 20px}.greeting h2{font-size:22px;line-height:30px}.greeting p{font-size:13px;line-height:19px}.date-chip{font-size:11px}
  .metrics{gap:10px}.metric{min-height:132px;padding:15px 13px}.metric:nth-child(3){min-height:118px}.metric-label{font-size:12px;line-height:18px}.metric strong{font-size:24px;line-height:32px}.metric-foot{font-size:11px;line-height:16px}.metric-icon{width:34px;height:34px}.metric-icon .ui-icon{width:19px;height:19px}
  .section-heading{margin:25px 0 13px}.section-heading h2{font-size:18px;line-height:26px}.section-heading p{font-size:12px;line-height:18px}.quick-grid{gap:10px}.quick-card{min-height:100px;padding:13px 11px;grid-template-columns:36px 1fr;column-gap:10px}.quick-symbol{width:36px;height:36px}.quick-card b{font-size:12px;line-height:18px}.quick-card small{font-size:11px;line-height:16px}
  .restaurant-grid,.two-column,.settings-grid{gap:16px}.restaurant-grid{grid-template-columns:minmax(0,1fr)}.order-panel{padding:16px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.table-card{min-height:92px;padding:14px 12px}.table-card b{font-size:14px;line-height:20px;margin:14px 0 5px}.table-card small{font-size:12px;line-height:18px}.table-state{font-size:11px;padding:4px 8px}
  .menu-heading{align-items:flex-end;gap:8px}.menu-heading .section-heading p{max-width:190px}.search-input{width:min(43vw,180px);min-height:44px;font-size:13px}.menu-item{min-height:64px;padding:12px 10px}.menu-item b{font-size:13px;line-height:19px}.menu-item small{font-size:11px;line-height:16px}.menu-item strong{font-size:12px}.add-mark{width:38px;height:38px}
  .order-panel .section-heading h2{font-size:18px;line-height:26px}.order-line b{font-size:13px;line-height:19px}.order-line small{font-size:11px;line-height:17px}.order-line strong{font-size:12px}.qty-stepper{gap:6px}.qty-stepper button{width:44px;height:44px}.total-row{font-size:13px}.total-row strong{font-size:19px}.button{min-height:48px;font-size:13px}
  .form-card,.info-card{padding:17px}.form-card h2,.info-card h2{font-size:18px;line-height:26px}.info-card p,.muted{font-size:13px;line-height:20px}.form-stack label{font-size:12px;line-height:18px}.form-stack input,.form-stack select,.form-stack textarea{min-height:48px;font-size:14px}.booking-meta{font-size:11px}.booking-top b{font-size:13px}.history-row b{font-size:12px}.history-row small{font-size:11px}.history-row strong{font-size:12px}.small-muted{font-size:11px}
  .catalog-price-row{padding:12px}.catalog-name b{font-size:12px;line-height:18px}.catalog-name small{font-size:11px;line-height:16px}.price-field{font-size:11px}.availability-field{font-size:11px}.toast{font-size:12px;line-height:18px}.dialog-card h2{font-size:20px;line-height:28px}
}
@media(max-width:370px){.main{padding-inline:12px}.mobile-nav .nav-item{min-width:48px;font-size:8px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding-inline:10px}}

/* Final balance pass: keep desktop navigation compact and mobile navigation bottom-aligned. */
.sidebar{width:252px;padding-inline:16px}
.sidebar nav{min-width:0}
.sidebar .nav-item{min-width:0;flex-wrap:nowrap;gap:12px;padding:11px 12px;font-size:14px;line-height:20px}
.sidebar .nav-icon{width:22px;min-width:22px;flex:0 0 22px}
.sidebar .nav-label{display:block;min-width:0;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:20px}
.sidebar .nav-item{width:100%}
.sidebar .nav-item .nav-label{width:auto;flex:1 1 auto;text-align:left;overflow:visible;text-overflow:clip}
.main{margin-left:252px}
.topbar h1{font-size:26px;line-height:34px;letter-spacing:-.45px}
.section-heading h2,.form-card h2,.info-card h2{font-size:19px;line-height:27px;letter-spacing:-.2px}
.menu-item b,.table-card b{font-size:13px;line-height:19px}
.menu-item small,.table-card small{font-size:11px;line-height:16px}
.button{font-size:13px}
@media(max-width:760px){
  body{overflow-x:hidden}
  .sidebar{display:none!important}
  .main{display:block;width:100%;min-width:0;margin:0!important;padding:15px 15px calc(98px + env(safe-area-inset-bottom))!important}
  .topbar h1{font-size:23px;line-height:31px}
  .section-heading h2,.form-card h2,.info-card h2{font-size:17px;line-height:24px}
  .greeting h2{font-size:21px;line-height:29px}
  .greeting p,.section-heading p{font-size:12px;line-height:18px}
  .mobile-nav{display:flex!important;left:0;right:0;width:100%;justify-content:space-around;gap:0;padding-inline:3px}
  .mobile-nav .nav-item{flex:1 1 0;min-width:0;max-width:90px;white-space:nowrap;overflow:hidden;gap:3px;padding:4px 2px;font-size:9px;line-height:13px}
  .mobile-nav .nav-label{display:block;width:auto;max-width:100%;flex:0 1 auto;white-space:nowrap;overflow:visible;text-overflow:clip;text-align:center;font-size:9px;line-height:13px}
  .mobile-nav .nav-icon{flex:0 0 22px}
  .menu-item b{font-size:13px;line-height:19px}.menu-item small{font-size:11px;line-height:16px}
  .table-card b{font-size:13px;line-height:19px}.table-card small{font-size:11px;line-height:16px}
  .metric-label{font-size:11px;line-height:16px}.metric-foot{font-size:10px;line-height:15px}
  .order-line b{font-size:12px;line-height:18px}.order-line small{font-size:10px;line-height:16px}
  .form-stack label{font-size:12px;line-height:18px}.form-stack input,.form-stack select,.form-stack textarea{font-size:14px;line-height:20px}
}

/* 2D seating map */
.map-live-count{flex:none;padding:7px 11px;border:1px solid #dbe5f5;border-radius:999px;background:#fff;color:#47648f;font-size:12px;font-weight:600}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:-2px 0 14px;color:#5f6e84;font-size:12px}
.map-legend>span{display:flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:50%;background:#c99a61}.legend-dot.serving{background:#3473e6}.legend-dot.waiting{background:#e5a635}
.site-map-wrap[hidden],.map-area-panel[hidden]{display:none!important}.map-area-panel{display:grid;gap:12px}.map-back-button{justify-self:start;padding:8px 12px;border:1px solid #dfe7ef;border-radius:10px;background:#fff;color:#38577d;font-size:12px;font-weight:600}.map-back-button:hover{border-color:#adc4e8;background:#f7faff}.legacy-map-data>p{margin:7px 0 0;color:#748092;font-size:11px}.other-map-areas{display:grid;gap:12px}
.restaurant-map{display:grid;gap:15px}.map-zone{min-width:0;padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(26,43,81,.04)}
.map-zone-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.map-zone-heading h3{margin:2px 0 2px;color:#172033;font-size:19px;line-height:27px;font-weight:600}.map-zone-heading p{margin:0;color:#69778b;font-size:12px;line-height:18px}.map-kicker{color:#77859a;font-size:10px;letter-spacing:.09em;font-weight:700}.zone-count{flex:none;padding:6px 10px;border:1px solid #e3e9f2;border-radius:999px;background:#f8faff;color:#3d5f9b;font-size:11px;font-weight:700}
.stilt-floor{position:relative;overflow:hidden;padding:10px 20px 14px;border:1px solid #ddcdb1;border-radius:15px;background:repeating-linear-gradient(0deg,rgba(117,82,44,.035) 0 1px,transparent 1px 48px),linear-gradient(135deg,#f6efe2,#efe5d4)}
.stilt-rail{display:flex;justify-content:space-between;margin:0 2px 16px;border-top:3px solid #b69b72;border-bottom:1px solid #cdbb9f;color:#8b7554;font-size:9px;letter-spacing:.14em;font-weight:700}.stilt-rail span{padding:4px 3px}
.stilt-tables{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;max-width:620px;margin:0 auto}
.floor-room-labels{position:relative;display:flex;justify-content:center;align-items:center;min-height:31px;margin:0 auto 7px;max-width:620px}.floor-room-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 11px;border:1px solid #dfcfb2;border-radius:999px;background:#fffaf0;color:#765a32;font-size:11px;line-height:16px;font-weight:700}.floor-room-label.stair{position:absolute;right:0;background:#fff;color:#75552d}
.map-table{display:flex;min-width:0;min-height:96px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;padding:10px;border:1px solid #dfe6f0;border-radius:13px;background:#fff;color:#172033;text-align:left;box-shadow:0 3px 10px rgba(29,49,85,.06);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.map-table:hover{transform:translateY(-2px);border-color:#97b5ef;box-shadow:0 7px 16px rgba(41,84,163,.12)}.map-table.selected{border:2px solid #245eea;padding:9px;box-shadow:0 0 0 3px rgba(36,94,234,.12)}
.map-table-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.map-table-icon{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:9px;background:#eef3ff;color:#376ee0}.map-table-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.map-state{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:4px 6px;border-radius:999px;background:#eef1f5;color:#59677b;font-size:9px;line-height:12px;font-weight:700;text-align:center}.map-state.busy{background:#e9f1ff;color:#245ac9}.map-state.pay{background:#fff2da;color:#895711}
.map-table>b{overflow:hidden;color:#172033;font-size:12px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}.map-table>small{color:#68778b;font-size:10px;line-height:14px}
.floor-table{display:grid;grid-template-columns:minmax(86px,112px) minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:12px;row-gap:3px;min-width:0;min-height:62px;padding:6px 10px;border:1px solid #e1e8f0;border-radius:13px;background:rgba(255,255,255,.94);color:#172033;text-align:left;box-shadow:0 3px 9px rgba(35,52,77,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.floor-table:hover{transform:translateY(-1px);border-color:#a9c1ec;box-shadow:0 6px 13px rgba(41,84,163,.1)}.floor-table:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}.floor-table.occupied{border-color:#bdd0fa;background:#f8faff}.floor-table.waiting{border-color:#f1d8a6;background:#fffaf0}.floor-table.selected{border:2px solid #245eea;padding:5px 9px;box-shadow:0 0 0 3px rgba(36,94,234,.13)}
.floor-tabletop{display:grid;place-items:center;width:100%;height:39px;border:1.5px solid #8daee7;border-radius:9px;background:#f5f8ff;color:#2f60b9}.floor-tabletop>b{font-size:16px;line-height:20px;font-weight:700}.floor-table-caption{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:4px}.floor-table-caption>b{font-size:11px;line-height:15px}.floor-table-order{grid-column:2;color:#68778b;font-size:9px;line-height:13px}
.map-garden{background:linear-gradient(135deg,#f4f9f1,#edf6ec);border-color:#dbe9d7}.gazebo-garden{position:relative;min-height:176px;overflow:hidden;padding:18px 10px;border:1px solid #d4e4cf;border-radius:15px;background:radial-gradient(ellipse at 8% 22%,#dbead5 0 4%,transparent 5%),radial-gradient(ellipse at 91% 75%,#dbead5 0 6%,transparent 7%),linear-gradient(135deg,#f3f8ee,#e8f2e5)}
.garden-path{position:absolute;z-index:0;top:50%;left:5%;width:90%;height:25px;transform:translateY(-50%) rotate(-4deg);border-top:3px dotted #b5bd92;border-bottom:3px dotted #b5bd92;border-radius:50%;background:rgba(234,222,189,.42)}
.garden-legend{position:absolute;z-index:1;top:5px;color:#71846d;font-size:9px;font-weight:600}.garden-legend.left{left:12px}.garden-legend.right{right:12px}
.gazebo-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:12px;padding-top:10px}.gazebo-position{min-width:0}.gazebo-1,.gazebo-5{transform:translateY(17px)}.gazebo-2,.gazebo-4{transform:translateY(-3px)}.gazebo-3{transform:translateY(12px)}
.map-overflow{padding:12px 14px;border:1px dashed #ccd7e6;border-radius:14px;background:#fff}.map-overflow summary{color:#536581;font-size:12px;font-weight:600;cursor:pointer}.map-overflow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:12px}.map-extra .map-overflow-list{margin-top:0}.map-empty{grid-column:1/-1;margin:8px;color:#67778b;font-size:12px;text-align:center}
@media(max-width:1050px){.gazebo-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.map-live-count{font-size:10px;padding:6px 8px}.map-legend{gap:8px 12px;font-size:10px}.map-zone{padding:12px;border-radius:15px}.map-zone-heading{margin-bottom:11px}.map-zone-heading h3{font-size:17px;line-height:24px}.map-zone-heading p{font-size:11px;line-height:16px}.map-kicker{font-size:9px}.zone-count{font-size:10px;padding:5px 8px}.stilt-floor{padding:16px 8px 38px}.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floor-table{min-height:138px;padding:8px 5px;border-radius:13px}.floor-table.selected{padding:7px 4px}.floor-table-layout{grid-template-rows:17px 48px 17px;gap:3px}.floor-seat-row{gap:16px;width:86%}.floor-seat-row i{width:24px;height:14px}.floor-table-middle{grid-template-columns:20px minmax(55px,1fr) 20px;gap:3px}.floor-table-middle>i{width:15px;height:25px}.floor-tabletop{height:46px;border-radius:10px}.floor-tabletop>b{font-size:15px;line-height:20px}.floor-table-caption>b{font-size:10px}.floor-table-caption .map-state{font-size:8px;padding:3px 5px}.floor-table-order{font-size:9px}.map-table{min-height:94px;padding:9px}.map-table.selected{padding:8px}.map-table>b{font-size:12px}.map-state{font-size:9px}.map-table>small{font-size:10px}.gazebo-garden{padding:20px 8px;min-height:270px}.garden-path{top:52%;left:45%;width:26px;height:78%;transform:translateX(-50%) rotate(5deg);border:0;border-left:3px dotted #b5bd92;border-right:3px dotted #b5bd92;background:rgba(234,222,189,.4)}.gazebo-1,.gazebo-3,.gazebo-5{transform:translateY(4px)}.gazebo-2,.gazebo-4{transform:translateY(21px)}.gazebo-5{grid-column:1/-1;width:calc(50% - 5px);justify-self:center}.garden-legend{top:5px;font-size:8px}.map-overflow-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:760px){.restaurant-grid>div{display:contents}.restaurant-grid .section-heading.compact:first-child{order:1}.restaurant-grid .map-legend{order:2}.restaurant-grid .site-map-wrap,.restaurant-grid .map-area-panel,.restaurant-grid .other-map-areas{order:3}.restaurant-grid>.order-panel{position:static;order:4}.restaurant-grid .menu-heading{order:5}.restaurant-grid .menu-list{order:6}}

/* Use the supplied site illustration as the clickable map background. */
.site-map-image-stage{position:relative;overflow:hidden;border:1px solid #dce8d5;border-radius:18px;background:#edf3e9;line-height:0}
.site-map-image{display:block;width:100%;height:auto}
.house-hotspot{position:absolute;z-index:2;display:block;padding:0;border:2px solid transparent;border-radius:10px;background:transparent;cursor:pointer;line-height:normal;transition:background .15s,border-color .15s,box-shadow .15s}
.house-hotspot:hover{border-color:rgba(37,99,235,.65);background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.house-hotspot:focus-visible{border-color:#2563eb;background:rgba(255,255,255,.14);outline:3px solid rgba(37,99,235,.28)}
.house-one-hotspot{left:76%;top:35%;width:22%;height:31%}
.house-two-hotspot{left:74%;top:5%;width:24%;height:30%}
.site-map-hint{margin:9px 0 0;color:#627188;font-size:12px;line-height:18px}
@media(max-width:760px){.site-map-image-stage{border-radius:13px}.house-one-hotspot,.house-two-hotspot{border-radius:7px}.site-map-hint{font-size:11px;line-height:16px}}

/* Compact floor plan: horizontal table tops, clear room labels, no chair icons. */
.restaurant-grid.floor-plan-focus .menu-heading,.restaurant-grid.floor-plan-focus .menu-list,.restaurant-grid.floor-plan-focus>.order-panel{display:none!important}
.stilt-floor{padding:10px 20px 14px}
.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;max-width:620px}
.floor-room-labels{position:relative;display:flex;justify-content:center;align-items:center;min-height:31px;max-width:620px;margin:0 auto 7px}
.floor-room-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 11px;border:1px solid #dfcfb2;border-radius:999px;background:#fffaf0;color:#765a32;font-size:11px;line-height:16px;font-weight:700}
.floor-room-label.stair{position:absolute;right:0;background:#fff;color:#75552d}
.floor-table{grid-template-columns:minmax(86px,112px) minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;column-gap:12px;row-gap:3px;min-height:62px;padding:6px 10px;border-radius:13px;text-align:left}
.floor-table.selected{padding:5px 9px}
.floor-tabletop{display:grid;place-items:center;width:100%;height:39px;border:1.5px solid #8daee7;border-radius:9px;background:#f5f8ff;color:#2f60b9}
.floor-tabletop>b{font-size:16px;line-height:20px;font-weight:700}
.floor-table-caption{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:4px}
.floor-table-caption>b{font-size:11px;line-height:15px}
.floor-table-order{grid-column:2;color:#68778b;font-size:9px;line-height:13px}
@media(max-width:760px){.stilt-floor{padding:10px 8px 14px}.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floor-room-labels{min-height:28px}.floor-room-label{padding:3px 8px;font-size:10px}.floor-room-label.stair{right:0}.floor-table{grid-template-columns:minmax(54px,72px) minmax(0,1fr);column-gap:7px;min-height:57px;padding:5px 6px}.floor-table.selected{padding:4px 5px}.floor-tabletop{height:34px}.floor-tabletop>b{font-size:14px}.floor-table-caption>b{font-size:10px}.floor-table-caption .map-state{font-size:8px;padding:3px 5px}.floor-table-order{font-size:8px}}
.restaurant-grid.floor-plan-focus{grid-template-columns:minmax(0,1fr);gap:0}
.restaurant-grid.floor-plan-focus>div{min-width:0}
.house-switch{display:flex;align-items:center;gap:8px;margin:0 0 13px;padding:5px;border:1px solid #e4e9ef;border-radius:14px;background:#f4f6f8}
.house-switch-tab{display:flex;align-items:center;gap:9px;min-height:39px;padding:7px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#657184;font-size:12px;font-weight:600}
.house-switch-tab span{padding:3px 7px;border-radius:999px;background:#e9edf2;color:#657184;font-size:10px;font-weight:600}
.house-switch-tab:hover{color:#236b5a;background:#fff}
.house-switch-tab.active{border-color:#d4e9e0;background:#fff;color:#236b5a;box-shadow:0 2px 7px rgba(32,71,57,.08)}
.house-switch-tab.active span{background:#e4f3ec;color:#236b5a}
.kitchen-outside{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 12px;border:1px solid #eadcbb;border-radius:999px;background:#fffaf0;color:#795a24;font-size:11px;font-weight:600}
.kitchen-outside[hidden]{display:none}
.stilt-tables{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:11px}
.floor-table{grid-template-columns:minmax(62px,90px) minmax(0,1fr);column-gap:9px;min-height:64px;padding:6px 8px}
.floor-table.selected{padding:5px 7px}
.floor-table.occupied{border-color:#bce2d1;background:#f1faf5}
.floor-table.occupied .floor-tabletop{border-color:#69b596;background:#e5f5ed;color:#197655}
.floor-table.waiting{border-color:#f0d69b;background:#fff9eb}
.floor-table.waiting .floor-tabletop{border-color:#e5bd6a;background:#fff3d8;color:#92651a}
.floor-table-caption .map-state.busy{background:#e0f4e9;color:#197655}
.floor-table-caption .map-state.pay{background:#fff0ce;color:#8a5b0b}
@media(max-width:1100px) and (min-width:761px){.stilt-tables{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.floor-table{grid-template-columns:minmax(58px,72px) minmax(0,1fr);column-gap:7px}.house-switch-tab{padding-inline:10px}}
@media(max-width:900px) and (min-width:761px){.stilt-tables{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.house-switch{flex-wrap:wrap;gap:5px;margin-bottom:10px}.house-switch-tab{flex:1 1 calc(50% - 5px);justify-content:center;min-height:42px;padding:6px 8px;font-size:11px}.kitchen-outside{flex:1 0 100%;justify-content:center;margin:0;padding:5px 8px;font-size:10px}.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floor-table{grid-template-columns:minmax(54px,72px) minmax(0,1fr);column-gap:7px;min-height:57px;padding:5px 6px}.floor-table.selected{padding:4px 5px}}
/* Dashboard restyle based on the supplied table-monitor reference. */
.layout{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:#f5f6fb}
.app-header{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:minmax(185px,230px) minmax(0,1fr) auto;align-items:center;gap:18px;min-height:70px;padding:9px 24px;border-bottom:1px solid #e6e9f2;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(30,48,83,.045);backdrop-filter:blur(14px)}
.app-brand{justify-self:start;gap:9px;margin:0;padding:0;border:0;background:transparent;color:#18332d;text-align:left;font-size:15px;line-height:1.25;font-weight:700}
.app-brand .brand-mark{width:36px;height:36px;border-radius:12px;background:#0f806b;color:#fff;box-shadow:none}
.app-brand .brand-mark .ui-icon{width:19px;height:19px}
.app-brand small{margin-top:3px;color:#8690a2;font-size:8px;letter-spacing:1px}
.top-nav{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:none}
.top-nav::-webkit-scrollbar{display:none}
.top-nav .nav-item{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;flex:0 0 auto;padding:7px 11px;border:0;border-radius:999px;color:#697488;font-size:10px;font-weight:500;white-space:nowrap}
.top-nav .nav-item span{width:auto;font-size:inherit;text-align:initial}
.top-nav .nav-icon{width:16px;height:16px}
.top-nav .ui-icon{width:16px;height:16px}
.top-nav .nav-item:hover{background:#f1f3fa;color:#1c7764;transform:none}
.top-nav .nav-item.active{background:#e8f4ef;color:#087b65;box-shadow:none;font-weight:700}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.header-actions .connection{max-width:180px;padding:7px 10px;font-size:9px;white-space:nowrap}
.user-chip{display:flex;align-items:center;gap:7px;min-width:0;padding-left:7px}
.user-chip .avatar{width:31px;height:31px;flex:none;background:#e4f3ec;color:#19755f;font-size:12px}
.user-chip .user-lines{max-width:105px}
.user-chip .user-lines b{font-size:9px;color:#25364e}
.user-chip .user-lines small{font-size:8px;color:#8a93a3}
.header-logout{width:32px;height:32px;flex:none}
.main{width:min(1600px,100%);margin:0 auto;padding:17px 24px 26px}
.topbar{min-height:64px;height:auto;margin:0 0 17px;padding:0 0 13px;border-bottom:1px solid #e1e5ef}
.topbar h1{margin:2px 0 0;color:#142b49;font-size:24px;line-height:1.3;letter-spacing:-.6px}
.eyebrow{color:#738098;font-size:9px;letter-spacing:.9px}
.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:27px;padding:5px 20px;border-top:1px solid #e2e5ef;background:#fff;color:#8490a2;font-size:8px}
.app-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22a176}
.overview-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:14px;align-items:start}
.overview-main{min-width:0}
.overview-tabs{display:flex;align-items:center;gap:4px;margin:0 0 13px;padding:4px;border:1px solid #e3e7f0;border-radius:10px;background:#f0f2fa}
.overview-tab{min-height:31px;padding:5px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#718098;font-size:9px;font-weight:600}
.overview-tab:hover{background:#fff;color:#325fca}
.overview-tab.active{border-color:#dfe6fb;background:#fff;color:#315fcb;box-shadow:0 2px 5px rgba(37,67,125,.07)}
.overview-layout .greeting{margin:12px 0 17px}
.overview-layout .greeting h2{font-size:18px;color:#1c304d}
.overview-layout .greeting p{font-size:10px}
.overview-layout .metrics{gap:9px;margin:0 0 17px}
.overview-layout .metric{min-height:112px;padding:14px;border-radius:13px}
.overview-layout .metric strong{font-size:24px}
.overview-layout .metric-label{font-size:9px}
.overview-layout .metric-foot{font-size:8px}
.overview-layout .quick-grid{gap:9px}
.overview-layout .quick-card{min-height:74px;padding:12px;border-radius:12px}
.overview-layout .quick-symbol{width:34px;height:34px}
.overview-layout .quick-card b{font-size:10px}
.overview-layout .quick-card small{font-size:8px}
.overview-layout .notice-card{margin-top:14px;padding:9px 11px}
.overview-layout .notice-card p{font-size:8px}
.overview-sidebar{display:grid;gap:10px;min-width:0}
.overview-side-card{padding:12px;border:1px solid #e2e6ef;border-radius:13px;background:#fff;box-shadow:0 4px 13px rgba(30,48,83,.035)}
.overview-side-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.overview-side-heading h2{margin:2px 0 0;color:#1c304d;font-size:12px;line-height:17px}
.overview-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#e4f4ed;color:#178060;font-size:9px;font-weight:700}
.overview-count.blue{background:#eaf0ff;color:#356bdd}
.home-order-list{display:grid;gap:5px;max-height:245px;overflow:auto}
.home-order-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto 10px;align-items:center;gap:7px;width:100%;min-height:45px;padding:6px 7px;border:1px solid #edf0f5;border-radius:9px;background:#fff;color:#20344f;text-align:left}
.home-order-card:hover{border-color:#cdd9f2;background:#fafbff}
.home-order-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#edf6f1;color:#188168}
.home-order-icon svg{width:13px;height:13px}
.home-order-card b,.home-order-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-order-card b{font-size:8px}.home-order-card small{margin-top:2px;color:#8791a1;font-size:7px}
.home-order-card strong{color:#334b69;font-size:8px;white-space:nowrap}
.home-order-card>i{color:#8896aa;font-size:13px;font-style:normal}
.home-order-empty,.overview-side-note{margin:0;padding:10px 2px;color:#7a879a;font-size:8px;line-height:1.6}
.overview-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:8px;padding:8px 9px;border:0;border-radius:8px;background:#eef1fb;color:#34558b;font-size:8px;font-weight:700;text-align:left}
.overview-link:hover{background:#e5eaf9}
.restaurant-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,.85fr);gap:16px}
.restaurant-grid>div{min-width:0}
.restaurant-grid .section-heading.compact{margin-bottom:10px}
.restaurant-grid .section-heading h2{color:#162c4b;font-size:15px}
.restaurant-grid .section-heading p{font-size:10px}
.map-live-count{border-color:#dfe5f2;color:#42648f;font-size:10px}
.map-legend{margin:0 0 10px;font-size:10px}
.house-switch{margin-bottom:10px;padding:4px;border-color:#e3e7f0;background:#f0f2fa}
.house-switch-tab{min-height:34px;padding:5px 11px;font-size:10px}
.kitchen-outside{padding:5px 10px;font-size:9px}
.map-zone{padding:13px;border-color:#e2e6f0;border-radius:17px;box-shadow:0 5px 17px rgba(30,48,83,.035)}
.map-zone-heading{margin-bottom:10px}
.map-zone-heading h3{font-size:16px;line-height:22px;color:#172d4b}
.map-zone-heading p{font-size:10px;line-height:15px}
.map-kicker{font-size:8px}
.zone-count{padding:5px 8px;font-size:9px}
.stilt-floor{padding:12px;border:1px solid #e5e8f1;border-radius:13px;background:#f7f8fc}
.floor-room-labels{min-height:25px;margin-bottom:7px}
.floor-room-label{padding:3px 9px;font-size:9px}
.stilt-tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.floor-table{grid-template-columns:minmax(62px,82px) minmax(0,1fr);column-gap:8px;min-height:58px;padding:5px 7px;border-radius:11px;box-shadow:0 2px 6px rgba(35,52,77,.045)}
.floor-table.selected{padding:4px 6px}
.floor-tabletop{height:34px;border-radius:7px}
.floor-tabletop>b{font-size:14px}
.floor-table-caption{gap:3px}
.floor-table-caption>b{font-size:9px;line-height:13px}
.floor-table-caption .map-state{padding:3px 5px;font-size:8px;line-height:11px}
.floor-table-order{font-size:8px;line-height:11px}
.order-panel{position:sticky;top:86px;max-height:calc(100vh - 112px);overflow:auto;padding:14px;border-color:#e3e7f0;border-radius:16px;box-shadow:0 5px 18px rgba(30,48,83,.04)}
.order-panel .section-heading h2{font-size:14px}
.order-panel .section-heading p{font-size:9px}
.active-order-list{display:grid;gap:8px;max-height:calc(100vh - 220px);overflow:auto;padding-right:2px}
.active-order-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 7px;padding:10px;border:1px solid #e8eaf2;border-radius:12px;background:#fff}
.active-order-main{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:5px}
.active-order-main>b{font-size:10px;color:#1d3150}
.active-order-card p{margin:0;color:#69768a;font-size:8px}
.active-order-card>strong{font-size:9px;color:#243b57;text-align:right}
.active-order-detail{grid-column:1/-1;justify-self:stretch;min-height:27px;margin-top:2px;border:0;border-radius:8px;background:#eef0fb;color:#2d4b73;font-size:9px;font-weight:600}
.active-order-detail:hover{background:#e3e8f8}
.active-order-card .status-pill{padding:4px 6px;font-size:8px}
.restaurant-grid .order-panel .order-empty{min-height:130px}
.restaurant-grid .order-panel .order-empty p{max-width:225px;font-size:9px}
.restaurant-grid .menu-heading{margin-top:15px!important}
.restaurant-grid .menu-list{max-height:310px;overflow:auto}
@media(max-width:1100px) and (min-width:761px){.app-header{grid-template-columns:165px minmax(0,1fr) auto;gap:8px;padding-inline:14px}.top-nav{justify-content:flex-start}.top-nav .nav-item{padding-inline:8px}.user-chip .user-lines{display:none}.restaurant-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,.85fr);gap:12px}.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.layout{display:flex;flex-direction:column}.app-header{position:sticky;top:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;min-height:auto;padding:8px 12px}.app-brand{grid-column:1;grid-row:1;font-size:13px}.app-brand .brand-mark{width:32px;height:32px}.app-brand small{font-size:7px}.header-actions{grid-column:2;grid-row:1}.header-actions .connection{width:25px;height:25px;min-width:25px;padding:0;display:grid;place-items:center;font-size:0}.header-actions .connection i{margin:0}.user-chip{display:none}.header-logout{width:28px;height:28px}.top-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:4px;margin:0 -4px;padding:0 4px}.top-nav .nav-item{min-height:34px;padding:5px 9px;font-size:9px}.top-nav .nav-icon,.top-nav .ui-icon{width:14px;height:14px}.main{width:100%;margin:0;padding:12px 12px 20px}.topbar{min-height:50px;margin-bottom:12px;padding-bottom:9px}.topbar h1{font-size:20px}.eyebrow{font-size:8px}.app-footer{justify-content:center;flex-wrap:wrap;padding:7px 10px 80px;font-size:7px}.mobile-nav,.mobile-more-menu{display:none!important}.restaurant-grid{grid-template-columns:1fr;gap:12px}.order-panel{position:static;order:-1;max-height:none;padding:13px}.active-order-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.active-order-card{padding:8px}.restaurant-grid .menu-list{max-height:350px}.restaurant-grid .map-zone{padding:10px}.restaurant-grid .stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.restaurant-grid .floor-table{grid-template-columns:minmax(54px,68px) minmax(0,1fr);min-height:54px}.restaurant-grid .floor-tabletop{height:32px}.restaurant-grid .floor-table-caption>b{font-size:8px}.restaurant-grid .floor-table-caption .map-state{font-size:7px;padding:2px 4px}.restaurant-grid .floor-table-order{font-size:7px}.restaurant-grid .map-live-count{font-size:8px;padding:4px 6px}.restaurant-grid .house-switch{gap:4px}.restaurant-grid .house-switch-tab{font-size:9px;padding:5px 8px}.restaurant-grid .kitchen-outside{font-size:8px}}
/* Workspace frame: icon rail, section sidebar, content, contextual panel and bottom bar. */
.layout{min-height:100vh;display:grid;grid-template-columns:56px 214px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 28px;background:#f5f6fb}
.left-rail{position:sticky;top:0;grid-column:1;grid-row:1;display:flex;height:calc(100vh - 28px);flex-direction:column;align-items:center;gap:7px;padding:11px 6px;border-right:1px solid #e6e9f1;background:#fff}
.rail-logo{width:27px;height:27px;margin:1px 0 13px;color:#16846c}
.rail-item{display:grid;place-items:center;width:37px;height:37px;flex:none;padding:0;border:0;border-radius:11px;background:transparent;color:#8490a2;transition:background .15s,color .15s}
.rail-item svg{width:18px;height:18px}
.rail-item:hover{background:#f0f2fa;color:#276c8b}
.rail-item.active{background:#e9efff;color:#356bdd}
.rail-spacer{flex:1}
.rail-avatar{display:grid;place-items:center;width:31px;height:31px;border:2px solid #fff;border-radius:50%;background:#e7efff;color:#356bdd;font-size:11px;font-weight:700;box-shadow:0 0 0 1px #dce4f5}
.sidebar{position:sticky;top:0;grid-column:2;grid-row:1;display:flex;width:auto;height:calc(100vh - 28px);flex-direction:column;padding:18px 12px 12px;border:0;border-right:1px solid #e6e9f1;background:#fff;color:#263751;box-shadow:none}
.sidebar .brand{gap:9px;margin:0 3px 21px;color:#203451;font-size:14px;letter-spacing:-.2px}
.sidebar .brand-mark{width:34px;height:34px;border-radius:11px;background:#1c806c;color:#fff;box-shadow:none}
.sidebar .brand-mark .ui-icon{width:17px;height:17px}
.sidebar .brand small{margin-top:2px;color:#8993a4;font-size:7px;letter-spacing:.9px}
.sidebar-caption{display:grid;gap:3px;margin:0 6px 12px;padding:0 0 12px;border-bottom:1px solid #edf0f5}
.sidebar-caption>b{color:#213754;font-size:12px}
.sidebar-caption>small{color:#8792a4;font-size:9px}
.sidebar nav{display:grid;gap:4px}
.sidebar .nav-item{display:flex;gap:9px;align-items:center;min-height:38px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:#67758a;font-size:10px;font-weight:500;white-space:nowrap}
.sidebar .nav-icon{display:none}
.sidebar .nav-item::before{content:"";width:13px;height:13px;flex:none;border:1px solid #dfe4ec;border-radius:50%;background:#f4f6f9}
.sidebar .nav-item.active::before{border-color:#cbd9ff;background:#dfe8ff;box-shadow:inset 0 0 0 3px #edf1ff}
.sidebar .nav-item:hover{background:#f5f6fa;color:#315e9b}
.sidebar .nav-item.active{background:#edf1ff;color:#315fcb;box-shadow:none;font-weight:700}
.sidebar .nav-label{overflow:hidden;text-overflow:ellipsis}
.sidebar .side-user{gap:8px;margin-top:auto;padding:10px 2px 0;border-top:1px solid #edf0f5}
.sidebar .side-user .avatar{width:30px;height:30px;background:#e8efff;color:#356bdd;font-size:11px}
.sidebar .side-user .user-lines b{font-size:9px;color:#263751}
.sidebar .side-user .user-lines small{font-size:8px;color:#8490a2}
.sidebar .side-user .icon-button{width:28px;height:28px;color:#718097}
.main{grid-column:3;grid-row:1;width:100%;min-width:0;margin:0;padding:19px clamp(15px,2vw,28px) 17px}
.topbar{min-height:60px;height:auto;margin:0 0 15px;padding:0 0 11px;border-bottom:1px solid #e2e6ef}
.topbar h1{color:#1b304d;font-size:22px;line-height:1.3;letter-spacing:-.45px}
.eyebrow{font-size:8px;letter-spacing:.7px;color:#7c899d}
.top-actions .connection{padding:7px 10px;font-size:9px}
.app-footer{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:4px 12px;border-top:1px solid #e1e5ee;background:#fff;color:#7e899b;font-size:8px}
.app-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22a176}
.restaurant-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.86fr);gap:14px}
.restaurant-grid.floor-plan-focus{grid-template-columns:minmax(0,1fr)}
.restaurant-grid.floor-plan-focus>.order-panel{display:none!important}
.house-switch{margin:0 0 10px;padding:4px;border:1px solid #e2e6f0;border-radius:10px;background:#f0f2fa}
.house-switch-tab{min-height:33px;padding:5px 10px;border-radius:7px;font-size:9px}
.house-switch-tab span{font-size:8px}
.kitchen-outside{display:none!important}
.map-zone{padding:11px;border-radius:14px}
.map-zone-heading{margin-bottom:8px}
.map-zone-heading h3{font-size:14px;line-height:20px}
.map-zone-heading p{font-size:9px;line-height:14px}
.zone-count{font-size:8px}
.stilt-floor{padding:9px;border-radius:11px}
.floor-room-labels{min-height:18px;margin-bottom:5px}
.floor-room-label.stair{padding:2px 7px;font-size:8px}
.stilt-tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.floor-table{min-height:53px;padding:4px 6px;border-radius:9px}
.floor-table.selected{padding:3px 5px}
.floor-tabletop{height:31px}
.floor-tabletop>b{font-size:12px}
.floor-table-caption>b{font-size:8px}
.floor-table-caption .map-state{font-size:7px;padding:2px 4px}
.floor-table-order{font-size:7px}
.order-panel{top:12px;max-height:calc(100vh - 62px);padding:12px;border-radius:13px}
.active-order-list{max-height:calc(100vh - 175px)}
@media(max-width:1120px) and (min-width:761px){.layout{grid-template-columns:48px 185px minmax(0,1fr)}.left-rail,.sidebar{height:calc(100vh - 28px)}.main{padding-inline:14px}.restaurant-grid{grid-template-columns:minmax(0,1.25fr) minmax(265px,.85fr);gap:10px}.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;min-height:100vh}.left-rail{display:none}.sidebar{position:sticky;top:0;z-index:9;grid-column:1;grid-row:1;display:block;width:100%;height:auto;padding:8px 10px 7px;border:0;border-bottom:1px solid #e3e7f0;box-shadow:0 3px 12px rgba(31,47,77,.04)}.sidebar .brand{display:none}.sidebar-caption{display:none}.sidebar nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar .nav-item{flex:0 0 auto;min-height:34px;padding:5px 8px;font-size:9px}.sidebar .nav-item::before{width:8px;height:8px}.sidebar .side-user{display:none}.main{grid-column:1;grid-row:2;width:100%;padding:12px 11px 17px}.topbar{min-height:47px;margin-bottom:11px;padding-bottom:8px}.topbar h1{font-size:19px}.top-actions .connection{width:25px;height:25px;display:grid;place-items:center;padding:0;font-size:0}.top-actions .connection i{margin:0}.app-footer{grid-column:1;grid-row:3;justify-content:center;flex-wrap:wrap;gap:3px 10px;padding:7px 9px calc(8px + env(safe-area-inset-bottom));font-size:7px}.overview-layout{grid-template-columns:minmax(0,1fr);gap:10px}.overview-sidebar{grid-row:1}.overview-main .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout .metric:nth-child(3){grid-column:1/-1}.overview-layout .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-grid{grid-template-columns:minmax(0,1fr);gap:10px}.restaurant-grid.floor-plan-focus{grid-template-columns:minmax(0,1fr)}.restaurant-grid.floor-plan-focus>.order-panel{display:none!important}.order-panel{position:static;max-height:none;order:-1}.active-order-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.restaurant-grid .stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.restaurant-grid .floor-table{min-height:52px}.map-legend{font-size:8px;gap:6px 9px}.house-switch{margin-bottom:8px}.house-switch-tab{flex:1 1 auto;justify-content:center}.map-live-count{font-size:8px;padding:4px 6px}}

/* Readable sizing for the redesigned workspace and home dashboard. */
.sidebar .brand{font-size:15px}
.sidebar .brand small{font-size:8px}
.sidebar-caption>b{font-size:13px}
.sidebar-caption>small{font-size:10px}
.sidebar .nav-item{min-height:42px;font-size:12px}
.sidebar .side-user .user-lines b{font-size:11px}
.sidebar .side-user .user-lines small{font-size:9px}
.topbar h1{font-size:25px}
.eyebrow{font-size:10px}
.top-actions .connection{font-size:11px}
.app-footer{font-size:9px}
.overview-tabs{margin-bottom:18px}
.overview-tab{min-height:36px;padding:7px 14px;font-size:12px}
.overview-layout .greeting{margin:18px 0 22px}
.overview-layout .greeting h2{font-size:21px}
.overview-layout .greeting p{font-size:13px}
.overview-layout .metrics{gap:12px;margin-bottom:22px}
.overview-layout .metric{min-height:132px;padding:17px}
.overview-layout .metric strong{font-size:28px}
.overview-layout .metric-label{font-size:12px}
.overview-layout .metric-foot{font-size:10px}
.overview-layout .section-heading h2{font-size:17px}
.overview-layout .quick-grid{gap:12px}
.overview-layout .quick-card{min-height:92px;padding:15px;grid-template-columns:40px 1fr}
.overview-layout .quick-symbol{width:38px;height:38px}
.overview-layout .quick-card b{font-size:13px}
.overview-layout .quick-card small{font-size:10px}
.overview-layout .notice-card{margin-top:18px;padding:11px 13px}
.overview-layout .notice-card p{font-size:10px}
.overview-sidebar{gap:13px}
.overview-side-card{padding:16px;border-radius:15px}
.overview-side-heading{margin-bottom:12px}
.overview-side-heading h2{font-size:15px;line-height:21px}
.overview-count{min-width:28px;height:28px;font-size:11px}
.home-order-list{gap:7px;max-height:360px}
.home-order-card{grid-template-columns:30px minmax(0,1fr) auto 12px;gap:9px;min-height:56px;padding:8px 9px;border-radius:11px}
.home-order-icon{width:28px;height:28px}
.home-order-icon svg{width:15px;height:15px}
.home-order-card b{font-size:11px}
.home-order-card small{font-size:9px}
.home-order-card strong{font-size:10px}
.home-order-empty,.overview-side-note{font-size:11px}
.overview-link{margin-top:10px;padding:10px 11px;font-size:11px}
@media(max-width:1120px) and (min-width:761px){.overview-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.85fr)}.sidebar .nav-item{font-size:11px}}
@media(max-width:760px){.sidebar .nav-item{font-size:11px}.topbar h1{font-size:21px}.eyebrow{font-size:9px}.app-footer{font-size:8px}.overview-tab{font-size:11px}.overview-layout .greeting h2{font-size:19px}.overview-layout .greeting p{font-size:12px}.overview-layout .metric-label{font-size:11px}.overview-layout .metric-foot{font-size:9px}.overview-layout .quick-card b{font-size:12px}.overview-layout .quick-card small{font-size:9px}.overview-layout .notice-card p{font-size:9px}.overview-side-heading h2{font-size:14px}.home-order-card b{font-size:10px}.home-order-card small{font-size:8px}.home-order-card strong{font-size:9px}.overview-link{font-size:10px}}
@media(max-width:760px){html,body,#app,.layout,.main,#view{min-width:0;max-width:100%}body{overflow-x:clip}.overview-layout,.overview-main,.overview-sidebar,.overview-main>*{min-width:0}.overview-tabs{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.overview-main .metrics,.overview-layout .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-main .metric,.overview-layout .quick-card{min-width:0}}
/* iOS Safari zooms the page when focusing controls smaller than 16px. */
@supports (-webkit-touch-callout:none){
  @media(max-width:760px){
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{font-size:16px!important}
  }
}
@media(max-width:760px){
  html,body,#app,.layout,.main,#view{width:100%;min-width:0;max-width:100%}
  body{overflow-x:hidden}
  button,input,select,textarea{max-width:100%}
  .auth-wrap{min-height:100svh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}
  .auth-card{width:100%;max-width:420px;padding:clamp(20px,6vw,28px)}
  .auth-card input,.auth-card select,.auth-card textarea{min-height:48px}
  .auth-card .button{min-height:48px}
  .auth-foot{position:static;align-self:end;margin:14px 0 0;text-align:center;line-height:1.5}
}

/* Table status colors follow the legend: empty / serving / awaiting payment. */
.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;gap:10px 14px}
.floor-table.available{border-color:#e8d6b8;background:#fffdf8}
.floor-table.available .floor-tabletop{border-color:#d5ad70;background:#fff5e3;color:#93621a}
.floor-table.available .map-state{background:#f7ead5;color:#93621a}
.floor-table.occupied:not(.waiting){border-color:#b9d0fb;background:#f5f8ff}
.floor-table.occupied:not(.waiting) .floor-tabletop{border-color:#8dafed;background:#eaf1ff;color:#315fca}
.floor-table.waiting{border-color:#f0d69b;background:#fff8e9}
.floor-table.waiting .floor-tabletop{border-color:#e4b95f;background:#fff0ce;color:#895711}
.floor-table-caption .map-state.busy{background:#e7efff;color:#315fca}
.floor-table-caption .map-state.pay{background:#fff0ce;color:#895711}
.order-panel.has-selected-order{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.has-selected-order>.section-heading,.has-selected-order>.order-meta,.has-selected-order>.total-row,.has-selected-order>.button{flex:0 0 auto}
.has-selected-order>.order-lines{flex:1 1 auto;min-height:120px;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.has-selected-order>.total-row{margin:0;padding:12px 0;border-top:1px solid #e7eaf0;background:#fff}
.has-selected-order>.button.full{margin-top:8px}
.floor-table-caption{min-width:0;flex-wrap:wrap}
.floor-table-caption .map-state{white-space:normal}
@media(max-width:760px){.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.floor-table{grid-template-columns:minmax(56px,76px) minmax(0,1fr);column-gap:7px;min-height:64px}.floor-table-caption>b{font-size:10px}.floor-table-caption .map-state{font-size:8px;line-height:11px;padding:3px 5px}.floor-table-order{font-size:8px}.order-panel.has-selected-order{max-height:calc(100dvh - 105px)}.has-selected-order>.order-lines{min-height:100px;max-height:44dvh}.has-selected-order>.total-row{padding:10px 0}}

/* Two-state table map with six rounded seat markers per table. */
.map-legend .legend-dot.available{background:#cbd0d7}
.map-legend .legend-dot.serving{background:#16846b}
.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;gap:14px 18px}
.floor-table{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;justify-items:stretch;gap:5px;min-height:112px;padding:8px 12px;border-color:#d9dde3;border-radius:14px;background:#f7f8fa;color:#48515d}
.floor-table.selected{padding:7px 11px;border-color:#16846b;box-shadow:0 0 0 3px rgba(22,132,107,.16)}
.floor-table:hover{border-color:#16846b;box-shadow:0 6px 13px rgba(22,132,107,.12)}
.floor-seating{display:grid;grid-template-rows:10px 36px 10px;justify-items:center;gap:2px;width:100%;max-width:280px;margin:0 auto}
.floor-seat-row{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,28px);width:82%;height:10px}
.floor-seat-row i{display:block;width:22px;height:9px;flex:0 1 22px;border:1px solid #cbd0d7;border-radius:999px;background:#edf0f3}
.floor-tabletop{display:grid;place-items:center;width:100%;height:36px;border:1px solid #cbd0d7;border-radius:10px;background:#eceff2;color:#525b66}
.floor-tabletop>b{font-size:15px;line-height:20px}
.floor-table.available{border-color:#d9dde3;background:#f7f8fa}
.floor-table.available .floor-tabletop{border-color:#cbd0d7;background:#eceff2;color:#525b66}
.floor-table.available .floor-seat-row i{border-color:#cbd0d7;background:#edf0f3}
.floor-table.occupied,.floor-table.occupied:not(.waiting){border-color:#91c9b7;background:#edf8f3}
.floor-table.occupied .floor-tabletop,.floor-table.occupied:not(.waiting) .floor-tabletop{border-color:#16846b;background:#16846b;color:#fff}
.floor-table.occupied .floor-seat-row i,.floor-table.occupied:not(.waiting) .floor-seat-row i{border-color:#16846b;background:#16846b}
.floor-table-caption{justify-content:center;gap:6px}
.floor-table-caption>b{font-size:11px}
.floor-table-caption .map-state.busy,.floor-table-caption .map-state.pay{background:#dff2e9;color:#126e57}
.floor-table-order{grid-column:1;text-align:center;color:#68737e;font-size:9px}
.status-pill.occupied-status{background:#dff2e9;color:#126e57}
@media(max-width:760px){.stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.floor-table{grid-template-columns:minmax(0,1fr);min-height:102px;padding:7px 6px}.floor-table.selected{padding:6px 5px}.floor-seating{grid-template-rows:9px 32px 9px}.floor-seat-row{gap:10px;height:9px}.floor-seat-row i{width:18px;height:8px;flex-basis:18px}.floor-tabletop{height:32px}.floor-tabletop>b{font-size:14px}.floor-table-caption{gap:4px}.floor-table-caption>b{font-size:9px}.floor-table-caption .map-state{font-size:8px;padding:2px 5px}.floor-table-order{font-size:8px}}

/* Highlight the active table selection separately from its occupancy state. */
.floor-table,.map-table{position:relative}
.floor-table.selected,.floor-table.selected.occupied,.map-table.selected,.map-table.selected.occupied{border:2px solid #e8892e;box-shadow:0 0 0 3px rgba(232,137,46,.2),0 7px 17px rgba(144,87,29,.1);z-index:1}
.floor-table.selected:hover,.map-table.selected:hover{border-color:#df7920;box-shadow:0 0 0 3px rgba(232,137,46,.24),0 7px 17px rgba(144,87,29,.13)}
.table-selected-label{position:absolute;top:7px;right:8px;z-index:2;padding:3px 7px;border-radius:999px;background:#fff0df;color:#a95210;font-size:9px;line-height:13px;font-weight:700;pointer-events:none}
.floor-table.selected .table-selected-label{top:6px;right:7px}

/* Per-table delivery progress and per-item delivery state. */
.floor-table{grid-template-rows:auto auto auto auto;min-height:126px}
.floor-delivery-state,.table-delivery-state{display:block;width:max-content;max-width:100%;margin:1px auto 0;padding:3px 7px;border-radius:999px;font-size:9px;line-height:13px;font-weight:700;text-align:center;white-space:normal}
.table-delivery-state{margin:0}
.floor-delivery-state.not-called,.table-delivery-state.not-called{background:#eef0f2;color:#626d78}
.floor-delivery-state.missing,.table-delivery-state.missing{background:#fff0d8;color:#96530f}
.floor-delivery-state.delivered,.table-delivery-state.delivered{background:#dff2e9;color:#126e57}
.order-item-delivery-status{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eef0f2;color:#626d78;font-size:9px;font-weight:700;line-height:13px}
.order-item-delivery-status.is-preparing{background:#fff0d8;color:#96530f}
.order-item-delivery-status.is-delivered{background:#dff2e9;color:#126e57}
@media(max-width:760px){.floor-table{min-height:118px}.floor-delivery-state{font-size:8px;padding:2px 6px}.table-delivery-state{font-size:9px}}

/* Merge the former icon rail and section menu into one compact sidebar. */
.layout{grid-template-columns:228px minmax(0,1fr)}
.sidebar{grid-column:1;grid-row:1;width:auto;height:calc(100vh - 28px);padding:18px 12px 12px}
.sidebar .brand{margin-bottom:24px}
.sidebar .nav-item{gap:10px;min-height:42px;padding:8px 10px}
.sidebar .nav-icon{display:grid;place-items:center;width:20px;min-width:20px;flex:0 0 20px;color:currentColor}
.sidebar .nav-icon .ui-icon{display:block;width:18px;height:18px}
.sidebar .nav-item::before{display:none}
.main{grid-column:2;grid-row:1;margin:0;max-width:none}
@media(max-width:1120px) and (min-width:761px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{height:calc(100vh - 28px);padding-inline:10px}.main{grid-column:2;padding-inline:14px}}
@media(max-width:760px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{display:block!important;grid-column:1;grid-row:1;width:100%;height:auto}.sidebar .nav-item::before{display:none}.sidebar .nav-icon{display:grid;width:16px;min-width:16px;flex:0 0 16px}.sidebar .nav-icon .ui-icon{width:15px;height:15px}.sidebar .nav-item{gap:5px}.main{grid-column:1;grid-row:2}.app-footer{grid-column:1;grid-row:3}}

.kitchen-page{display:grid;gap:16px;max-width:1120px;margin:0 auto}
.kitchen-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 21px;border:1px solid #dce9e2;border-radius:17px;background:linear-gradient(135deg,#fff,#f0f8f4)}
.kitchen-intro h2{margin:4px 0;color:#173e33;font-size:22px;line-height:30px}
.kitchen-intro p{max-width:620px;margin:0;color:#63766e;font-size:13px;line-height:20px}
.kitchen-open-count{flex:none;padding:8px 12px;border:1px solid #cfe4d9;border-radius:999px;background:#fff;color:#167457;font-size:12px;font-weight:700}
.kitchen-summary{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:10px}
.kitchen-summary article{display:grid;gap:2px;padding:13px 15px;border:1px solid #e1e8e4;border-radius:13px;background:#fff}
.kitchen-summary b{color:#167457;font-size:22px;line-height:28px}
.kitchen-summary span{color:#687970;font-size:11px}
.kitchen-ticket-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px}
.kitchen-ticket{overflow:hidden;border:1px solid #dce8e2;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(26,61,48,.045)}
.kitchen-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e9efec;background:#f8fbf9}
.kitchen-ticket-head h2{margin:3px 0;color:#193d32;font-size:17px;line-height:23px}
.kitchen-ticket-head p{margin:0;color:#728179;font-size:11px}
.kitchen-order-age{color:#8b4e16;font-weight:700;font-variant-numeric:tabular-nums}
.kitchen-ticket-count{flex:none;padding:6px 9px;border-radius:999px;background:#e4f3eb;color:#167457;font-size:10px;font-weight:700}
.kitchen-ticket-items{display:grid;padding:0 15px}
.kitchen-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf1ee}
.kitchen-item:last-child{border-bottom:0}
.kitchen-item-info{min-width:0}
.kitchen-item-info>b{display:block;color:#25392f;font-size:14px;line-height:20px}
.kitchen-item-info>b span{color:#167457}
.kitchen-item-info p{margin:3px 0;color:#91651b;font-size:11px}
.kitchen-item-info small{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#f0f2f4;color:#66716b;font-size:9px;font-weight:600}
.kitchen-item-info small.is-preparing{background:#e3f3eb;color:#167457}
.kitchen-item-action{flex:none;min-height:36px;padding:7px 10px;font-size:10px}
.kitchen-empty{display:grid;justify-items:center;padding:42px 18px;border:1px dashed #cfded5;border-radius:16px;background:#f9fcfa;text-align:center}
.kitchen-empty>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3f3eb;color:#167457;font-size:24px}
.kitchen-empty h2{margin:11px 0 4px;color:#214538;font-size:18px}
.kitchen-empty p{margin:0;color:#718078;font-size:12px}
@media(max-width:760px){.kitchen-page{gap:11px}.kitchen-intro{align-items:flex-start;padding:14px;flex-direction:column}.kitchen-intro h2{font-size:19px}.kitchen-intro p{font-size:12px}.kitchen-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen-ticket-list{grid-template-columns:minmax(0,1fr);gap:10px}.kitchen-item{gap:8px}.kitchen-item-action{max-width:142px;white-space:normal}.kitchen-item-info>b{font-size:13px}}
.item-locked-note{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e3f3eb;color:#167457;font-size:9px;font-weight:700;text-align:center}

/* Warm hospitality palette inspired by the supplied management dashboard. */
:root{font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3b3123;background:#f8f2e5;--green:#0e7c5b;--green-2:#dff0e7;--ink:#3b3123;--muted:#8c7c60;--line:#e9ddc2;--surface:#fff;--amber:#a96012;--amber-bg:#faedd3;--blue:#9c542e;--blue-bg:#f6e9dc;--red:#c33b32;--shadow:0 10px 28px rgba(120,88,36,.09)}
body,.layout{background:#f8f2e5;color:#3b3123}
.sidebar{background:linear-gradient(180deg,#f1e6ce,#f8f2e5);border-right-color:#e9ddc2;box-shadow:4px 0 20px rgba(120,88,36,.035)}
.brand-mark{background:linear-gradient(135deg,#c05a2e,#d9962b);box-shadow:0 7px 17px rgba(192,90,46,.2)}
.sidebar .brand{color:#3b3123}.sidebar .brand small{color:#8c7c60}.sidebar .nav-item{color:#75664f}.sidebar .nav-item:hover{background:#fffaf0;color:#9c4522}.sidebar .nav-item.active{color:#a94e27;background:#fff;border:1px solid #e9ddc2;box-shadow:inset 3px 0 #c05a2e,0 4px 12px rgba(120,88,36,.06)}
.side-user{border-color:#e9ddc2}.avatar{background:#f4dfb3;color:#875218}.main{color:#3b3123}.topbar{border-color:#e9ddc2}.topbar h1,.section-heading h2,.greeting h2{color:#3b3123}.eyebrow,.muted,.section-heading p,.greeting p{color:#8c7c60}
.connection,.date-chip{background:#fffdf8;border-color:#e9ddc2;color:#75664f}.connection i{background:#0e7c5b;box-shadow:0 0 0 3px #dff0e7}
.metric,.quick-card,.table-card,.booking-card,.history-row,.form-card,.info-card,.order-panel,.menu-list{border-color:#e9ddc2;box-shadow:0 8px 22px rgba(120,88,36,.06)}
.metric-icon.green,.green{color:#0e7c5b;background:#dff0e7}.blue{color:#9c542e;background:#f6e9dc}.amber{color:#9a6717;background:#faedd3}.metric-label,.metric-foot,.table-card small,.menu-item small{color:#8c7c60}
.quick-card:hover,.table-card:hover,.menu-item:hover{border-color:#d9b28b}.quick-symbol.green{background:#f6e4d2;color:#a94e27}.quick-symbol.blue{background:#f7e8d6;color:#9c542e}.arrow{color:#be7842}.notice-card{background:#eef5e9;border-color:#dce7ce;color:#0e7c5b}.notice-card p{color:#55704e}
.table-card.occupied{border-color:#dfb37d;background:#fff9eb}.table-card.selected{outline-color:#c05a2e}.occupied .table-state{color:#8c4a24;background:#f6e2cc}.button.primary{background:#c05a2e;box-shadow:0 5px 14px rgba(192,90,46,.16)}.button.primary:hover{background:#9c4522;filter:none;box-shadow:0 8px 18px rgba(192,90,46,.2)}.button.secondary{background:#f2e8d7;color:#80522d}.button.outline{border-color:#e5d4b7;color:#8d512c}.button.full{margin-top:11px}
.menu-item{border-color:#f0e8d9}.menu-item strong,.add-mark{color:#a94e27}.add-mark{background:#f8ead7;border-radius:11px}.status-pill.green,.status-pill.occupied-status{background:#dff0e7;color:#0e7c5b}.app-footer{border-color:#e9ddc2;color:#8c7c60}.toast{box-shadow:0 12px 32px rgba(120,88,36,.18)}

/* Stock workspace */
.stock-page{display:grid;gap:17px;max-width:1320px;margin:0 auto}
.stock-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;border:1px solid #ead4bd;border-radius:20px;background:linear-gradient(115deg,#fffaf0 0%,#faedd3 60%,#f5dfc2 100%);box-shadow:0 8px 24px rgba(120,88,36,.06)}
.stock-welcome h2{margin:4px 0 3px;color:#633d26;font-size:24px;line-height:32px;letter-spacing:-.4px}.stock-welcome p{max-width:720px;margin:0;color:#806d55;font-size:13px;line-height:20px}.stock-welcome-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid #e9c9a4;border-radius:17px;background:#fffaf3;color:#bd602e;box-shadow:0 5px 14px rgba(144,87,29,.08)}.stock-welcome-icon .ui-icon{width:29px;height:29px}
.stock-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stock-metrics article{position:relative;display:grid;gap:4px;min-width:0;padding:15px 17px;border:1px solid #e9ddc2;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(120,88,36,.05)}.stock-metrics article>small{color:#8c7c60;font-size:11px}.stock-metrics article>b{overflow:hidden;color:#3b3123;font-size:20px;line-height:28px;text-overflow:ellipsis;white-space:nowrap}.stock-metrics article>span:last-child{color:#93836b;font-size:10px;line-height:15px}.stock-metrics article>b i{color:#baaa92;font-size:11px;font-style:normal}.stock-metric-icon{position:absolute;top:13px;right:14px;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#f8ead7;color:#b5572b}.stock-metric-icon .ui-icon{width:17px;height:17px}.stock-metric-icon.green{background:#dff0e7;color:#0e7c5b}.stock-metric-icon.honey{background:#faedd3;color:#9a6717}
.stock-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px;border:1px solid #e9ddc2;border-radius:15px;background:#fffaf0}.stock-tabs{display:flex;align-items:center;gap:4px}.stock-tab{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border:0;border-radius:11px;background:transparent;color:#76684f;font-size:12px;font-weight:600;white-space:nowrap}.stock-tab:hover{background:#fff}.stock-tab.active{background:#fff;color:#a94e27;box-shadow:0 2px 9px rgba(120,88,36,.1)}.stock-tab span{padding:2px 7px;border-radius:999px;background:#f3e8d4;color:#8c7c60;font-size:10px}
.stock-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);align-items:start;gap:15px}.stock-card,.stock-form-card{min-width:0;padding:18px;border:1px solid #e9ddc2;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(120,88,36,.055)}.stock-card-heading,.stock-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.stock-card-heading h3,.stock-form-heading h3{margin:0;color:#3b3123;font-size:15px;line-height:22px}.stock-card-heading p,.stock-form-heading p{margin:3px 0 0;color:#8c7c60;font-size:10px;line-height:15px}.stock-count{flex:none;padding:5px 9px;border:1px solid #ebdfc7;border-radius:999px;background:#fffaf1;color:#8b5a2e;font-size:10px;font-weight:700}.stock-item-list{display:grid}.stock-item-row{display:grid;grid-template-columns:minmax(145px,1.5fr) minmax(125px,1fr) minmax(105px,.8fr) minmax(105px,.9fr) auto;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid #f1eadc}.stock-item-name{display:flex;align-items:center;gap:10px;min-width:0}.stock-item-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:#f8ead7;color:#ad562a}.stock-item-symbol .ui-icon{width:18px;height:18px}.stock-item-name>span:last-child{min-width:0}.stock-item-name b,.stock-item-name small,.stock-quantity span,.stock-unit-cost small,.stock-item-value small{display:block}.stock-item-name b{overflow:hidden;color:#483727;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stock-item-name small,.stock-quantity span,.stock-unit-cost small,.stock-item-value small{margin-top:3px;color:#96866d;font-size:9px}.stock-quantity b,.stock-unit-cost b,.stock-item-value b{color:#493a2a;font-size:11px;white-space:nowrap}.stock-quantity b small{color:#8c7c60;font-size:9px}.stock-level{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap}.stock-level i{width:6px;height:6px;border-radius:50%;background:currentColor}.stock-level.good{background:#e4f1e6;color:#187257}.stock-level.low{background:#fff0d8;color:#a85a12}
.stock-alert-card{padding:17px}.stock-alert-count{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:50%;background:#edf0e7;color:#718052;font-size:12px;font-weight:700}.stock-alert-count.has-low{background:#fff0d8;color:#a85a12}.stock-low-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #f1eadc;color:#8c7c60;font-size:9px}.stock-low-row b,.stock-low-row small{display:block}.stock-low-row b{color:#463726;font-size:11px}.stock-low-row small{margin-top:3px;font-size:9px}.stock-all-good{display:grid;justify-items:center;gap:7px;padding:19px 7px;text-align:center}.stock-all-good>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e4f1e6;color:#187257;font-size:19px}.stock-all-good b{color:#4f684a;font-size:10px}.stock-all-good small{color:#93846d;font-size:9px;line-height:14px}.stock-value-card{display:grid;gap:4px;margin-top:13px;padding:13px;border:1px solid #ead8bd;border-radius:13px;background:linear-gradient(120deg,#fffaf0,#f8edd8)}.stock-value-card small,.stock-value-card span{color:#8c7c60;font-size:9px}.stock-value-card b{color:#974c28;font-size:18px}.stock-kv{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #f1eadc;color:#817057;font-size:10px}.stock-kv b{color:#453626;font-size:11px}.stock-kv.total{margin-top:5px;border-top-color:#e8d8bf;color:#453626;font-weight:700}.stock-kv.total b{color:#a94e27;font-size:13px}.stock-info-note{margin-top:12px;padding:10px;border-radius:11px;background:#f7f0e2;color:#806b4f;font-size:9px;line-height:15px}
.stock-form-card{padding:17px 18px;border-color:#e4c9a7;background:#fffdf9}.stock-close{display:grid;place-items:center;flex:none;width:31px;height:31px;border:1px solid #eee0c9;border-radius:9px;background:#fff;color:#8c7c60;font-size:19px}.stock-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stock-create-grid label,.stock-line-entry label{display:grid;gap:5px;color:#6f5d45;font-size:10px;font-weight:600}.stock-create-grid input,.stock-line-entry input,.stock-line-entry select{width:100%;min-width:0;min-height:40px;padding:9px 10px;border:1px solid #e7dcc8;border-radius:10px;background:#fff;color:#3b3123;font:inherit;font-size:11px;outline:none}.stock-create-grid input:focus,.stock-line-entry input:focus,.stock-line-entry select:focus{border-color:#d48a52;box-shadow:0 0 0 3px #f8ead7}.stock-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.stock-form-actions .button{min-height:39px;padding:9px 13px;font-size:11px}.stock-form-actions .button.full{width:auto;margin-top:0}.stock-lines-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:17px 0 8px}.stock-lines-title b{color:#51412e;font-size:11px}.stock-lines-title span{color:#98886f;font-size:9px}.stock-line-list{display:grid;gap:8px}.stock-line-entry{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(100px,.7fr) 30px;align-items:end;gap:9px;padding:10px;border:1px solid #eee4d2;border-radius:12px;background:#fffaf2}.stock-line-entry:has([name="unitCostVnd"]){grid-template-columns:minmax(0,1.2fr) minmax(95px,.65fr) minmax(125px,.85fr) 30px}.stock-line-entry:not(:has([name="unitCostVnd"])){grid-template-columns:minmax(0,1.5fr) minmax(100px,.7fr) 30px}.stock-line-remove{width:30px;height:37px;border:1px solid #f0d7c1;border-radius:9px;background:#fff6ee;color:#ad562a;font-size:18px}.stock-line-remove:disabled{opacity:.4;cursor:not-allowed}.stock-add-line{margin-top:9px;padding:7px 0;border:0;background:transparent;color:#a64f29;font-size:10px;font-weight:700}.stock-empty-inline{padding:15px;border-radius:12px;background:#f8f1e5;color:#8c7c60;font-size:11px}
.stock-receipt-list{display:grid;gap:9px}.stock-receipt-card{overflow:hidden;border:1px solid #eee4d2;border-radius:13px;background:#fff}.stock-receipt-head{display:flex;align-items:center;gap:10px;padding:11px 12px;background:#fffcf6}.stock-receipt-icon{display:grid;place-items:center;flex:none;width:33px;height:33px;border-radius:10px}.stock-receipt-icon .ui-icon{width:17px;height:17px}.stock-receipt-icon.in{background:#e4f1e6;color:#187257}.stock-receipt-icon.out{background:#faead6;color:#ae582c}.stock-receipt-title{flex:1;min-width:0}.stock-receipt-title b,.stock-receipt-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-receipt-title b{color:#493a2a;font-size:10px}.stock-receipt-title small{margin-top:3px;color:#98886f;font-size:8px}.stock-receipt-head>strong{color:#6b492b;font-size:10px;white-space:nowrap}.stock-receipt-lines{display:grid;padding:2px 12px 7px}.stock-receipt-lines>div{display:flex;justify-content:space-between;gap:9px;padding:7px 0;border-bottom:1px solid #f3eddf;color:#54432f;font-size:9px}.stock-receipt-lines>div:last-child{border-bottom:0}.stock-receipt-lines small{display:block;margin-top:3px;color:#95866e;font-size:8px}.stock-receipt-lines>div>b{font-size:9px;white-space:nowrap}.stock-receipt-note{margin:0;padding:0 12px 10px;color:#8c7c60;font-size:9px}.stock-empty{display:grid;justify-items:center;gap:8px;padding:31px 16px;text-align:center}.stock-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#f8ead7;color:#b5572b;font-size:23px}.stock-empty>b{color:#51412e;font-size:12px}.stock-empty>p{max-width:400px;margin:0;color:#8c7c60;font-size:10px;line-height:16px}.stock-empty .button{min-height:38px;margin-top:4px;font-size:11px}
@media(max-width:1040px){.stock-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-layout{grid-template-columns:minmax(0,1fr)}.stock-alert-card{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.stock-alert-card>.stock-card-heading,.stock-alert-card>.stock-value-card,.stock-alert-card>.stock-kv,.stock-alert-card>.stock-info-note{grid-column:1/-1}}
@media(max-width:760px){.stock-page{gap:11px}.stock-welcome{padding:15px 16px;border-radius:15px}.stock-welcome h2{font-size:20px;line-height:27px}.stock-welcome p{font-size:11px;line-height:17px}.stock-welcome-icon{width:43px;height:43px;border-radius:13px}.stock-metrics{gap:8px}.stock-metrics article{padding:12px 11px;min-height:97px}.stock-metrics article>b{font-size:16px;line-height:23px}.stock-metrics article>small{font-size:9px}.stock-metrics article>span:last-child{font-size:8px}.stock-metric-icon{top:9px;right:9px;width:25px;height:25px}.stock-metric-icon .ui-icon{width:14px;height:14px}.stock-toolbar{align-items:stretch;flex-direction:column;padding:7px}.stock-tabs{overflow-x:auto;scrollbar-width:none}.stock-tabs::-webkit-scrollbar{display:none}.stock-tab{flex:1 0 auto;justify-content:center;min-height:38px;padding:7px 9px;font-size:10px}.stock-toolbar>.button{width:100%;min-height:41px;font-size:12px}.stock-card,.stock-form-card{padding:13px;border-radius:15px}.stock-card-heading h3,.stock-form-heading h3{font-size:13px}.stock-card-heading p,.stock-form-heading p{font-size:9px}.stock-item-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px 2px}.stock-item-name{grid-column:1}.stock-quantity{grid-column:2;text-align:right}.stock-unit-cost,.stock-item-value{display:none}.stock-level{grid-column:1/-1;justify-self:start}.stock-alert-card{display:block}.stock-create-grid{grid-template-columns:minmax(0,1fr)}.stock-form-actions{grid-column:1}.stock-form-actions .button{flex:1}.stock-lines-title{align-items:flex-start;flex-direction:column;gap:2px}.stock-line-entry:has([name="unitCostVnd"]){grid-template-columns:minmax(0,1fr) minmax(90px,.65fr) 30px}.stock-line-entry:has([name="unitCostVnd"]) label:nth-child(3){grid-column:1/-1}.stock-line-entry:has([name="unitCostVnd"]) .stock-line-remove{grid-column:2;grid-row:1}.stock-line-entry:not(:has([name="unitCostVnd"])){grid-template-columns:minmax(0,1fr) minmax(90px,.65fr) 30px}.stock-line-entry label{font-size:9px}.stock-line-entry input,.stock-line-entry select,.stock-create-grid input{min-height:39px;font-size:11px}.stock-receipt-head{padding:9px}.stock-receipt-title small{font-size:7px}.stock-receipt-head>strong{font-size:9px}}

.stock-item-row{grid-template-columns:minmax(145px,1.5fr) minmax(125px,1fr) minmax(105px,.8fr) minmax(105px,.9fr) auto 30px}
.stock-edit-button{display:grid;place-items:center;width:29px;height:29px;border:1px solid #eadcc8;border-radius:9px;background:#fffaf1;color:#a6532b;font-size:16px;line-height:1;cursor:pointer}
.stock-edit-button:hover{border-color:#d69a68;background:#f8ead7}
@media(max-width:760px){.stock-item-row{grid-template-columns:minmax(0,1fr) auto 30px}.stock-item-name{grid-column:1}.stock-quantity{grid-column:2}.stock-level{grid-column:1/3}.stock-edit-button{grid-column:3;grid-row:2;align-self:center}}

/* Homestay check-in, private ID capture and room feature settings */
.homestay-page,.settings-page{display:grid;gap:18px}.homestay-page>.section-heading,.settings-intro{margin:0;padding:19px 22px;border:1px solid #e9ddc2;border-radius:17px;background:linear-gradient(125deg,#fffdf8,#fbf4e8)}.homestay-page>.section-heading h2,.settings-intro h2{margin:3px 0 4px;color:#4b3527;font-size:19px}.homestay-columns{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start}.homestay-columns>section:first-child{min-width:0}.homestay-columns .booking-list{display:grid;gap:11px}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.id-photo-state{padding:6px 9px;border-radius:999px;background:#fff1dc;color:#98601f;font-size:10px;font-weight:700}.id-photo-state.saved{background:#e5f2ec;color:#176b57}.id-photo-links{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.id-photo-links a{padding:7px 9px;border:1px solid #e4d7bf;border-radius:9px;background:#fffaf1;color:#83532f;font-size:10px;font-weight:600;text-decoration:none}.id-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.id-photo-field{display:grid;align-content:start;gap:7px;min-width:0;padding:12px;border:1px dashed #d9c8a9;border-radius:12px;background:#fffaf2;color:#5b4735;font-size:11px;font-weight:700}.id-photo-field input{width:100%;min-width:0;padding:8px;border:1px solid #e8ddca;border-radius:8px;background:white;color:#645342;font:inherit;font-size:10px}.id-photo-field small{color:#927f66;font-size:9px;font-weight:400;line-height:1.5}.id-photo-preview{width:100%;max-height:180px;object-fit:contain;border-radius:8px;background:#f2eee5}.booking-id-photos{margin:1px 0}.modal-scrim.checkin-scrim{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:20px;background:#19282090;backdrop-filter:blur(5px)}.checkin-modal{position:relative;width:min(620px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;background:#fffdf8}.checkin-modal h2{margin:5px 35px 5px 0}.checkin-modal>p{margin:0 0 15px;color:#788077;font-size:12px;line-height:1.6}.modal-x{position:absolute;top:13px;right:13px;width:35px;height:35px;border:1px solid #eadfcf;border-radius:50%;background:#fff;color:#806850;font-size:22px}.checkin-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.checkin-actions .button{min-height:42px}.settings-tabs{display:flex;gap:7px;padding:5px;border:1px solid #e9ddc2;border-radius:13px;background:#f6f0e4}.settings-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:9px 16px;border:0;border-radius:10px;background:transparent;color:#73644e;font-size:12px;font-weight:700}.settings-tab .ui-icon{width:17px;height:17px}.settings-tab.active{background:#fff;color:#99502b;box-shadow:0 2px 8px #6d4a2112}.room-type-list,.room-config-list{display:grid;gap:11px}.room-type-card,.room-config-card{padding:15px;border:1px solid #eee4d2;border-radius:14px;background:#fffefa}.room-type-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.room-type-icon,.room-card-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#f8ead7;color:#a6532b}.room-type-heading b,.room-type-heading small{display:block}.room-type-heading b{color:#473627;font-size:12px}.room-type-heading small{margin-top:3px;color:#91816a;font-size:9px}.room-type-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:9px}.room-type-fields label,.room-config-fields label{display:grid;gap:5px;color:#756249;font-size:10px;font-weight:600}.room-type-fields input,.room-config-fields input,.room-config-fields select{width:100%;min-width:0;min-height:39px;padding:8px 9px;border:1px solid #e6dbc7;border-radius:9px;background:#fff;color:#42392d;font:inherit;font-size:11px}.room-type-fields .button,.room-config-card>.button{min-height:39px;padding:8px 11px;white-space:nowrap}.room-inventory-settings{margin-top:2px}.room-config-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-config-card{min-width:0}.room-config-card>header{display:flex;align-items:center;gap:9px;margin-bottom:12px}.room-card-icon{width:34px;height:34px}.room-card-icon .ui-icon{width:18px;height:18px}.room-config-card header>div{flex:1;min-width:0}.room-config-card header h3{margin:0;color:#4a3828;font-size:12px}.room-config-card header p{margin:3px 0 0;color:#90816b;font-size:9px}.room-rate{flex:none;color:#9e522b;font-size:11px;font-weight:700;text-align:right}.room-rate small{display:block;color:#94846b;font-size:8px;font-weight:500}.room-config-fields{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:9px;margin-bottom:13px}.amenities-heading{display:grid;gap:3px;margin-bottom:7px}.amenities-heading b{color:#584835;font-size:10px}.amenities-heading small{color:#92846f;font-size:9px}.amenity-group{margin:8px 0;padding:0;border:0}.amenity-group legend{margin-bottom:6px;color:#93846d;font-size:9px;font-weight:700}.amenity-group>div{display:flex;flex-wrap:wrap;gap:6px}.amenity-chip{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 8px;border:1px solid #e9e2d6;border-radius:999px;background:#fff;color:#766c5c;font-size:9px;cursor:pointer;transition:.15s}.amenity-chip input{position:absolute;width:1px;height:1px;opacity:0}.amenity-chip>span{font-size:11px;color:#9a7955}.amenity-chip.selected{border-color:#dfbd94;background:#fbf0df;color:#86502d}.amenity-chip.selected>span{color:#b45c32}.room-config-card>.button{margin-top:5px}
@media(max-width:1100px){.homestay-columns{grid-template-columns:minmax(0,1fr)}.room-type-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.room-config-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.homestay-page,.settings-page{gap:13px}.homestay-page>.section-heading,.settings-intro{padding:15px;border-radius:14px}.homestay-page>.section-heading h2,.settings-intro h2{font-size:17px}.homestay-columns{grid-template-columns:minmax(0,1fr);gap:14px}.homestay-columns .form-card{padding:15px}.id-photo-grid{grid-template-columns:minmax(0,1fr)}.booking-id-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-scrim{align-items:end!important;padding:8px!important}.checkin-modal{max-height:calc(100dvh - 16px);padding:19px;border-radius:19px}.checkin-actions{flex-direction:column-reverse}.checkin-actions .button{width:100%}.settings-tabs{position:sticky;top:4px;z-index:4}.settings-tab{flex:1;padding:8px 10px}.settings-page .settings-grid{grid-template-columns:minmax(0,1fr)}.room-type-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.room-type-fields .button{grid-column:1/-1}.room-config-list{grid-template-columns:minmax(0,1fr)}.room-config-card{padding:13px}.room-config-fields{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.id-photo-links a{font-size:9px}}

/* Room types own their specs and shared amenities; room cards stay presentation-only. */
.room-section-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.room-section-actions .button{min-height:34px}.room-type-card{padding:16px}.room-type-fields{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.room-type-fields label{min-width:0}.room-type-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.room-type-actions .button{min-height:36px}.new-room-type-card{border-color:#d8c3a4;background:#fffcf6}.room-type-card .amenities-heading{margin-top:4px}.room-type-card .amenity-group{margin:7px 0}.room-config-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-config-card{padding:15px;border-color:#e9dfce;background:#fffefa;box-shadow:0 4px 14px #4c39200a}.room-config-card>header{margin-bottom:11px}.room-config-card .room-card-icon{background:#f6ead8;color:#a4522f}.room-spec-strip{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:12px;color:#302f2b;font-size:12px;line-height:1.6}.room-spec-strip>*{padding:0 12px;border-right:1px solid #e4ded2}.room-spec-strip>*:first-child{padding-left:0}.room-spec-strip>*:last-child{border-right:0}.room-spec-strip b{font-size:14px;color:#292720}.room-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;padding-top:10px;border-top:1px solid #eee8dd}.room-feature-list>span{display:flex;align-items:center;gap:7px;min-width:0;color:#55534e;font-size:11px;line-height:1.4}.room-feature-list i{flex:none;color:#625f58;font-size:15px;font-style:normal}.room-feature-list>small{grid-column:1/-1;color:#998d7a;font-size:10px}.new-room-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding:13px;border:1px solid #ebdfca;border-radius:12px;background:#fffcf6}.new-room-form label{display:grid;flex:1 1 190px;gap:5px;color:#756249;font-size:10px;font-weight:600}.new-room-form input,.new-room-form select{width:100%;min-height:38px;padding:8px 9px;border:1px solid #e6dbc7;border-radius:9px;background:#fff;color:#42392d;font:inherit;font-size:11px}.new-room-form .button{min-height:38px}.room-inventory-settings>.section-heading{align-items:center}
@media(max-width:1100px){.room-type-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.room-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.room-section-actions{justify-content:flex-start;margin-top:8px}.room-type-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.room-config-list{grid-template-columns:minmax(0,1fr)}.room-spec-strip{gap:6px 0}.room-spec-strip>*{padding:0 8px}.room-spec-strip>*:first-child{padding-left:0}.room-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-inventory-settings>.section-heading{align-items:flex-start}.new-room-form{align-items:stretch}.new-room-form .button{flex:1}}
.room-config-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid #eee8dd}.room-config-form>label{display:grid;gap:5px;color:#756249;font-size:10px;font-weight:600}.room-config-form input,.room-config-form select{width:100%;min-width:0;min-height:38px;padding:8px 9px;border:1px solid #e6dbc7;border-radius:9px;background:#fff;color:#42392d;font:inherit;font-size:11px}.room-config-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.room-config-actions .button{min-height:35px}.room-config-actions .button.danger{border:1px solid #f0d3ca;background:#fff8f6;color:#a83d2c}
@media(max-width:760px){.room-config-form{grid-template-columns:minmax(0,1fr)}.room-config-actions{grid-column:1}}
.user-create-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;align-items:end}.user-create-form label,.user-role-field,.custom-role-card>label{display:grid;gap:6px;font-size:10px;color:#5d6c65;font-weight:600}.user-create-form input,.user-create-form select,.user-role-field select,.custom-role-card>label input{width:100%;min-width:0;border:1px solid #dfe5e0;background:#fff;border-radius:9px;padding:10px 11px;min-height:40px;color:var(--ink);font-size:11px}.user-create-form>.button{min-height:40px}.user-admin-list,.custom-role-list{display:grid;gap:8px;margin-top:16px}.user-admin-card{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.user-admin-identity{min-width:140px;flex:1}.user-admin-identity b,.user-admin-identity small{display:block}.user-admin-identity b{font-size:11px}.user-admin-identity small{margin-top:4px;color:var(--muted);font-size:9px}.user-role-field{min-width:150px}.user-active-field{display:flex;align-items:center;gap:6px;font-size:10px;color:#53625c;white-space:nowrap}.user-active-field input{accent-color:var(--green)}.role-admin{grid-column:1/-1}.custom-role-card{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.custom-role-card fieldset{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:10px}.custom-role-card legend{padding:0 5px;color:#5d6c65;font-size:10px;font-weight:600}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.permission-option{display:flex;align-items:flex-start;gap:7px;padding:8px;border-radius:8px;background:#f7f9f7;color:#53625c;font-size:10px;line-height:1.5}.permission-option input{margin:2px 0 0;accent-color:var(--green)}.custom-role-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.account-admin{grid-column:1/-1}.account-admin .section-heading,.role-admin .section-heading{margin-top:0}@media(max-width:850px){.user-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-admin-card{flex-wrap:wrap}.user-admin-identity{flex-basis:100%}}@media(max-width:520px){.user-create-form{grid-template-columns:1fr}.user-role-field{flex:1}}
.menu-section+.menu-section,.catalog-menu-group+.catalog-menu-group{border-top:1px solid #e8e1d5;margin-top:8px;padding-top:8px}.menu-group-heading{margin:0;padding:10px 12px;color:#31594e;font-size:12px;font-weight:700;letter-spacing:.02em;background:#f4f7f3;border-bottom:1px solid #e8eee8}.menu-subgroup+.menu-subgroup,.catalog-menu-subgroup+.catalog-menu-subgroup{border-top:1px solid #e8e1d5;margin-top:7px;padding-top:5px}.menu-subheading{margin:0;padding:8px 12px 4px;color:#7b6c55;font-size:10px;font-weight:700}.menu-section>.menu-item:last-child{border-bottom:0}.combo-menu-section>.menu-group-heading{background:#fff4df;color:#9a571c;border-color:#f0dcc0}.catalog-menu-group{display:grid;gap:7px}.catalog-menu-group>.menu-group-heading{border:1px solid #e8eee8;border-radius:9px}.catalog-menu-subgroup{display:grid;gap:7px}
.checkout-backdrop{z-index:25}.checkout-card{width:min(100%,560px);max-height:min(92vh,820px);overflow:auto;padding:26px}.checkout-card h2{font-size:21px;margin:5px 32px 7px 0}.checkout-card form{display:grid;gap:13px;margin-top:18px}.checkout-card form>label,.qr-settings-form>label{display:grid;gap:6px;color:var(--ink);font-size:11px;font-weight:700}.checkout-card input:not([type=checkbox]),.checkout-card select,.qr-settings-form input{width:100%;min-height:43px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit}.checkout-total,.checkout-change{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:12px;background:#f6f7f1;color:var(--muted)}.checkout-total b{font-size:20px;color:var(--ink)}.checkout-change{padding:8px 0;background:transparent}.checkout-change b{color:#167b5b}.checkout-confirm{display:flex!important;align-items:flex-start;gap:9px!important;font-weight:500!important;line-height:1.5}.checkout-confirm input{margin-top:3px;accent-color:#14876e}.checkout-qr{display:grid;grid-template-columns:170px minmax(0,1fr);gap:15px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.checkout-qr img{width:100%;border-radius:8px}.checkout-qr>div{display:grid;gap:6px;min-width:0}.checkout-qr>div>b{font-size:12px}.checkout-qr>div>span,.checkout-qr small{color:var(--muted);font-size:10px;line-height:1.5}.checkout-qr label{display:grid;gap:4px;margin-top:4px;font-size:10px;font-weight:700}.checkout-qr input{min-height:37px!important;font-size:11px!important}.checkout-qr-missing{padding:12px;border-radius:10px;background:#fff4e1;color:#875327;font-size:11px;line-height:1.7}.checkout-qr-missing .text-button{display:inline;padding:0}.checkout-card .dialog-actions{margin-top:2px}.checkout-card .dialog-actions .button{min-height:43px}.housekeeping-actions{flex-wrap:wrap}.needs-cleaning{border-color:#efb977!important;background:#fff7e8!important}.housekeeping-ticket>.button{align-self:flex-start}.housekeeping-intro{margin-top:20px}.qr-settings-card{grid-column:1/-1}.qr-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qr-settings-form>button,.qr-settings-form>small{grid-column:1/-1}.qr-settings-form>small,.order-discount-note{color:var(--muted);font-size:10px;line-height:1.5}.order-discount-note{display:block;margin:-7px 0 10px;text-align:right}
@media(max-width:640px){.checkout-card{padding:21px 17px}.checkout-qr{grid-template-columns:minmax(0,1fr);justify-items:center}.checkout-qr img{width:min(100%,230px)}.checkout-qr>div{width:100%}.qr-settings-form{grid-template-columns:minmax(0,1fr)}.qr-settings-form>button,.qr-settings-form>small{grid-column:1}.checkout-card .dialog-actions{display:grid;grid-template-columns:1fr}.housekeeping-actions{display:grid}}
.shift-locked-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-height:100dvh;padding:24px;background:#f8f2e5}.shift-locked-card{width:min(100%,460px);padding:34px 28px;text-align:center;border:1px solid #e9ddc2;border-radius:22px;background:#fff;box-shadow:0 24px 70px #273b3218}.shift-locked-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:20px;background:#fff2dc;color:#b76927;font-size:30px}.shift-locked-card h1{margin:0 0 10px;color:#163e32;font-size:25px}.shift-locked-card p{margin:0 0 24px;color:#6f7c74;font-size:15px;line-height:1.7}.shift-locked-card .button{min-width:170px;min-height:46px}.shift-admin{grid-column:1/-1}.shift-start-form{display:grid;gap:13px}.shift-name-field{display:grid;gap:6px;max-width:340px;color:#5d6c65;font-size:11px;font-weight:700}.shift-name-field input,.shift-member-option select{min-width:0;min-height:39px;padding:8px 10px;border:1px solid #dfe5e0;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:11px}.shift-roster{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.shift-roster legend{padding:0 5px;color:#53625c;font-size:11px;font-weight:700}.shift-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shift-member-option{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid #e5e9e5;border-radius:10px;background:#fff}.shift-member-option>input{flex:none;accent-color:#147b62}.shift-member-option.already-assigned{background:#f5f7f5;color:#89948d}.shift-member-name{flex:1;min-width:0}.shift-member-name b,.shift-member-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-member-name b{font-size:11px}.shift-member-name small{margin-top:3px;color:#78867e;font-size:9px}.shift-member-option select{width:min(135px,44%);min-height:34px;padding:5px 7px;font-size:10px}.shift-start-form>.button{justify-self:start}.shift-history-list{display:grid;gap:9px;margin-top:16px}.shift-card{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.shift-card-active{border-color:#b6ddcc;background:#fbfffc}.shift-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.shift-card-heading>div{min-width:0}.shift-card-heading b,.shift-card-heading small{display:block}.shift-card-heading b{font-size:12px}.shift-card-heading small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}.shift-member-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.shift-member-chip{display:grid;gap:3px;padding:7px 9px;border-radius:9px;background:#f3f6f3}.shift-member-chip b{font-size:10px}.shift-member-chip small{color:#758179;font-size:9px}
@media(max-width:760px){.shift-locked-screen{padding:18px}.shift-locked-card{padding:28px 20px;border-radius:18px}.shift-locked-card h1{font-size:22px}.shift-locked-card p{font-size:14px}.shift-roster-grid{grid-template-columns:1fr}.shift-member-option select{width:min(145px,44%)}.shift-card-heading{align-items:flex-start}.shift-card-heading .button{flex:none}}
/* Mobile app navigation: keep every permitted section reachable in a scrollable drawer. */
.mobile-nav-toggle,.mobile-nav-close,.mobile-nav-backdrop{display:none}
@media(max-width:760px){
  .mobile-nav-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;margin-right:10px;border:1px solid var(--line);background:#fff;color:var(--green);font-size:21px;border-radius:12px;touch-action:manipulation}
  .topbar{justify-content:flex-start;gap:0}
  .topbar-title{min-width:0}
  .topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sidebar{display:flex!important;position:fixed;inset:0 auto 0 0;width:min(310px,86vw);height:100vh;height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 15px calc(12px + env(safe-area-inset-bottom));overflow:hidden;transform:translateX(-105%);transition:transform .22s ease;box-shadow:none;z-index:21}
  .layout.mobile-nav-open .sidebar{transform:translateX(0);box-shadow:12px 0 36px rgba(20,44,34,.18)}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,30,24,.38);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:20;touch-action:manipulation}
  .layout.mobile-nav-open .mobile-nav-backdrop{opacity:1;visibility:visible}
  .sidebar .brand{margin:0 3px 22px;flex:0 0 auto}
  .mobile-nav-close{display:grid;place-items:center;margin-left:auto;font-size:26px;line-height:1}
  .sidebar-caption{flex:0 0 auto;margin-bottom:14px}
  .sidebar nav{display:grid;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;gap:5px;padding:2px 2px 12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .sidebar .nav-item{min-height:50px;padding:12px 13px;font-size:14px;touch-action:manipulation}
  .sidebar .nav-item .nav-icon{font-size:20px}
  .side-user{flex:0 0 auto;margin-top:8px;padding-top:10px}
  .main{margin:0;width:100%;padding:calc(12px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));}
  .topbar{min-height:52px;height:auto;margin-bottom:14px;padding-bottom:9px}
  .app-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
  .sidebar .brand{display:flex!important;align-items:center;width:100%;margin:0 3px 18px;flex:0 0 auto}
  .sidebar .brand>span:nth-child(2){min-width:0;flex:1}
  .sidebar .mobile-nav-close{display:grid;flex:0 0 38px;place-items:center}
  .sidebar nav{align-content:start;grid-auto-rows:max-content;gap:5px}
  .sidebar .side-user{display:flex!important;align-items:center;flex:0 0 auto;gap:10px;margin:10px 0 0;padding:12px 2px calc(2px + env(safe-area-inset-bottom));border-top:1px solid #e9ddc2}
  .sidebar .side-user .avatar{flex:0 0 36px;width:36px;height:36px;font-size:12px}
  .sidebar .side-user .user-lines{display:block;min-width:0;flex:1}
  .sidebar .side-user .user-lines b{font-size:12px}
  .sidebar .side-user .user-lines small{font-size:10px}
  .sidebar .side-user [data-action="logout"]{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center}
}
@media(prefers-reduced-motion:reduce){.sidebar,.mobile-nav-backdrop{transition:none}}

/* Highlight kitchen items that have been waiting for more than 15 minutes. */
.kitchen-item{position:relative}
.kitchen-item .priority-tag{display:none}
.kitchen-item.is-priority{padding-top:36px}
.kitchen-item.is-priority .priority-tag{position:absolute;top:5px;right:0;display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border:1px solid #f2c978;border-radius:999px;background:#fff4d8;color:#9a4a0b;font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap}
.kitchen-item.priority-blinking .priority-tag{animation:kitchen-priority-pulse 1s ease-in-out infinite}
@keyframes kitchen-priority-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(205,82,42,.28)}50%{opacity:.42;box-shadow:0 0 0 5px rgba(205,82,42,0)}}
@media(prefers-reduced-motion:reduce){.kitchen-item.priority-blinking .priority-tag{animation:none}}

.kitchen-queues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.kitchen-queue{min-width:0;overflow:hidden;border:1px solid #dce8e2;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(26,61,48,.045)}
.kitchen-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e9efec;background:#f8fbf9}
.kitchen-queue-head h2{margin:0;color:#193d32;font-size:17px;line-height:23px}
.kitchen-queue-head p{margin:3px 0 0;color:#728179;font-size:11px}
.kitchen-queue-head>span{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#e4f3eb;color:#167457;font-size:12px;font-weight:750}
.kitchen-queue-list{display:grid;padding:0 14px}
.kitchen-queue-list .kitchen-item{gap:10px}
.kitchen-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:5px;color:#728179;font-size:10px;line-height:15px;font-variant-numeric:tabular-nums}
.kitchen-item-meta strong{color:#476256;font-weight:700}
.kitchen-item-age{color:#8b4e16;font-weight:650}
.kitchen-queue-empty{padding:22px 10px;color:#728179;font-size:12px;text-align:center}
@media(max-width:760px){.kitchen-queues{grid-template-columns:minmax(0,1fr);gap:11px}.kitchen-queue-head{padding:12px 14px}.kitchen-queue-head h2{font-size:16px}.kitchen-queue-list{padding:0 12px}.kitchen-item-meta{font-size:9px}}
/* Use the reliable system Arial stack throughout the app; keep the sidebar typeface. */
body,body *{font-family:Arial,Helvetica,sans-serif}
.sidebar,.sidebar *{font-family:'Be Vietnam Pro',sans-serif}

/* Shared readable type scale across the application pages. */
:root{--type-page-title:clamp(25px,calc(18px + 2vw),30px);--type-section-title:clamp(20px,calc(17px + 1vw),22px);--type-card-title:clamp(16px,calc(15px + .5vw),18px);--type-body:15px;--type-label:14px;--type-support:13px;--type-meta:12px}
body .main{font-size:var(--type-body);line-height:1.55}
body .main .topbar h1,body .main .kitchen-intro h2,body .main .stock-welcome h2,body .main .settings-intro h2{font-size:var(--type-page-title)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.35px}
body .main .section-heading h2,body .main .form-card h2,body .main .info-card h2,body .main .greeting h2{font-size:var(--type-section-title)!important;line-height:1.35!important;font-weight:700!important;letter-spacing:-.2px}
body .main .overview-side-heading h2,body .main .stock-card-heading h3,body .main .stock-form-heading h3,body .main .kitchen-ticket-head h2,body .main .kitchen-empty h2{font-size:var(--type-card-title)!important;line-height:1.4!important;font-weight:700!important}
body .main p{font-size:var(--type-body)!important;line-height:1.55!important}
body .main small,body .main .small-muted,body .main .eyebrow{font-size:var(--type-support)!important;line-height:1.45!important}
body .main label,body .main .form-stack label,body .main .qr-settings-form>label,body .main .shift-name-field{font-size:var(--type-label)!important;line-height:1.45!important;font-weight:600}
body .main input:not([type=checkbox]):not([type=radio]):not([type=file]),body .main select,body .main textarea{font-size:15px!important;line-height:1.4!important}
body .main .button,body .main .text-button,body .main .settings-tab,body .main .overview-tab,body .main .stock-tab{font-size:14px!important;line-height:1.4!important;font-weight:650}
body .main .menu-item b,body .main .order-line b,body .main .table-card b,body .main .booking-top b,body .main .history-row b,body .main .quick-card b,body .main .home-order-card b,body .main .stock-item-name b{font-size:15px!important;line-height:1.4!important;font-weight:650}
body .main .menu-item small,body .main .order-line small,body .main .table-card small,body .main .booking-meta,body .main .booking-price small,body .main .history-row small,body .main .quick-card small,body .main .home-order-card small,body .main .stock-item-name small,body .main .stock-quantity span,body .main .stock-unit-cost small,body .main .stock-item-value small{font-size:var(--type-support)!important;line-height:1.45!important}
body .main .metric-label,body .main .metric-foot,body .main .overview-count,body .main .status-pill,body .main .stock-count,body .main .stock-level,body .main .kitchen-ticket-count,body .main .kitchen-item-info small,body .main .item-locked-note,body .main .priority-tag{font-size:var(--type-meta)!important;line-height:1.35!important}
body .main .metric strong,body .main .total-row strong,body .main .checkout-total b{font-weight:750!important}
body .main .total-row,body .main .checkout-total,body .main .checkout-change{font-size:15px!important;line-height:1.5!important}
body .main .kitchen-item-info>b,body .main .stock-item-row .stock-quantity b,body .main .stock-item-row .stock-unit-cost b,body .main .stock-item-row .stock-item-value b{font-size:15px!important;line-height:1.45!important}
body .main .kitchen-item-meta,body .main .kitchen-item-info p,body .main .kitchen-ticket-head p,body .main .kitchen-summary span,body .main .floor-table-order,body .main .floor-table-caption .map-state,body .main .table-delivery-state,body .main .floor-delivery-state{font-size:var(--type-meta)!important;line-height:1.45!important}
body .main .floor-table-caption>b{font-size:14px!important;line-height:1.4!important}
body .main .user-admin-identity b,body .main .shift-member-name b,body .main .shift-card-heading b,body .main .shift-member-chip b{font-size:15px!important;line-height:1.4!important}
body .main .user-admin-identity small,body .main .shift-member-name small,body .main .shift-card-heading small,body .main .shift-member-chip small,body .main .permission-option,body .main .amenities-heading small{font-size:var(--type-support)!important;line-height:1.5!important}
body .main .connection,body .main .date-chip,body .main .kitchen-open-count,body .main .stock-tab span{font-size:var(--type-meta)!important}
body .main .toast{font-size:14px!important;line-height:1.45!important;font-weight:600}
body .auth-card h1{font-size:var(--type-page-title)!important;line-height:1.25!important;font-weight:700!important}
body .auth-card p,body .auth-card label,body .auth-card .text-button{font-size:var(--type-body)!important;line-height:1.55!important}
body .auth-card .button{font-size:15px!important;font-weight:700!important}
@media(max-width:760px){:root{--type-page-title:25px;--type-section-title:20px;--type-card-title:17px}body .main .app-footer{font-size:11px!important}body .main input:not([type=checkbox]):not([type=radio]):not([type=file]),body .main select,body .main textarea{font-size:16px!important}body .main .overview-layout .metric-label,body .main .overview-layout .metric-foot,body .main .overview-layout .quick-card small,body .main .overview-layout .notice-card p,body .main .home-order-card small{font-size:var(--type-support)!important}}

/* Keep every transient notice centered at the bottom of the viewport. */
.toast{position:fixed!important;left:50%!important;right:auto!important;bottom:max(16px,env(safe-area-inset-bottom))!important;z-index:1000;width:max-content;max-width:calc(100vw - 24px);margin:0;transform:translateX(-50%)!important;text-align:center}
.menu-item[hidden],.menu-subgroup[hidden],.menu-section[hidden]{display:none!important}
.restaurant-grid .menu-list{height:390px;min-height:390px;max-height:390px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}

/* Large, separate kitchen ticket printout. */
#kitchen-print-root{display:none}
@media print{
  body.printing-kitchen-ticket> :not(#kitchen-print-root){display:none!important}
  body.printing-kitchen-ticket #kitchen-print-root{display:block!important;width:100%;color:#000;background:#fff;font:16px/1.35 Arial,Helvetica,sans-serif}
  .kitchen-print-ticket{width:100%;color:#000;font:16px/1.35 Arial,Helvetica,sans-serif}
  .kitchen-print-ticket header{display:grid;gap:5px;padding-bottom:10px;border-bottom:2px solid #000;text-align:center}
  .kitchen-print-ticket header>b{font-size:19px;letter-spacing:.4px}
  .kitchen-print-ticket header>strong{font-size:27px;line-height:1.15}
  .kitchen-print-meta{display:grid;gap:5px;padding:10px 0;border-bottom:1px dashed #333;font-size:15px}
  .kitchen-print-meta>span:first-child>b{font-size:18px}
  .kitchen-print-items{display:grid}
  .kitchen-print-items article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:11px 0;border-bottom:1px dashed #777;break-inside:avoid}
  .kitchen-print-items article>b{font-size:20px;line-height:1.25;font-weight:700}
  .kitchen-print-items article>strong{font-size:22px;white-space:nowrap}
  .kitchen-print-items article>small{grid-column:1/-1;font-size:15px}
  .kitchen-print-ticket footer{padding-top:10px;font-size:14px;text-align:center}
}

/* Use the existing Vietnamese-friendly typeface throughout the app. */
body,body *{font-family:'Be Vietnam Pro',sans-serif}

/* Match the rental service rows to the restaurant menu list. */
.other-service-list{display:block;margin:0 0 16px;border:1px solid #e1eae4;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 7px 20px rgba(31,63,49,.035)}
.other-service-item{grid-template-columns:minmax(0,1fr) auto 48px;min-height:64px;gap:12px;padding:13px 15px;border:0;border-bottom:1px solid #f0e8d9;border-radius:0;background:#fff;color:#213b31}
.other-service-item:last-child{border-bottom:0}
.other-service-item b{font-size:13px;line-height:19px;color:#213b31}
.other-service-item small{font-size:11px;line-height:16px;color:#74857d}
.other-service-item strong{font-size:13px;color:#a94e27;white-space:nowrap}
.other-service-item input{width:48px;min-height:42px;padding:7px 3px;border:1px solid #f0d5b2;border-radius:11px;background:#f8ead7;color:#a94e27;font-size:15px;font-weight:600}
.other-service-item input:focus{outline:2px solid #e2a840;outline-offset:1px}
@media(max-width:760px){.other-service-item{grid-template-columns:minmax(0,1fr) auto 48px;gap:8px;padding:12px 13px}.other-service-item input{width:48px}}

/* Final typography pass: use one readable hierarchy on every workspace screen. */
:root{--type-page-title:clamp(26px,calc(20px + 1.5vw),30px);--type-section-title:21px;--type-card-title:17px;--type-body:15px;--type-label:14px;--type-support:13px;--type-meta:12px}
body .main{font-size:var(--type-body);line-height:1.55}
body .main h1{font-size:var(--type-page-title)!important;line-height:1.25!important;font-weight:700!important}
body .main h2{font-size:var(--type-section-title)!important;line-height:1.35!important;font-weight:700!important}
body .main h3,body .main h4{font-size:var(--type-card-title)!important;line-height:1.4!important;font-weight:700!important}
body .main p{font-size:var(--type-body)!important;line-height:1.55!important;font-weight:400}
body .main small,body .main .small-muted,body .main .eyebrow{font-size:var(--type-support)!important;line-height:1.45!important}
body .main label,body .main legend{font-size:var(--type-label)!important;line-height:1.45!important;font-weight:600}
body .main input:not([type=checkbox]):not([type=radio]):not([type=file]),body .main select,body .main textarea{font-size:15px!important;line-height:1.4!important}
body .main .button,body .main .text-button,body .main .settings-tab,body .main .overview-tab,body .main .stock-tab{font-size:14px!important;line-height:1.4!important;font-weight:600}
body .main .menu-item b,body .main .order-line b,body .main .table-card b,body .main .booking-top b,body .main .history-row b,body .main .quick-card b,body .main .home-order-card b,body .main .stock-item-name b,body .main .room-config-card header h3,body .main .shift-card-heading b,body .main .shift-member-name b{font-size:15px!important;line-height:1.4!important;font-weight:650}
body .main .menu-item small,body .main .order-line small,body .main .table-card small,body .main .booking-meta,body .main .booking-price small,body .main .history-row small,body .main .quick-card small,body .main .home-order-card small,body .main .stock-item-name small,body .main .stock-quantity span,body .main .stock-unit-cost small,body .main .stock-item-value small,body .main .room-config-card header p,body .main .shift-member-name small,body .main .shift-card-heading small,body .main .shift-member-chip small{font-size:var(--type-support)!important;line-height:1.45!important}
body .main .menu-group-heading{font-size:15px!important;line-height:1.4!important;font-weight:700}
body .main .menu-subheading{font-size:13px!important;line-height:1.4!important;font-weight:700}
body .main .metric-label,body .main .metric-foot,body .main .overview-count,body .main .status-pill,body .main .stock-count,body .main .stock-level,body .main .kitchen-ticket-count,body .main .kitchen-item-info small,body .main .item-locked-note,body .main .priority-tag,body .main .kitchen-item-meta,body .main .kitchen-item-info p,body .main .kitchen-ticket-head p,body .main .kitchen-queue-head p,body .main .kitchen-summary span,body .main .floor-table-order,body .main .floor-table-caption .map-state,body .main .table-delivery-state,body .main .floor-delivery-state{font-size:var(--type-meta)!important;line-height:1.45!important}
body .main .metric strong,body .main .total-row strong,body .main .checkout-total b{font-weight:750!important}
body .main .total-row,body .main .checkout-total,body .main .checkout-change{font-size:15px!important;line-height:1.5!important}
body .main .toast{font-size:14px!important;line-height:1.45!important;font-weight:600}
body .auth-card h1{font-size:var(--type-page-title)!important;line-height:1.25!important;font-weight:700!important}
body .auth-card p,body .auth-card label,body .auth-card .text-button{font-size:var(--type-body)!important;line-height:1.55!important}
body .auth-card .button{font-size:15px!important;font-weight:700!important}
.app-footer{font-size:12px!important;line-height:1.45!important}
@media(max-width:760px){:root{--type-page-title:25px;--type-section-title:20px;--type-card-title:17px}body .main input:not([type=checkbox]):not([type=radio]):not([type=file]),body .main select,body .main textarea{font-size:16px!important}}
.payment-detail-toolbar{display:flex;justify-content:space-between;gap:10px;margin:0 0 14px}.payment-invoice{width:min(100%,760px);margin:0 auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #203a2b0a;color:var(--ink)}.payment-invoice>header{text-align:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.payment-invoice>header h2{font-size:24px;margin:8px 0}.payment-invoice>header p{margin:0;color:var(--muted)}.invoice-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0}.invoice-meta span,.invoice-meta b{display:block}.invoice-meta span{font-size:12px;color:var(--muted)}.invoice-meta b{margin-top:4px;color:var(--ink);font-size:14px}.invoice-lines{border-top:1px solid var(--line)}.invoice-lines-heading,.invoice-line,.invoice-payment-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0ed}.invoice-lines-heading{color:var(--muted);font-size:12px}.invoice-line span,.invoice-line small{display:block}.invoice-line small{color:var(--muted);margin-top:4px}.invoice-total{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding:16px 0;border-top:1px solid var(--line);font-size:16px}.invoice-total b{font-size:22px}.invoice-payment-row{font-size:13px;color:var(--muted)}.invoice-payment-row b{color:var(--ink)}.invoice-refunds{margin-top:18px;padding:14px;background:#fff8f5;border-radius:10px}.invoice-total.net{border-top:1px solid #eedbd4}.payment-invoice>footer{margin-top:20px;text-align:center;color:var(--muted);font-size:12px}.payment-history-row{width:100%;text-align:left;cursor:pointer;font:inherit}.payment-history-row:hover{background:#f8fbf8}.payment-history-row .invoice-open-arrow{font-size:22px;color:var(--green)}.other-services-welcome{padding:22px 24px;margin-bottom:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#fff,#f5f8f3)}.other-services-welcome h2{margin:5px 0 8px;font-size:22px}.other-services-welcome p{margin:0;max-width:780px;color:var(--muted);line-height:1.7}.other-services-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;align-items:start}.other-service-target{display:grid;gap:7px;margin-bottom:14px;color:var(--muted);font-size:13px}.other-service-target select{min-height:42px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;color:var(--ink);font:inherit}.other-service-list{display:grid;gap:8px;margin-bottom:16px}.other-service-item{display:grid;grid-template-columns:minmax(0,1fr) auto 82px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.other-service-item span,.other-service-item b,.other-service-item small{display:block}.other-service-item small{margin-top:4px;color:var(--muted)}.other-service-item input{width:82px;min-height:40px;padding:7px;border:1px solid var(--line);border-radius:8px;text-align:center}.other-service-order-panel .order-panel{position:static}.other-service-item:has(input:disabled){opacity:.55}.order-item-delivery-status.is-rental{background:#f0effa;color:#595394}.service-order-group{border-top:1px solid #e8e9f3}
@media(max-width:760px){.other-services-layout{grid-template-columns:minmax(0,1fr)}.other-service-order-panel{order:-1}.payment-invoice{padding:18px}.payment-detail-toolbar{align-items:stretch;flex-wrap:wrap}.payment-detail-toolbar .button{flex:1;white-space:normal}.invoice-paper-control{flex:1 0 100%}.invoice-paper-control select{width:100%}.payment-history-row{grid-template-columns:32px minmax(0,1fr) auto 18px;gap:8px}.payment-history-row .status-pill{grid-column:2/3}.payment-history-row .invoice-open-arrow{grid-column:4;grid-row:1/3}.other-service-item{grid-template-columns:minmax(0,1fr) auto 68px;gap:8px;padding:10px}.other-service-item input{width:68px}}

/* Trial typography scale based on the supplied reference: 32/28/24/20/18 px. */
:root{--type-page-title:32px;--type-section-title:28px;--type-subsection-title:24px;--type-card-title:20px;--type-small-title:18px}
body .main h1,body .auth-card h1{font-size:var(--type-page-title)!important;line-height:40px!important;letter-spacing:-.64px!important;font-weight:500!important}
body .main h2{font-size:var(--type-section-title)!important;line-height:36px!important;letter-spacing:-.56px!important;font-weight:500!important}
body .main .greeting h2{font-size:var(--type-section-title)!important;line-height:36px!important}
body .main .section-heading h2,body .main .payment-invoice>header h2{font-size:var(--type-subsection-title)!important;line-height:32px!important;letter-spacing:-.48px!important;font-weight:500!important}
body .main .form-card h2,body .main .info-card h2,body .main .order-panel .section-heading h2,body .main .overview-side-heading h2,body .main .other-services-welcome h2,body .main .stock-card-heading h3,body .main .stock-form-heading h3,body .main .kitchen-ticket-head h2,body .main .kitchen-empty h2,body .main .dialog-card h2,body .main h3,body .main h4{font-size:var(--type-card-title)!important;line-height:28px!important;letter-spacing:-.4px!important;font-weight:500!important}
body .main h5,body .main .empty-state h2{font-size:var(--type-small-title)!important;line-height:26px!important;letter-spacing:-.18px!important;font-weight:500!important}
@media(max-width:760px){:root{--type-page-title:28px;--type-section-title:24px;--type-subsection-title:20px;--type-card-title:18px;--type-small-title:18px}body .main h1,body .auth-card h1{line-height:36px!important;letter-spacing:-.56px!important}body .main h2,body .main .greeting h2{line-height:32px!important;letter-spacing:-.48px!important}body .main .section-heading h2{line-height:28px!important;letter-spacing:-.4px!important}body .main .form-card h2,body .main .info-card h2,body .main .order-panel .section-heading h2,body .main .overview-side-heading h2,body .main .other-services-welcome h2,body .main .stock-card-heading h3,body .main .stock-form-heading h3,body .main .kitchen-ticket-head h2,body .main .kitchen-empty h2,body .main .dialog-card h2,body .main h3,body .main h4,body .main h5{line-height:26px!important;letter-spacing:-.18px!important}}

/* Hotel-style outline icon set for Homestay and room amenities. */
.homestay-page>.section-heading>div:first-child{display:flex;align-items:center;gap:13px}
.homestay-title-icon,.room-type-icon,.room-card-icon{display:grid;place-items:center;flex:none}
.homestay-title-icon{width:48px;height:48px;border:1px solid #ead8bb;border-radius:15px;background:#fff9ee;color:#8c5838}
.homestay-title-icon .ui-icon{width:26px;height:26px;stroke-width:1.55}
.room-type-icon{width:40px;height:40px;border:1px solid #ead9bf;border-radius:12px;background:#fff8eb;color:#8c5838}
.room-type-icon .ui-icon{width:23px;height:23px;stroke-width:1.55}
.room-card-icon{border:1px solid #ead9bf;background:#fff8eb;color:#8c5838}
.room-card-icon .ui-icon{width:21px;height:21px;stroke-width:1.55}
.booking-meta span{display:inline-flex;align-items:center;gap:5px}
.stay-meta-icon{width:15px;height:15px;color:#966b4b;stroke-width:1.6}
.amenity-chip>span{display:inline-grid;place-items:center;width:17px;height:17px;color:#966b4b}
.amenity-chip .amenity-line-icon{width:16px;height:16px;stroke-width:1.65}
.room-feature-list i{display:grid;place-items:center;width:18px;height:18px;color:#8b684b}
.room-feature-list .amenity-line-icon{width:17px;height:17px;stroke-width:1.65}
@media(max-width:760px){.homestay-page>.section-heading>div:first-child{gap:10px}.homestay-title-icon{width:42px;height:42px;border-radius:13px}.homestay-title-icon .ui-icon{width:23px;height:23px}.room-type-icon{width:37px;height:37px}}

/* Keep floor-map cards readable on narrow phones: every label gets its own row. */
@media(max-width:760px){
  .restaurant-grid .stilt-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body .main .restaurant-grid .stilt-tables .floor-table{
    display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;
    align-content:start;justify-items:stretch;gap:5px;min-width:0;min-height:158px!important;padding:8px 6px!important;
  }
  body .main .restaurant-grid .stilt-tables .floor-table.selected{padding:7px 5px!important}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-seating{display:grid;grid-template-rows:8px 27px 8px;gap:2px;width:100%;max-width:100%;margin:0 auto}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-seat-row{display:flex;width:82%;height:8px;gap:8px;margin:0 auto}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-seat-row i{width:15px;height:7px;flex:0 1 15px}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-tabletop{height:27px!important;min-width:0}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-tabletop>b{font-size:14px!important;line-height:18px!important}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-caption{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;gap:3px;min-width:0;text-align:center}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-caption>b{font-size:12px!important;line-height:16px!important;white-space:normal}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-caption .map-state{display:block;max-width:100%;padding:3px 6px;font-size:10px!important;line-height:13px!important;text-align:center;white-space:normal;overflow-wrap:anywhere}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-order,
  body .main .restaurant-grid .stilt-tables .floor-table .floor-delivery-state{grid-column:1;width:100%;max-width:100%;margin:0;padding:3px 4px;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:10px!important;line-height:14px!important}
  body .main .restaurant-grid .stilt-tables .floor-table .table-selected-label{top:4px;right:4px;max-width:calc(100% - 8px);font-size:8px;line-height:12px}
}
@media(max-width:380px){
  .restaurant-grid .stilt-tables{gap:6px}
  body .main .restaurant-grid .stilt-tables .floor-table{min-height:164px!important;padding-inline:4px!important}
  body .main .restaurant-grid .stilt-tables .floor-table.selected{padding-inline:3px!important}
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-caption .map-state,
  body .main .restaurant-grid .stilt-tables .floor-table .floor-table-order,
  body .main .restaurant-grid .stilt-tables .floor-table .floor-delivery-state{font-size:9px!important;line-height:12px!important}
}

/* The kitchen slip is the only printable document when its action is used. */
@media print{
  body.printing-kitchen-ticket{background:#fff!important}
  body.printing-kitchen-ticket>#app{display:none!important}
  body.printing-kitchen-ticket>#kitchen-print-root{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;color:#000!important;background:#fff!important}
  body.printing-kitchen-ticket .kitchen-print-ticket{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;color:#000!important;background:#fff!important}
}

/* Prevent mobile grid tracks from shrinking the Homestay screen to its contents. */
#app{width:100%;min-width:0;max-width:100%}
@media(max-width:760px){
  html,body{width:100%;min-width:0;overflow-x:hidden}
  #app{width:100%;min-width:0;max-width:100%;overflow-x:clip}
  #app>.layout{display:flex!important;flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:100dvh}
  #app>.layout>.main{display:block;flex:1 0 auto;width:100%!important;min-width:0;max-width:none!important;margin:0!important;justify-self:stretch;padding-inline:14px!important}
  #app>.layout>.main>#view,.homestay-page,.homestay-columns,.homestay-page .form-card,.homestay-page .booking-list{width:100%;min-width:0;max-width:none}
  .homestay-columns{grid-template-columns:minmax(0,1fr)!important}
}

/* Customer-facing payment slip, laid out for narrow thermal receipt printers. */
.payment-invoice{width:min(100%,430px);padding:22px 20px;border-style:dashed;border-color:#c9bda8;border-radius:8px;box-shadow:none;font-family:Arial,Helvetica,sans-serif;color:#171717}
.payment-invoice .customer-receipt-header{display:grid;justify-items:center;gap:3px;padding:0 0 14px;border-bottom:1px dashed #555;text-align:center;color:#111}
.receipt-brand-name{font-size:22px;line-height:1.15;letter-spacing:.4px}
.receipt-brand-subtitle{font-size:13px;line-height:1.25}
.customer-receipt-header>.receipt-phone{margin:0;font-size:10px;line-height:1.35;font-weight:400;overflow-wrap:anywhere}
.customer-receipt-header>.receipt-title{margin-top:5px;font-size:16px;line-height:1.3;font-weight:700}
.receipt-info{display:grid;gap:5px;padding:12px 0;border-bottom:1px dashed #777}
.receipt-info>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.4}
.receipt-info>div>span{color:#555}
.receipt-info>div>b{text-align:right;overflow-wrap:anywhere}
.payment-invoice .invoice-lines{margin-top:10px;border-top:0}
.payment-invoice .invoice-lines-heading,.payment-invoice .invoice-line{display:grid;grid-template-columns:minmax(0,1fr) 25px 70px 78px;gap:5px;align-items:start;padding:7px 0;border-bottom:1px dashed #bbb;color:#222;font-size:11px;line-height:1.35}
.payment-invoice .invoice-lines-heading{padding:0 0 6px;border-bottom:1px solid #555;font-size:9px;font-weight:700}
.payment-invoice .invoice-lines-heading>b:not(:first-child),.payment-invoice .invoice-line>b,.payment-invoice .invoice-line>span:not(:first-child){text-align:right}
.payment-invoice .invoice-line>span:first-child{overflow-wrap:anywhere}
.receipt-summary{display:grid;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #555}
.receipt-summary-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4}
.receipt-summary-row>b{text-align:right}
.receipt-summary-row.receipt-grand-total{margin-top:3px;padding-top:8px;border-top:1px dashed #555;font-size:12px;font-weight:700}
.receipt-summary-row.receipt-grand-total>b{font-size:12px}
.receipt-summary-row.receipt-note{align-items:flex-start;font-size:10px}
.receipt-summary-row.receipt-note>b{max-width:65%;overflow-wrap:anywhere}
.receipt-qr{display:grid;justify-items:center;gap:3px;margin:5px 0 8px;padding:0 0 8px;border-bottom:1px dashed #555;text-align:center}
.receipt-qr img{display:block;width:100px;height:100px;object-fit:contain}
.receipt-qr>span{font-size:9px;font-weight:700}
.receipt-qr>small{max-width:95%;font-size:7px;line-height:1.3;overflow-wrap:anywhere;color:#444}
.payment-invoice>footer{display:grid;gap:3px;margin-top:16px;padding-top:9px;border-top:1px dashed #555;color:#222;font-size:12px}
.payment-invoice>footer>b{font-size:15px}
@media(max-width:500px){.payment-invoice{padding:18px 13px}.payment-invoice .invoice-lines-heading,.payment-invoice .invoice-line{grid-template-columns:minmax(0,1fr) 20px 62px 68px;gap:4px;font-size:10px}.payment-invoice .invoice-lines-heading{font-size:8px}.receipt-info>div{grid-template-columns:100px minmax(0,1fr);font-size:11px}}
@media print{
  body.printing-payment-invoice{background:#fff!important;color:#000!important}
  body.printing-payment-invoice #app>.layout{display:block!important;min-height:0!important;height:auto!important;background:#fff!important}
  body.printing-payment-invoice #app>.layout>.sidebar,body.printing-payment-invoice #app>.layout>.mobile-nav-backdrop,body.printing-payment-invoice #app>.layout>.app-footer,body.printing-payment-invoice #app>.layout>.main>.topbar,body.printing-payment-invoice #app>.layout>.main>#preorder-alert-container,body.printing-payment-invoice #app>.layout>.main>#view>.payment-detail-toolbar,body.printing-payment-invoice .toast,body.printing-payment-invoice .password-backdrop{display:none!important}
  body.printing-payment-invoice #app>.layout>.main{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important}
  body.printing-payment-invoice #app>.layout>.main>#view{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important}
  body.printing-payment-invoice #app>.layout>.main>#view>:not(#payment-invoice){display:none!important}
  body.printing-payment-invoice #payment-invoice{display:block!important;visibility:visible!important;position:static!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#000!important;background:#fff!important}
  body.printing-payment-invoice #payment-invoice *{visibility:visible!important}
  body.printing-payment-invoice .customer-receipt-header,body.printing-payment-invoice .receipt-info,body.printing-payment-invoice #payment-invoice>footer,body.printing-payment-invoice .invoice-line,body.printing-payment-invoice .receipt-summary-row,body.printing-payment-invoice .receipt-qr{break-inside:avoid;page-break-inside:avoid}
}
.preorder-alerts{display:grid;gap:8px;margin:-12px 0 18px}.preorder-alert{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid #edd49d;border-radius:13px;background:#fff8e9;color:#473b28}.preorder-alert>span{color:#c16a23}.preorder-alert>div{flex:1;min-width:0}.preorder-alert b{font-size:13px}.preorder-alert p{margin:3px 0;font-size:12px}.preorder-alert small{font-size:10px;color:#81735d}.preorder-form{display:grid;gap:14px}.preorder-customer-fields,.preorder-schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preorder-schedule-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.preorder-form>label,.preorder-form .preorder-customer-fields label,.preorder-form .preorder-schedule-fields label,.customer-search{display:grid;gap:5px;font-size:12px;font-weight:600;color:#53675d}.preorder-form input,.preorder-form select,.customer-search input{min-width:0;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.preorder-menu-select{display:grid;gap:8px}.preorder-menu-select h3{margin:4px 0;font-size:15px}.preorder-menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.preorder-menu-row span{display:grid;gap:4px}.preorder-menu-row b{font-size:13px}.preorder-menu-row small{font-size:11px;color:var(--muted);line-height:1.5}.preorder-menu-row input{width:82px;min-height:40px;text-align:center}.preorder-deadline-hint{margin:0;padding:11px 13px;border-radius:10px;background:#fff4df;color:#815516;font-size:12px;font-weight:600}.preorder-list-section{margin-top:26px}.preorder-list{display:grid;gap:12px}.preorder-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.preorder-card header{display:flex;justify-content:space-between;gap:12px}.preorder-card h3{margin:9px 0 4px;font-size:15px}.preorder-card header p,.preorder-card>p{margin:5px 0;color:var(--muted);font-size:12px}.preorder-card ul{padding-left:20px;font-size:13px;line-height:1.7}.preorder-card footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.preorder-date{display:grid;align-content:start;gap:5px;text-align:right}.preorder-date b{font-size:12px}.preorder-date strong{font-size:16px}.preorder-pending{background:#fff2d8;color:#845619}.preorder-attached{background:#e3f3e9;color:#237256}.customer-search{max-width:480px;margin-bottom:14px}.customer-list{display:grid;gap:8px}.customer-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.customer-card h3{margin:0 0 4px;font-size:14px}.customer-card p,.customer-card>small{margin:0;color:var(--muted);font-size:11px}.customer-stats{display:grid;gap:3px;text-align:right;font-size:12px}.customer-stats small{color:var(--muted);font-size:10px}.preparation-days-field,.preparation-note-field{display:grid;gap:4px;font-size:11px;color:#64766d}.preparation-days-field select,.preparation-note-field input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff;color:var(--ink)}.catalog-price-row:has(.preparation-days-field){grid-template-columns:minmax(180px,1fr) minmax(120px,160px) 130px minmax(150px,190px) minmax(180px,1.2fr)}@media(max-width:1100px){.catalog-price-row:has(.preparation-days-field){grid-template-columns:minmax(180px,1fr) minmax(120px,160px) 130px}.preparation-days-field,.preparation-note-field{grid-column:span 1}}@media(max-width:760px){.preorder-alert{align-items:flex-start;flex-wrap:wrap}.preorder-alert>div{min-width:calc(100% - 36px)}.preorder-customer-fields,.preorder-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-card{grid-template-columns:minmax(0,1fr) auto;gap:8px}.customer-card>small{grid-column:1/-1}.preorder-card header{flex-direction:column}.preorder-date{text-align:left;display:flex;gap:10px;align-items:center}.preorder-card footer .button{flex:1}.catalog-price-row:has(.preparation-days-field){grid-template-columns:minmax(0,1fr) auto}.preparation-days-field{grid-column:1}.preparation-note-field{grid-column:1/-1}.availability-field{grid-column:2;grid-row:2}.preorder-menu-row input{flex:0 0 76px}}
.preorder-builder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;align-items:stretch}.preorder-browser,.preorder-selection-panel{min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.preorder-browser{display:grid;grid-template-rows:auto auto minmax(280px,1fr);gap:12px}.preorder-menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.preorder-menu-toolbar h3,.preorder-selection-heading h3{margin:0;font-size:16px}.preorder-menu-toolbar input{max-width:220px}.preorder-category-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 6px}.preorder-category-tab{flex:0 0 auto;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:12px}.preorder-category-tab.active{border-color:var(--accent);background:#fff0df;color:var(--accent-dark);font-weight:700}.preorder-menu-list{max-height:490px;overflow:auto;padding-right:3px}.preorder-menu-group[hidden],.preorder-menu-option[hidden],[data-preorder-warning][hidden],[data-selected-warning][hidden]{display:none!important}.preorder-menu-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);color:var(--ink)}.preorder-menu-option>div{display:grid;gap:4px;min-width:0}.preorder-menu-option b{font-size:14px}.preorder-menu-option small{font-size:11px;color:var(--muted);line-height:1.45}.preorder-menu-option .button{min-width:40px;padding:6px 11px;font-size:20px;line-height:1}.preorder-selection-panel{display:flex;flex-direction:column;min-height:360px}.preorder-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--line)}.preorder-selection-heading>span{color:var(--muted);font-size:12px}.preorder-selected-items{display:grid;align-content:start}.preorder-selected-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto 26px;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.preorder-selected-info{display:grid;gap:4px;min-width:0}.preorder-selected-info>b{font-size:14px}.preorder-selected-info>small{font-size:11px;color:var(--muted);line-height:1.45}.preorder-late-warning{color:#a04424!important;font-weight:700}.preorder-quantity-control{display:flex;align-items:center;gap:8px}.preorder-quantity-control button,.preorder-remove{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent-dark);font-size:17px}.preorder-selected-row>strong{white-space:nowrap;font-size:13px}.preorder-remove{border:0;color:#8b6d58;font-size:20px}.preorder-selected-empty{display:grid;place-items:center;flex:1;min-height:235px;margin:0;color:var(--muted);text-align:center;font-size:13px}.preorder-selected-empty[hidden]{display:none}.preorder-total{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);color:var(--muted)}.preorder-total b{color:var(--ink);font-size:18px}.preorder-deadline-hint.late,.preorder-warning-callout{border:1px solid #f1c0a8;background:#fff0e9;color:#963d22}.preorder-warning-callout{padding:10px 12px;border-radius:10px;font-size:12px;font-weight:600}
@media(max-width:900px){.preorder-builder{grid-template-columns:minmax(0,1fr)}.preorder-selection-panel{min-height:260px}.preorder-menu-list{max-height:360px}}
@media(max-width:560px){.preorder-browser,.preorder-selection-panel{padding:12px}.preorder-menu-toolbar{align-items:stretch;flex-direction:column}.preorder-menu-toolbar input{max-width:none}.preorder-selected-row{grid-template-columns:minmax(0,1fr) auto 25px;gap:8px}.preorder-selected-row>strong{grid-column:1;grid-row:2}.preorder-quantity-control{grid-column:2;grid-row:1/3}.preorder-remove{grid-column:3;grid-row:1/3}.preorder-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.preorder-schedule-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.preorder-schedule-fields label{min-width:0}.preorder-schedule-fields label:nth-child(1),.preorder-schedule-fields label:nth-child(2){grid-column:1/-1}.preorder-schedule-fields input[type=date],.preorder-schedule-fields input[type=time]{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;font-size:16px}}
/* Password self-service and the temporary inventory lock state. */
.password-open{display:block;margin-top:4px;padding:0;border:0;background:transparent;color:#a94e27;font-size:11px;text-align:left;cursor:pointer}.password-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(32,27,20,.48)}.password-card{width:min(100%,440px);padding:24px;border:1px solid #e8dcc5;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(35,29,21,.22)}.password-card h2{margin:0;color:#352b20;font-size:22px;line-height:1.3}.password-card>p{margin:8px 0 20px;color:#84745e;line-height:1.5}.password-form{display:grid;gap:13px}.password-form label{display:grid;gap:6px;color:#56675f;font-weight:600}.password-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #e4d7c1;border-radius:10px;background:#fff;color:#30281f}.password-form .button{min-height:46px}.stock-locked-card{display:flex;align-items:center;gap:18px;max-width:850px;margin:20px auto;padding:26px;border:1px solid #eadbc0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(68,51,25,.05)}.stock-locked-icon{display:grid;flex:0 0 54px;width:54px;height:54px;place-items:center;border-radius:17px;background:#f8ead7;color:#a94e27}.stock-locked-icon .ui-icon{width:27px;height:27px}.stock-locked-card h2{margin:5px 0;color:#352b20;font-size:22px}.stock-locked-card p{margin:0;color:#84745e;line-height:1.55}@media(max-width:600px){.password-card{padding:20px}.stock-locked-card{align-items:flex-start;margin:10px;padding:18px}.stock-locked-card h2{font-size:19px}}
/* Sidebar lineal icon set, selected to match the restaurant and hotel Uicon style. */
.payment-detail-toolbar{align-items:center}
.invoice-paper-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:600}
.invoice-paper-control select{min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}
@media(max-width:760px){.payment-detail-toolbar{align-items:stretch}}
.sidebar .nav-item{gap:11px;min-height:46px;padding:7px 10px}
.sidebar .nav-item::before{display:none}
.sidebar .nav-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#f5f2ec;color:#89745a;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar .nav-icon .ui-icon{display:block;width:19px;height:19px;min-width:19px;stroke-width:1.8}
.sidebar .nav-item:hover .nav-icon{background:#e9efff;color:#315fcb;transform:translateY(-1px)}
.sidebar .nav-item.active .nav-icon{background:#315fcb;color:#fff;box-shadow:0 3px 8px #315fcb26}
.sidebar .nav-item.active{box-shadow:inset 3px 0 #315fcb}
.sidebar .nav-item .nav-label{min-width:0}
.sidebar .nav-icon .fi{display:inline-block;font-size:19px;line-height:1}
.app-footer a{color:#315fcb;text-decoration:none;font-size:9px}
.app-footer a:hover{text-decoration:underline}

.nav-icon i{font-size:20px;line-height:1}

/* Keep the section list compact and aligned to the top of the sidebar. */
.sidebar{padding-top:20px}
.sidebar .brand{margin-bottom:17px}
.sidebar nav{align-content:start;grid-auto-rows:max-content;gap:4px}
.sidebar .nav-item{min-height:42px;padding-block:5px}
@media(max-width:760px){
  .sidebar .brand{margin-bottom:14px}
  .sidebar-caption{margin-bottom:9px}
  .sidebar nav{gap:3px}
  .sidebar .nav-item{min-height:44px;padding:5px 12px}
}
@media(min-width:761px){
  .layout{grid-template-columns:208px minmax(0,1fr)}
  .sidebar{height:calc(100vh - 28px);min-height:0;padding:16px 10px 8px}
  .sidebar .brand{gap:8px;margin:0 3px 14px;font-size:13px}
  .sidebar .brand-mark{width:32px;height:32px;border-radius:10px}
  .sidebar .brand small{font-size:7px}
  .sidebar-caption{gap:2px;margin:0 5px 8px;padding-bottom:8px}
  .sidebar-caption>b{font-size:11px}
  .sidebar-caption>small{font-size:8px}
  .sidebar nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;gap:3px;overscroll-behavior:contain;scrollbar-width:thin}
  .sidebar .nav-item{gap:8px;min-height:39px;padding:4px 8px;border-radius:9px;font-size:12px}
  .sidebar .nav-icon{flex-basis:30px;width:30px;height:30px;border-radius:9px}
  .sidebar .nav-icon .ui-icon{width:17px;height:17px;min-width:17px}
  .sidebar .nav-icon .fi{font-size:17px}
  .sidebar .side-user{gap:8px;margin-top:6px;padding:8px 3px 1px}
  .sidebar .side-user .avatar{width:31px;height:31px;font-size:11px}
  .sidebar .side-user .user-lines b{font-size:11px}
  .sidebar .side-user .user-lines small{font-size:9px}
  .sidebar .password-open{font-size:10px}
  .sidebar .side-user>[data-action="logout"]{width:34px;height:34px;flex:0 0 34px}
}
@media(max-width:1120px) and (min-width:761px){.layout{grid-template-columns:188px minmax(0,1fr)}}
/* Whole-table cancellation warns clearly when kitchen work has already started. */
.order-actions .cancel-table-action{margin-top:8px;border-color:#e7cbbd;color:#a7482d}
.order-actions .cancel-table-action:hover{background:#fff5ee}
.cancel-table-dialog{width:min(100%,470px);border-color:#ead8cc}
.cancel-table-dialog h2{padding-right:28px}
.cancel-table-kicker{display:block;margin:0 38px 8px 0;color:#9a5a36;font-size:11px;font-weight:750;letter-spacing:.07em}
.cancel-table-dialog>p{color:#6d645a;line-height:1.55}
.cancel-table-items{display:grid;gap:7px;max-height:190px;overflow:auto;margin:0 0 16px;padding:0;list-style:none}
.cancel-table-items li{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #eee6dc;border-radius:10px;background:#fffcf7;font-size:13px}
.cancel-table-items li span{flex:none;color:#876b51;font-size:11px;text-align:right}
.cancel-table-dialog .button.danger{min-height:42px;padding:9px 14px;border:1px solid #b83325;border-radius:10px;background:#c43d2d;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.cancel-table-dialog .button.danger:hover{background:#a92c20}
.cancel-table-dialog .button.danger:disabled{opacity:.5;cursor:not-allowed}
.cancel-table-backdrop.has-preparing-items{background:rgba(67,20,17,.58)}
.has-preparing-items .cancel-table-dialog{border:2px solid #cf3a2d;box-shadow:0 22px 70px rgba(125,24,18,.28)}
.has-preparing-items .cancel-table-kicker,.has-preparing-items .cancel-table-dialog h2{color:#b42d23}
.has-preparing-items .cancel-table-dialog>p{color:#912d25;font-weight:600}
.cancel-table-ack{display:flex;align-items:flex-start;gap:9px;margin:0 0 15px;padding:11px;border:1px solid #db8f87;border-radius:10px;background:#fff1ef;color:#9a241c;font-size:13px;font-weight:700;line-height:1.45}
.cancel-table-ack input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#b42d23}
@media(max-width:600px){.cancel-table-dialog{padding:22px 18px}.cancel-table-items li{flex-direction:column;gap:3px}.cancel-table-items li span{text-align:left}.cancel-table-dialog .dialog-actions{flex-direction:column-reverse}.cancel-table-dialog .dialog-actions .button{width:100%}}
