:root{--primary-50: #e1f5fe;--primary-100: #b3e5fc;--primary-200: #81d4fa;--primary-300: #4fc3f7;--primary-400: #29b6f6;--primary-500: #03a9f4;--primary-600: #039be5;--primary-700: #0288d1;--primary-800: #0277bd;--primary-900: #01579b;--accent-50: #f3e5f5;--accent-100: #e1bee7;--accent-200: #ce93d8;--accent-300: #ba68c8;--accent-400: #ab47bc;--accent-500: #9c27b0;--accent-600: #8e24aa;--accent-700: #7b1fa2;--accent-800: #6a1b9a;--accent-900: #4a148c;--warn-50: #fff3e0;--warn-100: #ffe0b2;--warn-200: #ffcc80;--warn-300: #ffb74d;--warn-400: #ffa726;--warn-500: #ff9800;--warn-600: #fb8c00;--warn-700: #f57c00;--warn-800: #ef6c00;--warn-900: #e65100;--primary: var(--primary-500);--primary-light: var(--primary-300);--primary-dark: var(--primary-700);--accent: var(--accent-500);--accent-light: var(--accent-300);--accent-dark: var(--accent-700);--warn: var(--warn-500);--warn-light: var(--warn-300);--warn-dark: var(--warn-700);--background: #f8faff;--card-bg: rgba(255, 255, 255, .85);--text-color: #1e293b;--text-light: rgba(30, 41, 59, .65);--border-color: rgba(226, 232, 240, .8);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 10px 10px -5px rgba(0, 0, 0, .02);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--gradient-primary: linear-gradient(135deg, var(--primary-400), var(--primary-700));--gradient-accent: linear-gradient(135deg, var(--accent-400), var(--accent-700));--gradient-warn: linear-gradient(135deg, var(--warn-400), var(--warn-700));--gradient-cool: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-warm: linear-gradient(135deg, #f6d365 0%, #fda085 100%);--gradient-purple: linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem}.mat-datepicker-content{background-color:#fff!important;box-shadow:0 5px 15px #0003!important}.mat-datepicker-content .mat-datepicker-close-button,.mat-datepicker-content .mat-datepicker-actions,.mat-datepicker-content .mat-datepicker-actions button,.mat-datepicker-content .mat-mdc-datepicker-actions,.mat-datepicker-content .mat-calendar-actions,.mat-datepicker-content .mat-calendar-actions .mat-button-wrapper button{display:none!important}.mat-datepicker-content .mat-calendar{background-color:#fff!important}.mat-datepicker-content .mat-calendar-body-cell-content{color:var(--text-color)}.mat-datepicker-content .mat-calendar-body-selected{background-color:var(--primary)!important;color:#fff!important}.mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:var(--primary)!important}.mat-datepicker-content .mat-calendar-arrow{border-top-color:var(--primary)!important}.mat-datepicker-content .mat-calendar-table-header,.mat-datepicker-content .mat-calendar-body-label{color:var(--text-light)}.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-content .mat-calendar-next-button{color:var(--primary)}html,body{height:100%;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,var(--background),#ffffff);background-attachment:fixed;color:var(--text-color);line-height:1.5;letter-spacing:.01em;overflow-x:hidden}body{overflow:hidden}.mat-mdc-button.mat-primary{color:var(--primary)}.mat-mdc-raised-button.mat-primary{background:var(--gradient-primary);color:#fff}.mat-mdc-button.mat-accent{color:var(--accent)}.mat-mdc-raised-button.mat-accent{background:var(--gradient-accent);color:#fff}.mat-mdc-button.mat-warn{color:var(--warn)}.mat-mdc-raised-button.mat-warn{background:var(--gradient-warn);color:#fff}.mat-mdc-progress-bar.mat-primary .mdc-linear-progress__bar-inner{border-color:var(--primary)}.mat-mdc-progress-bar.mat-accent .mdc-linear-progress__bar-inner{border-color:var(--accent)}.mat-mdc-progress-bar.mat-warn .mdc-linear-progress__bar-inner{border-color:var(--warn)}.mat-mdc-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;transition:all var(--transition-normal);background:var(--card-bg)!important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--border-color);overflow:hidden}.mat-mdc-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity var(--transition-normal)}.mat-mdc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)!important}.mat-mdc-card:hover:before{opacity:1}.mat-mdc-button,.mat-mdc-raised-button,.mat-mdc-stroked-button{border-radius:var(--radius-md)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.5px!important;transition:all var(--transition-normal)!important;overflow:hidden!important;position:relative!important}.mat-mdc-button:after,.mat-mdc-raised-button:after,.mat-mdc-stroked-button:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background-color:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .5s}.mat-mdc-button:hover,.mat-mdc-raised-button:hover,.mat-mdc-stroked-button:hover{transform:translateY(-2px)}.mat-mdc-button:hover:after,.mat-mdc-raised-button:hover:after,.mat-mdc-stroked-button:hover:after{transform:translate(-50%,-50%) scale(2)}.mat-mdc-raised-button{box-shadow:var(--shadow-md)!important}.mat-mdc-raised-button:hover{box-shadow:var(--shadow-lg)!important}.mat-mdc-form-field{width:100%}.mat-mdc-form-field .mdc-text-field{border-radius:var(--radius-md)!important;background-color:#fff!important;transition:all var(--transition-normal)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important}.mat-mdc-form-field.mat-focused .mdc-text-field{box-shadow:0 0 0 2px #03a9f426!important;border-color:var(--primary-light)!important}.mat-mdc-table{background:transparent!important}.mat-mdc-table .mat-mdc-header-row{background:#fffc;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid var(--border-color)}.mat-mdc-table .mat-mdc-row{transition:all var(--transition-normal);border-bottom:1px solid rgba(226,232,240,.4)}.mat-mdc-table .mat-mdc-row:last-child{border-bottom:none}.mat-mdc-table .mat-mdc-row:hover{background-color:#f8faffe6}.mat-mdc-table .mat-mdc-header-cell{color:var(--text-color);font-weight:600;letter-spacing:.5px;font-size:var(--font-size-sm);text-transform:uppercase;padding:var(--spacing-md)}.mat-mdc-table .mat-mdc-cell{color:var(--text-color);font-size:var(--font-size-sm);padding:var(--spacing-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f8faffcc;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--primary-light),var(--primary));border-radius:var(--radius-sm);transition:background var(--transition-normal)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(to bottom,var(--primary),var(--primary-dark))}.fade-in{animation:fadeIn var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp var(--transition-normal)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn var(--transition-normal)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.text-gradient{background:var(--gradient-primary);background-clip:text;-webkit-background-clip:text;color:transparent}.text-gradient-cool{background:var(--gradient-cool);background-clip:text;-webkit-background-clip:text;color:transparent}.text-gradient-warm{background:var(--gradient-warm);background-clip:text;-webkit-background-clip:text;color:transparent}.text-gradient-purple{background:var(--gradient-purple);background-clip:text;-webkit-background-clip:text;color:transparent}.glass-card{background:#ffffffb3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.glass-button{background:#ffffff80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.glass-button:hover{background:#ffffffb3;box-shadow:var(--shadow-md)}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-xl)}.loading-container .loading-text{margin-top:var(--spacing-md);color:var(--text-light);font-size:var(--font-size-sm);animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.booking-ref{font-weight:600;color:var(--primary-dark);font-family:monospace;letter-spacing:.5px}.hotel-name{font-weight:500}.room-type{display:inline-block;padding:4px 8px;background:#03a9f41a;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--primary-dark)}.date-display{display:flex;flex-direction:column}.date-display .date{font-weight:500}.date-display .day-name{font-size:var(--font-size-xs);color:var(--text-light);margin-top:2px}.date-display .stay-duration{display:flex;align-items:center;font-size:var(--font-size-xs);color:var(--text-light);margin-top:4px}.date-display .stay-duration mat-icon{font-size:14px;height:14px;width:14px;margin-right:4px}.status-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:20px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition-normal)}.status-chip mat-icon{font-size:14px;height:14px;width:14px;margin-right:4px}.status-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}@media (max-width: 768px){.hotel-bookings-container{padding:var(--spacing-md)}.mat-mdc-header-row,.mat-mdc-row{padding:0}}.mat-mdc-menu-panel,.mat-mdc-menu-item{background-color:#fff!important}.mat-mdc-menu-item:hover{background-color:#6366f10a!important}.neo-brutalism{border:2px solid black;box-shadow:4px 4px #000;transition:all var(--transition-normal)}.neo-brutalism:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #000}.success-snackbar .mdc-snackbar__surface{background-color:#10b981e6!important;color:#fff!important;border-radius:8px!important;box-shadow:0 4px 12px #0000001a!important;border-left:4px solid rgb(16,185,129)!important}.success-snackbar .mat-mdc-button{color:#fff!important;font-size:18px!important;min-width:32px!important;padding:0 8px!important;height:32px!important;line-height:32px!important}.success-snackbar .mdc-snackbar__label{font-weight:500!important;letter-spacing:.3px!important}.error-snackbar .mdc-snackbar__surface{background-color:#ef4444e6!important;color:#fff!important;border-radius:8px!important;box-shadow:0 4px 12px #0000001a!important;border-left:4px solid rgb(239,68,68)!important}.error-snackbar .mat-mdc-button{color:#fff!important;font-size:18px!important;min-width:32px!important;padding:0 8px!important;height:32px!important;line-height:32px!important}.error-snackbar .mdc-snackbar__label{font-weight:500!important;letter-spacing:.3px!important}.room-type-dialog .mat-mdc-dialog-container{padding:0!important;overflow:hidden!important}.room-type-dialog .mdc-dialog__surface{overflow:hidden!important;background-color:#fff!important;border-radius:16px!important}.room-type-dialog .mdc-dialog__content{padding:0!important;margin:0!important;overflow:hidden!important}.cdk-overlay-container .cdk-overlay-pane .mat-mdc-select-panel{background-color:#fff!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important}.cdk-overlay-container .cdk-overlay-pane .mdc-list,.cdk-overlay-container .cdk-overlay-pane .mdc-list-item{background-color:#fff!important}.mdc-list-item.mdc-list-item--selected{background-color:#03a9f41a!important}.mdc-list-item:hover:not(.mdc-list-item--disabled){background-color:#03a9f40d!important}
