:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.user-dropdown-trigger:hover{background:#f5f5f5}.desktop-header,.desktop-sider{transition:all .3s ease}.desktop-sider .ant-menu-item{margin-bottom:4px;border-radius:8px;transition:all .3s ease;font-size:14px}.desktop-sider .ant-menu-item:hover{background:#e6f7ff}.desktop-sider .ant-menu-item-selected{background:linear-gradient(90deg,#e6f7ff,#bae7ff);border-right:3px solid #1890ff;font-weight:600}.desktop-content{transition:all .3s ease}@media(min-width:768px)and (max-width:1024px){.desktop-sider .ant-menu-item,.ant-typography,.ant-card,.ant-table,.ant-form-item{font-size:13px}h1{font-size:22px}h2{font-size:20px}h3{font-size:18px}.ant-card-meta-title{font-size:14px}}@media(min-width:1024px)and (max-width:1440px){.desktop-sider .ant-menu-item,.ant-typography,.ant-card,.ant-table,.ant-form-item{font-size:13.5px}h1{font-size:24px}h2{font-size:22px}h3{font-size:20px}.ant-card-meta-title{font-size:15px}}@media(min-width:1440px){.desktop-sider .ant-menu-item,.ant-typography,.ant-card,.ant-table,.ant-form-item{font-size:14px}h1{font-size:26px}h2{font-size:24px}h3{font-size:22px}.ant-card-meta-title{font-size:16px}}.ant-statistic-content{font-weight:600}.ant-table-thead>tr>th{font-weight:600;font-size:inherit}.ant-table-tbody>tr>td{font-size:inherit}.ant-btn{font-size:inherit}.responsive-container{padding:12px}@media(min-width:768px){.responsive-container{padding:24px}}.mobile-card{margin-bottom:12px;border-radius:8px}@media(min-width:768px){.mobile-card{margin-bottom:16px;border-radius:12px}}.touch-button{min-height:44px;min-width:44px}.touch-list-item{min-height:56px;padding:12px 16px}.responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:767px){body{font-size:14px}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}@media(min-width:768px){.responsive-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}}.stat-card{padding:12px}@media(min-width:768px){.stat-card{padding:16px}}.mobile-modal .ant-modal-content{border-radius:12px 12px 0 0}@media(min-width:768px){.mobile-modal .ant-modal-content{border-radius:12px}}.touch-input{font-size:16px}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}.finance-page{padding:16px;background:#f5f7fa;min-height:100vh}.page-title{font-size:20px;font-weight:600;margin-bottom:16px;color:#1f1f1f;display:flex;align-items:center}.finance-page .ant-card{border-radius:8px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f}.finance-page .ant-card-head{padding:12px 16px;min-height:44px;border-radius:8px 8px 0 0}.finance-page .ant-card-body{padding:16px}.card-header{display:flex;align-items:center;justify-content:space-between;width:100%}.card-title{font-weight:600;font-size:15px;display:flex;align-items:center}.yearly-stats-card .ant-card-head{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.yearly-stats-card .ant-card-head-title{color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-item{display:flex;align-items:center;padding:12px;border-radius:6px;transition:all .2s ease}.stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-item-icon{font-size:20px;margin-right:10px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#ffffff80}.stat-item-content{flex:1;min-width:0}.stat-item-title{font-size:12px;color:#666;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-item-value{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-bill-card{margin-bottom:16px}.mini-stat{padding:12px 16px;background:#fafafa;border-radius:6px;transition:all .2s ease}.mini-stat:hover{background:#f0f0f0}.mini-stat-label{font-size:12px;color:#8c8c8c;margin-bottom:4px}.mini-stat-value{font-size:20px;font-weight:700}.finance-summary-card{margin-bottom:16px}.finance-summary-card .ant-statistic-title{font-size:13px;color:#8c8c8c}.date-filter-card{margin-bottom:16px}.date-filter-card .ant-tabs-nav{margin-bottom:0}.table-container{overflow-x:auto}.table-container .ant-table{font-size:13px}.table-container .ant-table-thead>tr>th{background:#f5f5f5;font-weight:600;padding:8px 12px;white-space:nowrap}.table-container .ant-table-tbody>tr>td{padding:8px 12px}.table-container .ant-table-tbody>tr:hover>td{background:#f0f7ff}.monthly-stats-section{margin-top:8px}.section-title{font-size:14px;font-weight:600;margin-bottom:12px;color:#1f1f1f;padding-left:10px;border-left:3px solid #1890ff}.table-container .ant-progress-inner{background-color:#f0f0f0}.ant-tag{border-radius:4px;padding:1px 6px;font-size:12px}.ant-btn{border-radius:6px}.ant-btn-primary{box-shadow:0 2px 6px #1890ff40}.ant-modal-content{border-radius:8px}.ant-modal-header{border-radius:8px 8px 0 0;padding:12px 16px}.ant-modal-body{padding:16px}.ant-input,.ant-input-number,.ant-select-selector,.ant-picker{border-radius:6px!important}.yearly-stats-card .ant-picker{background:#fff3;border:1px solid rgba(255,255,255,.3)}.yearly-stats-card .ant-picker-input>input{color:#fff;font-size:13px}.yearly-stats-card .ant-picker-suffix{color:#fff}.yearly-stats-card .ant-picker-clear{background:transparent;color:#fff}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.finance-page{padding:12px}.page-title{font-size:18px;margin-bottom:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-item{padding:10px}.stat-item-icon{font-size:16px;width:28px;height:28px;margin-right:8px}.stat-item-title{font-size:11px}.stat-item-value{font-size:14px}.mini-stat-value{font-size:18px}.finance-summary-card .ant-statistic-content{font-size:20px!important}.finance-page .ant-card-body{padding:12px}.table-container .ant-table-thead>tr>th,.table-container .ant-table-tbody>tr>td{padding:6px 8px}}@media(max-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr)}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.yearly-stats-card .ant-picker{width:100%!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.finance-page>*{animation:fadeInUp .3s ease-out}.ant-table-summary-row{font-weight:600}.ant-table-summary-row td{border-top:2px solid #e8e8e8}.ant-pagination{margin-top:12px}.ant-pagination-item{border-radius:4px}.ant-tabs-tab{padding:8px 12px;font-size:13px}.ant-empty{padding:24px}.ant-skeleton{padding:16px}.home-page{padding:24px;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.header-left{flex:1}.hotel-name{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a1a;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-info{display:flex;gap:20px;align-items:center}.info-item{display:flex;align-items:center;gap:6px;color:#666;font-size:14px}.update-time{color:#999;font-size:12px;margin-left:auto}.refresh-btn{border-radius:8px;height:40px;padding:0 20px}.stats-row{margin-bottom:24px}.stat-card{border-radius:12px;border:none;box-shadow:0 4px 12px #00000014;transition:all .3s ease;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-card .ant-card-body{display:flex;align-items:center;padding:20px}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-right:16px}.stat-card.revenue .stat-icon{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.room-revenue .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-card.occupancy .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-card.guests .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.stat-content{flex:1}.stat-label{font-size:14px;color:#666;margin-bottom:4px}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.stat-trend{font-size:12px}.detail-card{border-radius:12px;box-shadow:0 4px 12px #00000014}.detail-card .ant-tabs-nav{margin-bottom:24px}.detail-card .ant-tabs-tab{font-size:15px;font-weight:500}.section-title{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:16px;padding-left:12px;border-left:4px solid #667eea}.room-status-item{padding:20px;border-radius:12px;text-align:center;transition:all .3s ease}.room-status-item:hover{transform:scale(1.02)}.room-status-item.available{background:linear-gradient(135deg,#f6ffed,#d9f7be);border:1px solid #b7eb8f}.room-status-item.occupied{background:linear-gradient(135deg,#e6f7ff,#bae7ff);border:1px solid #91d5ff}.room-status-item.cleaning{background:linear-gradient(135deg,#fffbe6,#fff1b8);border:1px solid #ffe58f}.room-status-item.maintenance{background:linear-gradient(135deg,#fff1f0,#ffccc7);border:1px solid #ffa39e}.status-label{font-size:14px;color:#666;margin-bottom:8px}.status-value{font-size:36px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.status-percent{font-size:14px;color:#999}.today-stats{background:#fafafa;border-radius:12px;padding:16px}.today-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.today-item:last-child{border-bottom:none}.today-label{flex:1;margin-left:12px;color:#666}.today-value{font-weight:600;color:#1a1a1a}.metric-card{text-align:center;border-radius:12px;border:none;background:linear-gradient(135deg,#f5f7fa,#fff);box-shadow:0 2px 8px #0000000f;transition:all .3s ease;cursor:pointer}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.metric-label{font-size:12px;color:#999;margin-bottom:8px}.metric-value{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.metric-trend{font-size:12px}.metric-desc{font-size:12px;color:#999}.finance-card{border-radius:12px;border:none;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.finance-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.finance-card .ant-card-body{display:flex;align-items:center;padding:24px}.finance-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin-right:20px}.finance-card.income .finance-icon{background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff}.finance-card.expense .finance-icon{background:linear-gradient(135deg,#f5222d,#ff4d4f);color:#fff}.finance-card.profit .finance-icon{background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff}.finance-content{flex:1}.finance-label{font-size:14px;color:#666;margin-bottom:8px}.finance-value{font-size:32px;font-weight:700;color:#1a1a1a}.finance-chart-placeholder{text-align:center;padding:60px 20px;color:#999;background:#fafafa;border-radius:12px;margin-top:24px}@media(max-width:768px){.home-page{padding:16px}.page-header{flex-direction:column;gap:16px;text-align:center}.hotel-name{font-size:22px}.header-info{flex-wrap:wrap;justify-content:center}.stat-value{font-size:22px}.status-value{font-size:28px}.finance-value{font-size:24px}}
