.language-selector{position:relative}.lang-btn{background:none;border:1px solid rgba(255,255,255,.3);color:var(--text-inverse);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-family-fallback)}.lang-btn:hover{background-color:#ffffff1a}.globe-icon{transition:transform var(--transition-base)}.globe-icon.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:120px;z-index:var(--z-dropdown)}.dropdown-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;color:var(--text-primary);font-family:var(--font-family-fallback)}.dropdown-item:hover{background-color:var(--bg-secondary)}.dropdown-item.active{background-color:var(--color-primary-lighter);color:var(--color-primary-dark)}.check-icon{color:var(--color-primary);font-weight:var(--font-weight-bold)}.mock-mode-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);color:var(--text-inverse);font-family:var(--font-family-fallback)}.mock-mode-toggle:hover{background-color:#ffffff26;border-color:var(--color-primary)}.mock-mode-toggle.mock-active{background-color:#cda37833;border-color:var(--color-primary);color:var(--color-primary-light)}.mock-mode-toggle.mock-active:hover{background-color:#cda3784d;border-color:var(--color-primary-light)}.mode-text{font-size:var(--font-size-xs);white-space:nowrap}.mock-mode-toggle svg{width:1rem;height:1rem}@media(max-width:768px){.mode-text{display:none}.mock-mode-toggle{padding:var(--spacing-xs) var(--spacing-sm)}}.modal-overlay{position:fixed;inset:0;background-color:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-md)}.modal-container{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-xl);padding:var(--spacing-xs)}.modal-content{padding:var(--spacing-xl)}.modal-icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.modal-icon{font-size:var(--font-size-4xl)}.modal-title{text-align:center;margin:0 0 var(--spacing-md);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-body{margin-bottom:var(--spacing-lg)}.modal-message{text-align:center;color:var(--text-secondary);line-height:var(--line-height-relaxed)}.modal-footer{display:flex;gap:var(--spacing-md);justify-content:center}.modal-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);font-family:var(--font-family-fallback)}.modal-btn-confirm{background-color:var(--color-primary);color:var(--text-inverse)}.modal-btn-confirm:hover{background-color:var(--color-primary-dark)}.modal-btn-danger{background-color:var(--color-error-light);color:var(--text-inverse)}.modal-btn-danger:hover{background-color:var(--color-error)}.modal-btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary)}.modal-btn-cancel:hover{background-color:var(--color-gray-300)}.modal-enter-active,.modal-leave-active{transition:opacity var(--transition-base)}.modal-enter-from,.modal-leave-to{opacity:0}.navbar{background-color:var(--bg-dark);color:var(--text-inverse);padding:var(--spacing-md) 0;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:var(--z-sticky)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;width:100%}.navbar-brand a{color:var(--text-inverse);text-decoration:none;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-primary),var(--font-family-fallback);white-space:nowrap}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.navbar-item{color:var(--text-inverse);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-family-fallback);transition:background-color var(--transition-base);white-space:nowrap}.navbar-item:hover{background-color:#ffffff1a}.navbar-item.router-link-active{background-color:var(--color-primary);color:var(--text-inverse)}.navbar-user{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;position:relative}.user-initial-btn{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.user-initial{width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);color:var(--text-inverse);font-family:var(--font-family-fallback);flex-shrink:0}.user-dropdown{position:absolute;display:flex;flex-direction:column;padding:var(--spacing-sm);top:calc(100% + var(--spacing-xs));right:0;background-color:var(--bg-dark);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:var(--z-dropdown)}.user-dropdown-section .lang-btn{width:100%;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.user-dropdown-divider{height:1px;background-color:#fff3;margin:var(--spacing-sm) 0}.logout-btn-dropdown{width:100%;text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-radius:0;background-color:transparent;border:none;color:var(--text-inverse);cursor:pointer;font-family:var(--font-family-fallback)}.logout-btn-dropdown:hover{background-color:var(--color-error)}.logout-btn-mobile{display:none}.logout-btn{background-color:#ffffff1a;color:var(--text-inverse);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-family:var(--font-family-fallback)}.logout-btn:hover{background-color:var(--color-error)}.hamburger-btn{display:none;background:none;border:none;color:var(--text-inverse);cursor:pointer;padding:var(--spacing-sm)}.hamburger-icon{width:24px;height:24px}@media screen and (max-width:768px){.navbar-menu{display:none}.navbar-menu.mobile-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--bg-dark);flex-direction:column;padding:var(--spacing-md)}.hamburger-btn{display:flex}}.bottom-bar{display:none}@media screen and (max-width:768px){.bottom-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;padding-bottom:env(safe-area-inset-bottom,0);background-color:var(--bg-dark);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -2px 10px #00000026;z-index:var(--z-fixed);align-items:stretch;justify-content:space-around}.bottom-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);min-width:0;color:#ffffffbf;text-decoration:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:color var(--transition-fast),background-color var(--transition-fast)}.bottom-bar-item:hover,.bottom-bar-item.router-link-active{color:var(--color-primary)}.bottom-bar-icon{width:22px;height:22px}.bottom-bar-label{display:none}}.footer{background-color:var(--bg-dark);color:var(--text-inverse);padding:var(--spacing-lg) 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl);text-align:center}.footer-content p{margin:0;font-size:var(--font-size-sm);color:var(--text-inverse)}@media screen and (max-width:768px){.footer{margin-bottom:calc(56px + env(safe-area-inset-bottom,0))}}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;pointer-events:none}.toast-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);pointer-events:auto;cursor:pointer;border-left:4px solid;min-width:300px}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-error);background:var(--table-occupied-bg)}.toast.warning{border-left-color:var(--color-warning);background:var(--table-reserved-bg)}.toast.info{border-left-color:var(--color-info);background:var(--color-info-lighter)}.toast-content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.toast-icon{font-size:var(--font-size-lg);flex-shrink:0}.toast.success .toast-icon{color:var(--color-success)}.toast.error .toast-icon{color:var(--color-error)}.toast.warning .toast-icon{color:var(--color-warning)}.toast.info .toast-icon{color:var(--color-info)}.toast-message{font-size:var(--font-size-sm);color:var(--text-primary)}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);flex-shrink:0}.toast-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.toast-enter-active{animation:slideIn .3s ease}.toast-leave-active{animation:slideOut .2s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media(max-width:768px){.toast-container{left:var(--spacing-md);right:var(--spacing-md);max-width:none}.toast{min-width:auto;width:100%}}:root{--color-primary: #CDA378;--color-primary-dark: #B8905A;--color-primary-light: #E5C99A;--color-primary-lighter: #f5e4c837;--color-secondary-green: #0B4A04;--color-secondary-green-dark: #063301;--color-secondary-green-light: #0F6A07;--color-secondary-green-lighter: #1A8A0E;--color-secondary-red: #9B4345;--color-secondary-red-dark: #7A3436;--color-secondary-red-light: #B85A5C;--color-secondary-red-lighter: #D47A7C;--color-dark: #2A2A2A;--color-dark-light: #3A3A3A;--color-dark-lighter: #4A4A4A;--color-light: #FEE9C6;--color-light-dark: #F5D9A8;--color-light-darker: #E8C88A;--color-white: #FFFFFF;--color-gray-50: #FAFAFA;--color-gray-100: #F5F5F5;--color-gray-200: #EEEEEE;--color-gray-300: #E0E0E0;--color-gray-400: #BDBDBD;--color-gray-500: #9E9E9E;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-success: var(--color-secondary-green);--color-success-light: var(--color-secondary-green-light);--color-success-lighter: #12d64679;--color-error: var(--color-secondary-red);--color-error-light: var(--color-secondary-red-light);--color-error-lighter: var(--color-secondary-red-lighter);--color-warning: #F59E0B;--color-warning-light: #FBBF24;--color-warning-lighter: #FCD34D;--color-info: #3B82F6;--color-info-dark: #114fd4;--color-info-light: #60A5FA;--color-info-lighter: #ecf5fd;--table-free: #16A34A;--table-free-bg: #d1fae5;--table-reserved: #F59E0B;--table-reserved-bg: #fef3c7;--table-occupied: #EF4444;--table-occupied-bg: #fdecec;--bg-primary: var(--color-white);--bg-secondary: var(--color-gray-100);--bg-tertiary: var(--color-light);--bg-dark: var(--color-dark);--bg-overlay: rgba(42, 42, 42, .7);--text-primary: var(--color-dark);--text-secondary: var(--color-gray-700);--text-tertiary: var(--color-gray-500);--text-inverse: var(--color-white);--text-link: var(--color-primary);--text-link-hover: var(--color-primary-dark);--border-color: var(--color-gray-300);--border-color-light: var(--color-gray-200);--border-color-dark: var(--color-gray-400);--border-color-primary: var(--color-primary);--font-family-primary: "Gill Sans MT", "Gill Sans", "Trebuchet MS", Calibri, sans-serif;--font-family-fallback: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(42, 42, 42, .05);--shadow-md: 0 4px 6px -1px rgba(42, 42, 42, .1), 0 2px 4px -1px rgba(42, 42, 42, .06);--shadow-lg: 0 10px 15px -3px rgba(42, 42, 42, .1), 0 4px 6px -2px rgba(42, 42, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(42, 42, 42, .1), 0 10px 10px -5px rgba(42, 42, 42, .04);--shadow-inner: inset 0 2px 4px 0 rgba(42, 42, 42, .06);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary),var(--font-family-fallback);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);background-color:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh;display:flex;flex-direction:column;margin:0 auto}.main-content{flex:1;padding-top:0}@media screen and (max-width:768px){.main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0))}}
