html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-default-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #3880ff) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 56, 128, 255) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;--ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #3dc2ff) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 61, 194, 255) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #36abe0) !important;--ion-color-tint: var(--ion-color-secondary-tint, #50c8ff) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #5260ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 82, 96, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #4854e0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #6370ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd36f) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 211, 111) !important;--ion-color-contrast: var(--ion-color-success-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-success-shade, #28ba62) !important;--ion-color-tint: var(--ion-color-success-tint, #42d77d) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #eb445a) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 235, 68, 90) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #cf3c4f) !important;--ion-color-tint: var(--ion-color-danger-tint, #ed576b) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #92949c) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 146, 148, 156) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #808289) !important;--ion-color-tint: var(--ion-color-medium-tint, #9d9fa6) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #3880ff)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media(min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media(min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media(min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media(min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media(min-width:576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media(min-width:768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media(min-width:992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media(min-width:1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media(min-width:576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media(min-width:768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media(min-width:992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media(min-width:1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media(min-width:576px){.ion-hide-sm-up{display:none!important}}@media(max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media(min-width:768px){.ion-hide-md-up{display:none!important}}@media(max-width:767.98px){.ion-hide-md-down{display:none!important}}@media(min-width:992px){.ion-hide-lg-up{display:none!important}}@media(max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media(min-width:1200px){.ion-hide-xl-up{display:none!important}}@media(max-width:1199.98px){.ion-hide-xl-down{display:none!important}}.waiter-alerts-card{margin:0 auto;box-shadow:0 2px 8px #00000026;max-width:600px;width:100%;--background: #ffc409;background:#ffc409}.waiter-alerts-card ion-card-header{padding-bottom:8px}.waiter-alerts-card ion-card-content{max-height:300px;overflow-y:auto;overflow-x:hidden}.waiter-alerts-card ion-card-title{font-size:1.1rem;display:flex;align-items:center}.waiter-alerts-card ion-item{--padding-start: 8px;--padding-end: 8px;margin-bottom:8px;border-radius:8px}.waiter-alerts-card ion-item:last-child{margin-bottom:0}.waiter-alerts-card ion-card-content::-webkit-scrollbar{width:6px}.waiter-alerts-card ion-card-content::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.waiter-alerts-card ion-card-content::-webkit-scrollbar-thumb{background:#0000004d;border-radius:3px}.waiter-alerts-card ion-card-content::-webkit-scrollbar-thumb:hover{background:#00000080}.waiter-alerts-global{position:fixed;top:56px;left:0;right:0;z-index:1000;padding:8px 16px;background:transparent;pointer-events:none;display:flex;justify-content:center;align-items:flex-start}.waiter-alerts-global>*{pointer-events:auto;max-width:100%;width:100%}ion-content:has(+.waiter-alerts-global){--padding-top: calc(var(--padding-top) + 100px)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem}.login-container ion-card{width:100%;max-width:400px;--background: white;background:#fff}.login-container ion-card-content{--background: white;background:#fff}.login-container ion-item{--background: white;background:#fff;--border-color: transparent;--inner-padding-end: 0;--inner-padding-start: 0;--padding-start: 0;--padding-end: 0;margin-bottom:16px}.login-container ion-item:last-of-type{margin-bottom:0}.login-container ion-label{--color: #000000;color:#000;margin-bottom:8px;display:block;position:relative;z-index:1}.login-container ion-input{--background: white;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:8px 12px;margin-top:4px;display:block;width:100%;box-sizing:border-box}.login-container ion-input input{color:#000!important;background-color:#fff!important;width:100%}@keyframes onAutoFillStart{0%{opacity:0}to{opacity:0}}@keyframes onAutoFillCancel{0%{opacity:0}to{opacity:0}}.login-container input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:1ms;-webkit-text-fill-color:#000000!important;color:#000!important;background-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;box-shadow:0 0 0 1000px #fff inset!important}.login-container input:-webkit-autofill:hover,.login-container input:-webkit-autofill:focus,.login-container input:-webkit-autofill:active{-webkit-text-fill-color:#000000!important;color:#000!important;background-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;box-shadow:0 0 0 1000px #fff inset!important}.login-container input:not(:-webkit-autofill){animation-name:onAutoFillCancel;animation-duration:1ms}.login-container ion-input{--background: white;background:#fff}.login-container ion-input input{color:#000!important;background-color:#fff!important}.login-container ion-input input:-webkit-autofill{-webkit-text-fill-color:#000000!important;color:#000!important;background-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;box-shadow:0 0 0 1000px #fff inset!important}.login-container ion-input input:-webkit-autofill:hover,.login-container ion-input input:-webkit-autofill:focus,.login-container ion-input input:-webkit-autofill:active{-webkit-text-fill-color:#000000!important;color:#000!important;background-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;box-shadow:0 0 0 1000px #fff inset!important}.password-changed-success-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:2rem}.password-changed-success-container ion-card{width:100%;max-width:500px}.password-changed-success-container h1{font-size:24px;font-weight:700;margin-bottom:16px}.password-changed-success-container p{font-size:16px;line-height:1.5;color:var(--ion-color-medium)}.roles-management{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.roles-management{padding:0 0 16px;margin:0 -16px}}.roles-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px}.role-color-indicator{width:4px;height:40px;border-radius:2px;margin-right:12px;flex-shrink:0}.role-form-inline{background:var(--ion-color-light);border-radius:8px;padding:20px;margin-bottom:0}.role-form-inline h3{margin:0 0 20px;color:var(--ion-color-dark)}.color-picker-section{margin-top:24px}.color-picker-section ion-label{display:block;margin-bottom:12px;color:var(--ion-color-dark);font-weight:500}.color-palette{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.color-option{width:48px;height:48px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.color-option:hover{transform:scale(1.1);box-shadow:0 4px 8px #0003}.color-option.selected{border-color:var(--ion-color-dark);box-shadow:0 0 0 2px var(--ion-color-light),0 0 0 4px var(--ion-color-dark)}.system-roles-info{margin-top:8px;padding:16px;background:var(--ion-color-light);border-radius:8px}.system-roles-info h3{margin:0 0 8px;color:var(--ion-color-dark)}.system-roles-info p{margin:0 0 12px;color:var(--ion-color-medium);font-size:.9rem}.roles-section{background:var(--ion-color-light);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.roles-section{border-radius:0}}.system-roles-info ul{margin:0;padding-left:20px;color:var(--ion-color-dark)}.system-roles-info li{margin-bottom:4px}.security-settings{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column}@media(max-width:768px){.security-settings{padding:0 0 16px;margin:0 -16px}}.security-settings h2{margin:0 0 24px;color:var(--ion-color-dark);font-size:1.2rem;font-weight:600}.settings-section{margin-bottom:32px;padding:16px;background:var(--ion-color-light);border-radius:8px}@media(max-width:768px){.settings-section{margin-bottom:16px;padding:16px;border-radius:0}}.settings-section h3{margin:0 0 16px;color:var(--ion-color-dark);font-size:1.1rem;font-weight:600}.settings-actions{margin-top:32px;display:flex;justify-content:flex-end}.security-settings input.native-input{padding-top:2px;padding-bottom:2px}.staff-management{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.staff-management{padding:0 0 16px;margin:0 -16px}}.staff-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px}.staff-search-bar{margin-bottom:12px}.staff-form-inline{background:var(--ion-color-light);border-radius:8px;padding:20px;margin-bottom:24px}.staff-form-inline h3{margin:0 0 20px;color:var(--ion-color-dark);text-align:left}.staff-form-inline ion-input{--padding-start: 16px;--padding-end: 16px;--padding-top: 16px;--padding-bottom: 16px;--min-height: 56px;font-size:16px;--label-font-size: 16px;--label-font-weight: 500;text-align:left}.staff-form-inline ion-input input{text-align:left!important}.staff-form-inline ion-input .label-text-wrapper,.staff-form-inline ion-input label,.staff-form-inline ion-input .label-text{font-size:16px!important;font-weight:500!important;color:var(--ion-color-dark)!important}.staff-form-inline ion-select{--padding-start: 16px;--padding-end: 16px;--padding-top: 16px;--padding-bottom: 16px;--min-height: 56px;font-size:16px;--label-font-size: 16px;--label-font-weight: 500}.staff-form-inline ion-select .label-text-wrapper,.staff-form-inline ion-select label,.staff-form-inline ion-select .label-text{font-size:16px!important;font-weight:500!important;color:var(--ion-color-dark)!important}.staff-form-inline ion-item{--min-height: 56px;--padding-start: 0;--padding-end: 0}.staff-form-inline ion-item ion-label h2{font-size:16px;font-weight:500}.staff-form-inline ion-item ion-label p{font-size:14px}.staff-section{background:var(--ion-color-light);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}@media(max-width:768px){.staff-section{border-radius:0}}.form-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.form-actions ion-button{flex:0 0 auto}.staff-list-item{--padding-start: 12px;--padding-end: 12px;--padding-top: 6px;--padding-bottom: 6px;--min-height: auto}.staff-label{flex:1;margin:0}.staff-name-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}.staff-name-section{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.staff-name{margin:0;font-size:1rem;font-weight:700!important;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-status-chip{height:20px;font-size:.7rem;margin:0;flex-shrink:0}.staff-details-row{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--ion-color-medium);margin-top:0;flex-wrap:wrap}.staff-email,.staff-phone,.staff-type-label{color:var(--ion-color-medium)}.staff-roles-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0;margin-left:auto}.staff-role-chip{height:22px;font-size:.75rem;margin:0;--padding-start: 6px;--padding-end: 6px}.staff-actions{display:flex;align-items:center;gap:4px;margin-left:8px}.staff-actions ion-button{--padding-start: 8px;--padding-end: 8px;margin:0}.opening-hours-container{width:100%}.opening-hours{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column;gap:16px}.opening-hours h2{margin-top:0;margin-bottom:12px}.opening-hours-title{text-align:center;margin-top:0;margin-bottom:12px}.opening-hours-segment-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:8px;width:100%}.opening-hours-segment{margin-bottom:8px;max-width:100%;width:fit-content;margin-left:auto;margin-right:auto}@media(max-width:767px){.opening-hours{padding:0 0 16px;margin:0 -16px;gap:16px}.opening-hours-segment-wrapper{padding:0 16px;width:100%;display:flex;justify-content:center;align-items:center}.opening-hours-segment{width:fit-content;margin-left:auto;margin-right:auto}}.opening-hours-section{background:var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:16px}.opening-hours-section h3{margin:0}.opening-hours-entry{border:1px solid var(--ion-color-light);border-radius:8px;padding:12px;background:var(--ion-color-step-50, #f4f4f4);margin-bottom:12px}@media(max-width:767px){.opening-hours-section{border-radius:0;margin-bottom:16px}.opening-hours-entry{border-radius:6px}}.opening-hours-day{margin-bottom:16px;padding:8px;border:1px solid var(--ion-color-light);border-radius:8px}.opening-hours-day ion-item{--padding-start: 0}.opening-hours-day .time-inputs{display:flex;gap:16px;align-items:center}.opening-hours-day .time-inputs ion-input{flex:1}.opening-hours-day h2{font-size:18px;font-weight:600}.opening-hours-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.opening-hours-section-header-centered{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:16px}.opening-hours-section-header-centered h3{margin:0 0 8px}.opening-hours-section-header-centered p{margin:0}.opening-hours-section-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.opening-hours-section-actions-right{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-bottom:16px}.time-picker-item{--padding-start: 0;--inner-padding-end: 0}.time-picker-display{width:100%;padding:10px 12px;border:1px solid var(--ion-color-light);border-radius:8px;font-size:16px;color:var(--ion-text-color, #1a1a1a);background:var(--ion-color-step-50, #f4f4f4)}.time-picker-modal{--height: 340px;--max-height: 380px;--width: 320px;--max-width: 360px;--border-radius: 12px}.opening-hours-day ion-input[type=time]{min-height:48px}.opening-hours-day .period-editor{padding-bottom:16px}.opening-hours-day ion-button{min-height:44px}.opening-hours-day .add-period-form{margin-top:12px;padding-bottom:16px}.opening-hours-day .add-period-buttons{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:576px){.opening-hours-day .period-time-inputs{flex-direction:column;align-items:stretch}.opening-hours-day .period-time-inputs>span{display:none}}.opening-hours ion-input::part(native)::-webkit-calendar-picker-indicator,.opening-hours input[type=time]::-webkit-calendar-picker-indicator{opacity:0!important;display:none!important}.opening-hours ion-input::part(native){color:var(--ion-text-color, #1a1a1a);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23222222' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.75a10.25 10.25 0 1 0 0 20.5 10.25 10.25 0 0 0 0-20.5Zm0 18.5a8.25 8.25 0 1 1 0-16.5 8.25 8.25 0 0 1 0 16.5Zm.75-13a.75.75 0 0 0-1.5 0v5c0 .2.08.39.22.53l3 3a.75.75 0 0 0 1.06-1.06l-2.78-2.78V7.25Z'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:20px 20px;-webkit-appearance:none;appearance:none;padding-right:44px}.opening-hours ion-input input[type=time],.opening-hours input[type=time]{color:var(--ion-text-color, #1a1a1a);background:transparent}.opening-hours-calendar-container{padding:24px;max-width:100%;width:100%;box-sizing:border-box}.calendar-header h3{margin:0;font-size:18px;font-weight:600}.calendar-grid-desktop{display:block}.opening-hours-calendar-container .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 6px!important;row-gap:0!important;column-gap:6px!important;margin:0 0 8px;padding:0;width:100%;box-sizing:border-box;margin-left:0!important;margin-right:0!important;overflow:visible!important}.opening-hours-calendar-container .weekday{text-align:center;font-size:12px;font-weight:600;color:var(--ion-color-medium);padding:8px 10px;margin:0;box-sizing:border-box;min-width:90px!important}.opening-hours-calendar-container .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 6px!important;row-gap:6px!important;column-gap:6px!important;width:100%;margin:0 0 16px;padding:0;box-sizing:border-box;margin-left:0!important;margin-right:0!important;overflow:visible!important}.opening-hours-calendar-container .calendar-grid .calendar-day{border:1px solid var(--ion-color-light);border-radius:4px;padding:12px 10px!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:all .2s;min-height:90px!important;min-width:90px!important;height:auto!important;position:relative;width:fit-content!important;max-width:100%!important;box-sizing:border-box;justify-self:center!important}.opening-hours-calendar-container .calendar-grid .calendar-day.other-month{opacity:.3}.opening-hours-calendar-container .calendar-grid .calendar-day.today{border:2px solid var(--ion-color-primary);font-weight:600}.opening-hours-calendar-container .calendar-grid .calendar-day.open{background-color:#d4edda;border-color:#28a745}.opening-hours-calendar-container .calendar-grid .calendar-day.closed{background-color:#f8d7da;border-color:#dc3545}.opening-hours-calendar-container .calendar-grid .calendar-day.unknown{background-color:var(--ion-color-light)}.opening-hours-calendar-container .day-number{font-size:16px!important;font-weight:600;margin-bottom:4px}.opening-hours-calendar-container .periods-container{display:flex;flex-direction:column;gap:3px;width:100%;margin-top:auto;padding-top:6px}.opening-hours-calendar-container .period-text{font-size:11px!important;line-height:1.3;text-align:center;color:var(--ion-color-dark);font-weight:500;padding:2px 4px}.opening-hours-calendar-container .calendar-grid .calendar-day.closed .period-text{color:var(--ion-color-danger);font-weight:600}.calendar-legend{display:flex;gap:16px;margin-top:16px;justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid var(--ion-color-medium)}.legend-color.open{background-color:#d4edda;border-color:#28a745}.legend-color.closed{background-color:#f8d7da;border-color:#dc3545}.calendar-list-mobile{display:none}.calendar-day-row{border:1px solid var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:12px;background-color:var(--ion-color-light-tint);transition:all .2s}.calendar-day-row.today{border:2px solid var(--ion-color-primary);background-color:var(--ion-color-primary-tint)}.calendar-day-row.open{background-color:#d4edda;border-color:#28a745}.calendar-day-row.closed{background-color:#f8d7da;border-color:#dc3545}.calendar-day-row.unknown{background-color:var(--ion-color-light)}.day-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.day-row-date{display:flex;align-items:center;gap:12px}.day-row-number{font-size:24px;font-weight:700;color:var(--ion-color-dark)}.day-row-weekday{font-size:16px;font-weight:500;color:var(--ion-color-medium);text-transform:capitalize}.day-row-status{padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600;text-transform:uppercase}.day-row-status.open{background-color:#28a745;color:#fff}.day-row-status.closed{background-color:#dc3545;color:#fff}.day-row-status.unknown{background-color:var(--ion-color-medium);color:#fff}.day-row-periods{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.day-row-period{display:inline-block;padding:8px 12px;background-color:#fff;border-radius:6px;font-size:14px;font-weight:600;color:var(--ion-color-dark);border:1px solid var(--ion-color-light)}.calendar-day-row.closed .day-row-period{background-color:#f8d7da;border-color:#dc3545;color:var(--ion-color-danger)}@media(max-width:768px){.calendar-grid-desktop{display:none}.calendar-list-mobile{display:block}.opening-hours-calendar-container{padding:16px}.calendar-header h3{font-size:16px}}@media(min-width:769px){.calendar-list-mobile{display:none}.calendar-grid-desktop{display:block}.opening-hours-calendar-container .calendar-grid .calendar-day{min-height:100px!important;padding:8px 6px!important}.opening-hours-calendar-container .day-number{font-size:14px!important}.opening-hours-calendar-container .period-text{font-size:10px!important}}.shift-rules-management{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column;gap:16px}.shift-rules-management h2{margin-top:0;margin-bottom:0}.shift-section{background:var(--ion-color-light);border-radius:8px;padding:16px;margin:0;display:flex;flex-direction:column;gap:12px}.shift-section h3{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.shift-section ion-item h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.shift-section ion-item p{font-size:.9rem;color:var(--ion-color-medium)}.form-container{margin-top:16px;padding:16px;background:var(--ion-color-light);border-radius:8px}.loading-container{display:flex;justify-content:center;align-items:center;padding:40px}@media(min-width:768px){.shift-rules-management{max-width:100%;margin:0}}@media(max-width:768px){.shift-rules-management{padding:0 0 16px;margin:0 -16px;gap:16px}.shift-section{border-radius:0}}.shift-templates-management{padding:16px;display:flex;flex-direction:column;gap:16px;width:100%;max-width:100%}.shift-template-section{background:var(--ion-color-light);border-radius:8px;padding:16px;width:100%;margin:0;box-sizing:border-box}.shift-template-section-header h3{margin:0 0 8px;color:var(--ion-color-dark);font-size:1.1rem;font-weight:600}.shift-template-name{font-size:1rem;font-weight:600;margin:0 0 4px}.templates-header{margin-bottom:24px}.templates-header h2{margin:0 0 8px;color:var(--ion-color-dark);font-size:1.5rem;font-weight:600}.templates-header p{margin:0;color:var(--ion-color-medium);font-size:.9rem}.template-form{display:flex;flex-direction:column;gap:16px}.template-form ion-input,.template-form ion-textarea,.template-form ion-select{--padding-start: 16px;--padding-end: 16px;--padding-top: 16px;--padding-bottom: 16px;--min-height: 56px;font-size:16px}.template-form ion-item{--padding-start: 0;--padding-end: 0}@media(max-width:768px){.shift-templates-management{padding:0 0 16px;margin:0 -16px;gap:16px}.shift-template-section{border-radius:0}}.booking-rules-settings{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column}@media(max-width:768px){.booking-rules-settings{padding:0 0 16px;margin:0 -16px}}.booking-section{background:var(--ion-color-light);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}.booking-section-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.loading-container{display:flex;justify-content:center;align-items:center;padding:32px}.settings-description{margin-bottom:24px;color:var(--ion-color-medium);font-size:.9rem}.setting-group{margin-bottom:24px}.setting-item{--padding-start: 0;--padding-end: 0;margin-bottom:8px}.setting-helper-text{display:block;margin-top:4px;margin-bottom:16px;font-size:.85rem;color:var(--ion-color-medium);padding-left:16px;padding-right:16px}.settings-actions{margin-top:32px}.error-message{margin-bottom:16px;padding:12px;background:var(--ion-color-danger-tint);border-radius:4px}.setting-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding:0 16px}.setting-header h3{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.setting-header p{margin:0;font-size:.85rem;color:var(--ion-color-medium)}.time-rules-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.time-rule-item{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--ion-color-light);border-radius:6px}.time-rule-actions{display:flex;gap:4px}.time-rule-form{margin-top:12px;padding:12px;background:var(--ion-color-light);border-radius:6px;border:1px solid var(--ion-color-light-shade)}.time-rule-form ion-item{--padding-start: 0;--padding-end: 0;margin-bottom:8px}.time-rule-form-actions{display:flex;gap:8px;margin-top:12px}.work-time-rules{padding:16px;width:100%;max-width:100%;display:flex;flex-direction:column}.work-time-rules-header{margin-bottom:24px}.work-time-rules-header h2{margin:0 0 8px;color:var(--ion-color-dark);font-size:1.5rem;font-weight:600}.work-time-rules-header p{margin:0;color:var(--ion-color-medium);font-size:.9rem}.work-time-rules-actions{margin-top:24px;padding:0 16px}.work-time-section{background:var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}.work-time-section-header h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--ion-color-dark)}.work-time-section ion-item h3{margin:0 0 2px;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.work-time-section ion-item p{margin:0;font-size:.9rem;color:var(--ion-color-medium)}@media(max-width:768px){.work-time-rules{padding:0 0 16px;margin:0 -16px}.work-time-section{border-radius:0}}.currency-settings{background:var(--ion-color-light);border-radius:8px;padding:16px;width:100%;box-sizing:border-box}.currency-settings-item{--padding-start: 0;--padding-end: 0;--inner-padding-end: 0}.currency-settings h3{margin:0 0 4px;font-size:1.05rem;font-weight:600;color:var(--ion-color-dark)}.currency-settings p{margin:0;font-size:.9rem;color:var(--ion-color-medium)}@media(max-width:768px){.currency-settings{padding:16px;margin:0 -16px;border-radius:0}}.generate-modal-content{display:flex;flex-direction:column;gap:12px}.generate-modal-content h2{margin:0 0 8px;font-size:1.5rem;font-weight:600}.info-text{font-size:1rem;line-height:1.5;color:var(--ion-color-dark);margin-bottom:8px}.info-details{background:var(--ion-color-light);padding:12px;border-radius:8px;margin:8px 0}.info-details p{margin:0 0 4px;font-weight:600}.info-details ul{margin:4px 0 8px;padding-left:20px;text-align:left}.info-details li{margin-bottom:4px;line-height:1.4}.warning-note{background:var(--ion-color-warning-tint);padding:8px 12px;border-radius:4px;border-left:4px solid var(--ion-color-warning);margin-top:8px;margin-bottom:0}.modal-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.schedule-container{padding:0}.calendar-sidebar{padding:16px;border-right:1px solid var(--ion-color-light);display:flex;flex-direction:column;width:100%;max-width:100%}.calendar-container{background:var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:16px;width:100%;box-sizing:border-box}.calendar-header h3{margin:0;font-size:1.2rem;font-weight:600}.calendar-header ion-button{font-size:1.5rem;font-weight:700;min-width:44px;min-height:44px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0px!important;margin-bottom:8px}.weekday{text-align:center;font-weight:600;font-size:.8rem;color:var(--ion-color-medium);padding:6px 0;min-width:40px!important}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 6px!important;row-gap:6px!important;column-gap:6px!important;overflow:visible!important}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:0;cursor:pointer;font-size:.9rem;transition:all .2s;position:relative;padding:0!important;margin:0!important;height:40px!important;min-height:40px!important;max-height:40px!important;width:fit-content!important;min-width:40px!important;max-width:100%!important;border:1px solid transparent;box-sizing:border-box;justify-self:center!important}.calendar-day:hover:not(.selected):not(.past-date):not(.closed){background:var(--ion-color-light-shade);transform:scale(1.02)}.calendar-day.selected{background:#3880ff!important;background-color:#3880ff!important;color:#fff!important;font-weight:700;border:3px solid #2e6cd4!important;border-left:3px solid white!important;box-shadow:0 3px 12px #3880ff80!important;transform:scale(1.08)!important;z-index:10;position:relative}.calendar-day.fully-staffed.selected,.calendar-day.needs-staffing.selected,.calendar-day.closed.selected,.calendar-day.no-shifts.selected{background:#3880ff!important;background-color:#3880ff!important;border-left:3px solid white!important;border-color:#2e6cd4!important}.calendar-day.selected .day-number{color:#fff!important;font-weight:700;font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.3);z-index:2;position:relative}.calendar-day.other-month{color:var(--ion-color-medium);opacity:.4}.calendar-day.today{border:2px solid var(--ion-color-primary);font-weight:600}.calendar-day.today.selected{border-color:#fff}.day-number{font-size:.9rem;line-height:1;margin:0;padding:0;height:auto;max-height:32px;overflow:hidden}.calendar-day.fully-staffed:not(.selected){background-color:#2dd36f33;border-left:3px solid #2dd36f}.calendar-day.needs-staffing:not(.selected){background-color:#ffc40933;border-left:3px solid #ffc409}.calendar-day.closed:not(.selected){background-color:#eb445a33;border-left:3px solid #eb445a}.calendar-day.no-shifts:not(.selected){background-color:var(--ion-color-light);opacity:.5}.calendar-day.past-date{opacity:.5;cursor:default}.calendar-day.past-date:hover{opacity:.7}.calendar-legend{display:flex;justify-content:space-around;gap:8px;padding:12px 0;margin-top:8px;font-size:.75rem;color:var(--ion-color-medium);width:100%;box-sizing:border-box}.legend-item{display:flex;align-items:center;gap:4px;flex:1}.legend-color{width:16px;height:16px;border-radius:2px;border-left:3px solid}.legend-color.fully-staffed{background-color:#2dd36f33;border-left-color:#2dd36f}.legend-color.needs-staffing{background-color:#ffc40933;border-left-color:#ffc409}.legend-color.closed{background-color:#eb445a33;border-left-color:#eb445a}.shifts-list{padding:16px}.schedule-container ion-col.shifts-list{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.shifts-details h2{margin:0 0 16px;font-size:1.5rem;font-weight:600}.shifts-container{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%}.shifts-container ion-card{width:100%;max-width:100%;margin:0}.shifts-container ion-card-content{width:100%;max-width:100%;box-sizing:border-box}.shift-header{margin-bottom:12px}.shift-header h3{margin:0 0 4px;font-size:1.1rem;font-weight:600}.shift-time{font-size:.9rem;color:var(--ion-color-medium);margin:0}.shift-assignment{margin-top:8px}.shift-assignment p{margin:4px 0}.required-roles{margin:16px 0}.required-roles h4{margin:0 0 8px;font-size:1rem;font-weight:600}.role-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:4px;border:1px solid var(--ion-color-light);margin-bottom:8px}.role-item.filled{background-color:#2dd36f1a;border-color:#2dd36f}.role-item.needed{background-color:#ffc4091a;border-color:#ffc409}.role-name{font-weight:600;flex:1}.role-count{font-size:.9rem;color:var(--ion-color-medium);margin:0 8px}.assigned-names{font-size:.85rem;color:var(--ion-color-dark);flex:1;text-align:right}.current-assignments{margin-top:24px;padding-top:16px;border-top:1px solid var(--ion-color-light)}.current-assignments h4{margin:0 0 12px;font-size:1rem;font-weight:600}.no-rules-text{color:var(--ion-color-medium);font-style:italic;margin:8px 0}.add-staff-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ion-color-light)}.add-staff-section h4{margin:0 0 12px;font-size:1rem;font-weight:600}.search-results{margin-top:16px}.shift-details{padding:16px}.shifts-details{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.shift-details .shift-time{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--ion-color-primary)}.shift-details h4{margin-top:16px;margin-bottom:8px;font-size:16px;font-weight:600}.modal-actions{margin-top:16px}.selected-shift-chip,.selected-staff-chip{border:2px solid #2dd36f!important;background-color:#2dd36f!important;color:#fff!important}.selected-shift-chip:hover,.selected-staff-chip:hover{background-color:#28ba62!important;border-color:#28ba62!important;transform:scale(1.08)!important}ion-chip:not(.selected-shift-chip):not(.selected-staff-chip):hover{background-color:var(--ion-color-medium-shade)!important;transform:scale(1.02)}@media(max-width:768px){.calendar-sidebar{border-right:none;border-bottom:1px solid var(--ion-color-light)}.calendar-day{height:40px!important;min-height:40px!important;max-height:40px!important;width:fit-content!important;min-width:40px!important;max-width:100%!important;justify-self:center!important}.day-number{font-size:.85rem}}.switch-requests-management{padding:16px;display:flex;flex-direction:column;gap:16px;max-width:100%}.switch-section{background:var(--ion-color-light);border-radius:8px;padding:16px;width:100%;box-sizing:border-box}.switch-section-header h3{margin:0 0 8px;color:var(--ion-color-dark);font-size:1.1rem;font-weight:600}.switch-requests-management ion-item{--padding-start: 0;--padding-end: 0;--inner-padding-end: 0}.switch-requests-management ion-item ion-label{flex:1;min-width:0}.switch-requests-management ion-item ion-toggle{flex-shrink:0;margin-inline-start:16px}.switch-request-item{--padding-start: 0;--padding-end: 0;--inner-padding-end: 0;margin-bottom:16px;border-radius:8px;border:1px solid var(--ion-color-light)}.switch-request-content{width:100%;padding:12px;display:flex;flex-direction:column}.switch-request-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.switch-icon{font-size:24px;color:var(--ion-color-primary)}.switch-request-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.switch-request-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.switch-request-detail{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ion-color-dark)}.switch-request-detail ion-icon{font-size:18px;color:var(--ion-color-medium);flex-shrink:0}.date-full{color:var(--ion-color-medium);font-size:.85rem;margin-left:4px}.requested-by{font-size:.85rem;color:var(--ion-color-medium);font-style:italic}.switch-request-actions{display:flex;gap:8px;margin-top:12px}.switch-request-actions ion-button{flex:1;--padding-start: 8px;--padding-end: 8px}@media(max-width:768px){.switch-requests-management{padding:0 0 16px;margin:0 -16px;gap:16px}.switch-section{border-radius:0}.switch-request-item{margin-bottom:12px}.switch-request-content{padding:10px}.switch-request-actions{flex-direction:column}.switch-request-actions ion-button{width:100%}.switch-request-details{gap:6px}.switch-request-detail{font-size:.85rem}}.admin-layout{display:flex;height:100%;width:100%}.admin-menu-overlay{position:fixed;inset:0;background:#00000080;z-index:999;display:block}@media(min-width:768px){.admin-menu-overlay{display:none}}.admin-side-menu{width:250px;background:var(--ion-background-color);border-right:1px solid var(--ion-color-light);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 8px #0000001a}.admin-side-menu.open{transform:translate(0)}.admin-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--ion-color-light)}.admin-menu-header ion-title{font-size:1.2rem;font-weight:600}.close-menu-button{display:block}@media(min-width:768px){.admin-side-menu{position:relative;transform:translate(0)}.admin-menu-header .close-menu-button{display:none}}.admin-side-menu ion-list{flex:1;overflow-y:auto;padding:0}.admin-side-menu ion-item{--padding-start: 16px;--padding-end: 16px;--min-height: 48px;cursor:pointer}.admin-side-menu ion-item.selected{--background: var(--ion-color-primary-tint);--color: var(--ion-color-primary);font-weight:600}.admin-side-menu ion-item ion-icon{margin-right:12px;font-size:1.2rem}.admin-main-content{flex:1;display:flex;flex-direction:column;margin-left:0;transition:margin-left .3s ease}@media(min-width:768px){.admin-main-content{margin-left:0}}.admin-mobile-menu-toggle{display:block;padding:8px 16px;background:var(--ion-background-color);border-bottom:1px solid var(--ion-color-light)}@media(min-width:768px){.admin-mobile-menu-toggle{display:none}}.admin-content{flex:1;padding:16px;overflow-y:auto;width:100%;max-width:100%}@media(min-width:768px){.admin-content{max-width:1200px;margin:0;padding:16px 16px 16px 0}.admin-content>div:not(.admin-section){padding-left:0}}.admin-section{margin-top:16px}.admin-section h2{margin:0 0 16px;color:var(--ion-color-dark)}.admin-section p{color:var(--ion-color-medium)}.shifts-admin-container{display:flex;flex-direction:column;gap:16px;width:100%}@media(max-width:768px){.shifts-admin-container{gap:12px}}.admin-card-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:0 12px;box-sizing:border-box}.admin-card-wrapper ion-card{width:100%;margin:0}.admin-card-wrapper ion-card ion-card-content{padding:16px}.admin-plain-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:0 12px;box-sizing:border-box}.admin-page-header{margin:0 0 12px;padding:0 4px}.admin-page-header h2{margin:0;color:var(--ion-color-dark);font-size:1.3rem;font-weight:600}@media(max-width:767px){.admin-card-wrapper{padding:0}.admin-card-wrapper ion-card{border-radius:0}.admin-card-wrapper ion-card ion-card-content{padding:16px}.admin-plain-wrapper{padding:0}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;background-color:#f5f5f5;--ion-background-color: #f5f5f5;--ion-color-light: #f5f5f5;--ion-card-background: white;--ion-text-color: #000000;--ion-text-color-rgb: 0, 0, 0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:#000}ion-content{--color: #000000;color:#000}ion-card:not(ion-modal ion-card){--background: white;background:#fff}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#f5f5f5}#root{width:100%;margin:0 auto;text-align:center}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}ion-input[type=number] input::-webkit-outer-spin-button,ion-input[type=number] input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ion-input[type=number] input[type=number]{-moz-appearance:textfield}.delete-post-modal{--width: 80%;--max-width: 260px;--height: auto;--border-radius: 12px}.delete-post-modal::part(content){margin:auto;max-width:260px;display:flex;align-items:center;justify-content:center}.delete-post-modal::part(backdrop){background:#00000080}.delete-modal-content{padding:16px;background:#fff;border-radius:12px;width:100%;box-sizing:border-box;box-shadow:0 4px 16px #0003}.delete-modal-content h2{margin:0 0 10px;font-size:.95rem;font-weight:600;color:var(--ion-color-dark)}.delete-modal-content p{margin:0 0 16px;font-size:.85rem;color:var(--ion-color-dark);line-height:1.4}.delete-modal-actions{display:flex;flex-direction:column;gap:8px}.delete-modal-actions ion-button{margin:0;--height: 36px;font-size:.85rem}.emoji-picker-popover{--width: 320px;--max-height: 400px}.emoji-picker{padding:12px;max-height:400px;overflow-y:auto;background:var(--ion-background-color, #fff)}.emoji-category{margin-bottom:16px}.emoji-category:last-child{margin-bottom:0}.emoji-category-title{font-size:.75rem;font-weight:600;color:var(--ion-color-medium);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.emoji-button{background:transparent;border:none;font-size:1.5rem;padding:8px;cursor:pointer;border-radius:8px;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;min-height:40px;min-width:40px}.emoji-button:hover{background-color:var(--ion-color-light)}.emoji-button:active{background-color:var(--ion-color-medium);transform:scale(.95)}.emoji-picker::-webkit-scrollbar{width:6px}.emoji-picker::-webkit-scrollbar-track{background:transparent}.emoji-picker::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:3px}.emoji-picker::-webkit-scrollbar-thumb:hover{background:var(--ion-color-medium-shade)}.post-card{margin-bottom:6px;padding:0;background:transparent;width:fit-content;max-width:100%}.post-card-content{background:transparent;width:fit-content;max-width:100%;display:flex;flex-direction:column;align-items:flex-end}.post-card:has(.post-own) .post-card-content{align-items:flex-end}.post-header{display:flex;align-items:flex-start;gap:0;margin:0;padding:0;width:fit-content;max-width:100%}.post-avatar{width:32px;height:32px;--border-radius: 50%;flex-shrink:0}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#6366f1;color:#fff;font-weight:600;font-size:.9rem;border-radius:50%}.post-author-info{flex:0 1 auto;min-width:0;width:fit-content;max-width:100%;display:inline-flex;flex-direction:column;position:relative}.post-own.post-author-info{flex:0 1 auto;width:fit-content;max-width:100%}.post-own{display:inline-flex;flex-direction:column;align-items:flex-end;flex:0 1 auto;width:fit-content;max-width:100%}.post-card:has(.post-own){margin-left:auto}.post-content-wrapper{position:relative;display:inline-flex;align-items:flex-end;gap:6px;max-width:100%;width:fit-content}.post-own .post-content-wrapper{gap:0;margin-left:auto;align-self:flex-end;justify-content:flex-end}.post-content{background:var(--ion-color-light);border-radius:26px 26px 25px 0;padding:8px 60px 8px 12px;margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.4;color:var(--ion-color-dark);font-size:.9rem;display:inline-block;max-width:95%;text-align:left;box-shadow:0 2px 4px #00000026}.post-own .post-content{background:#e3f2fd;color:var(--ion-color-dark);text-align:left;box-shadow:0 2px 4px #00000026;border-radius:26px 26px 0}.post-bubble-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:1}.post-bubble-actions ion-button{--padding-start: 4px;--padding-end: 4px;width:24px;height:24px}.post-bubble-actions ion-icon{font-size:16px}.post-menu{margin-top:4px;margin-bottom:4px;display:flex;flex-direction:row;gap:4px;background:#fff;border:1px solid var(--ion-color-medium);border-radius:8px;padding:4px;align-items:flex-start}.post-menu ion-button{--padding-start: 6px;--padding-end: 6px;--padding-top: 3px;--padding-bottom: 3px;font-size:.7rem;height:auto;min-height:28px;width:auto}.post-author-name{font-weight:500;font-size:.75rem;color:var(--ion-color-medium);display:inline}.post-time{font-size:.75rem;color:var(--ion-color-medium);display:inline;margin-left:4px}.post-time:before{content:"•";margin-right:4px}.reply-input-container{margin-top:8px;padding-top:8px}.reply-input-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:8px}.post-meta{margin-top:2px;font-size:.75rem;width:fit-content;align-self:flex-end;max-width:100%;color:#ccc}.post-own .post-meta{text-align:right;align-self:flex-end}.post-author-info:not(.post-own) .post-meta{align-self:flex-start;text-align:left;margin-left:38px}.post-actions{display:flex;gap:8px;padding-top:4px;margin-top:4px}.comment-input-container{margin-top:8px;padding-top:8px}.comment-input-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.post-comments{margin-top:0;margin-bottom:6px;width:100%;align-self:flex-end;padding:0 0 8px 12px;border-left:2px solid var(--ion-color-light);margin-left:8px;transition:opacity .3s ease-in-out;overflow:hidden}.post-card:has(.post-own) .post-comments{align-self:flex-end;padding-left:0;border-left:none;border-right:2px solid var(--ion-color-light);margin-left:0;margin-right:2px}.comments-wrapper{animation:slideDown .3s ease-out}.comments-wrapper ion-button{margin-top:0;margin-bottom:0}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}.comment-item{margin-bottom:0;padding-bottom:0;box-sizing:content-box;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.comment-item:last-child{margin-bottom:0;padding-bottom:0}.comment-header{display:flex;align-items:flex-end;gap:6px;margin-bottom:0}.comment-avatar{width:28px;height:28px;--border-radius: 50%;flex-shrink:0}.comment-info{flex:1;min-width:0}.comment-content-wrapper{position:relative;display:inline-flex;flex-direction:column;max-width:100%;align-items:flex-start}.comment-own .comment-content-wrapper{align-items:flex-end}.comment-content{background:var(--ion-color-light);border-radius:26px 26px 25px 0;padding:6px 40px 6px 10px;margin:0;font-size:.85rem;white-space:pre-wrap;word-wrap:break-word;line-height:1.4;color:var(--ion-color-dark);display:inline-block;max-width:95%;text-align:left;box-shadow:0 2px 4px #00000026}.comment-own .comment-content{background:#e3f2fd;border-radius:26px 26px 0;color:var(--ion-color-dark);text-align:left;box-shadow:0 2px 4px #00000026}.comment-info{flex:1;min-width:0;display:flex;flex-direction:column;width:fit-content}.comment-own{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto}.comment-header:has(.comment-own){justify-content:flex-end}.comment-bubble-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:1}.comment-bubble-actions ion-button{--padding-start: 4px;--padding-end: 4px;width:20px;height:20px}.comment-bubble-actions ion-icon{font-size:14px}.comment-menu{margin-top:4px;margin-bottom:4px;display:flex;flex-direction:row;gap:4px;background:#fff;border:1px solid var(--ion-color-medium);border-radius:8px;padding:4px;align-items:flex-start}.comment-menu ion-button{--padding-start: 6px;--padding-end: 6px;--padding-top: 3px;--padding-bottom: 3px;font-size:.7rem;height:auto;min-height:28px;width:auto}.comment-author-name{font-weight:500;font-size:.7rem;color:var(--ion-color-medium);display:inline}.comment-time{font-size:.7rem;color:var(--ion-color-medium);display:inline;margin-left:4px}.comment-time:before{content:"•";margin-right:4px}.post-edit-container{margin-top:8px;margin-bottom:8px}.post-edit-textarea{--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px;border:1px solid var(--ion-color-medium);border-radius:8px;margin-bottom:8px}.post-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.comment-meta{margin-top:2px;font-size:.7rem;text-align:left;color:#ccc}.comment-own .comment-meta{text-align:right}.comment-edit-container{margin-top:0}.comment-edit-textarea{--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px;border:1px solid var(--ion-color-medium);border-radius:8px;margin-bottom:8px}.comment-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.chat-modal{--width: 100%;--height: 100%;--max-width: 400px;--max-height: 90%;--border-radius: 0}.chat-modal::part(content){display:flex;flex-direction:column;margin:0;background:#fff!important;position:fixed!important;inset:50px auto auto 50px;width:400px!important;height:600px!important;max-width:400px!important;max-height:90vh!important;transform:none!important;animation:slideUpFadeIn .3s cubic-bezier(.4,0,.2,1);transition:width .2s ease,height .2s ease,max-width .2s ease,max-height .2s ease}.chat-modal.maximized::part(content){top:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0}@media(min-width:768px){.chat-modal{--width: 90%;--height: 90%;--max-height: 90%;--border-radius: 8px}.chat-modal::part(content){animation:slideUpScaleIn .35s cubic-bezier(.4,0,.2,1)}.chat-modal.maximized::part(content){border-radius:0}}.chat-modal::part(backdrop){background:#0000004d;animation:fadeIn .3s ease-out}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUpScaleIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chat-modal.ion-modal-dismissing::part(content){animation:slideDownFadeOut .25s cubic-bezier(.4,0,1,1)}@media(min-width:768px){.chat-modal.ion-modal-dismissing::part(content){animation:slideDownScaleOut .25s cubic-bezier(.4,0,1,1)}}.chat-modal.ion-modal-dismissing::part(backdrop){animation:fadeOut .25s ease-in}.chat-modal.ion-modal-dismissing .chat-content{animation:fadeOutContent .2s ease-in}.chat-modal.ion-modal-dismissing .chat-input-container{animation:slideDownInput .2s ease-in}@keyframes slideDownFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@keyframes slideDownScaleOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.9)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOutContent{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideDownInput{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.chat-modal ion-content{--background: white !important;background:#fff!important}.chat-modal ion-content::part(scroll){background:#fff!important}.chat-modal ion-content .inner-scroll{background:#fff!important}.chat-modal ion-page{--background: white;background:#fff!important}.chat-content{padding:8px 8px 80px;max-width:400px;margin:0 auto;width:100%;background:#fff;animation:fadeInContent .4s ease-out .1s both;position:relative}@keyframes fadeInContent{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--ion-color-medium)}.empty-state p{font-size:1.1rem;margin:0}.posts-feed{display:flex;flex-direction:column;gap:0}.scroll-to-bottom-button-wrapper{position:fixed;bottom:100px;right:10px;z-index:10000;pointer-events:none;width:96px;height:96px}.chat-modal ion-content{position:relative;overflow:visible}.chat-modal ion-content .scroll-to-bottom-button-wrapper{position:fixed;bottom:100px;right:10px;z-index:10000;pointer-events:none;width:96px;height:96px}.scroll-to-bottom-button{pointer-events:all;--border-radius: 50%;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;--padding: 0 !important;--inner-padding: 0 !important;--box-shadow: 0 4px 12px rgba(0, 0, 0, .3);animation:fadeInButton .3s ease-out;margin:0!important;border:none!important;position:relative;z-index:10001;border-radius:50%!important;aspect-ratio:1!important;overflow:hidden;display:flex;align-items:center;justify-content:center}.scroll-to-bottom-button:hover{transform:scale(1.05)}.scroll-to-bottom-button:active{transform:scale(.95)}.scroll-to-bottom-button ion-icon{font-size:28px!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;color:#fff!important;display:block!important}@keyframes fadeInButton{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.scroll-to-bottom-button ion-icon{font-size:24px}.chat-input-container{position:sticky;bottom:0;left:0;right:0;background:var(--ion-background-color, #fff);border-top:1px solid var(--ion-color-light-shade);z-index:10;max-width:100%;margin:0 auto;box-shadow:0 -2px 8px #0000001a;animation:slideUpInput .4s cubic-bezier(.4,0,.2,1) .15s both}@keyframes slideUpInput{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-input-item{--padding-start: 12px;--padding-end: 12px;--inner-padding-end: 8px;--background: var(--ion-background-color, #fff);margin:0}.chat-input-textarea{--padding-start: 0;--padding-end: 0;--padding-top: 8px;--padding-bottom: 8px;flex:1;margin-right:8px}.chat-input-textarea textarea{display:flex;align-items:center;vertical-align:middle}.chat-input-textarea textarea::placeholder{line-height:normal;vertical-align:middle}.chat-send-button{--padding-start: 8px;--padding-end: 8px;margin:0;flex-shrink:0}.chat-modal ion-toolbar ion-title{text-align:center}.chat-modal .chat-spacer-button{width:56px!important;height:36px!important;min-width:56px!important;min-height:36px!important;flex:0 0 56px!important}.chat-modal .chat-spacer-button ion-button{width:56px!important;height:36px!important;min-width:56px!important;min-height:36px!important;margin:0!important;padding:0!important}.chat-modal-header{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.chat-header-drag-handle{width:100%;height:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.chat-header-drag-handle:active{cursor:move!important}.shift-info-header{padding:16px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-light-shade)}.shift-info-header p{margin:4px 0;font-size:.9rem;color:var(--ion-color-dark)}.empty-icon{font-size:64px;margin-bottom:16px;color:var(--ion-color-medium)}.empty-state p{margin:0;font-size:1rem}.open-shifts-dashboard-list{display:flex;flex-direction:column;gap:8px}.dashboard-shift-item ion-label h3{font-weight:600;margin-bottom:4px}.signup-action-modal{--width: 90%;--max-width: 500px}.signup-action-modal-content{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}.signup-action-icon{margin-bottom:24px}.signup-action-modal-content h2{margin:16px 0 24px;font-size:1.5rem;font-weight:600}.signup-details{width:100%;max-width:500px;background:var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.signup-details p{margin:8px 0;line-height:1.5}.signup-details strong{color:var(--ion-color-dark);margin-right:8px}.signup-action-buttons{display:flex;gap:8px;width:100%;max-width:500px;justify-content:flex-end}.pending-signups-dashboard-list{display:flex;flex-direction:column;gap:12px}.dashboard-signup-item{--padding-start: 12px;--padding-end: 12px;--inner-padding-end: 0;--border-width: 0;--border-style: none;border:1px solid var(--ion-color-light-shade);border-bottom:none!important;border-radius:8px;margin-bottom:8px;transition:all .2s ease}.dashboard-signup-item:after{display:none!important;content:none!important}.dashboard-signup-item:hover{--background: var(--ion-color-light);box-shadow:0 2px 8px #0000001a}.dashboard-signup-item ion-label h3{font-weight:600;margin-bottom:4px;color:var(--ion-color-dark)}.dashboard-signup-item ion-label p{font-size:.9rem;color:var(--ion-color-medium);margin:2px 0;display:flex;align-items:center}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ion-color-primary);color:#fff;font-weight:600;font-size:1.2rem;border-radius:50%}.dashboard-signup-item ion-button{--padding-start: 8px;--padding-end: 8px;margin:0;min-height:32px;font-size:.85rem}.my-shifts-dashboard-list{display:flex;flex-direction:column;gap:8px}.dashboard-shift-item{--padding-start: 12px;--padding-end: 12px;--inner-padding-end: 0;--border-width: 0;--border-style: none;border-bottom:none!important;border:none!important;border-radius:8px;margin-bottom:4px;transition:background-color .2s ease}.dashboard-shift-item:after{display:none!important;content:none!important}.dashboard-shift-item:hover{--background: var(--ion-color-light)}.dashboard-shift-item.today-shift{--background: rgba(var(--ion-color-primary-rgb), .1);border-left:3px solid var(--ion-color-primary)}.dashboard-shift-item ion-label h3{font-weight:600;margin-bottom:4px;display:flex;align-items:center}.dashboard-shift-item ion-label p{font-size:.9rem;color:var(--ion-color-medium);margin:2px 0;display:flex;align-items:center}.my-pending-requests-dashboard{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a}.pending-requests-list{display:flex;flex-direction:column;gap:12px}.pending-request-item{--padding-start: 0;--inner-padding-end: 0;border-radius:8px;margin-bottom:8px;border:1px solid var(--ion-color-light-shade);transition:all .2s ease}.pending-request-item:hover{background:var(--ion-color-light);border-color:var(--ion-color-primary)}.request-icon{font-size:24px;margin-right:12px;color:var(--ion-color-primary)}.switch-icon{color:var(--ion-color-tertiary)}.signup-icon{color:var(--ion-color-primary)}.request-content{width:100%}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.request-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.status-chip{font-size:.75rem;font-weight:600;height:24px}.request-details{display:flex;flex-direction:column;gap:6px}.request-detail{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ion-color-medium)}.request-detail ion-icon{font-size:16px;color:var(--ion-color-medium)}.date-full{margin-left:4px;font-size:.85rem;color:var(--ion-color-medium)}.view-all-button{margin-top:16px;--color: var(--ion-color-primary)}@media(max-width:768px){.request-header{flex-direction:column;align-items:flex-start;gap:8px}.status-chip{align-self:flex-start}}.user-menu-content{min-width:320px;max-width:450px;padding:12px;text-align:left;overflow:visible!important}:host{--max-height: none !important;overflow:hidden!important}ion-popover{--max-height: none !important}ion-popover::part(content){overflow:hidden!important;max-height:none!important}.user-menu-header{display:flex;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ion-color-light);margin-bottom:6px}.user-menu-avatar{width:40px;height:40px;--border-radius: 50%;background:var(--ion-color-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu-info{flex:1;min-width:0;text-align:left}.user-menu-info h3{margin:0 0 1px;font-size:.95rem;font-weight:600;color:var(--ion-color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;text-align:left}.user-menu-email{margin:0 0 2px;font-size:.8rem;color:var(--ion-color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;text-align:left}.user-menu-role{margin:0;font-size:.75rem;color:var(--ion-color-dark);line-height:1.2;text-align:left}.user-menu-role strong{font-weight:600;margin-right:3px}.user-menu-list{margin:0;padding:0}.user-menu-list ion-item{--padding-start: 10px;--padding-end: 10px;--min-height: 36px}.user-menu-list ion-icon{margin-right:8px;font-size:16px}.home-content{padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}@media(max-width:767px){.home-content{padding:.5rem}}@media(min-width:768px){.home-content{padding:1.5rem}}@media(min-width:1024px){.home-content{padding:2rem}}.home-image{max-width:100%;height:auto;object-fit:contain;border-radius:8px}.dashboard-wrapper{padding:0;width:100%;max-width:100%;box-sizing:border-box}@media(min-width:1024px){.dashboard-wrapper{max-width:1200px;margin:0 auto}}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:24px}.home-masonry-grid{display:flex;width:100%;gap:8px;margin-bottom:24px}.home-masonry-column{background-clip:padding-box;display:flex;flex-direction:column;gap:8px}.dashboard-grid ion-card{margin:0;box-sizing:border-box;display:flex;flex-direction:column}.sortable-home-card{position:relative;break-inside:avoid;page-break-inside:avoid;margin-bottom:0}.sortable-home-card[style*="height: 0px"],.sortable-home-card[style*="height:0px"]{display:none!important}.sortable-home-card:not(:has(>ion-card)){display:none!important}.sortable-home-card .drag-handle{position:absolute;top:8px;right:8px;z-index:10;cursor:grab;padding:4px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.sortable-home-card:hover .drag-handle{opacity:1}.sortable-home-card .drag-handle:active{cursor:grabbing}.sortable-home-card .expand-handle{position:absolute;top:8px;right:40px;z-index:10;cursor:pointer;padding:4px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.sortable-home-card:hover .expand-handle{opacity:1}.sortable-home-card .expand-handle:active{opacity:.8}.sortable-home-card ion-card{margin:0;box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:auto;border-radius:12px;box-shadow:0 2px 8px #0000001a}.sortable-home-card ion-card-content{transition:opacity .2s ease-in-out;overflow:hidden}.sortable-home-card.collapsed ion-card-content{display:none!important}.home-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:8px 0}.home-filters ion-chip{cursor:pointer;transition:all .2s;font-weight:500;box-shadow:0 2px 4px #0000001a}.home-filters ion-chip:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.home-filters ion-chip.home-filter-chip.inactive{--background: var(--ion-color-light);--color: var(--ion-color-medium)}.dashboard-grid ion-card ion-card-header{--border-width: 0 !important;--border-style: none !important;--border-color: transparent !important;border-bottom:none!important;border:none!important;box-shadow:none!important;padding-bottom:16px}.dashboard-grid ion-card ion-card-header:after,.dashboard-grid ion-card ion-card-header:before{display:none!important;content:none!important;border:none!important}.dashboard-grid ion-card{border-bottom:none!important}.dashboard-grid ion-card ion-item{--border-width: 0 !important;--border-style: none !important;--border-color: transparent !important;border-bottom:none!important;border:none!important}.dashboard-grid ion-card ion-item::part(native){border-bottom:none!important}.dashboard-grid ion-card ion-item:after{display:none!important;content:none!important}.dashboard-grid ion-card ion-card-content{width:100%;max-width:100%;box-sizing:border-box}@media(max-width:767px){.home-content{padding:.5rem 0}.dashboard-wrapper{padding:0;width:100%;margin:0}.dashboard-grid{grid-template-columns:1fr;padding-left:0;padding-right:0;gap:8px;margin-left:0;margin-right:0;width:100%;box-sizing:border-box}.dashboard-grid ion-card{width:100%;border-radius:0}.dashboard-grid ion-card ion-card-content{padding:16px}}@media(min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:8px}}@media(min-width:1440px){.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:8px}}.customer-info-modal{padding:8px}.customer-name-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--ion-color-light-shade)}.customer-name-section h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-color-dark)}.info-section{margin-bottom:24px}.info-section h3{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.info-item{margin-bottom:8px;--padding-start: 0;--inner-padding-end: 0}.info-label{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:4px}.info-value{font-size:1rem;color:var(--ion-color-dark);font-weight:500}.contact-link{color:var(--ion-color-primary);text-decoration:none;font-weight:500}.contact-link:hover{text-decoration:underline}.modal-actions{margin-top:32px;padding-top:16px;border-top:1px solid var(--ion-color-light-shade)}.today-booking-card{width:100%;max-width:720px;margin:0 auto;--background: transparent;background:transparent;box-shadow:none}.today-booking-card.booking-card--priority .booking-info-box{border-top-width:8px!important;border-top-style:solid!important;border-top-color:#ff9500!important;border-left-width:1px!important;border-left-style:solid!important;border-left-color:#ff9500!important;border-right-width:1px!important;border-right-style:solid!important;border-right-color:#ff9500!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:#ff9500!important;clip-path:none!important}.today-booking-card.booking-card--priority .booking-info-box:not(.with-comment){border-top-width:8px!important;border-top-style:solid!important;border-top-color:#ff9500!important;border-left-width:1px!important;border-left-style:solid!important;border-left-color:#ff9500!important;border-right-width:1px!important;border-right-style:solid!important;border-right-color:#ff9500!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:#ff9500!important;clip-path:none!important}.today-booking-card.booking-card--priority.compact .booking-info-box{border-top-width:8px!important;border-top-style:solid!important;border-top-color:#ff9500!important;border-left-width:1px!important;border-left-style:solid!important;border-left-color:#ff9500!important;border-right-width:1px!important;border-right-style:solid!important;border-right-color:#ff9500!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:#ff9500!important;clip-path:none!important}.today-booking-card ion-card-content{padding:10px;--background: transparent !important;background:transparent!important;overflow:visible!important;clip-path:inset(-15px -15px -15px -15px)!important;contain:none!important;isolation:auto!important}.booking-item-container{display:flex;align-items:center;gap:0;width:100%;max-width:720px;background:transparent!important;overflow:visible!important;padding:0;margin:0;clip-path:inset(-15px -15px -15px -15px)!important;contain:none!important;isolation:auto!important}.booking-card-wrapper{display:flex;flex-direction:column;flex:1;position:relative}.booking-info-box{flex:1;min-height:120px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;min-width:0;background:#fff;border-radius:8px 8px 0 0;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;clip-path:inset(-15px -15px -15px -15px)}.booking-info-box:not(.with-comment){border-radius:8px}.booking-info-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.booking-meta{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.booking-time-party,.booking-room-table{font-size:16px;color:#666;line-height:1.4;text-align:left}.menu-button{--padding-start: 4px;--padding-end: 4px;--padding-top: 4px;--padding-bottom: 4px;margin:0;width:32px;height:32px;flex-shrink:0;color:#666}.menu-button ion-icon{font-size:20px}.booking-customer-name{font-size:24px;font-weight:700;color:#666;text-align:center;line-height:1.3;margin-top:auto;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;cursor:pointer;transition:color .2s ease;flex-shrink:0}.booking-customer-name:hover{color:#3880ff!important}.booking-customer-name:active{color:#3171e0!important}.booking-comment-bar{width:100%;background:#ffeb3b;padding:8px 16px;border-radius:0 0 8px 8px;text-align:center;font-size:16px;color:#000;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;clip-path:inset(0 -15px -15px -15px)}.check-in-button{width:120px;min-height:120px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;margin-left:8px;cursor:pointer;padding:0;flex-shrink:0;box-sizing:border-box;align-self:center}.check-in-button:hover{opacity:.8}.check-in-button:active{opacity:.6}.check-in-button ion-icon{width:120px;height:120px;color:#2dd36f;--ionicon-stroke-width: 6px}.check-in-button.checked-in{cursor:default}.check-in-button.checked-in:hover,.check-in-button.checked-in:active{opacity:1}.check-in-button.checked-in ion-icon{color:#2dd36f;--ionicon-stroke-width: 6px}.check-in-button.cancelled{cursor:default}.check-in-button.cancelled:hover,.check-in-button.cancelled:active{opacity:1}.check-in-button.cancelled ion-icon{color:#eb445a;--ionicon-stroke-width: 6px}.check-in-button.no-show{cursor:default}.check-in-button.no-show:hover,.check-in-button.no-show:active{opacity:1}.check-in-button.no-show ion-icon{width:120px;height:120px;color:#eb445a;--ionicon-stroke-width: 6px}.check-in-button.completed{cursor:default}.check-in-button.completed:hover,.check-in-button.completed:active{opacity:1}.check-in-button.completed ion-icon{width:120px;height:120px;color:#2dd36f;--ionicon-stroke-width: 6px}.today-booking-card.drop-target .booking-info-box{background:#e3f2fd!important;border:2px solid #2196f3!important}.today-booking-card.drop-target .booking-comment-bar{background:#bbdefb!important}.today-booking-card.drop-target-compatible .booking-info-box{background:#e8f5e9!important;border:2px solid #4caf50!important}.today-booking-card.drop-target-compatible .booking-comment-bar{background:#c8e6c9!important}.booking-item-container.drag-over.compatible{background:#e8f5e9!important}.booking-item-container.drag-over.compatible .booking-info-box{background:#e8f5e9!important;border:2px solid #4caf50!important}.booking-item-container.drag-over{background:#e3f2fd!important}.booking-item-container.drag-over .booking-info-box,.today-booking-card.drop-target .booking-info-box{background:#e3f2fd!important;border:2px solid #2196f3!important}ion-card{width:100%;max-width:100%;box-sizing:border-box;--background: white;background:#fff}.booking-item-container ion-card-content,.today-booking-card ion-card-content{width:100%;max-width:100%;box-sizing:border-box;overflow:visible!important;clip-path:none!important;contain:none!important;--background: transparent !important;background:transparent!important}.today-booking-card ion-card-content{--background: transparent !important;background:transparent!important}.booking-item-container.compact{max-width:100%!important;flex-direction:row!important;gap:8px!important;align-items:center!important;display:flex!important}.booking-card-wrapper.compact{flex:1;min-width:0;display:flex;flex-direction:column;order:1;gap:0}.booking-info-box.compact{min-height:100px;padding:10px;border-radius:8px;flex:1;min-width:0}.booking-customer-name.compact{font-size:1rem;margin-top:4px;line-height:1.3;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.booking-comment-bar.compact{padding:4px 8px;font-size:.7rem;min-height:16px;margin-top:-6px;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;clip-path:inset(0 -15px -15px -15px)}.check-in-button.compact{width:60px;height:60px;margin-left:8px;margin-top:0;align-self:center;flex-shrink:0;order:2}.check-in-button.compact ion-icon{width:60px;height:60px;--ionicon-stroke-width: 6px}.check-in-button.compact.checked-in ion-icon,.check-in-button.compact.no-show ion-icon,.check-in-button.compact.completed ion-icon{width:60px;height:60px;--ionicon-stroke-width: 6px}@media(max-width:768px){.today-booking-card{max-width:100%}.booking-item-container{max-width:100%;align-items:center}.check-in-button{width:100px;min-height:100px;align-self:center}.check-in-button ion-icon{width:100px;height:100px}}.booking-form-inline{background:var(--ion-color-light);border-radius:8px;padding:16px;margin-bottom:16px}.form-header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--ion-color-light)}.form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-color-dark)}.form-content{display:flex;flex-direction:column;gap:16px}.search-loading{display:flex;justify-content:center;padding:16px}.booking-form-inline ion-list{font-size:.9rem}.booking-form-inline ion-list ion-item{--min-height: 48px}.booking-form-inline ion-list ion-item ion-label h3{font-size:.95rem;font-weight:500}.booking-form-inline ion-list ion-item ion-label p{font-size:.85rem;margin-top:4px}.error-text{display:block;padding:8px 16px;font-size:.9rem}ion-input input:-webkit-autofill,ion-input input:-webkit-autofill:hover,ion-input input:-webkit-autofill:focus,ion-input input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:var(--ion-color-dark)!important;transition:background-color 5000s ease-in-out 0s}.datetime-modal{--width: fit-content;--min-width: 320px;--max-width: 400px;--height: auto;--max-height: 90vh;--backdrop-opacity: .8;--background: #f5f5f5;--border-radius: 8px}.datetime-modal::part(backdrop){background:#000c!important}.datetime-modal::part(content){background:#f5f5f5;border-radius:8px}.datetime-modal ion-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;height:auto!important;min-height:350px;max-height:500px;overflow-y:auto}.datetime-modal ion-datetime{width:100%;height:auto;min-height:300px;display:block}.booking-toast{--width: 90%;--max-width: 400px;z-index:10000}ion-item ion-select{--padding-start: 0;--padding-end: 0}ion-item ion-input{--padding-start: 0;--padding-end: 0}.table-info-text{padding:0 16px;font-size:.9rem}.party-size-button{margin:0;height:48px;font-size:1rem;font-weight:500;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium);border-radius:8px}.party-size-button::part(native){border-radius:8px}.party-size-button[fill=outline]{--background: white;--color: var(--ion-color-dark);background:#fff}.party-size-button[fill=outline]::part(native){background:#fff;border-radius:8px}ion-input[type=number] input::-webkit-outer-spin-button,ion-input[type=number] input::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}ion-input[type=number] input[type=number],input[type=number]{-moz-appearance:textfield}.time-slots-container{width:100%;margin-top:8px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px}.time-slot-button{margin:0;height:48px;font-size:.95rem;font-weight:500;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium);border-radius:8px}.time-slot-button::part(native){border-radius:8px}.time-slot-button[fill=outline]{--background: white;--color: var(--ion-color-dark);background:#fff}.time-slot-button[fill=outline]::part(native){background:#fff;border-radius:8px}.time-slot-button[fill=solid]{--background: var(--ion-color-primary);--color: white;--border-color: var(--ion-color-primary)}.duration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;width:100%}.duration-button{margin:0;height:48px;font-size:1rem;font-weight:500;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium);border-radius:8px}.duration-button::part(native){border-radius:8px}.duration-button[fill=outline]{--background: white;--color: var(--ion-color-dark);background:#fff}.duration-button[fill=outline]::part(native){background:#fff;border-radius:8px}.duration-button[fill=solid]{--background: var(--ion-color-primary);--color: white;--border-color: var(--ion-color-primary)}.table-chip-button{margin:0;height:auto;min-height:48px;width:auto;min-width:auto;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium);--padding-start: 12px;--padding-end: 12px;--padding-top: 12px;--padding-bottom: 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;white-space:normal;position:relative;border-radius:8px}.table-chip-button::part(native){border-radius:8px}.table-chip-button[fill=outline]{--background: white !important;background:#fff!important;--color: var(--ion-color-dark)}.table-chip-button[fill=outline]::part(native){background:#fff!important;border-radius:8px}.checkin-modal-content{padding:16px}.checkin-modal-content h2{margin-top:0;margin-bottom:16px;font-size:1.5rem;font-weight:600}.checkin-modal-content p{margin:12px 0;line-height:1.6}.cancel-modal-content{padding:16px}.cancel-modal-content h2{margin-top:0;margin-bottom:16px;font-size:1.5rem;font-weight:600;color:var(--ion-color-danger)}.cancel-modal-content p{margin:12px 0;line-height:1.6}.warning-text{color:var(--ion-color-danger);font-weight:600;font-size:1.1rem;margin-bottom:24px!important}.booking-details{background:var(--ion-color-light);padding:12px;border-radius:8px;margin-top:16px!important}.booking-details strong{color:var(--ion-color-primary)}.warning-note{background:rgba(var(--ion-color-warning-rgb),.1);border-left:4px solid var(--ion-color-warning);padding:12px;border-radius:4px;margin-top:24px!important;font-size:.9rem;color:var(--ion-color-dark)}.modal-actions{margin-top:32px;display:flex;flex-direction:column;gap:12px}.modal-actions ion-button{margin:0}.table-side-panel{position:fixed;top:0;right:0;width:320px;height:100vh;z-index:1000;transform:translate(100%);transition:transform .3s ease;pointer-events:none}.table-side-panel.open{transform:translate(0);pointer-events:all}.panel-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;opacity:0;transition:opacity .3s ease;pointer-events:none}.table-side-panel.open .panel-overlay{opacity:1;pointer-events:all}.panel-content{position:relative;width:100%;height:100%;background:var(--ion-background-color);box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column}.panel-content-wrapper{flex:1;overflow-y:auto}.panel-content ion-header{border-bottom:1px solid var(--ion-color-medium-tint)}.panel-content ion-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;font-size:.9rem}.draggable-table-item{cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:.9rem;touch-action:none}.draggable-table-item h2{font-size:.95rem}.draggable-table-item p{font-size:.85rem}.draggable-table-item:active{cursor:grabbing;opacity:.7;transform:scale(.98)}.draggable-table-item:hover{background:var(--ion-color-light)}.panel-footer{padding:16px;border-top:1px solid var(--ion-color-medium-tint);margin-top:auto}.panel-footer ion-button{margin:0}@media(max-width:768px){.table-side-panel{width:100%;max-width:320px}}.capacity-warning-modal-content{padding:16px 0}.capacity-warning-modal-content h2{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:var(--ion-color-warning)}.capacity-warning-modal-content .warning-text{font-size:1rem;color:var(--ion-color-warning-shade);margin-bottom:24px;font-weight:500}.capacity-warning-modal-content .booking-details{background:var(--ion-color-light);padding:16px;border-radius:8px;margin:16px 0}.capacity-warning-modal-content .booking-details p{margin:8px 0;font-size:.95rem}.capacity-warning-modal-content .warning-note{font-size:.9rem;color:var(--ion-color-medium);margin-top:24px;font-style:italic}.capacity-warning-modal-content .modal-actions{margin-top:32px;display:flex;flex-direction:column;gap:12px}.bookings-page ion-content{--overflow-x: hidden}@media(min-width:768px){.bookings-page ion-content ion-row{max-width:100vw;overflow-x:hidden}}@media(min-width:768px){.bookings-page ion-row{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start;width:100%}.bookings-page ion-row ion-col.calendar-sidebar{flex:0 0 360px!important;max-width:360px!important;width:360px!important;--width: 360px !important}.bookings-page ion-row ion-col.bookings-list,.bookings-page ion-row ion-col.bookings-list.md,.bookings-page ion-row ion-col.bookings-list.hydrated,.bookings-page ion-row ion-col.bookings-list-md,.bookings-page ion-row ion-col.bookings-list-md.hydrated{flex:0 0 calc(100% - 360px)!important;max-width:calc(100% - 360px)!important;width:calc(100% - 360px)!important;min-width:0!important;--width: calc(100% - 360px) !important}.bookings-page ion-row ion-col[class*=bookings-list]{flex:0 0 calc(100% - 360px)!important;max-width:calc(100% - 360px)!important;width:calc(100% - 360px)!important}}.bookings-page .calendar-sidebar{padding:0!important;border-right:1px solid var(--ion-color-light);display:flex;flex-direction:column;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.bookings-page .calendar-sidebar>*{max-width:100%!important;box-sizing:border-box}@media(min-width:768px){.bookings-page .calendar-sidebar{max-width:360px!important;min-width:360px;flex-shrink:0;width:360px!important}}.bookings-page .calendar-container{background:var(--ion-color-light);border-radius:8px;padding:8px 0;margin:0 0 8px;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:visible}@media(max-width:767px){.bookings-page .calendar-container{width:100%;max-width:100%;padding:16px;margin-bottom:16px}}.bookings-page .calendar-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px!important;padding:0 8px!important;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:hidden}.bookings-page .calendar-header h3{margin:0;font-size:1.2rem;font-weight:600}.bookings-page .calendar-header ion-button{font-size:1.5rem;font-weight:700;min-width:44px;min-height:44px}ion-header ion-toolbar ion-buttons[slot=start] ion-button{font-size:1.8rem;font-weight:700;min-width:48px;min-height:48px}.bookings-page .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0px!important;margin:0 0 8px!important;padding:0 8px!important;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:hidden}@media(max-width:767px){.bookings-page .calendar-weekdays{width:100%;max-width:100%;padding:0 16px}}.bookings-page .weekday{text-align:center;font-weight:600;font-size:.8rem;color:var(--ion-color-medium);padding:6px 0;min-width:0}.bookings-page .calendar-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;grid-auto-rows:minmax(40px,auto)!important;gap:6px 6px!important;row-gap:6px!important;column-gap:6px!important;padding:0 8px!important;margin:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:visible!important}@media(max-width:767px){.bookings-page .calendar-grid{width:100%;max-width:100%;padding:0 16px}}.bookings-page .calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:0;cursor:pointer;font-size:.9rem;transition:all .2s;position:relative;padding:0;margin:0;width:fit-content!important;max-width:100%!important;min-height:40px;border:1px solid transparent;box-sizing:border-box;justify-self:center!important}.bookings-page .calendar-day:hover:not(.selected){background:var(--ion-color-light-shade);transform:scale(1.02)}.bookings-page .calendar-day.selected{background:#3880ff!important;background-color:#3880ff!important;color:#fff!important;font-weight:700;border:3px solid #2e6cd4!important;border-left:3px solid white!important;box-shadow:0 3px 12px #3880ff80!important;transform:scale(1.08)!important;z-index:10;position:relative}.bookings-page .calendar-day.low.selected,.bookings-page .calendar-day.medium.selected,.bookings-page .calendar-day.high.selected,.bookings-page .calendar-day.closed.selected,.bookings-page .calendar-day.past.selected,.bookings-page .calendar-day.today.selected{background:#3880ff!important;background-color:#3880ff!important;border-left:3px solid white!important;border-color:#2e6cd4!important}.bookings-page .calendar-day.selected .day-number{color:#fff!important;font-weight:700;font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.3);z-index:2;position:relative}.bookings-page .calendar-day.selected .booking-indicator{color:#fff!important;background:#fff6;border-radius:50%;padding:2px 5px;font-weight:700}.bookings-page .calendar-day.other-month{color:var(--ion-color-medium);opacity:.4}.bookings-page .calendar-day.today{border:2px solid var(--ion-color-primary);font-weight:600}.bookings-page .calendar-day.today.selected{border-color:#fff}.bookings-page .day-number{font-size:.9rem;line-height:1;margin:0;padding:0;height:auto;max-height:32px;overflow:hidden;text-align:center;width:100%}.bookings-page .booking-indicator{font-size:.7rem;font-weight:600;margin-top:2px;line-height:1;text-align:center;width:100%}.bookings-page .calendar-day.low:not(.selected){background-color:#2dd36f33;border-left:3px solid #2dd36f}.bookings-page .calendar-day.medium:not(.selected){background-color:#ffc40933;border-left:3px solid #ffc409}.bookings-page .calendar-day.high:not(.selected){background-color:#9c27b033;border-left:3px solid #9c27b0}.bookings-page .calendar-day.closed:not(.selected){background-color:#eb445a33;border-left:3px solid #eb445a}.bookings-page .calendar-day.past{opacity:.5}.bookings-page .calendar-day.past:hover{opacity:.7}.bookings-page .calendar-legend{display:flex;justify-content:center;gap:12px;padding:8px 16px;margin-top:4px;margin-bottom:2px;font-size:.75rem;color:var(--ion-color-medium);width:100%;box-sizing:border-box}.bookings-page .legend-item{display:flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto}.bookings-page .legend-item span{text-align:center}.bookings-page .legend-color{width:16px;height:16px;border-radius:2px;border-left:3px solid}.bookings-page .legend-color.low{background-color:#2dd36f33;border-left-color:#2dd36f}.bookings-page .legend-color.medium{background-color:#ffc40933;border-left-color:#ffc409}.bookings-page .legend-color.high{background-color:#9c27b033;border-left-color:#9c27b0}.bookings-page .legend-color.closed{background-color:#eb445a33;border-left-color:#eb445a}.status-filters{display:flex;flex-wrap:wrap;gap:8px;padding:8px;width:100%;box-sizing:border-box;justify-content:center}.bookings-list{padding:16px;min-width:0;overflow-x:hidden;box-sizing:border-box}@media(min-width:768px){.bookings-page .bookings-list,.bookings-page ion-col.bookings-list,.bookings-page ion-col.bookings-list.md,.bookings-page ion-col.bookings-list.hydrated,.bookings-page ion-col.bookings-list-md,.bookings-page ion-col.bookings-list-md.hydrated{width:calc(100% - 360px)!important;max-width:calc(100% - 360px)!important;overflow-x:hidden}.bookings-page ion-col[class*=bookings-list]{width:calc(100% - 360px)!important;max-width:calc(100% - 360px)!important}.bookings-page .bookings-list>*,.bookings-page ion-col.bookings-list>*{max-width:100%;box-sizing:border-box}}.search-bar{margin-bottom:16px}.bookings-container{display:flex;flex-direction:column;gap:12px;font-size:.9rem}.bookings-container .today-booking-card{font-size:.9rem}.bookings-toast{--width: 90%;--max-width: 400px;z-index:10000}.compact-booking-item-wrapper{margin:0;border-radius:0}.compact-booking-item-wrapper--checked-in{background-color:#c8e6c9!important}.compact-booking-item-wrapper--checked-in ion-item{--background: transparent !important;background:transparent!important}.compact-booking-item{--padding-start: 16px;--padding-end: 16px;--inner-padding-end: 8px;--background: white;background:#fff}.compact-booking-content{display:flex;flex-direction:column;gap:4px;width:100%}.compact-booking-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-booking-priority{flex-shrink:0;font-size:1.1em;margin-right:2px}.compact-booking-time{font-weight:700;min-width:80px;flex-shrink:0}.compact-booking-party{min-width:50px;flex-shrink:0;font-size:.9em}.compact-booking-table{min-width:100px;flex-shrink:0;font-size:.9em;color:var(--ion-color-medium)}.compact-booking-name{font-weight:700;flex:1;min-width:120px}.compact-booking-status{color:var(--ion-color-medium);font-size:.9em;flex-shrink:0;min-width:80px;text-align:right}.compact-booking-requests{color:var(--ion-color-medium);font-size:.85em;font-style:italic;margin-top:4px;padding-left:0}@media(max-width:767px){.compact-booking-main{flex-direction:column;align-items:flex-start;gap:4px}.compact-booking-time,.compact-booking-party,.compact-booking-table,.compact-booking-name,.compact-booking-status{min-width:auto;width:100%}.compact-booking-status{text-align:left}}@media(min-width:768px)and (max-width:1023px){.compact-booking-table{min-width:80px}.compact-booking-name{min-width:100px}}.bookings-grid-container{padding:20px;display:flex;flex-direction:column;gap:16px}.grid-time-axis{display:flex;gap:8px;padding:8px 0;border-bottom:2px solid var(--ion-color-medium);margin-bottom:16px;overflow-x:auto}.grid-time-marker{font-size:.75rem;font-weight:500;color:var(--ion-color-dark);white-space:nowrap;padding:4px 8px;background:var(--ion-color-light);border-radius:4px;min-width:50px;text-align:center}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;width:100%}.grid-booking-wrapper{position:relative}@media(min-width:768px){.bookings-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.walk-in-content{padding:16px}.walk-icon{margin-right:8px;vertical-align:middle}.loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;justify-content:center;align-items:center;z-index:1000}.required{color:var(--ion-color-danger)}.error-text{color:var(--ion-color-danger);font-size:.875rem;margin-top:4px}.no-tables-message{padding:24px;text-align:center;color:var(--ion-color-medium)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px;width:100%}@media(max-width:480px){.tables-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}}@media(min-width:481px)and (max-width:768px){.tables-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media(min-width:769px){.tables-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}}.table-chip-button{margin:0;height:auto;min-height:48px;width:auto;min-width:auto;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium);--padding-start: 12px;--padding-end: 12px;--padding-top: 12px;--padding-bottom: 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;white-space:normal;position:relative}.table-chip-button[fill=outline]{--background: white !important;background:#fff!important;--color: var(--ion-color-dark);border-radius:8px}.table-chip-button[fill=outline]::part(native){border-radius:8px}.table-chip-button[fill=solid]{--background: var(--ion-color-primary);--color: white;--border-color: var(--ion-color-primary)}.table-chip-content{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.table-capacity{font-size:.75rem;opacity:.8;color:inherit}.table-name{font-weight:500;font-size:1rem;color:var(--ion-color-dark)}.table-chip.selected .table-name{color:#fff;font-weight:600}.table-chip.selected .table-capacity{color:#fff;opacity:1}.table-warning-badge{position:absolute;top:2px;right:2px;background:#ffc409!important;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;z-index:1000;box-shadow:0 2px 4px #0003;pointer-events:none}.table-warning-badge ion-icon{font-size:1rem;color:#fff}.walk-in-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px}.party-size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;width:100%}.party-size-button{margin:0;height:48px;font-size:1rem;font-weight:500;--border-radius: 8px;--border-width: 1px;--border-style: solid;--border-color: var(--ion-color-medium)}.party-size-button[fill=outline]{--background: white !important;background:#fff!important;--color: var(--ion-color-dark);--border-color: var(--ion-color-medium);border-radius:8px}.party-size-button[fill=outline]::part(native){border-radius:8px}.party-size-button[fill=solid]{--background: var(--ion-color-primary);--color: white;--border-color: var(--ion-color-primary)}.stats-bar{display:flex;gap:8px;padding:12px 16px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-medium-tint);overflow-x:auto;flex-wrap:wrap;justify-content:center}.stats-bar ion-chip{margin:0;font-size:.85rem}.stats-bar ion-chip ion-icon{margin-right:4px}.stats-bar ion-chip.clickable-table-chip{cursor:pointer;transition:all .2s ease;position:relative}.stats-bar ion-chip.clickable-table-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026;opacity:.9}.stats-bar ion-chip.clickable-table-chip:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.stats-bar ion-chip.clickable-table-chip .chevron-icon{margin-left:4px;margin-right:0;font-size:.9rem;opacity:.7;transition:transform .2s ease,opacity .2s ease}.stats-bar ion-chip.clickable-table-chip:hover .chevron-icon:not(.open){transform:translate(2px);opacity:1}.stats-bar ion-chip.clickable-table-chip .chevron-icon.open{transform:translate(-2px);opacity:1}.stats-bar ion-chip.clickable-table-chip:hover .chevron-icon.open{transform:translate(-4px)}.search-toggle-button{margin:0;--padding-start: 8px;--padding-end: 8px;height:32px;width:32px}.search-container{padding:8px 16px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-medium-tint);animation:slideDown .3s ease}.today-page ion-content{--overflow: visible;overflow:visible!important}.today-page ion-content .inner-scroll{overflow:visible!important;contain:none!important;overflow-x:visible!important;overflow-y:visible!important;padding:0!important;isolation:auto!important}.bookings-container{padding:20px;display:flex;flex-direction:column;gap:24px;overflow:visible}.time-group-container{position:relative;display:flex;flex-direction:row;width:100%;max-width:720px;margin:0 auto;gap:0;padding-top:24px}.time-group-container:before{content:"";position:absolute;left:40px;top:20px;bottom:0;width:2px;background:#666;z-index:0}.time-marker{position:absolute;left:40px;top:0;transform:translate(-50%);font-size:.9rem;font-weight:500;color:#000;white-space:nowrap;z-index:1;background:var(--ion-background-color, #fff);padding:0 4px;line-height:1}.time-marker:before{content:attr(data-time)}.time-group-bookings{flex:1;display:flex;flex-direction:column;gap:16px;padding-left:60px;position:relative;z-index:0}.view-toggle-button{margin:0;--padding-start: 8px;--padding-end: 8px;height:32px;width:32px}.bookings-grid-container{padding:20px;display:flex;flex-direction:column;gap:12px;overflow:visible}.time-group-container.grid-view{max-width:100%;margin:0}.time-group-bookings.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px;padding-left:60px}.time-group-bookings.grid-view .today-booking-card ion-card-content{padding:2px}.today-booking-card.compact{max-width:100%}.booking-item-container.compact{max-width:100%;flex-direction:column;gap:0}.booking-card-wrapper.compact{width:100%}.booking-info-box.compact{min-height:80px;height:80px;padding:10px;border-radius:8px}.booking-info-box.compact:not(.with-comment){border-radius:8px}.booking-time-party.compact,.booking-room-table.compact{font-size:.75rem}.booking-customer-name.compact{font-size:1rem;margin-top:4px}.booking-comment-bar.compact{padding:4px 8px;font-size:.7rem;min-height:16px}.menu-button.compact{width:24px;height:24px;--padding-start: 2px;--padding-end: 2px;--padding-top: 2px;--padding-bottom: 2px}.menu-button.compact ion-icon{font-size:16px}.check-in-button.compact{width:60px;height:60px;margin-left:0;margin-top:8px;align-self:center}.check-in-button.compact ion-icon{width:60px;height:60px}.check-in-button.compact.checked-in ion-icon,.check-in-button.compact.no-show ion-icon,.check-in-button.compact.completed ion-icon{width:60px;height:60px}@media(min-width:768px){.bookings-container{max-width:800px;margin:0 auto}.compact-booking-item-wrapper{margin:0;border-radius:0}.compact-booking-item-wrapper--checked-in{background-color:#c8e6c9!important}.compact-booking-item-wrapper--checked-in ion-item{--background: transparent !important;background:transparent!important}.compact-booking-item{--padding-start: 16px;--padding-end: 16px;--inner-padding-end: 8px;--background: white;background:#fff}.compact-booking-content{display:flex;flex-direction:column;gap:4px;width:100%}.compact-booking-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-booking-priority{flex-shrink:0;font-size:1.1em;margin-right:2px}.compact-booking-time{font-weight:700;min-width:80px;flex-shrink:0}.compact-booking-party{min-width:50px;flex-shrink:0;font-size:.9em}.compact-booking-table{min-width:100px;flex-shrink:0;font-size:.9em;color:var(--ion-color-medium)}.compact-booking-name{font-weight:700;flex:1;min-width:120px}.compact-booking-status{color:var(--ion-color-medium);font-size:.9em;flex-shrink:0;min-width:80px;text-align:right}.compact-booking-requests{color:var(--ion-color-medium);font-size:.85em;font-style:italic;margin-top:4px;padding-left:0}@media(max-width:767px){.compact-booking-main{flex-direction:column;align-items:flex-start;gap:4px}.compact-booking-time,.compact-booking-party,.compact-booking-table,.compact-booking-name,.compact-booking-status{min-width:auto;width:100%}.compact-booking-status{text-align:left}}@media(min-width:768px)and (max-width:1023px){.compact-booking-table{min-width:80px}.compact-booking-name{min-width:100px}}.time-group-bookings.grid-view{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.add-staff-banner{background:var(--ion-color-light);padding:16px;margin:16px;border-radius:8px;text-align:center;border:2px dashed var(--ion-color-medium)}.add-staff-banner p{margin:0 0 12px;color:var(--ion-color-dark)}@media(max-width:767px){.add-staff-banner{padding:12px;margin:12px}}@media(min-width:768px){.add-staff-banner{padding:20px;margin:20px}}.staff-name{font-size:.875rem;font-weight:700;text-transform:uppercase;margin:0 0 4px}.staff-contact{font-size:.85rem;color:var(--ion-color-medium);margin:2px 0}.staff-item{--min-height: auto;margin-bottom:8px;border-radius:8px}.staff-item:not(:last-child){margin-bottom:12px}.staff-label{flex:1;min-width:0}.staff-chips-container{display:flex;flex-direction:row;gap:6px;align-items:center;flex-wrap:wrap}.staff-chip{font-size:.75rem;height:24px;margin:0;flex-shrink:0}@media(min-width:768px){.staff-chips-mobile{display:none}.staff-chips-desktop{display:flex;justify-content:flex-end;gap:4px}.staff-item{--padding-start: 20px;--padding-end: 20px}}@media(max-width:767px){.staff-chips-mobile{display:flex;margin-top:8px;width:100%;gap:4px;justify-content:flex-start}.staff-chips-desktop{display:none}.staff-item{--padding-start: 12px;--padding-end: 12px;--inner-padding-end: 12px;align-items:flex-start}.staff-label{width:100%;margin-inline-end:0}.staff-name{font-size:.875rem;margin-bottom:4px}.staff-contact{font-size:.8rem;margin:1px 0}.staff-chip{font-size:.7rem;height:22px;padding:0 8px}}@media(min-width:768px)and (max-width:1023px){.staff-chips-desktop{gap:4px}.staff-chip{font-size:.75rem;height:24px}}@media(min-width:1024px){.staff-item{--padding-start: 24px;--padding-end: 24px}.staff-chips-desktop{gap:6px}.staff-chip{font-size:.8rem;height:26px}.staff-contact{margin-top:4px}}.staff-item{--padding-start: 16px;--padding-end: 16px;--inner-padding-end: 8px}@media(min-width:768px){ion-item{--padding-start: 20px;--padding-end: 20px}}@media(min-width:1024px){ion-item{--padding-start: 24px;--padding-end: 24px}ion-item ion-label p{margin-top:4px}}ion-searchbar{--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 12px}@media(max-width:767px){ion-searchbar{--padding-start: 12px;--padding-end: 12px;--padding-top: 8px;--padding-bottom: 8px}}@media(min-width:768px){ion-searchbar{--padding-start: 20px;--padding-end: 20px;--padding-top: 16px;--padding-bottom: 16px}}ion-list{padding:0}.staff-page ion-list ion-item{margin-bottom:12px}@media(max-width:767px){.staff-item:not(:last-child){margin-bottom:10px}.staff-page ion-list ion-item{margin-bottom:10px}}@media(min-width:1024px){.staff-item:not(:last-child){margin-bottom:16px}.staff-page ion-list ion-item{margin-bottom:16px}}.staff-page ion-content{--padding-start: 0;--padding-end: 0;--padding-bottom: 0}@media(min-width:1024px){.staff-page ion-content{--padding-start: 0;--padding-end: 0}ion-list{max-width:1200px;margin:0 auto}}@media(min-width:1440px){ion-list{max-width:1400px}}.tables-page{padding:16px;max-width:1200px;margin:0 auto}.rooms-section{margin-bottom:24px}.section-header h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;font-size:1.1rem;font-weight:600}.section-header-actions{display:flex;gap:8px}.room-actions{display:flex;gap:8px;margin-top:12px}.tables-page .capacity-card{margin-bottom:24px;--background: #3880ff !important;background:#3880ff!important}.tables-page .capacity-card ion-card-content{--background: #3880ff !important;background:#3880ff!important;--color: white !important;color:#fff!important}.capacity-card{margin-bottom:24px;--background: #3880ff !important;background:#3880ff!important}.capacity-card ion-card-content{--background: #3880ff !important;background:#3880ff!important;--color: white !important;color:#fff!important}.capacity-stats{text-align:center;padding:16px}.capacity-stats h3{margin:0 0 8px;font-size:1.2rem;color:#fff}.capacity-number{font-size:2.5rem;font-weight:700;margin:8px 0;color:#fff}.capacity-info{margin:8px 0 0;color:#fff;font-size:.9rem}.table-editor-section{margin-top:24px}.tables-page .tables-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:12px!important;width:100%!important}.tables-page .tables-list .table-card-button{--border-radius: 12px;--border-width: 2px;--border-color: var(--ion-color-medium);--background: white;--color: var(--ion-color-dark);min-height:100px;margin:0!important;height:auto;text-transform:none;width:100%}.tables-page .tables-list .table-card-button:hover{--border-color: var(--ion-color-primary);transform:scale(1.02)}.table-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;text-align:center}.table-number{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark);line-height:1.2}.table-capacity{font-size:.9rem;color:var(--ion-color-primary);font-weight:600;line-height:1.2}.table-shape{font-size:.75rem;color:var(--ion-color-medium);text-transform:capitalize;line-height:1.2}.layout-modal{--width: 100%;--height: 100%}.layout-modal ion-content{--padding: 0}@media(min-width:768px){.tables-page{padding:24px}}.room-editor{padding:16px}.table-editor-form{padding:16px}.table-editor-form ion-item{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.table-editor-form ion-label{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.table-editor-form ion-input{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.table-editor-form ion-select{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.tables-list{display:flex;flex-direction:column;gap:12px}.table-item{display:flex;justify-content:space-between;align-items:center}.table-item h3{margin:0 0 4px;font-size:1.1rem}.table-item p{margin:4px 0;color:var(--ion-color-medium);font-size:.9rem}.table-shape{font-size:.8rem!important;text-transform:capitalize}.table-layout-view{display:flex;flex-direction:column;height:100%;width:100%;padding:16px;background:var(--ion-background-color);box-sizing:border-box}.layout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.layout-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-color-dark)}.layout-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.layout-info{margin-bottom:16px;padding:12px;background:var(--ion-color-light);border-radius:8px}.layout-info p{margin:4px 0;font-size:.9rem;color:var(--ion-color-medium)}.layout-hint{font-style:italic;color:var(--ion-color-primary)!important}.layout-content{display:flex;gap:24px;flex:1;overflow:auto;min-width:0;align-items:flex-start;justify-content:center;background:transparent}.tables-sidebar{min-width:200px;max-width:250px;background:var(--ion-color-light);border-radius:8px;padding:16px;border:1px solid var(--ion-color-medium)}.tables-sidebar h3{margin:0 0 16px;font-size:1.1rem;color:var(--ion-color-dark)}.sidebar-tables{display:flex;flex-direction:column}.sidebar-empty{color:var(--ion-color-medium);font-style:italic;text-align:center;padding:16px 0;margin:0}.table-sidebar .table-visual{transform:scale(.8);margin:0 auto}.layout-container{position:relative;background:#efebe9;border:2px solid var(--ion-color-medium);border-radius:8px;margin:0 auto;box-shadow:0 2px 8px #0000001a;overflow:visible;min-width:400px;min-height:400px;flex-shrink:0;flex-grow:0}.empty-room-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ion-color-medium);text-align:center;padding:20px}.empty-room-message p{margin:8px 0;font-size:1rem}.empty-room-hint{font-size:.9rem!important;color:var(--ion-color-primary)!important;margin-top:8px!important}.table-wrapper{-webkit-user-select:none;user-select:none;touch-action:none}.table-with-chairs{position:relative;display:block}.table-chair{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.6);transform:translate(-50%,-50%);box-shadow:0 1px 2px #0003;pointer-events:none;opacity:.95}.table-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--ion-color-dark);background:#000;box-shadow:0 2px 4px #0003;transition:box-shadow .2s}.table-wrapper:hover .table-visual{box-shadow:0 4px 8px #0000004d}.table-wrapper:active .table-visual{box-shadow:0 1px 2px #0003}.table-round{border-radius:50%}.table-square,.table-rectangle{border-radius:4px}.table-number{font-weight:700;font-size:.9rem;color:#fff;line-height:1}.table-capacity{font-size:.7rem;color:#ccc;margin-top:2px}.table-visual.available{background:#000;border-color:#4caf50}.table-visual.occupied{background:#000;border-color:#f44336}.table-visual.reserved{background:#000;border-color:#ff9800}.table-visual.cleaning{background:#000;border-color:#2196f3}@media(max-width:768px){.table-layout-view{padding:8px}.layout-header{flex-direction:column;align-items:flex-start;margin-bottom:12px}.layout-header h2{font-size:1.2rem}.layout-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.layout-info{padding:8px;margin-bottom:12px}.layout-info p{font-size:.85rem}.layout-content{flex-direction:column;gap:16px;align-items:stretch}.tables-sidebar{min-width:100%;max-width:100%;order:2}.layout-container{width:100%!important;height:auto!important;min-height:300px;max-width:100%;order:1}.table-wrapper{touch-action:none}}.menu-category-card{margin:0}.category-header-grid{padding:0}.category-header-grid ion-row{align-items:center}.category-icon-col{padding:0 12px 0 0;display:flex;align-items:center}.category-icon{font-size:2rem;color:var(--ion-color-primary);line-height:1}.category-text-col{padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}.category-name{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:var(--ion-color-dark);text-align:center}.category-description{margin:0 0 4px;padding:0;color:var(--ion-color-medium);font-size:.9rem;text-align:center}.item-count{margin:0;padding:0;font-size:.85rem;color:var(--ion-color-medium);text-align:center}.category-actions-col{padding:0;display:flex;justify-content:flex-end}.menu-item-card{margin:0;height:100%;display:flex;flex-direction:column}.menu-item-card,.menu-item-card::part(native){--background: white !important;background:#fff!important;background-color:#fff!important}.menu-item-card.unavailable{opacity:.6}.menu-item-card ion-card-header{padding-bottom:8px}.menu-item-card ion-card-title{font-size:1.2rem;font-weight:700;margin-bottom:4px}.menu-item-card ion-card-subtitle{font-size:1.1rem;font-weight:700;color:var(--ion-color-primary);margin-top:0}.item-description{margin:0 0 12px;color:var(--ion-color-medium);font-size:.9rem;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.item-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.item-actions ion-button{margin:0;--padding-start: 8px;--padding-end: 8px}.availability-badge{margin-bottom:8px;font-size:.75rem}.item-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.item-badges ion-chip{margin:0}.category-editor-form{padding:16px}.category-editor-form ion-item{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.category-editor-form ion-label{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.category-editor-form ion-input{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.category-editor-form ion-textarea{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.category-editor-form ion-label{color:var(--ion-color-dark)!important}.icon-selector-section{margin-top:16px;padding:16px;background:var(--ion-color-light);border-radius:8px}.icon-selector-label{display:block;margin-bottom:12px;font-weight:500;color:var(--ion-color-dark)}.icon-grid{padding:0}.icon-select-button{width:100%;height:60px;margin:0;--padding-start: 0;--padding-end: 0}.icon-select-button ion-icon{font-size:1.5rem}.item-editor-form{padding:16px}.item-editor-form ion-item{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.item-editor-form ion-label{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.item-editor-form ion-input{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.item-editor-form ion-textarea{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.item-editor-form ion-select{--color: var(--ion-color-dark);color:var(--ion-color-dark)}.item-editor-form ion-label{color:var(--ion-color-dark)!important}.item-editor-form ion-label:after{content:""}.dietary-section,.allergens-section{margin:16px 0;padding:0 16px}.section-label{display:block;margin-bottom:8px;font-weight:600;color:var(--ion-color-dark)}.chips-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.expo-location-item{--padding-top: 8px}.expo-radio-group{margin-top:12px;padding-top:0}.expo-radio-item{--border-width: 0;--inner-border-width: 0;--padding-start: 0;--padding-end: 0;--inner-padding-end: 0;border-bottom:none!important}.expo-radio-item::part(native){border-bottom:none!important}.allergen-info-management{padding:16px;display:flex;flex-direction:column;gap:32px}.section{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--ion-color-dark)}.loading-container{display:flex;justify-content:center;align-items:center;padding:48px}.editor-card{margin-bottom:16px}.editor-actions{display:flex;gap:8px;margin-top:12px}.item-content{display:flex;flex-direction:column;align-items:center;gap:12px}.item-name-centered{margin:0;font-size:1rem;font-weight:600;color:var(--ion-color-dark);text-align:center;width:100%}.inactive-chip{margin:-8px 0 0;font-size:.75rem}.item-actions-centered{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.inactive{opacity:.6}.empty-options{color:var(--ion-color-medium);font-style:italic;padding:8px 0}.items-list h3{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:var(--ion-color-dark)}.empty-message{text-align:center;padding:24px;color:var(--ion-color-medium)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.items-grid ion-card{margin:0;height:100%;display:flex;flex-direction:column}.items-grid ion-card-content{padding:12px 16px;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:60px}.item-card{cursor:pointer;transition:all .2s ease}.item-card.selected{border:2px solid var(--ion-color-primary);box-shadow:0 0 0 2px var(--ion-color-primary-tint)}.item-card h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.item-desc{margin:0 0 8px;font-size:.85rem;color:var(--ion-color-medium)}.current-tags{display:flex;flex-direction:column;gap:4px;margin-top:8px}.tags-row{display:flex;gap:4px;flex-wrap:wrap}.editor-section{padding:16px;background:var(--ion-color-light);border-radius:8px}.editor-section h3{margin:0 0 20px;font-size:1.3rem;font-weight:600;color:var(--ion-color-dark)}.dietary-section,.allergens-section{margin:20px 0;padding:0}.section-label{display:block;margin-bottom:12px;font-weight:600;font-size:1rem;color:var(--ion-color-dark)}.chips-container{display:flex;flex-wrap:wrap;gap:8px}.chips-container ion-chip{cursor:pointer;transition:all .2s ease}.chips-container ion-chip:hover{transform:scale(1.05)}.form-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px}.form-actions ion-button{margin:0}.menu-container{padding:16px;display:flex;flex-direction:column;gap:24px}.menu-section{display:flex;flex-direction:column;gap:12px}.menu-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-left:16px}@media(max-width:768px){.menu-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}}@media(max-width:480px){.menu-items{grid-template-columns:1fr}}.empty-items{text-align:center;padding:24px 16px;color:var(--ion-color-medium);display:flex;flex-direction:column;gap:12px;align-items:center}.sortable-menu-item{position:relative;display:flex;align-items:flex-start;gap:8px}.drag-handle{cursor:grab;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--ion-color-medium);margin-top:8px;touch-action:none}.drag-handle:active{cursor:grabbing}.drag-handle ion-icon{font-size:24px}.order-card{margin:0;transition:all .2s ease;border-left:4px solid var(--ion-color-medium)}.order-card--priority,ion-card.order-card.order-card--priority{border-top-width:8px!important;border-top-style:solid!important;border-top-color:#ff9500!important;border-left-width:1px!important;border-left-style:solid!important;border-left-color:#ff9500!important;border-right-width:1px!important;border-right-style:solid!important;border-right-color:#ff9500!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:#ff9500!important}.order-header{display:flex;flex-direction:column;gap:12px}.order-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.order-table-section{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:0 0 auto;min-width:0}.order-table-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-served-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order-served-chip{margin:0;height:24px;font-size:.75rem;font-weight:600}.order-served-chip ion-icon{font-size:.9rem;margin-right:4px}.order-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.order-table{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark);line-height:1.3}.order-status-badge{font-size:.85rem;font-weight:600}.order-time-info-inline{display:flex;align-items:center;gap:8px;flex:1;min-width:0;justify-content:flex-end;margin:0 8px}.order-time-inline{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-medium);white-space:nowrap}.order-time-inline ion-icon{font-size:.9rem}.order-time-inline.order-time-warning{color:var(--ion-color-warning);font-weight:500}.order-time-inline.order-time-warning .warning-icon{margin-left:2px}.order-time-inline.order-time-served{color:var(--ion-color-success)}.order-time-info{display:flex;flex-direction:column;gap:4px}.order-time{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ion-color-medium)}.order-time ion-icon{font-size:1rem}.order-time-warning{color:var(--ion-color-warning);font-weight:500}.order-time-warning .warning-icon{margin-left:4px}.order-time-served{color:var(--ion-color-success)}.order-notification{margin-top:4px}.order-notification ion-chip{margin:0}.order-summary-inline{display:flex;align-items:center;gap:8px;margin-top:12px;justify-content:center;flex-wrap:wrap}.order-summary-inline ion-chip{margin:0;font-size:.85rem;height:28px}.order-action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;position:relative;z-index:1}.order-action-button{--border-radius: 8px;--padding-top: 12px;--padding-bottom: 12px;--padding-start: 16px;--padding-end: 16px;margin:0;height:auto;min-height:48px;font-weight:500;text-transform:none;position:relative;z-index:10;pointer-events:auto!important;cursor:pointer}.order-action-button::part(native){pointer-events:auto!important;cursor:pointer}.order-action-button ion-icon{font-size:1.2rem;margin-right:4px}.order-pay-button-large{--background: var(--ion-color-success);--color: white}.order-summary{margin-top:4px}.order-summary-content{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--ion-color-light);border-radius:8px;min-height:50px}.order-items-count{font-size:1rem;color:var(--ion-color-dark);font-weight:600;flex:1}.order-total{font-size:1.3rem;font-weight:700;color:var(--ion-color-primary);white-space:nowrap;background:var(--ion-color-primary-tint);padding:6px 16px;border-radius:8px}.order-items-summary{margin-top:12px;padding-top:12px;border-top:1px solid var(--ion-color-light-shade);animation:slideDown .2s ease}.order-items-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.order-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--ion-color-light);border-radius:6px}.order-item-name{flex:1;font-size:.9rem;color:var(--ion-color-dark);font-weight:500}.order-summary-total{padding:12px;background:var(--ion-color-primary-tint);border-radius:8px;text-align:center;font-size:1.1rem;color:var(--ion-color-primary)}.booking-info-chip{margin-top:8px;width:100%;justify-content:flex-start;font-size:.85rem}.booking-info-chip ion-icon{margin-right:6px}@media(max-width:768px){.order-header{gap:10px}.order-info,.order-title-row{gap:8px}.order-table{font-size:1rem}.order-table-section{flex-direction:column;align-items:flex-start;gap:6px}.order-time-info-inline{flex-direction:column;align-items:flex-end;gap:4px;margin:0 4px}.order-time-inline{font-size:.7rem}.order-summary-inline{gap:6px}.order-summary-inline ion-chip{font-size:.8rem;height:26px}.order-action-buttons{grid-template-columns:repeat(2,1fr);gap:6px}.order-action-button{--padding-top: 10px;--padding-bottom: 10px;--padding-start: 8px;--padding-end: 8px;min-height:44px;font-size:.9rem;justify-content:center}.order-action-button span{display:none}.order-action-button ion-icon{font-size:1.2rem;margin-right:0}.order-summary-content{padding:10px 12px;min-height:45px}.order-items-count{font-size:.95rem}.order-total{font-size:1.2rem;padding:5px 14px}}.order-editor-modal{--width: 100%;--height: 100%;--max-width: 100%;--max-height: 100%;--border-radius: 0}.order-editor-modal ion-header ion-button ion-icon{font-size:1.5rem}.order-summary-button{position:relative;display:flex;align-items:center;gap:8px}.order-items-badge{font-size:.75rem;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-left:4px}.order-editor{padding:16px;height:100%;display:flex;flex-direction:column}.order-editor-main{flex:1;display:flex;flex-direction:column;min-width:0;width:100%}.order-summary-panel{position:fixed;top:0;left:0;width:320px;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease;pointer-events:none}.order-summary-panel.open{transform:translate(0);pointer-events:all}.order-summary-panel .panel-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;opacity:0;transition:opacity .3s ease;pointer-events:none}.order-summary-panel.open .panel-overlay{opacity:1;pointer-events:all}.order-summary-panel .panel-content{position:relative;width:100%;height:100%;background:var(--ion-background-color);box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column}.order-summary-panel .panel-content-wrapper{flex:1;overflow-y:auto}.order-summary-panel .panel-content ion-header{border-bottom:1px solid var(--ion-color-medium-tint)}.order-summary-panel .panel-content ion-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}@media(max-width:768px){.order-summary-panel{width:100%;max-width:320px}}.table-display{margin-bottom:0;padding:12px;background:var(--ion-color-light);border-radius:8px;text-align:center}.table-label{font-size:1.2rem;font-weight:600;color:var(--ion-color-dark)}.menu-section{margin-top:0;margin-bottom:0;flex:1;display:flex;flex-direction:column;min-height:0}.category-tabs{margin-top:0;margin-bottom:12px;padding:4px;border-radius:8px;box-shadow:0 2px 4px #0000001a;background:var(--ion-color-light);display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.category-tabs::-webkit-scrollbar{height:4px}.category-tabs::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:2px}.category-tabs-sticky{position:sticky;top:0;z-index:10;background:#fff;padding-top:8px;padding-bottom:8px;margin-bottom:0;box-shadow:0 2px 8px #0000001a}.category-tab-button{min-width:auto;padding:6px 12px;margin:0;border-radius:6px;transition:all .2s ease;flex-shrink:0;--padding-start: 12px;--padding-end: 12px;--padding-top: 6px;--padding-bottom: 6px}.category-tab-button ion-label{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin:0}.menu-categories-container{flex:1;overflow-y:auto;padding-bottom:100px;padding-top:0;margin-top:0}.menu-category-section{margin-bottom:32px;margin-top:0;padding-top:0;scroll-margin-top:100px}.menu-category-section:first-child{scroll-margin-top:0}.menu-category-section:last-child{margin-bottom:16px}.menu-category-header{display:flex;align-items:center;gap:8px;padding:8px 0 8px 16px;border-bottom:2px solid var(--ion-color-primary);position:sticky;top:60px;background:#fff;z-index:5;margin-top:0;margin-bottom:12px}.menu-category-section:first-child .menu-category-header{position:relative;top:auto}.menu-category-header ion-icon{font-size:1.2rem;color:var(--ion-color-primary)}.menu-category-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--ion-color-primary);text-transform:uppercase;letter-spacing:.5px}.menu-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:0;padding-top:0}.menu-item-card{background:#fff;border:1px solid var(--ion-color-medium);border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:4px;position:relative;overflow:visible;will-change:transform,background-color,border-color;-webkit-transform:translateZ(0);transform:translateZ(0)}.menu-item-card:hover{transform:scale(1.02);border-color:var(--ion-color-primary);box-shadow:0 2px 8px #0000001a}.menu-item-card:active{transform:scale(.98)}.menu-item-card.clicked{animation:itemAdded .6s ease;border-color:#2dd36f!important;background:#d4f4e0!important;-webkit-animation:itemAdded .6s ease;animation-fill-mode:forwards}@keyframes itemAdded{0%{transform:scaleZ(1);-webkit-transform:scale3d(1,1,1)}50%{transform:scale3d(.95,.95,1);-webkit-transform:scale3d(.95,.95,1);box-shadow:0 0 #2dd36fb3}to{transform:scaleZ(1);-webkit-transform:scale3d(1,1,1);box-shadow:0 0 0 20px #2dd36f00}}@-webkit-keyframes itemAdded{0%{transform:scaleZ(1);-webkit-transform:scale3d(1,1,1)}50%{transform:scale3d(.95,.95,1);-webkit-transform:scale3d(.95,.95,1);box-shadow:0 0 #2dd36fb3}to{transform:scaleZ(1);-webkit-transform:scale3d(1,1,1);box-shadow:0 0 0 20px #2dd36f00}}.menu-item-ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#2dd36f4d;transform:translate3d(-50%,-50%,0);-webkit-transform:translate3d(-50%,-50%,0);pointer-events:none;opacity:0;z-index:1;will-change:width,height,opacity}.menu-item-card.clicked .menu-item-ripple{animation:ripple .6s ease-out;-webkit-animation:ripple .6s ease-out;opacity:1}@keyframes ripple{0%{width:0;height:0;opacity:.6}50%{opacity:.4}to{width:200px;height:200px;opacity:0}}@-webkit-keyframes ripple{0%{width:0;height:0;opacity:.6}50%{opacity:.4}to{width:200px;height:200px;opacity:0}}.menu-item-checkmark{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0) scale(0);-webkit-transform:translate3d(-50%,-50%,0) scale(0);z-index:1000;background:#2dd36f;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;animation:checkmarkPop .5s ease;-webkit-animation:checkmarkPop .5s ease;pointer-events:none;box-shadow:0 2px 8px #0000004d;will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}.menu-item-checkmark ion-icon{color:#fff;font-size:24px}@keyframes checkmarkPop{0%{transform:translate3d(-50%,-50%,0) scale(0);-webkit-transform:translate3d(-50%,-50%,0) scale(0);opacity:0}50%{transform:translate3d(-50%,-50%,0) scale(1.2);-webkit-transform:translate3d(-50%,-50%,0) scale(1.2);opacity:1}70%{transform:translate3d(-50%,-50%,0) scale(1);-webkit-transform:translate3d(-50%,-50%,0) scale(1);opacity:1}to{transform:translate3d(-50%,-50%,0) scale(1);-webkit-transform:translate3d(-50%,-50%,0) scale(1);opacity:0}}@-webkit-keyframes checkmarkPop{0%{transform:translate3d(-50%,-50%,0) scale(0);-webkit-transform:translate3d(-50%,-50%,0) scale(0);opacity:0}50%{transform:translate3d(-50%,-50%,0) scale(1.2);-webkit-transform:translate3d(-50%,-50%,0) scale(1.2);opacity:1}70%{transform:translate3d(-50%,-50%,0) scale(1);-webkit-transform:translate3d(-50%,-50%,0) scale(1);opacity:1}to{transform:translate3d(-50%,-50%,0) scale(1);-webkit-transform:translate3d(-50%,-50%,0) scale(1);opacity:0}}.menu-item-name{font-weight:600;font-size:.95rem;color:var(--ion-color-dark);position:relative;z-index:2}.menu-item-price{font-weight:600;color:var(--ion-color-primary);font-size:1rem;position:relative;z-index:2}.menu-item-description{font-size:.8rem;color:var(--ion-color-medium);margin-top:4px}.menu-item-dietary{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:4px;position:relative;z-index:2}.order-items-list{padding:8px;flex:1;overflow-y:auto}.order-category-group{margin-bottom:16px}.order-category-group:last-child{margin-bottom:0}.order-category-header{margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--ion-color-primary)}.order-category-header h3{margin:0;font-size:.9rem;font-weight:600;color:var(--ion-color-primary);text-transform:uppercase;letter-spacing:.5px}.order-item-row{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--ion-color-light-shade)}.order-item-row:last-child{border-bottom:none}.order-item-content{width:100%;display:flex;flex-direction:column;gap:4px}.order-item-header{display:flex;justify-content:space-between;align-items:center}.order-item-name{font-weight:600;color:var(--ion-color-dark)}.order-item-price{font-weight:600;color:var(--ion-color-primary)}.order-item-controls{display:flex;align-items:center;gap:4px}.order-item-controls .quantity{min-width:30px;text-align:center;font-weight:600}.item-notes{margin-top:4px;font-size:.85rem;--padding-start: 8px;--padding-end: 8px;--padding-top: 8px;--padding-bottom: 8px}.order-total{margin-top:auto;padding:16px;border-top:1px solid var(--ion-color-medium);text-align:right;font-size:1.1rem;color:var(--ion-color-dark);background:var(--ion-background-color)}.notes-section{margin-top:16px}.notes-modal{--width: 90%;--max-width: 500px}.notes-modal::part(backdrop){background:#0006}.notes-modal::part(content){border:3px solid var(--ion-color-primary);border-radius:8px;box-shadow:0 4px 16px #0000004d}.notes-modal-content{padding:16px;background:#fff;display:flex;flex-direction:column;min-height:200px}.notes-modal ion-content{--background: white}.notes-textarea-item{--background: white;margin-bottom:16px}.notes-modal-buttons{display:flex;gap:8px;margin-top:0}.notes-toggle{--padding-start: 0;--padding-end: 0;margin:0;width:100%;justify-content:flex-start}.notes-toggle ion-label{margin-left:8px;font-weight:500}.notes-input-item{margin-top:8px;--padding-start: 0;--padding-end: 0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.order-actions{margin-top:24px;display:flex;flex-direction:column;gap:12px}.order-actions ion-button{margin:0}.order-editor-modal ion-fab{margin-bottom:20px;margin-right:20px}.order-editor-modal ion-fab-button{--size: 56px}.order-editor-modal ion-fab-list ion-fab-button{--size: 48px;margin-bottom:8px}.order-editor-modal ion-fab-list ion-fab-button ion-icon{font-size:1.5rem}.orders-bottom-nav{display:flex;justify-content:space-around;align-items:center;background:var(--ion-background-color);border-top:1px solid var(--ion-color-light-shade);padding:8px 0;padding-bottom:calc(28px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;width:100%;z-index:100;box-shadow:0 -2px 8px #0000001a}.orders-bottom-nav .nav-button{flex:1;margin:0 4px;min-height:56px;--padding-start: 0;--padding-end: 0;position:relative}.nav-button-content{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;width:100%}.orders-bottom-nav ion-icon{font-size:1.5rem}.orders-bottom-nav ion-label{font-size:.75rem;margin:0}.nav-badge{position:absolute;top:-4px;right:calc(50% - 20px);font-size:.7rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;line-height:1}.order-paid-confirmation-modal{--width: 90%;--max-width: 500px}.order-paid-confirmation-content{--background: white;padding:16px}.confirmation-message{text-align:center;padding:20px 0}.confirmation-message p{margin-bottom:24px;font-size:16px}.warning-message{padding:20px 0}.warning-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.warning-header h2{margin-top:12px;color:var(--ion-color-warning);font-size:20px;font-weight:600}.warning-message>p{margin-bottom:20px;color:var(--ion-color-dark)}.unserved-items{margin:20px 0;background:var(--ion-color-light);border-radius:8px;padding:12px}.unserved-items h3{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--ion-color-dark)}.confirmation-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.order-confirm-confirmation-modal{--width: 90%;--max-width: 500px}.order-confirm-confirmation-modal ion-toolbar{position:relative}.order-confirm-confirmation-modal ion-toolbar ion-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0;pointer-events:none;margin:0}.confirmation-content{display:flex;flex-direction:column;gap:4px}.confirmation-header{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin-bottom:0;padding-bottom:4px}.confirmation-header ion-icon{margin-bottom:0;font-size:2rem}.confirmation-header h2{margin:0;font-size:1.2rem;font-weight:600;line-height:1.2}.confirmation-message{text-align:center;font-size:.9rem;color:var(--ion-color-medium);margin:0;line-height:1.3;padding:0 4px}.order-summary-inline{display:flex;align-items:center;gap:6px;margin:4px 0;justify-content:center;flex-wrap:wrap}.order-summary-inline ion-chip{margin:0;font-size:.85rem;height:26px}.order-items-list{display:flex;flex-direction:column;gap:8px;margin:4px 0}.order-items-category-group{display:flex;flex-direction:column;gap:8px}.order-items-category-group:not(:last-child){margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid var(--ion-color-light-shade)}.order-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--ion-color-light);border-radius:6px;flex-wrap:wrap}.order-item-category-icon{font-size:1.1rem;flex-shrink:0;margin-right:4px}.order-item-icon-danger{color:var(--ion-color-danger)}.order-item-icon-warning{color:var(--ion-color-warning)}.order-item-icon-success{color:var(--ion-color-success)}.order-item-icon-primary{color:var(--ion-color-primary)}.order-item-name{flex:1;min-width:0;font-size:.9rem;color:var(--ion-color-dark);font-weight:500}.order-item-quantity{font-size:.85rem;color:var(--ion-color-medium);font-weight:600;min-width:30px;text-align:center}.order-item-price{font-size:.95rem;color:var(--ion-color-dark);font-weight:600;min-width:80px;text-align:right}.item-note-chip{margin:4px 0 0;font-size:.75rem;height:22px;flex:1 1 100%;justify-content:flex-start}.item-note-chip ion-icon{font-size:.9rem;margin-right:4px}.general-note-chip{margin:4px 0 0;font-size:.85rem;height:28px;width:100%;justify-content:flex-start}.general-note-chip ion-icon{font-size:1rem;margin-right:4px}.confirmation-buttons{display:flex;flex-direction:column;gap:4px;margin-top:4px}.confirmation-buttons ion-button{margin:0;--border-radius: 6px;height:40px;font-weight:600;font-size:.95rem}@media(max-width:768px){.order-confirm-confirmation-modal{--width: 100%}.confirmation-header h2{font-size:1.3rem}.order-details{padding:12px}}.order-not-owned-warning-modal{--width: 90%;--max-width: 400px}.warning-content{display:flex;flex-direction:column;gap:16px;text-align:center}.warning-header{display:flex;flex-direction:column;align-items:center;gap:12px}.warning-header h2{margin:0;font-size:1.3rem;font-weight:600;color:var(--ion-color-warning)}.warning-message{font-size:.95rem;color:var(--ion-color-dark);line-height:1.5;margin:0}.warning-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.warning-buttons ion-button{margin:0;--border-radius: 8px;height:44px;font-weight:600}@media(max-width:768px){.order-not-owned-warning-modal{--width: 100%}.warning-header h2{font-size:1.1rem}.warning-message{font-size:.9rem}}.orders-container{padding:0;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.search-section{padding:8px 16px;background:var(--ion-background-color)}.status-filter-section{padding:8px 16px;background:var(--ion-background-color);border-bottom:1px solid var(--ion-color-light-shade)}.status-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-bottom:8px}.status-filter-chips ion-chip{cursor:pointer;margin:0}.empty-state{text-align:center;padding:48px 16px;color:var(--ion-color-medium)}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px;margin-bottom:24px}.table-card-button{--border-radius: 12px;--border-width: 2px;--border-color: var(--ion-color-medium);--background: var(--ion-color-light);--color: var(--ion-color-dark);min-height:90px;margin:0;height:auto;text-transform:none}.table-card-button:hover{--border-color: var(--ion-color-primary);transform:scale(1.02)}.table-card-button.has-orders{--border-color: var(--ion-color-primary);--background: var(--ion-color-primary-tint)}.table-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%}.table-number{font-size:1rem;font-weight:600;color:var(--ion-color-dark);line-height:1.2}.table-capacity{font-size:.85rem;color:var(--ion-color-medium);font-weight:500;line-height:1.2}.order-count{margin-top:4px;font-size:.75rem}.order-count ion-badge{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;aspect-ratio:1}.orders-list{margin-top:24px;padding:0 16px}.orders-list h2{margin:0 0 16px;font-size:1.3rem;color:var(--ion-color-dark)}.orders-list-compact{padding:8px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:768px){.orders-list-compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.orders-list-compact{grid-template-columns:1fr}}.table-orders-section{margin-bottom:24px}.table-orders-section h3{margin:0 0 12px;font-size:1.1rem;color:var(--ion-color-dark);font-weight:600}.tables-grid{padding:16px}.expo-selection{padding:24px;height:100%;display:flex;align-items:center;justify-content:center}.expo-option-card{height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.expo-option-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.expo-option-card ion-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.expo-option-card ion-icon{color:var(--ion-color-primary);font-size:4rem}.expo-option-card h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-color-dark)}.expo-selection ion-col{display:flex;align-items:center;justify-content:center}.expo-order-card{margin-bottom:16px;border-left:4px solid var(--ion-color-medium)}.expo-order-card.expo-order-card--priority,ion-card.expo-order-card.expo-order-card--priority{border-top-width:8px!important;border-top-style:solid!important;border-top-color:#ff9500!important;border-left-width:1px!important;border-left-style:solid!important;border-left-color:#ff9500!important;border-right-width:1px!important;border-right-style:solid!important;border-right-color:#ff9500!important;border-bottom-width:1px!important;border-bottom-style:solid!important;border-bottom-color:#ff9500!important}.expo-order-card--needs_action,ion-card.expo-order-card.expo-order-card--needs_action{border-left-color:var(--ion-color-primary)}.expo-order-card--in_progress,ion-card.expo-order-card.expo-order-card--in_progress{border-left-color:var(--ion-color-warning)}.expo-order-card--ready,ion-card.expo-order-card.expo-order-card--ready{border-left-color:var(--ion-color-success)}.expo-order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.expo-order-title{display:flex;align-items:center;gap:8px}.expo-order-title h3{margin:0;font-size:1.2rem;font-weight:700}.expo-new-badge{font-size:.7rem;font-weight:700;padding:2px 6px}.expo-order-meta{display:flex;align-items:center;gap:12px}.expo-order-timer{display:flex;align-items:center;gap:4px;font-size:.9rem;color:var(--ion-color-medium)}.expo-order-timer ion-icon{font-size:1rem}.expo-order-notes{margin-bottom:12px}.expo-next-category-indicator{margin-bottom:12px;padding:8px;background:var(--ion-color-primary-tint);border-radius:8px;border-left:3px solid var(--ion-color-primary)}.expo-next-category-indicator ion-chip{margin:0}.expo-timing-info{font-size:.85rem;opacity:.8}.expo-courses{display:flex;flex-direction:column;gap:12px}.expo-course{padding:12px;background:var(--ion-color-light);border-radius:8px;transition:all .2s ease}.expo-course--next{background:var(--ion-color-light);border:2px solid var(--ion-color-primary);box-shadow:0 2px 8px rgba(var(--ion-color-primary-rgb),.2)}.expo-next-badge{font-size:.7rem;font-weight:700;padding:2px 6px;margin-left:8px}.expo-course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.expo-course-name{display:flex;flex-direction:column;gap:4px;flex:1}.expo-course-name strong{font-size:1rem;color:var(--ion-color-dark)}.expo-course-sequence{font-weight:600;color:var(--ion-color-primary);min-width:24px}.expo-course-meta{display:flex;flex-direction:column;gap:4px;margin-top:4px}.expo-course-count{font-size:.85rem;color:var(--ion-color-medium)}.expo-course-timing{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-medium)}.expo-course-timing ion-icon{font-size:.9rem}.expo-completed-badge{font-size:.7rem;font-weight:700;padding:2px 6px;margin-left:8px}.expo-course--completed{opacity:.6;background:var(--ion-color-light-shade)}.expo-course-items{display:flex;flex-direction:column;gap:8px}.expo-course-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#fff;border-radius:6px;transition:all .3s ease}.expo-course-item--new{animation:highlightNewItem 5s ease-out}@keyframes highlightNewItem{0%{background:#ffeb3b;transform:scale(1.05);box-shadow:0 0 10px #ffeb3bcc}10%{background:#fff176;transform:scale(1.03);box-shadow:0 0 8px #ffeb3b99}20%{background:#ffeb3b;transform:scale(1.05);box-shadow:0 0 10px #ffeb3bcc}30%{background:#fff176;transform:scale(1.03);box-shadow:0 0 8px #ffeb3b99}40%{background:#ffeb3b;transform:scale(1.04);box-shadow:0 0 9px #ffeb3bb3}50%{background:#fff9c4;transform:scale(1.02);box-shadow:0 0 6px #ffeb3b80}60%{background:#fff59d;transform:scale(1.01);box-shadow:0 0 4px #ffeb3b66}70%{background:#fff9c4;transform:scale(1.01);box-shadow:0 0 3px #ffeb3b4d}80%{background:#fffde7;transform:scale(1.005);box-shadow:0 0 2px #ffeb3b33}90%{background:#fffef5;transform:scale(1.002);box-shadow:0 0 1px #ffeb3b1a}to{background:#fff;transform:scale(1);box-shadow:none}}.expo-new-item-badge{font-size:.65rem;font-weight:700;padding:2px 5px;margin-left:6px}.expo-item-info{display:flex;align-items:center;gap:8px;flex:1}.expo-item-quantity{font-weight:600;color:var(--ion-color-dark);min-width:30px}.expo-item-name{flex:1;color:var(--ion-color-dark)}.expo-item-actions{display:flex;gap:4px}.expo-order-actions{margin-top:16px;padding-top:12px;border-top:1px solid var(--ion-color-light-shade)}.expo-notes-confirmation-content{padding:1rem}.expo-notes-confirmation-header{text-align:center;margin-bottom:2rem;padding:1rem 0}.expo-notes-confirmation-header ion-icon{margin-bottom:1rem}.expo-notes-confirmation-header h2{margin:0;font-size:1.2rem;font-weight:600}.expo-notes-list{margin-bottom:2rem}.expo-notes-item{--padding-start: 0;--inner-padding-end: 0;margin-bottom:1rem}.expo-notes-item-header{margin-bottom:.5rem}.expo-notes-item-name{font-weight:600;font-size:1rem}.expo-notes-item-note{margin-top:.5rem}.expo-notes-confirmation-actions{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem 1rem}.expo-food-page{height:100%}.expo-drinks-page{height:100%}.expo-segment-content{padding:16px;min-height:calc(100vh - 200px)}.expo-segment-view{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;justify-items:center}@media(max-width:768px){.expo-segment-view{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.expo-segment-view{grid-template-columns:1fr}}.expo-segment-view>*{width:100%;max-width:100%}.expo-segment-view p{margin:0;color:var(--ion-color-medium)}.expo-empty-state{text-align:center;padding:32px 16px;color:var(--ion-color-medium);font-size:.9rem}.expo-empty-state p{margin:0}.payments-loading{display:flex;justify-content:center;align-items:center;height:100%;padding:32px}.empty-module{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:32px;text-align:center}.empty-module h2{margin:0 0 16px;color:var(--ion-color-dark)}.empty-module p{margin:0;color:var(--ion-color-medium)}.payments-container{padding:16px;max-width:1200px;margin:0 auto}.payment-header{--padding-start: 16px;--padding-end: 16px;--min-height: 80px}.payment-method-icon{margin-right:12px;font-size:24px;color:var(--ion-color-primary)}.payment-header-content{display:flex;flex-direction:column;width:100%;gap:8px}.payment-header-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-amount{font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.payment-status-chip{margin:0}.payment-header-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--ion-color-medium)}.payment-method{display:flex;align-items:center;gap:4px}.payment-date{font-size:.875rem}.payment-details{padding:16px;background:#fff}.payment-detail-section{margin-bottom:24px}.payment-detail-section:last-child{margin-bottom:0}.payment-detail-section h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--ion-color-dark);border-bottom:1px solid var(--ion-color-medium);padding-bottom:8px;text-align:left}.payment-detail-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:12px}.detail-label{font-weight:500;color:var(--ion-color-medium);font-size:.875rem}.detail-value{color:var(--ion-color-dark);font-size:.875rem;text-align:right;flex:1}.order-items-list{display:flex;flex-direction:column;gap:8px;text-align:left}.order-item-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ion-color-light-shade);border-radius:4px;gap:12px}.order-item-main{display:flex;align-items:center;gap:8px;flex:1}.order-item-name{color:var(--ion-color-dark);font-size:.875rem}.order-item-quantity{color:var(--ion-color-medium);font-size:.75rem;background:var(--ion-color-light);padding:2px 6px;border-radius:4px}.order-item-price{color:var(--ion-color-dark);font-weight:500;font-size:.875rem}.provider-data{background:var(--ion-color-light-shade);padding:12px;border-radius:4px;font-size:.75rem;overflow-x:auto;margin:0;color:var(--ion-color-dark);font-family:Courier New,monospace}@media(max-width:768px){.payments-container{padding:8px}.payment-header-main,.payment-header-meta,.payment-detail-row{flex-direction:column;align-items:flex-start}.detail-value{text-align:left}}.segment-builder{width:100%}.accordion-content{padding:8px 16px}.accordion-content ion-item{--padding-start: 0;--inner-padding-end: 0}.campaign-stats{width:100%}.stat-box{text-align:center;padding:16px;background:var(--ion-color-light);border-radius:8px;height:100%}.stat-icon{font-size:32px;color:var(--ion-color-primary);margin-bottom:8px}.stat-icon-success{color:var(--ion-color-success)}.stat-icon-danger{color:var(--ion-color-danger)}.stat-value{font-size:24px;font-weight:700;margin:8px 0}.stat-label{font-size:12px;color:var(--ion-color-medium);text-transform:uppercase}.stats-breakdown{margin-top:16px;padding:16px;background:var(--ion-color-light);border-radius:8px}.stats-breakdown h4{margin-top:0;margin-bottom:12px;font-size:16px;font-weight:600}.breakdown-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--ion-color-medium-tint)}.breakdown-item:last-child{border-bottom:none}.breakdown-item span{color:var(--ion-color-medium)}.breakdown-item strong{color:var(--ion-color-dark)}.campaign-editor-form{padding:16px}.campaign-editor-form ion-item{margin-bottom:16px}.marketing-page-container{padding:16px}.campaign-card{margin-bottom:16px}.campaign-card ion-card-header{padding-bottom:8px}.campaign-card ion-card-content{padding-top:0}.campaign-card .action-buttons{display:flex;gap:4px;align-items:center;flex-shrink:0}.campaign-card .action-buttons ion-button{--padding-start: 8px;--padding-end: 8px;min-width:36px;height:36px}.customer-detail-container{padding:16px}.customer-detail-container ion-card{margin-bottom:16px}.customers-page-container{padding:16px}.customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}@media(min-width:768px){.customers-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}}@media(min-width:1024px){.customers-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}}.customer-card{margin:0;height:100%;display:flex;flex-direction:column}.customer-card ion-card-header{padding-bottom:8px;flex-shrink:0}.customer-card ion-card-content{padding-top:0;flex-grow:1;display:flex;flex-direction:column}.customer-card ion-chip ion-icon{margin-right:6px;margin-left:0}.dashboard-content{padding:1rem;width:100%}.dashboard-container{padding:0;width:100%;max-width:100%;box-sizing:border-box}@media(max-width:767px){.dashboard-content{padding:.5rem}}@media(min-width:768px){.dashboard-content{padding:1.5rem}}@media(min-width:1024px){.dashboard-content{padding:2rem}.dashboard-container{max-width:1200px;margin:0 auto}}.dashboard-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:8px 0}.dashboard-filters ion-chip{cursor:pointer;transition:all .2s;font-weight:500;box-shadow:0 2px 4px #0000001a}.dashboard-filters ion-chip:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.dashboard-filters ion-chip.dashboard-filter-chip{font-weight:500}.dashboard-filters ion-chip.dashboard-filter-chip.inactive{--background: var(--ion-color-light);--color: var(--ion-color-medium)}.dashboard-filters ion-chip.dashboard-filter-chip.active[color=success]::part(native){background:var(--ion-color-success)!important;color:var(--ion-color-success-contrast)!important}.dashboard-filters ion-chip.dashboard-filter-chip.active[color=tertiary]::part(native){background:var(--ion-color-tertiary)!important;color:var(--ion-color-tertiary-contrast)!important}.dashboard-filters ion-chip.dashboard-filter-chip.active[color=warning]::part(native){background:var(--ion-color-warning)!important;color:var(--ion-color-warning-contrast)!important}.dashboard-filters ion-chip.dashboard-filter-chip.active[color=primary]::part(native){background:var(--ion-color-primary)!important;color:var(--ion-color-primary-contrast)!important}.dashboard-masonry-grid{display:flex;width:100%;gap:8px;margin-bottom:24px}.dashboard-masonry-column{background-clip:padding-box;display:flex;flex-direction:column;gap:8px}.dashboard-grid-sortable{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:24px}.sortable-dashboard-card{position:relative;break-inside:avoid;page-break-inside:avoid;margin-bottom:0}.sortable-dashboard-card .drag-handle{position:absolute;top:8px;right:8px;z-index:10;cursor:grab;padding:4px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.sortable-dashboard-card .expand-handle{position:absolute;top:8px;right:40px;z-index:10;cursor:pointer;padding:4px;background:#ffffffe6;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.sortable-dashboard-card:hover .expand-handle{opacity:1}.sortable-dashboard-card .expand-handle:active{opacity:.8}.sortable-dashboard-card:hover .drag-handle{opacity:1}.sortable-dashboard-card .drag-handle:active{cursor:grabbing}.sortable-dashboard-card ion-card{margin:0;box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:auto}.sortable-dashboard-card ion-card-content{transition:opacity .2s ease-in-out;overflow:hidden}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px}.stat-item{text-align:center;padding:16px;background:var(--ion-color-light);border-radius:8px}.stat-value{font-size:24px;font-weight:700;color:var(--ion-color-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--ion-color-medium);text-transform:uppercase;letter-spacing:.5px}.dashboard-list{display:flex;flex-direction:column;gap:8px}@media(min-width:768px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-container{max-width:1200px;margin:0 auto}}.change-password-container{max-width:500px;margin:0 auto;padding:20px}.change-password-container h1{margin-bottom:10px}.change-password-container p{margin-bottom:20px}.password-errors{margin:20px 0;padding:15px;background-color:#ffebee;border-radius:8px;border-left:4px solid #d32f2f}.password-errors ul{margin:10px 0 0;padding-left:20px}.password-errors li{margin-bottom:5px}.change-password-actions{margin-top:30px}.change-password-actions ion-button{margin-top:10px}.password-input-wrapper{position:relative;margin-bottom:16px}.password-toggle-button{position:absolute;right:8px;top:32px;--padding-start: 4px;--padding-end: 4px;height:32px;width:32px;z-index:10}.my-shifts-page{height:100%;width:100%}.my-shifts-page ion-content{--padding-start: 0;--padding-end: 0;width:100%;max-width:100%}.view-mode-toggle{padding:16px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-light-shade);width:100%;max-width:100%;box-sizing:border-box}.shifts-list-container{padding:16px;display:flex;flex-direction:column;gap:24px;width:100%!important;max-width:100%!important;box-sizing:border-box;margin:0}.shifts-date-group{display:grid!important;grid-template-columns:1fr;gap:12px;width:100%!important;max-width:100%!important;box-sizing:border-box;margin:0;padding:0}@media(min-width:480px){.shifts-date-group{grid-template-columns:repeat(2,1fr)!important}}@media(min-width:1024px){.shifts-date-group{grid-template-columns:repeat(3,1fr)!important}}.shift-date-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid var(--ion-color-light-shade)}.shift-date-text{flex:1}.shift-date-title{margin:0;font-size:1.4rem;font-weight:700;color:var(--ion-color-dark);line-height:1.3;letter-spacing:-.01em}.today-chip{font-size:.75rem;height:22px}.shift-card{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:100%;display:flex;flex-direction:column}.shift-card-rejected{border-left:4px solid var(--ion-color-danger);background:linear-gradient(to right,rgba(var(--ion-color-danger-rgb),.1),transparent)}.shift-card ion-card-content{padding:10px 12px!important;--padding-top: 10px !important;--padding-bottom: 10px !important;--padding-start: 12px !important;--padding-end: 12px !important;flex:1;display:flex;flex-direction:column}.shift-card-content{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;flex:1}.shift-time-section,.shift-role-section{display:flex;align-items:center;gap:8px;margin:0;padding:0}.shift-time-section{margin-bottom:0}.shift-role-section{margin-top:0}.shift-icon{font-size:18px;color:var(--ion-color-primary);flex-shrink:0}.shift-time{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark);line-height:1.2;margin:0;padding:0}.shift-duration{font-size:.85rem;color:var(--ion-color-medium);margin-top:2px}.shift-role-section span{font-size:.95rem;color:var(--ion-color-dark);line-height:1.2;margin:0;padding:0}.signup-chip{font-size:.75rem;height:24px;align-self:flex-start}.shift-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;flex-wrap:wrap}.switch-chip{font-size:.75rem}.switch-button{--padding-start: 8px;--padding-end: 8px;font-size:.85rem;height:32px}.calendar-view-container{padding:16px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header h3{margin:0;font-size:1.1rem;font-weight:600}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--ion-color-medium);padding:8px 4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:24px}.calendar-day{aspect-ratio:1;border:1px solid var(--ion-color-light-shade);border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:all .2s;background:var(--ion-color-light);position:relative;min-height:50px}.calendar-day.other-month{opacity:.3}.calendar-day.today{border:2px solid var(--ion-color-primary);background:rgba(var(--ion-color-primary-rgb),.1)}.calendar-day.selected{background:rgba(var(--ion-color-primary-rgb),.2);border-color:var(--ion-color-primary)}.calendar-day.has-shifts{background:rgba(var(--ion-color-success-rgb),.15);border-color:var(--ion-color-success)}.calendar-day.has-shifts.today{background:rgba(var(--ion-color-primary-rgb),.2)}.day-number{font-size:.9rem;font-weight:600;color:var(--ion-color-dark)}.shifts-indicator{margin-top:auto;width:100%;display:flex;justify-content:center}.shifts-count{background:#28a745!important;color:#fff!important;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;box-shadow:0 2px 6px #0000004d;border:2px solid white;min-width:24px;min-height:24px}.selected-date-shifts{margin-top:24px;padding-top:24px;border-top:1px solid var(--ion-color-light-shade);display:flex;flex-direction:column;gap:12px}.selected-date-shifts .shift-card{margin-bottom:12px}@media(max-width:767px){.view-mode-toggle{padding:12px}.shifts-list-container{padding:12px;gap:20px}.shift-card{border-radius:8px}.calendar-view-container{padding:12px}.calendar-weekdays{gap:2px}.weekday{font-size:.7rem;padding:6px 2px}.calendar-grid{gap:2px}.calendar-day{padding:6px 2px;min-height:45px}.day-number{font-size:.85rem}.shifts-count{width:22px;height:22px;font-size:.75rem;font-weight:700;min-width:22px;min-height:22px}}@media(min-width:768px){.calendar-view-container{max-width:600px;margin:0 auto}.calendar-day{min-height:60px;padding:10px 6px}.day-number{font-size:1rem}}.available-shifts-filters{padding:16px;background:var(--ion-color-light);border-bottom:1px solid var(--ion-color-light-shade)}.filter-row{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%}@media(min-width:768px){.filter-row{flex-direction:row;flex-wrap:wrap}.filter-row ion-item{flex:1;min-width:200px}}.filter-row ion-item{--padding-start: 0;--padding-end: 0;--inner-padding-end: 0}.loading-container{display:flex;justify-content:center;align-items:center;height:50vh}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--ion-color-medium)}.empty-state p{margin:8px 0;font-size:1rem}.available-shifts-list{padding:16px;display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.available-shifts-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.available-shifts-list{grid-template-columns:repeat(3,1fr)}}.shift-card{margin:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;border-left:4px solid var(--ion-color-medium);height:100%;display:flex;flex-direction:column}.shift-card ion-card-content{flex:1;display:flex;flex-direction:column}.shift-card:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.shift-card-available{border-left-color:var(--ion-color-success);background:linear-gradient(to right,rgba(45,211,111,.05),transparent)}.shift-card-almost-full{border-left-color:var(--ion-color-warning);background:linear-gradient(to right,rgba(255,196,9,.05),transparent)}.shift-card-deadline-soon{border-left-color:var(--ion-color-warning);background:linear-gradient(to right,rgba(255,196,9,.1),transparent)}.shift-card-full,.shift-card-deadline-passed{border-left-color:var(--ion-color-danger);opacity:.7}.shift-card-signed-up{border-left-color:var(--ion-color-primary);background:linear-gradient(to right,rgba(56,128,255,.05),transparent)}.shift-card-rejected{border-left-color:var(--ion-color-danger)!important;background:linear-gradient(to right,rgba(237,68,78,.1),transparent)!important}.shift-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:12px}.shift-date-section{display:flex;align-items:center;gap:12px;flex:1}.shift-icon{font-size:24px;color:var(--ion-color-primary);flex-shrink:0}.shift-date{margin:0;font-size:1.5rem;font-weight:700;color:var(--ion-color-dark);line-height:1.2}.shift-date-full{margin:4px 0 0;font-size:.9rem;color:var(--ion-color-medium)}.status-chip{font-weight:600;font-size:.85rem;flex-shrink:0}.shift-time-section,.shift-role-section{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0;position:relative}.shift-time{font-size:1.2rem;font-weight:600;color:var(--ion-color-dark)}.shift-role{font-size:1rem;font-weight:500;color:var(--ion-color-dark)}.shift-info-section{margin:16px 0;padding:12px;background:var(--ion-color-light);border-radius:8px;display:flex;flex-direction:column;gap:8px}.shift-spots,.shift-deadline,.shift-notes{font-size:.9rem;color:var(--ion-color-dark)}.shift-notes{font-style:italic;color:var(--ion-color-medium)}.shift-action-section{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:8px}.signup-button{--padding-top: 16px;--padding-bottom: 16px;font-weight:600;font-size:1rem;min-height:48px}.signup-status-chip{font-weight:600;margin-bottom:8px}.cancel-signup-button{--padding-top: 12px;--padding-bottom: 12px;min-height:40px}@media(max-width:768px){.shift-card-header{flex-direction:column;align-items:flex-start}.status-chip{align-self:flex-start}.filter-row{gap:8px}}
