.log-console{display:flex;flex-direction:column;height:100%;min-height:400px}.log-console__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.log-console__status{color:#595959;font-size:13px}.log-console__actions{display:flex;gap:8px}.log-console__body{flex:1;background-color:#0f172a;color:#f5f5f5;border-radius:6px;padding:8px;overflow-y:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.5}.log-console__item{display:grid;grid-template-columns:auto 70px 1fr;gap:8px;align-items:center;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.05)}.log-console__item:last-child{border-bottom:none}.log-console__level{font-size:10px;font-weight:600;color:#fff;padding:2px 6px;border-radius:4px;text-transform:uppercase}.log-console__timestamp{color:#ffffffa6;font-size:12px}.log-console__message{white-space:pre-wrap}.log-console__empty{color:#ffffffa6;text-align:center;padding:32px 0}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}#root{width:100%;height:100vh}.ant-layout{min-height:100vh}.dashboard-content{padding:16px;background-color:#f0f2f5;min-height:calc(100vh - 64px)}.dashboard-row{height:100%}.dashboard-left-column,.side-panel{display:flex;flex-direction:column;gap:16px}.map-card{flex:1 1 auto}.map-card .ant-card-body{display:flex;justify-content:center;padding:12px}.case-card{flex:0 0 auto}.case-card .ant-card-body{padding:12px}.stat-card{flex:0 0 auto}.analysis-card{flex:1 1 auto}.analysis-card .ant-card-body{padding:0}.analysis-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8c8c8c;gap:8px;padding:24px}.analysis-placeholder__title{font-size:16px;font-weight:500}.analysis-placeholder__tip{font-size:13px}.pipeline-visualization .ant-steps{margin-bottom:16px}.pipeline-visualization .ant-card-type-inner>.ant-card-head{background:linear-gradient(90deg,#f0f5ff,#f9f0ff);border-bottom:1px solid #d3adf7;min-height:36px}.pipeline-visualization .ant-card-type-inner>.ant-card-body{padding:12px}.pipeline-visualization .ant-progress-inner{background-color:#f0f0f0}.pipeline-visualization .ant-descriptions-item-label{font-weight:500}.pipeline-visualization ul{margin-bottom:0}@media (max-width: 991px){.dashboard-content{padding:12px}.dashboard-left-column,.side-panel{gap:12px}}
