#root,.app-container{width:100%;min-height:100vh}.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{max-height:360px;overflow-y:auto;padding:4px}.device-card{min-height:120px;max-height:150px;border-radius:6px;border:1px solid #f0f0f0;transition:all .3s ease;height:auto}.device-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#d9d9d9}.device-card .ant-card-head{min-height:35px!important;height:35px!important;padding:0 10px!important;border-bottom:1px solid #f0f0f0}.device-card .ant-card-head-title{font-size:12px;padding:4px 0!important;margin:0!important;line-height:1.2}.device-card .ant-card-body{padding:8px 10px;min-height:70px;flex:1;display:flex;align-items:center}.device-card-header{display:flex;justify-content:space-between;align-items:center;width:100%}.device-card-name{font-weight:500;color:#000000d9;font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:6px;display:flex;align-items:center}.device-card-metrics{display:flex;flex-direction:column;gap:5px;width:100%}.metric-item{display:flex;align-items:center;gap:8px;margin-bottom:0;width:100%}.metric-item .metric-label{min-width:25px;font-size:11px;color:#000000a6;font-weight:500;margin-bottom:0;flex-shrink:0}.metric-item .ant-progress{flex:1;margin-bottom:0;width:calc(100% - 35px)}.metric-item .ant-progress-text{font-size:9px!important;margin:0}.metric-item>div:first-child{margin-bottom:0}.ant-progress-small .ant-progress-inner{height:6px!important}.ant-progress-small .ant-progress-text{margin-left:4px!important;font-size:9px!important}.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-performance-grid{max-height:350px}.device-card{min-height:150px;height:auto}}@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-performance-grid{max-height:300px}.device-card{min-height:140px;height:auto}.device-card .ant-card-head{min-height:32px}.device-card .ant-card-body{padding:6px 10px}.device-card-name{font-size:11px}.metric-item .metric-label{min-width:25px;font-size:10px}.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:130px;height:auto}.device-card-metrics{gap:4px}.metric-item{gap:6px}.metric-item .metric-label{min-width:20px;font-size:9px}.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-occupancy-timeline-container{position:relative;width:100%;background-color:#f5f5f5;border-radius:6px;overflow:hidden;border:1px solid #d9d9d9;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;opacity:.85}.room-card .room-occupancy-timeline-container{margin:8px 0;border-radius:4px;box-shadow:0 1px 4px #00000014;border:1px solid #e8e8e8;opacity:.85}.room-occupancy-timeline-container:hover{box-shadow:0 4px 12px #00000026}.room-occupancy-timeline-block{position:absolute;top:0;cursor:pointer;transition:all .3s ease;border-right:1px solid rgba(255,255,255,.3)}.room-occupancy-timeline-block:hover{transform:scaleY(1.15);z-index:2;box-shadow:0 0 8px #0003}.room-occupancy-timeline-block.available{background:linear-gradient(135deg,#52c41a,#73d13d);border:1px solid #52c41a}.room-occupancy-timeline-block.available:hover{background:linear-gradient(135deg,#73d13d,#95de64);box-shadow:0 0 8px #52c41a99}.room-occupancy-timeline-block.booked{background:linear-gradient(135deg,#ff4d4f,#ff7875);border:1px solid #ff4d4f;cursor:not-allowed}.room-occupancy-timeline-block.booked:hover{background:linear-gradient(135deg,#ff7875,#ffa39e)}.room-occupancy-timeline-block.booked.booked-upcoming{background:linear-gradient(135deg,#1677ff,#4096ff);border:1px solid #1677ff}.room-occupancy-timeline-block.booked.booked-upcoming:hover{background:linear-gradient(135deg,#4096ff,#69b1ff)}.room-occupancy-timeline-block.unavailable{background:linear-gradient(135deg,#d9d9d9,#f0f0f0);border:1px solid #d9d9d9;cursor:not-allowed}.room-occupancy-timeline-block.unavailable:hover{background:linear-gradient(135deg,#d9d9d9,#f0f0f0)}.room-occupancy-timeline-block.past-time{background:linear-gradient(135deg,#8c8c8c,#a6a6a6);border:1px solid #8c8c8c;cursor:not-allowed;opacity:.7}.room-occupancy-timeline-block.past-time:hover{background:linear-gradient(135deg,#a6a6a6,#bfbfbf);opacity:.8}.room-occupancy-timeline-block.selected{background:linear-gradient(135deg,#1890ff,#40a9ff);border:1px solid #1890ff;box-shadow:0 0 10px #1890ffcc;z-index:3;transform:scaleY(1.2)}.room-occupancy-timeline-block.selected:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff)}.room-occupancy-timeline-block.temp-start{background:linear-gradient(135deg,#faad14,#ffc53d);border:2px solid #faad14;box-shadow:0 0 8px #faad1499;z-index:3;transform:scaleY(1.2)}.room-occupancy-timeline-block.temp-start:hover{background:linear-gradient(135deg,#ffc53d,#ffd666)}.room-occupancy-timeline-block.in-selection-range{background:linear-gradient(135deg,#91d5ff,#bae7ff);border:1px solid #69c0ff;box-shadow:0 0 6px #1890ff66;z-index:2}.room-occupancy-timeline-block.in-selection-range:hover{background:linear-gradient(135deg,#bae7ff,#d6f5ff);box-shadow:0 0 8px #1890ff99}.room-occupancy-timeline-block.in-full-selection-range{background:linear-gradient(135deg,#faad14,#ffc53d);border:1px solid #faad14;box-shadow:0 0 6px #faad1466;z-index:2}.room-occupancy-timeline-block.in-full-selection-range:hover{background:linear-gradient(135deg,#ffc53d,#ffd666);box-shadow:0 0 8px #faad1499}.room-occupancy-timeline-block.click-feedback{animation:clickPulse .3s ease-in-out}@keyframes clickPulse{0%{transform:scaleY(1)}50%{transform:scaleY(1.25)}to{transform:scaleY(1)}}.room-occupancy-timeline-labels{position:absolute;top:-20px;left:0;width:100%;height:20px;pointer-events:none}.room-occupancy-timeline-label{position:absolute;font-size:10px;color:#666;transform:translate(-50%)}.room-occupancy-timeline-current-time{position:absolute;top:0;width:2px;height:100%;background-color:#faad14;z-index:4}.room-occupancy-timeline-current-time:before{content:"";position:absolute;top:-4px;left:-2px;width:6px;height:6px;background-color:#faad14;border-radius:50%}.room-occupancy-timeline-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666}.room-occupancy-timeline-error{display:flex;align-items:center;justify-content:center;height:100%;color:#ff4d4f}.room-occupancy-timeline-wrapper{position:relative}.room-occupancy-timeline-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background-color:#fafafa;border:1px dashed #d9d9d9;border-radius:6px;font-size:14px}.room-occupancy-timeline-selection-info{margin-top:8px;padding:6px 12px;background-color:#f0f8ff;border:1px solid #1890ff;border-radius:4px;font-size:12px;color:#1890ff;text-align:center;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.booking-calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:0}.booking-calendar-header h2{margin:0;font-size:24px;font-weight:500;color:#000000d9}.quick-booking-btn{font-weight:500;border-radius:6px;box-shadow:0 2px #0000000b;transition:all .3s cubic-bezier(.645,.045,.355,1)}.quick-booking-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1890ff33}.booking-calendar{background-color:#f0f2f5;min-height:100vh;overflow-x:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.booking-calendar .ant-card{margin-bottom:24px;border-radius:6px;box-shadow:0 2px 8px #0000001a}.booking-calendar .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px}.booking-calendar .ant-card-head-title{font-size:16px;font-weight:600;color:#000000d9}.booking-calendar .ant-card-body{padding:0}.booking-calendar-header{display:flex;justify-content:space-between;align-items:center;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}.quick-booking-btn{height:32px;padding:4px 15px;font-size:14px;font-weight:400;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.645,.045,.355,1)}.quick-booking-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.booking-calendar-header .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important;font-weight:400;height:32px;padding:4px 15px;font-size:14px;border-radius:6px;box-shadow:0 2px #00000004;transition:all .3s cubic-bezier(.645,.045,.355,1)}.booking-calendar-header .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.history-mode-indicator{display:flex;align-items:center;justify-content:center;padding:8px 16px;background-color:#fffbe6;border:1px solid #ffe58f;border-radius:6px;margin-bottom:16px;font-size:14px;font-weight:500}.calendar-navigation .ant-btn{border:1px solid #d9d9d9;box-shadow:0 2px #00000004;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;border-radius:6px;background-color:#fff;color:#595959;transition:all .3s cubic-bezier(.645,.045,.355,1);cursor:pointer;font-size:14px;font-weight:400}.calendar-navigation .ant-btn:hover{background-color:#fff;border-color:#40a9ff;color:#40a9ff;box-shadow:0 2px #00000004;transform:translateY(-1px)}.calendar-navigation .ant-btn:active{transform:translateY(0);box-shadow:0 2px #00000004}.calendar-navigation .ant-btn-link{color:#1890ff;font-weight:400;height:32px;padding:4px 15px;border-radius:6px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.calendar-navigation .ant-btn-link:hover{color:#40a9ff;background-color:#1890ff0d}.booking-calendar{background-color:#fff;min-height:100vh;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 #0000000b;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 #0000000b}.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;font-weight:500}.booking-items{flex:1;overflow-y:auto}.booking-item-list{cursor:pointer;transition:all .3s;padding:12px 0;border-bottom:1px solid #f0f0f0;border-radius:6px}.booking-item-list:hover{background-color:#f5f5f5}.booking-item-title{display:flex;align-items:center;font-size:14px;font-weight:500;color:#000000d9;margin-bottom:4px}.booking-item-description p{margin:4px 0;font-size:13px;color:#000000a6}.calendar-container{width:450px;background-color:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #00000008,0 1px 6px -1px #00000005,0 2px 4px #00000005}.ant-picker-calendar{border:none;border-radius:6px}.ant-picker-calendar-header{padding:16px;border-bottom:1px solid #f0f0f0;background-color:#fafafa}.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;border:1px solid #f0f0f0}.ant-picker-cell:hover .ant-picker-cell-inner{height:35px!important;min-height:35px!important}.ant-picker-calendar-date{position:relative;z-index:2;padding:6px;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:14px;font-weight:400}.ant-picker-calendar-date-content{position:relative;z-index:1;padding-top:8px;height:35px!important;min-height:35px!important}.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;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:500}.ant-picker-cell-inner.ant-picker-calendar-date.ant-picker-calendar-date-today{height:35px!important;min-height:35px!important}.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}.booking-list-header .ant-btn-link{color:#1890ff;font-weight:400;height:32px;padding:4px 15px;border-radius:6px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.booking-list-header .ant-btn-link:hover{color:#40a9ff;background-color:#1890ff0d}.booking-modal .ant-btn-primary{background-color:#1890ff;border-color:#1890ff;font-weight:400;height:32px;padding:4px 15px;border-radius:6px;box-shadow:0 2px #00000004;transition:all .3s cubic-bezier(.645,.045,.355,1)}.booking-modal .ant-btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.booking-modal .ant-btn-primary:focus{background-color:#1890ff;border-color:#1890ff}.booking-modal .ant-modal{border-radius:6px;overflow:hidden;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d}.booking-modal .ant-modal-header{background-color:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 24px}.booking-modal .ant-modal-title{color:#000000d9;font-weight:500;font-size:16px}.booking-modal .ant-modal-body{padding:24px}.booking-modal .ant-modal-footer{border-top:1px solid #f0f0f0;padding:10px 16px;text-align:right;background-color:#fafafa}.booking-form .ant-form-item-label>label{color:#000000d9;font-weight:400;height:32px;line-height:32px}.booking-form .ant-input,.booking-form .ant-select-selector,.booking-form .ant-picker{border-radius:6px;border-color:#d9d9d9;transition:all .3s cubic-bezier(.645,.045,.355,1)}.booking-form .ant-input:hover,.booking-form .ant-select-selector:hover,.booking-form .ant-picker:hover{border-color:#40a9ff}.booking-form .ant-input:focus,.booking-form .ant-select-focused .ant-select-selector,.booking-form .ant-picker-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.booking-form .ant-switch{background-color:#00000040;border-radius:100px;min-width:44px;height:22px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.booking-form .ant-switch-checked{background-color:#1890ff}.booking-form .ant-switch-handle{top:2px;width:18px;height:18px}.booking-form .ant-switch-checked .ant-switch-handle{left:calc(100% - 20px)}.conflict-check{padding:12px 16px;margin:16px 0;border-radius:6px;background-color:#fff2f0;border:1px solid #ffccc7}.conflict-message{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:#f5222d;line-height:1.5}.video-meeting-tips{padding:12px 16px;margin-top:16px;background-color:#fff7e6;border:1px solid #ffd591;border-radius:6px}.video-meeting-tips p{margin:4px 0;font-size:14px;color:#fa8c16;line-height:1.5}.video-meeting-info{padding:12px 16px;margin:16px 0;background-color:#f6ffed;border:1px solid #b7eb8f;border-radius:6px}.video-meeting-info p{margin:8px 0;font-size:14px;color:#52c41a;line-height:1.5}.video-meeting-info a{color:#1890ff;text-decoration:none;transition:color .3s}.video-meeting-info a:hover{color:#40a9ff;text-decoration:underline}.booking-details{padding:8px 0}.booking-details p{margin:12px 0;color:#000000a6;font-size:14px;line-height:1.5}.booking-details strong{color:#000000d9;font-weight:500}.booking-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.image-debugger{max-height:70vh;overflow-y:auto}.image-debugger .ant-table-tbody>tr>td{padding:8px 12px}.image-debugger pre{background-color:#f5f5f5;padding:12px;border-radius:4px;white-space:pre-wrap;word-wrap:break-word;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.4}.room-booking{padding:0;height:100%;overflow-y:auto;overflow-x:hidden;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}.subtitle{margin:0;color:#00000073;font-size:14px}.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)}.timeline-overlay{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.3),transparent);pointer-events:none}.timeline-overlay .room-occupancy-timeline-container{pointer-events:auto;margin:0;border-radius:2px;box-shadow:0 2px 8px #00000080;border:1px solid rgba(255,255,255,.3);background-color:#fffffff2}.timeline-overlay .room-occupancy-timeline-container:hover{box-shadow:0 4px 12px #000000b3;background-color:#fff}.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}}.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{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-list .ant-card{border-radius:8px;box-shadow:0 2px 8px #0000001a;border:none}.room-list .ant-card-head{border-bottom:1px solid #f0f0f0;min-height:auto}.room-list .ant-card-head-title{font-size:18px;font-weight:600;color:#262626;padding:16px 0}.room-list .ant-card-body{padding:24px}.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:24px}.room-table{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.room-table .ant-table{border-radius:6px;overflow:hidden}.room-table .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;color:#262626;border-bottom:1px solid #f0f0f0}.room-table .ant-table-tbody>tr{transition:all .3s}.room-table .ant-table-tbody>tr:hover>td{background-color:#f5f7fa}.room-table .ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0}.room-table .ant-table-pagination{margin:16px 0;text-align:right}.room-table .ant-table-pagination .ant-pagination-item,.room-table .ant-table-pagination .ant-pagination-prev,.room-table .ant-table-pagination .ant-pagination-next{border-radius:6px}.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{padding:16px}.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{border-radius:6px;box-shadow:0 2px 4px #0000000d;transition:all .3s cubic-bezier(.645,.045,.355,1);font-weight:500;border:1px solid transparent}.room-list .ant-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.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;border:none;box-shadow:none;padding:0 4px}.room-list .ant-btn-link:hover{color:#40a9ff!important;background-color:#1890ff0d}.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}.room-list .ant-input-search .ant-input-search-button{border-radius:0 6px 6px 0}.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}.room-list .ant-modal{border-radius:6px;overflow:hidden}.room-list .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px;background-color:#fafafa}.room-list .ant-modal-title{font-weight:600;color:#262626}.room-list .ant-modal-body{padding:24px}.room-list .ant-modal-footer{border-top:1px solid #f0f0f0;padding:16px 24px;text-align:right}.room-list .ant-form-item-label>label{font-weight:500;color:#262626}.room-list .ant-input,.room-list .ant-input-number,.room-list .ant-select-selector{border-radius:6px;border:1px solid #d9d9d9;transition:all .3s}.room-list .ant-input:focus,.room-list .ant-input-number:focus,.room-list .ant-select-focused .ant-select-selector{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.room-list .ant-switch{background-color:#00000040}.room-list .ant-switch-checked{background-color:#1890ff}.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}.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-detail-modal .ant-modal-body{padding:12px 14px}.device-detail-modal .ant-modal-content,.device-detail-modal .ant-modal-header,.device-detail-modal .ant-modal-body{background:#fff}.device-detail-grid{gap:12px;margin-top:12px}.device-detail-card .ant-card-head{min-height:30px;padding:0 10px;background:#fff}.device-detail-card .ant-card-head-title{padding:4px 0;font-size:13px;line-height:1.3}.device-detail-card .ant-card-body{padding:8px 10px;background:#fff}.device-summary-card .ant-card-body{padding:10px 12px}.device-summary-header{margin-bottom:6px}.device-summary-title{font-size:16px;font-weight:600;line-height:1.3}.device-summary-meta{margin-top:2px;font-size:13px;color:#666}.device-summary-statuses{display:flex;flex-wrap:wrap;gap:8px 16px}.device-summary-status-item{font-size:13px;color:#333}.device-summary-times{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 16px}.device-summary-time-item{font-size:12px;color:#666}.device-detail-list{display:flex;flex-direction:column;gap:6px}.device-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:13px;line-height:1.5}.detail-label{min-width:88px;color:#666}.detail-value{flex:1;text-align:right;color:#1f1f1f;word-break:break-all}@media (max-width: 768px){.device-detail-grid{grid-template-columns:1fr!important}.device-detail-row{flex-direction:column;gap:2px}.detail-value{text-align:left}}.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 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}}.mobile-qrcode-container{position:fixed;bottom:20px;right:20px;z-index:1000}.mobile-qrcode-card{position:absolute;bottom:60px;right:0;width:300px;box-shadow:0 4px 12px #00000026;border-radius:8px;background:#fff}.mobile-qrcode-card .ant-card-head{padding:12px 16px;min-height:auto;border-bottom:1px solid #f0f0f0}.mobile-qrcode-card .ant-card-body{padding:16px}.qrcode-content{display:flex;flex-direction:column;align-items:center;gap:12px}.qrcode-canvas{border:1px solid #f0f0f0;border-radius:4px;background:#fff}.qrcode-info{text-align:center;width:100%}.qrcode-url{margin:0 0 8px;padding:8px;background:#f5f5f5;border-radius:4px;font-size:12px;word-break:break-all;color:#666;line-height:1.4}.qrcode-tip{margin:0 0 12px;font-size:12px;color:#999}.qrcode-actions{display:flex;gap:8px;justify-content:center}.qrcode-trigger{position:relative;z-index:1001;box-shadow:0 2px 8px #00000026;border-radius:20px;height:40px;padding:0 16px;font-weight:500}.qrcode-trigger:hover{box-shadow:0 4px 12px #0003;transform:translateY(-1px);transition:all .2s ease}@media (max-width: 768px){.mobile-qrcode-container{bottom:10px;right:10px}.mobile-qrcode-card{width:280px;bottom:50px}.qrcode-canvas{width:200px!important;height:200px!important}}@media (max-width: 480px){.mobile-qrcode-card{width:260px}.qrcode-canvas{width:180px!important;height:180px!important}.qrcode-actions{flex-direction:column;gap:6px}.qrcode-actions .ant-btn{width:100%}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;background-image:url(/assets/meeting-room-CC1xhAaY.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:-1}.login-card{width:100%;max-width:400px;border-radius:12px;box-shadow:0 8px 32px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffc;border:1px solid rgba(255,255,255,.2);padding:24px;position:relative;z-index:1;transition:transform .3s ease,box-shadow .3s ease;opacity:.8}.login-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0003}.login-header-section{text-align:center;margin-bottom:20px}.login-system-info{display:flex;flex-direction:column;align-items:center}.login-system-title{font-size:24px;font-weight:700;color:#1890ff;margin:0 0 8px;letter-spacing:1px}.login-system-subtitle{font-size:14px;color:#666;margin:0;font-style:italic}.login-divider{height:1px;background:linear-gradient(to right,transparent,#d9d9d9,transparent);margin:20px 0}.login-form{margin-top:20px}.login-button{width:100%;height:40px;border-radius:6px;font-weight:500;letter-spacing:.5px}.login-card .ant-input{border:none!important;box-shadow:none!important}.login-dev-tips{margin-top:20px;padding:15px;background-color:#f0fcffe6;border-radius:8px;border-left:4px solid #1890ff;font-size:12px}.login-dev-tips h4{margin:0 0 10px;color:#1890ff;font-size:14px}.dev-account{margin-bottom:5px;color:#555}.dev-note{margin-top:10px;margin-bottom:0;color:#888;font-size:11px}.login-footer-section{margin-top:24px;display:flex;justify-content:center;align-items:center}@media (max-width: 768px){.login-card{width:90%;margin:20px}.login-system-title{font-size:20px}.login-system-subtitle{font-size:12px}}.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}.png-logo-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.png-logo{transition:all .3s ease-in-out;-o-object-fit:contain;object-fit:contain;border-radius:4px}.png-logo-expanded{max-width:160px;max-height:48px;width:auto;height:auto}.png-logo-collapsed{max-width:32px;max-height:32px;width:auto;height:auto}.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)}.uninet-logo:hover .png-logo{transform:scale(1.05);filter:drop-shadow(0 4px 8px rgba(44,101,240,.2))}@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}.png-logo-expanded{max-width:140px;max-height:40px}}@media (max-width: 480px){.uninet-logo{padding:10px 0}.uninet-logo-expanded .uninet-logo-main{font-size:24px}.png-logo-expanded{max-width:120px;max-height:36px}}*{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{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;height:100vh;display:flex;flex-direction:column}.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)}.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{transform:translateY(-1px);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;overflow-x:hidden;max-height:calc(100vh - 180px);min-height:200px}.menu .ant-menu-item{height:48px;line-height:48px;margin:4px 0;border-radius:6px;padding-right:24px!important;transition:all .3s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}}@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-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}@media (max-height: 600px){.sidebar{height:100vh}.menu{max-height:calc(100vh - 80px);min-height:150px}.menu .ant-menu-item{height:32px;line-height:32px;margin:.5px 0;font-size:11px}.menu .ant-menu-item .anticon{font-size:11px;margin-right:6px}.logo-container{padding:4px 8px;min-height:auto}.current-user{margin-top:1px;min-height:18px;padding:1px 3px}.current-user .username{font-size:7px;max-width:35px}.system-version{font-size:8px}}.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-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-right:22px!important}}.ant-layout-sider-trigger{background-color:#ffffff4d!important;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(0,0,0,.05);height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease}.ant-layout-sider-trigger:hover{background-color:#ffffff80!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ant-layout-sider-trigger .anticon{font-size:12px!important;color:#0009!important}.tree-menu{border:none!important;background:transparent!important;margin-top:0;flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px);min-height:200px}.tree-menu .ant-tree-treenode{padding:4px 0;width:100%}.tree-menu .ant-tree-node-content-wrapper{display:flex;align-items:center;min-height:40px;padding:0 16px!important;border-radius:6px;transition:all .3s ease;width:100%}.tree-menu .ant-tree-node-content-wrapper:hover{background-color:#1890ff1a!important;color:var(--color-primary-600)!important}.tree-menu .ant-tree-node-selected{background-color:var(--color-primary-600)!important;color:#fff!important}.tree-menu .ant-tree-node-selected:hover{background-color:var(--color-primary-700)!important;color:#fff!important}.tree-menu .ant-tree-title{display:flex;align-items:center;font-size:14px;font-weight:500;flex:1}.tree-menu .ant-tree-switcher{display:flex;align-items:center;justify-content:center}.tree-menu .ant-tree-switcher-icon{font-size:12px}.tree-menu .ant-tree-indent,.tree-menu .ant-tree-indent-unit{width:16px}.tree-menu .ant-tree-iconEle{margin-right:12px;font-size:16px;display:flex;align-items:center}@media (max-width: 479px){.tree-menu .ant-tree-node-content-wrapper{min-height:36px;padding:0 12px!important}.tree-menu .ant-tree-title{font-size:12px}.tree-menu .ant-tree-iconEle{font-size:14px;margin-right:8px}}@media (min-width: 480px) and (max-width: 767px){.tree-menu .ant-tree-node-content-wrapper{min-height:38px;padding:0 14px!important}.tree-menu .ant-tree-title{font-size:13px}.tree-menu .ant-tree-iconEle{font-size:15px;margin-right:10px}}@media (min-width: 768px) and (max-width: 992px){.tree-menu .ant-tree-node-content-wrapper{min-height:42px;padding:0 18px!important}.tree-menu .ant-tree-title{font-size:14px}}.mobile-config{background:#fff;min-height:calc(100vh - 64px);box-sizing:border-box}.mobile-config .ant-card{box-shadow:0 1px 2px -2px #00000029,0 3px 6px #0000001f,0 5px 12px 4px #00000017;border-radius:8px}.mobile-config .ant-card-head{border-bottom:1px solid #f0f0f0;background:#fafafa}.mobile-config .ant-card-head-title{font-weight:600;color:#262626;font-size:16px}.mobile-config .ant-card-body{padding:24px}.mobile-config .ant-form-item{margin-bottom:16px}.mobile-config .ant-form-item-label>label{font-weight:500;color:#262626}.mobile-config .ant-input,.mobile-config .ant-select-selector{border-radius:6px}.mobile-config .ant-input:focus,.mobile-config .ant-select-focused .ant-select-selector{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.mobile-config .ant-btn{border-radius:6px;font-weight:500}.mobile-config .ant-btn-primary{background:#1890ff;border-color:#1890ff}.mobile-config .ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.mobile-config .ant-alert{border-radius:6px;margin-bottom:16px}.mobile-config .ant-alert-info{background-color:#e6f7ff;border:1px solid #91d5ff}.mobile-config .ant-card .ant-card{margin-top:16px;border:1px solid #f0f0f0}.mobile-config .ant-card .ant-card-head{background:#fff}.mobile-config .ant-card .ant-card-body{padding:16px}.mobile-config .ant-row{margin:0 -8px}.mobile-config .ant-col{padding:0 8px}@media (min-width: 1920px){.mobile-config{padding:20px}.mobile-config .ant-card-body{padding:32px}}@media (max-width: 768px){.mobile-config{padding:12px}.mobile-config .ant-card-body{padding:16px}.mobile-config .ant-row{margin:0}.mobile-config .ant-col{margin-bottom:16px}}.mobile-config .ant-spin-container{position:relative}.mobile-config .ant-empty{margin:48px 0}.mobile-config .anticon{margin-right:8px}.mobile-config .ant-typography{color:#262626}.mobile-config .ant-typography-secondary{color:#8c8c8c}.mobile-config .ant-typography-copy{color:#1890ff}.mobile-config .ant-typography-copy:hover{color:#40a9ff}.approval-page{padding:0;min-height:100vh}.approval-content{padding:16px;width:100%}.approval-card{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.approval-card-head{padding:16px 24px;border-bottom:1px solid #f0f0f0}.approval-card-head-title{margin:0;font-size:20px;font-weight:600;color:#000000d9}.approval-card-body{padding:24px}.approval-header{display:flex;flex-direction:column;margin-bottom:20px}.header-left h2{margin:0;font-size:24px;font-weight:500;color:#000000d9}.header-right{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.filter-container{margin-left:0;display:flex;align-items:center}.search-container{display:flex;align-items:center}.search-container .ant-input,.search-container .ant-picker{height:32px}.search-container .ant-space-compact>.ant-space-item{margin-right:5px!important}.search-container .ant-space-compact>.ant-space-item:last-child{margin-right:0!important}.approval-booking-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.approval-booking-card{margin-bottom:16px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;display:flex;flex-direction:column}.approval-booking-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.approval-booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.approval-booking-title{margin:0;font-size:16px;font-weight:600;color:#000000d9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.approval-booking-status-container{flex-shrink:0}.approval-booking-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.approval-booking-status-pending{background-color:#fffbe6;color:#faad14;border:1px solid #ffe58f}.approval-booking-status-approved{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.approval-booking-status-rejected{background-color:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.approval-booking-info{margin-bottom:12px}.approval-booking-detail{display:flex;align-items:center;margin-bottom:8px;color:#000000a6;font-size:14px}.approval-booking-detail:last-child{margin-bottom:0}.approval-booking-icon{margin-right:8px;color:#00000073}.approval-booking-description{margin-bottom:12px;color:#000000a6;font-size:14px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.booking-card-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:auto;padding-top:12px;border-top:1px solid #f0f0f0}.booking-card-actions .debug-button{width:20px!important;height:20px!important;margin-bottom:2px!important;margin-right:8px!important;margin-left:0!important;padding:0!important;min-width:20px!important;min-height:20px!important;order:-1!important}.booking-card-actions .ant-btn:not(.debug-button){order:1!important}.booking-card-actions .debug-button .anticon,.booking-card-actions .debug-button span{display:none!important}.approval-booking-actions{display:flex;gap:8px;justify-content:flex-end}.booking-card-actions .ant-btn-primary:not(.debug-button){height:24px!important;padding:0 7px!important;font-size:14px!important;line-height:1.5715!important}.reject-button,.ant-btn-dangerous.reject-button{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important;box-shadow:0 2px #0000000b;height:24px!important;padding:0 7px!important;font-size:14px!important;line-height:1.5715!important}.reject-button:hover,.reject-button:focus,.ant-btn-dangerous.reject-button:hover,.ant-btn-dangerous.reject-button:focus{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important}.reject-button:active,.ant-btn-dangerous.reject-button:active{background-color:#d9363e!important;border-color:#d9363e!important}.ant-btn-dangerous.reject-button{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff}.approval-loading-container{display:flex;justify-content:center;align-items:center;padding:100px 0}.approval-table{border-radius:6px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.approval-table .ant-table{border-radius:6px}.approval-table .ant-table-thead>tr>th{border-bottom:1px solid #f0f0f0;font-weight:600;color:#000000d9}.approval-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.approval-table .ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0}.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{margin-top:2px}.booking-detail-item{margin-bottom:8px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.5!important;max-width:100%!important}.booking-detail-item.participants-limit{max-width:200px!important;display:inline-block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.booking-detail-item.participants-display{max-width:280px!important;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin-bottom:8px!important}.booking-detail-item.description-limit{max-width:200px!important;display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.booking-title .title-limit,.reject-reason .reject-reason-limit{max-width:200px!important;display:inline-block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.booking-details p{margin-bottom:8px;line-height:1.5}.ant-descriptions-bordered .ant-descriptions-item-label{background-color:#fafafa;font-weight:600;color:#000000d9}.ant-descriptions-bordered .ant-descriptions-item-content{background-color:#fff}.ant-descriptions-item-content .ant-tag{margin-bottom:4px;margin-right:4px}.ant-descriptions-item-content a{color:#1890ff;text-decoration:none;word-break:break-all}.ant-descriptions-item-content a:hover{text-decoration:underline}.ant-descriptions-item-content .ant-badge-status-text{font-weight:500}.video-meeting-info{padding:12px;border-radius:6px;margin-top:12px;border-left:3px solid #1890ff}.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-reason{color:#ff4d4f;font-weight:500}.reject-reason-inline{display:flex;align-items:center;color:#ff4d4f;font-weight:500;margin-right:auto;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reject-reason-inline .anticon{margin-right:4px}.reject-modal-content{margin-top:16px}.reject-modal-content p{margin-bottom:10px;line-height:1.6}.reject-reason-container{margin-top:16px}.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;font-family:inherit;font-size:14px;resize:vertical}.reject-reason-textarea:focus{border-color:#40a9ff;outline:none;box-shadow:0 0 0 2px #1890ff33}@media (max-width: 1200px){.approval-booking-list{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.approval-content{padding:8px}.approval-card-head{padding:12px 16px}.approval-card-body{padding:16px}.approval-card-head-title{font-size:18px}.approval-header{flex-direction:column;align-items:flex-start}.header-right{margin-top:12px;width:100%}.approval-booking-list{grid-template-columns:1fr}.approval-booking-actions{flex-wrap:wrap}}@media (max-width: 480px){.approval-content{padding:4px}.approval-card-head{padding:8px 12px}.approval-card-body{padding:12px}.approval-card-head-title{font-size:16px}.approval-booking-header{flex-direction:column;align-items:flex-start}.approval-booking-title{max-width:100%;margin-bottom:8px}.approval-booking-actions{width:100%;justify-content:center}.approval-booking-actions button{flex:1}}.approval-page .ant-btn-primary.search-button,.approval-page .ant-btn.reset-button{height:32px!important;padding:4px 15px!important;font-size:14px!important;border-radius:6px!important;min-width:80px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.approval-page .ant-space-compact .ant-picker,.approval-page .ant-space-compact .ant-btn-primary.search-button{margin-right:2px!important}.approval-page .ant-space-compact .ant-btn.reset-button{margin-left:2px!important}.approval-page .ant-btn{border-radius:6px;box-shadow:0 2px #00000004;transition:all .3s cubic-bezier(.645,.045,.355,1)}.approval-page .ant-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.approval-page .ant-btn-primary{background-color:#1890ff!important;border-color:#1890ff!important;color:#fff!important;font-weight:400;height:32px;padding:4px 15px;font-size:14px;border-radius:6px;box-shadow:0 2px #00000004;transition:all .3s cubic-bezier(.645,.045,.355,1)}.approval-page .ant-btn-primary:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.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;border-radius:6px;height:32px;padding:4px 8px;font-size:14px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.approval-page .ant-btn-link:hover{color:#40a9ff!important;background-color:#1890ff0d}.approval-page .ant-btn-danger{background-color:#ff4d4f!important;border-color:#ff4d4f!important;color:#fff!important;font-weight:400;height:32px;padding:4px 15px;font-size:14px;border-radius:6px;box-shadow:0 2px #00000004;transition:all .3s cubic-bezier(.645,.045,.355,1)}.approval-page .ant-btn-danger:hover{background-color:#ff7875!important;border-color:#ff7875!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 4px #ff4d4f33}.approval-page .ant-select-selection-item,.approval-page .ant-select-selector{color:#000000d9!important}.approval-modal .ant-modal{border-radius:8px;overflow:hidden}.approval-modal .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.approval-modal .ant-modal-title{font-weight:600;color:#000000d9}.approval-modal .ant-modal-body{padding:24px}.approval-modal .ant-modal-footer{border-top:1px solid #f0f0f0;padding:10px 16px;text-align:right}.approval-modal .ant-form-item{margin-bottom:16px}.approval-modal .ant-form-item-label{font-weight:500}.approval-modal .reject-reason-textarea{min-height:100px;margin-top:8px}.system-settings{padding:24px;min-height:calc(100vh - 64px)}.system-settings-loading{display:flex;justify-content:center;align-items:center;height:400px}.system-settings-header{display:flex;align-items:center;font-size:18px;font-weight:600;margin-bottom:16px;padding:16px 24px;background:#fff;border-radius:8px 8px 0 0;border:1px solid #f0f0f0;border-bottom:none}.system-settings-tabs{margin-top:0}.system-settings-tabs .ant-tabs-nav{margin-bottom:0;background:#fff;border-radius:0;padding:0 24px}.system-settings-tabs .ant-tabs-tab{padding:16px 28px;font-size:14px;font-weight:500;color:#595959;border-radius:0;margin:0;background:transparent;border:none;transition:all .3s ease;position:relative}.system-settings-tabs .ant-tabs-tab:hover{color:#1890ff;background:#fafafa}.system-settings-tabs .ant-tabs-tab-active{color:#1890ff;background:transparent;font-weight:600}.system-settings-tabs .ant-tabs-tab-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#1890ff;border-radius:0}.system-settings-tabs .ant-tabs-ink-bar{display:none}.email-sms-settings-tabs .ant-tabs-nav{margin-bottom:0;background:#fff;border-radius:0;padding:0 24px}.email-sms-settings-tabs .ant-tabs-tab{padding:16px 28px;font-size:14px;font-weight:500;color:#595959;border-radius:0;margin:0;background:transparent;border:none;transition:all .3s ease;position:relative}.email-sms-settings-tabs .ant-tabs-tab:hover{color:#1890ff;background:#fafafa}.email-sms-settings-tabs .ant-tabs-tab-active{color:#1890ff;background:transparent;font-weight:600}.email-sms-settings-tabs .ant-tabs-tab-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#1890ff;border-radius:0}.email-sms-settings-tabs .ant-tabs-ink-bar{display:none}.third-party-settings-tabs .ant-tabs-nav{margin-bottom:0;background:#fff;border-radius:0;padding:0 24px}.third-party-settings-tabs .ant-tabs-tab{padding:16px 28px;font-size:14px;font-weight:500;color:#595959;border-radius:0;margin:0;background:transparent;border:none;transition:all .3s ease;position:relative}.third-party-settings-tabs .ant-tabs-tab:hover{color:#1890ff;background:#fafafa}.third-party-settings-tabs .ant-tabs-tab-active{color:#1890ff;background:transparent;font-weight:600}.third-party-settings-tabs .ant-tabs-tab-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#1890ff;border-radius:0}.third-party-settings-tabs .ant-tabs-ink-bar{display:none}.user-role-badge{margin-left:8px;font-size:12px;color:#666;background:#f5f5f5;padding:2px 6px;border-radius:4px;border:1px solid #d9d9d9}.system-settings-tabs .ant-tabs-content-holder{padding:24px;background:#fff;border-radius:0 0 8px 8px;border:1px solid #f0f0f0;border-top:none}.settings-section{margin-bottom:24px}.settings-section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#262626;border-left:4px solid #1890ff;padding-left:12px}.settings-form-item{margin-bottom:16px}.settings-action-buttons{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.modified-indicator{color:#ff4d4f;font-weight:600;margin-left:4px}.license-status-active{background:#f6ffed;border:1px solid #b7eb8f}.license-status-expired{background:#fff7e6;border:1px solid #ffd591}.license-status-invalid{background:#fff2f0;border:1px solid #ffccc7}.upload-area{border:2px dashed #d9d9d9;border-radius:8px;padding:20px;text-align:center;transition:border-color .3s}.upload-area:hover{border-color:#1890ff}.statistic-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;padding:16px}.statistic-card .ant-statistic-title{color:#ffffffd9}.statistic-card .ant-statistic-content{color:#fff}@media (max-width: 768px){.system-settings{padding:16px}.system-settings-tabs .ant-tabs-tab{padding:8px 16px;font-size:12px}.system-settings-tabs .ant-tabs-content-holder{padding:16px}.settings-action-buttons{flex-direction:column;gap:8px}.settings-action-buttons button{width:100%}}.sync-configuration-section{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:20px;margin-bottom:24px}.sync-configuration-title{font-size:14px;font-weight:600;color:#262626;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e8e8e8}.sync-configuration-group{margin-bottom:16px}.sync-configuration-group:last-child{margin-bottom:0}.sync-buttons-row{display:flex;gap:8px;align-items:center}.sync-config-button{width:120px;height:36px;font-size:14px}.platform-configuration{max-width:600px}.platform-configuration-header{margin-bottom:24px}.platform-configuration-title{font-size:16px;font-weight:600;color:#262626;margin:0;padding-left:0;border-left:none}.platform-checkbox-item{margin-bottom:16px}.platform-checkbox-item .ant-checkbox-wrapper{font-size:16px}.platform-action-buttons{display:flex;flex-direction:column;gap:12px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;height:-moz-fit-content;height:fit-content}.platform-save-button,.platform-reset-button{width:100%;height:40px;font-size:14px}.platform-save-button{background:linear-gradient(135deg,#1890ff,#096dd9);border:none}.platform-save-button:hover{background:linear-gradient(135deg,#40a9ff,#1890ff)}@media (max-width: 768px){.platform-action-buttons{flex-direction:row;justify-content:space-between;padding:16px}.platform-save-button,.platform-reset-button{width:48%}}/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.mobile-app{height:100vh;overflow:hidden;background-color:#f5f5f5}.mobile-content{flex:1;overflow-y:auto;padding:16px}.mobile-login{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;background-color:#f5f5f5}.mobile-login-card{width:100%;max-width:360px;padding:24px;border-radius:8px;background-color:#fff;box-shadow:0 4px 12px #0000001a}.mobile-login-title{font-size:24px;font-weight:600;margin-bottom:8px;text-align:center}.mobile-login-subtitle{font-size:14px;color:#666;margin-bottom:24px;text-align:center}.mobile-card{background-color:#fff;border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000d}.mobile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mobile-card-title{font-size:16px;font-weight:600}.mobile-card-content{font-size:14px}.mobile-list{background-color:#fff;border-radius:8px;overflow:hidden}.mobile-list-item{padding:16px;border-bottom:1px solid #f0f0f0}.mobile-list-item:last-child{border-bottom:none}.mobile-list-item-title{font-size:16px;font-weight:500;margin-bottom:4px}.mobile-list-item-desc{font-size:14px;color:#666}.mobile-form{background-color:#fff;border-radius:8px;padding:16px}.mobile-form-item{margin-bottom:16px}.mobile-form-label{font-size:14px;font-weight:500;margin-bottom:8px;display:block}.mobile-button{width:100%;height:44px;border-radius:8px;font-size:16px;font-weight:500}.mobile-timeline{padding:16px 0}.mobile-timeline-item{display:flex;margin-bottom:16px}.mobile-timeline-time{flex:0 0 80px;font-size:12px;color:#666}.mobile-timeline-content{flex:1;padding-left:16px;position:relative}.mobile-timeline-content:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background-color:#1890ff}.mobile-timeline-content:after{content:"";position:absolute;left:3px;top:16px;width:2px;height:calc(100% - 8px);background-color:#f0f0f0}.mobile-timeline-item:last-child .mobile-timeline-content:after{display:none}.mobile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mobile-grid-item{background-color:#fff;border-radius:8px;padding:16px;text-align:center}@media (max-width: 375px){.mobile-content{padding:12px}.mobile-grid{grid-template-columns:1fr}}@media (min-width: 768px){.mobile-app{max-width:768px;margin:0 auto;box-shadow:0 0 20px #0000001a}}.mobile-login{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.mobile-login-card{width:100%;max-width:360px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:24px}.mobile-login-logo{text-align:center;margin-bottom:24px}.mobile-login-logo h1{font-size:24px;font-weight:600;color:#1890ff;margin:0}.mobile-login-form{margin-bottom:24px}.mobile-login-form .ant-form-item{margin-bottom:16px}.mobile-login-form .ant-input,.mobile-login-form .ant-input-password{height:44px;border-radius:8px;font-size:16px}.mobile-login-form .ant-input-password{border:none!important;box-shadow:none!important;background:transparent!important;outline:none!important}.mobile-login-form .ant-input-password .ant-input-affix-wrapper,.mobile-login-form .ant-input-password .ant-input-affix-wrapper .ant-input{border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;outline:none!important;border-radius:0!important}.mobile-login-form .ant-input-password:focus,.mobile-login-form .ant-input-password:hover,.mobile-login-form .ant-input-password:active{border:none!important;box-shadow:none!important;outline:none!important}.mobile-login-form .ant-input-password .ant-input-affix-wrapper:focus,.mobile-login-form .ant-input-password .ant-input-affix-wrapper:hover,.mobile-login-form .ant-input-password .ant-input-affix-wrapper:active{border:none!important;box-shadow:none!important;outline:none!important}.mobile-login-form .ant-input-password .ant-input-affix-wrapper .ant-input:focus,.mobile-login-form .ant-input-password .ant-input-affix-wrapper .ant-input:hover,.mobile-login-form .ant-input-password .ant-input-affix-wrapper .ant-input:active{border:none!important;box-shadow:none!important;outline:none!important}.mobile-login-form .ant-form-item .ant-input-password.ant-input-outlined,.mobile-login-form .ant-form-item .ant-input-password.ant-input-affix-wrapper,.mobile-login-form .ant-form-item .ant-input-password.ant-input-affix-wrapper-lg{border:none!important;box-shadow:none!important;background:transparent!important;outline:none!important;border-radius:0!important}.mobile-login-form .ant-form-item .ant-input-password.ant-input-outlined:focus,.mobile-login-form .ant-form-item .ant-input-password.ant-input-outlined:hover,.mobile-login-form .ant-form-item .ant-input-password.ant-input-outlined:active,.mobile-login-form .ant-form-item .ant-input-password.ant-input-affix-wrapper:focus,.mobile-login-form .ant-form-item .ant-input-password.ant-input-affix-wrapper:hover,.mobile-login-form .ant-form-item .ant-input-password.ant-input-affix-wrapper:active{border:none!important;box-shadow:none!important;outline:none!important}.mobile-login-form .ant-form-item .ant-input-password .ant-input{border:none!important;box-shadow:none!important;background:transparent!important;outline:none!important;border-radius:0!important}.mobile-login-form .ant-form-item .ant-input-password .ant-input:focus,.mobile-login-form .ant-form-item .ant-input-password .ant-input:hover,.mobile-login-form .ant-form-item .ant-input-password .ant-input:active{border:none!important;box-shadow:none!important;outline:none!important}.mobile-login-button{width:100%;height:44px;border-radius:8px;font-size:16px;font-weight:500}.mobile-login-tips{text-align:center;color:#666;font-size:14px;margin-top:16px}.mobile-login-tips .ant-typography{display:none!important}.mobile-login-tips a{color:#1890ff}@media (max-width: 480px){.mobile-login{padding:12px}.mobile-login-card{padding:20px}.mobile-login-logo h1{font-size:22px}}.mobile-layout{display:flex;flex-direction:column;height:100vh}.mobile-header{flex:0 0 auto;background-color:#fff;box-shadow:0 2px 8px #0000001a;z-index:10}.mobile-header-content{display:flex;justify-content:space-between;align-items:center;padding:16px}.mobile-header-title{font-size:18px;font-weight:600}.mobile-header-user{font-size:14px;color:#666}.mobile-content{flex:1;overflow-y:auto;padding:16px;background-color:#f5f5f5}.mobile-footer{flex:0 0 auto;background-color:#fff;box-shadow:0 -2px 8px #0000001a}.mobile-nav{display:flex;justify-content:space-around;padding:8px 0}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;padding:8px 16px;cursor:pointer;transition:all .3s}.mobile-nav-item.active{color:#1890ff}.mobile-nav-icon{font-size:20px;margin-bottom:4px}.mobile-nav-text{font-size:12px}.mobile-timeline-container{position:relative;width:100%;background-color:transparent;border-radius:4px;margin:8px 0;padding-bottom:1px}.mobile-timeline-block{position:absolute;top:0;height:100%;transition:all .2s ease}.mobile-timeline-block.booked{background-color:#52c41a}.mobile-timeline-block.available{background-color:#fff}.mobile-timeline-block:hover{opacity:.8}.mobile-timeline-loading{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.mobile-timeline-labels{position:absolute;bottom:1px;left:0;right:0;font-size:10px;color:#000;padding:0 2px}.mobile-timeline-label{position:absolute;transform:translate(-50%);font-weight:400;z-index:10}.mobile-timeline-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid #264933;border-radius:6px;pointer-events:none;box-shadow:0 1px 3px #0000001a}.mobile-timeline-block:not(:last-child){border-right:1px solid #e0e0e0}.mobile-booking{padding:0 16px 20px}.mobile-booking-header{margin-bottom:20px;padding-top:16px}.mobile-room-list{display:flex;flex-direction:column;gap:16px}.mobile-room-card{cursor:pointer;transition:all .3s;border-radius:12px;overflow:hidden}.mobile-room-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.mobile-room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mobile-room-name{margin:0;font-size:18px;font-weight:600}.mobile-room-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.mobile-room-detail-single-row{display:flex;align-items:center;margin-bottom:8px;width:100%}.mobile-room-detail-item{display:flex;align-items:center;gap:8px;margin-right:16px;white-space:nowrap}.mobile-room-detail-item .ant-typography{margin-bottom:0}.mobile-room-timeline{margin-top:8px;margin-bottom:16px;overflow-y:visible}.mobile-room-icon{color:#1890ff;font-size:16px}.mobile-room-equipment{margin-bottom:12px}.mobile-room-equipment-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.mobile-room-description{padding-top:8px;border-top:1px solid #f0f0f0;color:#666;font-size:14px;line-height:1.5}.mobile-booking{padding:0 4px 20px}@media (max-width: 480px){.mobile-booking{padding:0 1px 20px}.mobile-room-name{font-size:16px}.mobile-room-detail{font-size:14px}}.mobile-bookings{padding:0 2px 20px}@media (max-width: 480px){.mobile-bookings{padding:0 1px 20px}}.mobile-bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-top:5px}.mobile-header-title{display:flex;align-items:center;gap:10px}.mobile-header-logo{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}.mobile-header-text{margin:0}.mobile-search-container{background-color:#f5f5f5;padding:16px;border-radius:8px;margin-bottom:20px}.mobile-booking-list{display:flex;flex-direction:column;gap:16px}.mobile-booking-card{border-radius:12px;overflow:hidden}.mobile-booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-top:5px}.mobile-booking-status-container{display:flex;flex-direction:row;gap:4px;align-items:flex-end;margin-left:10px}.mobile-booking-title{margin:0;font-size:18px;font-weight:600;flex:1}.mobile-booking-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.mobile-booking-status.approved{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.mobile-booking-status.pending{background-color:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.mobile-booking-status.rejected{background-color:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.mobile-booking-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.mobile-booking-detail{display:flex;align-items:center;gap:8px}.mobile-booking-icon{color:#1890ff;font-size:16px}.mobile-booking-description{padding-top:8px;border-top:1px solid #f0f0f0;margin-bottom:12px;color:#666;font-size:14px;line-height:1.5}.mobile-booking-actions{display:flex;gap:8px}.mobile-booking-detail-modal{padding:8px 0}.mobile-booking-detail-modal .ant-descriptions-item-label{font-weight:600;width:80px}.mobile-booking-detail-modal .ant-descriptions-item-content{word-break:break-all}.mobile-edit-modal{padding:8px 0}.mobile-edit-modal .ant-modal-content{border-radius:12px;overflow:hidden}.mobile-edit-modal .ant-modal-header{padding:16px 20px;border-bottom:1px solid #f0f0f0}.mobile-edit-modal .ant-modal-body{padding:20px}.mobile-edit-modal .ant-form-item{margin-bottom:16px}.mobile-edit-modal .ant-form-item-label{padding-bottom:4px}.mobile-edit-modal .ant-input,.mobile-edit-modal .ant-picker,.mobile-edit-modal .ant-select-selector{border-radius:8px}.mobile-edit-modal .time-selection-section{margin-bottom:20px;padding:16px;background-color:#f8f9fa;border-radius:8px}.mobile-edit-modal .time-selection-header{margin-bottom:12px!important;color:#1890ff;display:flex;align-items:center;gap:8px}.mobile-edit-modal .time-selection-section .ant-form-item{margin-bottom:16px}.mobile-edit-modal .time-selection-section .ant-form-item-label{font-weight:500}.mobile-edit-modal .time-selection-section .ant-picker,.mobile-edit-modal .time-selection-section .ant-select{width:100%}.mobile-edit-modal .time-range-row{display:flex;gap:12px;margin-bottom:16px}.mobile-edit-modal .time-range-item{flex:1;margin-bottom:0!important}.mobile-edit-modal .time-range-item .ant-form-item-label{padding-bottom:4px}.mobile-edit-modal .time-range-item .ant-form-item-control{width:100%}.mobile-edit-modal .date-duration-row{display:flex;gap:12px;margin-bottom:16px}.mobile-edit-modal .date-duration-item{flex:1;margin-bottom:0!important}.mobile-edit-modal .date-duration-item .ant-form-item-label{padding-bottom:4px}.mobile-edit-modal .date-duration-item .ant-form-item-control{width:100%}.mobile-edit-modal .date-duration-item .ant-picker,.mobile-edit-modal .date-duration-item .ant-select .ant-select-selector{height:40px!important;min-height:40px!important}.mobile-edit-modal .date-duration-item .ant-select-selection-item,.mobile-edit-modal .date-duration-item .ant-select-selection-placeholder{line-height:38px!important}.mobile-edit-modal .participants-selector .ant-select-selector{height:40px!important;min-height:40px!important;border-radius:8px}.mobile-edit-modal .participants-selector .ant-select-selection-item,.mobile-edit-modal .participants-selector .ant-select-selection-placeholder{line-height:38px!important}@media (max-width: 480px){.mobile-bookings{padding:0 12px 20px}.mobile-booking-title{font-size:16px}.mobile-booking-detail{font-size:14px}.mobile-booking-description{font-size:13px}.mobile-booking-detail-modal .ant-descriptions-item-label{width:70px;font-size:14px}.mobile-booking-detail-modal .ant-descriptions-item-content{font-size:14px}.mobile-edit-modal .ant-modal-body{padding:16px}.mobile-edit-modal .time-selection-section{padding:12px}.mobile-edit-modal .date-duration-item .ant-picker,.mobile-edit-modal .date-duration-item .ant-select .ant-select-selector,.mobile-edit-modal .participants-selector .ant-select-selector{height:36px!important;min-height:36px!important}.mobile-edit-modal .date-duration-item .ant-select-selection-item,.mobile-edit-modal .date-duration-item .ant-select-selection-placeholder,.mobile-edit-modal .participants-selector .ant-select-selection-item,.mobile-edit-modal .participants-selector .ant-select-selection-placeholder{line-height:34px!important}}.mobile-booking-form{padding:0 2px 20px}.mobile-booking-form-header{display:flex;align-items:center;margin-bottom:20px;padding-top:16px}.mobile-booking-form-card{border-radius:12px;overflow:hidden}.mobile-room-summary{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.mobile-room-summary .ant-typography{margin-bottom:4px}.mobile-organizer-info{margin-bottom:24px;padding:12px 16px;background-color:#f8f9fa;border-radius:8px;display:flex;align-items:center}.mobile-form-header{display:flex;align-items:center;margin-bottom:20px;padding-top:16px}.back-button{margin-right:8px;font-size:18px}.form-title{margin:0}.mobile-form-card{border-radius:12px;overflow:hidden}.room-not-found{text-align:center;padding:40px 20px}.mobile-booking-form-inner{padding-top:16px}.time-selection-section{margin-bottom:24px}.time-selection-header{margin-bottom:16px!important;color:#1890ff;font-weight:500}.time-selection-section .ant-form-item{margin-bottom:16px}.time-selection-section .ant-form-item-label{font-weight:500}.time-selection-section .ant-picker,.time-selection-section .ant-select{width:100%}.mobile-booking-form{padding:16px;background-color:#f5f5f5;min-height:100vh}.mobile-booking-form-header{display:flex;align-items:center;margin-bottom:16px;background-color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.mobile-back-button{margin-right:12px;color:#1890ff}.mobile-booking-form-card{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a}.mobile-room-summary{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.mobile-organizer-info{display:flex;align-items:center;margin-bottom:16px;padding:12px;background-color:#f9f9f9;border-radius:6px}.mobile-booking-form-inner{margin-top:16px}.mobile-submit-button{width:100%;height:48px;font-size:16px;margin-top:16px}.room-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:16px}.mobile-loading-container{display:flex;justify-content:center;align-items:center;height:50vh}.time-selection-section{margin-bottom:20px}.time-selection-header{margin-bottom:12px!important;color:#1890ff;display:flex;align-items:center;gap:8px}.mobile-date-picker-dropdown .ant-picker-cell-inner,body .mobile-date-picker-dropdown div.ant-picker-cell-inner,html .mobile-date-picker-dropdown div.ant-picker-cell-inner,#root .mobile-date-picker-dropdown div.ant-picker-cell-inner{width:var(--date-cell-size, 6px)!important;height:var(--date-cell-size, 6px)!important;line-height:var(--date-cell-size, 6px)!important;font-size:5px!important;border-radius:2px!important;padding:0!important;min-height:unset!important;position:relative!important}.mobile-date-picker-dropdown .ant-picker-content tr{height:var(--date-cell-size, 6px)!important}.mobile-date-picker-dropdown .ant-picker-week-row{height:var(--header-height, 8px)!important;line-height:var(--header-height, 8px)!important}.mobile-date-picker-dropdown .ant-picker-week-row .ant-picker-cell-inner{font-size:5px!important;height:var(--header-height, 8px)!important;line-height:var(--header-height, 8px)!important}.mobile-date-picker-dropdown .ant-picker-header{height:var(--header-height, 8px)!important;line-height:var(--header-height, 8px)!important;min-height:var(--header-height, 8px)!important}.mobile-date-picker-dropdown .ant-picker-header button,.mobile-date-picker-dropdown .ant-picker-header-view{font-size:5px!important;height:var(--header-height, 8px)!important;line-height:var(--header-height, 8px)!important}.mobile-date-picker-dropdown .ant-picker-year-panel,.mobile-date-picker-dropdown .ant-picker-month-panel{max-height:200px!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-content,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-content{max-height:180px!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-cell,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-cell{height:24px!important;padding:0!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-cell-inner,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-cell-inner{height:24px!important;line-height:24px!important;font-size:10px!important;padding:0!important;min-height:unset!important;position:relative!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-content tr,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-content tr{height:24px!important}body html #root .mobile-date-picker-dropdown .ant-picker-cell,body html #root .mobile-date-picker-dropdown .ant-picker-cell-inner,body html #root .mobile-date-picker-dropdown div.ant-picker-cell-inner{width:var(--date-cell-size, 6px)!important;height:var(--date-cell-size, 6px)!important;line-height:var(--date-cell-size, 6px)!important;font-size:5px!important;padding:0!important;min-height:unset!important;position:relative!important}body html #root .mobile-date-picker-dropdown .ant-picker-cell-inner,body html #root .mobile-date-picker-dropdown div.ant-picker-cell-inner,.mobile-date-picker-dropdown .ant-picker-cell-inner,.mobile-date-picker-dropdown div.ant-picker-cell-inner,body html #root .ant-picker-cell-inner,body .ant-picker-cell-inner,html .ant-picker-cell-inner,#root .ant-picker-cell-inner,.ant-picker-cell-inner{padding:0!important;min-height:unset!important;position:relative!important}@media (max-width: 768px){.mobile-date-picker-dropdown{width:320px!important;--date-cell-size: 3px}.mobile-date-picker-dropdown .ant-picker-cell{height:var(--date-cell-size, 3px)!important;padding:0!important}.mobile-date-picker-dropdown .ant-picker-cell-inner{width:var(--date-cell-size, 3px)!important;height:var(--date-cell-size, 3px)!important;line-height:var(--date-cell-size, 3px)!important;font-size:3px!important;border-radius:1px!important;padding:0!important;min-height:unset!important;position:relative!important}.mobile-date-picker-dropdown .ant-picker-content tr{height:var(--date-cell-size, 3px)!important}.mobile-date-picker-dropdown .ant-picker-week-row{height:var(--header-height, 6px)!important;line-height:var(--header-height, 6px)!important}.mobile-date-picker-dropdown .ant-picker-week-row .ant-picker-cell-inner{font-size:3px!important;height:var(--header-height, 6px)!important;line-height:var(--header-height, 6px)!important}.mobile-date-picker-dropdown .ant-picker-header{height:var(--header-height, 6px)!important;line-height:var(--header-height, 6px)!important;min-height:var(--header-height, 6px)!important}.mobile-date-picker-dropdown .ant-picker-header button,.mobile-date-picker-dropdown .ant-picker-header-view{font-size:3px!important;height:var(--header-height, 6px)!important;line-height:var(--header-height, 6px)!important}.mobile-date-picker-dropdown .ant-picker-year-panel,.mobile-date-picker-dropdown .ant-picker-month-panel{max-height:180px!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-content,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-content{max-height:160px!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-cell,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-cell{height:20px!important;padding:0!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-cell-inner,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-cell-inner{height:20px!important;line-height:20px!important;font-size:8px!important;padding:0!important;min-height:unset!important;position:relative!important}.mobile-date-picker-dropdown .ant-picker-year-panel .ant-picker-content tr,.mobile-date-picker-dropdown .ant-picker-month-panel .ant-picker-content tr{height:20px!important}body html #root .mobile-date-picker-dropdown .ant-picker-cell,body html #root .mobile-date-picker-dropdown .ant-picker-cell-inner,body html #root .mobile-date-picker-dropdown div.ant-picker-cell-inner{width:var(--date-cell-size, 3px)!important;height:var(--date-cell-size, 3px)!important;line-height:var(--date-cell-size, 3px)!important;font-size:3px!important;padding:0!important;min-height:unset!important;position:relative!important}body html #root .mobile-date-picker-dropdown .ant-picker-cell-inner,body html #root .mobile-date-picker-dropdown div.ant-picker-cell-inner,.mobile-date-picker-dropdown .ant-picker-cell-inner,.mobile-date-picker-dropdown div.ant-picker-cell-inner,body html #root .ant-picker-cell-inner,body .ant-picker-cell-inner,html .ant-picker-cell-inner,#root .ant-picker-cell-inner,.ant-picker-cell-inner{padding:0!important;min-height:unset!important;position:relative!important}}.time-selection-section .ant-select-selector{height:36px!important;min-height:36px!important}.time-selection-section .ant-select-selection-item{line-height:34px!important}.ant-picker-dropdown,.ant-picker-panel{max-height:280px!important}body .ant-picker-body,html .ant-picker-body,#root .ant-picker-body,body .ant-picker-content,html .ant-picker-content,#root .ant-picker-content{max-height:235px!important;overflow:hidden}.ant-picker-cell{height:18px!important}.ant-picker-cell-inner{height:18px!important;width:18px!important;line-height:18px!important;font-size:10px!important}.ant-picker-header{height:22px!important;padding:1px 0!important}.ant-picker-header-view{height:16px!important;line-height:16px!important;font-size:11px!important}.ant-picker-week-row,.ant-picker-row{height:18px!important}.ant-picker-dropdown.ant-picker-time-panel,.ant-picker-time-panel{max-height:280px!important}.ant-picker-time-panel-inner{max-height:240px!important;overflow:hidden}:where(.css-dev-only-do-not-override-1how9y8).ant-picker-dropdown .ant-picker-time-panel-column{width:80px!important;text-align:center}.ant-picker-time-panel-cell{height:28px!important}.ant-picker-time-panel-cell-inner{height:28px!important;line-height:28px!important;font-size:12px!important}.submit-btn{width:100%;height:48px;border-radius:8px;font-size:16px;font-weight:500}.mobile-submit-button{height:44px;font-size:16px;font-weight:500;border-radius:8px;width:100%;margin-top:16px}@media (max-width: 480px){.mobile-booking-form{padding:0 12px 20px}.mobile-room-summary .ant-typography{font-size:14px}.time-selection-section .ant-picker,.time-selection-section .ant-picker.ant-picker-time{height:32px}.time-selection-section .ant-select-selector{height:32px!important;min-height:32px!important}}.timeline-section{margin-bottom:10px;margin-top:2px}.timeline-header{margin-bottom:12px!important;color:#000000d9;font-weight:400;font-size:14px;line-height:1.5715}.timeline-section .room-occupancy-timeline-block{pointer-events:none;cursor:default}.timeline-section .room-occupancy-timeline-block:hover{opacity:.8}.hour-labels-container{margin-top:0;width:100%}.hour-labels{display:flex;justify-content:space-between;width:100%;position:relative}.hour-label{font-size:9px;color:#666;font-weight:500;text-align:center;flex:1;min-width:0}@media (max-width: 768px){.timeline-section{margin-bottom:16px}.timeline-header{font-size:14px;margin-bottom:8px!important;color:#000000d9;font-weight:400;line-height:1.5715}.time-selection-section .ant-select-selection-item{line-height:30px!important}body .ant-picker-dropdown,html .ant-picker-dropdown,#root .ant-picker-dropdown,body .ant-picker-panel,html .ant-picker-panel,#root .ant-picker-panel,body .mobile-date-picker-dropdown,html .mobile-date-picker-dropdown,#root .mobile-date-picker-dropdown{max-height:290px!important}body .ant-picker-body,html .ant-picker-body,#root .ant-picker-body,body .ant-picker-content,html .ant-picker-content,#root .ant-picker-content{max-height:250px!important;overflow:hidden}.ant-picker-cell{height:24px!important}.ant-picker-cell-inner{height:24px!important;width:24px!important;line-height:24px!important;font-size:11px!important}.ant-picker-header{height:28px!important;padding:2px 0!important}.ant-picker-header-view{height:18px!important;line-height:18px!important;font-size:12px!important}.ant-picker-week-row,.ant-picker-row,.ant-picker-time-panel-cell{height:24px!important}.ant-picker-time-panel-cell-inner{height:24px!important;line-height:24px!important;font-size:11px!important}}.mobile-date-picker-dropdown{width:320px!important}.mobile-date-picker-dropdown .ant-picker-cell{height:var(--date-cell-size, 6px)!important;padding:0!important}.mobile-date-picker-dropdown .ant-picker-cell-inner{width:var(--date-cell-size, 6px)!important;height:var(--date-cell-size, 6px)!important;line-height:var(--date-cell-size, 6px)!important;font-size:5px!important;border-radius:2px!important;padding:0!important}.time-range-row{display:flex;gap:12px;margin-bottom:16px}.time-range-item{flex:1;margin-bottom:0!important}.time-range-item .ant-form-item-label{padding-bottom:4px}.time-range-item .ant-form-item-control{width:100%}.date-duration-row{display:flex;gap:12px;margin-bottom:16px}.date-duration-item{flex:1;margin-bottom:0!important}.date-duration-item .ant-form-item-label{padding-bottom:4px}.date-duration-item .ant-form-item-control{width:100%}.date-duration-item .ant-picker,.date-duration-item .ant-select .ant-select-selector{height:40px!important;min-height:40px!important}.date-duration-item .ant-select-selection-item,.date-duration-item .ant-select-selection-placeholder{line-height:38px!important}.mobile-time-picker-dropdown .ant-picker-time-panel{width:100%!important;max-width:320px!important}.mobile-time-picker-dropdown .ant-picker-time-panel-column{flex:1!important}.mobile-time-picker-dropdown .ant-picker-time-panel-cell{padding:4px 0!important}.mobile-time-picker-dropdown .ant-picker-time-panel-cell-inner{width:100%!important;text-align:center!important}.mobile-profile{padding-bottom:20px}.mobile-profile-header{display:flex;flex-direction:column;align-items:center;padding:24px 0}.mobile-profile-avatar{margin-bottom:16px;background-color:#1890ff}.mobile-profile-name{margin:0 0 8px;font-size:24px}.mobile-profile-role{margin-bottom:16px}.mobile-profile-card{margin-bottom:16px;border-radius:12px}.mobile-profile-item{display:flex;align-items:center;width:100%}.mobile-profile-icon{color:#1890ff;font-size:18px;margin-right:16px}.mobile-profile-item-content{display:flex;flex-direction:column;flex:1}.mobile-profile-item-content .ant-typography{margin:0;line-height:1.5}.mobile-profile-permissions{padding:8px 0}.mobile-permission-tags{display:flex;flex-wrap:wrap;gap:8px}.mobile-profile-actions{padding:0 16px}.mobile-room-detail{padding:0 2px 20px}.mobile-room-detail-header{display:flex;align-items:center;margin-bottom:20px;padding-top:16px}.mobile-back-button{margin-right:8px;font-size:18px}.mobile-room-info-card{margin-bottom:16px;border-radius:12px;overflow:hidden}.mobile-room-info{margin-bottom:16px}.mobile-room-detail{margin-bottom:12px;font-size:15px}.mobile-room-detail-row{display:flex;justify-content:space-between;margin-bottom:12px}.mobile-room-equipment{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.mobile-room-equipment-item{background-color:#f0f0f0;padding:4px 8px;border-radius:4px;font-size:12px}.mobile-booking-button{height:44px;font-size:16px;font-weight:500;border-radius:8px;width:100%;margin-top:16px}.mobile-room-timeline-card{border-radius:12px;overflow:hidden}.mobile-room-timeline{max-height:none;overflow-y:visible}.mobile-timeline-date-group{margin-bottom:24px}.mobile-timeline-date{font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0;font-size:16px}.mobile-timeline-item{padding-bottom:8px;margin-bottom:12px;display:flex;flex-direction:column}.mobile-timeline-time{font-size:14px;color:#666;margin-bottom:4px}.mobile-timeline-date-row{font-size:16px;font-weight:600;color:#333;margin-bottom:6px}.mobile-timeline-time-range{font-size:14px;color:#666;margin-bottom:6px;width:90px}.mobile-timeline-title{font-size:16px;font-weight:500;margin-bottom:4px}.mobile-timeline-user{font-size:12px;color:#666;margin-bottom:4px}.mobile-timeline-status-container{display:flex;align-items:center;gap:4px}.mobile-timeline-status-label{font-size:12px;color:#666}.mobile-timeline-status{font-size:12px;padding:2px 6px;border-radius:4px;display:inline-block}.mobile-timeline-status.approved{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.mobile-timeline-status.pending{background-color:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.mobile-timeline-status.rejected{background-color:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.mobile-approval-status{display:flex;align-items:center;gap:8px;margin-top:4px}.mobile-approval-status .ant-badge-status-text{font-size:14px;font-weight:500}.mobile-approval-status .ant-badge-status-processing{color:#1890ff}.mobile-approval-status .ant-badge-status-success{color:#52c41a}.ant-timeline-item-head-green{border-color:#52c41a!important;color:#52c41a!important}.ant-timeline-item-tail-green{border-left-color:#52c41a!important}.ant-timeline-item-head-blue{border-color:#1890ff!important;color:#1890ff!important}.ant-timeline-item-tail-blue{border-left-color:#1890ff!important}.ant-timeline-item-head-red{border-color:#ff4d4f!important;color:#ff4d4f!important}.ant-timeline-item-tail-red{border-left-color:#ff4d4f!important}.mobile-loading-container{display:flex;justify-content:center;align-items:center;height:200px}@media (max-width: 480px){.mobile-room-detail{padding:0 12px 20px;font-size:14px}.mobile-timeline-date,.mobile-timeline-title{font-size:15px}.mobile-approval-status{flex-direction:column;align-items:flex-start;gap:4px}}.mobile-booking-edit{padding:5px;background-color:#f5f5f5;min-height:100vh}.mobile-booking-edit-header{display:flex;align-items:center;margin-bottom:16px;background-color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.back-button{margin-right:12px;color:#1890ff}.page-title{margin:0;color:#1890ff}.mobile-booking-edit-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.mobile-loading-container,.mobile-error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:50vh;padding:20px}.mobile-error-container{text-align:center}.mobile-booking-edit .mobile-booking-form{background-color:#fff;border-radius:8px;padding:10px;box-shadow:0 2px 8px #0000001a}.mobile-booking-edit .mobile-room-summary{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.mobile-booking-edit .mobile-booking-form-inner{margin-top:16px}.mobile-booking-edit .mobile-submit-button{width:100%;height:48px;font-size:16px;margin-top:16px}.mobile-sign-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;justify-content:center;align-items:center}.sign-container{width:100%;max-width:480px}.sign-container.has-layout-row{max-width:1000px}.sign-layout-row{display:flex;flex-direction:row;gap:24px;align-items:flex-start;width:100%;max-width:1000px;margin:0 auto}.sign-card-section{flex:1;min-width:0}.sign-card{border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden}.sign-card .ant-card-head{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none}.sign-card .ant-card-head-title{color:#fff;font-size:18px;font-weight:600}.sign-card .ant-card-extra .ant-tag{background-color:#fff3;color:#fff;border:none}.meeting-info{margin-bottom:24px}.meeting-info .ant-descriptions-item-label{color:#666;font-weight:500}.meeting-info .ant-descriptions-item-content{color:#333}.sign-form{margin-top:20px}.sign-form .ant-form-item{margin-bottom:20px}.sign-form .ant-input-affix-wrapper{border-radius:8px;border:2px solid #e8e8e8;transition:all .3s}.sign-form .ant-input-affix-wrapper:focus,.sign-form .ant-input-affix-wrapper-focused{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.sign-form .ant-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;height:48px;font-size:16px;font-weight:600;box-shadow:0 4px 12px #667eea4d;transition:all .3s}.sign-form .ant-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.sign-form .ant-btn-primary:active{transform:translateY(0)}.sign-tips{margin-top:20px}.sign-tips .ant-alert{border-radius:8px;background-color:#f0f9ff;border:1px solid #bae7ff}.sign-tips .ant-alert-info{background-color:#f0f9ff;border-color:#bae7ff}.sign-tips .ant-alert-message{color:#1890ff;font-weight:600}.sign-tips .ant-alert-description p{margin-bottom:8px;color:#666;font-size:13px}.sign-tips .ant-alert-description p:last-child{margin-bottom:0}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;background:#fff;border-radius:16px;padding:40px}.loading-container .ant-spin{display:flex;flex-direction:column;align-items:center}.loading-container .ant-spin-dot{margin-bottom:16px}.loading-container .ant-spin-text{color:#666;font-size:14px}.sign-container .ant-result-success .ant-result-icon{margin-bottom:16px}.sign-container .ant-result-success .ant-result-title{font-size:24px;color:#52c41a;margin-bottom:24px}.sign-container .ant-result-success .ant-result-subtitle{color:#333;font-size:16px}.sign-container .ant-result-success .ant-result-subtitle p{margin-bottom:16px;font-size:18px;font-weight:500;line-height:1.6}.sign-container .ant-result-success .ant-result-subtitle p:last-child{margin-bottom:0}.sign-container .ant-result-info .ant-result-icon{margin-bottom:16px}.sign-container .ant-result-info .ant-result-title{font-size:24px;color:#1890ff;margin-bottom:24px}.sign-container .ant-result-info .ant-result-subtitle{color:#333;font-size:16px}.sign-container .ant-result-info .ant-result-subtitle p{margin-bottom:16px;font-size:18px;font-weight:500;line-height:1.6}.sign-container .ant-result-info .ant-result-subtitle p:last-child{margin-bottom:0}.sign-container .ant-result-error .ant-result-title{font-size:24px;color:#ff4d4f;margin-bottom:16px}.sign-container .ant-result-error .ant-result-subtitle{color:#666;font-size:14px}@media (max-width: 480px){.mobile-sign-page{padding:12px}.sign-container{max-width:100%}.sign-card{border-radius:12px}.sign-card .ant-card-head-title{font-size:16px}.sign-form .ant-btn-primary{height:44px;font-size:15px}.meeting-info .ant-descriptions-item-label{font-size:12px}.meeting-info .ant-descriptions-item-content{font-size:13px}.sign-tips .ant-alert-description p{font-size:12px}}@media (max-width: 375px){.mobile-sign-page{padding:8px}.sign-card .ant-card-head-title{font-size:14px}.sign-form .ant-btn-primary{height:40px;font-size:14px}}@media (min-width: 768px){.mobile-sign-page{padding:40px 20px}.sign-container{max-width:420px}}.success-sign-card,.duplicate-sign-card,.error-sign-card,.expired-sign-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000026;overflow:hidden;animation:slideInUp .5s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-sign-header,.duplicate-sign-header{background:linear-gradient(135deg,#52c41a,#73d13d);padding:40px 24px 32px;text-align:center;position:relative;overflow:hidden}.success-sign-header:before,.duplicate-sign-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon-wrapper{width:80px;height:80px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;animation:scaleIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-icon{font-size:48px;color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.success-sign-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.success-sign-subtitle{font-size:16px;color:#fffffff2;margin:0;position:relative;z-index:1}.duplicate-sign-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.duplicate-sign-subtitle{font-size:16px;color:#fffffff2;margin:0;position:relative;z-index:1}.success-sign-body,.duplicate-sign-body{padding:24px;animation:fadeIn .8s ease-out .3s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sign-info-section{background:linear-gradient(135deg,#f6ffed,#f0f9ff);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid rgba(82,196,26,.1)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row:first-child{padding-top:0}.info-label{font-size:14px;color:#8c8c8c;font-weight:500}.info-value{font-size:15px;color:#262626;font-weight:600;text-align:right;max-width:60%;word-break:break-word}.meeting-info-section{animation:fadeIn .8s ease-out .5s both}.section-divider{height:1px;background:linear-gradient(90deg,transparent,#d9d9d9,transparent);margin-bottom:20px}.section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#262626;margin-bottom:16px}.section-icon{color:#1890ff;font-size:18px}.meeting-info-card{background:#fafafa;border-radius:8px;padding:16px;border-left:3px solid #1890ff;transition:all .3s ease}.meeting-info-card:hover{background:#f0f0f0;box-shadow:0 2px 8px #00000014}.meeting-info-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.05)}.meeting-info-item:last-child{border-bottom:none;padding-bottom:0}.meeting-info-item:first-child{padding-top:0}.meeting-info-label{display:block;font-size:12px;color:#8c8c8c;margin-bottom:6px;font-weight:500}.meeting-info-value{display:block;font-size:14px;color:#262626;font-weight:500;line-height:1.5}.device-id-display{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:8px 16px;animation:fadeIn .8s ease-out .8s both}.device-id-label{font-size:10px;color:#bfbfbf;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.device-id-value{font-size:10px;color:#bfbfbf;font-weight:400;font-family:Courier New,monospace;word-break:break-all}.error-sign-header{background:linear-gradient(135deg,#ff4d4f,#ff7875);padding:40px 24px 32px;text-align:center;position:relative;overflow:hidden}.error-sign-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}.error-icon-wrapper{width:80px;height:80px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;animation:scaleIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-icon{font-size:48px;color:#fff;animation:pulse 2s ease-in-out infinite}.error-sign-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.error-sign-subtitle{font-size:16px;color:#fffffff2;margin:0;position:relative;z-index:1}.error-sign-body{padding:24px;animation:fadeIn .8s ease-out .3s both;display:flex;justify-content:center}.retry-button{width:100%;height:44px;font-size:16px;font-weight:600;border-radius:8px;background:linear-gradient(135deg,#ff4d4f,#ff7875);border:none;box-shadow:0 4px 12px #ff4d4f4d;transition:all .3s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff4d4f66}.retry-button:active{transform:translateY(0)}.expired-sign-header{background:linear-gradient(135deg,#faad14,#ffc53d);padding:40px 24px 32px;text-align:center;position:relative;overflow:hidden}.expired-sign-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}.expired-icon-wrapper{width:80px;height:80px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;animation:scaleIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expired-icon{font-size:48px;color:#fff;animation:pulse 2s ease-in-out infinite}.expired-sign-title{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.expired-sign-subtitle{font-size:16px;color:#fffffff2;margin:0;position:relative;z-index:1}.expired-sign-body{padding:24px;animation:fadeIn .8s ease-out .3s both}@media (max-width: 480px){.success-sign-header,.duplicate-sign-header,.error-sign-header,.expired-sign-header{padding:32px 20px 28px}.success-icon-wrapper,.error-icon-wrapper,.expired-icon-wrapper{width:70px;height:70px}.success-icon,.error-icon,.expired-icon{font-size:40px}.success-sign-title,.duplicate-sign-title,.error-sign-title,.expired-sign-title{font-size:24px}.success-sign-subtitle,.duplicate-sign-subtitle,.error-sign-subtitle,.expired-sign-subtitle{font-size:14px}.success-sign-body,.duplicate-sign-body,.error-sign-body,.expired-sign-body{padding:20px}.sign-info-section{padding:16px}.info-label{font-size:13px}.info-value{font-size:14px}.meeting-info-card{padding:14px}.meeting-info-item{padding:8px 0}.meeting-info-label{font-size:11px}.meeting-info-value{font-size:13px}.device-id-display{padding:14px 20px 20px}.device-id-label{font-size:11px}.device-id-value{font-size:10px;padding:5px 10px;max-width:55%}}@media (max-width: 375px){.success-sign-title,.duplicate-sign-title,.error-sign-title,.expired-sign-title{font-size:22px}.success-sign-subtitle,.duplicate-sign-subtitle,.error-sign-subtitle,.expired-sign-subtitle,.info-value{font-size:13px}}.qr-sign-card{border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden}.qr-sign-card .ant-card-head{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none}.qr-sign-card .ant-card-head-title{color:#fff;font-size:18px;font-weight:600}.qr-sign-card .ant-card-extra .ant-tag{background-color:#fff3;color:#fff;border:none}.qr-code-content{padding:12px}.qr-code-subtitle{font-size:13px;color:#666;margin:0 0 12px;text-align:center;font-weight:500}.qr-code-wrapper{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px #0000000f,0 1px 4px #0000000a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideInUp .6s ease-out .2s both}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.qr-code-container{position:relative;display:inline-block;padding:8px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;transition:all .3s ease}.qr-code-container:hover{transform:scale(1.02);box-shadow:0 2px 6px #0000001a}.qr-code-image{width:120px;height:120px;display:block;border-radius:6px}.qr-code-corner{position:absolute;width:14px;height:14px;border:2px solid #667eea;border-radius:2px}.qr-corner-tl{top:4px;left:4px;border-right:none;border-bottom:none}.qr-corner-tr{top:4px;right:4px;border-left:none;border-bottom:none}.qr-corner-bl{bottom:4px;left:4px;border-right:none;border-top:none}.qr-corner-br{bottom:4px;right:4px;border-left:none;border-top:none}.qr-meeting-info{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-radius:12px;padding:12px 10px;margin-top:12px;box-shadow:0 2px 8px #0000000f,0 1px 4px #0000000a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .6s ease-out .4s both}.qr-meeting-info-title{font-size:14px;font-weight:600;color:#262626;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid rgba(102,126,234,.1);text-align:center}.qr-meeting-info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05)}.qr-meeting-info-item:last-child{border-bottom:none;padding-bottom:0}.qr-meeting-info-item:first-child{padding-top:0}.qr-meeting-info-label{font-size:11px;color:#8c8c8c;font-weight:500;flex-shrink:0;width:60px}.qr-meeting-info-value{font-size:12px;color:#262626;font-weight:500;text-align:right;flex:1;line-height:1.4;word-break:break-word}@media (max-width: 1024px){.sign-layout-row{flex-direction:column;align-items:center}.qr-code-section{width:100%;max-width:480px;margin-bottom:24px}.sign-card-section{width:100%;max-width:480px}}@media (max-width: 480px){.qr-code-content{padding:10px}.qr-code-subtitle{font-size:12px;margin-bottom:10px}.qr-code-wrapper{padding:14px}.qr-code-image{width:100px;height:100px}.qr-code-corner{width:12px;height:12px}.qr-corner-tl{top:3px;left:3px}.qr-corner-tr{top:3px;right:3px}.qr-corner-bl{bottom:3px;left:3px}.qr-corner-br{bottom:3px;right:3px}.qr-meeting-info{padding:10px 8px;margin-top:10px}.qr-meeting-info-title{font-size:13px;margin-bottom:8px;padding-bottom:6px}.qr-meeting-info-label{font-size:10px;width:55px}.qr-meeting-info-value{font-size:11px}}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!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.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}.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}.gap-3{gap:.75rem}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:6px}.rounded-full{border-radius:9999px}.border{border-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-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.text-center{text-align:center}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-90{opacity:.9}.shadow{--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}.blur{--tw-blur: blur(8px);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.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)}.invert{--tw-invert: invert(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}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}: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}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.mobile-app{width:100%;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:16px;background-color:#ffff004d}@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;transform:translate(2px)}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-list-item:active{background-color:#e6f7ff;transform:translate(2px) scale(.995)}.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}.ant-picker-year-btn,.ant-picker-month-btn{height:20px!important;line-height:20px!important}: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}
