*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif}.loading-screen,.login-shell{min-height:100vh;align-items:center;justify-content:center;background:#eef1f5}.login-panel{width:min(420px,calc(100vw - 32px));padding:28px;border:1px solid #d9dee7;border-radius:8px;background:#fff;box-shadow:0 10px 28px #0f172a14}.login-title{margin-top:0!important;margin-bottom:8px!important}.login-form{margin-top:22px}.login-alert{margin-bottom:16px}.admin-shell{min-height:100vh}.admin-shell>.ant-layout{min-width:0}.admin-sider{overflow:auto;border-right:1px solid #d9dee7;background:#fff!important}.brand-block{display:flex;height:64px;flex-direction:column;justify-content:center;padding:0 20px;border-bottom:1px solid #edf0f5}.brand-subtitle{font-size:12px}.admin-header{display:flex;height:56px;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #d9dee7;background:#fff}.admin-content{min-height:calc(100vh - 56px);padding:20px;background:#f5f7fa}.page-section{min-height:calc(100vh - 96px);padding:20px;border:1px solid #d9dee7;border-radius:8px;background:#fff}.placeholder-box{display:grid;max-width:760px;gap:12px;margin-top:20px;padding:16px;border:1px solid #edf0f5;border-radius:6px;background:#fafbfc}.placeholder-label{display:inline-block;width:88px;color:#667085}.data-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.data-filter,.data-page-notice,.sync-status-row{margin-bottom:16px}.reconciliation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:12px;border:1px solid #edf0f5;border-radius:6px;background:#fafbfc}.dashboard-page .ant-typography{margin-top:0}.dashboard-meta{margin-bottom:12px}.dashboard-loading{display:grid;min-height:240px;place-items:center}.dashboard-section{margin-bottom:12px;padding:12px 14px;border:1px solid #d9dee7;border-radius:6px;background:#fff}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px 16px;margin-bottom:12px}.dashboard-stats .ant-statistic-content{font-size:20px}.member-list{display:grid;gap:12px;padding:12px;border:1px solid #edf0f5;border-radius:6px;background:#fafbfc}.member-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.preflight-panel{display:grid;gap:12px;margin-bottom:16px;padding:12px;border:1px solid #edf0f5;border-radius:6px;background:#fafbfc}.preflight-details{max-height:280px;margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word}.audit-preflight{display:grid;gap:12px;padding:12px;border:1px solid #d9dee7;border-radius:6px;background:#fafbfc}.audit-json{max-height:360px;margin:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.member-row{display:flex;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid #edf0f5}.credential-field-list{display:grid;gap:12px}.credential-field-row{display:flex;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid #edf0f5}.credential-field-row .ant-form-item{min-width:min(240px,100%);flex:1}.plain-result{min-height:calc(100vh - 96px);padding-top:80px;border:1px solid #d9dee7;border-radius:8px;background:#fff}.page-stack{width:100%}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.health-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.health-kv-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:8px;min-width:0;padding:8px;border:1px solid #edf0f5;border-radius:6px}.health-kv-key,.health-kv-value{min-width:0;overflow-wrap:anywhere}.system-health-page{display:grid;gap:16px}.system-health-page h2,.system-health-page h3,.system-health-page p{margin:0}.muted-text{color:#667085}.plain-button{min-height:32px;padding:4px 14px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#1f2937;cursor:pointer}.plain-button:disabled{color:#98a2b3;cursor:wait}.health-alert{padding:10px 12px;border:1px solid #fecdca;border-radius:6px;background:#fff5f5;color:#b42318}.health-panel{display:grid;gap:12px;padding:16px;border:1px solid #d9dee7;border-radius:8px;background:#fff}.health-summary-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.health-status{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.health-status-ok{background:#ecfdf3;color:#027a48}.health-status-warning{background:#fffaeb;color:#b54708}.health-status-critical{background:#fef3f2;color:#b42318}.health-list{display:grid;gap:8px}.health-list-row{display:grid;grid-template-columns:96px 180px 180px minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:8px;border:1px solid #edf0f5;border-radius:6px;overflow-wrap:anywhere}.notification-popover{width:min(520px,calc(100vw - 32px));max-height:560px;overflow:auto;padding:12px;border:1px solid #d9dee7;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a24}.notification-popover-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.alerts-page .ant-typography{margin-top:0}@media (max-width: 820px){.admin-shell{flex-direction:column}.admin-sider{width:100%!important;max-width:none!important;min-width:0!important}.admin-header{height:auto;min-height:56px;gap:12px;padding:12px 16px}.admin-content{padding:12px}.page-heading{flex-direction:column}.health-kv-grid,.health-kv-row,.health-list-row{grid-template-columns:1fr}}.monthly-finance{padding:24px;background:#fff;border-radius:12px;min-height:70vh}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.finance-toolbar h3.ant-typography{margin:0;font-size:24px}.finance-status{color:#697586;font-size:12px;margin-bottom:14px}.finance-source-line{display:flex;flex-wrap:wrap;gap:10px 22px;margin:14px 0 22px;font-size:12px;color:#526174}.finance-table .ant-table{font-variant-numeric:tabular-nums;font-size:13px}.finance-table .ant-table-thead>tr>th.finance-income-head{background:#eef6ff;color:#245ca5}.finance-table .ant-table-thead>tr>th.finance-cost-head{background:#fff6ed;color:#9b6127}.finance-table .ant-table-thead>tr>th.finance-profit-head{background:#edf8f2;color:#227451}.finance-table .ant-table-summary{background:#f5f8fc}.finance-money{border:0;padding:2px 0;color:inherit;font:inherit;background:transparent;cursor:pointer;white-space:nowrap}.finance-money:hover{color:#1677ff;text-decoration:underline}.finance-footnote{color:#8792a2;font-size:12px;margin-top:14px}.monthly-finance>.ant-alert{margin:12px 0}@media (max-width: 800px){.monthly-finance{padding:14px}.finance-toolbar{align-items:flex-start;flex-direction:column}}.salary-worksheet{margin:16px 0}.salary-sheet-caption{margin-bottom:8px}.salary-worksheet .ant-table{font-variant-numeric:tabular-nums;font-size:13px}.salary-worksheet .ant-table.ant-table-small .ant-table-thead>tr>th{padding:8px 6px;background:#f5f5f5;font-weight:600;white-space:nowrap}.salary-worksheet .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:6px}.salary-worksheet .ant-table-cell{border-color:#dedede!important}.salary-worksheet .ant-input{text-align:right;font-variant-numeric:tabular-nums}.salary-worksheet .ant-btn-link{padding:0;height:18px;font-size:12px}.salary-sheet-help{margin-top:8px;font-size:12px}
