#root,.app-container{width:100%;min-height:100vh}.simple-date-picker{position:relative;display:inline-block}.simple-date-input{border:1px solid #d9d9d9;border-radius:6px;padding:4px 11px;cursor:pointer;background:#fff;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;min-width:110px;font-size:13px}.simple-date-picker.small .simple-date-input{height:30px;font-size:13px}.simple-date-picker.middle .simple-date-input{height:36px;font-size:14px}.simple-date-picker.large .simple-date-input{height:42px;font-size:16px}.simple-date-input:hover{border-color:#1890ff}.simple-date-input:focus-within{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.date-text{flex:1;color:#000000d9}.date-text:empty:before{content:attr(placeholder);color:#bfbfbf}.calendar-icon{color:#bfbfbf;font-size:12px;margin-left:8px}.simple-date-dropdown{position:absolute;top:100%;left:0;z-index:1050;background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;margin-top:4px;width:280px}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #f0f0f0}.month-year{font-size:14px;font-weight:500;color:#000000d9}.calendar-body{padding:8px 12px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:8px}.weekday{height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#8c8c8c;border-bottom:1px solid #f0f0f0}.dates-grid{display:grid;grid-template-rows:repeat(6,1fr);gap:0}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.date-cell{height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;border-radius:4px;transition:all .2s ease;position:relative;margin:1px}.date-cell:hover:not(.disabled){background-color:#f5f5f5}.date-cell.selected{background-color:#1890ff;color:#fff}.date-cell.selected:hover{background-color:#40a9ff}.date-cell.today{border:1px solid #1890ff;color:#1890ff;font-weight:500}.date-cell.today:hover:not(.selected){background-color:#f0f7ff;border-color:#1890ff}.date-cell.today.selected{background-color:#1890ff;border-color:#1890ff;color:#fff}.date-cell.other-month{color:#bfbfbf}.date-cell.disabled{color:#d9d9d9;cursor:not-allowed;background-color:transparent}.date-cell.disabled:hover{background-color:transparent}@media (max-width: 480px){.simple-date-dropdown{width:260px}.date-cell{height:28px;font-size:12px}.weekday{height:28px;font-size:11px}}.tencent-meeting-time-picker{padding:16px;background:#fff;border-radius:8px}.tencent-meeting-time-picker .ant-picker,.tencent-meeting-time-picker .ant-select-selector{height:32px!important;font-size:14px!important}.tencent-meeting-time-picker .ant-select{height:32px!important}.tencent-meeting-time-picker .ant-select-selection-item{line-height:30px!important}.tencent-meeting-time-picker .ant-picker-clear{display:none!important}@media (max-width: 768px){.tencent-meeting-time-picker{padding:12px}.tencent-meeting-time-picker .ant-picker,.tencent-meeting-time-picker .ant-select-selector{height:44px!important;font-size:16px!important}.tencent-meeting-time-picker .ant-select{height:44px!important}.tencent-meeting-time-picker .ant-select-selection-item{line-height:42px!important}.tencent-meeting-time-picker .ant-form-item{margin-bottom:12px!important}.section-title{font-size:14px;margin-bottom:8px}.time-input-label{font-size:13px;margin-bottom:4px}.time-preview{padding:10px 12px;margin-top:12px}.preview-title{font-size:13px;margin-bottom:6px}.preview-content{font-size:15px}.duration-text{font-size:13px;margin-left:6px}}.section-title{font-size:16px;font-weight:600;color:#262626;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.date-selection-section{margin-bottom:16px}.date-time-row{margin-bottom:0}.time-selection-section{margin-bottom:12px}.precise-time-row{margin-bottom:0}.time-input-label{font-size:12px;color:#595959;margin-bottom:6px;font-weight:500;line-height:1}.time-preview{background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;padding:12px 16px;margin-top:16px}.preview-title{font-size:14px;color:#389e0d;font-weight:600;margin-bottom:8px}.preview-content{font-size:16px;color:#262626;font-weight:500}.duration-text{font-size:14px;color:#8c8c8c;font-weight:400;margin-left:8px}.dashboard-charts{padding:0}.metrics-overview{margin-bottom:16px}.metric-card{height:100%;border-radius:8px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.metric-card .ant-statistic-title{font-size:12px;font-weight:500;margin-bottom:8px}.metric-card .ant-statistic-content{font-size:20px;font-weight:600}.chart-card{border-radius:8px;box-shadow:0 2px 8px #0000000f;height:100%}.chart-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:0 16px}.chart-card .ant-card-head-title{font-size:16px;font-weight:600;color:#000000d9}.chart-card .ant-card-body{padding:16px}.device-performance-grid{padding:4px}.device-card{min-height:165px!important;height:auto!important;border-radius:8px;border:1px solid #e8e8e8;transition:all .3s ease;background:linear-gradient(135deg,#fafafa,#fff)}.device-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#1890ff;transform:translateY(-2px)}.device-card .ant-card-head{min-height:46px;padding:0 12px;border-bottom:1px solid #f0f0f0;background:transparent}.device-card .ant-card-head-title{font-size:12px;padding:6px 0;line-height:1.4}.device-card .ant-card-body{padding:10px 12px;overflow:visible!important}.device-card .ant-card-body .device-card-metrics{overflow:visible}.device-card-header{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.device-card-name{font-weight:500;color:#000000d9;font-size:12px;flex:1;min-width:0;display:flex;align-items:center;gap:6px}.device-card-name>div{flex:1;min-width:0}.device-card-name>div>div:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card-metrics{display:flex;flex-direction:column;gap:8px;flex:1}.metric-item{display:flex;align-items:center;gap:8px}.metric-item .metric-label{min-width:28px;font-size:12px;color:#000000a6;font-weight:500}.metric-item .ant-progress{flex:1;margin:0}.metric-item .ant-progress-outer{padding-right:0}.metric-item .ant-progress-text{font-size:11px!important;min-width:36px;text-align:right}.device-performance{max-height:260px;overflow-y:auto;padding-right:8px}.device-item{padding:12px;margin-bottom:12px;background:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.device-item:last-child{margin-bottom:0}.device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.device-name{font-weight:500;color:#000000d9;font-size:14px}.device-metrics{display:flex;flex-direction:column;gap:8px}.metric{display:flex;align-items:center;gap:8px}.metric-label{min-width:40px;font-size:12px;color:#000000a6}.metric .ant-progress{flex:1}.device-performance::-webkit-scrollbar,.device-performance-grid::-webkit-scrollbar{width:4px}.device-performance::-webkit-scrollbar-track,.device-performance-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.device-performance::-webkit-scrollbar-thumb,.device-performance-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.device-performance::-webkit-scrollbar-thumb:hover,.device-performance-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 1200px){.metrics-overview .ant-col{margin-bottom:16px}.chart-card .ant-card-head-title{font-size:14px}.device-card{min-height:145px}}@media (max-width: 768px){.dashboard-charts{padding:0 8px}.metrics-overview,.metric-card{margin-bottom:12px}.metric-card .ant-statistic-title{font-size:11px}.metric-card .ant-statistic-content{font-size:16px}.chart-card .ant-card-body{padding:12px}.device-card{min-height:135px}.device-card .ant-card-head{min-height:40px}.device-card .ant-card-body{padding:8px 10px}.device-card-name{font-size:11px}.metric-item .metric-label{min-width:25px;font-size:11px}.device-item{padding:8px;margin-bottom:8px}.device-name{font-size:13px}.metric-label{font-size:11px;min-width:35px}}@media (max-width: 480px){.device-performance-grid .ant-col{padding:0 4px!important}.device-card{min-height:125px}.device-card-metrics,.metric-item{gap:6px}.metric-item .metric-label{min-width:22px;font-size:10px}.device-metrics,.metric{gap:6px}.metric-label{min-width:30px}}.recharts-responsive-container{font-size:12px}.dashboard-charts .ant-spin-container{min-height:200px}.dashboard-charts .ant-empty{padding:40px 0}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{border-radius:6px;box-shadow:0 4px 12px #00000026;border:none}.recharts-cartesian-grid line{stroke:#f0f0f0}.recharts-xAxis .recharts-cartesian-axis-tick-value,.recharts-yAxis .recharts-cartesian-axis-tick-value{fill:#000000a6}.dashboard{padding:0;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.dashboard::-webkit-scrollbar{width:8px}.dashboard::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.dashboard::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.dashboard::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header-left{display:flex;flex-direction:column;gap:8px}.dashboard-header-right{display:flex;align-items:center;gap:24px}.dashboard-header h2{margin:0;color:#000000d9}.date{color:#00000073;font-size:14px;margin:0}.user-info{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:6px;transition:background-color .3s ease;cursor:pointer}.user-info:hover{background-color:#f5f5f5}.user-details{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-size:14px;font-weight:500;color:#000;line-height:1.2;margin:0}.user-role{font-size:12px;color:#666;line-height:1.2;margin:0}.company-name{font-size:11px;color:#999;line-height:1.2;margin:0}.quick-booking-btn{height:44px;padding:0 24px;font-size:16px;font-weight:500;border-radius:6px;box-shadow:0 2px 8px #1890ff33;transition:all .3s ease;background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.quick-booking-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #1890ff4d;background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.quick-booking-btn:active,.quick-booking-btn:focus{transform:translateY(0);background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.charts-section{margin-top:24px;margin-bottom:24px}.stat-card{box-shadow:0 2px 8px #00000017;border-radius:8px}.clickable-card{transition:all .3s ease;border:1px solid #d9d9d9}.clickable-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026;border-color:#1890ff}.clickable-card:active{transform:translateY(0);box-shadow:0 2px 8px #00000017}.recent-bookings-row{margin-top:16px}.bookings-card{box-shadow:0 2px 8px #00000017;border-radius:8px}.bookings-card .ant-list{max-height:400px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.bookings-card .ant-list::-webkit-scrollbar{width:6px}.bookings-card .ant-list::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.bookings-card .ant-list::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.bookings-card .ant-list::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.booking-title{display:flex;justify-content:space-between;align-items:center}.status{font-size:12px;padding:2px 8px;border-radius:4px}.status.in-progress{background-color:#e6f7ff;color:#1890ff}.status.pending{background-color:#fff7e6;color:#faad14}.booking-details{margin-top:4px}.booking-details p{margin:2px 0;font-size:14px;color:#000000a6}.booking-details span{color:#00000073}.conflict-check{margin:8px 0}.conflict-message{padding:8px 12px;border-radius:4px;font-size:14px;text-align:center}.conflict-message.conflict{background-color:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.conflict-message.available{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.video-meeting-tips{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px;padding:12px;margin-top:8px}.video-meeting-tips p{margin:4px 0;font-size:13px;color:#faad14}@media (max-width: 768px){.statistics-row .ant-col{margin-bottom:16px}}.statistics-row{margin-bottom:24px}.stat-card{min-height:120px;display:flex;align-items:center}.stat-card .ant-statistic{width:100%}.stat-card .ant-statistic-title{font-size:14px;margin-bottom:8px;color:#000000a6}.stat-card .ant-statistic-content{font-size:24px;font-weight:500}@media (max-width: 576px){.stat-card{min-height:100px}.stat-card .ant-statistic-content{font-size:20px}}@media (max-width: 479px){.dashboard-header{flex-direction:column;text-align:center;gap:16px;margin-bottom:20px}.dashboard-header-right{flex-direction:column;gap:12px;width:100%}.dashboard-header h2{font-size:18px}.date{font-size:12px}.quick-booking-btn{width:100%;max-width:280px;height:40px;font-size:14px}.statistics-row{margin-bottom:12px}.stat-card{min-height:90px}.stat-card .ant-statistic-title{font-size:12px}.stat-card .ant-statistic-content{font-size:18px}.stat-card .ant-avatar{width:32px;height:32px;font-size:16px}.bookings-card .ant-card-head-title{font-size:14px}.booking-details p{font-size:12px}.status{font-size:10px;padding:1px 6px}}@media (min-width: 480px) and (max-width: 767px){.dashboard-header{flex-direction:column;text-align:center;gap:8px}.dashboard-header h2{font-size:20px}.date{font-size:13px}.quick-booking-section{margin:20px 0}.quick-booking-btn{height:46px;padding:0 28px;font-size:15px;width:100%;max-width:320px}.statistics-row{margin-bottom:14px}.stat-card .ant-statistic-title{font-size:13px}.stat-card .ant-statistic-content{font-size:20px}.booking-details p{font-size:13px}}@media (min-width: 768px) and (max-width: 992px){.dashboard-header h2{font-size:22px}.quick-booking-btn{height:46px;padding:0 28px;font-size:15px}.statistics-row{margin-bottom:14px}}.room-image-generator .color-preset{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.room-image-generator .color-preset-item{width:32px;height:32px;border-radius:4px;cursor:pointer;transition:all .3s;border:1px solid #ddd}.room-image-generator .color-preset-item:hover{transform:scale(1.1)}.room-image-generator .color-preset-item.selected{border:3px solid #000}.room-image-generator .preset-image-grid .preset-image-item{cursor:pointer;border:2px solid #ddd;border-radius:8px;overflow:hidden;transition:all .3s}.room-image-generator .preset-image-grid .preset-image-item:hover{border-color:#1890ff;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff4d}.room-image-generator .preset-image-grid .preset-image-item img{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;display:block}.room-image-generator .preset-image-grid .preset-image-item .preset-label{padding:8px;text-align:center;font-size:12px;background:#fafafa}.room-image-generator .image-preview-container{display:flex;justify-content:center;padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:16px}.room-image-generator .form-item{margin-bottom:16px}.room-image-generator .form-item label{display:block;margin-bottom:8px;font-weight:500;color:#333}.room-list{padding:0;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-list::-webkit-scrollbar{width:8px}.room-list::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.room-list::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.room-list::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.room-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.room-table{background-color:#fff;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-table::-webkit-scrollbar{width:8px;height:8px}.room-table::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.room-table::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.room-table::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.room-table .ant-table-body{overflow-x:auto;overflow-y:auto;max-height:60vh;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-table .ant-table-body::-webkit-scrollbar{width:6px;height:6px}.room-table .ant-table-body::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.room-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.room-table .ant-table-body::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.room-form .ant-form-item{margin-bottom:16px}@media (max-width: 479px){.room-list-header{flex-direction:column;align-items:stretch;gap:12px}.room-list-header h2{font-size:18px;text-align:center}.room-list-header .ant-btn{width:100%;height:44px;font-size:16px}.room-table{font-size:12px}.room-table .ant-table-thead>tr>th{padding:8px 4px;font-size:12px}.room-table .ant-table-tbody>tr>td{padding:8px 4px;font-size:12px}.room-table .ant-btn{padding:2px 6px;font-size:11px;height:auto}}@media (min-width: 480px) and (max-width: 767px){.room-list-header{flex-direction:column;align-items:flex-start;gap:16px}.room-list-header h2{font-size:20px}.room-list-header .ant-btn{height:42px;font-size:15px}.room-table{font-size:13px}.room-table .ant-table-thead>tr>th{padding:10px 6px;font-size:13px}.room-table .ant-table-tbody>tr>td{padding:10px 6px;font-size:13px}}@media (min-width: 768px) and (max-width: 992px){.room-list-header{flex-direction:row;justify-content:space-between;align-items:center}.room-list-header h2{font-size:22px}.room-table{font-size:14px}}.room-list .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.room-list .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.room-list .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.room-list .ant-btn-link{color:#1890ff!important}.room-list .ant-btn-link:hover{color:#40a9ff!important}.room-list .ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.room-list .ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.avatar-uploader>.ant-upload{width:128px;height:128px}.avatar-uploader .ant-upload-select-picture-card{width:128px;height:128px;border:1px dashed #d9d9d9;border-radius:8px;background-color:#fafafa;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s}.avatar-uploader .ant-upload-select-picture-card:hover{border-color:#1890ff}.avatar-uploader img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.booking-calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:0}.booking-calendar-header .header-left{flex:1}.booking-calendar-header .header-right{flex-shrink:0;margin-left:24px;display:flex;align-items:center;gap:12px}.booking-calendar-header h2{margin:0;font-size:24px;font-weight:500;color:#000000d9}.booking-calendar{background-color:#fff;min-height:100vh;padding:24px;overflow-x:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.booking-calendar::-webkit-scrollbar{width:8px;height:8px}.booking-calendar::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.booking-calendar::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.booking-calendar::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.booking-calendar-header .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important;font-weight:500}.booking-calendar-header .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.booking-calendar-header .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.calendar-cell-with-dot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.calendar-day-text{font-size:14px;margin-bottom:4px}.booking-dot{position:absolute;bottom:2px;width:6px;height:6px;background-color:#52c41a;border-radius:50%}.ant-picker-calendar-date-value{display:none!important}.calendar-navigation{display:flex;justify-content:center;align-items:center;padding:10px 14px;background-color:#fafafa;border-bottom:1px solid #f0f0f0;border-radius:6px 6px 0 0;gap:16px}.calendar-nav-section{display:flex;align-items:center;gap:6px}.calendar-year{font-weight:600;color:#262626;min-width:60px;text-align:center;font-size:15px;background-color:#fafafa;border:1px solid #f0f0f0;padding:5px 10px;border-radius:4px;margin:0 4px}.calendar-month{font-weight:600;color:#262626;min-width:50px;text-align:center;font-size:15px;background-color:#fafafa;border:1px solid #f0f0f0;padding:5px 10px;border-radius:4px;margin:0 4px}.calendar-navigation .ant-btn{border:1px solid #d9d9d9;box-shadow:0 2px 4px #00000014;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin:0;border-radius:6px;background-color:#fff;color:#595959;transition:all .25s ease;cursor:pointer;font-size:14px;font-weight:500}.calendar-navigation .ant-btn:hover{background-color:#f5f5f5;border-color:#1890ff;color:#1890ff;box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.calendar-navigation .ant-btn:active{transform:translateY(0);box-shadow:0 2px 4px #00000014}.calendar-navigation .ant-btn-link{color:#1890ff;font-size:13px;font-weight:500;height:30px;width:auto;padding:5px 12px;margin-left:12px;border:1px solid #1890ff;border-radius:4px;background-color:#fff;transition:all .25s ease}.calendar-navigation .ant-btn-link:hover{color:#fff;background-color:#1890ff;border-color:#1890ff;box-shadow:0 4px 8px #1890ff33;transform:translateY(-1px)}.calendar-navigation .ant-btn-link:active{transform:translateY(0);box-shadow:0 2px 4px #1890ff26}.booking-calendar-container{display:flex;gap:24px;height:calc(100vh - 120px);overflow:hidden}.calendar-container{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.calendar-container::-webkit-scrollbar{width:6px}.calendar-container::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.calendar-container::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.calendar-container::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.bookings-list-container{flex:0 0 300px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.bookings-list-container::-webkit-scrollbar{width:6px}.bookings-list-container::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.bookings-list-container::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.bookings-list-container::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}@media (max-width: 479px){.booking-calendar{padding:12px}.booking-calendar-header{flex-direction:column;gap:16px;align-items:center;text-align:center}.booking-calendar-header .header-right{margin-left:0;width:100%;justify-content:center;flex-wrap:wrap}.quick-booking-btn{width:100%;max-width:200px;height:40px;font-size:14px}.booking-calendar-header h2{font-size:18px;margin:0}.booking-calendar-container{flex-direction:column;gap:16px;height:auto}.calendar-container,.bookings-list-container{width:100%}.ant-picker-calendar,.calendar-day-text{font-size:12px}.booking-dot{width:4px;height:4px}.calendar-navigation{padding:8px 12px;gap:12px}.calendar-nav-section{gap:4px}.calendar-year,.calendar-month{font-size:13px;min-width:auto;padding:4px 8px}.calendar-navigation .ant-btn{width:26px;height:26px;font-size:12px}.calendar-navigation .ant-btn-link{font-size:12px;padding:4px 8px;margin-left:8px;height:26px}}@media (min-width: 480px) and (max-width: 767px){.booking-calendar{padding:16px}.booking-calendar-header{flex-direction:column;gap:16px;align-items:center;text-align:center}.booking-calendar-header .header-right{margin-left:0;width:100%;justify-content:center;flex-wrap:wrap}.quick-booking-btn{width:100%;max-width:240px;height:42px;font-size:15px}.booking-calendar-header h2{font-size:20px;margin:0}.booking-calendar-container{flex-direction:column;gap:20px;height:auto}.calendar-container,.bookings-list-container{width:100%}.ant-picker-calendar,.calendar-day-text{font-size:13px}.booking-dot{width:5px;height:5px}}@media (min-width: 768px) and (max-width: 992px){.booking-calendar{padding:20px}.booking-calendar-header{flex-direction:row;align-items:flex-start}.booking-calendar-header h2{font-size:22px}.quick-booking-btn{height:42px;font-size:15px}.booking-calendar-container{gap:20px}.calendar-container{flex:1.2}.bookings-list-container{flex:.8}}.booking-list{flex:1;background-color:#fff;border-radius:8px;padding:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px #00000017}.booking-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.booking-list-header h3{margin:0;color:#000000d9;font-size:16px}.booking-items{flex:1;overflow-y:auto}.booking-item-list{cursor:pointer;transition:all .3s;padding:12px 0;border-bottom:1px solid #f0f0f0}.booking-item-list:hover{background-color:#f5f5f5}.booking-item-title{display:flex;align-items:center}.booking-item-description p{margin:4px 0;font-size:13px;color:#000000a6}.calendar-container{width:450px;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000017}.calendar-small{background-color:#fff;border-radius:8px}.calendar-small .ant-picker-cell-inner{min-height:60px;padding:4px}.calendar-small .event-item{padding:2px 4px;margin-bottom:2px;font-size:11px}.calendar-small .event-time{font-size:10px}.calendar-small .event-title{font-size:11px;-webkit-line-clamp:1}.calendar-small .event-room{font-size:10px}.calendar-small .ant-picker-calendar-header{padding:12px 16px}.calendar-small .ant-picker-calendar-mode-switch{margin-bottom:4px}.calendar-small .ant-picker-calendar-fullscreen-header{padding:8px 16px}.calendar-small .ant-picker-calendar-date{width:24px;height:24px;font-size:12px;margin:0 auto 2px}.calendar{background-color:#fff;border-radius:8px;overflow:hidden}.events{list-style:none;margin:0;padding:0}.event-item{padding:4px 0;cursor:pointer;border-radius:4px;transition:all .3s;display:flex;flex-direction:column;gap:2px}.event-item:hover{background-color:#f5f5f5}.event-time{font-size:12px;color:#000000a6}.event-title{font-size:13px;font-weight:500;color:#000000d9}.event-room{font-size:12px;color:#00000073}.booking-details p{margin:8px 0;color:#000000a6}@media (max-width: 768px){.booking-calendar-header{flex-direction:column;align-items:flex-start;gap:16px}.time-picker-container{flex-direction:column}.calendar{font-size:12px}}.ant-picker-calendar{border:none}.ant-picker-calendar-header{padding:16px;border-bottom:1px solid #f0f0f0}.ant-picker-calendar-mode-switch{margin-bottom:8px}.ant-picker-calendar-week-number{display:none}.ant-picker-cell-inner{padding:8px;min-height:120px;position:relative}.ant-picker-calendar-date{position:relative;z-index:2;padding:6px;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:15px;font-weight:500}.ant-picker-calendar-date-content{position:relative;z-index:1;padding-top:8px;min-height:85px}.event-item{padding:8px;margin-bottom:6px;border-radius:6px;background-color:#e6f7ff;border-left:3px solid #1890ff;transition:all .3s ease;box-shadow:0 1px 2px #0000000d}.event-item:hover{background-color:#bae7ff;transform:translate(2px)}.event-content{display:flex;flex-direction:column;gap:4px}.event-time{font-size:13px;color:#1890ff;font-weight:500;line-height:1.4}.event-title{font-size:14px;color:#000000d9;font-weight:500;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.event-room{font-size:13px;color:#000000a6;line-height:1.4}.events{max-height:120px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f0f0f0;padding-right:4px}.events::-webkit-scrollbar{width:3px}.events::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:3px}.events::-webkit-scrollbar-track{background-color:#f0f0f0;border-radius:3px}.ant-picker-cell-today .ant-picker-calendar-date{background-color:#e6f7ff;border:1px solid #91d5ff;color:#1890ff;font-weight:700}.ant-picker-cell-has-event .ant-picker-calendar-date{position:relative}.ant-picker-cell-has-event .ant-picker-calendar-date:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background-color:#1890ff}.room-option{padding:8px;border-radius:4px}.room-basic-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.room-name{font-weight:500;color:#000000d9}.room-status{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.room-status.available{background-color:#f6ffed;color:#52c41a}.room-status.booked{background-color:#fff2e8;color:#fa8c16}.room-status.unavailable{background-color:#f5f5f5;color:#8c8c8c}.room-details{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#00000073}.quick-time-options{display:flex;align-items:center;gap:16px;padding:16px 0;margin-bottom:8px;border-top:1px dashed #f0f0f0;border-bottom:1px dashed #f0f0f0}.quick-time-label{font-size:14px;color:#000000d9;font-weight:500}.conflict-message{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;flex-direction:column;align-items:flex-start}.conflict-message.conflict{color:#f5222d}.conflict-message.available{color:#52c41a}.alternative-time{margin-top:8px;padding:8px 12px;background-color:#fff2e8;border-radius:4px;font-size:13px;color:#fa8c16;width:100%}.room-feature-tips{padding:12px 16px;margin-top:16px;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:4px}.tips-container{display:flex;flex-direction:column;gap:6px}.tip-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#1890ff;line-height:1.5}.video-meeting-tips{padding:12px 16px;margin-top:16px;background-color:#fff7e6;border:1px solid #ffd591;border-radius:4px}.video-meeting-tips p{margin:4px 0;font-size:13px;color:#fa8c16;line-height:1.6}.room-booking{padding:0;height:100%;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-booking::-webkit-scrollbar{width:8px}.room-booking::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.room-booking::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.room-booking::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.room-booking-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.room-booking-header .header-left{flex:1}.room-booking-header .header-right{flex-shrink:0;margin-left:24px}.room-booking-header h2{margin:0 0 8px;font-size:24px;font-weight:500;color:#000000d9}.quick-booking-btn{height:44px;padding:0 24px;font-size:16px;font-weight:500;border-radius:6px;box-shadow:0 2px 8px #1890ff33;transition:all .3s cubic-bezier(.645,.045,.355,1)}.quick-booking-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #1890ff4d}.filter-section{margin-bottom:24px;padding:16px;background-color:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.filter-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.room-card{height:100%;border-radius:8px;box-shadow:0 2px 8px #00000017;transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.room-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.room-image-container{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0}.room-card:hover .room-image-container img{transform:scale(1.05)}.room-status-overlay{position:absolute;top:12px;right:12px;z-index:2}.room-status-overlay .ant-tag{margin:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffffe6;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0000001a}.room-header{display:flex;justify-content:center;align-items:center;margin-bottom:16px;text-align:center;flex-shrink:0}h3.room-name{margin:0!important;font-size:24px!important;font-weight:600!important;color:#000!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important;line-height:1.2!important;text-shadow:none!important;opacity:1!important;filter:none!important}.room-info{margin-bottom:20px;flex-shrink:0}.room-detail{display:flex;align-items:center;margin-bottom:8px;color:#000000a6;font-size:14px}.room-detail .icon{margin-right:8px;color:#1890ff}.equipment-label{margin-right:4px;font-weight:500}.today-bookings{border-top:1px solid #f0f0f0;padding-top:16px;margin-bottom:16px;flex-grow:1;display:flex;flex-direction:column}.bookings-title{display:flex;align-items:center;margin:0 0 12px;font-size:14px;font-weight:500;color:#000000d9}.bookings-title .icon{margin-right:6px;color:#1890ff}.bookings-list{max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5;flex-grow:1}.bookings-list::-webkit-scrollbar{width:4px}.bookings-list::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:2px}.bookings-list::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:2px}.booking-item{padding:8px 12px;margin-bottom:8px;background-color:#fafafa;border-radius:6px;border-left:3px solid #1890ff}.booking-time{display:flex;align-items:center;font-size:12px;color:#1890ff;font-weight:500;margin-bottom:4px}.time-icon{margin-right:4px}.booking-info{display:flex;flex-direction:column;gap:4px}.booking-title{font-size:13px;font-weight:500;color:#000000d9;line-height:1.4}.booking-organizer{display:flex;align-items:center;gap:6px;font-size:12px;color:#000000a6}.meeting-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-icon{font-size:12px;margin-right:4px}.status-icon.completed{color:#52c41a}.status-icon.in-progress-red{color:#ff4d4f}.status-icon.upcoming-blue{color:#1890ff}.status-icon.upcoming{color:#fa8c16}.status-icon.pending{color:#722ed1}.meeting-status{font-size:12px;padding:2px 6px;border-radius:4px;font-weight:500}.meeting-status.completed{background-color:#f0f0f0;color:#8c8c8c}.meeting-status.in-progress{background-color:#fffbe6;color:#faad14}.meeting-status.upcoming{background-color:#e6f7ff;color:#1890ff}.meeting-status.upcoming-green{background-color:#f6ffed;color:#52c41a}.meeting-status.pending{background-color:#f9f0ff;color:#722ed1}.more-bookings{text-align:center;padding:8px;font-size:12px;color:#00000073;border-top:1px dashed #f0f0f0;margin-top:8px}.next-meeting-container{min-height:60px}.next-meeting{padding:0 0 8px;width:100%}.next-meeting-label{font-size:12px;color:#000000d9;font-weight:500;margin-bottom:8px}.next-meeting-info{margin-top:4px}.next-meeting-time{font-size:12px;color:#000000a6;font-weight:500;margin-bottom:2px}.next-meeting-title{font-size:13px;color:#000000d9;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-next-meeting{font-size:12px;color:#00000073;text-align:center;padding:8px 0}.room-card .ant-card-actions{margin-top:auto!important;flex-shrink:0}.booking-form .ant-form-item{margin-bottom:16px}.time-picker-container{display:flex;gap:16px}.time-picker-item{flex:1}.quick-time-options{display:flex;align-items:center;gap:8px;padding:12px 0;margin-bottom:8px;border-top:1px dashed #f0f0f0;border-bottom:1px dashed #f0f0f0}.quick-time-label{font-size:14px;color:#000000d9;font-weight:500;margin-right:8px}.conflict-check{padding:12px;margin-top:16px;border-radius:4px;background-color:#f5f5f5}.conflict-message{font-size:14px;font-weight:500;text-align:center}.conflict-message.conflict{color:#f5222d;background-color:#fff2f0;padding:8px;border-radius:4px}.conflict-message.available{color:#52c41a;background-color:#f6ffed;padding:8px;border-radius:4px}.room-booking .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.room-booking .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.room-booking .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.room-booking .ant-btn-link{color:#1890ff!important}.room-booking .ant-btn-link:hover{color:#40a9ff!important}@media (max-width: 479px){.room-booking-header{flex-direction:column;gap:16px}.room-booking-header .header-right{margin-left:0;width:100%}.quick-booking-btn{width:100%;height:40px;font-size:14px}.room-booking-header h2{font-size:18px}.subtitle{font-size:12px}.room-image-container{height:160px}h3.room-name{font-size:20px!important;color:#000!important;margin:0!important;font-weight:600!important;text-shadow:none!important;opacity:1!important;filter:none!important}.room-detail{font-size:12px}.booking-item{padding:6px 8px}.booking-title{font-size:12px}.booking-organizer{font-size:11px}.time-picker-container{flex-direction:column;gap:0}.quick-time-options{flex-wrap:wrap;gap:4px}}@media (min-width: 480px) and (max-width: 767px){.room-booking-header{flex-direction:column;gap:16px}.room-booking-header .header-right{margin-left:0;width:100%}.quick-booking-btn{width:100%;height:42px;font-size:15px}.room-booking-header h2{font-size:20px}.subtitle{font-size:13px}.room-image-container{height:180px}h3.room-name{font-size:21px!important;color:#000!important;margin:0!important;font-weight:600!important;text-shadow:none!important;opacity:1!important;filter:none!important}.room-detail{font-size:13px}.time-picker-container{flex-direction:column;gap:0}}@media (min-width: 768px) and (max-width: 992px){.room-booking-header h2{font-size:22px}h3.room-name{font-size:22px!important;color:#000!important;margin:0!important;font-weight:600!important;text-shadow:none!important;opacity:1!important;filter:none!important}}@media (min-width: 993px){h3.room-name{font-size:24px!important;color:#000!important;margin:0!important;font-weight:600!important;text-shadow:none!important;opacity:1!important;filter:none!important}}.users{padding:0;height:100%;overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.users::-webkit-scrollbar{width:8px}.users::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.users::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.users::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.users-table{background-color:#fff;border-radius:8px;overflow:hidden}.users-table .ant-table-body{overflow-x:auto;overflow-y:auto;max-height:65vh;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.users-table .ant-table-body::-webkit-scrollbar{width:6px;height:6px}.users-table .ant-table-body::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.users-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.users-table .ant-table-body::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.user-form .ant-form-item,.reset-password-form .ant-form-item{margin-bottom:16px}.users-table .ant-table-tbody>tr:hover>td{background-color:#fafafa}.users-table .ant-table-cell{padding:12px 16px}.users-table .ant-table-thead>tr>th{background-color:#fafafa;font-weight:500;color:#000000d9;border-bottom:1px solid #f0f0f0}.users-table .ant-btn-link{padding:4px 8px}.users-table .ant-btn-link:not(:last-child){margin-right:8px}.ant-modal-content{border-radius:8px}.ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.ant-modal-title{font-size:16px;font-weight:500}.ant-modal-body{padding:24px}@media (max-width: 479px){.users-header{flex-direction:column;align-items:stretch;gap:12px}.users-header h2{font-size:18px;text-align:center}.users-header .ant-btn{width:100%;height:44px;font-size:16px}.users-table{font-size:11px}.users-table .ant-table-cell{padding:6px 8px}.users-table .ant-table-thead>tr>th{padding:8px 4px;font-size:11px}.users-table .ant-table-tbody>tr>td{padding:6px 4px;font-size:11px}.users-table .ant-btn-link{padding:2px 4px;font-size:10px;display:block;margin-bottom:2px;margin-right:0!important}.ant-modal-body{padding:16px}.ant-modal-title{font-size:14px}}@media (min-width: 480px) and (max-width: 767px){.users-header{flex-direction:column;align-items:flex-start;gap:16px}.users-header h2{font-size:20px}.users-header .ant-btn{height:42px;font-size:15px}.users-table{font-size:12px}.users-table .ant-table-cell{padding:8px 12px}.users-table .ant-table-thead>tr>th{padding:10px 8px;font-size:12px}.users-table .ant-table-tbody>tr>td{padding:8px;font-size:12px}.users-table .ant-btn-link{padding:3px 6px;font-size:11px}.users-table .ant-btn-link:not(:last-child){margin-right:4px;margin-bottom:4px}}@media (min-width: 768px) and (max-width: 992px){.users-header{flex-direction:row;justify-content:space-between;align-items:center}.users-header h2{font-size:22px}.users-table{font-size:13px}.users-table .ant-table-cell{padding:10px 14px}}.users .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.users .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.users .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.users .ant-btn-link{color:#1890ff!important}.users .ant-btn-link:hover{color:#40a9ff!important}.users .ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.users .ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.uninet-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 12px;transition:all .3s ease-in-out;width:100%;border-radius:8px;background:linear-gradient(135deg,#f6f9ff,#fff);box-shadow:0 2px 8px #2c65f00d;margin-bottom:8px}.uninet-logo-main{font-size:28px;font-weight:800;color:#2c65f0;line-height:1.1;text-align:center;text-shadow:0 2px 4px rgba(44,101,240,.15);letter-spacing:-.5px;transition:all .3s ease}.uninet-logo-sub{font-size:14px;font-weight:800;color:#fff!important;text-align:center;letter-spacing:.5px;opacity:1!important;transition:all .3s ease}.uninet-logo-expanded .uninet-logo-sub{font-size:16px!important;opacity:1!important}.uninet-logo-expanded .uninet-logo-main{font-size:30px;transform:translateY(-2px)}.uninet-logo-expanded .uninet-logo-sub{font-size:14px;opacity:1}.uninet-logo-collapsed{padding:16px 0;height:auto;min-height:60px}.uninet-logo-collapsed .uninet-logo-main{font-size:22px;letter-spacing:-.3px}.uninet-logo-collapsed .uninet-logo-sub{display:none}.uninet-logo:hover{transform:translateY(-1px)}.uninet-logo:hover .uninet-logo-main{color:#1e40af;text-shadow:0 3px 6px rgba(44,101,240,.2)}.uninet-logo:hover .uninet-logo-sub{color:#1e40af;opacity:1;text-shadow:0 1px 2px rgba(44,101,240,.1)}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.uninet-logo{animation:fadeInUp .5s ease-out}.uninet-logo-main{animation:logoPulse 3s ease-in-out infinite}@media (max-width: 768px){.uninet-logo-expanded .uninet-logo-main{font-size:26px}.uninet-logo-expanded .uninet-logo-sub{font-size:12px}}@media (max-width: 480px){.uninet-logo{padding:10px 0}.uninet-logo-expanded .uninet-logo-main{font-size:24px}}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:16px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.login-container::-webkit-scrollbar{width:8px}.login-container::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.login-container::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.login-container::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.login-header-section{display:flex;flex-direction:column;align-items:center;margin-bottom:24px;text-align:center;padding:8px 0}.login-footer-section{display:flex;justify-content:center;align-items:center;margin-top:auto;padding:16px 0;border-top:1px solid #f0f0f0}.login-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin:20px 0}.login-system-info{margin-top:16px}.login-system-title{font-size:28px;font-weight:700;color:#2c65f0;margin:0 0 8px;text-shadow:0 2px 4px rgba(44,101,240,.15)}.login-system-subtitle{font-size:16px;color:#000000a6;margin:0;font-weight:500}.login-card{width:420px;box-shadow:0 8px 32px #00000026;border-radius:16px;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:24px;display:flex;flex-direction:column;min-height:600px}.login-card .ant-card-head-title{text-align:center;font-size:20px;font-weight:500}.login-button{width:100%;height:40px;font-size:16px}.login-dev-tips{margin-top:16px;padding:12px;background-color:#f6f8fa;border-radius:8px;border:1px solid #e8eaed;font-size:13px}.login-dev-tips h4{margin:0 0 8px;color:#24292f;font-size:14px;font-weight:600}.dev-account{margin:4px 0;padding:2px 0;color:#656d76;line-height:1.4}.dev-account strong{color:#0969da;font-weight:500}.dev-note{margin:8px 0 0;font-size:12px;color:#656d76;font-style:italic}.apk-download-section{margin-top:16px;padding:12px;background-color:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.apk-download-tip{margin:0 0 12px;font-size:13px;color:#666;text-align:center;line-height:1.5}.apk-download-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background-color:#fff;border-radius:6px;border:1px solid #e8e8e8;transition:all .3s ease}.apk-download-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.apk-info{display:flex;align-items:center;gap:12px;flex:1}.apk-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#f5f5f5;border-radius:8px}.apk-details{flex:1}.apk-title{font-size:14px;font-weight:600;color:#262626;margin-bottom:2px}.apk-description{font-size:12px;color:#8c8c8c;margin-bottom:2px}.apk-meta{font-size:11px;color:#bfbfbf}.apk-action{margin-left:12px}.apk-download-btn{min-width:70px}.apk-loading{text-align:center;padding:8px;font-size:12px;color:#999}@media (max-width: 479px){.login-container{padding:12px}.login-header-section{margin-bottom:20px;padding:4px 0}.login-footer-section{margin-top:auto;padding:12px 0;border-top:1px solid #f0f0f0}.login-divider{margin:16px 0}.login-system-title{font-size:22px}.login-system-subtitle{font-size:14px}.login-card{width:100%;max-width:360px;padding:20px;min-height:550px}.login-card .ant-card-body{padding:16px}.login-card .ant-form-item{margin-bottom:16px}.login-card .ant-btn{height:44px;font-size:16px}.apk-download-section{padding:10px}.apk-download-item{padding:8px 10px}.apk-info{gap:10px}.apk-icon{width:36px;height:36px}.apk-title{font-size:13px}.apk-description{font-size:11px}.apk-meta{font-size:10px}.apk-download-btn{min-width:60px;font-size:12px}}@media (min-width: 480px) and (max-width: 767px){.login-container{padding:16px}.login-header-section{margin-bottom:22px;padding:6px 0}.login-footer-section{margin-top:auto;padding:14px 0;border-top:1px solid #f0f0f0}.login-divider{margin:18px 0}.login-system-title{font-size:24px}.login-system-subtitle{font-size:15px}.login-card{width:100%;max-width:400px;padding:22px;min-height:580px}.login-card .ant-btn{height:42px;font-size:15px}.apk-download-item{padding:9px 11px}}@media (min-width: 768px) and (max-width: 992px){.login-header-section{margin-bottom:24px;padding:8px 0}.login-system-title{font-size:26px}.login-card{width:420px}}.approval-page{padding:20px;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.approval-page::-webkit-scrollbar{width:8px}.approval-page::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.approval-page::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.approval-page::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.approval-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-container{display:flex;gap:10px}.approval-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.approval-table::-webkit-scrollbar{width:8px;height:8px}.approval-table::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.approval-table::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.approval-table::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.approval-table .ant-table-body{overflow-x:auto;overflow-y:auto;max-height:60vh;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.approval-table .ant-table-body::-webkit-scrollbar{width:6px;height:6px}.approval-table .ant-table-body::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.approval-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.approval-table .ant-table-body::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.booking-details{padding:10px 0}.booking-details p{margin-bottom:10px;line-height:1.6}.video-meeting-info{background:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;padding:10px;margin:10px 0}.video-meeting-info p{margin-bottom:8px}.video-meeting-info a{color:#1890ff;text-decoration:none}.video-meeting-info a:hover{text-decoration:underline}.reject-modal-content p{margin-bottom:10px;line-height:1.6}.reject-reason-container{margin-top:20px}.reject-reason-container label{display:block;margin-bottom:8px;font-weight:500}.reject-reason-textarea{width:100%;padding:8px;border:1px solid #d9d9d9;border-radius:4px;resize:vertical;font-family:inherit}.reject-reason-textarea:focus{border-color:#40a9ff;outline:none;box-shadow:0 0 0 2px #1890ff33}@media (max-width: 479px){.approval-page{padding:12px}.approval-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.approval-header h2{font-size:18px;text-align:center}.filter-container{flex-direction:column;gap:8px}.filter-container .ant-select{width:100%}.approval-table{font-size:12px}.approval-table .ant-table-thead>tr>th{padding:8px 4px;font-size:11px}.approval-table .ant-table-tbody>tr>td{padding:8px 4px;font-size:11px}.approval-table .ant-btn{padding:2px 6px;font-size:10px;height:auto;margin-bottom:2px;display:block;width:100%}.booking-details{padding:8px 0}.booking-details p{font-size:11px;margin-bottom:6px}}@media (min-width: 480px) and (max-width: 767px){.approval-page{padding:16px}.approval-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px}.approval-header h2{font-size:20px}.filter-container{flex-direction:row;gap:8px;flex-wrap:wrap}.approval-table{font-size:13px}.approval-table .ant-table-thead>tr>th{padding:10px 6px;font-size:12px}.approval-table .ant-table-tbody>tr>td{padding:10px 6px;font-size:12px}.approval-table .ant-btn{padding:3px 8px;font-size:11px;margin-right:4px;margin-bottom:4px}}@media (min-width: 768px) and (max-width: 992px){.approval-page{padding:18px}.approval-header{flex-direction:row;justify-content:space-between;align-items:center}.approval-header h2{font-size:22px}.filter-container{gap:12px}.approval-table{font-size:14px}}.approval-page .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.approval-page .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.approval-page .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.approval-page .ant-btn-link{color:#1890ff!important}.approval-page .ant-btn-link:hover{color:#40a9ff!important}.approval-page .ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.approval-page .ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.approval-page .ant-select-selection-item{color:#000000d9!important}.approval-page .ant-select-selector{background-color:#fff!important;color:#000000d9!important}.my-bookings-container{padding:20px;background-color:#fff;min-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.my-bookings-container::-webkit-scrollbar{width:8px}.my-bookings-container::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.my-bookings-container::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.my-bookings-container::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.my-bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.subtitle{margin:0;color:#00000073;font-size:14px}.bookings-table{background-color:#fff;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.bookings-table::-webkit-scrollbar{width:8px;height:8px}.bookings-table::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.bookings-table::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.bookings-table::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.bookings-table .ant-table-body{overflow-x:auto;overflow-y:auto;max-height:60vh;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.bookings-table .ant-table-body::-webkit-scrollbar{width:6px;height:6px}.bookings-table .ant-table-body::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.bookings-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.bookings-table .ant-table-body::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.booking-details{font-size:14px;line-height:2}.booking-details p{margin:8px 0}.booking-details strong{color:#000000d9}.video-meeting-info{padding:12px;margin:12px 0;background-color:#f6ffed;border:1px solid #b7eb8f;border-radius:4px}.video-meeting-info p{margin:6px 0;font-size:13px;color:#52c41a}.video-meeting-info a{color:#1890ff;text-decoration:none;transition:color .3s}.video-meeting-info a:hover{color:#40a9ff;text-decoration:underline}@media (max-width: 479px){.my-bookings-container{padding:12px}.my-bookings-header{flex-direction:column;align-items:stretch;gap:12px;text-align:center}.my-bookings-header h2{font-size:18px}.subtitle{font-size:12px;text-align:center}.bookings-table{font-size:11px}.bookings-table .ant-table-thead>tr>th{padding:8px 4px;font-size:11px}.bookings-table .ant-table-tbody>tr>td{padding:6px 4px;font-size:11px}.bookings-table .ant-btn{padding:2px 6px;font-size:10px;height:auto;margin-bottom:2px;display:block;width:100%}.booking-details{font-size:12px;line-height:1.6}.booking-details p{margin:4px 0}.video-meeting-info{padding:8px;margin:8px 0}.video-meeting-info p{margin:4px 0;font-size:11px}}@media (min-width: 480px) and (max-width: 767px){.my-bookings-container{padding:16px}.my-bookings-header{flex-direction:column;align-items:flex-start;gap:12px}.my-bookings-header h2{font-size:20px}.subtitle{font-size:13px}.bookings-table{font-size:12px}.bookings-table .ant-table-thead>tr>th{padding:10px 6px;font-size:12px}.bookings-table .ant-table-tbody>tr>td{padding:8px 6px;font-size:12px}.bookings-table .ant-btn{padding:3px 8px;font-size:11px;margin-right:4px;margin-bottom:4px}.booking-details{font-size:13px;line-height:1.8}.booking-details p{margin:6px 0}.video-meeting-info{padding:10px;margin:10px 0}.video-meeting-info p{margin:5px 0;font-size:12px}}@media (min-width: 768px) and (max-width: 992px){.my-bookings-container{padding:18px}.my-bookings-header{flex-direction:row;justify-content:space-between;align-items:center}.my-bookings-header h2{font-size:22px}.bookings-table,.booking-details{font-size:13px}}.my-bookings-container .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.my-bookings-container .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.my-bookings-container .ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.my-bookings-container .ant-btn-link{color:#1890ff!important}.my-bookings-container .ant-btn-link:hover{color:#40a9ff!important}.my-bookings-container .ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.my-bookings-container .ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.booking-screen-page{padding:0;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.booking-screen-page::-webkit-scrollbar{width:8px}.booking-screen-page::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.booking-screen-page::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.booking-screen-page::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.booking-screen-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.booking-screen-table{background-color:#fff;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.booking-screen-table::-webkit-scrollbar{width:8px;height:8px}.booking-screen-table::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.booking-screen-table::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.booking-screen-table::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.booking-screen-form .ant-form-item{margin-bottom:12px}.mock-preview-modal .tablet-container{display:flex;justify-content:center;margin:20px 0}.mock-preview-modal .tablet-frame{width:300px;height:200px;border:12px solid #333;border-radius:20px;position:relative;background:#f0f0f0}.mock-preview-modal .tablet-frame:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:60px;height:60px;border-radius:50%;background:#333;z-index:1}.mock-preview-modal .tablet-screen{width:100%;height:100%;background:#fff;border-radius:8px;overflow:hidden;position:relative}.mock-preview-modal .preview-iframe{width:100%;height:100%;border:none}.device-info{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.device-info h3{margin-top:0;color:#333;border-bottom:1px solid #dee2e6;padding-bottom:8px}.device-info h4{margin:16px 0 8px;color:#495057}.device-info p{margin:8px 0;padding:4px 0;border-bottom:1px solid #e9ecef}.device-info p:last-child{border-bottom:none}.performance-charts{margin-top:20px;padding-top:16px;border-top:1px solid #dee2e6}.performance-charts h4{margin:0 0 16px;color:#495057}.chart-container{margin:16px 0;height:300px}.no-data-placeholder{display:flex;justify-content:center;align-items:center;height:300px;background:#f8f9fa;border:1px dashed #dee2e6;border-radius:4px;margin:16px 0}.no-data-placeholder p{color:#6c757d;font-size:16px;text-align:center}.network-quality{text-align:center;padding:16px;background:#e9f7ef;border-radius:8px;margin-top:16px}.network-quality h4{margin:0 0 8px;color:#28a745}.network-quality p{margin:0;font-size:18px;font-weight:700;color:#28a745}.network-quality .no-network-data{color:#6c757d;font-weight:400;font-style:italic}.api-monitoring{margin-top:20px;border:1px solid #f0f0f0;border-radius:4px}.api-monitoring-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.api-monitoring-header h4{margin:0}.api-log-list{max-height:300px;overflow-y:auto}.api-log-item{padding:10px;border-bottom:1px solid #f0f0f0}.api-log-item:last-child{border-bottom:none}.api-log-item.error{background-color:#fff2f0;border-color:#ffccc7}.api-log-content{width:100%}.api-log-header{display:flex;gap:10px;align-items:center;margin-bottom:5px;flex-wrap:wrap}.api-log-header .method{padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.api-log-header .method.POST{background-color:#52c41a}.api-log-header .method.GET{background-color:#1890ff}.api-log-header .method.PUT{background-color:#faad14}.api-log-header .method.DELETE{background-color:#ff4d4f}.api-log-header .url{flex:1;font-family:monospace;font-size:12px}.api-log-header .timestamp{font-size:12px;color:#888}.api-log-header .status{padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.api-log-header .status.success{background-color:#52c41a}.api-log-header .status.error{background-color:#ff4d4f}.api-log-request,.api-log-response,.api-log-error{margin-top:8px}.api-log-request strong,.api-log-response strong,.api-log-error strong{display:block;margin-bottom:4px}.api-log-request pre,.api-log-response pre,.api-log-error pre{margin:0;padding:8px;background-color:#f5f5f5;border-radius:4px;font-size:11px;white-space:pre-wrap;word-wrap:break-word;max-height:150px;overflow-y:auto}.batch-operation-info{margin-bottom:20px;padding:12px;background-color:#f6f8fa;border-radius:6px;border-left:4px solid #1890ff}.batch-operation-info p{margin:0 0 8px;font-weight:500;color:#1890ff}.selected-devices{display:flex;flex-wrap:wrap;gap:8px}.device-tag{display:inline-block;padding:4px 8px;background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;font-size:12px;color:#1890ff;white-space:nowrap}.upgrade-progress,.background-progress{margin:16px 0;padding:12px;background-color:#f0f9ff;border-radius:6px}.upgrade-progress p,.background-progress p{margin:0 0 8px;font-weight:500;color:#52c41a}.ant-upload-list{margin-top:8px}.ant-upload-list-item{padding:8px 12px;border-radius:6px}@media (max-width: 479px){.booking-screen-header{flex-direction:column;align-items:stretch;gap:12px}.booking-screen-header h2{font-size:18px;text-align:center}.booking-screen-table{font-size:12px}.booking-screen-table .ant-table-thead>tr>th{padding:8px 4px;font-size:12px}.booking-screen-table .ant-table-tbody>tr>td{padding:8px 4px;font-size:12px}.booking-screen-table .ant-btn{padding:2px 6px;font-size:11px;height:auto}}@media (min-width: 480px) and (max-width: 767px){.booking-screen-header{flex-direction:column;align-items:flex-start;gap:16px}.booking-screen-header h2{font-size:20px}.booking-screen-table{font-size:13px}.booking-screen-table .ant-table-thead>tr>th{padding:10px 6px;font-size:13px}.booking-screen-table .ant-table-tbody>tr>td{padding:10px 6px;font-size:13px}}@media (min-width: 768px) and (max-width: 992px){.booking-screen-header{flex-direction:row;justify-content:space-between;align-items:center}.booking-screen-header h2{font-size:22px}.booking-screen-table{font-size:14px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#0a0a0a;overflow:hidden}.screen-display-container{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.content-wrapper{width:100%;height:100%;padding:clamp(15px,3vw,60px);display:flex;flex-direction:column;justify-content:space-between;z-index:3;box-sizing:border-box;overflow:hidden}.main-content{display:flex;gap:clamp(20px,5vw,100px);flex:1;align-items:stretch;overflow:hidden;flex-direction:column}.qrcode-container{width:clamp(200px,25vw,400px);height:clamp(200px,25vw,400px);background:#ffffffe6;padding:clamp(15px,2vw,30px);border-radius:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000004d;position:relative;overflow:hidden;transition:all .3s ease}.content-wrapper.iframe-content{padding:10px;justify-content:space-between;overflow:hidden}.content-wrapper.iframe-content .brand-logo{flex-direction:column;align-items:center;padding-bottom:10px}.content-wrapper.iframe-content .info-display-container{margin:5px 0;min-height:60px}.iframe-content .main-content,.content-wrapper.iframe-content .main-content{flex:1;display:flex;flex-direction:row;gap:10px;overflow:hidden}.iframe-content .left-panel,.content-wrapper.iframe-content .left-panel{flex:2;padding:10px}.iframe-content .right-panel,.content-wrapper.iframe-content .right-panel{flex:1;padding:10px}.content-wrapper.iframe-content .current-meeting-card{padding:15px;margin-bottom:10px}.content-wrapper.iframe-content .meeting-title{font-size:1.5rem!important;margin-bottom:10px!important}.content-wrapper.iframe-content .room-name{font-size:1.2rem!important;margin-bottom:8px!important}.content-wrapper.iframe-content .next-meeting-title{font-size:1.1rem!important;margin-bottom:8px!important}.content-wrapper.iframe-content .next-meeting-name{font-size:1rem!important;margin-bottom:8px!important}.content-wrapper.iframe-content .time-text,.content-wrapper.iframe-content .duration,.content-wrapper.iframe-content .meeting-organizer,.content-wrapper.iframe-content .current-time,.content-wrapper.iframe-content .current-date{font-size:.9rem}.content-wrapper.iframe-content .action-buttons{flex-direction:column;gap:8px}.content-wrapper.iframe-content .extend-button,.content-wrapper.iframe-content .end-button{width:100%;padding:6px 12px;font-size:.9rem}.content-wrapper.iframe-content .attendees-list{margin-top:10px}.content-wrapper.iframe-content .attendees-avatars{margin-top:8px}.content-wrapper.iframe-content .attendees-avatars .ant-avatar{width:32px;height:32px;line-height:32px;margin-right:6px}.iframe-content .qrcode-section,.content-wrapper.iframe-content .qrcode-section{display:block!important;margin-top:15px}.iframe-content .qrcode-title,.content-wrapper.iframe-content .qrcode-title{font-size:1rem!important;margin-bottom:8px!important}.iframe-content .qrcode-container,.content-wrapper.iframe-content .qrcode-container{width:100%;display:flex;justify-content:center}.iframe-content .qrcode-placeholder,.content-wrapper.iframe-content .qrcode-placeholder{width:100px;height:100px}.iframe-content .qrcode-text,.content-wrapper.iframe-content .qrcode-text{font-size:.8rem}.iframe-content .attendance-list-button,.content-wrapper.iframe-content .attendance-list-button{width:100%;margin-top:8px;font-size:.8rem;padding:4px 0}.iframe-content .login-options,.content-wrapper.iframe-content .login-options{display:block!important;margin-top:15px}.iframe-content .login-button,.content-wrapper.iframe-content.fixed-layout{padding:15px!important;display:flex!important;flex-direction:column!important}.content-wrapper.iframe-content.fixed-layout .main-content{gap:15px!important;display:flex!important;flex-direction:row!important;flex:1!important}.content-wrapper.iframe-content.fixed-layout .left-panel{flex:2!important;gap:10px!important;display:flex!important;flex-direction:column!important}.content-wrapper.iframe-content.fixed-layout .right-panel{flex:1!important;gap:10px!important;display:flex!important;flex-direction:column!important}.content-wrapper.iframe-content.fixed-layout .current-meeting-card{padding:20px!important}.content-wrapper.iframe-content .login-button{width:100%;font-size:.9rem;padding:6px 0}.content-wrapper.iframe-content .next-meeting-card{padding:12px;margin-top:10px}.content-wrapper.iframe-content .room-status-container{margin:10px 0}.content-wrapper.iframe-content .room-status-indicator{padding:10px 20px}.content-wrapper.iframe-content .room-status-text{font-size:1rem}.screen-16-9-container{width:100%;height:100vh;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background-color:#0a0a0a}.meeting-room-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat;z-index:1;filter:brightness(.9) contrast(1);transition:filter .5s ease;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;min-width:100vw;min-height:100vh}.background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#0000000d,#00000026);z-index:2}.content-wrapper{width:100%;height:100%;padding:20px;display:flex;flex-direction:column;justify-content:space-between;z-index:1;max-width:1600px;margin:0 auto}.gradient-glow{position:absolute;width:50%;height:50%;background:radial-gradient(circle,#64b5f633,#64b5f600 70%);filter:blur(60px);z-index:-1;animation:glowPulse 8s ease-in-out infinite alternate}.gradient-glow.top-left{top:0;left:0}.gradient-glow.bottom-right{bottom:0;right:0;background:radial-gradient(circle,#ff8a6533,#ff8a6500 70%)}.content-wrapper{width:100%;height:100%;padding:20px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;z-index:1;max-width:1600px;margin:0 auto;box-sizing:border-box}.brand-logo{text-align:center;margin-bottom:20px;opacity:0;animation:fadeInUp .8s ease-out .2s forwards;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;width:100%}.room-name-display{padding:10px 20px;background:#ffffff1a;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:fadeInUp .8s ease-out .4s forwards;opacity:0;text-align:center;margin:0 auto}.room-name-text{font-size:42px!important;font-weight:700!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.uninet-logo-main{font-size:40px;font-weight:800;color:#2c65f0;line-height:1.1;text-align:center;text-shadow:0 2px 4px rgba(44,101,240,.15);letter-spacing:-.5px;transition:all .3s ease}.uninet-logo-sub{font-size:18px;font-weight:600;color:#fff!important;text-align:center;letter-spacing:.5px;text-transform:uppercase;opacity:.9;transition:all .3s ease}.uninet-logo-display:hover .uninet-logo-main{color:#1e40af;text-shadow:0 3px 6px rgba(44,101,240,.2)}.uninet-logo-display:hover .uninet-logo-sub{color:#fff!important;opacity:1;animation:none!important}.uninet-logo-sub,.uninet-logo-sub *,.uninet-logo-display:hover .uninet-logo-sub,.uninet-logo-display:hover .uninet-logo-sub *{color:#fff!important;animation:none!important}.main-content{display:flex;gap:60px;flex:1;align-items:stretch;overflow:hidden;justify-content:center;width:100%}.left-panel{flex:2;display:flex;flex-direction:column;gap:20px;overflow:hidden;align-items:center}.current-meeting-card{flex:1;background:#ffffff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 32px #0003;transition:all .3s ease;position:relative;overflow:hidden;min-height:0}.current-meeting-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#64b5f6,#4fc3f7,#4dd0e1)}.current-meeting-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0000004d;background:#ffffff14}.room-name{margin:0 0 4vw!important;font-size:clamp(24px,6vw,120px)!important;font-weight:800;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.5);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(90deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;color:transparent;animation:textGlow 3s ease-in-out infinite alternate;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-title{margin:0!important;font-size:clamp(18px,4.5vw,80px)!important;font-weight:700!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.current-time{font-size:clamp(32px,8vw,140px)!important;font-weight:800!important;color:#fff!important;text-shadow:3px 3px 6px rgba(0,0,0,.5);letter-spacing:.02em;margin:2vw 0}.current-date{font-size:clamp(16px,3.5vw,60px)!important;font-weight:600!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:.05em;background:linear-gradient(90deg,#f0f0f0,#e0e0e0);-webkit-background-clip:text;background-clip:text;color:transparent}.room-name-text{font-size:clamp(20px,4vw,70px)!important;font-weight:700!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:.05em}.qrcode-title{font-size:clamp(18px,3.5vw,60px)!important;font-weight:700!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:3vw!important;text-transform:uppercase;letter-spacing:.1em}.time-text{font-size:clamp(16px,2.5vw,40px)!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);font-weight:600}.duration{font-size:clamp(14px,2vw,32px)!important;color:#fffc!important;background:#ffffff1a;padding:1vw 2vw;border-radius:30px;border:1px solid rgba(255,255,255,.2)}.meeting-organizer{display:flex;align-items:center;gap:1vw;font-size:clamp(16px,2.5vw,40px)!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.meeting-organizer .anticon{font-size:clamp(18px,3vw,45px);color:#fff}.meeting-description{margin-top:10px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);overflow:hidden}.meeting-description Text{font-size:18px!important;color:#ffffffe6!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.action-buttons{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap}.extend-button,.end-button{flex:1;height:60px;font-size:24px!important;font-weight:600!important;border:none!important;border-radius:30px!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;z-index:1;box-shadow:0 4px 15px #0003}.extend-button{background:linear-gradient(135deg,#1890ff,#096dd9)!important;color:#fff!important}.extend-button:hover{background:linear-gradient(135deg,#40a9ff,#1890ff)!important;transform:translateY(-2px);box-shadow:0 8px 20px #1890ff66}.end-button{background:linear-gradient(135deg,#ff4d4f,#cf1322)!important;color:#fff!important}.end-button:hover{background:linear-gradient(135deg,#ff7875,#ff4d4f)!important;transform:translateY(-2px);box-shadow:0 8px 20px #ff4d4f66}.room-status-container{flex:1;display:flex;align-items:center;justify-content:center}.room-status-indicator{display:flex;align-items:center;justify-content:center;gap:20px;padding:60px 100px;border-radius:50px;transition:all .3s ease;position:relative;overflow:hidden}.status-free{background:#52c41a1a;border:2px solid rgba(82,196,26,.3);box-shadow:0 0 30px #52c41a1a}.status-in-use{background:#ff4d4f1a;border:2px solid rgba(255,77,79,.3);box-shadow:0 0 30px #ff4d4f1a}.status-coming-soon{background:#faad141a;border:2px solid rgba(250,173,20,.3);box-shadow:0 0 30px #faad141a}.room-status-text{font-size:48px!important;font-weight:800!important;letter-spacing:4px;text-shadow:3px 3px 6px rgba(0,0,0,.5);text-transform:uppercase;padding:20px 40px;border-radius:10px;background:#0000001a;transition:all .3s ease}.status-free .room-status-text{color:#52c41a;animation:pulse 2s infinite}.status-in-use .room-status-text{color:#ff4d4f;animation:pulse 2s infinite}.status-coming-soon .room-status-text{color:#faad14;animation:pulse 2s infinite}.next-meeting-card{background:#ffffff05;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:30px;box-shadow:0 8px 32px #0003;position:relative;transition:all .3s ease;overflow:hidden}.next-meeting-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ffa726,#ff8a00)}.next-meeting-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0000004d;background:#ffffff14}.next-meeting-title{margin:0 0 20px!important;font-size:20px!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.next-meeting-details{display:flex;flex-direction:column;gap:15px;color:#fff!important}.next-meeting-name{margin:0!important;font-size:18px!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.next-meeting-time,.next-meeting-organizer{display:flex;align-items:center;gap:10px;font-size:20px!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.next-meeting-time .anticon,.next-meeting-organizer .anticon{font-size:20px;color:#fff;opacity:.8}.right-panel{flex:1;display:flex;flex-direction:column;gap:30px;justify-content:space-between;overflow:hidden;align-items:center}.time-date-section{background:#ffffff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;text-align:center;box-shadow:0 8px 32px #0003;position:relative;overflow:hidden;transition:all .3s ease}.time-date-section:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#64b5f6,#4fc3f7,#4dd0e1)}.time-date-section:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0000004d;background:#ffffff14}.current-time{font-size:88px!important;font-weight:800!important;color:#fff!important;text-shadow:3px 3px 6px rgba(0,0,0,.5);letter-spacing:2px;display:block;margin-bottom:10px;line-height:1.2;background:linear-gradient(90deg,#fff,#f0f0f0);-webkit-background-clip:text;background-clip:text;color:transparent;animation:timeGlow 3s ease-in-out infinite alternate}.current-date{font-size:42px!important;font-weight:600!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:1px;background:linear-gradient(90deg,#f0f0f0,#e0e0e0);-webkit-background-clip:text;background-clip:text;color:transparent}.qrcode-section{display:flex;flex-direction:column;align-items:center;gap:20px}.qrcode-title{font-size:38px!important;font-weight:700!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:20px!important;text-transform:uppercase;letter-spacing:2px}.qrcode-container{width:300px;max-width:100%;height:300px;max-height:100%;background:#ffffffe6;padding:20px;border-radius:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000004d;position:relative;overflow:hidden;transition:all .3s ease}.qrcode-container:hover{transform:scale(1.05);box-shadow:0 12px 40px #0006}.qrcode-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 48%,rgba(0,0,0,.05) 48%,rgba(0,0,0,.05) 52%,transparent 52%);pointer-events:none}.qrcode-placeholder{display:flex;flex-direction:column;align-items:center;gap:20px;color:#333}.qrcode-icon{font-size:120px;color:#9d0000}.qrcode-text{font-size:24px!important;font-weight:600!important;color:#333!important}.qrcode-label{font-size:24px!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);letter-spacing:1px}.attendance-list-button{margin-top:20px;padding:15px 40px!important;font-size:22px!important;font-weight:600!important;background:linear-gradient(135deg,#673ab7,#512da8)!important;border:none!important;color:#fff!important;border-radius:30px!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #673ab74d}.attendance-list-button:hover{background:linear-gradient(135deg,#7e57c2,#673ab7)!important;transform:translateY(-2px);box-shadow:0 8px 20px #673ab766}.login-options{margin-top:40px;text-align:center}.login-title{font-size:28px!important;font-weight:700!important;color:#fff!important;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:20px!important}.login-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.login-button{flex:1;height:80px;padding:15px 30px!important;font-size:20px!important;font-weight:600!important;background:#ffffff08!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:30px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.login-button:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#fff3;transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.login-button:hover{background:#ffffff1f!important;transform:translateY(-2px);box-shadow:0 10px 30px #0000004d;border:1px solid rgba(255,255,255,.3)!important}.login-button:hover:before{transform:scaleX(1)}.white-login-button{background:#ffffff08!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)!important;height:80px!important;font-size:20px!important;font-weight:600!important;border-radius:30px!important}.white-login-button:hover{background:#ffffff1f!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:0 10px 30px #0000004d!important;transform:translateY(-2px)!important}.white-login-button .anticon{color:#fff!important}.white-login-button Text{color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5)!important}.white-login-button:before{background:#fff3!important}.login-icon{font-size:36px;color:#fff;transition:transform .3s ease}.login-button:hover .login-icon{transform:scale(1.1)}.login-button Text{font-size:24px!important;color:#fff!important;text-shadow:1px 1px 2px rgba(0,0,0,.5);font-weight:600!important}.unbound-room-container{display:flex;align-items:center;justify-content:center;height:100%;z-index:3;position:relative;padding:20px}.unbound-room-content{background:#fffffff2;border-radius:12px;padding:40px;box-shadow:0 4px 12px #0000001a;text-align:center;max-width:600px;width:100%;overflow:hidden}@media (max-width: 768px){.content-wrapper{padding:10px}.room-name{font-size:24px!important}.meeting-title{font-size:20px!important}.current-meeting-card{padding:20px}.action-buttons{flex-direction:column}.extend-button,.end-button{height:50px;font-size:20px!important}.current-time{font-size:40px!important}.current-date{font-size:24px!important}.qrcode-container{width:180px;height:180px}.login-buttons{flex-direction:column}.login-button{height:70px}}@media (max-width: 480px){.uninet-logo-main{font-size:32px}.uninet-logo-sub{font-size:14px}.room-name{font-size:20px!important}.meeting-title{font-size:18px!important}.time-text{font-size:20px!important}.duration{font-size:16px!important}.current-time{font-size:36px!important}.current-date,.qrcode-title{font-size:20px!important}.qrcode-container{width:160px;height:160px}.login-title{font-size:24px!important}.login-button{height:60px;font-size:18px!important}}.ant-typography{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.screen-display-container::-webkit-scrollbar,.content-wrapper::-webkit-scrollbar,.left-panel::-webkit-scrollbar,.right-panel::-webkit-scrollbar{width:6px}.screen-display-container::-webkit-scrollbar-track,.content-wrapper::-webkit-scrollbar-track,.left-panel::-webkit-scrollbar-track,.right-panel::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.screen-display-container::-webkit-scrollbar-thumb,.content-wrapper::-webkit-scrollbar-thumb,.left-panel::-webkit-scrollbar-thumb,.right-panel::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.screen-display-container::-webkit-scrollbar-thumb:hover,.content-wrapper::-webkit-scrollbar-thumb:hover,.left-panel::-webkit-scrollbar-thumb:hover,.right-panel::-webkit-scrollbar-thumb:hover{background:#ffffff80}.warning-icon{margin-bottom:20px}.unbound-room-title{color:#faad14;margin-bottom:15px}.unbound-room-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:20px;display:block}.device-info{background-color:#f5f5f5;border-radius:8px;padding:15px;margin-top:20px}.device-code,.device-status{display:block;margin-bottom:8px;color:#555;font-size:14px}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;z-index:100}.loading-text{margin-top:16px;font-size:16px;color:#666}.footer-brand{margin-top:40px;text-align:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);opacity:0;animation:fadeInUp .8s ease-out .4s forwards}.footer-logo{font-size:28px;font-weight:700;color:#ffffffb3;letter-spacing:2px;text-transform:uppercase}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(1);opacity:1;box-shadow:0 0 20px #fff3}50%{transform:scale(1.05);opacity:.8;box-shadow:0 0 30px #ffffff4d}to{transform:scale(1);opacity:1;box-shadow:0 0 20px #fff3}}@keyframes glowPulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.2);opacity:.8}}@keyframes textGlow{0%{text-shadow:2px 2px 4px rgba(0,0,0,.5)}to{text-shadow:2px 2px 8px rgba(100,181,246,.5)}}@keyframes timeGlow{0%{text-shadow:2px 2px 4px rgba(0,0,0,.5)}to{text-shadow:2px 2px 8px rgba(100,181,246,.5)}}@media (min-width: 1280px) and (max-width: 1919px){.main-content{flex-direction:row;gap:clamp(30px,3vw,60px);justify-content:center}.left-panel{flex:2;align-items:center}.right-panel{flex:1;align-items:center}.content-wrapper{padding:clamp(20px,2vw,40px);align-items:center}.brand-logo{justify-content:center;text-align:center;width:100%}.room-name-display{margin:0 auto}}@media (min-width: 1920px) and (max-width: 3839px){.content-wrapper{padding:clamp(40px,3vw,80px);align-items:center}.main-content{gap:clamp(50px,4vw,100px);justify-content:center}.brand-logo{justify-content:center;text-align:center;width:100%}.left-panel,.right-panel{align-items:center}.room-name-display{margin:0 auto}}@media (min-width: 3840px){.content-wrapper{max-width:3200px;margin:0 auto;padding:clamp(60px,2vw,120px);align-items:center}.main-content{gap:clamp(80px,3vw,150px);justify-content:center}.brand-logo{justify-content:center;text-align:center;width:100%}.current-meeting-card{padding:clamp(40px,2vw,80px)}.time-date-section{padding:clamp(30px,2vw,60px)}.room-name-display{margin:0 auto}}.info-display-screen-container{width:100vw;height:100vh;overflow:hidden;position:relative}.content-wrapper{width:100%;height:100%;padding:20px;display:flex;flex-direction:column;box-sizing:border-box}.device-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 20px;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000001a}.device-name{font-size:24px;font-weight:600;color:#333}.current-time{font-size:20px;color:#666}.info-display-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.no-content{display:flex;align-items:center;justify-content:center;height:100%;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026}.carousel-indicators{display:flex;justify-content:center;gap:10px;margin-top:20px}.indicator{width:12px;height:12px;border-radius:50%;background-color:#d9d9d9;cursor:pointer;transition:all .3s}.indicator.active{width:30px;border-radius:6px;background-color:#1890ff}@media (max-width: 768px){.content-wrapper{padding:10px}.device-info-header{flex-direction:column;gap:10px;text-align:center}.device-name{font-size:20px}.current-time{font-size:16px}.info-display-content{padding:10px 0}}.apk-management-page{padding:24px;background:#f0f2f5;min-height:100vh}.apk-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.apk-management-header h2{margin:0;font-size:20px;font-weight:600}.ant-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.brand-settings-container{padding:24px;max-width:800px;margin:0 auto}.brand-settings-container .ant-card{box-shadow:0 2px 8px #0000001a}.brand-settings-container .ant-form-item{margin-bottom:24px}.brand-settings-container .ant-upload-list{margin-top:8px}.chat-booking-container{max-width:1400px;margin:0 auto;padding:16px 24px;height:calc(100vh - 80px)}.chat-card{box-shadow:0 2px 8px #0000001a;border-radius:8px;height:100%;display:flex;flex-direction:column}.chat-card .ant-card-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-card .ant-card-head{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border-radius:8px 8px 0 0;padding:16px 24px;border-bottom:none}.chat-card .ant-card-head-title{color:#fff;font-weight:600}.header-title{display:flex;align-items:center;gap:12px}.header-icon{font-size:28px;color:#fff}.header-text{font-size:18px;font-weight:600;color:#fff}.status-tag{font-size:12px;border:none;background:#fff3}.header-btn{color:#fffffff2!important;border:1px solid rgba(255,255,255,.4)!important;background:#ffffff1a!important;font-size:13px!important;height:28px!important;padding:0 12px!important}.header-btn:hover:not(:disabled){background:#fff3!important;border-color:#fff9!important;color:#fff!important}.header-btn:disabled{opacity:.6}.chat-header{display:flex;justify-content:space-between;align-items:center}.chat-messages{flex:1;overflow-y:auto;padding:20px;background:linear-gradient(to bottom,#f8f9fa,#fff);border-radius:8px;margin-bottom:12px;min-height:400px;max-height:calc(100vh - 350px);box-shadow:inset 0 1px 3px #0000000d}.message-row{display:flex;margin-bottom:16px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-row.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;margin:0 12px}.message-bubble{max-width:70%;padding:14px 18px;border-radius:16px;background:#fff;box-shadow:0 2px 8px #00000014;position:relative;transition:box-shadow .2s ease}.message-bubble:hover{box-shadow:0 4px 12px #0000001f}.message-row.user .message-bubble{background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;box-shadow:0 2px 8px #1890ff40}.message-row.assistant .message-bubble{background:#fff;border:1px solid #f0f0f0}.message-content{line-height:1.6;word-break:break-word;white-space:pre-wrap}.message-time{font-size:11px;color:#999;margin-top:6px;display:flex;align-items:center}.message-row.user .message-time{color:#fffc}.typing-bubble{background:linear-gradient(to right,#f5f5f5,#fafafa)!important;color:#666;display:flex;align-items:center;flex-wrap:wrap;border:1px solid #e8e8e8!important;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.chat-input-area{display:flex;gap:12px;align-items:flex-end;padding:12px;background:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.chat-input-area textarea{flex:1;resize:none;border-radius:6px;font-size:14px;border-color:#d9d9d9;transition:all .2s ease}.chat-input-area textarea:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.chat-input-area button{flex-shrink:0;height:46px;padding:0 24px;font-size:14px;font-weight:500;border-radius:6px;box-shadow:0 2px 4px #1890ff33}.chat-input-area button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #1890ff4d}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#555}.quick-examples{margin-bottom:12px;padding:12px;background:linear-gradient(to right,#f8f9fa,#fff);border-radius:8px;border:1px solid #e8e8e8}.quick-examples-title{font-size:13px;color:#595959;margin-bottom:12px;font-weight:500;display:flex;align-items:center;gap:6px}.quick-examples-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.quick-example-btn{text-align:left;height:auto;padding:10px 14px;white-space:normal;line-height:1.5;font-size:13px;border-radius:6px;border:1px solid #d9d9d9;background:#fff;transition:all .2s ease}.quick-example-btn:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#f0f7ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff26}.quick-example-btn:disabled{opacity:.6}@media (max-width: 768px){.chat-booking-container{padding:4px;height:100vh;max-height:100vh;overflow:hidden}.chat-card{border-radius:0;height:100%}.chat-card .ant-card-head{padding:8px 12px;min-height:auto}.chat-card .ant-card-body{padding:0}.header-text{font-size:14px}.header-icon{font-size:20px}.chat-messages{padding:12px 8px;min-height:200px;max-height:calc(100vh - 180px);flex:1}.message-row{gap:8px;margin-bottom:12px}.message-bubble{max-width:90%;padding:10px 12px;font-size:14px;border-radius:12px}.message-avatar{width:28px;height:28px;flex-shrink:0}.message-time{font-size:10px}.quick-examples{padding:8px;margin-bottom:4px}.quick-examples-grid{grid-template-columns:1fr;gap:6px}.quick-example-btn{font-size:12px;padding:6px 10px}.chat-input-area{padding:8px;gap:8px;border-top:1px solid #f0f0f0;background:#fafafa}.chat-input-area textarea{font-size:14px!important;min-height:36px!important;max-height:80px!important;padding:8px 12px!important}.chat-input-area button{height:36px;padding:0 12px;font-size:12px;flex-shrink:0}.header-btn{font-size:10px!important;height:24px!important;padding:0 6px!important}.header-btn .anticon{font-size:11px}.header-actions{gap:4px}.voice-button{width:36px!important;height:36px!important;font-size:16px!important;margin:0 4px!important}.chat-input-area .ant-btn-primary{min-width:60px}}.voice-button{flex-shrink:0;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#595959;border:1px solid #d9d9d9;background:#fff;cursor:pointer;transition:all .3s ease;margin:0 8px}.voice-button:hover:not(:disabled){color:#1890ff;border-color:#1890ff;transform:scale(1.05)}.voice-button:disabled{opacity:.5;cursor:not-allowed}.voice-button.recording{color:#ff4d4f;border-color:#ff4d4f;background:#fff1f0;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 #ff4d4fb3}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #ff4d4fb3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #ff4d4f00}}.voice-button.processing{color:#1890ff;border-color:#1890ff;background:#e6f7ff}.voice-recognition-preview{position:relative;margin-bottom:12px;padding:16px;background:#fff;border:1px solid #d9d9d9;border-radius:8px;box-shadow:0 2px 8px #00000014;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recognition-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recording-duration{font-size:14px;color:#595959;font-family:Courier New,monospace;font-weight:600}.interim-text{font-size:14px;line-height:1.6;color:#999;font-style:italic;min-height:22px;margin-bottom:8px;animation:fadeInOut 1s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.final-text{font-size:15px;line-height:1.6;color:#262626;font-weight:500}.recognition-actions{display:flex;justify-content:flex-end;gap:8px}.voice-recognition-preview.voice-dialog-mode{background:linear-gradient(135deg,#f0f9ff,#e6f7ff);border:2px solid #1890ff;border-radius:16px;padding:20px}.voice-recognition-preview.voice-dialog-mode.continuous{border-color:#52c41a;background:linear-gradient(135deg,#f6ffed,#d9f7be)}.voice-visualizer{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.voice-wave-container{display:flex;justify-content:center;align-items:flex-end;height:60px;gap:6px;margin-bottom:12px}.voice-wave-bar{width:8px;min-height:12px;background:linear-gradient(180deg,#1890ff,#40a9ff);border-radius:4px;transition:height .1s ease;animation:waveAnimation .8s ease-in-out infinite}.voice-dialog-mode.continuous .voice-wave-bar{background:linear-gradient(180deg,#52c41a,#73d13d)}@keyframes waveAnimation{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.voice-wave-bar:nth-child(1){animation-delay:0s}.voice-wave-bar:nth-child(2){animation-delay:.1s}.voice-wave-bar:nth-child(3){animation-delay:.2s}.voice-wave-bar:nth-child(4){animation-delay:.1s}.voice-wave-bar:nth-child(5){animation-delay:0s}.voice-status-text{display:flex;align-items:center;justify-content:center;font-size:14px;color:#595959;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#bfbfbf}.status-dot.recording{background:#ff4d4f;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.voice-status-text .recording-duration{font-family:SF Mono,Monaco,monospace;font-size:13px;color:#8c8c8c;margin-left:8px}.recognition-text{font-size:16px;line-height:1.8;min-height:60px;padding:16px;background:#fff;border-radius:12px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;text-align:center}.recognition-text .final-text{color:#262626;font-weight:500}.recognition-text .interim-text{color:#8c8c8c;font-style:italic}.recognition-text .placeholder-text{color:#bfbfbf;font-style:italic}.voice-dialog-footer{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.voice-mode-indicator{display:flex;align-items:center;gap:8px}.voice-mode-indicator .hint-text{font-size:12px;color:#8c8c8c}@media (max-width: 768px){.voice-button{width:44px;height:44px;font-size:18px;margin:0 6px}.voice-recognition-preview{padding:12px;margin-bottom:8px}.voice-recognition-preview.voice-dialog-mode{padding:16px;border-radius:12px}.voice-wave-container{height:50px;gap:4px}.voice-wave-bar{width:6px}.interim-text,.final-text,.recording-duration{font-size:13px}.recognition-text{font-size:14px;min-height:50px;padding:12px}.voice-dialog-footer{flex-direction:column;gap:8px}.voice-mode-indicator{flex-direction:column;gap:4px}}.voice-input-inline{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#e6f7ff,#f0f9ff);border:2px solid #1890ff;border-radius:8px;min-height:60px;animation:voiceInputFadeIn .2s ease-out}@keyframes voiceInputFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.voice-wave-inline{display:flex;align-items:center;gap:3px;height:32px;flex-shrink:0}.voice-wave-bar-inline{width:4px;min-height:8px;background:linear-gradient(180deg,#1890ff,#69c0ff);border-radius:2px;transition:height .08s ease;animation:waveAnimation .8s ease-in-out infinite}.voice-wave-bar-inline:nth-child(1){animation-delay:0s}.voice-wave-bar-inline:nth-child(2){animation-delay:.1s}.voice-wave-bar-inline:nth-child(3){animation-delay:.2s}.voice-wave-bar-inline:nth-child(4){animation-delay:.1s}.voice-wave-bar-inline:nth-child(5){animation-delay:0s}.voice-text-inline{flex:1;font-size:15px;line-height:1.5;overflow:hidden}.voice-status-inline{color:#8c8c8c;display:flex;align-items:center;gap:8px}.voice-placeholder{color:#8c8c8c;font-style:italic}.voice-transcript,.voice-transcript .final{color:#262626}.voice-transcript .interim{color:#8c8c8c;font-style:italic;margin-left:4px}.voice-error{color:#ff4d4f}.voice-meta-inline{display:flex;align-items:center;gap:6px;flex-shrink:0}.recording-dot{width:8px;height:8px;border-radius:50%;background:#ff4d4f;animation:blink 1s infinite}.recording-time{font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:#595959;font-weight:500}@media (max-width: 768px){.voice-input-inline{padding:10px 12px;gap:8px;min-height:50px}.voice-wave-inline{height:24px}.voice-wave-bar-inline{width:3px;min-height:6px}.voice-text-inline{font-size:14px}.voice-placeholder{font-size:13px}.recording-time{font-size:12px}}*{box-sizing:border-box}body,html{margin:0;padding:0;overflow:hidden}#root{margin:0;padding:0;width:100vw;height:100vh}.header{background-color:var(--card-bg);padding:0 24px;border-bottom:1px solid var(--card-border);box-shadow:0 2px 8px #0000001a;height:64px;line-height:64px}.header-content{display:flex;justify-content:flex-end;align-items:center;height:100%}.layout{min-height:100vh;display:flex;margin:0;padding:0;overflow:hidden}.logo{color:var(--color-primary-600);font-size:20px;margin:0}.user-info{display:flex;align-items:center;gap:16px;background-color:var(--card-bg);padding:8px 16px;border-radius:6px;box-shadow:0 2px 8px #0000001a}.user-info .user-name{font-size:14px;color:#000000d9;font-weight:500}.user-info .logout-btn{display:flex;align-items:center;gap:4px;background-color:#fff;border:1px solid #d9d9d9;color:#000000a6;padding:4px 12px;height:32px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .3s ease}.logout-btn:hover{color:var(--color-primary-600);border-color:var(--color-primary-600);background-color:#1890ff1a}.sidebar{background-color:var(--card-bg);box-shadow:0 2px 8px #0000001a;overflow-y:hidden;overflow-x:hidden;max-height:100vh;display:flex;flex-direction:column;position:relative}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.sidebar::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.logo-container{padding:12px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px solid var(--card-border);background-color:var(--card-bg);flex-shrink:0}.system-version-container{margin-top:4px;text-align:center}.system-version{font-size:12px;color:#00000073;text-align:center;margin:0;font-weight:400;line-height:1.2}.current-user{margin-top:8px;padding:4px 6px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;border:1px solid #e1e8ed;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease;min-height:28px;box-shadow:0 2px 4px #00000014}.current-user:hover{box-shadow:0 4px 8px #0000001f;background:linear-gradient(135deg,#eef2f7,#b8c6db)}.current-user .ant-avatar{background:#6c757d;border:1px solid rgba(255,255,255,.3);color:#fff}.current-user .username{font-size:11px;color:#495057;font-weight:500;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.menu{border-right:none;margin-top:0;flex:1;overflow-y:auto!important;overflow-x:hidden;padding-bottom:90px;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5;max-height:calc(100vh - 200px);min-height:0}.menu::-webkit-scrollbar{width:6px}.menu::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.menu::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.menu::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.menu .ant-menu-item{height:48px;line-height:48px;margin:4px 0;border-radius:6px;padding-left:24px!important;padding-right:24px!important;transition:all .3s ease}.menu .ant-menu-item:hover{background-color:#1890ff1a;color:var(--color-primary-600)}.menu .ant-menu-item-selected{background-color:var(--color-primary-600);color:#fff}.menu .ant-menu-item-selected:hover{background-color:var(--color-primary-700);color:#fff}.menu .ant-menu-item .anticon{font-size:16px;margin-right:12px}.menu .ant-menu-item-title{font-size:14px;font-weight:500}.content-layout{padding:0;margin:0;background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.content-layout::-webkit-scrollbar{width:8px}.content-layout::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.content-layout::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.content-layout::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.content{background-color:var(--card-bg);padding:24px;border-radius:0;min-height:calc(100vh - 48px);width:100%;margin:0;overflow-y:auto;overflow-x:auto;max-height:calc(100vh - 48px);scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.content::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.content::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}@media (max-width: 768px){.system-title{font-size:16px}.content-layout,.content{padding:16px}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .3s ease}.sidebar.mobile-visible{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:999}.sidebar-overlay.visible{display:block}.mobile-menu-button{display:flex!important;position:fixed;bottom:20px;left:20px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border:none;box-shadow:0 4px 12px #1890ff66;cursor:pointer;z-index:998;align-items:center;justify-content:center;font-size:20px}.mobile-menu-button:active{transform:scale(.95)}}@media (max-width: 479px){.current-user{margin-top:6px;padding:3px 5px;min-height:24px;gap:4px;border-radius:10px}.current-user .ant-avatar{width:16px!important;height:16px!important;line-height:16px!important;font-size:10px!important}.current-user .username{font-size:9px;max-width:50px}.system-title{font-size:14px}.system-version{font-size:10px}.logo-container{padding:12px}.content-layout{padding:8px}.content{padding:12px;border-radius:4px;max-height:calc(100vh - 32px)}.menu .ant-menu-item{height:44px;line-height:44px;padding-left:16px!important;padding-right:16px!important}.menu .ant-menu-item .anticon{font-size:14px;margin-right:8px}.user-info{padding:4px 8px;gap:8px}.user-info .user-name{font-size:12px}.user-info .logout-btn{padding:2px 8px;height:24px;font-size:10px}}@media (min-width: 480px) and (max-width: 767px){.current-user{margin-top:6px;padding:3px 5px;min-height:26px;gap:5px;border-radius:11px}.current-user .ant-avatar{width:18px!important;height:18px!important;line-height:18px!important;font-size:11px!important}.current-user .username{font-size:10px;max-width:55px}.system-title{font-size:16px}.system-version{font-size:11px}.content-layout{padding:16px}.content{padding:16px;border-radius:6px;max-height:calc(100vh - 40px)}.menu .ant-menu-item{height:46px;line-height:46px;padding-left:20px!important;padding-right:20px!important}.user-info{padding:6px 12px;gap:12px}.user-info .user-name{font-size:13px}.user-info .logout-btn{padding:3px 10px;height:28px;font-size:11px}}@media (min-width: 768px) and (max-width: 992px){.system-title{font-size:17px}.content-layout{padding:20px}.content{padding:20px;max-height:calc(100vh - 44px)}.menu .ant-menu-item{height:47px;line-height:47px;padding-left:22px!important;padding-right:22px!important}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-5{height:1.25rem}.h-6{height:1.5rem}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-full{width:100%}.max-w-\[360px\]{max-width:360px}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:6px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.border{border-width:1px}.border-t{border-top-width:1px}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-gray-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-90{opacity:.9}.shadow,.shadow-card{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-fg, #111827);background-color:var(--color-bg, #ffffff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}::-webkit-scrollbar-thumb:active{background-color:#999}html{scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5;overflow-y:scroll}.scrollable{overflow:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.scrollable::-webkit-scrollbar{width:8px;height:8px}.scrollable::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.scrollable::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.scrollable::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}.scrollable-thin::-webkit-scrollbar{width:6px;height:6px}.scrollable-thin::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px}.scrollable-thin::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}body{margin:0;min-width:320px;min-height:100vh}@media (max-width: 479px){body{font-size:14px}h2{font-size:18px}button,.ant-btn,.ant-button{min-height:44px;padding:.8em 1.2em;font-size:14px}.ant-input,.ant-select-selector,.ant-picker{min-height:48px;font-size:16px}.ant-menu-item,.ant-menu-submenu-title{min-height:44px;line-height:44px}.ant-switch{min-width:44px!important;height:22px!important;line-height:20px!important}.ant-switch-inner{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;font-size:12px!important;color:#fff!important;margin:0!important;padding:0 6px!important}.ant-switch-handle{width:18px!important;height:18px!important;top:2px!important}.ant-switch-handle:before{border-radius:9px!important}}@media (min-width: 480px) and (max-width: 767px){body{font-size:15px}h2{font-size:20px}button,.ant-btn,.ant-button{min-height:42px;font-size:15px}.ant-input,.ant-select-selector,.ant-picker{min-height:46px;font-size:16px}.ant-switch{min-width:44px!important;height:22px!important;line-height:20px!important}.ant-switch-inner{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;font-size:12px!important;color:#fff!important;margin:0!important;padding:0 6px!important}.ant-switch-handle{width:18px!important;height:18px!important;top:2px!important}.ant-switch-handle:before{border-radius:9px!important}}@media (min-width: 768px) and (max-width: 992px){h2{font-size:22px}button,.ant-btn,.ant-button{font-size:15px}}h2{font-size:24px;font-weight:500;color:#000000d9;margin:0 0 8px}.page-header,.dashboard-header,.room-list-header,.booking-screen-header,.info-display-header,.info-display-screen-header,.booking-calendar-header,.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;border-bottom:1px solid #e8e8e8}@media (max-width: 767px){.page-header,.dashboard-header,.room-list-header,.booking-screen-header,.info-display-header,.info-display-screen-header,.booking-calendar-header,.users-header{flex-direction:column;align-items:stretch;gap:12px;padding:12px 0;margin-bottom:16px}}h1{font-size:3.2em;line-height:1.1}button,.ant-btn,.ant-button{border-radius:6px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center;position:relative;overflow:hidden;outline:none}button:before,.ant-btn:before,.ant-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}button:active:before,.ant-btn:active:before,.ant-button:active:before{width:300px;height:300px}.ant-btn-primary,button.primary{color:#fff}.ant-btn-primary:hover,button.primary:hover{box-shadow:0 4px 12px #1890ff4d}button:hover,.ant-btn:hover,.ant-button:hover{border-color:#1890ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff26}button:active,.ant-btn:active,.ant-button:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #1890ff1a}button:focus,.ant-btn:focus,.ant-button:focus,button:focus-visible,.ant-btn:focus-visible,.ant-button:focus-visible{outline:2px solid rgba(24,144,255,.3);outline-offset:2px}a,.ant-btn-link,.ant-typography a{color:#1890ff;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}a:hover,.ant-btn-link:hover,.ant-typography a:hover{color:#40a9ff}a:hover:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:#40a9ff;transform:scaleX(1);transform-origin:left;transition:transform .3s ease}a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:#40a9ff;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.ant-select-selector,.ant-input,.ant-picker{border-radius:6px;transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-select-selector:hover,.ant-input:hover,.ant-picker:hover{border-color:#1890ff;box-shadow:0 1px 3px #1890ff1a}.ant-select-selector:focus,.ant-input:focus,.ant-picker:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.ant-menu-item,.ant-menu-submenu-title,.ant-list-item,.ant-table-row,.ant-table-row-expand-icon{transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:6px}.ant-menu-item:hover,.ant-menu-submenu-title:hover,.ant-list-item:hover,.ant-table-row:hover{background-color:#f0f7ff}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-list-item:active{background-color:#e6f7ff}.ant-card,.ant-panel{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-card:hover,.ant-panel:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.ant-checkbox,.ant-radio{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-checkbox:hover .ant-checkbox-inner,.ant-radio:hover .ant-radio-inner{border-color:#1890ff;transform:scale(1.1)}.ant-checkbox-checked .ant-checkbox-inner,.ant-radio-checked .ant-radio-inner,.ant-switch{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-switch:hover{transform:scale(1.05)}.ant-switch-checked{background-color:#1890ff}.ant-pagination-item,.ant-pagination-prev,.ant-pagination-next{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-pagination-item:hover,.ant-pagination-prev:hover,.ant-pagination-next:hover{transform:translateY(-1px);border-color:#1890ff;color:#1890ff}.ant-pagination-item-active{border-color:#1890ff;background-color:#1890ff;color:#fff}.ant-tag{transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-tag:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.ant-modal-body{max-height:70vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.ant-modal-body::-webkit-scrollbar{width:6px}.ant-modal-body::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.ant-modal-body::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.ant-modal-body::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.ant-select-dropdown{scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.ant-select-dropdown .rc-virtual-list::-webkit-scrollbar{width:6px}.ant-select-dropdown .rc-virtual-list::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:3px}.ant-select-dropdown .rc-virtual-list::-webkit-scrollbar-thumb{background-color:#e8e8e8;border-radius:3px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.ant-select-dropdown .rc-virtual-list::-webkit-scrollbar-thumb:hover{background-color:#d9d9d9}.ant-table-wrapper{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.ant-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.ant-table-wrapper::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:4px}.ant-table-wrapper::-webkit-scrollbar-thumb{background-color:#d9d9d9;border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.ant-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:#bfbfbf}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#40a9ff}button,.ant-btn,.ant-button{background-color:#f9f9f9}}.ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important}.ant-btn-primary:focus{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important}.ant-btn-primary:active{background-color:#096dd9!important;border-color:#096dd9!important;color:#fff!important}.ant-btn-link{color:#1890ff!important}.ant-btn-link:hover{color:#40a9ff!important}.ant-btn-link:focus{color:#1890ff!important}.ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.ant-btn-danger:focus{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important}.ant-btn-default{background-color:#fff!important;border-color:#d9d9d9!important;color:#000000d9!important}.ant-btn-default:hover{background-color:#fff!important;border-color:#40a9ff!important;color:#40a9ff!important}.ant-table-cell .ant-btn-link{color:#1890ff!important;padding:0!important}.ant-table-cell .ant-btn-link:hover{color:#40a9ff!important}.ant-select-selection-item,.ant-select-selector,.ant-input{color:#000000d9!important}.ant-form-item-label>label{color:#000000d9!important}@media (min-width: 768px){.md\:mb-6{margin-bottom:1.5rem}.md\:p-6{padding:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}}:root{--font-size: 16px;--color-bg: #ffffff;--color-fg: #111827;--primary: var(--color-primary-600);--primary-foreground: #ffffff;--muted: var(--color-gray-100);--muted-foreground: var(--color-gray-500);--accent: var(--color-gray-50);--accent-foreground: var(--color-primary-600);--border: var(--color-gray-200);--input: transparent;--input-background: var(--color-gray-50);--switch-background: var(--color-gray-300);--font-weight-medium: 500;--font-weight-normal: 400;--radius: var(--radius-lg)}.dark:root{--color-bg: #0f172a;--color-fg: #e5e7eb;--muted: #0b1220;--muted-foreground: #94a3b8;--accent: #0b1220;--accent-foreground: var(--color-primary-400);--border: #1f2937;--input-background: #0b1220;--switch-background: #374151}html{font-size:var(--font-size)}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-primary-950: #172554;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-800: #166534;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-400: #f59e0b;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-800: #92400e;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-800: #991b1b;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-200: #bfdbfe;--color-info-400: #60a5fa;--color-info-500: #3b82f6;--color-info-600: #2563eb;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--sidebar-width: 18rem;--sidebar-bg: var(--color-slate-800);--sidebar-border: var(--color-slate-700);--sidebar-text: white;--sidebar-text-muted: var(--color-slate-400);--sidebar-hover-bg: var(--color-slate-700);--sidebar-active-bg: var(--color-primary-600);--card-bg: white;--card-border: var(--color-gray-200);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-sm);--card-padding: var(--spacing-6);--button-radius: var(--radius-md);--button-padding-x: var(--spacing-4);--button-padding-y: var(--spacing-2);--button-transition: var(--transition-fast);--input-radius: var(--radius-md);--input-border: var(--color-gray-300);--input-border-focus: var(--color-primary-500);--input-bg: white;--input-padding-x: var(--spacing-3);--input-padding-y: var(--spacing-2);--table-border: var(--color-gray-200);--table-stripe-bg: var(--color-gray-50);--table-hover-bg: var(--color-gray-100);--table-padding: var(--spacing-3);--color-bg: #ffffff;--color-fg: #111827}.layout-container{max-width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.layout-grid{display:grid;gap:var(--spacing-6)}.layout-flex{display:flex;gap:var(--spacing-4)}.layout-flex-between{display:flex;justify-content:space-between;align-items:center}.stats-grid{display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.stats-card{min-height:96px}.compare-grid{display:grid;gap:var(--spacing-6);grid-template-columns:1fr}@media (min-width: 1024px){.compare-grid{grid-template-columns:1fr 1fr}}.preview-pane{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);height:640px;overflow:auto;padding:var(--spacing-4)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.text-heading-1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-gray-900)}.text-heading-2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-900)}.text-heading-3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-gray-900)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-gray-700)}.text-caption{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-gray-500)}.text-muted{color:var(--color-gray-500)}.text-primary{color:var(--color-primary-600)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-error{color:var(--color-error-600)}.status-online{color:var(--color-success-600)}.status-offline{color:var(--color-gray-400)}.status-warning{color:var(--color-warning-600)}.status-error{color:var(--color-error-600)}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-800);border:1px solid var(--color-primary-200)}.badge-success{background-color:var(--color-success-100);color:var(--color-success-800);border:1px solid var(--color-success-200)}.badge-warning{background-color:var(--color-warning-100);color:var(--color-warning-800);border:1px solid var(--color-warning-200)}.badge-error{background-color:var(--color-error-100);color:var(--color-error-800);border:1px solid var(--color-error-200)}.card-base{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-padding)}.card-hover{transition:var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-primary{background-color:var(--color-primary-600);color:#fff;border:none;border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);transition:var(--button-transition)}.button-primary:hover{background-color:var(--color-primary-700)}.button-secondary{background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);transition:var(--button-transition)}.button-secondary:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.table-enhanced{width:100%;border-collapse:collapse}.table-enhanced th{background-color:var(--color-gray-50);padding:var(--table-padding);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-gray-900);border-bottom:1px solid var(--table-border)}.table-enhanced td{padding:var(--table-padding);border-bottom:1px solid var(--table-border)}.table-enhanced tbody tr:nth-child(2n){background-color:var(--table-stripe-bg)}.table-enhanced tbody tr:hover{background-color:var(--table-hover-bg)}.shadow-custom{box-shadow:var(--shadow-md)}.rounded-custom{border-radius:var(--radius-lg)}.transition-custom{transition:var(--transition-base)}.dark:root{--color-bg: #0f172a;--color-fg: #e5e7eb;--card-bg: #111827;--card-border: #1f2937;--input-bg: #111827;--table-stripe-bg: rgba(255,255,255,.02);--table-hover-bg: rgba(255,255,255,.04)}:root{--ant-primary-color: var(--color-primary-600);--ant-primary-color-hover: var(--color-primary-700);--ant-primary-color-active: var(--color-primary-800);--ant-primary-color-outline: var(--color-primary-200);--ant-success-color: var(--color-success-500);--ant-success-color-hover: var(--color-success-600);--ant-success-color-active: var(--color-success-700);--ant-success-color-outline: var(--color-success-200);--ant-warning-color: var(--color-warning-500);--ant-warning-color-hover: var(--color-warning-600);--ant-warning-color-active: var(--color-warning-700);--ant-warning-color-outline: var(--color-warning-200);--ant-error-color: var(--color-error-500);--ant-error-color-hover: var(--color-error-600);--ant-error-color-active: var(--color-error-700);--ant-error-color-outline: var(--color-error-200);--ant-text-color: var(--color-gray-900);--ant-text-color-secondary: var(--color-gray-500);--ant-text-color-tertiary: var(--color-gray-400);--ant-text-color-quaternary: var(--color-gray-300);--ant-background-color-base: var(--color-background);--ant-component-background: var(--color-card);--ant-background-color-light: var(--color-gray-50);--ant-border-color-base: var(--color-gray-200);--ant-border-color-split: var(--color-gray-100);--ant-border-color-inverse: var(--color-gray-800);--ant-border-radius-base: var(--radius-md);--ant-border-radius-lg: var(--radius-lg);--ant-border-radius-sm: var(--radius-sm);--ant-shadow-1-up: var(--shadow-sm);--ant-shadow-1-down: var(--shadow-sm);--ant-shadow-1-left: var(--shadow-sm);--ant-shadow-1-right: var(--shadow-sm);--ant-shadow-2: var(--shadow-base);--ant-box-shadow-base: var(--shadow-base);--ant-card-shadow: var(--shadow-sm);--ant-padding-lg: var(--spacing-6);--ant-padding-md: var(--spacing-4);--ant-padding-sm: var(--spacing-2);--ant-padding-xs: var(--spacing-1);--ant-margin-lg: var(--spacing-6);--ant-margin-md: var(--spacing-4);--ant-margin-sm: var(--spacing-2);--ant-margin-xs: var(--spacing-1);--ant-font-size-base: var(--font-size-base);--ant-font-size-lg: var(--font-size-lg);--ant-font-size-sm: var(--font-size-sm);--ant-font-size-xl: var(--font-size-xl);--ant-line-height-base: var(--line-height-normal);--ant-motion-duration-fast: .15s;--ant-motion-duration-mid: .25s;--ant-motion-duration-slow: .35s;--ant-ease-base-out: cubic-bezier(.4, 0, .2, 1);--ant-ease-base-in: cubic-bezier(.4, 0, .2, 1);--ant-ease-out: cubic-bezier(.4, 0, .2, 1);--ant-ease-in: cubic-bezier(.4, 0, .2, 1);--ant-ease-in-out: cubic-bezier(.4, 0, .2, 1)}.antd-page-container{min-height:100vh;background-color:var(--color-gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-900)}.shadcn-page-container{min-height:100vh;background-color:var(--color-background);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-foreground)}.hybrid-page-container{min-height:100vh;background-color:var(--color-background);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-900)}.ant-btn{border-radius:var(--radius-md)!important;transition:var(--transition-fast)!important;font-weight:var(--font-weight-medium)!important;box-shadow:var(--shadow-sm)!important}.ant-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-base)!important}.ant-btn-primary{background-color:var(--color-primary-600)!important;border-color:var(--color-primary-600)!important}.ant-btn-primary:hover{background-color:var(--color-primary-700)!important;border-color:var(--color-primary-700)!important}.ant-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--color-gray-200)!important;transition:var(--transition-base)!important}.ant-card:hover{box-shadow:var(--shadow-md)!important;transform:translateY(-1px)}.ant-card-head{border-bottom:1px solid var(--color-gray-200)!important;padding:var(--spacing-4) var(--spacing-6)!important}.ant-card-body{padding:var(--spacing-6)!important}.ant-card-head-title{font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-gray-900)!important}.ant-input{border-radius:var(--radius-md)!important;border:1px solid var(--color-gray-300)!important;transition:var(--transition-fast)!important;padding:var(--spacing-2) var(--spacing-3)!important}.ant-input:focus,.ant-input-focused{border-color:var(--color-primary-500)!important;box-shadow:0 0 0 2px var(--color-primary-100)!important}.ant-table{border-radius:var(--radius-lg)!important;overflow:hidden}.ant-table-thead>tr>th{background-color:var(--color-gray-50)!important;border-bottom:1px solid var(--color-gray-200)!important;font-weight:var(--font-weight-semibold)!important;color:var(--color-gray-900)!important;padding:var(--spacing-3) var(--spacing-4)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--color-gray-200)!important;padding:var(--spacing-3) var(--spacing-4)!important}.ant-table-tbody>tr:nth-child(2n){background-color:var(--color-gray-50)!important}.ant-table-tbody>tr:hover>td{background-color:var(--color-gray-100)!important}.ant-select .ant-select-selector{border-radius:var(--radius-md)!important;border:1px solid var(--color-gray-300)!important;transition:var(--transition-fast)!important}.ant-select-focused .ant-select-selector{border-color:var(--color-primary-500)!important;box-shadow:0 0 0 2px var(--color-primary-100)!important}.ant-switch{background-color:var(--color-gray-300)!important}.ant-switch-checked{background-color:var(--color-primary-600)!important}.ant-badge-status-success{background-color:var(--color-success-500)!important}.ant-badge-status-error{background-color:var(--color-error-500)!important}.ant-badge-status-warning{background-color:var(--color-warning-500)!important}.ant-badge-status-processing{background-color:var(--color-primary-500)!important}.ant-alert{border-radius:var(--radius-md)!important}.ant-alert-success{background-color:var(--color-success-50)!important;border:1px solid var(--color-success-200)!important;color:var(--color-success-800)!important}.ant-alert-error{background-color:var(--color-error-50)!important;border:1px solid var(--color-error-200)!important;color:var(--color-error-800)!important}.ant-alert-warning{background-color:var(--color-warning-50)!important;border:1px solid var(--color-warning-200)!important;color:var(--color-warning-800)!important}.ant-alert-info{background-color:var(--color-info-50)!important;border:1px solid var(--color-info-200)!important;color:var(--color-info-800)!important}.page-header{padding:var(--spacing-6);background-color:var(--color-background);border-bottom:1px solid var(--color-gray-200)}.breadcrumb-container{margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-500)}.breadcrumb-separator{margin:0 var(--spacing-2);color:var(--color-gray-300)}.breadcrumb-link{color:var(--color-primary-600);cursor:pointer}.breadcrumb-link:hover{color:var(--color-primary-700)}.breadcrumb-current{color:var(--color-gray-900);font-weight:var(--font-weight-medium)}.title-section{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4)}.title-content{flex:1}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0 0 var(--spacing-2) 0}.page-subtitle{font-size:var(--font-size-base);color:var(--color-gray-500);margin:0}.page-actions{display:flex;gap:var(--spacing-2);align-items:center}.page-content{padding:var(--spacing-6);min-height:calc(100vh - 200px)}@media (max-width: 768px){.page-header,.page-content{padding:var(--spacing-4)}.title-section{flex-direction:column;align-items:stretch}.page-actions{justify-content:flex-start}.page-title{font-size:var(--font-size-2xl)}}.antd-to-shadcn-transition *{box-sizing:border-box}
