*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#111827;background:#f8fafc;font-family:Inter,Segoe UI,Noto Sans SC,Microsoft YaHei,sans-serif}.app-shell{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;height:auto;min-height:76px;padding:16px 24px;background:#fff;border-bottom:1px solid #e5e7eb}.header-meta{display:grid;grid-template-columns:repeat(3,max-content);gap:12px;align-items:center}.header-meta-item{display:grid;gap:4px;min-width:132px;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.app-header h1.ant-typography{margin:0 0 4px;font-size:22px;line-height:1.25;letter-spacing:0}.app-body{min-height:calc(100vh - 76px)}.app-sider{background:#fff!important;border-right:1px solid #e5e7eb}.app-sider .ant-menu{border-inline-end:0!important;padding:12px}.app-content{padding:20px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.workbench-main,.workbench-side,.stack{display:grid;gap:16px}.panel-card{border-color:#e5e7eb;box-shadow:0 1px 2px #0f172a0a}.soft-card{background:#fbfdff}.step-card .ant-card-body{overflow-x:auto}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.metric-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;min-height:86px;padding:14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#2563eb;background:#eff6ff;border-radius:8px;font-size:18px}.metric-value{display:flex;align-items:baseline;gap:6px;min-width:0;margin-top:4px}.metric-value span{color:#111827;font-size:24px;font-weight:700;line-height:1}.metric-green .metric-icon{color:#16a34a;background:#ecfdf5}.metric-purple .metric-icon{color:#7c3aed;background:#f5f3ff}.metric-cyan .metric-icon{color:#0891b2;background:#ecfeff}.metric-orange .metric-icon{color:#f59e0b;background:#fffbeb}.metric-gold .metric-icon{color:#d97706;background:#fffbeb}.summary-head{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.side-card .ant-card-body{padding:16px}.summary-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.full-width{width:100%}.json-box{min-height:220px;max-height:340px;margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px;font-size:12px;line-height:1.6}.chunk-fulltext{white-space:pre-wrap;word-break:break-word;line-height:1.8}.validation-list{margin-top:12px}.ant-card{border-radius:8px}.ant-card .ant-card-head{min-height:48px}.ant-card .ant-card-head-title{color:#111827;font-weight:700}.ant-table-cell{vertical-align:top}.ant-table-thead>tr>th{color:#374151!important;background:#f9fafb!important;font-weight:700!important}.ant-upload-wrapper .ant-upload-drag{background:#fff}@media(max-width:1360px){.metric-strip{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:1180px){.content-grid{grid-template-columns:1fr}.workbench-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.app-header{align-items:flex-start;flex-direction:column;padding:14px 16px}.header-meta{grid-template-columns:1fr;width:100%}.header-meta-item{min-width:0}.app-content{padding:12px}.metric-strip,.workbench-side{grid-template-columns:1fr}}@media(max-width:420px){.app-header h1.ant-typography{font-size:18px}.ant-card-body{padding:14px!important}}.app-footer{background:#fff;border-top:1px solid #e5e7eb;padding:16px 24px;margin-top:auto}.footer-content{display:flex;align-items:center;justify-content:center;gap:16px}.footer-section{display:flex;align-items:center;gap:8px;font-size:14px}.footer-label{color:#6b7280;font-size:12px}.footer-section a{color:#111827;font-weight:600;text-decoration:none}.footer-section a:hover{color:#2563eb;text-decoration:underline}.footer-divider{width:1px;height:16px;background:#e5e7eb}.progress-wrapper{margin-bottom:16px}.progress-label{display:block;text-align:center;margin-top:4px}@media(max-width:768px){.app-footer{padding:12px 16px}.footer-content{flex-direction:column;gap:8px}.footer-divider{width:80px;height:1px}}
