html,body,#root{width:100%;height:100%;margin:0;background:#f5f7fb}body{overflow:hidden}.app-shell{height:100vh;overflow:hidden;background:#f5f7fb}.app-sider{height:100vh;overflow:auto}.app-logo{display:flex;align-items:center;justify-content:center;height:56px;padding:0 14px;color:#fff;font-size:14px;font-weight:650;letter-spacing:0}.app-header{display:flex;align-items:center;justify-content:space-between;height:56px;line-height:56px;padding:0;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 2px #0f172a08;flex-shrink:0}.app-header__left{display:flex;align-items:center;gap:6px;color:#334155;font-size:13px}.app-header__right{display:flex;align-items:center;gap:10px;margin-right:16px;color:#334155;font-size:13px}.app-content{flex:1;min-width:0;margin:16px;padding:0;overflow-x:hidden;overflow-y:auto;background:transparent}.app-content--fixed{height:calc(100vh - 56px);margin:8px;overflow:hidden}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.page-header__main{min-width:0}.page-header__title.ant-typography{margin:0;color:#0f172a;font-size:20px;font-weight:650;line-height:1.25;letter-spacing:0}.page-header__subtitle{margin-top:4px;color:#64748b;font-size:13px;line-height:1.4}.page-header__actions{justify-content:flex-end}.data-table-page{display:flex;min-width:0;flex-direction:column}.data-table-surface{overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.data-table-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#fff}.data-table-toolbar__filters,.data-table-toolbar__actions{display:flex;min-width:0;align-items:center;gap:8px;flex-wrap:wrap}.data-table-toolbar__filters{flex:1}.data-table-toolbar__actions{justify-content:flex-end}.data-table-filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid #edf2f7;background:#f8fafc}.data-table-alert{margin:12px 14px 0}.data-table-content{padding:0}.enhanced-table .ant-table{border-radius:0;color:#334155}.enhanced-table .ant-table-thead>tr>th{height:40px;padding:8px 12px;border-bottom:1px solid #dbe3ef;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:700;letter-spacing:0;white-space:nowrap}.enhanced-table .ant-table-tbody>tr>td{min-height:44px;padding:8px 12px;border-bottom:1px solid #eef2f7;color:#334155;font-size:13px;line-height:1.35;vertical-align:middle}.enhanced-table .cell-primary{color:#0f172a;font-weight:650}.enhanced-table .cell-secondary,.enhanced-table .cell-muted{color:#64748b;font-size:12px}.enhanced-table .cell-group{display:flex;min-width:0;flex-direction:column;gap:2px}.enhanced-table .ant-btn.ant-btn-text{width:28px;height:28px;padding:0;border-radius:6px}.enhanced-table .ant-table-pagination{margin:12px 14px}.data-table-page--compact .enhanced-table .ant-table-tbody>tr>td{padding-top:7px;padding-bottom:7px}.data-table-page--comfortable .enhanced-table .ant-table-tbody>tr>td{padding-top:11px;padding-bottom:11px}.job-log-list{display:flex;max-height:65vh;flex-direction:column;gap:8px;overflow:auto}.job-log-line{display:grid;grid-template-columns:auto 150px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border:1px solid #eef2f7;border-radius:6px;background:#fff;font-size:12px}.job-log-line pre{grid-column:1 / -1;max-height:220px;margin:0;overflow:auto;border-radius:6px;background:#f8fafc;padding:8px;color:#334155}@media(max-width:768px){.page-header,.data-table-toolbar{flex-direction:column;align-items:stretch}}.App{text-align:center}body{margin:0;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;background:#f5f7fb}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ant-card{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.ant-card-head{min-height:44px;padding:0 14px;border-bottom-color:#e5e7eb}.ant-card-head-title{color:#0f172a;font-size:14px;font-weight:650}.ant-card-body{padding:14px}.ant-form-item{margin-bottom:14px}.ant-form-item-label>label{color:#0f172a;font-size:13px;font-weight:600}
