@import "https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&display=swap";:root{color:#f2ede4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#141210;--surface:#1d1a16;--surface-raised:#241f1b;--surface-soft:#201c18;--gold:#c9a24b;--gold-soft:#c9a24b29;--olive:#4a5a3a;--text:#f2ede4;--muted:#8f887a;--line:#2a2620;--danger:#c9603f;--success:#5a8a5e;--shadow:0 10px 24px #00000052;--status-active:#3d7a8c;--status-payment:#8b6fa8;--status-cleaning:#6b655a;--status-success:#5a8a5e;--accent-saffron:#c9a24b;--status-danger:#c9603f;background:#141210;font-family:Vazirmatn,Tahoma,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--bg);min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.table-number,.qty,.service-total b,.draft-row>b,.order-footer strong,.queue-count,.timer-chip,.connection{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.shell{max-width:1160px;margin:0 auto;padding:0 16px 56px}.app-header{z-index:30;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);margin:0 -16px 14px;padding:10px 16px 12px;position:sticky;top:0}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-title h1{letter-spacing:.01em;margin:0;font-size:19px;font-weight:800}.topbar-sub{color:var(--muted);align-items:center;gap:8px;margin:3px 0 0;font-size:12.5px;font-weight:600;display:flex}.topbar-sub .dot{background:var(--muted);border-radius:50%;width:3px;height:3px;display:inline-block}.queue-count{color:var(--gold);font-weight:800}.top-actions{align-items:center;gap:8px;display:flex}.view-tabs{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:4px;margin-top:12px;padding:4px;display:flex}.view-tab{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:800;transition:color .15s,background .15s;display:inline-flex}.view-tab.active{background:var(--gold-soft);color:var(--gold)}.connection{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.connection.online{color:var(--success)}.connection.offline,.connection.disabled{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.connection.syncing,.connection.connecting{color:var(--gold)}.connection.syncing svg{animation:1.1s linear infinite connection-spin}@keyframes connection-spin{to{transform:rotate(360deg)}}.primary-button{background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 92%, #fff) 0%, var(--gold) 60%);color:#14120f;min-height:48px;box-shadow:0 1px 0 #ffffff2e inset, 0 4px 14px color-mix(in srgb, var(--gold) 22%, transparent);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:800;transition:transform .15s,filter .15s,opacity .15s;display:inline-flex}.primary-button:hover:not(:disabled){filter:brightness(1.06)}.primary-button:active:not(:disabled){filter:brightness(.97);transform:scale(.98)}.primary-button:disabled{opacity:.4;box-shadow:none}.primary-button.sent{background:var(--success);color:#f4f9f4;box-shadow:0 4px 14px color-mix(in srgb, var(--success) 25%, transparent)}.ghost-button{border:1px solid color-mix(in srgb, var(--muted) 35%, var(--line));background:var(--surface-raised);min-height:48px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:700;transition:transform .15s,border-color .15s,color .15s;display:inline-flex}.ghost-button:hover{border-color:color-mix(in srgb, var(--muted) 55%, var(--line))}.ghost-button:active{transform:scale(.98)}.icon-button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;transition:transform .15s,border-color .15s;display:inline-flex}.icon-button:active{transform:scale(.96)}.text-button{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:10px;font-size:13px;font-weight:700;text-decoration:underline}.section-heading{justify-content:space-between;align-items:baseline;margin:2px 2px 10px;display:flex}.section-heading h2{margin:0;font-size:15px;font-weight:800}.section-heading span{color:var(--muted);font-size:12px;font-weight:700}.muted{color:var(--muted);padding:18px 2px;font-size:13.5px;font-weight:600}.alerts{gap:8px;margin-top:14px;display:grid}.tables-section{margin-top:16px}.alert-row{border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 9%, transparent);width:100%;min-height:56px;color:var(--text);text-align:start;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;transition:transform .15s;display:flex}.alert-row:active{transform:scale(.995)}.alert-row>svg:first-child{color:var(--danger);flex:none}.alert-row span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.alert-row b{font-size:14px}.alert-row small{color:var(--muted);font-size:12px}.floor-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.floor-tile{border:1px solid var(--line);background:var(--surface);box-shadow:inset 0 0 52px color-mix(in srgb, var(--muted) 9%, transparent);border-radius:16px;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.floor-tile[data-status=available]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--status-success) 13%, transparent)}.floor-tile[data-status=reserved]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--accent-saffron) 14%, transparent)}.floor-tile[data-status=occupied]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--status-active) 17%, transparent)}.floor-tile[data-status=awaiting_payment]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--status-payment) 17%, transparent)}.floor-tile[data-status=needs_cleaning]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--status-cleaning) 17%, transparent)}.floor-tile[data-status=locked]{box-shadow:inset 0 0 52px color-mix(in srgb, var(--status-danger) 13%, transparent)}.floor-tile:hover{transform:translateY(-2px)}.floor-tile:focus-within{border-color:var(--gold)}.floor-head{border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);background:color-mix(in srgb, var(--muted) 8%, transparent);letter-spacing:.03em;justify-content:center;align-items:center;gap:9px;padding:8px 12px;font-size:13px;font-weight:800;display:flex}.floor-head .status-dot{background:var(--muted);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--muted) 22%, transparent);border-radius:50%;flex:none}.floor-tile[data-status=available] .floor-head{color:color-mix(in srgb, var(--success) 72%, var(--text));background:color-mix(in srgb, var(--success) 14%, transparent)}.floor-tile[data-status=available] .status-dot{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 25%, transparent)}.floor-tile[data-status=reserved] .floor-head{color:color-mix(in srgb, var(--accent-saffron) 78%, var(--text));background:color-mix(in srgb, var(--accent-saffron) 14%, transparent)}.floor-tile[data-status=reserved] .status-dot{background:var(--accent-saffron);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-saffron) 25%, transparent)}.floor-tile[data-status=occupied] .floor-head{color:color-mix(in srgb, var(--status-active) 68%, var(--text));background:color-mix(in srgb, var(--status-active) 16%, transparent)}.floor-tile[data-status=occupied] .status-dot{background:var(--status-active);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-active) 28%, transparent)}.floor-tile[data-status=awaiting_payment] .floor-head{color:color-mix(in srgb, var(--status-payment) 68%, var(--text));background:color-mix(in srgb, var(--status-payment) 16%, transparent)}.floor-tile[data-status=awaiting_payment] .status-dot{background:var(--status-payment);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-payment) 28%, transparent)}.floor-tile[data-status=needs_cleaning] .floor-head{color:color-mix(in srgb, var(--status-cleaning) 42%, var(--text));background:color-mix(in srgb, var(--status-cleaning) 18%, transparent)}.floor-tile[data-status=needs_cleaning] .status-dot{background:var(--status-cleaning);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-cleaning) 30%, transparent)}.floor-tile[data-status=locked] .floor-head{color:color-mix(in srgb, var(--status-danger) 68%, var(--text));background:color-mix(in srgb, var(--status-danger) 14%, transparent)}.floor-tile[data-status=locked] .status-dot{background:var(--status-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-danger) 25%, transparent)}.floor-body{width:100%;min-height:160px;color:inherit;text-align:center;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:22px 16px 18px;display:flex}.floor-body:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}.floor-number{border:1.5px solid color-mix(in srgb, var(--muted) 50%, transparent);background:color-mix(in srgb, var(--muted) 9%, transparent);min-width:104px;box-shadow:0 8px 20px color-mix(in srgb, var(--muted) 16%, transparent), inset 0 1px 0 #ffffff0d;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;border-radius:18px;flex-direction:column;align-items:center;padding:14px 22px 11px;font-size:46px;font-weight:800;line-height:1;transition:box-shadow .15s,border-color .15s;display:inline-flex}.floor-number .floor-caption{color:var(--muted);letter-spacing:.18em;margin-top:8px;font-size:11px;font-weight:700;display:block}.floor-tile[data-status=available] .floor-number{border-color:color-mix(in srgb, var(--success) 52%, transparent);background:color-mix(in srgb, var(--success) 10%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--success) 16%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile[data-status=reserved] .floor-number{border-color:color-mix(in srgb, var(--accent-saffron) 52%, transparent);background:color-mix(in srgb, var(--accent-saffron) 10%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--accent-saffron) 16%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile[data-status=occupied] .floor-number{border-color:color-mix(in srgb, var(--status-active) 55%, transparent);background:color-mix(in srgb, var(--status-active) 12%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--status-active) 20%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile[data-status=awaiting_payment] .floor-number{border-color:color-mix(in srgb, var(--status-payment) 55%, transparent);background:color-mix(in srgb, var(--status-payment) 12%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--status-payment) 20%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile[data-status=needs_cleaning] .floor-number{border-color:color-mix(in srgb, var(--status-cleaning) 55%, transparent);background:color-mix(in srgb, var(--status-cleaning) 12%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--status-cleaning) 20%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile[data-status=locked] .floor-number{border-color:color-mix(in srgb, var(--status-danger) 52%, transparent);background:color-mix(in srgb, var(--status-danger) 10%, transparent);box-shadow:0 8px 20px color-mix(in srgb, var(--status-danger) 16%, transparent), inset 0 1px 0 #ffffff0d}.floor-tile.priority .floor-number{border-color:color-mix(in srgb, var(--status-danger) 70%, transparent);background:color-mix(in srgb, var(--status-danger) 14%, transparent);box-shadow:0 8px 22px color-mix(in srgb, var(--status-danger) 26%, transparent), inset 0 1px 0 #ffffff0d}.floor-info{min-height:0;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin-top:-2px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.floor-info .info-sep{color:var(--line)}.floor-info .active-info{color:var(--status-active)}.floor-info .warn-info{color:var(--gold)}.floor-info .active-info{font-variant-numeric:tabular-nums}.floor-tile.priority{border-color:var(--danger);animation:1.6s ease-in-out infinite attention-pulse}.floor-tile.priority:not([data-status=locked]){box-shadow:inset 0 0 56px color-mix(in srgb, var(--status-danger) 20%, transparent)}.floor-tile.priority .floor-head{color:color-mix(in srgb, var(--status-danger) 68%, var(--text));background:color-mix(in srgb, var(--status-danger) 18%, transparent)}.floor-tile.priority .status-dot{background:var(--status-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--status-danger) 28%, transparent)}@keyframes attention-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 55%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--danger) 16%, transparent)}}.floor-foot{padding:2px 14px 14px}.floor-foot .primary-button,.floor-foot .floor-release,.floor-foot .ghost-button{width:100%;min-height:48px;font-size:13px}.floor-release{border:1px solid color-mix(in srgb, var(--success) 65%, transparent);color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent);border-radius:12px;justify-content:center;align-items:center;gap:7px;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.floor-release:hover{background:color-mix(in srgb, var(--success) 18%, transparent)}.floor-release:active{transform:scale(.98)}.new-badge{color:var(--danger);font-size:11px;font-weight:800}.timer-chip{border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.timer-chip.warn{color:var(--gold);border-color:#c9a24b80}.timer-chip.urgent{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:#c9603f8c}.service-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:14px;display:grid}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.service-card.ready{border-color:color-mix(in srgb, var(--accent-saffron) 50%, var(--line))}.service-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.service-title{align-items:center;gap:10px;display:flex}.service-title .floor-number{border-radius:13px;min-width:64px;padding:8px 14px 7px;font-size:26px}.service-title .floor-number .floor-caption{letter-spacing:.14em;margin-top:3px;font-size:9px}.floor-status{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.floor-status .status-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.service-card[data-status=available] .floor-status{color:var(--success)}.service-card[data-status=available] .floor-status .status-dot{background:var(--success)}.service-card[data-status=reserved] .floor-status{color:var(--accent-saffron)}.service-card[data-status=reserved] .floor-status .status-dot{background:var(--accent-saffron)}.service-card[data-status=occupied] .floor-status{color:var(--status-active)}.service-card[data-status=occupied] .floor-status .status-dot{background:var(--status-active)}.service-card[data-status=awaiting_payment] .floor-status{color:var(--status-payment)}.service-card[data-status=awaiting_payment] .floor-status .status-dot{background:var(--status-payment)}.service-card[data-status=needs_cleaning] .floor-status{color:var(--status-cleaning)}.service-card[data-status=needs_cleaning] .floor-status .status-dot{background:var(--status-cleaning)}.service-card[data-status=locked] .floor-status{color:var(--status-danger)}.service-card[data-status=locked] .floor-status .status-dot{background:var(--status-danger)}.service-head-side{align-items:center;gap:8px;display:flex}.service-orders{gap:10px;padding:12px 14px;display:grid}.service-order{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;gap:8px;padding:10px 12px;display:grid}.service-order-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.service-order-head code{color:var(--muted);letter-spacing:.02em;font-size:11.5px}.service-items{flex-direction:column;gap:6px;font-size:13px;display:flex}.service-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.service-item .qty{color:var(--gold);font-weight:800}.late-badge{border:1px solid color-mix(in srgb, var(--danger) 50%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:800}.service-total{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-top:8px;font-size:12.5px;display:flex}.service-total b{color:var(--text);font-size:14px}.service-actions{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:12px 14px;display:flex}.service-actions>*{flex:1}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill .status-dot{border-radius:50%;width:8px;height:8px}.status-square{white-space:nowrap;border-radius:6px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.order-shell{flex-direction:column;min-height:100dvh;display:flex}.order-header{z-index:30;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:60px;padding:0 14px;display:flex;position:sticky;top:0}.order-title{flex-direction:column;min-width:0;display:flex}.order-title h1{white-space:nowrap;margin:0;font-size:17px;font-weight:800}.order-title small{color:var(--muted);font-size:11.5px;font-weight:600}.order-header-side{align-items:center;gap:8px;margin-inline-start:auto;display:flex}.order-body{flex-direction:column;flex:1;gap:14px;width:100%;max-width:880px;margin:0 auto;padding:14px 16px 24px;display:flex}.search-box{background:var(--surface);border:1px solid var(--line);min-height:48px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box input{min-height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:14px}.search-box input::placeholder{color:var(--muted)}.cat-chips{z-index:20;scrollbar-width:none;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);gap:8px;margin:-4px 0;padding:8px 2px;display:flex;position:sticky;top:60px;overflow-x:auto}.cat-chips::-webkit-scrollbar{display:none}.cat-chip{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:0 16px;font-size:13px;font-weight:800;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.cat-chip.active{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 60%, transparent);background:var(--gold-soft)}.cat-chip .cat-emoji{margin-inline-end:6px;font-size:15px;line-height:1}.tag-chips{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto}.tag-chips::-webkit-scrollbar{display:none}.tag-chip{border:1px solid var(--line);min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.tag-chip.on{color:var(--status-active);border-color:color-mix(in srgb, var(--status-active) 60%, transparent);background:color-mix(in srgb, var(--status-active) 14%, transparent)}.tag-chip.clear{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.draft-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px 14px}.draft-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.draft-row:last-child{border-bottom:0}.draft-row .food-icon{font-size:24px}.draft-row>b{text-align:center;min-width:24px;font-size:15px}.draft-name{flex-direction:column;flex:1;gap:4px;min-width:0;font-size:14px;font-weight:700;display:flex}.draft-modifiers{flex-wrap:wrap;gap:4px;display:flex}.modifier-chip{background:var(--gold-soft);color:var(--gold);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.modifier-chip.free{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted)}.qty-button{border:1px solid color-mix(in srgb, var(--muted) 30%, var(--line));background:var(--surface-raised);width:44px;height:44px;color:var(--text);border-radius:12px;flex:none;justify-content:center;align-items:center;transition:transform .12s,border-color .12s,color .12s;display:inline-flex}.qty-button:hover{border-color:color-mix(in srgb, var(--gold) 50%, var(--line));color:var(--gold)}.qty-button:active{transform:scale(.94)}.row-remove{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));width:44px;height:44px;color:var(--danger);background:0 0;border-radius:12px;flex:none;justify-content:center;align-items:center;transition:transform .12s,background .15s;display:inline-flex}.row-remove:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.row-remove:active{transform:scale(.94)}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.menu-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:center;gap:9px;min-height:128px;padding:16px 12px 13px;transition:transform .15s,border-color .15s,background .15s;display:flex}.menu-tile:hover{border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}.menu-tile:active:not(:disabled){background:var(--surface-soft);transform:scale(.97)}.menu-tile.unavailable{opacity:.45;filter:grayscale(.4)}.menu-tile .food-icon{font-size:30px;line-height:1}.menu-name{color:var(--text);text-align:center;font-size:14px;font-weight:700;line-height:1.5}.menu-options-hint{border:1px dashed color-mix(in srgb, var(--gold) 45%, transparent);color:var(--gold);border-radius:999px;padding:1px 8px;font-size:10px;font-weight:700}.draft-price{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);background:#0a09079e;justify-content:center;align-items:flex-end;animation:.18s backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}}.option-sheet{background:var(--surface-raised);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;flex-direction:column;width:min(560px,100%);max-height:86dvh;animation:.2s ease-out sheet-up;display:flex;box-shadow:0 -18px 48px #00000080}@keyframes sheet-up{0%{opacity:.6;transform:translateY(32px)}}.sheet-grip{background:var(--line);border-radius:999px;width:44px;height:4px;margin:10px auto 2px}.sheet-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px 12px;display:flex}.sheet-head .food-icon{font-size:30px}.sheet-title{flex-direction:column;flex:1;min-width:0;display:flex}.sheet-title h2{margin:0;font-size:16px;font-weight:800}.sheet-title small{color:var(--muted);font-size:11.5px;font-weight:600}.sheet-body{gap:16px;padding:14px 16px;display:grid;overflow-y:auto}.option-group{gap:8px;display:grid}.option-group-head{justify-content:space-between;align-items:center;display:flex}.option-group-head h3{margin:0;font-size:13px;font-weight:800}.option-group-head .req{color:var(--danger);margin-inline-start:2px}.multi-hint{color:var(--muted);font-size:10.5px;font-weight:700}.option-values{flex-wrap:wrap;gap:8px;display:flex}.option-chip{border:1.5px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);border-radius:12px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,transform .12s;display:inline-flex}.option-chip b{color:var(--gold);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.option-chip.on{border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}.option-chip:active{transform:scale(.97)}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:center;gap:12px;display:flex}.qty-stepper{align-items:center;gap:10px;display:flex}.qty-stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-size:15px}.sheet-foot .primary-button{flex:1}.menu-price{color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:auto;padding-top:2px;font-size:13px;font-weight:800}.menu-tile>.menu-name+.menu-price{margin-top:auto}.menu-tile{justify-content:flex-start}.menu-tile .menu-price{margin-top:auto}.load-more{border:1px dashed var(--line);width:100%;min-height:46px;color:var(--muted);background:0 0;border-radius:12px;margin-top:4px;font-size:13px;font-weight:700;transition:color .15s,border-color .15s}.load-more:hover{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 45%, var(--line))}.note-field{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.note-field textarea{border:1px solid var(--line);background:var(--surface);min-height:64px;color:var(--text);resize:vertical;border-radius:12px;padding:12px 14px;font-size:14px}.order-footer{z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);align-items:center;gap:14px;display:flex;position:sticky;bottom:0}.order-summary{flex-direction:column;gap:2px;min-width:112px;display:flex}.order-summary strong{font-size:16.5px;font-weight:800}.order-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700}.order-footer .primary-button{flex:1}.auth-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:24px;display:flex}.brand-mark{color:var(--gold);font-size:42px}.eyebrow{color:var(--muted);letter-spacing:.4em;margin:0;font-size:11px;font-weight:800}.auth-shell h1{margin:0;font-size:24px;font-weight:800}.auth-subtitle{color:var(--muted);margin:0 0 14px;font-size:13.5px}.auth-form{text-align:start;flex-direction:column;gap:10px;width:min(360px,100%);display:flex}.auth-form label{color:var(--muted);font-size:12.5px;font-weight:700}.auth-form input{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--text);border-radius:12px;padding:0 14px;font-size:15px}.auth-form .primary-button{margin-top:6px}.error{color:var(--danger);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}.toast{bottom:calc(18px + env(safe-area-inset-bottom));background:var(--surface-raised);border:1px solid var(--line);width:max-content;max-width:min(92vw,480px);color:var(--text);box-shadow:var(--shadow);z-index:60;border-radius:14px;margin-inline:auto;padding:12px 18px;font-size:13.5px;font-weight:700;animation:.18s toast-in;position:fixed;inset-inline:0}.toast.error{border-color:color-mix(in srgb, var(--danger) 60%, transparent)}.toast.success{border-color:color-mix(in srgb, var(--success) 60%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=760px){.floor-grid{grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:13px}.floor-number{min-width:88px;padding:11px 18px 9px;font-size:36px}.floor-body{min-height:130px;padding:14px}.service-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(134px,1fr))}}@media (width<=480px){.floor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.floor-number{border-radius:14px;min-width:76px;padding:9px 14px 8px;font-size:30px}.floor-number .floor-caption{margin-top:5px;font-size:10px}.floor-body{gap:8px;min-height:122px;padding:12px 10px}.floor-head{min-height:36px;font-size:11.5px}.floor-foot{padding:0 10px 10px}.floor-foot .primary-button,.floor-foot .floor-release,.floor-foot .ghost-button{min-height:44px;font-size:12px}.order-body{padding:12px 12px 20px}.order-footer{gap:10px;padding-inline:12px}.sheet-foot{flex-wrap:wrap}.order-summary{min-width:96px}.order-summary strong{font-size:15px}.alert-row b{font-size:13px}}
