html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:#f3f5f8;color:#172033;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;overflow:hidden}.app-shell .ant-layout-sider{background:#081827;box-shadow:8px 0 24px #0818271f;height:100vh;overflow-y:auto;overflow-x:hidden}.app-shell>.ant-layout{height:100vh;min-width:0;overflow:hidden}.app-shell .ant-menu-dark{background:#081827}.app-shell .ant-menu-dark .ant-menu-item{height:44px;margin:5px 12px;width:calc(100% - 24px);border-radius:6px;font-weight:600}.app-shell .ant-menu-dark .ant-menu-item-selected{background:#1677ff}.app-logo{height:68px;display:flex;align-items:center;gap:10px;padding:0 18px;color:#fff;font-size:17px;font-weight:700;letter-spacing:0}.app-logo-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#f4c542;color:#081827;font-size:14px;font-weight:800}.app-header{flex:0 0 auto;height:72px;line-height:normal;padding:0 28px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.app-header-title{height:72px;display:flex;flex-direction:column;justify-content:center;gap:2px}.app-title{margin:0;color:#172033;font-size:20px;font-weight:700;line-height:28px}.app-subtitle{color:#8c8c8c;font-size:14px;line-height:22px}.app-user{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:6px;background:#f3f5f8;color:#354154}.app-content{flex:1 1 auto;min-height:0;padding:24px 28px;overflow:auto}.page-panel{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:18px;box-shadow:0 10px 30px #1720330a}.table-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filter-row{display:flex;gap:10px;flex-wrap:wrap}.page-panel .ant-table-thead>tr>th{background:#f7f9fc;color:#172033;font-weight:700}.page-panel .ant-table-tbody>tr:hover>td{background:#f4f8ff}.page-panel .ant-btn-primary{box-shadow:0 6px 14px #1677ff2e}.resume-table-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:56px}.resume-table-cell .ant-progress{grid-column:1 / -1;margin:0}.resume-table-file{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:8px 10px;border:1px solid #e6f0ff;border-radius:8px;background:#f8fbff}.resume-table-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #bfdbfe;border-radius:8px;color:#1677ff;background:#eff6ff;font-size:20px}.resume-table-meta{min-width:0}.resume-table-name,.resume-table-meta strong{display:block;width:100%;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:#172033;font:inherit;font-weight:600;line-height:22px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.resume-table-name{cursor:pointer}.resume-table-name:hover{color:#1677ff}.resume-table-meta span{display:block;margin-top:2px;color:#8a94a6;font-size:12px;line-height:18px}.resume-table-actions{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.resume-table-actions .ant-btn{border-color:#d7dee8;color:#445066;box-shadow:none}.resume-table-actions .ant-btn:hover{border-color:#1677ff;color:#1677ff;background:#f6faff}.resume-table-cell.is-empty .resume-table-icon{border-color:#e5e7eb;color:#9ca3af;background:#f7f8fa}.resume-table-cell.is-empty .resume-table-file{border-style:dashed;border-color:#d8dee8;background:#fafbfc}.resume-table-cell.is-empty .resume-table-meta strong{color:#6b7280}.resume-table-cell.is-empty .ant-btn-primary.ant-btn-background-ghost{border-color:#1677ff;background:#fff;box-shadow:0 8px 18px #1677ff1f}.prompt-template-page .table-toolbar{align-items:center}.prompt-template-page .filter-row .ant-form-item{margin-right:0}.prompt-template-page .ant-table{width:100%;table-layout:fixed}.prompt-template-page .ant-table-thead>tr>th,.prompt-template-page .ant-table-tbody>tr>td{overflow:hidden;white-space:nowrap}.prompt-template-page .ant-table-tbody>tr>td{vertical-align:middle}.prompt-template-page .prompt-table-code,.prompt-template-page .prompt-table-title,.prompt-template-page .prompt-table-desc{display:block;min-width:0;max-width:100%}.prompt-template-page .prompt-table-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;color:#1f2937}.prompt-template-page .prompt-table-title{font-weight:600;color:#172033}.prompt-template-page .prompt-table-desc{color:#6b7280}.prompt-template-page .prompt-table-time{display:inline-block;min-width:150px;color:#374151;white-space:nowrap}.prompt-template-page .prompt-table-actions{white-space:nowrap}.text-to-sql-page{display:flex;flex-direction:column;gap:16px}.text-to-sql-query-panel{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;align-items:start;padding:2px 0 8px}.text-to-sql-query-copy .ant-typography{margin-bottom:4px}.text-to-sql-query-form .ant-form-item{margin-bottom:10px}.text-to-sql-result{display:flex;flex-direction:column;gap:14px}.text-to-sql-section{padding:16px 0 0;border-top:1px solid #edf0f5}.text-to-sql-section .ant-typography,.text-to-sql-section-title .ant-typography{margin-bottom:6px}.text-to-sql-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,240px);gap:14px;align-items:stretch;padding:16px;background:#f8fafc;border:1px solid #e6ebf2;border-radius:6px}.text-to-sql-summary{min-width:0}.text-to-sql-summary .ant-typography{margin-bottom:8px}.text-to-sql-summary .ant-typography:last-of-type{color:#172033;font-size:17px;line-height:1.7}.text-to-sql-kpi{display:flex;flex-direction:column;justify-content:center;min-height:106px;padding:16px;background:#fff;border:1px solid #e6ebf2;border-radius:6px}.text-to-sql-kpi>div{margin-top:6px;color:#0f172a;font-size:38px;font-weight:800;line-height:1}.text-to-sql-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.text-to-sql-feedback{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:4px;padding:16px 18px;overflow:hidden;background:linear-gradient(135deg,#1677ff1f,#13c2c21a 52%,#52c41a14),#fff;border:1px solid #b9ddff;border-radius:6px;box-shadow:0 10px 24px #1677ff14}.text-to-sql-feedback:before{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#1677ff,#13c2c2);content:""}.text-to-sql-feedback.is-correct{border-color:#95de64;background:linear-gradient(135deg,#52c41a29,#13c2c214),#fff}.text-to-sql-feedback.is-correct:before{background:#52c41a}.text-to-sql-feedback.is-incorrect{border-color:#ffccc7;background:linear-gradient(135deg,#ff4d4f21,#faad1414),#fff}.text-to-sql-feedback.is-incorrect:before{background:#ff4d4f}.text-to-sql-feedback-copy{display:flex;align-items:center;gap:12px;min-width:0}.text-to-sql-feedback-copy .ant-typography{margin-bottom:0}.text-to-sql-feedback-icon{width:42px;height:42px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:#1677ff;font-size:22px;background:#fff;border:1px solid rgba(22,119,255,.18);border-radius:6px;box-shadow:0 8px 18px #1677ff1f}.text-to-sql-feedback-title{display:flex;align-items:center;gap:8px;margin-bottom:3px;color:#172033;font-size:16px;font-weight:800}.text-to-sql-feedback-title .ant-tag{margin-inline-end:0}.text-to-sql-feedback-actions{flex:0 0 auto}.text-to-sql-feedback-btn{min-width:104px;height:36px;border-radius:6px;font-weight:700}.text-to-sql-feedback-btn-correct.ant-btn-default{color:#237804;border-color:#95de64;background:#f6ffed}.text-to-sql-feedback-btn-correct.ant-btn-default:hover{color:#135200;border-color:#52c41a;background:#f6ffed}.text-to-sql-feedback.is-correct .text-to-sql-feedback-btn-correct,.text-to-sql-feedback.is-correct .text-to-sql-feedback-btn-correct:hover{color:#fff;border-color:#52c41a;background:#52c41a;box-shadow:0 8px 18px #52c41a33}.text-to-sql-feedback.is-correct .text-to-sql-feedback-btn-correct.ant-btn[disabled],.text-to-sql-feedback.is-correct .text-to-sql-feedback-btn-correct.ant-btn[disabled]:hover{color:#fff;border-color:#52c41a;background:#52c41a;opacity:.82}.text-to-sql-feedback-btn-wrong.ant-btn-default{color:#a8071a;border-color:#ffa39e;background:#fff1f0}.text-to-sql-feedback-btn-wrong.ant-btn-default:hover{color:#820014;border-color:#ff4d4f;background:#fff1f0}.text-to-sql-feedback.is-incorrect .text-to-sql-feedback-btn-wrong{color:#fff;border-color:#ff4d4f;background:#ff4d4f;box-shadow:0 8px 18px #ff4d4f33}.text-to-sql-feedback.is-incorrect .text-to-sql-feedback-btn-wrong:hover{color:#fff;border-color:#ff4d4f;background:#ff4d4f}.text-to-sql-feedback.is-incorrect .text-to-sql-feedback-btn-wrong.ant-btn[disabled],.text-to-sql-feedback.is-incorrect .text-to-sql-feedback-btn-wrong.ant-btn[disabled]:hover{color:#fff;border-color:#ff4d4f;background:#ff4d4f;opacity:.82}.text-to-sql-eval-page{padding:22px}.eval-sample-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px;border:1px solid #e6edf7;border-radius:6px;background:#f8fbff}.eval-sample-filter-form{flex:1 1 auto;min-width:0;row-gap:10px}.eval-sample-filter-form .ant-form-item{margin-right:10px;margin-bottom:10px}.eval-sample-filter-form .ant-input,.eval-sample-filter-form .ant-select-selector{height:36px;border-color:#d8e1ee;background:#fff}.eval-sample-filter-form .ant-input{width:240px}.eval-sample-filter-form .ant-select{width:142px}.eval-sample-filter-form .ant-form-item:first-child .ant-input{width:260px}.eval-sample-toolbar-actions{flex:0 0 auto;padding-left:14px;border-left:1px solid #e1e8f3}.eval-sample-toolbar-actions .ant-btn{height:36px;min-width:76px;font-weight:600}@media (max-width: 1320px){.eval-sample-toolbar{flex-direction:column}.eval-sample-toolbar-actions{width:100%;padding-top:12px;padding-left:0;border-top:1px solid #e1e8f3;border-left:0}}.eval-sample-modal .ant-modal-content{padding:0;overflow:hidden;border-radius:8px}.eval-sample-modal .ant-modal-header{margin:0;padding:22px 28px 16px;border-bottom:1px solid #edf1f7}.eval-sample-modal .ant-modal-close{top:18px;right:20px}.eval-sample-modal .ant-modal-body{max-height:calc(100vh - 220px);padding:18px 28px 22px;overflow:auto;background:#f6f8fb}.eval-sample-modal .ant-modal-footer{margin:0;padding:14px 28px 18px;border-top:1px solid #edf1f7;background:#fff}.eval-sample-modal-title{display:flex;flex-direction:column;gap:4px;color:#172033;font-size:18px;font-weight:800;line-height:1.4}.eval-sample-modal-title .ant-typography{margin:0;font-size:13px;font-weight:500}.eval-sample-form{display:flex;flex-direction:column;gap:14px}.eval-sample-form .ant-form-item{margin-bottom:0}.eval-sample-form .ant-form-item-label{padding-bottom:6px}.eval-sample-form .ant-form-item-label>label{color:#263244;font-weight:700}.eval-sample-form .ant-input,.eval-sample-form .ant-select-selector{border-color:#d9e1ec;border-radius:6px}.eval-sample-form-alert{margin-bottom:0;border-color:#b9dcff;background:#eaf5ff}.eval-sample-form-alert .ant-alert-message{color:#1e4f8f;font-weight:700}.eval-sample-form-section{padding:18px;border:1px solid #e4eaf2;border-radius:8px;background:#fff;box-shadow:0 8px 20px #17203309}.eval-sample-form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.eval-sample-form-section-title{color:#172033;font-size:16px;font-weight:800;line-height:24px}.eval-sample-form-section-desc{margin-top:2px;color:#7a8494;font-size:13px;line-height:20px}.eval-sample-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.eval-sample-question-input{min-height:116px}.eval-sample-code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.eval-sample-assertions{border:1px solid #dfe7f1;border-radius:8px;background:#fff}.eval-sample-assertion-head,.eval-sample-assertion-row{display:grid;grid-template-columns:minmax(190px,1.2fr) 124px minmax(220px,1.5fr) 170px 58px 66px;gap:8px;align-items:center}.eval-sample-assertion-head{padding:10px 12px;border-bottom:1px solid #e3e9f2;color:#687386;font-size:12px;font-weight:700;background:#f1f5f9}.eval-sample-assertion-row{padding:10px 12px;border-bottom:1px solid #e8edf5;background:#fff}.eval-sample-assertion-row:last-of-type{border-bottom:0}.eval-sample-assertion-row .ant-form-item{min-width:0}.eval-sample-assertion-row .ant-form-item-control-input{min-height:34px}.eval-sample-assertion-row .ant-input,.eval-sample-assertion-row .ant-select-selector{border-radius:6px}.eval-sample-assertion-row .ant-btn{width:58px;height:32px;padding:0}.eval-sample-semantic-value-placeholder{height:34px;padding:6px 11px;overflow:hidden;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;font-size:13px;line-height:20px;white-space:nowrap;text-overflow:ellipsis;background:#f8fafc}.eval-sample-semantic-panel{grid-column:1 / -1;display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) 96px;gap:10px;padding:10px;border:1px solid #e2eaf5;border-radius:8px;background:#f8fbff}.eval-sample-semantic-panel .ant-form-item-label{padding-bottom:4px}.eval-sample-semantic-panel .ant-form-item-label>label{color:#647083;font-size:12px;font-weight:700}.eval-sample-semantic-panel textarea.ant-input{min-height:58px;font-size:13px}.eval-sample-assertion-add{width:100%;height:38px;border:0;border-top:1px solid #e3e9f2;border-radius:0;color:#2267c7;font-weight:700;background:#f8fbff}.eval-sample-detail-drawer .ant-drawer-body{padding:0;background:#f6f8fb}.eval-sample-detail{display:flex;flex-direction:column;gap:14px;padding:20px}.eval-sample-detail-hero,.eval-sample-detail-meta,.eval-sample-detail-notes,.eval-sample-detail-section{border:1px solid #e1e8f2;border-radius:8px;background:#fff;box-shadow:0 8px 18px #17203308}.eval-sample-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px}.eval-sample-detail-eyebrow{margin-bottom:6px;color:#64748b;font-size:12px;font-weight:800}.eval-sample-detail-question.ant-typography{margin:0;color:#172033;font-size:17px;font-weight:800;line-height:1.65}.eval-sample-detail-tags{flex:0 0 auto;justify-content:flex-end;max-width:360px}.eval-sample-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}.eval-sample-detail-meta-item{min-width:0;padding:14px 16px;border-right:1px solid #edf1f7;border-bottom:1px solid #edf1f7}.eval-sample-detail-meta-item:nth-child(3n){border-right:0}.eval-sample-detail-meta-item:nth-last-child(-n+3){border-bottom:0}.eval-sample-detail-meta-item span{display:block;margin-bottom:6px;color:#7a8494;font-size:12px;font-weight:800}.eval-sample-detail-meta-item strong{display:block;overflow-wrap:anywhere;color:#1f2937;font-size:14px;font-weight:700;line-height:1.45}.eval-sample-detail-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.eval-sample-detail-notes>div{min-width:0;padding:12px;border-radius:6px;background:#f8fbff}.eval-sample-detail-notes .ant-typography{margin-bottom:0}.eval-sample-detail-notes p.ant-typography{margin-top:8px;color:#334155;line-height:1.65;white-space:pre-wrap}.eval-sample-detail-section{padding:16px}.eval-sample-detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.eval-sample-detail-section-title{color:#172033;font-size:16px;font-weight:800;line-height:24px}.eval-sample-detail-section-desc{margin-top:2px;color:#7a8494;font-size:13px;line-height:20px}.eval-sample-detail-rules{display:flex;flex-direction:column;gap:10px}.eval-sample-detail-rule{padding:13px;border:1px solid #e1e8f2;border-radius:8px;background:#fbfdff}.eval-sample-detail-rule-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eval-sample-detail-rule-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#1d4ed8;font-size:12px;font-weight:800;background:#dbeafe}.eval-sample-detail-expect{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;margin-top:12px;padding:10px 12px;border-radius:6px;background:#f1f5f9}.eval-sample-detail-expect span{color:#64748b;font-size:12px;font-weight:800}.eval-sample-detail-semantic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.eval-sample-detail-semantic>div{min-width:0;padding:10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.eval-sample-detail-semantic .ant-typography{margin-bottom:0;white-space:pre-wrap}.eval-sample-detail-semantic p.ant-typography{margin-top:6px;color:#263244;line-height:1.55}.eval-sample-detail-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.eval-sample-detail-sql.ant-typography{margin:8px 0 0;padding:12px;border:1px solid #dbe4f0;border-radius:6px;background:#0f172a}.eval-sample-detail-sql .ant-typography{color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.eval-sample-detail-answer{margin-top:14px;padding-top:14px;border-top:1px solid #edf1f7}.eval-sample-detail-answer p.ant-typography{margin:8px 0 0;color:#334155;line-height:1.7;white-space:pre-wrap}.eval-run-sample-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.eval-run-detail,.eval-run-result-detail{width:100%}.eval-run-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:16px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}.eval-rule-modal .ant-modal-content{padding:0;overflow:hidden;border-radius:8px}.eval-rule-modal .ant-modal-header{margin:0;padding:20px 26px 14px;border-bottom:1px solid #edf1f7}.eval-rule-modal .ant-modal-title{color:#172033;font-size:18px;font-weight:800}.eval-rule-modal .ant-modal-body{max-height:calc(100vh - 220px);padding:20px 26px;overflow:auto;background:#f6f8fb}.eval-rule-modal .ant-modal-footer{margin:0;padding:14px 26px 18px;border-top:1px solid #edf1f7;background:#fff}.eval-rule-content{display:flex;flex-direction:column;gap:14px}.eval-rule-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dfe8f4;border-radius:8px;background:#fff}.eval-rule-hero-main{min-width:0}.eval-rule-eyebrow{margin-bottom:6px;color:#6b778c;font-size:12px;font-weight:800}.eval-rule-question.ant-typography{margin:0;color:#172033;font-size:16px;font-weight:700;line-height:1.65}.eval-rule-tags{flex:0 0 auto;justify-content:flex-end;max-width:360px}.eval-rule-note{padding:14px 16px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff}.eval-rule-note .ant-typography{margin-bottom:0}.eval-rule-note p.ant-typography{margin-top:8px;color:#334155;line-height:1.65}.eval-rule-answer{padding:14px 16px;border:1px solid #d8e4f2;border-radius:8px;background:#fff}.eval-rule-answer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.eval-rule-answer p.ant-typography{max-height:150px;margin:0;padding:12px;overflow:auto;border-radius:6px;color:#263244;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc}.eval-rule-list{display:flex;flex-direction:column;gap:12px}.eval-rule-card{padding:14px;border:1px solid #e1e8f2;border-radius:8px;background:#fff;box-shadow:0 8px 18px #17203308}.eval-rule-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eval-rule-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#1d4ed8;font-size:12px;font-weight:800;background:#dbeafe}.eval-rule-expect{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;margin-top:12px;padding:10px 12px;border-radius:6px;background:#f8fafc}.eval-rule-expect span{color:#64748b;font-size:12px;font-weight:800}.eval-rule-semantic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.eval-rule-semantic>div{min-width:0;padding:10px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfdff}.eval-rule-semantic .ant-typography{margin-bottom:0;white-space:pre-wrap}.eval-rule-semantic p.ant-typography{margin-top:6px;color:#263244;line-height:1.55}.eval-rule-run-result{margin-top:12px;padding:12px;border:1px solid #e9d5ff;border-radius:8px;background:#faf5ff}.eval-rule-run-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.eval-rule-run-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.eval-rule-run-result-grid>div{min-width:0;padding:10px;border:1px solid #eadcf8;border-radius:6px;background:#fff}.eval-rule-run-result-grid .ant-typography{margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere}.eval-rule-run-result-grid p.ant-typography{margin-top:6px;color:#263244;line-height:1.55}.eval-rule-remark.ant-typography{margin:10px 0 0;padding-top:10px;border-top:1px dashed #d9e2ef;color:#64748b}.eval-result-assertions{display:flex;flex-direction:column;gap:10px}.eval-result-assertions-head{display:flex;align-items:center;justify-content:space-between}.eval-result-assertion-card{padding:13px;border:1px solid #e1e8f2;border-radius:8px;background:#fbfdff}.eval-result-assertion-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eval-result-assertion-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.eval-result-assertion-values>div{min-width:0;padding:10px;border-radius:6px;background:#f1f5f9}.eval-result-assertion-values .ant-typography{margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere}.eval-result-assertion-values p.ant-typography{margin-top:6px;color:#263244;line-height:1.55}.eval-result-assertion-reason.ant-typography{margin:10px 0 0;padding:10px 12px;border:1px solid #fecaca;border-radius:6px;color:#991b1b;background:#fff1f2}.eval-result-actions{padding:3px;border:1px solid #e5edf8;border-radius:8px;background:#f8fafc}.eval-result-action-btn.ant-btn-sm{height:30px;padding:0 10px;border-color:transparent;border-radius:6px;color:#334155;font-weight:700;background:transparent;box-shadow:none}.eval-result-action-btn.ant-btn-sm:hover,.eval-result-action-primary.ant-btn-sm{border-color:#bfdbfe;color:#1d4ed8;background:#fff}.eval-result-action-primary.ant-btn-sm:hover{border-color:#1677ff;color:#1677ff;background:#eff6ff}.text-to-sql-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.text-to-sql-grid .text-to-sql-section{min-height:110px;padding:14px;background:#fbfcfe;border:1px solid #edf0f5;border-radius:6px}.text-to-sql-grid .ant-list-item{padding:8px 0;color:#263244;line-height:1.6}.text-to-sql-echarts-wrap{max-width:100%;min-height:360px;padding:8px 6px 0;border:1px solid #edf0f5;border-radius:6px;background:linear-gradient(180deg,#fff,#fbfdff)}.text-to-sql-echarts{width:100%;height:360px}.text-to-sql-chart{display:flex;flex-direction:column;gap:10px;max-width:100%}.text-to-sql-bar-row{display:grid;grid-template-columns:minmax(120px,220px) minmax(160px,1fr) 90px;align-items:center;gap:12px}.text-to-sql-axis-label{min-width:0}.text-to-sql-bar-track{height:18px;border-radius:5px;background:#eef3fb;overflow:hidden}.text-to-sql-bar{height:100%;border-radius:5px;background:#1677ff}.text-to-sql-value{text-align:right;color:#354154}.text-to-sql-metric-visual{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:18px;align-items:center;min-height:150px;padding:22px;background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid #dbe7f6;border-radius:6px}.text-to-sql-metric-value{margin:8px 0;color:#0f172a;font-size:54px;font-weight:800;line-height:1}.text-to-sql-metric-label{color:#526071;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.text-to-sql-metric-note{color:#526071;font-size:15px;line-height:1.7}.text-to-sql-line-wrap{max-width:100%;border:1px solid #edf0f5;border-radius:6px;padding:14px 18px 10px;background:linear-gradient(180deg,#fff,#fbfdff);overflow-x:auto}.text-to-sql-chart-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 8px 2px;min-height:24px}.text-to-sql-legend-dot{width:18px;height:4px;border-radius:999px;background:#1677ff}.text-to-sql-line-wrap svg{display:block;min-width:720px}.chart-axis{stroke:#9aa8ba;stroke-width:1}.chart-grid{stroke:#eef2f7;stroke-width:1}.chart-line{stroke:#1677ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:url(#text-to-sql-line-area)}.chart-point{fill:#fff;stroke:#1677ff;stroke-width:2.5}.chart-point-peak{fill:#e8f2ff;stroke-width:3}.chart-axis-label{fill:#667085;font-size:13px}.chart-axis-name{fill:#98a2b3;font-size:12px}.chart-value-label{fill:#344054;font-size:12px;font-weight:650}.chart-value-peak{fill:#0f172a;font-size:14px;font-weight:800}.text-to-sql-pie-wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-to-sql-pie{width:220px;height:220px;transform:rotate(-90deg)}.text-to-sql-legend{display:flex;flex-direction:column;gap:8px;min-width:180px}.text-to-sql-legend span{display:inline-flex;align-items:center;gap:8px;color:#354154}.text-to-sql-legend i{width:10px;height:10px;border-radius:2px}.text-to-sql-debug{background:#fff}.text-to-sql-debug-json{max-height:520px;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:6px;color:#dbeafe;font-size:12px;line-height:1.6}@media (max-width: 900px){.text-to-sql-query-panel,.text-to-sql-overview,.text-to-sql-metric-visual,.text-to-sql-grid{grid-template-columns:1fr}.text-to-sql-bar-row{grid-template-columns:1fr;gap:6px}.text-to-sql-value{text-align:left}}.prompt-template-page .prompt-table-actions .ant-btn-link{padding-inline:4px}.prompt-template-page>.ant-table-wrapper .ant-table-container{overflow-x:hidden}.followup-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:4px 0 16px}.followup-stat-item{position:relative;overflow:hidden;min-height:78px;padding:14px 16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px}.followup-stat-item:before{content:"";position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:50%}.followup-stat-label{color:#6b7280;font-size:13px;line-height:18px}.followup-stat-value{margin-top:8px;color:#172033;font-size:28px;font-weight:700;line-height:32px}.followup-stat-blue:before{background:#1677ff}.followup-stat-orange:before{background:#fa8c16}.followup-stat-green:before{background:#22a06b}.followup-stat-purple:before{background:#722ed1}.followup-video-link{max-width:170px;padding:0 8px;color:#1677ff;background:#eef6ff;border:1px solid #d6e8ff;border-radius:6px}.followup-video-link:hover{color:#0958d9!important;background:#e6f4ff!important;border-color:#91caff}.followup-video-link>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.followup-content-preview{max-width:220px;color:#354154;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 900px){.followup-stats{grid-template-columns:repeat(2,minmax(150px,1fr))}}.question-option-row{display:grid;grid-template-columns:76px minmax(180px,1fr) 72px;gap:8px;align-items:start;margin-bottom:8px}.question-option-row .ant-form-item{margin-bottom:0}.paper-compose-page{display:flex;flex-direction:column;gap:14px}.paper-compose-header,.paper-compose-section{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 30px #1720330a}.paper-compose-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.paper-compose-header h4.ant-typography{margin:0}.paper-compose-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.paper-compose-grid-readonly{grid-template-columns:minmax(0,1fr)}.paper-compose-stats{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.paper-stat-value{margin-top:6px;color:#172033;font-size:24px;font-weight:700;line-height:1.2}.paper-stat-value.success{color:#2f8f1f}.paper-stat-value.warning{color:#d46b08}.paper-type-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.paper-compose-section{min-width:0;padding:16px}.paper-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.paper-batch-picker{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:12px;background:#f8fafc;border:1px solid #e8edf5;border-radius:6px}.paper-batch-picker .ant-form-item{margin-right:0;margin-bottom:0}.paper-selected-summary{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.question-detail-view{display:flex;flex-direction:column;gap:16px}.question-detail-block{display:flex;flex-direction:column;gap:8px}.question-detail-block pre{max-height:260px;margin:0;padding:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e8edf5;border-radius:6px;color:#172033;font-family:inherit;line-height:1.7}.question-detail-options{display:flex;flex-direction:column;gap:8px}.question-detail-option{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:start;padding:10px 12px;background:#f8fafc;border:1px solid #e8edf5;border-radius:6px}.exam-form{margin-top:16px}@media (max-width: 1280px){.paper-compose-grid{grid-template-columns:minmax(0,1fr)}}.duty-page{padding:22px 24px}.duty-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e5eaf2}.duty-header h3.ant-typography{margin:0 0 4px;color:#172033}.duty-date-label{color:#48566a;font-weight:700}.duty-section{margin-top:20px}.duty-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.duty-section-title h4.ant-typography{margin:0;color:#172033;font-size:18px}.duty-page .ant-table{border:1px solid #e7edf5;border-radius:6px;overflow:hidden}.schedule-page{min-height:calc(100vh - 120px);padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 30px #1720330a}.schedule-page-header{padding-bottom:10px;border-bottom:1px solid #dfe5ee}.schedule-page-header h2.ant-typography{margin:0;color:#172033;font-size:20px;line-height:30px}.schedule-select-label{color:#637083;font-size:14px;font-weight:700}.schedule-class-select{width:230px}.schedule-year-select{width:112px}.schedule-month-select{width:96px}.schedule-calendar-card{margin-top:12px;padding:12px;border:1px solid #dfe7f2;border-radius:6px;box-shadow:0 8px 22px #1720330a}.schedule-calendar-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.schedule-calendar .ant-empty{margin:80px 0}.schedule-week-row{display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));align-items:center;min-height:26px}.schedule-week-cell{text-align:center;color:#48566a;font-size:13px;font-weight:800}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));border:1px solid #e7edf5;border-radius:6px;overflow:hidden}.schedule-day-cell{min-height:68px;padding:7px 9px 6px;border-right:1px solid #e7edf5;border-bottom:1px solid #e7edf5;background:#fff;transition:background .16s ease,box-shadow .16s ease}.schedule-day-cell:nth-child(7n){border-right:none}.schedule-day-cell:nth-last-child(-n+7){border-bottom:none}.schedule-day-cell:hover{background:#f7fbff}.schedule-day-cell-clickable{cursor:pointer}.schedule-day-cell-clickable:hover{background:#eef6ff}.schedule-day-cell-muted{background:#f8fafc;color:#b7c3d2}.schedule-day-cell-today{background:#e9f4ff;box-shadow:inset 0 0 0 1px #1677ff}.schedule-day-number{color:#172033;font-size:14px;font-weight:800;line-height:18px}.schedule-day-cell-muted .schedule-day-number{color:#c2ccd9}.schedule-day-body{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:5px}.schedule-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:19px;padding:0 7px;border-radius:10px;font-size:12px;font-weight:800;white-space:nowrap}.schedule-badge-class{border:1px solid #7db4ff;background:#eaf4ff;color:#1264e8}.schedule-badge-self-study{border:1px solid #61d89d;background:#eafaf2;color:#078446}.schedule-badge-rest,.schedule-badge-holiday{border:1px solid #ffbd3f;background:#fff7e6;color:#c66a00}.schedule-course-content{width:100%;max-width:100%;color:#526173;font-size:11px;line-height:14px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.schedule-year-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px}.schedule-year-month{padding:14px;border:1px solid #e7edf5;border-radius:6px;background:#fff}.schedule-year-month-title{margin-bottom:10px;color:#172033;font-size:16px;font-weight:800}.schedule-year-week-row,.schedule-year-days{display:grid;grid-template-columns:repeat(7,1fr)}.schedule-year-week-row span{height:24px;color:#637083;font-size:12px;font-weight:700;text-align:center}.schedule-year-day{position:relative;min-width:0;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#172033;font-size:12px;font-weight:700}.schedule-year-day-muted{color:#c2ccd9}.schedule-year-day:after{content:"";position:absolute;bottom:2px;left:50%;width:5px;height:5px;border-radius:50%;transform:translate(-50%)}.schedule-year-day-class:after{background:#1677ff}.schedule-year-day-self-study:after{background:#16b96f}.schedule-year-day-rest:after,.schedule-year-day-holiday:after{background:#f59e0b}.teacher-modal-desc{margin:0 0 18px;color:#637083;font-size:15px;line-height:1.7;font-weight:600}.teacher-stage-list{display:flex;flex-direction:column;gap:18px;max-height:520px;overflow-y:auto;padding-right:4px}.teacher-stage-title{margin-bottom:8px;color:#172033;font-size:16px;font-weight:700}.teacher-stage-select{width:100%}.schedule-detail-card{display:flex;flex-direction:column;gap:16px}.schedule-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e7edf5}.schedule-detail-date{color:#637083;font-size:13px;font-weight:700}.schedule-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-detail-grid div,.schedule-detail-content{padding:12px;border:1px solid #e7edf5;border-radius:6px;background:#f8fafc}.schedule-detail-grid span,.schedule-detail-content span{display:block;margin-bottom:6px;color:#637083;font-size:12px;font-weight:700}.schedule-detail-grid strong{color:#172033;font-size:14px;font-weight:800}.schedule-detail-content p{margin:0;color:#172033;font-size:14px;line-height:1.7;word-break:break-word}.schedule-add-course-form .ant-form-item-label>label{color:#354154;font-weight:700}.teacher-schedule-page{padding:22px 26px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 10px 30px #1720330a}.teacher-schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:22px}.teacher-schedule-header h2.ant-typography{margin:0 0 6px;color:#172033;font-size:24px}.teacher-schedule-range{display:flex;align-items:center;gap:10px;color:#526173;font-weight:700}.teacher-schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.teacher-schedule-board{min-height:360px;overflow:auto;border:1px solid #e7edf5;border-radius:8px;box-shadow:0 12px 34px #1720330d}.teacher-schedule-board .ant-empty{margin:110px 0}.teacher-schedule-grid{display:grid;min-width:max-content}.teacher-schedule-row-fragment{display:contents}.teacher-schedule-cell{min-height:58px;padding:10px 12px;border-right:1px solid #e7edf5;border-bottom:1px solid #e7edf5;background:#fff}.teacher-schedule-fixed{position:sticky;left:0;z-index:2;background:#fbfcff}.teacher-schedule-head-cell{min-height:52px;display:flex;flex-direction:column;justify-content:center;color:#48566a;font-weight:800;background:#fbfcff}.teacher-schedule-head-cell strong{color:#48566a;font-size:14px}.teacher-schedule-head-cell span{margin-top:2px;color:#8a98aa;font-size:12px}.teacher-schedule-name{display:flex;align-items:center;color:#172033;font-size:15px;font-weight:800}.teacher-schedule-course-cell{display:flex;align-items:center;justify-content:center}.teacher-schedule-bar{display:inline-flex;align-items:center;justify-content:flex-start;align-self:center;justify-self:stretch;z-index:3;height:32px;margin:0 10px;padding:0 18px;border-radius:16px;background:linear-gradient(90deg,#3b82f6,#1d4ed8);color:#fff;font-size:14px;font-weight:800;box-shadow:0 5px 12px #1d4ed838;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:auto}.teacher-free-panel{min-height:260px;padding:18px;border:1px solid #e7edf5;border-radius:8px;background:#fff;box-shadow:0 12px 34px #1720330d}.teacher-free-panel h4.ant-typography{margin:0 0 4px;color:#172033}.teacher-free-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.teacher-free-item{min-height:38px;display:flex;align-items:center;padding:0 12px;border:1px solid #e7edf5;border-radius:8px;background:#f8fafc;color:#354154;font-size:14px;font-weight:700}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef2f6;padding:32px}.login-shell{width:min(920px,100%);min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#fff;border-radius:6px;border:1px solid #d9e2ec;box-shadow:0 24px 70px #121f3129}.login-brand{position:relative;padding:56px 52px;display:flex;flex-direction:column;justify-content:center;background:#081827;color:#fff}.login-brand:after{content:"";position:absolute;inset:auto 40px 38px 40px;height:1px;background:#ffffff2e}.login-brand h1.ant-typography{margin:18px 0 8px;color:#fff;font-size:36px;line-height:1.15;letter-spacing:0}.login-brand .ant-typography{color:#ffffffb8;font-size:16px}.brand-mark{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f4c542;color:#081827;font-size:20px;font-weight:800}.brand-status{display:flex;gap:10px;margin-top:36px}.brand-status span{min-width:86px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#ffffff14;color:#ffffffd1;font-size:13px;font-weight:700}.login-card{padding:58px 52px;display:flex;flex-direction:column;justify-content:center}.login-card h3.ant-typography{margin:0 0 4px;color:#172033;font-size:28px}.login-form{margin-top:28px}.login-form .ant-form-item-label>label{color:#354154;font-weight:600}.login-form .ant-input,.login-form .ant-input-affix-wrapper{border-radius:6px}.login-form .ant-btn{margin-top:8px;border-radius:6px;font-weight:700;box-shadow:0 10px 22px #1677ff33}.table-link-button{height:auto;padding:0;white-space:normal;text-align:left}.homework-preview-modal .ant-modal-content{border-radius:8px}.homework-preview-modal .ant-modal-header{margin:0;padding-bottom:14px;border-bottom:1px solid #edf0f5}.homework-preview-modal .ant-modal-title{max-width:calc(100% - 48px);overflow:hidden;color:#111827;font-size:18px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.homework-preview-modal .ant-modal-close{top:18px}.markdown-preview{max-height:70vh;overflow:auto;padding:10px 2px 2px;color:#1f2937;font-size:16px;line-height:1.8}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{color:#111827;font-weight:700;line-height:1.35}.markdown-preview h1{margin:8px 0 18px;padding-bottom:14px;border-bottom:1px solid #e7edf5;font-size:28px}.markdown-preview h2{margin:30px 0 18px;padding-left:12px;border-left:4px solid #1677ff;font-size:22px}.markdown-preview h3{margin:24px 0 12px;font-size:18px}.markdown-preview p{margin:0 0 14px;white-space:pre-wrap}.markdown-preview p code,.markdown-preview li code{padding:2px 6px;border-radius:4px;background:#f3f6fa;color:#0f172a;font-size:.92em}.markdown-preview ul{margin:0 0 16px 22px;padding:0}.markdown-preview pre{margin:16px 0;padding:0;overflow:auto}.markdown-preview pre code{display:block;padding:14px;border-radius:6px;background:#f3f6fa;color:#111827;font-size:14px;line-height:1.7}.markdown-preview-spacer{height:8px}.homework-grade-modal .ant-modal-content{border-radius:8px}.homework-grade-modal .ant-modal-header{margin:0;padding-bottom:14px;border-bottom:1px solid #edf0f5}.homework-grade-modal .ant-modal-title{max-width:calc(100% - 48px);overflow:hidden;color:#111827;font-size:18px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.homework-grade-workbench{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;min-height:560px}.homework-grade-preview{min-width:0;border-right:1px solid #edf0f5;padding-right:18px}.homework-grade-preview .markdown-preview{max-height:68vh}.homework-grade-panel{display:flex;flex-direction:column;gap:14px}.grade-student-card{padding:14px;border:1px solid #e6ecf5;border-radius:8px;background:#f8fbff}.grade-student-card span,.grade-meta-list span{display:block;margin-bottom:6px;color:#7a8699;font-size:12px;font-weight:700}.grade-student-card strong{display:block;color:#111827;font-size:20px}.grade-student-card p{margin:6px 0 0;color:#4b5563}.grade-meta-list{display:grid;gap:10px}.grade-meta-list>div{padding:12px 14px;border:1px solid #edf0f5;border-radius:8px;background:#fff}.grade-meta-list strong{color:#111827}.grade-form{padding-top:4px}.exam-submission-detail{display:grid;gap:18px}.exam-submission-question-list{display:grid;gap:16px;max-height:58vh;overflow:auto;padding-right:6px}.exam-submission-question{display:grid;gap:12px;padding:16px;border:1px solid #edf0f5;border-radius:8px;background:#fff}.exam-submission-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.exam-submission-options{display:grid;gap:8px;padding:12px;border:1px solid #edf0f5;border-radius:8px;background:#f8fafc}.exam-submission-answer{display:grid;gap:8px;padding:12px;border:1px solid #e6ecf5;border-radius:8px;background:#fbfdff}.exam-submission-answer>div{white-space:pre-wrap}.learning-calendar-panel{display:grid;gap:8px}.learning-calendar-toolbar{display:flex;justify-content:flex-end}.learning-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));color:#475569;font-size:12px;font-weight:700;text-align:center}.learning-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e6edf7;border-left:1px solid #e6edf7;border-radius:8px;overflow:hidden}.learning-calendar-cell{min-height:64px;padding:6px 8px;border-right:1px solid #e6edf7;border-bottom:1px solid #e6edf7;background:#fff}.learning-calendar-cell.is-muted{background:#f8fafc}.learning-calendar-cell.is-muted .learning-calendar-day{color:#c5d0de}.learning-calendar-cell.is-today{outline:2px solid #1677ff;outline-offset:-2px;background:#eaf4ff}.learning-calendar-day{color:#162033;font-size:13px;font-weight:800;line-height:1}.learning-calendar-content{position:relative;margin-top:5px;padding-left:8px}.learning-calendar-content:before{position:absolute;top:2px;bottom:2px;left:0;width:3px;border-radius:999px;background:#69b1ff;content:""}.learning-calendar-stage{color:#334155;font-size:12px;line-height:1.2;font-weight:700;overflow-wrap:anywhere}.learning-calendar-meta{margin-top:3px;color:#64748b;font-size:10px;line-height:1.25}.interview-audio-preview{padding:18px;border:1px solid #edf1f7;border-radius:8px;background:#f8fafc}.interview-audio-player{display:block;width:100%}.interview-audio-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;color:#738196;font-size:13px}.interview-transcript-preview h3{margin:0 0 10px;color:#162033;font-size:15px}.interview-transcript-preview pre{max-height:320px;margin:0 0 18px;padding:14px;overflow:auto;border:1px solid #e6edf7;border-radius:8px;background:#f8fafc;color:#263247;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;white-space:pre-wrap}.interview-report-preview{display:flex;flex-direction:column;gap:18px;max-height:70vh;overflow:auto;padding:4px 6px 8px 0}.interview-report-preview section{padding:18px;border:1px solid #e6edf7;border-radius:14px;background:#fbfdff}.interview-report-preview h3{margin:0 0 12px;color:#162033;font-size:18px}.interview-report-preview p{margin:8px 0 0;color:#334155;font-size:14px;line-height:1.8;word-break:break-word}.interview-report-preview ul{margin:0;padding-left:20px;color:#334155;line-height:1.8}.interview-report-card-list{display:grid;gap:12px;margin-top:12px}.interview-report-mini-card,.interview-report-question{padding:14px;border:1px solid #e3ebf6;border-radius:12px;background:#fff}.interview-report-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.interview-report-mini-card strong,.interview-report-question strong{color:#0f172a;font-size:15px}.interview-report-question{margin-bottom:12px}.interview-report-question:last-child{margin-bottom:0}.interview-question-bank-preview{display:grid;gap:14px;max-height:68vh;overflow:auto;padding-right:4px}.interview-question-bank-card{padding:16px;border:1px solid #e6edf7;border-radius:12px;background:#fbfdff}.interview-question-bank-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.interview-question-bank-card-head strong{color:#111827;font-size:15px;line-height:1.5}.interview-question-bank-card p{margin:8px 0 0;color:#334155;line-height:1.75}.interview-question-bank-merge{padding:8px 10px;border-radius:8px;background:#f0fdf4;color:#15803d!important}.interview-question-bank-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.interview-question-bank-question-cell{display:grid;gap:10px;min-width:0;padding:4px 0}.interview-question-bank-question-line{display:flex;align-items:flex-start;gap:10px;min-width:0}.interview-question-bank-id{flex:0 0 auto;min-width:42px;padding:3px 8px;border:1px solid #d9e7ff;border-radius:8px;background:#f3f8ff;color:#2563eb;font-size:12px;font-weight:700;line-height:18px;text-align:center}.interview-question-bank-question-text{margin:0!important;color:#111827;font-size:15px;font-weight:700;line-height:1.55}.interview-question-bank-meta-row{display:flex;flex-wrap:wrap;gap:6px;padding-left:52px}.interview-question-bank-detail{display:grid;gap:16px}.interview-question-bank-detail-card{padding:18px;border:1px solid #e3ebf6;border-radius:12px;background:#fff}.interview-question-bank-detail-card.is-primary{background:linear-gradient(180deg,#f8fbff,#fff)}.interview-question-bank-detail-head,.interview-question-bank-source-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.interview-question-bank-detail-card h3,.interview-question-bank-source-head h3{margin:0;color:#111827;line-height:1.55}.interview-question-bank-detail-card h3{margin-top:12px;font-size:18px}.interview-question-bank-source-head h3{font-size:16px}.interview-question-bank-descriptions .ant-descriptions-item-label{width:96px;color:#64748b;font-weight:700}.interview-question-bank-descriptions .ant-descriptions-item-content{color:#334155;line-height:1.75;white-space:pre-wrap}.interview-question-bank-insight-grid{display:grid;gap:12px}.interview-question-bank-insight-grid section,.interview-question-bank-source-summary,.interview-question-bank-source-card,.interview-question-bank-dialogue-head{border:1px solid #e5edf8;border-radius:12px;background:#fff}.interview-question-bank-insight-grid section{padding:14px 16px}.interview-question-bank-insight-grid span,.interview-question-bank-source-block span{display:block;margin-bottom:8px;color:#64748b;font-size:13px;font-weight:700}.interview-question-bank-insight-grid p,.interview-question-bank-source-block p{margin:0;color:#273449;line-height:1.8;white-space:pre-wrap}.interview-question-bank-sources{display:grid;gap:14px}.interview-question-bank-source-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;background:#f8fbff}.interview-question-bank-source-summary h3{margin:6px 0 0;color:#111827;font-size:17px;line-height:1.55}.interview-question-bank-source-card{padding:16px;box-shadow:0 8px 24px #0f172a0a}.interview-question-bank-source-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #edf2f7}.interview-question-bank-source-card-head strong{color:#0f172a;font-size:16px}.interview-question-bank-source-card-head p{margin:6px 0 0;color:#64748b;line-height:1.5}.interview-question-bank-source-block{padding-top:14px}.interview-question-bank-dialogue{display:grid;gap:14px}.interview-question-bank-dialogue-head{padding:14px 16px;background:#f8fbff}.interview-question-bank-dialogue-head h3{margin:0 0 8px;color:#111827;font-size:16px;line-height:1.55}.interview-question-bank-dialogue-item{display:flex;flex-direction:column;max-width:76%;gap:6px}.interview-question-bank-dialogue-item.is-interviewer{justify-self:start;align-items:flex-start}.interview-question-bank-dialogue-item.is-student{justify-self:end;align-items:flex-end}.interview-question-bank-dialogue-item span{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}.interview-question-bank-dialogue-item.is-interviewer span{background:#eef6ff;color:#1677ff}.interview-question-bank-dialogue-item.is-student span{background:#f0fdf4;color:#16a34a}.interview-question-bank-dialogue-item p{margin:0;padding:12px 14px;border:1px solid #e5edf8;border-radius:14px;font-size:15px;line-height:1.75;box-shadow:0 8px 20px #0f172a0a}.interview-question-bank-dialogue-item.is-interviewer p{border-top-left-radius:4px;background:#fff;color:#263449}.interview-question-bank-dialogue-item.is-student p{border-color:#c7e4ff;border-top-right-radius:4px;background:#eff6ff;color:#18324f}@media (max-width: 760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:240px;padding:36px 28px}.login-card{padding:36px 28px}.text-to-sql-feedback{align-items:flex-start;flex-direction:column}.text-to-sql-feedback-copy{align-items:center;flex-direction:row;gap:10px}.text-to-sql-feedback-actions{flex-wrap:wrap}.eval-sample-form-grid{grid-template-columns:1fr}.eval-sample-assertions{overflow-x:auto}.eval-sample-assertion-head,.eval-sample-assertion-row{min-width:840px}}@media (max-width: 1100px){.homework-grade-workbench{grid-template-columns:1fr}.homework-grade-preview{border-right:0;padding-right:0}}
