html{scroll-behavior:smooth}p{margin:0;line-height:1.5;color:var(--text-secondary)}a{color:inherit;text-decoration:none;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing)}a:hover{color:var(--link-color)}ul,ol{list-style:none;padding:0;margin:0}img{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;box-shadow:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.text-center{text-align:center}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-base)}.text-base{font-size:1rem}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.bg-surface{background-color:var(--surface-color)}.border{border:1px solid var(--border-color)}.border-light{border:1px solid var(--border-light)}.rounded{border-radius:var(--radius)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing)}.hover-lift:hover{box-shadow:var(--shadow-md)}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.loading-skeleton{background:linear-gradient(90deg,var(--border-light) 25%,var(--background-secondary) 50%,var(--border-light) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.empty-state .empty-icon{font-size:64px;margin-bottom:1rem;opacity:.5}.empty-state h3{margin-bottom:.5rem;color:var(--text-primary)}.empty-state p{margin-bottom:2rem;line-height:1.5}.hotel-management-page{background-color:var(--background-color)}.hotel-management-page__header h1{color:var(--text-primary);margin-bottom:.25rem;font-size:var(--font-size-xl)}.hotel-management-page__header p{color:var(--text-secondary);font-size:var(--font-size-base)}.hotel-management-page__search-filters{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.hotel-management-page__search-filters-main{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.hotel-management-page__search-filters-input{position:relative;flex:1}.hotel-management-page__search-filters-input .anticon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);z-index:1}.hotel-management-page__search-filters-input input{padding-left:2.5rem}.hotel-management-page__search-filters-expanded{padding-top:1rem;border-top:1px solid var(--border-light)}.hotel-management-page__search-filters-expanded .filter-group{margin-bottom:1rem}.hotel-management-page__search-filters-expanded .filter-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.hotel-management-page__search-filters-expanded .filter-group .filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.hotel-management-page__tabs{margin-bottom:1.5rem}.hotel-management-page__content--list .hotel-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;margin-bottom:.75rem;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing);box-shadow:var(--shadow-md)}.hotel-management-page__content--list .hotel-card:hover{box-shadow:var(--shadow-md)}.hotel-management-page__content--list .hotel-card__content{display:flex;align-items:center;justify-content:space-between}.hotel-management-page__content--list .hotel-card__main{display:flex;align-items:center;gap:1rem;flex:1}.hotel-management-page__content--list .hotel-card__image{width:60px;height:60px;border-radius:var(--radius);overflow:hidden;background:var(--border-light);display:flex;align-items:center;justify-content:center}.hotel-management-page__content--list .hotel-card__image img{width:100%;height:100%;object-fit:cover}.hotel-management-page__content--list .hotel-card__image .anticon{font-size:2rem;color:var(--text-muted)}.hotel-management-page__content--list .hotel-card__info{flex:1}.hotel-management-page__content--list .hotel-card__info h3{color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem;font-size:1rem}.hotel-management-page__content--list .hotel-card__info-details{display:flex;align-items:center;gap:1rem;color:var(--text-secondary);font-size:var(--font-size-base)}.hotel-management-page__content--list .hotel-card__info-details .detail-item{display:flex;align-items:center;gap:.25rem}.hotel-management-page__content--list .hotel-card__info-details .detail-item .anticon{font-size:1rem}.hotel-management-page__content--list .hotel-card__actions{display:flex;gap:.5rem}.hotel-management-page__content--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.hotel-management-page__content--grid .hotel-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing);box-shadow:var(--shadow-md);position:relative}.hotel-management-page__content--grid .hotel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hotel-management-page__content--grid .hotel-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-color);opacity:0;transition:opacity .3s ease}.hotel-management-page__content--grid .hotel-card:hover:before{opacity:1}.hotel-management-page__content--grid .hotel-card__image{width:100%;height:120px;position:relative;background:var(--border-light);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0}.hotel-management-page__content--grid .hotel-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-management-page__content--grid .hotel-card__image:hover img{transform:scale(1.05)}.hotel-management-page__content--grid .hotel-card__image .anticon{font-size:3rem;color:var(--text-muted)}.hotel-management-page__content--grid .hotel-card__image-badges{position:absolute;top:.75rem;right:.75rem;display:flex;flex-direction:column;gap:.25rem;z-index:2}.hotel-management-page__content--grid .hotel-card__image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,var(--overlay-color));pointer-events:none}.hotel-management-page__content--grid .hotel-card__image .managers-badge{position:absolute;bottom:.5rem;left:.5rem;background:var(--media-scrim);color:var(--media-text);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);display:flex;align-items:center;gap:.25rem;z-index:2}.hotel-management-page__content--grid .hotel-card__content{padding:.5rem}.hotel-management-page__content--grid .hotel-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.hotel-management-page__content--grid .hotel-card__header h3{color:var(--text-primary);font-size:var(--font-size-base);margin:0}.hotel-management-page__content--grid .hotel-card__location{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:1rem}.hotel-management-page__content--grid .hotel-card__location .anticon{font-size:1rem}.hotel-management-page__content--grid .hotel-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.hotel-management-page__content--grid .hotel-card__stats .stat-item{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.hotel-management-page__content--grid .hotel-card__stats .stat-item .anticon{color:var(--text-muted);font-size:var(--font-size-xs)}.hotel-management-page__content--grid .hotel-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.hotel-management-page__content--grid .hotel-card__footer-rating{display:flex;align-items:center;gap:.25rem;font-size:var(--font-size-xs)}.hotel-management-page__content--grid .hotel-card__footer-rating .anticon{color:var(--warning-color)}.hotel-management-page__content--grid .hotel-card__footer-rating .rating-score{font-weight:500;color:var(--text-primary)}.hotel-management-page__content--grid .hotel-card__footer-rating .rating-count{color:var(--text-secondary);font-size:var(--font-size-xs)}.hotel-management-page__content--grid .hotel-card__footer-actions{display:flex;gap:.25rem}.hotel-management-page__loading .skeleton-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.hotel-management-page__loading .skeleton-card__content{display:flex;align-items:center;gap:1rem}.hotel-management-page__loading .skeleton-card__image{width:80px;height:80px;background:var(--border-light);border-radius:var(--radius);animation:pulse 2s infinite}.hotel-management-page__loading .skeleton-card__info{flex:1}.hotel-management-page__loading .skeleton-card__info .skeleton-line{height:1rem;background:var(--border-light);border-radius:var(--radius-sm);animation:pulse 2s infinite;margin-bottom:.5rem}.hotel-management-page__loading .skeleton-card__info .skeleton-line--short{width:60%}.hotel-management-page__loading .skeleton-card__info .skeleton-line--medium{width:80%}.hotel-management-page__loading .skeleton-card__info .skeleton-line--long{width:100%}.hotel-management-page__empty{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.hotel-management-page__empty .anticon{font-size:4rem;color:var(--text-muted);margin-bottom:1rem}.hotel-management-page__empty h3{color:var(--text-primary);margin-bottom:.5rem}.hotel-management-page__error{text-align:center;padding:4rem 2rem}.hotel-management-page__error .anticon{font-size:4rem;color:var(--error-color);margin-bottom:1rem}.hotel-management-page__error h3{color:var(--error-color);margin-bottom:.5rem}.hotel-management-page__error p{color:var(--text-secondary);margin-bottom:1rem}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.status-badge--active{background:var(--success-surface);color:var(--success-color)}.status-badge--inactive{background:var(--surface-color);color:var(--info-color)}.status-badge--maintenance,.status-badge--construction{background:var(--warning-surface);color:var(--warning-color)}.category-badge{padding:.25rem .75rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary)}.category-badge--5-star{background:var(--warning-surface)}.category-badge--4-star{background:var(--info-surface)}.category-badge--3-star{background:var(--success-surface)}.category-badge--boutique,.category-badge--luxury{background:var(--violet-surface)}.hotel-dialog .ant-modal-content{border-radius:var(--radius-lg)}.hotel-dialog__image{width:100%;height:300px;border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}.hotel-dialog__image img{width:100%;height:100%;object-fit:cover}.hotel-dialog__details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.hotel-dialog__details h4{color:var(--text-primary);margin-bottom:.5rem}.hotel-dialog__details .detail-list{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6}.hotel-dialog__details .detail-list p{margin-bottom:.25rem}.hotel-dialog__description{margin-bottom:1.5rem}.hotel-dialog__description h4{color:var(--text-primary);margin-bottom:.5rem}.hotel-dialog__description p{color:var(--text-secondary);line-height:1.6}.hotel-dialog__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.hotel-dialog__stats .stat-card{text-align:center;padding:1rem;background:var(--secondary-color);border-radius:var(--radius)}.hotel-dialog__stats .stat-card .stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.hotel-dialog__stats .stat-card .stat-label{font-size:var(--font-size-base);color:var(--text-secondary)}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.hotels-grid .hotel-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing);box-shadow:var(--shadow-md)}.hotels-grid .hotel-card:hover{box-shadow:var(--shadow-md)}.hotels-grid .hotel-card__image{width:100%;height:120px;position:relative;background:var(--border-light);display:flex;align-items:center;justify-content:center}.hotels-grid .hotel-card__image .anticon{font-size:2rem;color:var(--text-muted)}.hotels-grid .hotel-card__image-badges{position:absolute;top:.5rem;right:.5rem}.hotels-grid .hotel-card__image-badges .status-badge{font-size:var(--font-size-xs);padding:.125rem .5rem}.hotels-grid .hotel-card__content{padding:.5rem}.hotels-grid .hotel-card__header h3{font-size:var(--font-size-base);margin:0 0 .25rem;color:var(--text-primary)}.hotels-grid .hotel-card__stats{display:flex;gap:.5rem;margin-bottom:.5rem}.hotels-grid .hotel-card__stats .stat-item{display:flex;align-items:center;gap:.125rem;color:var(--text-secondary);font-size:var(--font-size-xs)}.hotels-grid .hotel-card__stats .stat-item .anticon{font-size:var(--font-size-xs)}.hotels-grid .hotel-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.hotels-grid .hotel-card__footer-rating{font-size:var(--font-size-xs);color:var(--text-secondary)}.hotels-grid .hotel-card__footer-actions{display:flex;gap:.25rem}.room-description{display:none}@media(max-width:768px){.hotel-management-page__search-filters-main{flex-direction:column;align-items:stretch}.hotel-management-page__search-filters-expanded .filter-group .filter-buttons{justify-content:center}.hotel-management-page__content--grid{grid-template-columns:1fr}.hotel-management-page__content--list .hotel-card__content{flex-direction:column;align-items:stretch;gap:1rem}.hotel-management-page__content--list .hotel-card__main{flex-direction:column;text-align:center}.hotel-management-page__content--list .hotel-card__actions{justify-content:center}.hotel-dialog__details{grid-template-columns:1fr;gap:1rem}.hotel-dialog__stats{grid-template-columns:repeat(2,1fr)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}html,body{overflow:hidden}.create-hotel-modal .ant-modal-header{border-bottom:1px solid var(--border-color);padding-bottom:8px}.create-hotel-modal .ant-modal-header .ant-modal-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:var(--text-primary)}.create-hotel-modal .ant-modal-header .ant-modal-title .anticon{color:var(--link-color);font-size:var(--font-size-lg)}.create-hotel-modal .ant-modal-body .ant-form .ant-form-item-label>label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-base)}.create-hotel-modal .ant-modal-body h4{color:var(--text-primary);font-size:var(--font-size-base);font-weight:600;margin:0}.create-hotel-modal .ant-modal-footer{border-top:1px solid var(--border-color);padding:16px 24px 0}.create-hotel-modal .ant-modal-footer .ant-btn{padding:0 16px}@media(max-width:768px){.create-hotel-modal .ant-modal{margin:16px;max-width:calc(100vw - 32px)}.create-hotel-modal .ant-modal-body{padding:16px}.create-hotel-modal .ant-form .ant-row .ant-col{margin-bottom:8px}}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice{--notification-accent: var(--info-color);position:relative;overflow:hidden;width:min(360px,100vw - 24px);padding:10px 12px;background:var(--popup-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice.qv-notification--success{--notification-accent: var(--success-color)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice.qv-notification--error{--notification-accent: var(--error-color)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice.qv-notification--warning{--notification-accent: var(--warning-color)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-icon{display:grid;width:22px;height:22px;margin-inline-start:0;place-items:center;border-radius:var(--radius);background:color-mix(in srgb,var(--notification-accent) 11%,transparent);color:var(--notification-accent);font-size:var(--font-size-base)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-with-icon .ant-notification-notice-message,.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-with-icon .ant-notification-notice-description{margin-inline-start:34px}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-message{margin-bottom:1px;color:var(--text-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-description{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-close{top:7px;inset-inline-end:7px;width:24px;height:24px;color:var(--text-muted)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-close:hover{color:var(--text-primary)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-progress{background:color-mix(in srgb,var(--notification-accent) 18%,transparent)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-progress::-webkit-progress-bar{background:color-mix(in srgb,var(--notification-accent) 18%,transparent)}.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-progress::-webkit-progress-value,.ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice .ant-notification-notice-progress::-moz-progress-bar{background:var(--notification-accent)}.sidebar-hotel-dropdown{width:100%}.sidebar-hotel-dropdown .hotel-display{display:flex;align-items:center;gap:12px;min-height:70px;padding:16px;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing)}.sidebar-hotel-dropdown .hotel-display:hover{background-color:var(--hover-color)}.sidebar-hotel-dropdown .hotel-display .hotel-icon{width:32px;height:32px;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--secondary-color);flex-shrink:0}.sidebar-hotel-dropdown .hotel-display .hotel-icon .hotel-image{width:100%;height:100%;object-fit:contain}.sidebar-hotel-dropdown .hotel-display .hotel-icon .hotel-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--font-size-xs)}.sidebar-hotel-dropdown .hotel-display .hotel-info{flex-grow:1;overflow:hidden}.sidebar-hotel-dropdown .hotel-display .hotel-info .hotel-name{display:block;font-weight:600;font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-hotel-dropdown .hotel-display .hotel-info .hotel-location{display:block;font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-hotel-dropdown .hotel-display .hotel-info .hotel-status{display:block;font-size:var(--font-size-xs);color:var(--error-color);line-height:1.5}.sidebar-hotel-dropdown .hotel-display .dropdown-arrow{color:var(--text-secondary);font-size:var(--font-size-xs);flex-shrink:0;transition:transform .15s ease}.sidebar-hotel-dropdown.error .hotel-display{border-color:var(--error-color);cursor:not-allowed}.sidebar-hotel-dropdown.error .hotel-display:hover{border-color:var(--error-color);background-color:var(--surface-color)}.sidebar-hotel-dropdown.empty .hotel-display{cursor:pointer}.sidebar-hotel-dropdown.empty .hotel-display:hover{background-color:var(--hover-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.25rem;min-width:240px;max-height:320px;overflow-y:auto}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item{padding:0;margin:0;border-radius:var(--radius)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item:hover{background-color:transparent}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);transition:background-color .15s ease;cursor:pointer}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item:hover{background-color:var(--hover-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.selected{background-color:var(--hover-color);box-shadow:var(--shadow-md)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.selected .menu-hotel-name{font-weight:600;color:var(--link-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--link-color);font-size:var(--font-size-label)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.add-hotel-item{border:1px dashed var(--border-color);margin-top:.25rem}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.add-hotel-item:hover{background-color:var(--hover-color);border-color:var(--primary-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.add-hotel-item .menu-hotel-name{color:var(--link-color);font-weight:600}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.add-hotel-item .menu-hotel-location{color:var(--text-secondary)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.add-hotel-item .add-hotel-icon{border:1px solid var(--primary-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-icon{width:24px;height:24px;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--secondary-color);flex-shrink:0}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-icon .menu-hotel-image{width:100%;height:100%;object-fit:contain}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-icon .menu-hotel-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--font-size-xs)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-info{flex-grow:1;overflow:hidden}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-info .menu-hotel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.125rem}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-info .menu-hotel-header .menu-hotel-name{font-weight:500;font-size:var(--font-size-base);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item .menu-hotel-info .menu-hotel-location{font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-dropdown-menu-item{display:flex;align-items:center;gap:12px;padding:8px;width:280px}.hotel-dropdown-menu-item .menu-hotel-image{width:32px;height:32px;border-radius:50%;object-fit:contain;flex-shrink:0}.hotel-dropdown-menu-item .menu-hotel-image-fallback{width:32px;height:32px;border-radius:50%;background-color:var(--border-light);display:none;align-items:center;justify-content:center;flex-shrink:0}.hotel-dropdown-menu-item .menu-hotel-image-fallback .anticon{font-size:16px;color:var(--text-muted)}.hotel-dropdown-menu-item .menu-hotel-info{flex:1}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-header .menu-hotel-name{font-weight:500;font-size:var(--font-size-base);color:var(--text-primary)}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-header .active-indicator{color:var(--link-color);font-size:var(--font-size-xs)}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-location{font-size:var(--font-size-xs);color:var(--text-muted)}.hotel-dropdown-error,.hotel-dropdown-empty{display:flex;align-items:center;gap:8px;padding:4px 8px;color:var(--text-muted);font-size:var(--font-size-label)}.hotel-dropdown-error .anticon,.hotel-dropdown-empty .anticon{font-size:var(--font-size-xs)}.hotel-dropdown-error{color:var(--error-color)}.ant-modal.hotel-dialog .ant-modal-body .ant-tabs-content-holder{max-height:50vh;overflow-y:auto}.header-user-menu{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing)}.header-user-menu:hover{background-color:var(--hover-color)}.header-user-menu .user-avatar{width:28px;height:28px;background-color:var(--primary-color);color:var(--primary-text);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-xs);flex-shrink:0}.header-user-menu .user-info{display:flex;flex-direction:column;min-width:0}.header-user-menu .user-info .user-name{font-weight:500;font-size:var(--font-size-xs);color:var(--text-primary);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu .user-info .user-role{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-menu .dropdown-arrow{color:var(--text-secondary);font-size:var(--font-size-xs);flex-shrink:0}.header-user-menu-overlay .ant-dropdown-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.25rem;min-width:160px}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item{padding:0;margin:0;border-radius:var(--radius)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item:hover{background-color:transparent}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item .user-menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);transition:background-color .15s ease;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-secondary)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item .user-menu-item:hover{background-color:var(--hover-color);color:var(--text-primary)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item .user-menu-item.logout{color:var(--error-color)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item .user-menu-item.logout:hover{background-color:var(--hover-color);color:var(--error-color)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item .user-menu-item .anticon{font-size:var(--font-size-xs)}.header-user-menu-overlay .ant-dropdown-menu .ant-dropdown-menu-item-divider{margin:.25rem 0;border-color:var(--border-light)}@media(max-width:768px){.header-user-menu .user-info{display:none}}.theme-toggle-btn.ant-btn{width:var(--control-height);height:var(--control-height);padding:0;display:inline-flex;align-items:center;justify-content:center}.onboarding-welcome{text-align:center;padding:var(--spacing-md) var(--spacing-sm) var(--spacing-xs)}.onboarding-welcome__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--spacing-md);border-radius:50%;background:var(--primary-surface);color:var(--link-color);font-size:var(--font-size-2xl)}.onboarding-welcome__title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.onboarding-welcome__subtitle{margin:0 auto var(--spacing-lg);max-width:340px;color:var(--text-secondary);line-height:var(--line-height-relaxed)}.onboarding-welcome__actions{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:stretch}.getting-started{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-md);animation:expand .2s ease-in-out;transition:padding .2s ease-in-out,margin .2s ease-in-out}.getting-started.is-collapsed{padding:var(--spacing-sm) var(--spacing-md);animation:collapse .2s ease-in-out;transition:padding .2s ease-in-out,margin .2s ease-in-out}.getting-started__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.getting-started__toggle{display:flex;flex:1;min-width:0;align-items:center;gap:var(--spacing-md);padding:0;background:none;border:none;text-align:left;cursor:pointer;color:inherit}.getting-started__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);background:var(--primary-surface);color:var(--link-color);font-size:var(--font-size-lg)}.getting-started__heading-text{display:flex;flex-direction:column;min-width:0}.getting-started__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.getting-started__progress-label{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.getting-started__chevron{flex-shrink:0;margin-left:auto;padding-left:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-size-xs)}.getting-started__bar{margin:var(--spacing-md) 0 var(--spacing-xs)}.getting-started__list{list-style:none;margin:0;padding:0}.getting-started__item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-top:1px solid var(--border-light)}.getting-started__item.is-done .getting-started__step-title{color:var(--text-secondary);text-decoration:line-through}.getting-started__item.is-locked{opacity:.55}.getting-started__status{display:inline-flex;align-items:center;justify-content:center;width:22px;color:var(--text-muted)}.getting-started__status .anticon-check-circle{color:var(--success-color);font-size:var(--font-size-lg)}.getting-started__dot{width:14px;height:14px;border:2px solid var(--border-color);border-radius:50%}.getting-started__text{display:flex;flex-direction:column;flex:1;min-width:0}.getting-started__step-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.getting-started__optional{background:var(--primary-surface);color:var(--text-secondary);font-size:var(--font-size-xs)}.getting-started__step-desc{font-size:var(--font-size-sm);color:var(--text-secondary)}.getting-started__go{flex-shrink:0;padding:0}.app-sidebar{flex-shrink:0;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:relative;z-index:100;transition:width var(--transition-overlay-duration) var(--transition-timing)}.app-sidebar .sidebar-header{height:var(--app-header-height);flex-shrink:0;padding:var(--brand-clear-space);display:flex;align-items:center;border-bottom:1px solid var(--border-color)}.app-sidebar .sidebar-logo{display:flex;align-items:center;width:100%}.app-sidebar .brand-logo{width:auto;max-width:100%;height:var(--brand-logo-height);object-fit:contain;object-position:left center}.app-sidebar .sidebar-hotel-section{border-bottom:1px solid var(--border-color)}.app-sidebar .sidebar-nav{flex:1;min-height:0;overflow-y:auto;padding:12px 8px}.app-sidebar .nav-group+.nav-group{margin-top:24px}.app-sidebar .nav-section-title{padding:0 8px;margin-bottom:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.app-sidebar .nav-link,.app-sidebar .nav-sublink{display:flex;align-items:center;min-height:var(--nav-row-height);margin-bottom:2px;border-radius:var(--radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-decoration:none;transition:background-color var(--transition-duration),color var(--transition-duration)}.app-sidebar .nav-link:hover,.app-sidebar .nav-sublink:hover{background:var(--hover-bg);color:var(--text-primary)}.app-sidebar .nav-link.active,.app-sidebar .nav-sublink.active{background:var(--primary-surface);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.app-sidebar .nav-link.active .nav-icon,.app-sidebar .nav-link.active .nav-subicon,.app-sidebar .nav-sublink.active .nav-icon,.app-sidebar .nav-sublink.active .nav-subicon{color:var(--link-color)}.app-sidebar .nav-link{padding:0 12px;gap:12px}.app-sidebar .nav-link-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:var(--nav-row-height);color:inherit}.app-sidebar .nav-icon,.app-sidebar .nav-subicon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:var(--text-muted)}.app-sidebar .nav-label,.app-sidebar .nav-sublabel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .nav-expand-icon{font-size:10px;color:var(--text-muted);transition:transform var(--transition-duration)}.app-sidebar .nav-expand-icon.expanded{transform:rotate(180deg)}.app-sidebar .has-subitems{cursor:pointer}.app-sidebar .nav-subitems{margin:2px 0 2px 16px;padding-left:12px;border-left:1px solid var(--border-color)}.app-sidebar .nav-sublink{gap:12px;padding:0 12px;font-weight:var(--font-weight-normal)}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.app-sidebar.collapsed .sidebar-header{padding:var(--brand-clear-space)}.app-sidebar.collapsed .brand-logo{width:var(--brand-logo-height);height:var(--brand-logo-height)}.app-sidebar.collapsed .sidebar-hotel-section{display:none}.app-sidebar.collapsed .sidebar-nav{padding-inline:8px}.app-sidebar.collapsed .nav-link{padding:0}.app-sidebar.collapsed .nav-link-content{justify-content:center}.app-layout{display:flex;height:100vh;background-color:var(--primary-bg);overflow:hidden}.app-main-content{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;transition:margin-left .2s ease-in-out}.app-page-content{flex-grow:1;padding:var(--page-padding);overflow-y:auto;background-color:var(--background-color)}.app-header{height:var(--app-header-height);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);position:relative;z-index:50}.app-header .header-left{display:flex;align-items:center;gap:.75rem}.app-header .header-left .sidebar-toggle-btn{padding:.25rem}.app-header .header-left .ant-typography{color:var(--text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);margin:0}.app-header .header-right{display:flex;align-items:center;gap:.75rem}.mobile-navigation .ant-drawer-body{padding:0}.mobile-navigation .app-sidebar{width:100%;height:100%}@media(max-width:767px){.app-main-content{min-width:0}.app-header{padding:0 12px}.app-header .header-left{gap:8px;min-width:0}.app-header .header-right{gap:4px}.app-header .header-left h4{font-size:var(--font-size-base);white-space:nowrap}}@media(max-width:768px){.app-page-content{padding:var(--page-padding-mobile)}}:root{--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 14px;--font-size-label: 13px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-metric: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3333;--line-height-normal: 1.5714;--line-height-relaxed: 1.625;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius: 8px;--radius-sm: 8px;--radius-lg: 12px;--radius-overlay: 16px;--control-height: 36px;--control-height-sm: 32px;--control-height-lg: 44px;--transition-duration: .12s;--transition-overlay-duration: .18s;--transition-timing: ease-out;--sidebar-width: 256px;--sidebar-collapsed-width: 80px;--media-surface: #151618;--media-text: #ECEDEE;--media-scrim: rgba(0,0,0,.72);--media-control-bg: rgba(255,255,255,.94);--media-control-text: #202428;--font-size-md: 16px;--spacing-compact: 12px;--spacing-section: 20px;--page-padding: 24px;--page-padding-mobile: 16px;--app-header-height: 80px;--nav-row-height: 36px;--font-size-page: 28px;--font-size-section: 20px;--font-size-component: 16px;--brand-clear-space: 24px;--brand-logo-height: 32px;--primary-color: #387E41;--primary-hover: #2F6F38;--primary-active: #285F30;--primary-text: #FFFFFF;--primary-surface: #EAF3EB;--background-color: #F7F8FA;--surface-color: #FFFFFF;--text-primary: #202428;--text-secondary: #626870;--text-muted: #767D85;--border-color: #E0E3E7;--control-border: #D9DDE2;--border-light: #E0E3E7;--secondary-color: #F1F2F4;--primary-bg: #F7F8FA;--container-bg: #FFFFFF;--input-bg: #F3F4F6;--hover-color: #F1F2F4;--hover-bg: #F1F2F4;--active-bg: #EAF3EB;--table-header-bg: #EEF0F2;--table-row-hover: #F1F2F4;--table-cell-hover: #F1F2F4;--selection-color: #387E41;--selection-color-hover: #2F6F38;--selection-check-color: #FFFFFF;--focus-ring-color: #387E41;--brand-color: #387E41;--background-secondary: #F1F2F4;--ant-body-background: #F7F8FA;--ant-secondary-color: #E0E3E7;--ant-secondary-color-hover: #626870;--success-color: #2F7D3A;--success-surface: #EAF6ED;--success-border: #2F7D3A;--warning-color: #8A6A16;--warning-surface: #FFF4D6;--warning-border: #8A6A16;--error-color: #A13B35;--error-surface: #FFF0ED;--error-border: #A13B35;--info-color: #536B7A;--info-surface: #EFF3F5;--info-border: #536B7A;--violet-color: #536B7A;--violet-surface: #EFF3F5;--violet-border: #536B7A;--neutral-color: #626870;--neutral-surface: #F1F2F4;--neutral-border: #D9DDE2;--avatar-bg: #EAF3EB;--avatar-text: #202428;--popup-bg: #FFFFFF;--overlay-color: rgba(0,0,0,.48);--shadow-sm: 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 16px 48px rgba(0,0,0,.18);--danger-hover: #87312C;--danger-active: #702923;--danger-text: #FFFFFF;--item-type-room-bg: #EFF3F5;--item-type-room-text: #536B7A;--item-type-room-border: #536B7A;--item-type-service-bg: #FFF4D6;--item-type-service-text: #8A6A16;--item-type-service-border: #8A6A16;--date-disabled-bg: #F1F2F4;--date-disabled-text: #767D85;--date-range-bg: #EAF3EB;--sidebar-bg: #FCFCFD;--accent-color: #2AB937;--accent-hover: #239D2F;--accent-surface: #EAF8EC;--divider-color: #E0E3E7;--link-color: #387E41;--link-hover: #2F6F38;--primary-interaction-text: #FFFFFF}:root.dark-theme{--primary-color: #387E41;--primary-hover: #46934F;--primary-active: #56A05E;--primary-text: #FFFFFF;--primary-surface: #203B25;--background-color: #151618;--surface-color: #202224;--text-primary: #ECEDEE;--text-secondary: #A9ADB2;--text-muted: #8D9299;--border-color: #34373B;--control-border: #3C4045;--border-light: #34373B;--secondary-color: #282A2D;--primary-bg: #151618;--container-bg: #202224;--input-bg: #282A2D;--hover-color: #282A2D;--hover-bg: #282A2D;--active-bg: #203B25;--table-header-bg: #2B2E32;--table-row-hover: #282A2D;--table-cell-hover: #282A2D;--selection-color: #387E41;--selection-color-hover: #46934F;--selection-check-color: #FFFFFF;--focus-ring-color: #2AB937;--brand-color: #387E41;--background-secondary: #282A2D;--ant-body-background: #151618;--ant-secondary-color: #34373B;--ant-secondary-color-hover: #A9ADB2;--success-color: #6FC978;--success-surface: #183B28;--success-border: #6FC978;--warning-color: #D8B85C;--warning-surface: #40321A;--warning-border: #D8B85C;--error-color: #E27A72;--error-surface: #461F20;--error-border: #E27A72;--info-color: #91A9B8;--info-surface: #222E34;--info-border: #91A9B8;--violet-color: #91A9B8;--violet-surface: #222E34;--violet-border: #91A9B8;--neutral-color: #A9ADB2;--neutral-surface: #282A2D;--neutral-border: #3C4045;--avatar-bg: #203B25;--avatar-text: #ECEDEE;--popup-bg: #202224;--overlay-color: rgba(0,0,0,.64);--shadow-sm: none;--shadow-md: 0 2px 8px rgba(0,0,0,.16);--shadow-lg: 0 12px 32px rgba(0,0,0,.32);--danger-hover: #EC958E;--danger-active: #F3B1AC;--danger-text: #171A19;--item-type-room-bg: #222E34;--item-type-room-text: #91A9B8;--item-type-room-border: #91A9B8;--item-type-service-bg: #40321A;--item-type-service-text: #D8B85C;--item-type-service-border: #D8B85C;--date-disabled-bg: #282A2D;--date-disabled-text: #8D9299;--date-range-bg: #203B25;--sidebar-bg: #1A1C1E;--accent-color: #2AB937;--accent-hover: #3DCA49;--accent-surface: #203A23;--divider-color: #34373B;--link-color: #6FC978;--link-hover: #91A9B8;--primary-interaction-text: #171A19}.ant-switch .ant-switch-inner{color:var(--primary-text)}.ant-btn-primary:disabled{color:var(--text-muted)}.ant-input:focus-visible,.ant-input-number-input:focus-visible,.ant-select-selection-search-input:focus-visible,.ant-picker input:focus-visible{outline:none}.ant-input-affix-wrapper:focus-within,.ant-input-number:focus-within,.ant-select:focus-within .ant-select-selector{outline:2px solid var(--focus-ring-color);outline-offset:3px}.ant-picker:focus-within{outline:none}.ant-table{font-variant-numeric:tabular-nums}.ant-table-thead>tr>th{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.ant-modal-content,.ant-drawer-content,.ant-popover-inner,.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container,.ant-dropdown-menu{border:1px solid var(--border-color)}.ant-tag.ant-tag-success,.ant-tag.ant-tag-green{color:var(--success-color);background:var(--success-surface);border-color:var(--success-border)}.ant-tag.ant-tag-warning,.ant-tag.ant-tag-gold,.ant-tag.ant-tag-orange,.ant-tag.ant-tag-yellow{color:var(--warning-color);background:var(--warning-surface);border-color:var(--warning-border)}.ant-tag.ant-tag-error,.ant-tag.ant-tag-red,.ant-tag.ant-tag-volcano{color:var(--error-color);background:var(--error-surface);border-color:var(--error-border)}.ant-tag.ant-tag-processing,.ant-tag.ant-tag-blue,.ant-tag.ant-tag-cyan,.ant-tag.ant-tag-geekblue{color:var(--info-color);background:var(--info-surface);border-color:var(--info-border)}.ant-tag.ant-tag-purple,.ant-tag.ant-tag-magenta{color:var(--violet-color);background:var(--violet-surface);border-color:var(--violet-border)}.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled):not(.ant-btn-disabled):hover,.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled):not(.ant-btn-disabled):active{color:var(--primary-interaction-text)}:root .vb-block{display:block}:root .vb-border-radius-12{border-radius:var(--radius-lg)}:root .vb-border-radius-8{border-radius:var(--radius)}:root .vb-caption{font-size:var(--font-size-xs)}:root .vb-centered{margin:0 auto}:root .vb-clickable{cursor:pointer}:root .vb-clip{overflow:hidden}:root .vb-display-grid{display:grid}:root .vb-divider-spacing{margin:12px 0}:root .vb-error-color{color:var(--error-color)}:root .vb-flex{display:flex}:root .vb-flex-fill{flex:1}:root .vb-font-size-48{font-size:48px}:root .vb-full-width{width:100%}:root .vb-gap-12{gap:var(--spacing-compact)}:root .vb-gap-4{gap:var(--spacing-xs)}:root .vb-gap-8{gap:var(--spacing-sm)}:root .vb-height-250{height:250px}:root .vb-items-center{align-items:center}:root .vb-label-size{font-size:var(--font-size-label)}:root .vb-margin-bottom-12{margin-bottom:var(--spacing-compact)}:root .vb-margin-bottom-16{margin-bottom:var(--spacing-md)}:root .vb-margin-bottom-4{margin-bottom:var(--spacing-xs)}:root .vb-margin-bottom-8{margin-bottom:var(--spacing-sm)}:root .vb-margin-left-8{margin-left:var(--spacing-sm)}:root .vb-margin-right-8{margin-right:var(--spacing-sm)}:root .vb-margin-top-16{margin-top:var(--spacing-md)}:root .vb-margin-top-20{margin-top:var(--spacing-section)}:root .vb-margin-top-24{margin-top:var(--spacing-lg)}:root .vb-margin-top-4{margin-top:var(--spacing-xs)}:root .vb-margin-top-8{margin-top:var(--spacing-sm)}:root .vb-max-width-300{max-width:300px}:root .vb-max-width-800{max-width:800px}:root .vb-name-spacing{margin:0 0 8px}:root .vb-no-bottom-margin{margin-bottom:0}:root .vb-no-margin{margin:0}:root .vb-nowrap{white-space:nowrap}:root .vb-padding-0{padding:0}:root .vb-padding-12{padding:var(--spacing-compact)}:root .vb-padding-24{padding:var(--spacing-lg)}:root .vb-primary-text{color:var(--text-primary)}:root .vb-quantity-field{flex:0 0 60px}:root .vb-secondary-color{color:var(--text-secondary)}:root .vb-section-divider-spacing{margin:12px 0 24px}:root .vb-span-columns{grid-column:span 2}:root .vb-subheading{font-size:var(--font-size-md)}:root .vb-subtle-icon{opacity:.7}:root .vb-text-center{text-align:center}:root .vb-text-right{text-align:right}:root .vb-two-columns{grid-template-columns:1fr 1fr}:root .vb-width-20{width:20px}:root .vb-wrap{flex-wrap:wrap}html,body{color:var(--text-primary);background:var(--background-color);font-family:var(--font-family);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px}body{font-size:var(--font-size-base)}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-page);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-section)}h3,h4{font-size:16px}h5,h6{font-size:var(--font-size-base)}::selection{background:var(--primary-surface);color:var(--text-primary)}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:3px}.modern-rounded,.card-rounded{border-radius:var(--radius-lg)}.button-rounded{border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.qvb-app-root{height:100%;width:100%;overflow:auto;background:var(--background-color)}textarea.ant-input.room-description-input,textarea.ant-input.inventory-description-input{min-height:120px;max-height:240px;overflow-y:auto;scrollbar-gutter:stable;resize:vertical}textarea.ant-input.room-description-input::-webkit-scrollbar,textarea.ant-input.inventory-description-input::-webkit-scrollbar{width:10px}textarea.ant-input.room-description-input::-webkit-scrollbar-track,textarea.ant-input.inventory-description-input::-webkit-scrollbar-track{background:var(--input-bg)}textarea.ant-input.room-description-input::-webkit-scrollbar-thumb,textarea.ant-input.inventory-description-input::-webkit-scrollbar-thumb{background:var(--text-secondary);border:2px solid var(--input-bg);border-radius:var(--radius)}.route-permission-loading{width:100%;padding:var(--spacing-lg)}.qv-not-found-container{height:100%;width:100%;display:flex;justify-content:center}.auth-page-root{display:flex;flex-direction:column;height:100dvh;min-height:100vh;background-color:var(--background-color);font-family:var(--font-family);color:var(--text-primary);transition:background-color .3s ease;overflow-x:hidden;overflow-y:auto;position:relative}.auth-page-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/images/auth-background.svg);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.8;pointer-events:none;z-index:0}.auth-page-root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--background-color) 85%,transparent);z-index:0;pointer-events:none}.auth-page-root.dark-theme:before{background-image:url(/images/auth-background_dark.svg)}.auth-page-content{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vh,2rem) 1rem clamp(1rem,3vh,2rem);position:relative;z-index:1}.auth-container{background-color:var(--surface-color);padding:1.75rem;border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-md);color:var(--text-primary);transition:background-color .3s ease;position:relative;margin:0}.auth-container .auth-icon{width:36px;height:36px;border-radius:50%;background-color:var(--border-light);display:flex;align-items:center;justify-content:center;margin:.2rem auto}.auth-container .auth-icon svg{font-size:var(--font-size-lg);color:var(--text-primary)}.auth-header{text-align:center;margin-bottom:1.25rem}.auth-header h1{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:0}.auth-header p{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:.25rem}.social-login-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;margin-bottom:.625rem;border-radius:var(--radius-lg);background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);font-weight:500;font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing);text-decoration:none;text-align:center}.social-login-button:hover{background-color:var(--border-light);color:var(--text-primary);border-color:var(--primary-color)}.social-login-button .social-icon{font-size:var(--font-size-lg)}.social-login-button.outlined{background-color:transparent;border-color:var(--border-color)}.row-between{display:flex;align-items:center;justify-content:space-between}.divider-with-text{display:flex;align-items:center;margin:1rem 0;color:var(--text-secondary);font-size:var(--font-size-xs);text-transform:none}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.divider-with-text:before{margin-right:.75rem}.divider-with-text:after{margin-left:.75rem}.form-group{margin-bottom:.75rem}.auth-form-label{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500;margin-bottom:.25rem;display:block}.auth-input{background:var(--input-bg);border:1px solid var(--control-border);border-radius:var(--radius);min-height:var(--control-height);width:100%;padding:0 12px;color:var(--text-primary);font-size:var(--font-size-base)}.auth-input:focus{border-color:var(--primary-color);outline:2px solid var(--focus-ring-color);outline-offset:3px}.auth-input::placeholder{color:var(--text-muted)}.auth-input.ant-input-password{display:flex;align-items:center;width:100%;padding:0 11px}.auth-input.ant-input-password input.ant-input{padding-left:0}.auth-input.ant-input-password .anticon.input-icon-prefix{margin-right:8px}.auth-input.ant-input-password .ant-input-suffix .ant-input-password-icon{cursor:pointer;padding:0;display:flex;align-items:center}.auth-input.ant-input-password .ant-input-suffix .ant-input-password-icon:hover,.auth-input.ant-input-password .ant-input-suffix .ant-input-password-icon:focus,.auth-input.ant-input-password .ant-input-suffix .ant-input-password-icon:active{padding:0 5px}.select-wrapper{position:relative}.select-wrapper:after{content:"";position:absolute;top:50%;right:.75rem;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-secondary);pointer-events:none}.select-wrapper select.auth-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem}.auth-input-with-icon{position:relative}.auth-input-with-icon .auth-input:not(.ant-input-password){padding-left:2.5rem}.auth-input-with-icon .input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1rem}.auth-input-with-icon .toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);cursor:pointer;background:none;border:none;padding:0;font-size:1rem}.auth-form-submit-button{width:100%;height:40px;font-size:var(--font-size-base);font-weight:600;background-color:var(--primary-color);color:var(--primary-text);border:1px solid var(--primary-color);border-radius:var(--radius-lg);transition:opacity .2s ease;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none}.auth-form-submit-button:hover{opacity:.9}.auth-form-submit-button:disabled{opacity:.7;cursor:not-allowed}.auth-link{color:var(--link-color);text-decoration:none;font-weight:500;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing);cursor:pointer;font-size:var(--font-size-base)}.auth-link:hover{color:var(--link-hover);text-decoration:underline}.auth-footer{display:flex;justify-content:center;margin-top:1.25rem;font-size:var(--font-size-base);color:var(--text-secondary)}.auth-footer .auth-link{margin-left:.375rem}.auth-message{text-align:center;margin-bottom:1rem;color:var(--text-secondary);font-size:var(--font-size-base)}.password-validation-checklist{margin-top:.5rem}.password-validation-checklist .rule-item{display:flex;align-items:center;font-size:var(--font-size-xs);margin-bottom:.25rem;transition:color .3s ease}.password-validation-checklist .rule-item .rule-icon{font-size:var(--font-size-xs);margin-right:.375rem}.password-validation-checklist .rule-item.met,.password-validation-checklist .rule-item.met .rule-icon{color:var(--success-color)}.password-validation-checklist .rule-item.not-met{color:var(--text-secondary)}.password-validation-checklist .rule-item.not-met .rule-icon{color:var(--error-color)}.otp-input-container{display:flex;justify-content:space-between;margin:1.25rem 0}.otp-input-container .otp-input{width:36px;height:42px;border:1px solid var(--control-border);border-radius:.375rem;background-color:var(--surface-color);color:var(--text-primary);font-size:var(--font-size-lg);text-align:center}.otp-input-container .otp-input:focus{border-color:var(--primary-color);outline:2px solid var(--focus-ring-color);outline-offset:3px}.resend-code{display:flex;align-items:center;justify-content:center;margin-top:.875rem;color:var(--text-secondary);font-size:var(--font-size-label)}.resend-code .countdown{margin-left:.375rem;color:var(--link-color)}.back-button{display:flex;align-items:center;justify-content:center;margin-top:1.25rem;color:var(--text-secondary);font-size:var(--font-size-base);background:none;border:none;cursor:pointer;padding:.375rem;width:100%;text-decoration:none}.back-button svg{margin-right:.375rem;font-size:var(--font-size-xs)}.back-button:hover{color:var(--text-primary)}.auth-form-grid{display:flex;flex-direction:column}.form-row{display:flex;gap:1rem;margin-bottom:0}.form-group.half-width{flex:1;min-width:0}@media(max-width:576px){.form-row{flex-direction:column;gap:0}.auth-container{padding:1.5rem}}.form-error-message{color:var(--error-color);font-size:var(--font-size-xs);margin-top:.25rem}.auth-error-message{margin-top:.875rem;padding:.625rem;background-color:var(--error-surface);border-radius:.375rem;font-size:var(--font-size-label);color:var(--error-color);text-align:center}.auth-message-box{background-color:var(--border-light);padding:.75rem;border-radius:.5rem;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.5;text-align:left;margin-bottom:1.5rem}.auth-message-box strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600}.auth-message-box ul{margin:.5rem 0 0 1rem;padding-left:0;list-style-position:inside}.auth-message-box ul li{margin-bottom:.25rem}.auth-icon.error{color:var(--error-color);background-color:var(--error-surface)}.auth-icon.success{color:var(--success-color);background-color:var(--success-surface)}.auth-form-submit-button:focus-visible,.social-login-button:focus-visible,.back-button:focus-visible,.auth-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.auth-topbar{--auth-topbar-h: 80px;height:var(--auth-topbar-h);position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:var(--brand-clear-space)}.auth-brand{font-weight:800;letter-spacing:.3px;text-decoration:none;font-size:var(--font-size-xl);color:var(--brand-color)}.auth-brand-logo{display:block;height:var(--brand-logo-height);width:auto}.auth-topbar .theme-toggle-btn{width:40px;height:40px}.auth-topbar .theme-toggle-btn .anticon{font-size:var(--font-size-xl)}@media(max-height:700px){.auth-container{padding:1.25rem}.auth-page-content{padding-top:1rem;padding-bottom:1rem}}.sso-callback-content{display:flex;justify-content:center;align-items:center;height:100%}.sso-callback-card{background:var(--surface-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:48px;width:100%;max-width:480px;box-shadow:var(--shadow-md);text-align:center}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader-container h2{margin-top:32px;margin-bottom:8px;font-size:var(--font-size-2xl);color:var(--text-primary)}.loader-container p{color:var(--text-secondary);font-size:.95rem}.pulse-loader{position:relative;width:100px;height:100px;display:flex;justify-content:center;align-items:center}.pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:4px solid var(--primary-color);opacity:0;animation:pulse-ring-animation 2s cubic-bezier(.215,.61,.355,1) infinite}.pulse-core{position:relative;width:88px;height:88px;background:var(--surface-color);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-md);z-index:10}.loader-logo{width:40px;height:40px;object-fit:contain}@keyframes pulse-ring-animation{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes pulse-core-animation{0%{transform:scale(.95)}to{transform:scale(1.05)}}.sso-login-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;background:var(--primary-color);color:var(--primary-text);border:none;border-radius:var(--radius-lg);padding:16px 24px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing),border-color var(--transition-duration) var(--transition-timing)}.sso-login-button:hover{box-shadow:var(--shadow-md)}.sso-login-button:active{transform:translateY(0)}.sso-buttons-container{display:flex;gap:12px;flex-direction:column;width:100%;margin-top:24px}.auth-header-title{font-size:var(--font-size-2xl)}.center-content{justify-content:center}.sso-login-button--secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.sso-login-button--secondary:hover{background-color:var(--border-light)}.result-title{color:var(--text-primary)}.error-container{display:flex;flex-direction:column;align-items:center}.error-container h2{margin-top:16px;margin-bottom:8px;font-size:var(--font-size-2xl);color:var(--text-primary)}.error-container p{color:var(--text-secondary);font-size:.95rem;margin-bottom:24px;text-align:center}.error-icon{width:64px;height:64px;background:var(--error-surface);color:var(--error-color);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:2rem;margin-bottom:8px}.auth-page-icon-badge{margin:0 auto var(--spacing-md) auto;width:48px;height:48px;border-radius:var(--radius-lg);display:flex;justify-content:center;align-items:center;box-shadow:var(--shadow-md)}.auth-page-icon-badge__icon{font-size:var(--font-size-xl);color:var(--link-color)}.auth-header--sso{margin-bottom:var(--spacing-xl)}.auth-header--sso h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.auth-header--sso p{font-size:var(--font-size-base);color:var(--text-secondary)}.auth-page-provider-badge{margin-top:var(--spacing-xl);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.auth-page-provider-badge__logo{height:16px;opacity:.7}.auth-page-provider-badge__logo--dark{opacity:.9}
