*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;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}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ant-layout{min-height:100vh}.ant-layout-sider{box-shadow:2px 0 8px #1d23290d}.ant-layout-header{background:#fff;box-shadow:0 1px 4px #00152914;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.ant-layout-content{margin:24px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.page-title{font-size:24px;font-weight:600;color:#262626;margin:0}.page-description{color:#8c8c8c;margin-top:8px;font-size:14px}.content-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px}.ant-table-thead>tr>th{background:#fafafa;font-weight:600}.ant-btn-primary{background:#1890ff;border-color:#1890ff}.ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.status-tag{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.status-active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive{background:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.status-expired{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.status-cancelled{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}@media (max-width: 768px){.ant-layout-content{margin:16px;padding:16px}.page-title{font-size:20px}.content-card{padding:16px}}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.empty-state{text-align:center;padding:40px 20px;color:#8c8c8c}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state-text{font-size:16px;margin-bottom:8px}.empty-state-description{font-size:14px;opacity:.7}
