.tab-item{text-decoration:none;color:inherit}.login-page[data-v-3f1524e1]{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;padding:20px}.login-container[data-v-3f1524e1]{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:40px 30px;box-shadow:0 10px 40px #0000001a}.login-header[data-v-3f1524e1]{text-align:center;margin-bottom:40px}.login-title[data-v-3f1524e1]{font-size:32px;font-weight:600;color:#333;margin-bottom:8px}.login-subtitle[data-v-3f1524e1]{font-size:14px;color:#999}.login-form[data-v-3f1524e1]{margin-bottom:24px}.form-group[data-v-3f1524e1]{margin-bottom:20px}.form-label[data-v-3f1524e1]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-input[data-v-3f1524e1]{width:100%;padding:12px 16px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-3f1524e1]:focus{outline:none;border-color:#1890ff}.error-message[data-v-3f1524e1]{color:#f5222d;font-size:12px;margin-bottom:16px;text-align:center}.login-btn[data-v-3f1524e1]{width:100%;padding:14px;background:#1890FF;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .3s;height:48px}.login-btn[data-v-3f1524e1]:hover:not(:disabled){background:#40a9ff}.login-btn[data-v-3f1524e1]:disabled{background:#d9d9d9;cursor:not-allowed}.login-footer[data-v-3f1524e1]{text-align:center;font-size:14px;color:#595959}.link[data-v-3f1524e1]{color:#1890ff;text-decoration:none;margin-left:4px}.link[data-v-3f1524e1]:hover{text-decoration:underline}.register-page[data-v-c9881551]{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;padding:20px}.register-container[data-v-c9881551]{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:40px 30px;box-shadow:0 10px 40px #0000001a}.register-header[data-v-c9881551]{text-align:center;margin-bottom:40px}.register-title[data-v-c9881551]{font-size:32px;font-weight:600;color:#333;margin-bottom:8px}.register-subtitle[data-v-c9881551]{font-size:14px;color:#999}.register-form[data-v-c9881551]{margin-bottom:24px}.form-group[data-v-c9881551]{margin-bottom:20px}.form-label[data-v-c9881551]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-input[data-v-c9881551]{width:100%;padding:12px 16px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-input[data-v-c9881551]:focus{outline:none;border-color:#1890ff}.error-message[data-v-c9881551]{color:#f5222d;font-size:12px;margin-bottom:16px;text-align:center}.register-btn[data-v-c9881551]{width:100%;padding:14px;background:#1890FF;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .3s;height:48px}.register-btn[data-v-c9881551]:hover:not(:disabled){background:#40a9ff}.register-btn[data-v-c9881551]:disabled{background:#d9d9d9;cursor:not-allowed}.register-footer[data-v-c9881551]{text-align:center;font-size:14px;color:#595959}.link[data-v-c9881551]{color:#1890ff;text-decoration:none;margin-left:4px}.link[data-v-c9881551]:hover{text-decoration:underline}.room-detail-page[data-v-077d37ae]{min-height:100vh;background:#F5F5F5;padding-bottom:20px}.page-header[data-v-077d37ae]{background:#fff;padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.back-btn[data-v-077d37ae]{font-size:16px;color:#1890ff;cursor:pointer;margin-right:12px}.page-title[data-v-077d37ae]{font-size:18px;font-weight:600;color:#333}.loading[data-v-077d37ae],.error[data-v-077d37ae]{text-align:center;padding:40px;color:#999}.error[data-v-077d37ae]{color:#f5222d}.room-basic[data-v-077d37ae]{background:#fff;text-align:center;padding:24px;margin-bottom:12px}.room-basic-name[data-v-077d37ae]{font-size:20px;font-weight:600;margin-bottom:8px}.room-status[data-v-077d37ae]{padding:4px 12px;border-radius:12px;font-size:12px}.room-status.rented[data-v-077d37ae]{background:#52C41A;color:#fff}.room-status.vacant[data-v-077d37ae]{background:#D9D9D9;color:#595959}.room-price[data-v-077d37ae]{font-size:16px;color:#faad14;font-weight:600;margin-top:8px}.info-card[data-v-077d37ae]{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.info-card-header[data-v-077d37ae]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #E8E8E8}.info-card-title[data-v-077d37ae]{font-size:16px;font-weight:600;margin-bottom:12px}.info-card-header .info-card-title[data-v-077d37ae]{margin-bottom:0}.add-btn[data-v-077d37ae]{padding:4px 12px;background:#1890FF;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.meter-tabs[data-v-077d37ae]{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid #E8E8E8}.meter-tab[data-v-077d37ae]{flex:1;padding:8px 16px;text-align:center;font-size:14px;color:#595959;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s}.meter-tab.active[data-v-077d37ae]{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.info-row[data-v-077d37ae]{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.info-label[data-v-077d37ae]{color:#595959}.info-value[data-v-077d37ae]{color:#333;font-weight:500}.empty-records[data-v-077d37ae]{text-align:center;padding:20px;color:#999;font-size:14px}.meter-record-item[data-v-077d37ae]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #F5F5F5}.meter-record-item[data-v-077d37ae]:last-child{border-bottom:none}.record-info[data-v-077d37ae]{flex:1}.record-time[data-v-077d37ae]{font-size:14px;color:#333;margin-bottom:4px}.record-value[data-v-077d37ae]{font-size:16px;color:#1890ff;font-weight:600}.delete-record-btn[data-v-077d37ae]{padding:6px 12px;background:#F5222D;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.bill-record-item[data-v-077d37ae]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #F5F5F5}.bill-record-item[data-v-077d37ae]:last-child{border-bottom:none}.bill-info[data-v-077d37ae]{flex:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bill-month[data-v-077d37ae]{font-size:14px;color:#333;font-weight:500;min-width:80px}.bill-type[data-v-077d37ae]{font-size:14px;color:#595959;background:#F5F5F5;padding:2px 8px;border-radius:4px;white-space:nowrap}.bill-amount[data-v-077d37ae]{font-size:16px;color:#faad14;font-weight:600;margin-left:auto}.bill-status[data-v-077d37ae]{font-size:12px;padding:2px 8px;border-radius:4px;white-space:nowrap}.bill-status.paid[data-v-077d37ae]{background:#F6FFED;color:#52c41a}.bill-status.pending[data-v-077d37ae]{background:#FFF7E6;color:#faad14}.bill-actions[data-v-077d37ae]{display:flex;gap:8px;margin-left:12px;flex-shrink:0}.mark-paid-btn[data-v-077d37ae]{padding:6px 12px;background:#52C41A;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.delete-bill-btn[data-v-077d37ae]{padding:6px 12px;background:#F5222D;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}.required[data-v-077d37ae]{color:#f5222d}.auto-calculate-info[data-v-077d37ae]{background:#F5F5F5;border-radius:8px;padding:12px;margin-top:8px}.auto-calculate-info .info-row[data-v-077d37ae]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;color:#333}.auto-calculate-info .info-row .info-value[data-v-077d37ae]{color:#1890ff;font-weight:500}.auto-calculate-info .info-row.total-row[data-v-077d37ae]{margin-top:8px;padding-top:12px;border-top:1px solid #E8E8E8;font-weight:600}.auto-calculate-info .info-row.total-row .total-amount[data-v-077d37ae]{color:#faad14;font-size:16px}.contract-image[data-v-077d37ae]{margin-top:8px}.contract-image img[data-v-077d37ae]{width:100%;max-width:300px;border-radius:8px;cursor:pointer}.action-buttons[data-v-077d37ae]{display:flex;gap:12px;padding:16px;background:#fff;margin-top:12px}.btn[data-v-077d37ae]{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;cursor:pointer;height:44px;transition:all .3s}.btn-primary[data-v-077d37ae]{background:#1890FF;color:#fff}.btn-warning[data-v-077d37ae]{background:#FAAD14;color:#fff}.btn-warning[data-v-077d37ae]:disabled{background:#d9d9d9;cursor:not-allowed}.btn-secondary[data-v-077d37ae]{background:#fff;color:#333;border:1px solid #E8E8E8}.btn-danger[data-v-077d37ae]{background:#F5222D;color:#fff}.meter-dialog-overlay[data-v-077d37ae]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.meter-dialog[data-v-077d37ae]{background:#fff;border-radius:12px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto}.dialog-header[data-v-077d37ae]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #E8E8E8}.dialog-title[data-v-077d37ae]{font-size:18px;font-weight:600}.dialog-close[data-v-077d37ae]{font-size:24px;color:#999;cursor:pointer;line-height:1}.meter-form[data-v-077d37ae]{padding:16px}.form-group[data-v-077d37ae]{margin-bottom:16px}.form-label[data-v-077d37ae]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-input[data-v-077d37ae]{width:100%;padding:12px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;box-sizing:border-box}.form-actions[data-v-077d37ae]{display:flex;gap:12px;margin-top:24px}.statistics-page[data-v-da6719c4]{min-height:100vh;background:#F5F5F5;padding-bottom:20px}.bill-filters[data-v-da6719c4]{display:flex;gap:12px;padding:12px 16px;background:#fff;margin-bottom:12px}.filter-select[data-v-da6719c4]{flex:1;padding:10px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;background:#fff}.loading[data-v-da6719c4],.error[data-v-da6719c4]{text-align:center;padding:40px;color:#999}.error[data-v-da6719c4]{color:#f5222d}.building-card[data-v-da6719c4]{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.building-title[data-v-da6719c4]{font-size:18px;font-weight:600;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E8E8E8}.summary-card[data-v-da6719c4]{background:#F5F5F5;border-radius:8px;padding:12px;margin-bottom:16px}.summary-item[data-v-da6719c4]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:#333}.summary-item.summary-total[data-v-da6719c4]{margin-top:8px;padding-top:12px;border-top:1px solid #E8E8E8;font-weight:600}.summary-total-value[data-v-da6719c4]{color:#faad14;font-size:16px}.usage-info[data-v-da6719c4]{font-size:12px;color:#999;margin-left:8px}.room-bill-card[data-v-da6719c4]{background:#F9F9F9;border-radius:8px;padding:12px;margin-bottom:12px}.room-bill-title[data-v-da6719c4]{font-size:16px;font-weight:500;color:#333;margin-bottom:8px}.bill-item[data-v-da6719c4]{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#333}.bill-amount[data-v-da6719c4]{color:#faad14;font-weight:600}.create-room-page[data-v-0aaf74f1]{min-height:100vh;background:#F5F5F5}.page-header[data-v-0aaf74f1]{background:#fff;padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.back-btn[data-v-0aaf74f1]{font-size:16px;color:#1890ff;cursor:pointer;margin-right:12px}.page-title[data-v-0aaf74f1]{font-size:18px;font-weight:600;color:#333}.form-container[data-v-0aaf74f1]{padding:16px}.room-form[data-v-0aaf74f1]{background:#fff;border-radius:8px;padding:20px}.form-group[data-v-0aaf74f1]{margin-bottom:20px}.form-label[data-v-0aaf74f1]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.required[data-v-0aaf74f1]{color:#f5222d}.form-input[data-v-0aaf74f1],.form-select[data-v-0aaf74f1],.form-textarea[data-v-0aaf74f1]{width:100%;padding:12px 16px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box;font-family:inherit}.form-input[data-v-0aaf74f1]:focus,.form-select[data-v-0aaf74f1]:focus,.form-textarea[data-v-0aaf74f1]:focus{outline:none;border-color:#1890ff}.form-textarea[data-v-0aaf74f1]{resize:vertical;min-height:80px}.error-message[data-v-0aaf74f1]{color:#f5222d;font-size:12px;margin-bottom:16px;text-align:center;padding:8px;background:#FFF1F0;border-radius:4px}.form-actions[data-v-0aaf74f1]{display:flex;gap:12px;margin-top:24px}.btn[data-v-0aaf74f1]{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;height:44px;transition:all .3s}.btn-primary[data-v-0aaf74f1]{background:#1890FF;color:#fff}.btn-primary[data-v-0aaf74f1]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-0aaf74f1]:disabled{background:#d9d9d9;cursor:not-allowed}.btn-secondary[data-v-0aaf74f1]{background:#fff;color:#333;border:1px solid #E8E8E8}.btn-secondary[data-v-0aaf74f1]:hover{background:#F5F5F5}.rent-room-page[data-v-01c18244]{min-height:100vh;background:#F5F5F5}.page-header[data-v-01c18244]{background:#fff;padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.back-btn[data-v-01c18244]{font-size:16px;color:#1890ff;cursor:pointer;margin-right:12px}.page-title[data-v-01c18244]{font-size:18px;font-weight:600;color:#333}.form-container[data-v-01c18244]{padding:16px}.rent-form[data-v-01c18244]{background:#fff;border-radius:8px;padding:20px}.form-group[data-v-01c18244]{margin-bottom:20px}.form-label[data-v-01c18244]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.required[data-v-01c18244]{color:#f5222d}.form-input[data-v-01c18244]{width:100%;padding:12px 16px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box;font-family:inherit}.form-input[data-v-01c18244]:focus{outline:none;border-color:#1890ff}.image-preview[data-v-01c18244]{margin-top:12px;position:relative}.image-preview img[data-v-01c18244]{width:100%;max-width:300px;border-radius:8px}.remove-image-btn[data-v-01c18244]{margin-top:8px;padding:6px 12px;background:#F5222D;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.error-message[data-v-01c18244]{color:#f5222d;font-size:12px;margin-bottom:16px;text-align:center;padding:8px;background:#FFF1F0;border-radius:4px}.form-actions[data-v-01c18244]{display:flex;gap:12px;margin-top:24px}.btn[data-v-01c18244]{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;height:44px;transition:all .3s}.btn-primary[data-v-01c18244]{background:#1890FF;color:#fff}.btn-primary[data-v-01c18244]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-01c18244]:disabled{background:#d9d9d9;cursor:not-allowed}.btn-secondary[data-v-01c18244]{background:#fff;color:#333;border:1px solid #E8E8E8}.btn-secondary[data-v-01c18244]:hover{background:#F5F5F5}.building-manage-page[data-v-1fbefcea]{min-height:100vh;background:#F5F5F5}.page-header[data-v-1fbefcea]{background:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.back-btn[data-v-1fbefcea]{font-size:16px;color:#1890ff;cursor:pointer;margin-right:12px}.page-title[data-v-1fbefcea]{font-size:18px;font-weight:600;color:#333;flex:1}.add-btn[data-v-1fbefcea]{font-size:16px;color:#1890ff;cursor:pointer;font-weight:500}.page-content[data-v-1fbefcea]{padding:16px}.loading[data-v-1fbefcea],.error[data-v-1fbefcea]{text-align:center;padding:40px;color:#999}.error[data-v-1fbefcea]{color:#f5222d}.empty-state[data-v-1fbefcea]{text-align:center;padding:60px 20px}.empty-icon[data-v-1fbefcea]{font-size:64px;margin-bottom:16px}.empty-text[data-v-1fbefcea]{font-size:14px;color:#999;margin-bottom:24px}.empty-btn[data-v-1fbefcea]{padding:12px 24px;background:#1890FF;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.building-card[data-v-1fbefcea]{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;align-items:center}.building-info[data-v-1fbefcea]{flex:1}.building-name[data-v-1fbefcea]{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.building-address[data-v-1fbefcea]{font-size:14px;color:#595959}.building-actions[data-v-1fbefcea]{display:flex;gap:8px}.action-btn[data-v-1fbefcea]{padding:6px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.edit-btn[data-v-1fbefcea]{background:#1890FF;color:#fff}.edit-btn[data-v-1fbefcea]:hover{background:#40a9ff}.delete-btn[data-v-1fbefcea]{background:#F5222D;color:#fff}.delete-btn[data-v-1fbefcea]:hover{background:#ff4d4f}.create-building-page[data-v-59fd979e]{min-height:100vh;background:#F5F5F5}.page-header[data-v-59fd979e]{background:#fff;padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.back-btn[data-v-59fd979e]{font-size:16px;color:#1890ff;cursor:pointer;margin-right:12px}.page-title[data-v-59fd979e]{font-size:18px;font-weight:600;color:#333}.form-container[data-v-59fd979e]{padding:16px}.building-form[data-v-59fd979e]{background:#fff;border-radius:8px;padding:20px}.form-group[data-v-59fd979e]{margin-bottom:20px}.form-label[data-v-59fd979e]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.required[data-v-59fd979e]{color:#f5222d}.form-input[data-v-59fd979e],.form-textarea[data-v-59fd979e]{width:100%;padding:12px 16px;border:1px solid #E8E8E8;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box;font-family:inherit}.form-input[data-v-59fd979e]:focus,.form-textarea[data-v-59fd979e]:focus{outline:none;border-color:#1890ff}.form-textarea[data-v-59fd979e]{resize:vertical;min-height:80px}.error-message[data-v-59fd979e]{color:#f5222d;font-size:12px;margin-bottom:16px;text-align:center;padding:8px;background:#FFF1F0;border-radius:4px}.form-actions[data-v-59fd979e]{display:flex;gap:12px;margin-top:24px}.btn[data-v-59fd979e]{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;height:44px;transition:all .3s}.btn-primary[data-v-59fd979e]{background:#1890FF;color:#fff}.btn-primary[data-v-59fd979e]:hover:not(:disabled){background:#40a9ff}.btn-primary[data-v-59fd979e]:disabled{background:#d9d9d9;cursor:not-allowed}.btn-secondary[data-v-59fd979e]{background:#fff;color:#333;border:1px solid #E8E8E8}.btn-secondary[data-v-59fd979e]:hover{background:#F5F5F5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;color:#333;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:414px;margin:0 auto;background:#fff;min-height:100vh;position:relative;padding-bottom:60px}.header{background:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E8E8E8;position:sticky;top:0;z-index:100}.header-title{font-size:18px;font-weight:600;color:#333}.header-icon{font-size:20px;color:#595959;cursor:pointer}.page-content{padding:16px;min-height:calc(100vh - 120px)}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.overview-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000000f}.overview-card.blue{border-left:4px solid #1890FF}.overview-card.green{border-left:4px solid #52C41A}.overview-card.orange{border-left:4px solid #FAAD14}.overview-card.purple{border-left:4px solid #722ED1}.overview-label{font-size:14px;color:#595959;margin-bottom:8px}.overview-value{font-size:24px;font-weight:600;color:#333}.quick-actions{display:flex;gap:12px}.quick-btn{flex:1;background:#1890FF;color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;cursor:pointer;text-align:center}.quick-btn.secondary{background:#fff;color:#1890ff;border:1px solid #1890FF}.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-tag{padding:6px 16px;border-radius:16px;border:1px solid #E8E8E8;background:#fff;font-size:14px;cursor:pointer;transition:all .3s}.filter-tag.active{background:#1890FF;color:#fff;border-color:#1890ff}.room-card{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .3s}.room-card:active{transform:scale(.98);background:#F5F5F5}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.room-name{font-size:16px;font-weight:600;color:#333}.room-status{padding:4px 12px;border-radius:12px;font-size:12px}.room-status.rented{background:#52C41A;color:#fff}.room-status.vacant{background:#D9D9D9;color:#595959}.room-info{display:flex;gap:16px;margin-bottom:8px;font-size:14px;color:#595959}.room-price{font-size:16px;color:#faad14;font-weight:600;margin:8px 0}.room-note{font-size:12px;color:#999;margin-top:8px}.room-footer{display:flex;justify-content:flex-end;margin-top:12px;color:#1890ff;font-size:14px}.detail-header{display:flex;align-items:center;margin-bottom:16px}.back-btn{font-size:20px;color:#333;margin-right:12px;cursor:pointer}.detail-title{font-size:18px;font-weight:600}.info-card{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.info-card-title{font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #E8E8E8}.info-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.info-label{color:#595959}.info-value{color:#333;font-weight:500}.room-basic{text-align:center;padding:24px}.room-basic-name{font-size:20px;font-weight:600;margin-bottom:8px}.action-buttons{display:flex;gap:12px;margin-top:24px}.btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;cursor:pointer;height:44px}.btn-primary{background:#1890FF;color:#fff}.btn-danger{background:#F5222D;color:#fff}.bill-filters{display:flex;gap:12px;margin-bottom:16px}.filter-select{flex:1;padding:10px 12px;border:1px solid #E8E8E8;border-radius:8px;background:#fff;font-size:14px}.summary-card{background:#fff;border-radius:8px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.summary-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #F5F5F5}.summary-item:last-child{border-bottom:none}.summary-total{border-top:2px solid #E8E8E8;margin-top:8px;padding-top:12px}.summary-total-value{font-size:20px;font-weight:600;color:#1890ff}.room-bill-card{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000f}.room-bill-title{font-size:16px;font-weight:600;margin-bottom:12px}.bill-item{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.bill-amount{font-weight:500;color:#333}.export-btn{width:100%;padding:12px;background:#1890FF;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;margin-top:16px;height:44px}.profile-card{background:#fff;border-radius:8px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f;text-align:center}.avatar{width:64px;height:64px;border-radius:50%;background:#1890FF;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px}.profile-name{font-size:18px;font-weight:600;margin-bottom:8px}.profile-info{font-size:14px;color:#595959;margin:4px 0}.member-badge{display:inline-block;padding:4px 12px;background:#FAAD14;color:#fff;border-radius:12px;font-size:12px;margin:8px 0}.menu-list{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000f;margin-bottom:16px}.menu-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #F5F5F5;cursor:pointer;transition:background .3s}.menu-item:last-child{border-bottom:none}.menu-item:active{background:#F5F5F5}.menu-left{display:flex;align-items:center;gap:12px}.menu-icon{font-size:20px}.menu-text{font-size:14px;color:#333}.menu-arrow{color:#999;font-size:14px}.logout-btn{width:100%;padding:12px;background:#F5222D;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;margin-top:16px;height:44px}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:414px;background:#fff;border-top:1px solid #E8E8E8;display:flex;justify-content:space-around;padding:8px 0;z-index:100}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;cursor:pointer;color:#999;transition:color .3s}.tab-item.active{color:#1890ff}.tab-icon{font-size:22px;margin-bottom:4px}.tab-text{font-size:12px}.page{display:none}.page.active{display:block}.loading{text-align:center;padding:40px;color:#999}.error{text-align:center;padding:40px;color:#f5222d}
