:root{--ink: #1a2324;--muted: #627070;--line: #d7e0dd;--paper: #f7f7f1;--snow: #fffdfa;--teal: #087999;--teal-dark: #075d77;--meadow: #64ae42;--sun: #f5c84c;--ember: #c95f37;--shadow: 0 18px 50px rgba(23, 44, 47, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;letter-spacing:0;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease,transform 80ms ease}button:disabled{cursor:not-allowed;opacity:.48}button:not(:disabled):active{transform:translateY(1px)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:linear-gradient(180deg,rgba(8,121,153,.08),transparent 34%),var(--paper)}.access-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#052f3bf5,#087999db),var(--paper)}.access-gate-panel{width:min(100%,400px);padding:28px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:#fffdfaf5;box-shadow:0 24px 80px #00000047;display:grid;gap:18px}.access-gate-panel img{width:min(260px,100%);margin:0 auto}.access-gate-panel h1,.access-gate-panel p{margin:0}.access-gate-panel h1{font-size:clamp(1.5rem,2vw,2rem);line-height:1.15}.access-gate-panel>div{display:grid;gap:5px;text-align:center}.access-gate-panel label{display:grid;gap:7px}.access-gate-panel label span{color:var(--muted);font-size:.82rem;font-weight:800}.access-gate-panel input{width:100%;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.access-gate-panel input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #08799924;outline:none}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,560px);gap:28px;align-items:center;padding:32px;background:linear-gradient(135deg,#052f3bf5,#087999db),var(--paper)}.login-brand{color:#fff;display:grid;gap:18px}.login-brand img{width:min(520px,100%);filter:drop-shadow(0 22px 40px rgba(0,0,0,.34))}.login-brand p{max-width:440px;color:#ffffffc2;font-size:1.15rem}.login-panel{padding:20px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:#fffdfaf0;box-shadow:0 24px 80px #00000047;display:grid;gap:14px}.login-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-panel-top .panel-title{margin-bottom:0}.language-switcher{display:grid;gap:5px;width:100%}.language-switcher.compact{width:auto;min-width:96px}.language-switcher span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.language-switcher select{width:100%;height:38px;min-width:0;padding:0 28px 0 32px;border:0;border-radius:7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--ink);font-weight:800;cursor:pointer}.language-control{position:relative;display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.language-control>svg{position:absolute;z-index:1;pointer-events:none;color:var(--muted)}.language-control>svg:first-child{left:10px}.language-control>svg:last-child{right:9px}.language-control:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #08799929}.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.user-card{min-height:112px;padding:18px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center;display:grid;grid-template-rows:28px 32px;align-content:center;justify-items:center;gap:8px}.user-card.selected{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal)}.user-card svg{align-self:center}.user-card span{line-height:1.15;align-self:center}.user-card:last-child:nth-child(odd){grid-column:1 / -1}.pin-field{display:grid;gap:6px}.pin-field span{font-size:.8rem;font-weight:900;color:var(--muted);text-transform:uppercase}.form-error{padding:10px 12px;border-radius:8px;background:#ffe6df;color:#842714;font-weight:800}.sidebar{position:sticky;top:0;height:100vh;padding:24px;display:flex;flex-direction:column;gap:24px;background:#052f3b;color:#fff}.brand{display:grid;gap:10px}.brand img{width:min(220px,100%);filter:drop-shadow(0 10px 20px rgba(0,0,0,.28))}.brand span,.eyebrow{color:#ffffffb8;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;font-weight:800}.role-nav{display:grid;gap:10px}.role-nav button{min-height:52px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;background:#ffffff14;color:#fff;text-align:left}.role-nav button.active{background:#fff;color:var(--teal-dark)}.role-nav b{min-width:28px;padding:3px 8px;border-radius:999px;background:var(--sun);color:#352600;text-align:center}.access-card,.logout-button{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:14px;border-radius:8px}.access-card{background:#ffffff1f}.access-card div{display:grid;gap:0}.access-card span{color:#ffffffb8}.sidebar .language-control{width:96px;border:0;border-radius:0;background:transparent;box-shadow:none}.sidebar .language-control:hover{background:transparent}.sidebar .language-control>svg{color:#ffffffb3}.sidebar .language-control>svg:first-child{display:none}.sidebar .language-control>svg:last-child{right:0}.sidebar .language-control:focus-within{border-color:transparent;box-shadow:none}.sidebar .language-switcher select{width:96px;color:#fff;font-weight:700;padding:0 22px 0 0;border:0;outline:0;box-shadow:none}.station-status .metric{background:#ffffff1a;border-color:#fff3;color:#fff}.station-status .metric span{color:#ffffffb3}.logout-button{min-height:48px;background:#ffffff14;color:#fff;text-align:left;font-weight:800}.side-note{margin-top:auto;display:flex;gap:10px;align-items:flex-start;color:#ffffffc2;font-size:.88rem;line-height:1.35}.workspace{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.topbar .eyebrow{color:var(--teal-dark);margin:0 0 6px}h1,h2,p{margin:0}h1{font-size:clamp(2rem,4vw,4.4rem);line-height:.96;letter-spacing:0}.metric-strip,.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}.metric{min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8;display:grid;gap:4px}.metric span{color:var(--muted);font-size:.78rem}.metric strong{font-size:1rem}.waiter-flow{position:relative}.service-tabs{display:none}.waiter-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,2fr);gap:16px;align-items:start}.panel,.queue-column{border:1px solid var(--line);border-radius:8px;background:#fffdfadb;box-shadow:var(--shadow)}.panel{padding:16px}.queue-column{padding:18px}.panel-title,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{justify-content:flex-start;margin-bottom:14px}.panel-title h2{font-size:1.05rem}.table-grid,.menu-grid,.ticket-grid{display:grid;gap:10px}.table-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.table-button,.menu-item{min-height:88px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;display:grid;align-content:space-between;gap:8px}.table-button{place-items:center;align-content:center;justify-content:center;text-align:center}.table-badge{padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;line-height:1;white-space:nowrap}.table-badge.open{background:#eef5f3;color:var(--teal-dark)}.table-badge.pending{background:#ffe8dc;color:#8a351e}.table-button.selected{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal)}.menu-item{position:relative}.menu-item img{width:100%;aspect-ratio:5 / 3;object-fit:cover;border-radius:6px;background:#edf2ef}.menu-item em{color:var(--muted);font-size:.78rem;font-style:normal;line-height:1.25}.menu-plus{position:absolute;right:12px;bottom:12px;color:var(--teal-dark)}small{color:var(--muted)}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.order-menu-grid{max-height:420px;overflow:auto;padding-right:2px}.menu-item.food{border-left:5px solid var(--meadow)}.menu-item.drinks{border-left:5px solid var(--teal)}.segmented{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#edf2ef}.segmented button{min-height:34px;padding:0 12px;border-radius:6px;background:transparent;color:var(--muted)}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 4px 14px #1932311a}.bills-panel{margin-top:16px}.cart-list,.order-list{display:grid;gap:10px}.cart-row,.bill-card,.data-line{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.cart-row{grid-template-columns:1fr auto;align-items:center}.item-note{grid-column:1 / -1;min-height:38px}.item-ready-time{grid-column:1 / -1;display:grid;grid-template-columns:minmax(100px,auto) minmax(120px,160px) 1fr;align-items:center;gap:10px}.item-ready-time span{font-size:.82rem;font-weight:900;color:var(--muted)}.order-sections{display:grid;gap:14px}.order-section{display:grid;gap:10px}.add-item-toggle{justify-self:start;min-width:0}.table-order-list,.order-line-group{display:grid;gap:8px}.order-line-group-title{padding:2px 2px 0;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:18px;background:#0f23256b}.add-item-modal{width:min(760px,100%);max-height:min(760px,calc(100vh - 36px));display:grid;gap:12px;padding:16px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 24px 80px #0d252747}.split-modal{width:min(980px,100%);max-height:min(820px,calc(100vh - 36px));display:grid;gap:12px;padding:16px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 24px 80px #0d252747}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head .eyebrow{margin-bottom:2px;font-size:.68rem}.modal-head h2{font-size:1.35rem}.add-item-options{display:grid;gap:12px}.selected-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.selected-menu-item strong{display:block;margin-bottom:3px}.add-item-options .qty,.add-item-options .item-ready-time,.add-item-options .item-note{grid-column:auto}.add-item-options .primary{justify-self:start;min-width:180px}.order-item-row{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.order-item-row.pending{border-color:#c6542f47;background:#fffaf6}.order-item-row.expanded{border-color:#0d849e59;background:#f8fcfd}.order-item-summary{width:100%;min-height:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;text-align:left}.pending-line{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px}.sent-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.line-serve{min-height:38px;padding:0 14px;border-radius:8px;background:#0d849e;color:#fff;box-shadow:inset 0 -2px #0000001f;font-size:.82rem;font-weight:900}.line-serve:hover{background:#0b7189;color:#fff;transform:none}.line-remove{width:fit-content;min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;background:#fff2eb;color:#8a351e;box-shadow:inset 0 0 0 1px #c6542f3d;font-size:.86rem;font-weight:900}.line-remove:hover{background:#ffe8dc;color:#7b2d18;box-shadow:inset 0 0 0 1px #c6542f57;transform:none}.order-item-summary:focus-visible{outline:2px solid rgba(8,121,153,.42);outline-offset:3px}.order-item-summary>div,.order-item-row>div:not(.pending-line):not(.sent-line),.sent-line>div{min-width:0;display:grid;gap:3px}.order-item-summary strong,.order-item-row strong{display:block;overflow-wrap:anywhere}.order-item-summary small,.order-item-row small{display:block;color:var(--muted)}.order-item-summary:hover{background:transparent;box-shadow:none;transform:none}.order-item-row em{display:block;margin-top:4px;color:var(--ember);font-style:normal;font-weight:800}.line-options{grid-column:1 / -1;display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.line-options .qty,.line-options .item-note{grid-column:1 / -1}.time-field{min-height:38px;justify-content:center;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);text-align:center;font-variant-numeric:tabular-nums}.time-field:hover{background:#f9fbfa;color:var(--ink)}.time-picker{grid-column:1 / -1;display:grid;gap:12px;max-width:360px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.time-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.time-picker-head strong{min-width:76px;padding:7px 10px;border-radius:999px;background:#eef5f3;color:var(--teal-dark);text-align:center;font-variant-numeric:tabular-nums}.time-scroll-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-scroll-column{display:grid;gap:6px}.time-scroll-column>span{font-size:.76rem;font-weight:900;color:var(--muted);text-align:center;text-transform:uppercase}.time-scroll-list{height:154px;display:grid;gap:6px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;scroll-snap-type:y mandatory}.time-scroll-list button{min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:7px;border:1px solid transparent;background:#fff;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;box-shadow:none;scroll-snap-align:center}.time-scroll-list button.selected{border-color:var(--teal-dark);background:var(--teal);color:#fff}.done-time{width:100%}.line-state{padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase}.line-state.sent{background:#eef5f3;color:var(--teal-dark)}.line-state.delivered{background:#e7f6ec;color:#267050}.line-state.pending{background:#ffe8dc;color:#8a351e}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:2px}.section-head strong{font-size:.98rem}.service-warning,.service-ready,.warning{display:flex;align-items:center;gap:6px}.service-warning{padding:10px;border:1px solid rgba(198,84,47,.35);border-radius:8px;background:#fff5ef;color:#8a351e;font-weight:800}.service-ready{padding:10px;border:1px solid rgba(23,128,97,.25);border-radius:8px;background:#f2fbf6;color:var(--teal-dark);font-weight:800}.qty{display:grid;grid-template-columns:34px 24px 34px;align-items:center;text-align:center;gap:4px}.qty button{width:34px;height:34px;border-radius:8px;background:#eef5f3;color:var(--teal-dark);display:grid;place-items:center}.cart-total,.actions,.bill-actions,.ticket-actions{display:flex;gap:10px}.cart-total{justify-content:space-between;padding:16px 0}.actions button,.bill-actions button,.ticket-actions button,.manager-form button,.danger{min-height:42px;padding:0 16px;border-radius:8px;font-size:.92rem;font-weight:900}.primary{min-height:42px;padding:0 16px;border:1px solid rgba(7,93,119,.18);border-radius:8px;background:linear-gradient(180deg,#0b8eae,var(--teal));color:#fff;font-size:.92rem;font-weight:900;box-shadow:0 8px 18px #0879992e}.primary:not(:disabled):hover{background:linear-gradient(180deg,#0a82a1,var(--teal-dark));box-shadow:0 10px 22px #0879993d}.primary.confirm{border-color:#8a351e3d;background:linear-gradient(180deg,#d56b42,var(--ember));box-shadow:0 8px 18px #c95f372e}.secondary,.ticket-actions button,.bill-actions button{min-height:42px;padding:0 16px;border:1px solid #cbd9d6;border-radius:8px;background:linear-gradient(180deg,#fff,#eef5f3);color:var(--teal-dark);font-size:.92rem;font-weight:900;box-shadow:0 6px 14px #172c2f14}.secondary:not(:disabled):hover,.ticket-actions button:not(:disabled):hover,.bill-actions button:not(:disabled):hover{border-color:#aebfbc;background:linear-gradient(180deg,#fff,#e5efec)}.ticket-actions button.primary,.bill-actions button.primary,.room-actions button.primary{border:1px solid rgba(7,93,119,.18);background:linear-gradient(180deg,#0b8eae,var(--teal));color:#fff;box-shadow:0 8px 18px #0879992e}.ticket-actions button.primary:not(:disabled):hover,.bill-actions button.primary:not(:disabled):hover,.room-actions button.primary:not(:disabled):hover{background:linear-gradient(180deg,#0a82a1,var(--teal-dark));box-shadow:0 10px 22px #0879993d}.danger{margin-top:16px;color:#7a1d13}.department-board{display:grid;gap:14px}.kds-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kds-summary>div{min-height:74px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;gap:4px}.kds-summary strong{font-size:1.6rem}.kds-summary span{color:var(--muted)}.printer-planned{display:flex!important;align-items:center;gap:10px}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(280px,400px));align-items:start;justify-content:start}.ticket-card{min-height:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;align-content:start;gap:12px}.ticket-card.new{border-color:var(--teal);animation:ticketPulse 1.2s ease-out 2}.ticket-card.new .ticket-top span{background:#d9f0f5}.ticket-card.preparing{border-color:var(--sun)}.ticket-card.ready{border-color:var(--meadow);box-shadow:inset 0 0 0 2px var(--meadow)}.ticket-top{display:flex;justify-content:space-between;gap:12px}.ticket-top p{color:var(--teal-dark);font-weight:900}.ticket-top span{align-self:start;padding:6px 10px;border-radius:999px;background:#eef5f3;color:var(--teal-dark);text-transform:uppercase;font-size:.72rem;font-weight:900}.ticket-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:1.1rem}.ticket-card li{display:grid;grid-template-columns:42px 1fr;gap:10px}.ticket-card em{display:block;margin-top:4px;color:var(--ember);font-size:.86rem;font-style:normal;font-weight:800}.ticket-actions{align-self:start;margin-top:2px;flex-wrap:wrap}.bill-card{grid-template-columns:1fr auto}.bill-actions{grid-column:1 / -1;flex-wrap:wrap}.split-panel{display:grid;gap:12px;min-height:0;overflow:auto}.partial-bill-head,.split-payment-history{display:grid;gap:8px}.partial-bill-head{padding:12px;border:1px solid rgba(8,121,153,.22);border-radius:8px;background:#eef8fa}.partial-bill-head>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.partial-bill-head span,.split-payment-history span{color:var(--muted);font-weight:900}.partial-bill-head strong{color:var(--teal-dark);font-size:1.05rem}.partial-bill-head small{color:var(--muted);font-weight:800}.split-payment-history{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.split-payment-history>div{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.split-payment-history strong{color:var(--ink);font-size:1.05rem;font-variant-numeric:tabular-nums}.split-payment-history small{color:var(--muted);font-weight:800}.split-bill-tabs{display:flex;flex-wrap:wrap;gap:8px}.split-bill-tabs button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:900}.split-bill-tabs button.active{border-color:#08799959;background:#eef8fa;color:var(--teal-dark)}.split-bill-tabs strong{color:var(--teal-dark);font-variant-numeric:tabular-nums}.split-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:12px}.split-items,.split-checkout{display:grid;gap:10px}.split-item-group{display:grid;gap:8px}.split-item-group>span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.split-line{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.split-line.selected{border-color:#08799961;background:#eef8fa}.split-line.assigned{opacity:.68}.split-line small{color:var(--muted);font-weight:800}.split-checkout{align-self:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.split-checkout>div{display:flex;justify-content:space-between;gap:10px}.split-checkout span{color:var(--muted);font-weight:900}.split-checkout strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.split-checkout select,.split-checkout button{width:100%;min-height:42px;border-radius:8px;font-weight:900}.table-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.status-pill{padding:7px 10px;border-radius:999px;background:#edf2ef;color:var(--muted);font-size:.82rem;font-weight:900;text-transform:capitalize}.status-pill.ready{background:#dff1d8;color:#2f6e1d}.status-pill.preparing{background:#fff1c8;color:#7a5600}.status-pill.new{background:#d9f0f5;color:var(--teal-dark)}select,input{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.manager-shell{display:grid;gap:16px}.manager-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.manager-head .panel-title{margin-bottom:0}.manager-operations,.admin-console{display:grid;gap:14px}.admin-shell{padding:12px}.admin-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.admin-tabs button{min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}.admin-tabs button.active{border-color:var(--teal);background:var(--teal);color:#fff}.admin-menu-panel{display:grid;gap:12px}.admin-subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-subtabs button{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}.admin-subtabs button.active{border-color:#0879993d;background:#eef9f6;color:var(--teal)}.admin-section{display:grid;gap:12px}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-section-head .panel-title{margin-bottom:0}.admin-drawer,.admin-edit-row{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.admin-drawer label,.admin-edit-row label{display:grid;gap:5px;min-width:0}.admin-drawer label span,.admin-edit-row label span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.admin-drawer input,.admin-drawer select,.admin-drawer textarea,.admin-edit-row input,.admin-edit-row select,.admin-edit-row textarea{width:100%;min-width:0}.admin-drawer textarea,.admin-edit-row textarea{min-height:68px;resize:vertical}.admin-room-form{grid-template-columns:minmax(0,1fr) 120px auto;align-items:end}.admin-table-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-menu-form,.admin-dinner-menu-form{grid-template-columns:minmax(0,1fr) 130px auto;align-items:end}.admin-menu-language-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-rooms-table .desk-table-head,.admin-room-row{grid-template-columns:minmax(160px,1fr) 80px 110px 110px 190px}.admin-tables-table .desk-table-head,.admin-table-row{grid-template-columns:minmax(160px,1fr) 190px}.admin-menu-table .desk-table-head,.admin-menu-row,.admin-dinner-table .desk-table-head,.admin-dinner-row{grid-template-columns:minmax(300px,1fr) 110px 190px}.admin-menu-name-cell{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px}.admin-menu-name-cell.has-image{grid-template-columns:46px minmax(0,1fr)}.admin-menu-name-cell img{width:46px;height:46px;object-fit:cover;border-radius:6px;background:#edf2ef}.admin-menu-name-cell span{display:grid;gap:2px;min-width:0}.admin-menu-name-cell strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2}.admin-menu-name-cell small{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.25}.admin-row.editing,.admin-row.editing .admin-edit-row{grid-column:1 / -1}.admin-room-row.editing .admin-edit-row{grid-template-columns:minmax(0,1fr) 120px minmax(180px,1fr) auto;align-items:end}.admin-table-row.editing .admin-edit-row{grid-template-columns:minmax(0,1fr) minmax(180px,1fr) auto;align-items:end}.admin-menu-row.editing .admin-edit-row,.admin-dinner-row.editing .admin-edit-row{grid-template-columns:minmax(0,1fr) 130px auto;align-items:end}.admin-row-note{display:grid;align-content:center;min-height:42px}.admin-row-note small{color:var(--muted);font-weight:800}.admin-settings-stack,.admin-settings-list{display:grid;gap:14px}.admin-setting-row,.admin-danger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-setting-row>div:first-child,.admin-danger-row>div:first-child{display:grid;gap:3px}.admin-setting-row small,.admin-danger-row small{color:var(--muted);font-weight:800}.admin-setting-value,.admin-setting-edit{display:flex;align-items:center;justify-content:flex-end;gap:8px}.admin-setting-edit input{width:150px}.admin-danger-row .danger{margin:0!important}.operation-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.operation-tabs button{min-height:54px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900}.operation-tabs button.active{background:var(--teal);border-color:var(--teal);color:#fff}.manager-operation-view{min-width:0}.reception-grid{display:grid;grid-template-columns:minmax(320px,.42fr) minmax(0,.58fr);gap:14px;align-items:start}.reception-grid>[role=tabpanel]{display:contents}.reception-hero{grid-column:span 2;display:grid;gap:12px;padding:14px 16px}.reception-tabs{display:flex;flex-wrap:wrap;gap:8px}.reception-tabs button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;color:var(--muted);font-weight:900}.reception-tabs button.active{background:var(--teal);border-color:var(--teal);color:#fff}.reception-hero .snapshot-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px}.reception-hero .metric{min-height:44px;min-width:0;flex:none;padding:8px 10px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px}.reception-hero .metric span,.reception-hero .metric strong{line-height:1.05}.reception-hero .metric span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reception-hero .metric strong{white-space:nowrap}.reservation-panel{grid-column:span 2;display:grid;gap:16px}.arrivals-panel{grid-column:span 2;display:grid;gap:10px}.rooms-desk{grid-column:span 2;display:grid;gap:12px}.guests-index-panel,.account-detail-panel{min-height:0}.guests-index-panel>input{width:100%}.account-detail-panel{display:grid;gap:0}.reception-audit-panel{grid-column:span 2;display:grid;gap:8px}.reception-audit-panel details{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.reception-audit-panel summary{cursor:pointer;padding:10px 12px;color:var(--ink);font-weight:900}.audit-list{display:grid;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line)}.desk-table{display:grid;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.desk-table-head,.desk-table-row{display:grid;align-items:center;gap:10px;min-width:0}.desk-table-head>*{justify-self:start;text-align:left}.desk-table-head{padding:8px 12px;background:#eef5f3;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.desk-table-row{padding:10px 12px;border-top:1px solid var(--line)}.rooms-table .desk-table-head,.room-occupancy-row{grid-template-columns:34px minmax(110px,.8fr) 80px minmax(240px,1.8fr) 100px minmax(120px,auto)}.arrivals-table .desk-table-head,.arrival-row{grid-template-columns:minmax(180px,1fr) 120px 110px minmax(220px,.8fr) 96px}.reservation-list .desk-table-head,.reservation-row{grid-template-columns:minmax(180px,1.3fr) 76px 120px 76px 110px 100px minmax(148px,.9fr)}.desk-table-row>*,.desk-table-head>*{min-width:0}.desk-table-row strong,.guest-index-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desk-table-row .admin-menu-name-cell strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2}.admin-table{overflow-x:auto;overflow-y:hidden}.admin-table .desk-table-head>*{justify-self:start;text-align:left}.admin-rooms-table .desk-table-head,.admin-room-row{min-width:760px}.admin-tables-table .desk-table-head,.admin-table-row{min-width:390px}.admin-menu-table .desk-table-head,.admin-menu-row,.admin-dinner-table .desk-table-head,.admin-dinner-row{min-width:620px}.desk-table-row small,.muted-text{color:var(--muted);font-weight:800}.room-occupancy-row>div:nth-child(2),.reservation-row>div:first-child{display:grid;gap:3px}.room-expand-cell{display:grid;place-items:center}.room-row-toggle{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #d8e5e2;border-radius:999px;background:#f8fbfa;color:var(--muted);padding:0}.room-row-toggle svg{transition:transform .16s ease}.room-row-toggle:hover{border-color:#b9cbc7;background:#eef5f3;color:var(--teal-dark)}.room-occupancy-row.expanded .room-row-toggle svg{transform:rotate(180deg)}.desk-row-drawer{grid-column:1 / -1;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.checkin-drawer-form{display:grid;gap:8px}.checkin-res-picker-field{display:flex;align-items:center;gap:8px}.checkin-drawer-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.checkin-drawer-fields>input{min-height:36px;padding:0 10px;font-size:.88rem;border-radius:6px}.checkin-drawer-fields>input:first-child{flex:1 1 160px;min-width:120px}.checkin-drawer-fields>input[type=number]{flex:0 0 72px;width:72px;text-align:center}.checkin-drawer-form .compact{min-height:36px;padding:0 12px;font-size:.88rem;border-radius:6px;box-shadow:none}.checkin-drawer-form .primary.compact:not(:disabled):hover{box-shadow:0 6px 14px #08799933}.checkin-drawer-warnings{display:flex;flex-direction:column;gap:4px}.reservation-drawer,.reservation-edit-drawer{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.4fr) 90px 90px auto;gap:10px;align-items:end}.reservation-drawer{grid-template-columns:minmax(0,1.45fr) minmax(74px,.42fr) minmax(0,.78fr) minmax(74px,.42fr) minmax(82px,.5fr) minmax(140px,auto);padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.reservation-edit-drawer{grid-column:1 / -1;grid-template-columns:minmax(220px,1.4fr) 100px 150px 100px 130px auto auto}.checkin-drawer-form label,.reservation-drawer label,.reservation-edit-drawer label{display:grid;gap:5px;min-width:0}.checkin-drawer-form label span,.reservation-drawer label span,.reservation-edit-drawer label span{color:var(--muted);font-size:.78rem;font-weight:900}.reservation-drawer input,.reservation-edit-drawer input{width:100%;min-width:0}.room-guest-list{display:grid;gap:4px}.room-guest-drawer{grid-column:1 / -1;padding-top:2px}.room-guest-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:42px;padding:7px 10px;border:1px solid transparent;border-radius:7px;background:#f8fbfa;color:var(--ink);text-align:left}.room-guest-list button:hover:not(:disabled){border-color:#cbd9d6;background:#fff}.guest-index-list button.active{border-color:#0879997a;background:#eef8fa}.room-guest-list button>span{display:grid;gap:2px;min-width:0}.room-guest-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-guest-list small{color:var(--muted);font-size:.76rem;font-weight:800}.room-guest-list b{color:var(--muted);font-size:.86rem;font-weight:900;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border-radius:999px;background:#eef5f3;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:capitalize;white-space:nowrap}.status-pill.occupied,.status-pill.expected{background:#eaf7ec;color:#327746}.status-pill.vacant{background:#eef8fa;color:var(--teal-dark)}.status-pill.checked-in{background:#f1f6f4;color:var(--muted)}.compact{min-height:32px!important;padding:0 10px;border-radius:6px;font-size:.82rem;font-weight:900;white-space:nowrap}.guest-index-list{display:grid;gap:6px;margin-top:10px}.guest-index-list button{display:grid;gap:3px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.guest-index-list small{color:var(--muted);font-weight:800}.reservation-head,.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}.reservation-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.reservation-row-actions button{height:28px;min-height:28px!important;margin:0!important;padding:0 10px!important;font-size:.8rem;line-height:1;border:1px solid var(--line)!important;background:#fff!important;box-shadow:none!important;border-radius:6px!important}.reservation-row-actions button.primary{border-color:transparent!important;background:var(--teal)!important;color:#fff!important}.reservation-row-actions button.primary:disabled{border-color:var(--line)!important;background:#eef5f3!important;color:var(--muted)!important}.pagination-bar{color:var(--muted);font-weight:900}.reservation-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(74px,.42fr) minmax(0,.78fr) minmax(74px,.42fr) minmax(82px,.5fr) minmax(140px,auto);gap:8px}.reservation-form button,.arrival-row button,.reservation-actions button{min-height:42px;padding:0 12px;border-radius:8px;font-weight:900}.arrival-row>div{display:grid;gap:3px}.arrival-row small{color:var(--muted);font-weight:800}.reservation-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,220px) 140px 140px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.reservation-tools strong{font-size:.9rem}.reservation-tools input{min-height:36px}.reservation-row.checked-in{background:#f8fbfa}.reservation-row-head,.reservation-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.reservation-row-head span{color:var(--muted);font-weight:900;text-transform:capitalize}.reservation-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 100px 150px 100px 130px;gap:8px}.reservation-actions small{color:var(--muted);font-weight:800}.reservation-actions>div{display:flex;gap:8px}.room-list{display:grid;gap:8px}.room-list-item{padding:10px;border:1px solid var(--line);border-left:6px solid var(--muted);border-radius:8px;background:#fff;display:grid;gap:8px}.room-list-item.checked-in{border-left-color:var(--meadow)}.room-list-item.vacant{border-left-color:var(--teal)}.room-list-head,.account-summary,.bill-group-head,.bill-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.room-list-head strong{min-width:0}.room-list-head span,.account-summary span,.bill-group-head span{color:var(--muted);font-weight:900;font-variant-numeric:tabular-nums}.room-list-head span{font-size:.88rem;white-space:nowrap;max-width:48%;overflow:hidden;text-overflow:ellipsis}.room-account-buttons{display:grid;gap:6px}.room-account-buttons button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;color:var(--ink);text-align:left;align-items:center;justify-content:stretch}.room-account-buttons button.active{border-color:#08799961;background:#eef8fa;box-shadow:inset 0 0 0 1px #0879991f}.room-account-buttons span{font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-account-buttons small,.dinner-note{color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.checkin-mini,.dinner-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(132px,.7fr) 76px 76px minmax(88px,auto);gap:8px;align-items:center}.room-list-item .checkin-mini{grid-template-columns:minmax(110px,1fr) 108px 56px 56px 74px;gap:6px}.room-list-item .checkin-mini input,.room-list-item .checkin-mini button{min-height:36px;padding:0 8px;font-size:.88rem}.checkin-mini>*,.dinner-form>*,.account-edit-grid>*,.reservation-form>*,.reservation-edit-grid>*{min-width:0}.checkin-mini button,.dinner-form button,.detail-actions button{min-height:42px;padding:0 12px;border-radius:8px;background:#eef5f3;color:var(--teal-dark);font-weight:900;white-space:nowrap}.account-detail{display:grid;gap:14px}.account-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:8px;background:#f8fbfa;border:1px solid var(--line)}.account-summary>div{display:grid;gap:3px}.account-summary-total{text-align:right}.account-summary small,.add-room-account small{color:var(--muted);font-weight:800}.account-summary strong{font-size:1.12rem;font-variant-numeric:tabular-nums}.account-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.account-fact{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.account-fact small{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.account-fact strong{font-size:.9rem;font-weight:900}.account-toolbar{display:flex;flex-wrap:wrap;gap:8px}.account-toolbar button{flex:1 1 160px;min-height:42px;max-width:none}.account-edit-box{display:grid;gap:8px}.account-edit-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(70px,.45fr) minmax(70px,.45fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.account-edit-grid label{display:grid;gap:5px;min-width:0}.account-edit-grid label span{color:var(--muted);font-size:.78rem;font-weight:900}.account-edit-grid input{width:100%;min-width:0}.detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-actions .primary{background:var(--teal);color:#fff}.add-room-account{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.bill-breakdown{display:grid;gap:10px}.bill-group{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.bill-group-head,.bill-line{padding:10px 12px}.bill-group-head{background:#f1f6f4}.bill-line{border-top:1px solid var(--line)}.bill-line span{color:var(--muted);font-weight:800}.bill-line strong{font-variant-numeric:tabular-nums}.dinner-panel{grid-column:span 2;display:grid;gap:10px}.guest-dinner-box{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa}.checkin-res-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(8,121,153,.3);border-radius:6px;background:#eef8fa;color:var(--teal-dark);font-size:.84rem;font-weight:900;white-space:nowrap}.checkin-res-tag button{min-height:0;padding:0 4px;border:0;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1}.res-picker-modal{width:min(680px,100%);max-height:min(560px,calc(100vh - 60px));display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 24px 80px #0d252747;overflow:hidden}.res-picker-filters{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:end}.res-picker-filters label{display:grid;gap:4px}.res-picker-filters label span{font-size:.76rem;font-weight:900;color:var(--muted)}.res-picker-table{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.res-picker-table-head{display:grid;grid-template-columns:minmax(140px,1.5fr) 70px 110px 70px 100px;gap:8px;padding:8px 12px;background:#eef5f3;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.res-picker-list{display:grid;gap:0;overflow-y:auto;max-height:320px}.res-picker-row{display:grid;grid-template-columns:minmax(140px,1.5fr) 70px 110px 70px 100px;gap:8px;min-height:42px;padding:8px 12px;border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);text-align:left;align-items:center}.res-picker-row:first-child{border-top:0}.res-picker-row:hover{background:#eef8fa}.res-picker-row span{font-size:.88rem;font-weight:800;color:var(--ink)}.guest-dinner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.guest-dinner-head>div{display:grid;gap:3px}.guest-dinner-head small{color:var(--muted);font-weight:900}.guest-dinner-head button{min-height:34px;padding:0 12px;border:1px solid #cbd9d6;border-radius:8px;background:linear-gradient(180deg,#fff,#eef5f3);color:var(--teal-dark);font-weight:900;white-space:nowrap}.dinner-preorder-list{display:grid;gap:6px}.guest-dinner-box .dinner-form{grid-template-columns:minmax(190px,1fr) 80px auto}@media(max-width:560px){.checkin-drawer-fields{flex-direction:column;align-items:stretch}.checkin-drawer-fields>input:first-child,.checkin-drawer-fields>input[type=number]{flex:1 1 auto;width:100%}.checkin-drawer-form .compact{width:100%}}@media(max-width:980px){.reception-grid,.account-edit-grid,.account-toolbar,.checkin-mini,.dinner-form,.reservation-form,.reservation-drawer,.reservation-edit-drawer,.checkin-drawer-form,.checkin-drawer-fields,.reservation-tools,.reservation-edit-grid,.reservation-actions,.admin-tabs,.admin-drawer,.admin-edit-row,.admin-menu-language-grid,.admin-setting-row,.admin-danger-row,.arrival-row,.detail-actions{grid-template-columns:1fr}.admin-section-head,.admin-setting-value,.admin-setting-edit{align-items:stretch;flex-direction:column}.admin-setting-edit input{width:100%}.reception-hero,.reservation-panel,.arrivals-panel,.rooms-desk,.reception-audit-panel,.dinner-panel{grid-column:span 1}.reservation-actions,.reservation-actions>div{align-items:stretch;flex-direction:column}}.warning{color:var(--ember);display:flex;align-items:center;gap:6px;font-weight:900}.manager-form,.list-panel{display:grid;gap:10px}.wide{grid-column:span 2}.empty{min-height:92px;display:grid;place-items:center;gap:8px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;background:#ffffff80;text-align:center}.mobile-cart-bar{display:none}@keyframes ticketPulse{0%{box-shadow:0 0 #08799947}to{box-shadow:0 0 0 16px #08799900}}@media(max-width:1180px){.login-screen{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr;align-content:start;row-gap:0}.sidebar{position:sticky;top:0;z-index:10;height:56px;min-height:0;max-height:56px;padding:8px 12px;display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) minmax(76px,110px) auto;align-items:center;gap:8px;box-shadow:0 8px 24px #052f3b2e;overflow:hidden}.sidebar .brand{min-width:0;display:block}.sidebar .brand img{width:auto;max-width:100%;height:34px;max-height:34px;display:block;object-fit:contain}.sidebar .brand span,.sidebar .side-note,.sidebar .station-status{display:none}.sidebar .access-card{min-width:0;padding:0;background:transparent;grid-template-columns:22px minmax(0,1fr);gap:6px}.sidebar .access-card svg{width:18px;height:18px}.sidebar .access-card strong,.sidebar .access-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.05}.sidebar .access-card span{font-size:.74rem}.sidebar .language-switcher{width:96px;justify-self:end;gap:0}.sidebar .language-switcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sidebar .language-switcher select{height:40px;padding:0 22px 0 0}.sidebar .logout-button{width:42px;min-height:40px;padding:0;grid-template-columns:1fr;place-items:center}.sidebar .logout-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.role-nav{grid-template-columns:repeat(4,1fr)}.workspace{padding:16px}.topbar{margin-bottom:12px}.topbar h1{font-size:1.8rem}.topbar .eyebrow{margin-bottom:4px;font-size:.7rem}.service-tabs{position:sticky;top:56px;z-index:9;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:8px 0;background:var(--paper)}.service-tabs button{min-height:44px;border-radius:8px;background:#fff;color:var(--muted);font-weight:900}.service-tabs button.active{background:var(--teal);color:#fff}.service-tabs button:disabled{opacity:.45;cursor:not-allowed}.waiter-grid{grid-template-columns:1fr}.waiter-grid>.panel{display:none}.waiter-grid>.panel.mobile-active{display:block}.cart-panel,.bills-panel,.order-panel{grid-column:auto}.cart-panel,.order-panel{position:static}.order-sections{grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);align-items:start}.order-sections .order-section:last-child{grid-column:1 / -1}.manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-tabs{position:sticky;top:72px;z-index:8;padding:8px 0;background:var(--paper)}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(280px,400px))}.ticket-card{min-height:0}.ticket-actions button{flex:0 0 auto}.reception-grid{grid-template-columns:1fr}.reception-hero,.room-board{grid-column:auto}}@media(max-width:760px){.login-screen,.workspace{padding:16px}.sidebar{position:sticky;top:0;z-index:10;height:auto;min-height:56px;padding:8px 10px;display:grid;grid-template-columns:minmax(76px,.8fr) minmax(0,1fr) minmax(70px,96px) auto;align-items:center;gap:8px;box-shadow:0 8px 24px #052f3b38}.brand{display:block;min-width:0}.brand img{width:120px;max-width:100%;display:block}.brand span,.side-note,.station-status{display:none}.access-card{min-width:0;padding:0;background:transparent;grid-template-columns:22px minmax(0,1fr);gap:6px}.access-card svg{width:18px;height:18px}.access-card strong,.access-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.05}.access-card span{font-size:.74rem}.sidebar .language-switcher{width:96px;justify-self:end;gap:0}.sidebar .language-switcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sidebar .language-switcher select{height:40px;padding:0 22px 0 0;font-size:.84rem}.logout-button{width:42px;min-height:40px;padding:0;border-radius:8px;display:grid;grid-template-columns:1fr;place-items:center}.logout-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{margin-bottom:12px}.topbar,.cart-total,.actions{flex-direction:column;align-items:stretch}.topbar h1{font-size:1.65rem}.topbar .eyebrow{font-size:.68rem;margin-bottom:4px}.metric-strip{display:none}.metric-strip,.snapshot-grid,.role-nav,.user-grid,.waiter-grid,.manager-grid,.reception-grid{grid-template-columns:1fr}.manager-head{align-items:stretch;flex-direction:column}.operation-tabs{top:56px;grid-template-columns:repeat(2,minmax(0,1fr))}.operation-tabs button{min-height:44px;font-size:.84rem}.panel-head,.bill-actions{align-items:stretch;flex-direction:column}.split-body{grid-template-columns:1fr}.split-bill-tabs button{flex:1 1 130px;justify-content:center}.segmented{grid-auto-flow:row;grid-template-columns:repeat(3,1fr)}.wide{grid-column:auto}.service-tabs{top:56px;gap:4px}.service-tabs button{min-height:40px;font-size:.82rem}.menu-grid{grid-template-columns:1fr}.menu-item{min-height:64px;grid-template-columns:1fr auto;align-items:center;align-content:center;padding-right:48px}.menu-item strong{grid-column:2;grid-row:1 / span 2}.menu-plus{right:14px;top:50%;bottom:auto;transform:translateY(-50%)}.cart-panel,.order-panel{position:static}.order-sections{grid-template-columns:1fr}.order-sections .order-section:last-child{grid-column:auto}.item-ready-time{grid-template-columns:1fr;align-items:stretch}.add-item-options .primary,.add-item-toggle{width:100%;justify-self:stretch}.order-actions{display:none}.qty{grid-template-columns:44px 30px 44px}.qty button{width:44px;height:44px}.mobile-cart-bar{position:sticky;bottom:0;z-index:12;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;padding:8px;margin:12px -16px -16px;background:#f7f7f1f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-cart-bar button{min-height:52px;border-radius:8px;background:#fff;color:var(--ink);font-size:.98rem;font-weight:900}.mobile-cart-bar .primary{background:var(--teal);color:#fff}.mobile-cart-bar .primary.confirm{background:var(--ember)}.mobile-cart-bar .secondary:disabled,.mobile-cart-bar .primary:disabled{opacity:.48}.kds-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.printer-planned{grid-column:1 / -1;min-height:48px!important}.ticket-grid{grid-template-columns:1fr}.ticket-card{min-height:0;padding:12px;gap:10px}.ticket-top h2{font-size:1rem}.ticket-card ul{gap:6px;font-size:.98rem}.ticket-actions{display:grid;grid-template-columns:repeat(3,1fr)}.ticket-actions button{min-height:44px;padding:0 8px;font-size:.82rem}.room-actions{grid-template-columns:1fr}.login-brand h1{font-size:2rem}}
