p{margin:0;line-height:1.5;color:var(--text-secondary)}a{color:inherit;text-decoration:none;transition:all .2s ease}a:hover{color:var(--primary-color)}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.6;pointer-events:none;box-shadow:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}.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:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.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:all .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@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}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.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:1.25rem}.hotel-management-page__header p{color:var(--text-secondary);font-size:.875rem}.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-sm)}.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:all .2s ease;box-shadow:var(--shadow-sm)}.hotel-management-page__content--list .hotel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.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:.875rem}.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:all .3s ease;box-shadow:var(--shadow-sm);position:relative}.hotel-management-page__content--grid .hotel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hotel-management-page__content--grid .hotel-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--success-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,#0009);pointer-events:none}.hotel-management-page__content--grid .hotel-card__image .managers-badge{position:absolute;bottom:.5rem;left:.5rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;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:.875rem;margin:0}.hotel-management-page__content--grid .hotel-card__location{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:.875rem;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:.75rem}.hotel-management-page__content--grid .hotel-card__stats .stat-item .anticon{color:var(--text-muted);font-size:.75rem}.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:.75rem}.hotel-management-page__content--grid .hotel-card__footer-rating .anticon{color:#faad14}.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:.75rem}.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:.75rem;font-weight:500;text-transform:capitalize}.status-badge--active{background:#dcfce7;color:#166534}.status-badge--inactive{background:#f1f5f9;color:#475569}.status-badge--maintenance{background:#fef3c7;color:#92400e}.status-badge--construction{background:#fed7aa;color:#c2410c}.category-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;color:#fff}.category-badge--5-star{background:#eab308}.category-badge--4-star{background:#3b82f6}.category-badge--3-star{background:#10b981}.category-badge--boutique{background:#8b5cf6}.category-badge--luxury{background:#ec4899}.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:.875rem;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:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.hotel-dialog__stats .stat-card .stat-label{font-size:.875rem;color:var(--text-secondary)}.dark-theme .status-badge--active{background:#166534;color:#dcfce7}.dark-theme .status-badge--inactive{background:#475569;color:#f1f5f9}.dark-theme .status-badge--maintenance{background:#92400e;color:#fef3c7}.dark-theme .status-badge--construction{background:#c2410c;color:#fed7aa}.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:all .3s ease;box-shadow:var(--shadow-sm)}.hotels-grid .hotel-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.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:.6875rem;padding:.125rem .5rem}.hotels-grid .hotel-card__content{padding:.5rem}.hotels-grid .hotel-card__header h3{font-size:.875rem;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:.75rem}.hotels-grid .hotel-card__stats .stat-item .anticon{font-size:.75rem}.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:.75rem;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)}}html,body{margin:0;padding:0;height:100%;width:100%;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}#root{height:100%;width:100%}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6,p{margin:0}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none;padding:0;margin:0}a{color:inherit;text-decoration:none}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.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(--primary-color);font-size:1.125rem}.create-hotel-modal .ant-modal-body .ant-form .ant-form-item-label>label{font-weight:500;color:var(--text-primary);font-size:.875rem}.create-hotel-modal .ant-modal-body .ant-form .ant-input,.create-hotel-modal .ant-modal-body .ant-form .ant-input-number,.create-hotel-modal .ant-modal-body .ant-form .ant-select-selector{border-radius:var(--radius-sm);border-color:var(--border-color)}.create-hotel-modal .ant-modal-body .ant-form .ant-input:hover,.create-hotel-modal .ant-modal-body .ant-form .ant-input-number:hover,.create-hotel-modal .ant-modal-body .ant-form .ant-select-selector:hover{border-color:var(--primary-color)}.create-hotel-modal .ant-modal-body .ant-form .ant-input:focus,.create-hotel-modal .ant-modal-body .ant-form .ant-input.ant-input-focused,.create-hotel-modal .ant-modal-body .ant-form .ant-input.ant-select-focused .ant-select-selector,.create-hotel-modal .ant-modal-body .ant-form .ant-input-number:focus,.create-hotel-modal .ant-modal-body .ant-form .ant-input-number.ant-input-focused,.create-hotel-modal .ant-modal-body .ant-form .ant-input-number.ant-select-focused .ant-select-selector,.create-hotel-modal .ant-modal-body .ant-form .ant-select-selector:focus,.create-hotel-modal .ant-modal-body .ant-form .ant-select-selector.ant-input-focused,.create-hotel-modal .ant-modal-body .ant-form .ant-select-selector.ant-select-focused .ant-select-selector{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.create-hotel-modal .ant-modal-body .ant-form .ant-input::placeholder{color:var(--text-muted);font-size:.875rem}.create-hotel-modal .ant-modal-body .ant-form .ant-form-item-has-error .ant-input,.create-hotel-modal .ant-modal-body .ant-form .ant-form-item-has-error .ant-input-number,.create-hotel-modal .ant-modal-body .ant-form .ant-form-item-has-error .ant-select-selector{border-color:var(--error-color)}.create-hotel-modal .ant-modal-body h4{color:var(--text-primary);font-size:.875rem;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{height:36px;padding:0 16px;font-size:.875rem;border-radius:var(--radius-sm)}.create-hotel-modal .ant-modal-footer .ant-btn.ant-btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.create-hotel-modal .ant-modal-footer .ant-btn.ant-btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}@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:color-mix(in srgb,var(--surface-color) 98%,var(--text-primary));border:1px solid color-mix(in srgb,var(--border-color) 88%,transparent);border-radius:10px;box-shadow:0 8px 24px #0f172a1c,0 2px 6px #0f172a0f;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:7px;background:color-mix(in srgb,var(--notification-accent) 11%,transparent);color:var(--notification-accent);font-size:14px}.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:13px;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:12px;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)}.dark-theme .ant-notification .ant-notification-notice-wrapper .qv-notification.ant-notification-notice{box-shadow:0 10px 28px #00000061,0 2px 7px #0000003d}.sidebar-hotel-dropdown{width:100%}.sidebar-hotel-dropdown .hotel-display{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;transition:all .15s ease}.sidebar-hotel-dropdown .hotel-display:hover{background-color:var(--hover-color)}.sidebar-hotel-dropdown .hotel-display .hotel-icon{width:28px;height:28px;border-radius:4px;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:.75rem}.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:.875rem;color:var(--text-primary);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-hotel-dropdown .hotel-display .hotel-info .hotel-location{display:block;font-size:.75rem;color:var(--text-muted);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-hotel-dropdown .hotel-display .hotel-info .hotel-status{display:block;font-size:.625rem;color:var(--error-color);line-height:1.1}.sidebar-hotel-dropdown .hotel-display .dropdown-arrow{color:var(--text-secondary);font-size:.625rem;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:6px;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:4px}.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:4px;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:inset 3px 0 0 var(--primary-color)}.sidebar-hotel-dropdown-overlay .ant-dropdown-menu .ant-dropdown-menu-item .sidebar-hotel-menu-item.selected .menu-hotel-name{font-weight:600;color:var(--primary-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(--primary-color);font-size:.8125rem}.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(--primary-color)!important;font-weight:600!important}.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)!important}.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:4px;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:.625rem}.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:.875rem;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:.75rem;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:14px;color:var(--text-primary)}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-header .active-indicator{color:var(--primary-color);font-size:12px}.hotel-dropdown-menu-item .menu-hotel-info .menu-hotel-location{font-size:12px;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:13px}.hotel-dropdown-error .anticon,.hotel-dropdown-empty .anticon{font-size:12px}.hotel-dropdown-error{color:var(--error-color)}.app-sidebar .sidebar-header .sidebar-logo{display:flex;align-items:center;gap:12px;text-decoration:none;transition:all .3s ease}.app-sidebar .sidebar-header .sidebar-logo .brand-logo{width:auto;height:32px;object-fit:contain}.app-sidebar .sidebar-header .sidebar-logo .logo-icon{font-size:24px;flex-shrink:0;transition:all .3s ease}.app-sidebar.collapsed .sidebar-header .sidebar-logo .brand-logo{width:34px;height:34px}.app-sidebar.collapsed .sidebar-header .sidebar-logo .logo-icon{font-size:20px}.app-sidebar.collapsed .sidebar-header .sidebar-logo .logo-text{opacity:0;width:0;overflow:hidden}.ant-btn.ant-btn-primary{color:#fff!important;background-color:var(--primary-color)!important;border-color:var(--primary-color)!important}.ant-btn.ant-btn-primary:hover,.ant-btn.ant-btn-primary:focus{color:#fff!important;background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important}.ant-btn.ant-btn-default{color:var(--text-primary)!important;background-color:var(--surface-color)!important;border-color:var(--border-color)!important}.ant-btn.ant-btn-default:hover,.ant-btn.ant-btn-default:focus{color:var(--primary-color)!important;border-color:var(--primary-color)!important}.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:all .15s ease}.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:.65rem;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:.75rem;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:.625rem;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:.625rem;flex-shrink:0}.header-user-menu-overlay .ant-dropdown-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;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:4px}.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:4px;transition:background-color .15s ease;cursor:pointer;font-size:.75rem;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:.75rem}.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}}.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(--primary-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-sm);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(--primary-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-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:12px 16px;overflow-y:auto;background-color:#fafafb}.dark-theme .app-page-content{background-color:var(--primary-bg)}.app-sidebar{flex-shrink:0;width:240px;background-color:#fff;border-right:1px solid #f0f0f0;display:flex;flex-direction:column;transition:width .2s ease-in-out;position:relative;z-index:100}.app-sidebar.collapsed{width:60px}.app-sidebar.collapsed .sidebar-header{justify-content:center;padding:.75rem .5rem}.app-sidebar.collapsed .sidebar-hotel-section{display:none}.app-sidebar .sidebar-header{padding:.75rem 1rem;height:56px;display:flex;align-items:center;border-bottom:1px solid #f0f0f0;background-color:#fff}.app-sidebar .sidebar-header .sidebar-logo{text-decoration:none;display:flex;align-items:center;width:100%}.app-sidebar .sidebar-header .sidebar-logo .brand-logo{height:28px;width:auto;object-fit:contain;max-width:100%}.app-sidebar .sidebar-hotel-section{border-bottom:1px solid #e5e7eb}.app-sidebar .sidebar-nav{flex-grow:1;padding:.5rem .75rem}.app-sidebar .sidebar-nav .nav-group{margin-bottom:1rem}.app-sidebar .sidebar-nav .nav-group .nav-section-title{font-size:.6rem;font-weight:600;text-transform:uppercase;color:#94a3b8;margin-bottom:.5rem;margin-left:.75rem;letter-spacing:.5px}.app-sidebar .sidebar-nav .nav-link{display:flex;align-items:center;padding:.5rem .4rem;margin-bottom:.125rem;gap:.5rem;border-radius:6px;color:var(--text-secondary);font-weight:500;font-size:.85rem;transition:all .15s ease;text-decoration:none;height:32px;position:relative}.app-sidebar .sidebar-nav .nav-link .nav-link-content{display:flex;align-items:center;gap:.5rem;flex:1;text-decoration:none;color:inherit}.app-sidebar .sidebar-nav .nav-link .nav-icon{font-size:.875rem;flex-shrink:0}.app-sidebar .sidebar-nav .nav-link .nav-label{overflow:hidden;white-space:nowrap}.app-sidebar .sidebar-nav .nav-link .nav-expand-icon{font-size:.625rem;transition:transform .2s ease}.app-sidebar .sidebar-nav .nav-link .nav-expand-icon.expanded{transform:rotate(180deg)}.app-sidebar .sidebar-nav .nav-link.has-subitems{cursor:pointer}.app-sidebar .sidebar-nav .nav-link:hover{background-color:var(--hover-color);color:var(--text-primary)}.app-sidebar .sidebar-nav .nav-link.active{background-color:var(--hover-color);color:var(--primary-color);font-weight:500}.app-sidebar .sidebar-nav .nav-link.hotel-collapsed{justify-content:center;padding:.5rem}.app-sidebar .sidebar-nav .nav-subitems{margin-left:1.5rem;margin-top:.25rem}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink{display:flex;align-items:center;padding:.375rem .5rem;margin-bottom:.125rem;gap:.5rem;border-radius:4px;color:var(--text-secondary);font-size:.85rem;font-weight:400;text-decoration:none;height:28px;transition:all .15s ease}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink .nav-subicon{width:12px;height:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;color:var(--text-muted)}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink .nav-sublabel{overflow:hidden;white-space:nowrap}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink:hover{background-color:var(--hover-color);color:var(--text-primary)}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink.active{background-color:var(--hover-color);color:var(--primary-color);font-weight:500}.app-sidebar .sidebar-nav .nav-subitems .nav-sublink.active .nav-subicon{color:var(--primary-color)}.app-header{height:56px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background-color:#fff;border-bottom:1px solid #f0f0f0;position:relative;z-index:50}.app-header .header-left{display:flex;align-items:center;gap:.75rem}.app-header .header-left .sidebar-toggle-btn{color:#64748b;font-size:.875rem;padding:.25rem;border-radius:4px}.app-header .header-left .sidebar-toggle-btn:hover{color:#1e293b;background-color:#f8fafc}.app-header .header-left .ant-typography{color:#1e293b;font-weight:600;font-size:.875rem;margin:0!important}.app-header .header-right{display:flex;align-items:center;gap:.75rem}.dark-theme .app-sidebar{background-color:var(--container-bg);border-right-color:var(--border-color)}.dark-theme .app-sidebar .sidebar-header,.dark-theme .app-sidebar .sidebar-hotel-section{background-color:var(--container-bg);border-bottom-color:var(--border-color)}.dark-theme .app-sidebar .sidebar-nav .nav-link{color:var(--text-secondary)}.dark-theme .app-sidebar .sidebar-nav .nav-link:hover{background-color:var(--hover-color);color:var(--text-primary)}.dark-theme .app-header{background-color:var(--container-bg);border-bottom-color:var(--border-color)}.dark-theme .app-header .header-left .sidebar-toggle-btn{color:var(--text-secondary)}.dark-theme .app-header .header-left .sidebar-toggle-btn:hover{color:var(--text-primary);background-color:var(--hover-color)}.dark-theme .app-header .header-left .ant-typography{color:var(--text-primary)!important}.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:14px;white-space:nowrap}}:root{--primary-color: #1a1a1a;--primary-hover: #000000;--primary-text: white;--primary-surface: rgba(26, 26, 26, .05);--background-color: #ffffff;--surface-color: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-light: #f1f5f9;--secondary-color: #f8fafc;--success-color: #22c55e;--warning-color: #eab308;--error-color: #ef4444;--info-color: #8b5cf6;--selection-color: #8b5cf6;--selection-color-hover: #7c3aed;--selection-check-color: #ffffff;--media-surface: #0b0b0c;--media-control-text: #1a1a1a;--ant-secondary-color: #d9d9d9;--ant-secondary-color-hover: #262626;--item-type-room-bg: #e6f4ff;--item-type-room-border: #91caff;--item-type-room-text: #0050b3;--item-type-service-bg: #fff7e6;--item-type-service-border: #ffd591;--item-type-service-text: #ad6800;--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-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.625;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-duration: .2s;--transition-timing: ease;--error-surface: rgba(239, 68, 68, .05);--error-border: rgba(239, 68, 68, .3);--success-surface: rgba(34, 197, 94, .05);--success-border: rgba(34, 197, 94, .3);--warning-surface: rgba(234, 179, 8, .05);--warning-border: rgba(234, 179, 8, .3);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--primary-bg: #ffffff;--container-bg: #ffffff;--focus-ring-color: #1a1a1a;--input-bg: #f8fafc;--hover-color: rgba(26, 26, 26, .05);--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--table-header-bg: #ffffff;--table-row-hover: rgba(0, 0, 0, .02);--table-cell-hover: rgba(0, 0, 0, .04)}.dark-theme{--primary-color: #ffffff;--primary-hover: #e4e4e7;--primary-text: #0a0a0a;--primary-surface: rgba(255, 255, 255, .1);--background-color: #0a0a0a;--surface-color: #1a1a1a;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--border-color: #27272a;--border-light: #3f3f46;--secondary-color: #18181b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .8);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .8), 0 4px 6px -2px rgba(0, 0, 0, .6);--ant-secondary-color: #424242;--ant-secondary-color-hover: #e8e8e8;--selection-color: #8b5cf6;--selection-color-hover: #a78bfa;--selection-check-color: #ffffff;--hover-bg: #3f3f46;--active-bg: #27272a;--error-surface: rgba(239, 68, 68, .1);--error-border: rgba(239, 68, 68, .3);--success-surface: rgba(34, 197, 94, .1);--success-border: rgba(34, 197, 94, .3);--warning-surface: rgba(234, 179, 8, .1);--warning-border: rgba(234, 179, 8, .3);--item-type-room-bg: #111a2e;--item-type-room-border: #1677ff;--item-type-room-text: #91caff;--item-type-service-bg: #2b2111;--item-type-service-border: #fa8c16;--item-type-service-text: #ffa940;--primary-bg: #0a0a0a;--container-bg: #1a1a1a;--focus-ring-color: #ffffff;--input-bg: #18181b;--hover-color: rgba(255, 255, 255, .05);--table-header-bg: #1a1a1a;--table-row-hover: rgba(255, 255, 255, .03);--table-cell-hover: rgba(255, 255, 255, .06)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.75rem;line-height:1.3;color:var(--text-primary);background-color:var(--background-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .3s ease}.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-inner,.ant-checkbox:not(.ant-checkbox-disabled):hover .ant-checkbox-inner{border-color:var(--selection-color-hover)}.ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner{background-color:var(--selection-color);border-color:var(--selection-color)}.ant-checkbox-checked:not(.ant-checkbox-disabled) .ant-checkbox-inner:after{border-color:var(--selection-check-color)}.ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-checked .ant-checkbox-inner,.ant-checkbox-checked:not(.ant-checkbox-disabled):hover .ant-checkbox-inner{background-color:var(--selection-color-hover);border-color:var(--selection-color-hover)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:1rem}h2{font-size:.875rem}h3{font-size:.8125rem}h4{font-size:.75rem}h5{font-size:.6875rem}h6{font-size:.625rem}.modern-rounded{border-radius:var(--radius-lg);overflow:hidden}.card-rounded,.button-rounded{border-radius:var(--radius-lg)}.ant-btn{height:28px!important;font-size:.75rem!important;border-radius:6px!important;font-weight:500!important;transition:all .15s ease!important}.ant-btn.ant-btn-sm{height:24px!important;padding:0 6px!important;font-size:.6875rem!important}.ant-btn.ant-btn-primary{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--primary-text)!important}.ant-btn.ant-btn-primary:hover,.ant-btn.ant-btn-primary:focus{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-text)!important}.ant-btn.ant-btn-default{background-color:var(--surface-color)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-btn.ant-btn-default:hover,.ant-btn.ant-btn-default:focus{border-color:var(--primary-color)!important;color:var(--primary-color)!important}.ant-input{height:30px!important;padding:.25rem .5rem!important;font-size:.75rem!important;border-radius:6px!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.ant-input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 1px #1a1a1a1a!important}.ant-input::placeholder{color:var(--text-muted)!important}.ant-select .ant-select-selector{padding:0 .5rem!important;font-size:.75rem!important;border-radius:6px!important;background-color:var(--surface-color)!important}.ant-select.ant-select-focused .ant-select-selector{border-color:var(--primary-color)!important;box-shadow:0 0 0 1px #1a1a1a1a!important}.ant-card{background-color:var(--surface-color)!important;border-color:var(--border-color)!important}.ant-modal .ant-modal-content{border-radius:6px!important;background-color:var(--surface-color)!important}.dark-theme .ant-typography{color:#ffffffe6}.dark-theme .ant-input:focus{box-shadow:0 0 0 2px #ffffff1a!important}.dark-theme .ant-select.ant-select-focused .ant-select-selector{box-shadow:0 0 0 2px #ffffff1a!important}.dark-theme .ant-btn.ant-btn-primary{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--primary-text)!important}.dark-theme .ant-btn.ant-btn-primary:hover,.dark-theme .ant-btn.ant-btn-primary:focus{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-text)!important}.dark-theme .ant-btn.ant-btn-default:hover,.dark-theme .ant-btn.ant-btn-default:focus{background-color:var(--hover-bg)!important;border-color:var(--primary-color)!important;color:var(--primary-color)!important}.ant-segmented{background-color:var(--border-color)!important;padding:1px!important;border-radius:8px!important;box-shadow:inset 0 1px 2px #0000001a}.ant-segmented .ant-segmented-item{border-radius:6px!important;color:var(--text-secondary);transition:all .3s ease;margin:2px}.ant-segmented .ant-segmented-item:hover{color:var(--text-primary);background-color:var(--hover-color)}.ant-segmented .ant-segmented-item-selected{background-color:var(--surface-color)!important}.dashboard-page{min-height:100%}.dashboard-page .dashboard-header h1{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.dashboard-page .dashboard-header p{color:var(--text-secondary);font-size:.8125rem}.dashboard-page .dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.dashboard-page .dashboard-stats .stat-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;transition:all .3s ease}.dashboard-page .dashboard-stats .stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.dashboard-page .dashboard-stats .stat-card .stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.dashboard-page .dashboard-stats .stat-card .stat-header .stat-title{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.dashboard-page .dashboard-stats .stat-card .stat-header .stat-icon{width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:#1a1a1a1a;color:var(--primary-color)}.dashboard-page .dashboard-stats .stat-card .stat-header .stat-icon .anticon{font-size:1rem}.dashboard-page .dashboard-stats .stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.dashboard-page .dashboard-stats .stat-card .stat-change{font-size:.75rem;font-weight:500}.dashboard-page .dashboard-stats .stat-card .stat-change.positive{color:var(--success-color)}.dashboard-page .dashboard-stats .stat-card .stat-change.negative{color:var(--error-color)}.rooms-page{padding:1rem;background-color:var(--background-color);min-height:100%}.rooms-page .rooms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.rooms-page .rooms-header .header-text h1{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.rooms-page .rooms-header .header-text p{color:var(--text-secondary);font-size:.8125rem}.rooms-page .rooms-header .add-room-btn{height:32px;padding:0 12px;font-size:.8125rem;border-radius:var(--radius-sm)}.rooms-page .rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.rooms-page .rooms-grid .room-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.rooms-page .rooms-grid .room-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.rooms-page .rooms-grid .room-card .room-image{height:160px;background:var(--border-light);display:flex;align-items:center;justify-content:center}.rooms-page .rooms-grid .room-card .room-image img{width:100%;height:100%;object-fit:cover}.rooms-page .rooms-grid .room-card .room-image .anticon{font-size:2rem;color:var(--text-muted)}.rooms-page .rooms-grid .room-card .room-content{padding:1rem}.rooms-page .rooms-grid .room-card .room-content .room-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.rooms-page .rooms-grid .room-card .room-content .room-header h3{color:var(--text-primary);font-size:.9375rem;font-weight:600}.rooms-page .rooms-grid .room-card .room-content .room-header .room-price{color:var(--primary-color);font-weight:600;font-size:.875rem}.rooms-page .rooms-grid .room-card .room-content .room-details{color:var(--text-secondary);font-size:.8125rem;margin-bottom:.75rem}.rooms-page .rooms-grid .room-card .room-content .room-details .detail-item{display:flex;align-items:center;gap:.25rem;margin-bottom:.25rem}.rooms-page .rooms-grid .room-card .room-content .room-details .detail-item .anticon{font-size:.875rem;color:var(--text-muted)}.rooms-page .rooms-grid .room-card .room-content .room-actions{display:flex;gap:.5rem}.rooms-page .rooms-grid .room-card .room-content .room-actions .ant-btn{height:28px;padding:0 8px;font-size:.75rem;border-radius:var(--radius-sm)}.bookings-page{padding:1rem;background-color:var(--background-color);min-height:100%}.bookings-page .bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.bookings-page .bookings-header h1{color:var(--text-primary);font-size:1.125rem;font-weight:600}.bookings-page .bookings-header .booking-filters{display:flex;gap:.5rem}.bookings-page .bookings-header .booking-filters .ant-select{min-width:120px}.bookings-page .bookings-header .booking-filters .ant-select .ant-select-selector{height:32px;font-size:.8125rem;border-radius:var(--radius-sm)}.bookings-page .bookings-table{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.bookings-page .bookings-table .ant-table{font-size:.8125rem}.bookings-page .bookings-table .ant-table .ant-table-thead>tr>th{background:var(--border-light);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-primary);font-size:.75rem;padding:8px 12px}.bookings-page .bookings-table .ant-table .ant-table-tbody>tr>td{padding:8px 12px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.bookings-page .bookings-table .ant-table .ant-table-tbody>tr:hover>td{background:var(--border-light)}.bookings-page .bookings-table .booking-status{padding:.25rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:capitalize}.bookings-page .bookings-table .booking-status.confirmed{background:#10b9811a;color:var(--success-color)}.bookings-page .bookings-table .booking-status.pending{background:#f59e0b1a;color:var(--warning-color)}.bookings-page .bookings-table .booking-status.cancelled{background:#ef44441a;color:var(--error-color)}.revenue-page{padding:1rem;background-color:var(--background-color);min-height:100%}.revenue-page .revenue-header{margin-bottom:1.5rem}.revenue-page .revenue-header h1{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.revenue-page .revenue-header .date-range-picker .ant-picker{height:32px;font-size:.8125rem;border-radius:var(--radius-sm)}.revenue-page .revenue-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.revenue-page .revenue-cards .revenue-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;text-align:center;transition:all .3s ease}.revenue-page .revenue-cards .revenue-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.revenue-page .revenue-cards .revenue-card .revenue-amount{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.revenue-page .revenue-cards .revenue-card .revenue-label{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem}.revenue-page .revenue-cards .revenue-card .revenue-change{font-size:.75rem;font-weight:500}.revenue-page .revenue-cards .revenue-card .revenue-change.positive{color:var(--success-color)}.revenue-page .revenue-cards .revenue-card .revenue-change.negative{color:var(--error-color)}.revenue-page .revenue-chart{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem}.revenue-page .revenue-chart .chart-header{margin-bottom:1rem}.revenue-page .revenue-chart .chart-header h3{color:var(--text-primary);font-size:1rem;font-weight:600}.dark-theme .dashboard-page,.dark-theme .rooms-page,.dark-theme .bookings-page,.dark-theme .revenue-page{background-color:var(--background-color)}.dark-theme .dashboard-page .stat-card,.dark-theme .dashboard-page .room-card,.dark-theme .dashboard-page .bookings-table,.dark-theme .dashboard-page .revenue-card,.dark-theme .dashboard-page .revenue-chart,.dark-theme .rooms-page .stat-card,.dark-theme .rooms-page .room-card,.dark-theme .rooms-page .bookings-table,.dark-theme .rooms-page .revenue-card,.dark-theme .rooms-page .revenue-chart,.dark-theme .bookings-page .stat-card,.dark-theme .bookings-page .room-card,.dark-theme .bookings-page .bookings-table,.dark-theme .bookings-page .revenue-card,.dark-theme .bookings-page .revenue-chart,.dark-theme .revenue-page .stat-card,.dark-theme .revenue-page .room-card,.dark-theme .revenue-page .bookings-table,.dark-theme .revenue-page .revenue-card,.dark-theme .revenue-page .revenue-chart{background:var(--surface-color);border-color:var(--border-color)}.dark-theme .dashboard-page .stat-card:hover,.dark-theme .dashboard-page .room-card:hover,.dark-theme .dashboard-page .bookings-table:hover,.dark-theme .dashboard-page .revenue-card:hover,.dark-theme .dashboard-page .revenue-chart:hover,.dark-theme .rooms-page .stat-card:hover,.dark-theme .rooms-page .room-card:hover,.dark-theme .rooms-page .bookings-table:hover,.dark-theme .rooms-page .revenue-card:hover,.dark-theme .rooms-page .revenue-chart:hover,.dark-theme .bookings-page .stat-card:hover,.dark-theme .bookings-page .room-card:hover,.dark-theme .bookings-page .bookings-table:hover,.dark-theme .bookings-page .revenue-card:hover,.dark-theme .bookings-page .revenue-chart:hover,.dark-theme .revenue-page .stat-card:hover,.dark-theme .revenue-page .room-card:hover,.dark-theme .revenue-page .bookings-table:hover,.dark-theme .revenue-page .revenue-card:hover,.dark-theme .revenue-page .revenue-chart:hover{border-color:var(--primary-color)}.dark-theme .dashboard-page h1,.dark-theme .dashboard-page h2,.dark-theme .dashboard-page h3,.dark-theme .dashboard-page h4,.dark-theme .dashboard-page h5,.dark-theme .dashboard-page h6,.dark-theme .rooms-page h1,.dark-theme .rooms-page h2,.dark-theme .rooms-page h3,.dark-theme .rooms-page h4,.dark-theme .rooms-page h5,.dark-theme .rooms-page h6,.dark-theme .bookings-page h1,.dark-theme .bookings-page h2,.dark-theme .bookings-page h3,.dark-theme .bookings-page h4,.dark-theme .bookings-page h5,.dark-theme .bookings-page h6,.dark-theme .revenue-page h1,.dark-theme .revenue-page h2,.dark-theme .revenue-page h3,.dark-theme .revenue-page h4,.dark-theme .revenue-page h5,.dark-theme .revenue-page h6{color:var(--text-primary)}.dark-theme .dashboard-page .stat-icon,.dark-theme .rooms-page .stat-icon,.dark-theme .bookings-page .stat-icon,.dark-theme .revenue-page .stat-icon{color:var(--primary-color)}.dark-theme .bookings-table .ant-table-thead>tr>th{background:var(--border-color);color:var(--text-primary)}.dark-theme .bookings-table .ant-table-tbody>tr>td{color:var(--text-secondary)}.dark-theme .bookings-table .ant-table-tbody>tr:hover>td{background:var(--border-color)}@media(max-width:768px){.dashboard-stats,.revenue-cards{grid-template-columns:repeat(2,1fr)}.rooms-grid{grid-template-columns:1fr}.bookings-header,.rooms-header{flex-direction:column;align-items:stretch;gap:1rem}.bookings-header .booking-filters,.rooms-header .booking-filters{justify-content:center}}@media(max-width:480px){.dashboard-stats,.revenue-cards{grid-template-columns:1fr}}.qvb-app-root{height:100%;width:100%;overflow:auto;background-color:var(--background-color);transition:all .3s ease}html,body{background-color:var(--background-color);color:var(--text-primary);transition:all .3s ease;overflow:hidden}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}textarea.ant-input:not(.room-description-input):not(.inventory-description-input){overflow:hidden;height:unset!important;max-height:auto!important;min-height:auto!important;resize:none!important}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:6px}.dark-theme .ant-btn.ant-btn-default{background-color:var(--surface-color)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.dark-theme .ant-btn.ant-btn-default:hover{border-color:var(--primary-color)!important;color:var(--primary-color)!important}.qv-app-layout{display:flex;min-height:100vh;width:100%;overflow-x:hidden;background-color:var(--background-color)}.qv-app-layout .qv-sidebar-container{display:flex;flex-direction:column;background-color:var(--surface-color);border-right:1px solid var(--border-color)}.qv-app-layout .qv-sidebar-container .qv-sidebar-header{height:45px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding-left:6px}.qv-app-layout .qv-sidebar-container .qv-sidebar{height:calc(100vh - 42px);display:flex}.qv-app-layout .qv-sidebar-container .qv-primary-sidebar{width:45px;overflow:hidden;display:flex;flex-direction:column}.qv-app-layout .qv-sidebar-container .qv-sidebar-navigation{height:calc(100% - 90px);display:flex;flex-direction:column;align-items:center}.qv-app-layout .qv-sidebar-container .qv-sidebar-navigation button{margin-top:12px}.qv-app-layout .qv-sidebar-container .qv-sidebar-footer{height:90px;width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-around}.qv-app-layout .qv-sidebar-container .qv-secondary-sidebar{width:200px;border-left:1px solid var(--border-color)}.qv-app-layout .qv-content-area{padding-left:16px;padding-right:16px;flex-grow:1}.qv-app-layout .qv-content-area .qv-top-nav{height:42px;display:flex;justify-content:space-between;align-items:center}.qv-app-layout .qv-content-area .qv-main-content{min-height:calc(100vh - 42px);background-color:var(--background-color);border-radius:var(--radius-lg)}.qv-footar-menu-root{display:flex;flex-direction:column;gap:8px}.qv-footar-menu-root .qv-footar-menu-option{display:flex;flex-direction:row;justify-content:space-between}.route-permission-loading{width:100%;padding:24px}.qv-not-found-container{height:100%;width:100%;overflow:hidden;display:flex;justify-content:center}.qv-login-root,.qv-signup-root{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--background-color);transition:all .3s ease;padding:1rem}.qv-login-container,.qv-signup-container{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:all .3s ease;width:100%;max-width:400px;padding:2rem}.qv-login-container .qv-login-form,.qv-login-container .qv-signup-form,.qv-signup-container .qv-login-form,.qv-signup-container .qv-signup-form{width:100%}.qv-login-container .qv-login-form .qv-form-group,.qv-login-container .qv-login-form .qv-form-field,.qv-login-container .qv-signup-form .qv-form-group,.qv-login-container .qv-signup-form .qv-form-field,.qv-signup-container .qv-login-form .qv-form-group,.qv-signup-container .qv-login-form .qv-form-field,.qv-signup-container .qv-signup-form .qv-form-group,.qv-signup-container .qv-signup-form .qv-form-field{margin-bottom:1.5rem}.qv-login-container .qv-login-form .qv-form-group .qv-form-label,.qv-login-container .qv-login-form .qv-form-field .qv-form-label,.qv-login-container .qv-signup-form .qv-form-group .qv-form-label,.qv-login-container .qv-signup-form .qv-form-field .qv-form-label,.qv-signup-container .qv-login-form .qv-form-group .qv-form-label,.qv-signup-container .qv-login-form .qv-form-field .qv-form-label,.qv-signup-container .qv-signup-form .qv-form-group .qv-form-label,.qv-signup-container .qv-signup-form .qv-form-field .qv-form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.8125rem}.qv-login-container .qv-login-form .qv-form-group .qv-form-input,.qv-login-container .qv-login-form .qv-form-field .qv-form-input,.qv-login-container .qv-signup-form .qv-form-group .qv-form-input,.qv-login-container .qv-signup-form .qv-form-field .qv-form-input,.qv-signup-container .qv-login-form .qv-form-group .qv-form-input,.qv-signup-container .qv-login-form .qv-form-field .qv-form-input,.qv-signup-container .qv-signup-form .qv-form-group .qv-form-input,.qv-signup-container .qv-signup-form .qv-form-field .qv-form-input{width:100%;height:36px;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.8125rem;background-color:var(--surface-color);color:var(--text-primary);transition:all .2s ease}.qv-login-container .qv-login-form .qv-form-group .qv-form-input:focus,.qv-login-container .qv-login-form .qv-form-field .qv-form-input:focus,.qv-login-container .qv-signup-form .qv-form-group .qv-form-input:focus,.qv-login-container .qv-signup-form .qv-form-field .qv-form-input:focus,.qv-signup-container .qv-login-form .qv-form-group .qv-form-input:focus,.qv-signup-container .qv-login-form .qv-form-field .qv-form-input:focus,.qv-signup-container .qv-signup-form .qv-form-group .qv-form-input:focus,.qv-signup-container .qv-signup-form .qv-form-field .qv-form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #1a1a1a1a}.qv-login-container .qv-login-form .qv-form-group .qv-form-input::placeholder,.qv-login-container .qv-login-form .qv-form-field .qv-form-input::placeholder,.qv-login-container .qv-signup-form .qv-form-group .qv-form-input::placeholder,.qv-login-container .qv-signup-form .qv-form-field .qv-form-input::placeholder,.qv-signup-container .qv-login-form .qv-form-group .qv-form-input::placeholder,.qv-signup-container .qv-login-form .qv-form-field .qv-form-input::placeholder,.qv-signup-container .qv-signup-form .qv-form-group .qv-form-input::placeholder,.qv-signup-container .qv-signup-form .qv-form-field .qv-form-input::placeholder{color:var(--text-muted)}.qv-login-container .qv-login-form .qv-login-button,.qv-login-container .qv-login-form .qv-signup-button,.qv-login-container .qv-signup-form .qv-login-button,.qv-login-container .qv-signup-form .qv-signup-button,.qv-signup-container .qv-login-form .qv-login-button,.qv-signup-container .qv-login-form .qv-signup-button,.qv-signup-container .qv-signup-form .qv-login-button,.qv-signup-container .qv-signup-form .qv-signup-button{width:100%;height:36px;padding:0 .75rem;background-color:var(--primary-color);color:var(--primary-text);border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.qv-login-container .qv-login-form .qv-login-button:hover,.qv-login-container .qv-login-form .qv-signup-button:hover,.qv-login-container .qv-signup-form .qv-login-button:hover,.qv-login-container .qv-signup-form .qv-signup-button:hover,.qv-signup-container .qv-login-form .qv-login-button:hover,.qv-signup-container .qv-login-form .qv-signup-button:hover,.qv-signup-container .qv-signup-form .qv-login-button:hover,.qv-signup-container .qv-signup-form .qv-signup-button:hover{background-color:var(--primary-hover)}.qv-login-container .qv-login-form .qv-login-button:disabled,.qv-login-container .qv-login-form .qv-signup-button:disabled,.qv-login-container .qv-signup-form .qv-login-button:disabled,.qv-login-container .qv-signup-form .qv-signup-button:disabled,.qv-signup-container .qv-login-form .qv-login-button:disabled,.qv-signup-container .qv-login-form .qv-signup-button:disabled,.qv-signup-container .qv-signup-form .qv-login-button:disabled,.qv-signup-container .qv-signup-form .qv-signup-button:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed}.qv-login-container .qv-login-form .qv-error-message,.qv-login-container .qv-signup-form .qv-error-message,.qv-signup-container .qv-login-form .qv-error-message,.qv-signup-container .qv-signup-form .qv-error-message{color:var(--error-color);margin-bottom:1rem;text-align:center;font-size:.8125rem}.qv-login-container .auth-theme-toggle,.qv-signup-container .auth-theme-toggle{position:absolute;top:1rem;right:1rem}.dark-theme .qv-form-input:focus{box-shadow:0 0 0 2px #ffffff1a!important}.ant-modal .ant-modal-header{background:transparent!important}.ant-form-item{margin-bottom:8px}.ant-select-dropdown .ant-select-item.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background-color:#00000008}.ant-typography.ant-typography-secondary{color:unset}.auth-page-root{display:flex;flex-direction:column;height:100dvh;min-height:100vh;background-color:var(--background-color);font-family:Inter,sans-serif;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:linear-gradient(to bottom,color-mix(in oklab,var(--background-color) 85%,transparent),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-root.dark-theme:after{background:linear-gradient(to bottom,color-mix(in oklab,var(--background-color) 82%,transparent),color-mix(in oklab,var(--background-color) 82%,transparent))}.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-lg);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:18px;color:var(--text-primary)}.auth-header{text-align:center;margin-bottom:1.25rem}.auth-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.auth-header p{font-size:14px;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:15px;cursor:pointer;transition:all .2s ease;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:18px}.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(--secondary-text);font-size:12px;text-transform:uppercase}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;height:1px;background-color:var(--divider-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(--secondary-text);font-size:14px;font-weight:500;margin-bottom:.25rem;display:block}.auth-input{background-color:var(--surface-color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;height:40px;width:100%;padding:0 .875rem;color:var(--text-primary)!important;font-size:15px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.auth-input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #1a1a1a1a!important;outline:none}.auth-input::placeholder{color:var(--text-muted)!important}.auth-input.ant-input-password{display:flex;align-items:center;background-color:var(--surface-color)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-lg)!important;height:40px;width:100%;padding:0 11px;box-shadow:none!important}.auth-input.ant-input-password input.ant-input{background-color:transparent!important;border:none!important;box-shadow:none!important;height:100%;color:var(--text-primary)!important;font-size:15px;padding-left:0}.auth-input.ant-input-password input.ant-input::placeholder{color:var(--text-muted)!important}.auth-input.ant-input-password.ant-input-affix-wrapper-focused,.auth-input.ant-input-password:focus,.auth-input.ant-input-password:focus-within{border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #1a1a1a1a!important}.auth-input.ant-input-password.ant-input-affix-wrapper-status-error{border-color:var(--error-color)!important}.auth-input.ant-input-password.ant-input-affix-wrapper-status-error.ant-input-affix-wrapper-focused,.auth-input.ant-input-password.ant-input-affix-wrapper-status-error:focus-within{box-shadow:0 0 0 2px #ef444433!important}.auth-input.ant-input-password .anticon.input-icon-prefix{color:var(--text-primary);font-size:1rem;margin-right:8px}.auth-input.ant-input-password .ant-input-suffix .ant-input-password-icon{color:var(--text-primary);font-size:1rem;cursor:pointer;background:transparent;border:none;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{color:var(--secondary-text);border:1px solid var(--border-color);border-radius:4px;padding:0 5px}.dark-theme .auth-input:focus{box-shadow:0 0 0 2px #ffffff1a!important}.dark-theme .auth-input.ant-input-password.ant-input-affix-wrapper-focused,.dark-theme .auth-input.ant-input-password:focus,.dark-theme .auth-input.ant-input-password:focus-within{box-shadow:0 0 0 2px #ffffff1a!important}.dark-theme .auth-input.ant-input-password.ant-input-affix-wrapper-status-error.ant-input-affix-wrapper-focused,.dark-theme .auth-input.ant-input-password.ant-input-affix-wrapper-status-error:focus-within{box-shadow:0 0 0 2px #ef444433!important}.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(--secondary-text);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(--secondary-text);font-size:1rem}.auth-input-with-icon .toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--secondary-text);cursor:pointer;background:none;border:none;padding:0;font-size:1rem}.auth-form-submit-button{width:100%;height:40px;font-size:15px;font-weight:600;background-color:var(--primary-color)!important;color:var(--primary-text)!important;border:1px solid var(--primary-color)!important;border-radius:var(--radius-lg)!important;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(--primary-color);text-decoration:none;font-weight:500;transition:all .2s ease;cursor:pointer;font-size:14px}.auth-link:hover{color:var(--primary-hover);text-decoration:underline}.auth-footer{display:flex;justify-content:center;margin-top:1.25rem;font-size:14px;color:var(--secondary-text)}.auth-footer .auth-link{margin-left:.375rem}.auth-message{text-align:center;margin-bottom:1rem;color:var(--secondary-text);font-size:14px}.password-validation-checklist{margin-top:.5rem}.password-validation-checklist .rule-item{display:flex;align-items:center;font-size:12px;margin-bottom:.25rem;transition:color .3s ease}.password-validation-checklist .rule-item .rule-icon{font-size:12px;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(--secondary-text)}.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(--otp-input-border, var(--border-color));border-radius:.375rem;background-color:var(--otp-input-bg, var(--input-bg));color:var(--otp-input-text, var(--primary-text));font-size:1.125rem;text-align:center}.otp-input-container .otp-input:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 2px #4a6cf733}.resend-code{display:flex;align-items:center;justify-content:center;margin-top:.875rem;color:var(--secondary-text);font-size:.8125rem}.resend-code .countdown{margin-left:.375rem;color:var(--accent-color)}.back-button{display:flex;align-items:center;justify-content:center;margin-top:1.25rem;color:var(--secondary-text);font-size:14px;background:none;border:none;cursor:pointer;padding:.375rem;width:100%;text-decoration:none}.back-button svg{margin-right:.375rem;font-size:12px}.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:12px;margin-top:.25rem}.auth-error-message{margin-top:.875rem;padding:.625rem;background-color:#ef44441a;border-radius:.375rem;font-size:.8125rem;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:.875rem;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:#ef44441a}.auth-icon.success{color:var(--success-color, #52c41a);background-color:#52c41a1a}.auth-form-submit-button:focus-visible,.social-login-button:focus-visible,.back-button:focus-visible,.auth-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.dark-theme .auth-container{box-shadow:var(--shadow-md)}.auth-topbar{--auth-topbar-h: 56px;height:var(--auth-topbar-h);position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.5rem 1rem}.auth-brand{font-weight:800;letter-spacing:.3px;text-decoration:none;font-size:1.25rem;color:var(--brand-color, #6f63ff)}.auth-brand-logo{display:block;height:24px;width:auto}.dark-theme .auth-brand{background:transparent;box-shadow:none}.auth-topbar .theme-toggle-btn{width:40px!important;height:40px!important}.auth-topbar .theme-toggle-btn .anticon{font-size:20px}@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-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:24px;padding:48px;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000040;text-align:center}.dark-theme .sso-callback-card{background:#1a1a1a99;border:1px solid rgba(255,255,255,.08)}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.loader-container h2{margin-top:32px;margin-bottom:8px;font-size:1.5rem;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:60px;height:60px;background:var(--surface-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #0000001a;z-index:10}.dark-theme .pulse-core{background:#fff;box-shadow:0 4px 12px #0000004d}.loader-logo{width:40px;height:40px;animation:pulse-core-animation 2s ease-in-out infinite alternate}@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:12px;padding:16px 24px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.sso-login-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--primary-color)}.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:24px}.center-content{justify-content:center}.sso-login-button--secondary{background-color:transparent!important;border:1px solid var(--border-color)!important;color:var(--text-color)!important}.sso-login-button--secondary:hover{background-color:var(--border-light)!important}.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:1.5rem;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:#fee2e2;color:#ef4444;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:2rem;margin-bottom:8px}.dark-theme .error-icon{background:#ef444433}.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:inset 0 0 0 1px #4f46e526}.auth-page-icon-badge__icon{font-size:20px;color:var(--primary-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}
