@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-500:#62748e;--color-slate-900:#0f172b;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-slate-900:lab(7.78673% 1.82345 -15.0537)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-full{min-height:100%}.max-w-md{max-width:var(--container-md)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-slate-900{background-color:var(--color-slate-900)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-slate-500{color:var(--color-slate-500)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#13264a;--muted:#62708a;--line:#e4eaf3;--canvas:#f6f8fc;--font-fira-sans:"Avenir Next", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--font-fira-code:"SFMono-Regular", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);font-family:var(--font-fira-sans);margin:0;overflow-x:hidden}button{font:inherit}.app-shell{background:linear-gradient(90deg, #102a56 0 244px, var(--canvas) 244px);min-height:100dvh}.auth-page{background:#eef2f7;place-items:center;min-height:100dvh;padding:32px;display:grid;position:relative}.auth-shell{background:#fff;border:1px solid #dce3ed;grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr);width:min(1120px,100%);height:min(820px,100dvh - 48px);min-height:0;display:grid;overflow:hidden;box-shadow:0 20px 55px #1427481f}.auth-intro{color:#fff;background:#122c59;flex-direction:column;justify-content:space-between;min-width:0;padding:42px 46px 38px;display:flex;position:relative;overflow:hidden}.auth-intro:before,.auth-intro:after{content:"";pointer-events:none;position:absolute}.auth-intro:before{border:1px solid #e5b34f47;border-radius:50%;width:270px;height:270px;top:112px;right:-58px;box-shadow:0 0 0 22px #e5b34f0f,0 0 0 44px #e5b34f0b}.auth-intro:after{opacity:.22;background-image:linear-gradient(#d5e2f924 1px,#0000 1px),linear-gradient(90deg,#d5e2f924 1px,#0000 1px);background-size:32px 32px;height:38%;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.auth-brand,.auth-form-top,.auth-feature,.auth-intro-meta{z-index:1;align-items:center;display:flex;position:relative}.auth-brand{gap:11px}.auth-brand>span:last-child{flex-direction:column;gap:2px;display:flex}.auth-brand strong{font-family:var(--font-fira-code);letter-spacing:0;font-size:21px;line-height:1}.auth-brand small{color:#b6c9e5;font-family:var(--font-fira-code);letter-spacing:1px;font-size:8px}.auth-brand-mark{background:#e6b34f;align-items:end;gap:3px;width:31px;height:31px;padding:6px;display:flex}.auth-brand-mark i{background:#122c59;width:4px;display:block}.auth-brand-mark i:first-child{height:8px}.auth-brand-mark i:nth-child(2){height:14px}.auth-brand-mark i:nth-child(3){height:19px}.auth-intro-copy{z-index:1;max-width:430px;margin:auto 0;padding:70px 0 56px;position:relative}.auth-intro-slogan{z-index:1;color:#fff;font-family:var(--font-fira-sans);letter-spacing:0;justify-content:center;align-items:center;gap:14px;margin:auto 0;font-size:30px;font-weight:500;display:flex;position:relative}.auth-intro-slogan:before,.auth-intro-slogan:after{content:"";background:#e6b34f94;width:34px;height:1px}.auth-intro-slogan span,.auth-intro-slogan strong{white-space:nowrap;display:block}.auth-intro-slogan strong{color:#e6b34f;font-weight:500}.auth-intro-slogan i{background:#e6b34f;border-radius:50%;width:4px;height:4px;display:block}.auth-kicker{color:#52709e;font-family:var(--font-fira-code);letter-spacing:1.2px;font-size:11px;display:block}.auth-intro .auth-kicker{color:#e6b34f}.auth-intro-copy h1.ant-typography{color:#fff;font-family:var(--font-fira-sans);letter-spacing:0;margin:15px 0 20px;font-size:clamp(32px,3.3vw,48px);font-weight:600;line-height:1.18}.auth-intro-copy h1 em{color:#e6b34f;font-style:normal}.auth-intro-description{color:#c3d1e5;max-width:360px;font-size:14px;line-height:1.9;display:block}.auth-intro-foot{z-index:1;gap:18px;display:grid;position:relative}.auth-feature{gap:11px}.auth-feature>span{color:#e6b34f;border:1px solid #e6b34f52;place-items:center;width:34px;height:34px;display:grid}.auth-feature div{flex-direction:column;gap:3px;display:flex}.auth-feature strong{font-size:12px;font-weight:500}.auth-feature small{color:#91a6c7;font-size:11px}.auth-intro-meta{color:#91a6c7;font-family:var(--font-fira-code);gap:7px;margin-top:7px;font-size:10px}.auth-form-panel{background:#fff;min-width:0;min-height:0;overflow-y:auto}.auth-form-top{color:#7b879b;border-bottom:1px solid #edf0f4;justify-content:flex-end;min-height:76px;padding:0 54px;font-size:12px}.auth-form-top button{color:#1e40af;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #1e40af;padding:0 0 2px;font-size:12px}.auth-form-top button .anticon{margin-left:3px;font-size:10px}.auth-mobile-brand{display:none}.auth-form-body{width:min(100%,440px);margin:0 auto;padding:62px 28px 36px}.auth-heading h1.ant-typography{color:var(--ink);font-family:var(--font-fira-sans);letter-spacing:0;margin:11px 0 8px;font-size:31px;font-weight:600;line-height:1.2}.auth-heading>.ant-typography:last-child{color:#78859a;font-size:13px}.auth-mode-switch{border-bottom:1px solid #e5eaf1;grid-template-columns:1fr 1fr;gap:0;margin:34px 0 26px;display:grid}.auth-mode-switch button,.auth-login-method button{color:#8994a6;cursor:pointer;background:0 0;border:0}.auth-mode-switch button{border-bottom:2px solid #0000;min-height:42px;font-size:14px;font-weight:500}.auth-mode-switch button.active{color:#1e40af;border-bottom-color:#1e40af}.auth-fields{flex-direction:column;display:flex;gap:12px!important}.auth-fields>.ant-space-item{width:100%}.auth-field{color:#384863;flex-direction:column;gap:7px;width:100%;font-size:12px;font-weight:500;display:flex}.auth-field label{margin:0}.auth-field small{color:#a2adbc;margin-left:4px;font-size:11px;font-weight:400}.auth-field .ant-input-affix-wrapper,.auth-code-row .ant-input{border-color:#dfe5ee;border-radius:5px}.auth-field .ant-input-affix-wrapper:hover,.auth-field .ant-input-affix-wrapper:focus-within,.auth-code-row .ant-input:hover,.auth-code-row .ant-input:focus{border-color:#7d9ed5}.auth-field .ant-input-prefix{color:#9aa7b9;margin-inline-end:10px}.auth-code-row{width:100%}.auth-code-row .ant-input{min-width:0}.auth-code-row .ant-btn{flex:none}.auth-login-method{justify-content:flex-end;align-items:center;gap:16px;min-height:28px;margin-top:-2px;display:flex}.auth-login-method button{padding:0;font-size:11px}.auth-login-method button.active{color:#1e40af;font-weight:600}.auth-debug-code{align-items:center;gap:5px;width:fit-content;margin-top:-2px;display:flex}.auth-submit{height:46px;box-shadow:none;background:#1e40af;border-radius:5px;margin-top:6px;font-size:14px}.auth-submit:hover{background:#17358f!important}.auth-submit .anticon{margin-left:8px;font-size:12px}.auth-submit{width:100%}.auth-legal{color:#9aa5b4;text-align:center;margin-top:22px;font-size:10px;display:block}.auth-copyright{color:#a2adbc;font-family:var(--font-fira-code);text-align:center;font-size:10px;position:absolute;bottom:12px;left:0;right:0}body:has(.auth-page) .ai-quick-assistant{display:none}@media (max-width:820px){.auth-page{align-items:stretch;padding:0}.auth-shell{height:calc(100dvh - 48px);box-shadow:none;border:0;grid-template-rows:180px minmax(0,1fr);grid-template-columns:1fr}.auth-intro{min-height:0;padding:0 20px}.auth-intro:before{width:220px;height:220px;top:58px;right:-78px}.auth-intro-slogan{gap:10px;margin:auto 24px 28px;font-size:23px}.auth-intro-slogan:before,.auth-intro-slogan:after{width:22px}.auth-form-body{width:min(100%,500px);padding:34px 24px 28px}}@media (max-width:420px){.auth-shell{grid-template-rows:170px minmax(0,1fr);height:calc(100dvh - 42px)}.auth-intro-slogan{gap:8px;margin-bottom:23px;font-size:21px}.auth-intro-slogan:before,.auth-intro-slogan:after{width:16px}.auth-form-body{padding-inline:20px}}@media (prefers-reduced-motion:reduce){.auth-mode-switch button,.auth-field .ant-input-affix-wrapper,.auth-submit{transition:none}}.app-sider{z-index:100;inset:0 auto 0 0;background:#102a56!important;flex:0 0 244px!important;width:244px!important;min-width:244px!important;max-width:244px!important;height:100dvh!important;min-height:100dvh!important;position:fixed!important;overflow:hidden!important}.app-main-layout{background:var(--canvas);flex-direction:column;min-width:0;height:100dvh;min-height:0;margin-left:244px;display:flex}.app-sider .ant-layout-sider-children{display:block;height:100%!important;min-height:100%!important;overflow:hidden!important}.sider-inner{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.brand-lockup{color:#fff;border-bottom:1px solid #cee0ff29;align-items:center;gap:10px;height:76px;padding:0 22px;display:flex}.brand-lockup strong{font-family:var(--font-fira-code);font-size:20px;line-height:22px;display:block}.brand-lockup small{color:#aebfdc;font-family:var(--font-fira-code);margin-top:3px;font-size:8px;line-height:1;display:block}.brand-mark{background:#e6b34f;border-radius:7px;align-items:end;gap:3px;width:30px;height:30px;padding:6px;display:flex}.brand-mark span{background:#102a56;width:4px}.brand-mark span:first-child{height:8px}.brand-mark span:nth-child(2){height:14px}.brand-mark span:nth-child(3){height:19px}.profile-mini span{min-width:0}.profile-mini strong,.profile-mini small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-mini small{color:#aebfdc;margin-top:2px;font-size:11px}.main-menu{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aebfdc6b transparent;flex:auto;min-height:0;padding:4px 8px 12px;overflow-y:auto;border-inline-end:0!important}.main-menu::-webkit-scrollbar{width:6px}.main-menu::-webkit-scrollbar-thumb{background:#aebfdc6b;border-radius:999px}.main-menu .ant-menu-item{border-radius:5px;height:42px;margin-block:4px!important}.app-sider .ant-layout-sider-zero-width-trigger{z-index:1000;position:fixed;top:64px;left:0}.sider-bottom{background:#102a56;border-top:1px solid #cee0ff24;flex:none;padding:12px 14px 16px}.side-link{color:#c6d5ec;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:38px;padding:0 8px;transition:color .18s,background-color .18s;display:flex}.side-link:hover,.side-link.active{color:#fff;background:#173d75}.mobile-tabbar{display:none}.profile-mini{color:#fff;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:10px;margin-top:10px;padding-top:14px;display:grid}.profile-button{cursor:pointer;text-align:left;background:0 0;border:0;width:100%}.profile-mini strong{font-size:13px}.top-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;background:#fff!important}.header-status{justify-content:flex-end;max-width:46vw}.breadcrumbs{align-items:center;gap:10px;font-size:13px;display:flex}.breadcrumbs span{color:#a3aec0}.breadcrumbs strong{color:var(--ink)}.updated-time{font-size:12px}.dashboard-content{width:100%;max-width:1600px;margin:0 auto;padding:28px 32px 42px;overflow-x:hidden}.dashboard-content-ai{flex-direction:column;flex:auto;min-height:0;padding:16px 32px 20px;display:flex;overflow:hidden}.dashboard-content-ai>.page-heading{flex:none}.ai-view-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.page-heading h1.ant-typography{color:var(--ink);font-family:var(--font-fira-code);letter-spacing:0;margin:5px 0 4px;font-size:28px}.page-heading .ant-typography{color:var(--muted);margin-bottom:0}.eyebrow{color:#52709e;font-family:var(--font-fira-code);align-items:center;gap:7px;font-size:11px;display:flex}.live-dot{background:#30a46c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #d7f4e4}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:10px;min-height:56px;margin-bottom:18px;padding:10px 14px;display:flex}.filter-label{color:#56647d;align-items:center;gap:7px;margin-right:4px;font-size:13px;display:flex}.filter-bar .ant-select{min-width:164px}.filter-spacer{flex:1}.filter-bar .ant-typography{font-size:12px}.complete-icon{color:#30a46c}.dashboard-health{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) 220px auto;align-items:center;gap:14px;margin:-8px 0 18px;padding:12px 14px;display:grid}.dashboard-health>div{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-health strong{color:var(--ink);white-space:nowrap;font-size:13px}.dashboard-health span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.missing-alerts{gap:10px;margin-bottom:18px;display:grid}.missing-alert{justify-content:space-between;align-items:center;gap:16px;display:flex;border-left:3px solid #d97706!important}.missing-alert .ant-card-body{justify-content:space-between;align-items:center;gap:16px;width:100%;padding:12px 16px;display:flex}.missing-alert-copy{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.missing-alert-copy strong{color:var(--ink);font-size:13px}.missing-alert-copy span{color:var(--muted);font-size:12px}.metric-card,.panel{overflow:hidden;box-shadow:0 1px 2px #12264a08;border-color:var(--line)!important;border-radius:6px!important}.metric-card .ant-card-body{padding:16px 18px}.metric-top{justify-content:space-between;align-items:center;display:flex}.metric-top .ant-typography{color:var(--muted);font-size:13px}.metric-icon{border-radius:6px;place-items:center;width:30px;height:30px;font-size:15px;display:inline-grid}.metric-card .ant-statistic{margin:10px 0 6px}.metric-card .ant-statistic-content{color:var(--ink);font-family:var(--font-fira-code);font-size:26px;line-height:1}.metric-card .ant-statistic-content-suffix,.metric-card .ant-statistic-content-prefix{color:#62708a;font-size:13px;font-family:var(--font-fira-sans)}.metric-note{color:#7a879c;align-items:center;gap:5px;font-size:12px;display:flex}.metric-note.up{color:#20835b}.metric-note.down{color:#b42318}.metric-card.blue .metric-icon{color:#1e40af;background:#e6efff}.metric-card.green .metric-icon{color:#20835b;background:#e7f6ef}.metric-card.amber .metric-icon{color:#a46100;background:#fcf0d9}.metric-card.red .metric-icon{color:#b42318;background:#fce9e8}.analysis-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px;margin-bottom:18px;display:grid}.panel .ant-card-head{border-bottom-color:#edf0f5;min-height:52px;padding:0 18px}.panel .ant-card-head-title{color:var(--ink);font-family:var(--font-fira-code);font-size:14px;font-weight:600}.panel .ant-card-extra{padding:0}.panel .ant-card-body{padding:16px 18px}.panel-caption{justify-content:space-between;align-items:center;display:flex}.panel-caption div{align-items:baseline;gap:8px;display:flex}.panel-caption strong{color:var(--ink);font-family:var(--font-fira-code);font-size:24px}.panel-caption span{color:var(--muted);font-size:12px}.chart-wrap{height:216px;margin-top:8px}.chart-legend{color:#71809a;align-items:center;gap:16px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.legend-line{background:#1e40af;width:16px;height:2px}.legend-line.school{background:repeating-linear-gradient(90deg,#d9a441 0 5px,#0000 5px 8px)}.chart-summary{color:#20835b;margin-left:auto}.subject-overview{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.subject-overview strong{color:#20835b;font-weight:500}.subject-chart{height:194px;margin-top:12px}.subject-insight{border-top:1px solid #edf0f5;gap:16px;padding-top:7px;font-size:12px;display:flex}.subject-insight span:first-child{color:#20835b}.subject-insight span:last-child{color:#b45309}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px;display:grid}.risks-panel .ant-card-body{padding:0 18px 8px}.risks-panel .ant-table{font-size:13px}.risks-panel .ant-table-thead>tr>th{padding:12px 8px;font-size:12px;font-weight:500}.risks-panel .ant-table-tbody>tr>td{padding:12px 8px}.student-cell{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;display:flex}.student-cell span,.score-cell{flex-direction:column;display:flex}.student-cell strong{color:var(--ink);font-size:13px}.student-cell small,.score-cell small{color:#8792a6;margin-top:2px;font-size:11px}.risk-reason{color:#56647d;align-items:flex-start;gap:7px;font-size:12px;display:flex}.risk-reason .ant-tag{flex:none;margin-inline-end:0}.risk-reason-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.score-cell strong{color:var(--ink);font-family:var(--font-fira-code)}.negative-change{color:#b42318;font-family:var(--font-fira-code);font-size:12px}.positive-change{color:#20835b;font-family:var(--font-fira-code);font-size:12px}.view-all{color:#1e40af;cursor:pointer;background:#fff;border:0;border-top:1px solid #edf0f5;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;margin-top:2px;font-size:13px;display:flex}.right-rail{align-content:start;gap:18px;display:grid}.action-panel .ant-card-body{padding:4px 18px 16px}.action-list,.suggestion-list{margin:0;padding:0;list-style:none}.suggestion-list li{color:#56647d;align-items:center;min-height:32px;display:flex}.action-item{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0f5;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;min-height:66px;display:grid}.action-item>span:nth-child(2){min-width:0}.action-item strong,.action-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.action-item strong{color:var(--ink);font-size:12px;font-weight:500}.action-item small{color:#8792a6;margin-top:3px;font-size:11px}.action-item>.anticon:last-child{color:#a2aec0;font-size:11px}.action-icon{border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.action-icon.risk{color:#b42318;background:#fce9e8}.action-icon.note{color:#1e40af;background:#e6efff}.action-icon.calendar{color:#a46100;background:#fcf0d9}.action-panel .ant-btn{margin-top:14px}.import-heading{align-items:center;gap:10px;margin-bottom:14px;display:flex}.file-icon{color:#1e40af;background:#e6efff;border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.import-heading span:nth-child(2){flex:1;min-width:0}.import-heading strong,.import-heading small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.import-heading strong{color:var(--ink);font-size:12px}.import-heading small{color:#8792a6;margin-top:3px;font-size:11px}.import-heading .ant-tag{margin:0}.import-footer{color:#8792a6;justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.import-footer button{color:#1e40af;cursor:pointer;background:0 0;border:0;padding:0}.student-drawer{padding-top:8px}.student-drawer-head{align-items:center;gap:14px;margin-bottom:20px;display:flex}.student-drawer-head h3{color:var(--ink);font-family:var(--font-fira-code);margin:0 0 3px!important}.module-toolbar{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.module-toolbar .ant-input{width:220px}.module-toolbar .ant-select{min-width:150px}.table-person{align-items:center;gap:9px;display:inline-flex}.table-person strong{color:var(--ink)}.work-dot{color:#1e40af;width:28px;height:28px;font-family:var(--font-fira-code);background:#e6efff;border-radius:50%;place-items:center;font-size:12px;display:inline-grid}.detail-summary{background:#f7f9fc;grid-template-columns:repeat(4,1fr);align-items:center;gap:16px;padding:14px 16px;display:grid}.detail-summary .ant-statistic-content{font-family:var(--font-fira-code);color:var(--ink)}.issue-box{color:#8a5800;background:#fffbf1;border:1px solid #f2d7a0;border-left:3px solid #d97706;align-items:flex-start;gap:9px;padding:12px 14px;font-size:13px;display:flex}.issue-box>span{flex-direction:column;gap:3px;min-width:0;display:flex}.issue-box small{color:#9a6a12;line-height:1.55}.issue-box.compact{padding:9px 11px}.mapping-panel{background:#f8fbff;border:1px solid #d9e2f2;flex-direction:column;gap:12px;padding:14px;display:flex}.mapping-panel>div:first-child{flex-direction:column;gap:4px;display:flex}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.mapping-field{color:#56647d;flex-direction:column;gap:5px;font-size:12px;display:flex}.import-preview-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-actions{border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;display:flex}.profile-grid,.settings-grid,.notification-grid{gap:18px;display:grid}.profile-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid>.ant-card:last-child{grid-column:1/-1}.settings-facts{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.settings-facts span{background:#f7f9fc;padding:14px}.settings-facts strong,.settings-facts small{display:block}.settings-facts strong{color:var(--ink);font-family:var(--font-fira-code)}.settings-facts small{color:var(--muted);margin-top:5px}.module-grid{gap:18px;display:grid}.ai-quick-assistant{z-index:1200;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.ai-quick-assistant.is-collapsed{right:-24px}.ai-quick-launcher{color:#fff;cursor:pointer;width:76px;min-height:58px;font-family:var(--font-fira-code);background:#102a56;border:1px solid #cbdaf4;border-radius:8px 0 0 8px;grid-template-columns:20px 1fr 12px;align-items:center;gap:7px;padding:0 12px;font-size:12px;transition:right .2s,box-shadow .2s;display:grid;box-shadow:0 10px 28px #102a5633}.ai-quick-launcher:hover{box-shadow:0 12px 32px #102a564d}.ai-quick-launcher:focus-visible,.ai-quick-header .ant-btn:focus-visible{outline-offset:2px;outline:2px solid #f2c15f}.ai-quick-launcher .anticon:first-child{color:#f2c15f;font-size:18px}.ai-quick-launcher .anticon:last-child{color:#b9c9e3;font-size:10px}.ai-quick-panel{background:#fff;border:1px solid #cbdaf4;border-radius:8px;flex-direction:column;width:min(380px,100vw - 32px);height:min(620px,100vh - 32px);display:flex;overflow:hidden;box-shadow:0 18px 48px #102a563d}.ai-quick-header{border-bottom:1px solid var(--line);color:#fff;background:#102a56;justify-content:space-between;align-items:center;min-height:68px;padding:12px 14px;display:flex}.ai-quick-title{align-items:center;gap:10px;min-width:0;display:flex}.ai-quick-title>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.ai-quick-title strong{font-family:var(--font-fira-code);font-size:14px}.ai-quick-title small{color:#b9c9e3;font-size:11px}.ai-quick-mark{color:#102a56;background:#e6b34f;border-radius:6px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.ai-quick-header .ant-btn{color:#d9e5f8}.ai-quick-messages{background:#f7f9fc;flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 14px;display:flex;overflow-y:auto}.ai-quick-empty{color:#62708a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;display:flex}.ai-quick-empty .anticon{color:#1e40af;margin-bottom:4px;font-size:28px}.ai-quick-empty strong{color:var(--ink);font-size:14px}.ai-quick-empty span{font-size:12px}.ai-quick-message{max-width:92%;color:var(--ink);background:#fff;border:1px solid #e5ebf4;border-radius:6px;align-items:flex-start;gap:8px;padding:9px 11px;font-size:13px;line-height:1.6;display:flex}.ai-quick-message.user{background:#eaf2ff;border-color:#cbdaf4;align-self:flex-end}.ai-quick-message.assistant{align-self:flex-start}.ai-quick-message.assistant>.anticon{color:#1e40af;margin-top:3px}.ai-quick-message p{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;margin:0}.ai-quick-composer{border-top:1px solid var(--line);background:#fff;align-items:flex-end;gap:8px;padding:12px;display:flex}.ai-quick-composer .ant-input{resize:none;flex:1}.ai-quick-composer .ant-btn{flex:none}.readiness-panel{grid-column:1/-1}.readiness-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.readiness-item{background:#f7f9fc;border:1px solid #e7ebf2;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.readiness-item span{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.readiness-item .ant-tag{flex:none;margin-inline-end:0}.settings-row{min-height:42px;color:var(--ink);border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:13px;display:flex}.access-denied{border:1px solid var(--line);text-align:center;background:#fff;padding:48px 24px}.access-denied h2{color:var(--ink);margin:0 0 8px}.access-denied p{color:var(--muted);margin:0}.notification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-grid>.ant-card:last-child,.notification-wide{grid-column:1/-1}.notice-row,.timeline-row{color:#1e40af;border-bottom:1px solid #edf0f5;align-items:center;gap:11px;min-height:54px;padding:8px 0;display:flex}.notice-row>span,.timeline-row>span{flex:1;min-width:0}.notice-row strong,.notice-row small,.timeline-row strong,.timeline-row small{display:block}.notice-row strong,.timeline-row strong{color:var(--ink);font-size:13px}.notice-row small,.timeline-row small{color:var(--muted);margin-top:3px;font-size:11px}.module-panel .ant-card-body{padding:0 18px 18px}.module-panel .ant-card-extra .ant-input{width:220px}.materials-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:260px;display:flex}.materials-empty>.anticon{color:#1e40af;font-size:30px}.ai-chat-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.ai-chat-history{position:sticky;top:84px}.ai-chat-history .ant-card-body{max-height:calc(100vh - 190px);padding:10px;overflow-y:auto}.ai-chat-settings{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;display:flex}.ai-chat-caption{background:#f8fbff;border-left:3px solid #dbeafe;padding:8px 12px}.ai-panel .ant-card-body{flex-direction:column;gap:18px;min-height:520px;display:flex}.ai-transcript{flex-direction:column;flex:1;justify-content:space-between;gap:20px;display:flex}.ai-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;display:flex}.ai-empty>.anticon{color:#1e40af;margin-bottom:12px;font-size:36px}.ai-empty h3{margin:0 0 6px!important}.ai-answer{background:#f7faff;border-left:3px solid #3b82f6;max-width:720px;padding:14px 16px}.ai-answer p{color:#56647d;margin:10px 0 0;line-height:1.7}.ai-structured-result{background:#fff;border:1px solid #e7ebf2;flex-direction:column;gap:12px;padding:14px;display:flex}.ai-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ai-result-grid>div{background:#f7f9fc;flex-direction:column;gap:4px;padding:10px;display:flex}.ai-result-grid span,.ai-event-row small{color:#718096;font-size:12px}.ai-event-row{align-items:flex-start;gap:10px;display:flex}.ai-event-row>span{flex-direction:column;flex:1;gap:3px;display:flex}.ai-raw-result{white-space:pre-wrap;max-height:260px;margin:0;overflow:auto}.ai-facts{background:#eff6ff;border-left:3px solid #2563eb;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.ai-facts .ant-space{flex:1;min-width:220px}.ai-composer{width:100%}.ai-composer .ant-input{min-height:42px}.ai-side{align-self:start}.ai-policy{color:#56647d;grid-template-columns:20px 1fr;gap:12px 8px;margin-top:22px;font-size:13px;display:grid}.ai-policy .anticon{color:#30a46c}.ai-transcript-modal-body{flex-direction:column;gap:12px;max-height:68vh;padding-right:4px;display:flex;overflow:auto}.ai-transcript-thread{flex-direction:column;gap:12px;display:flex}.ai-transcript-message{background:#fff;border:1px solid #e7ebf2;flex-direction:column;gap:8px;padding:14px;display:flex}.ai-transcript-message-head{color:#56647d;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-transcript-message-head small{color:#8a96ab}.ai-session-page{background:#f7f9fc;min-height:100vh;padding:24px}.ai-session-hero{background:#fff;border:1px solid #e7ebf2;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.ai-session-hero h2{margin-bottom:8px!important}.ai-session-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.ai-session-panel .ant-card-body{flex-direction:column;gap:12px;display:flex}.ai-session-loading{justify-content:center;align-items:center;min-height:240px;display:flex}.ai-session-card-selected{border-color:#1e40af;box-shadow:0 0 0 1px #1e40af29}.drawer-score-card{background:#f7faff;border-color:#dbeafe;justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.drawer-score-card .ant-card-body{justify-content:space-between;align-items:center;width:100%;padding:16px;display:flex}.drawer-score-card .ant-statistic-content{font-family:var(--font-fira-code);color:var(--ink)}.drawer-section{margin-top:20px}.drawer-label{color:#62708a;font-family:var(--font-fira-code);margin-bottom:8px;font-size:12px;display:block}.drawer-section .ant-typography{color:#56647d;line-height:1.7}.check-icon{color:#30a46c;margin-right:8px}.import-dropzone .ant-upload-drag-icon{color:#1e40af}.student-markers{align-items:center;gap:0;margin-left:2px;display:inline-flex}.student-markers .ant-btn,.profile-markers .ant-btn{color:#8792a6}.student-markers .ant-btn:hover,.profile-markers .ant-btn:hover{color:#1e40af;background:#eef4ff}.star-active{color:#d99000}.warning-active{color:#b42318}.timetable-week-wrap{overflow-x:auto}.timetable-week{border-top:1px solid #dfe6f0;border-left:1px solid #dfe6f0;grid-template-columns:82px repeat(7,minmax(110px,1fr));min-width:900px;display:grid}.timetable-week>div{border-bottom:1px solid #dfe6f0;border-right:1px solid #dfe6f0;min-height:68px;padding:9px 10px}.timetable-corner,.timetable-day-head,.timetable-period{color:#62708a;background:#f7f9fc;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.timetable-day-head.today,.timetable-cell.today{background:#f1f6ff}.timetable-day-head.today{color:#1e40af}.timetable-period.break,.timetable-cell.break{color:#8a6a25;background:#fbf8ef;min-height:42px}.timetable-cell{color:#13264a;background:#fff;flex-direction:column;justify-content:center;gap:4px;display:flex}.timetable-cell strong{font-size:13px}.timetable-cell small{color:#71809a;font-size:11px}.timetable-cell.current{background:#dff7eb;box-shadow:inset 0 0 0 2px #30a46c}.import-ai-chat{background:#f8fbff;border:1px solid #dbe6f5;flex-direction:column;gap:10px;padding:14px;display:flex}.import-ai-chat-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-ai-chat-head>div{flex-direction:column;gap:3px;display:flex}.import-ai-chat-thread{flex-direction:column;gap:8px;max-height:190px;padding:4px 0;display:flex;overflow-y:auto}.import-ai-message{background:#fff;border:1px solid #e5ebf4;align-items:flex-start;gap:8px;max-width:92%;padding:8px 10px;display:flex}.import-ai-message.user{background:#eef4ff;border-color:#cfe0ff;align-self:flex-end}.import-ai-message span{color:#1e40af;flex:none;font-size:12px;font-weight:600}.import-ai-message p{color:#13264a;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.import-ai-plan{border-top:1px solid #dbe6f5;flex-direction:column;gap:8px;padding-top:10px;display:flex}.import-ai-plan-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.import-ai-operation{align-items:flex-start;gap:8px;display:flex}.import-ai-operation pre{color:#56647d;white-space:pre-wrap;background:#fff;flex:1;margin:0;padding:8px;font-size:11px;overflow-x:auto}.admin-center{--admin-ink:#13264a}.admin-checks{border-top:1px solid #e4eaf3;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;display:flex}.admin-log-filters{margin-bottom:14px}.admin-center .ant-statistic-content{color:var(--admin-ink)}@media (max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.ai-chat-layout{grid-template-columns:1fr}.ai-chat-history{position:static}}@media (max-width:991px){.app-shell{background:var(--canvas)}.app-sider{flex-basis:0!important;width:0!important;min-width:0!important;max-width:0!important}.app-main-layout{margin-left:0}}@media (max-width:768px){.top-header{height:56px;padding:0 16px}.breadcrumbs .ant-typography,.breadcrumbs span,.updated-time,.header-status{display:none}.dashboard-content{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.app-sider .ant-layout-sider-zero-width-trigger{display:none}.mobile-tabbar{z-index:900;padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #13264a14;border-radius:8px;grid-template-columns:none;grid-auto-columns:minmax(58px,1fr);grid-auto-flow:column;gap:4px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;overflow-x:auto;box-shadow:0 10px 30px #102a5629}.mobile-tabbar button{color:#62708a;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:48px;font-size:11px;display:flex}.mobile-tabbar button .anticon{font-size:17px}.mobile-tabbar button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-tabbar button.active{color:#1e40af;background:#e6efff;font-weight:600}.mobile-tabbar button:focus-visible{outline-offset:2px;outline:2px solid #1e40af}.page-heading{flex-direction:column;align-items:flex-start;gap:14px}.page-heading h1.ant-typography{font-size:24px}.filter-bar{flex-wrap:wrap;align-items:stretch}.filter-label{width:100%}.filter-bar .ant-select{flex:1;min-width:140px}.filter-spacer{display:none}.filter-bar .ant-typography{flex:1}.dashboard-health{grid-template-columns:1fr;margin-top:0}.dashboard-health>div{flex-direction:column;align-items:flex-start}.dashboard-health span{white-space:normal}.metrics-grid,.analysis-grid,.right-rail{grid-template-columns:1fr}.missing-alert .ant-card-body{flex-direction:column;align-items:flex-start}.chart-summary{display:none!important}.risks-panel .ant-card-extra{width:100%}.risks-panel .ant-card-head{height:auto;padding:12px 14px;display:block}.risks-panel .ant-card-head-title{padding:0 0 10px}.risks-panel .ant-card-extra .ant-space,.risks-panel .ant-card-extra .ant-input{width:100%}.risks-panel .ant-table{overflow-x:auto}.risk-reason{min-width:210px}.module-toolbar,.modal-actions,.import-preview-controls{flex-direction:column;align-items:stretch}.module-toolbar .ant-input,.module-toolbar .ant-select,.module-toolbar .ant-space{width:100%}.module-toolbar .ant-space-item{max-width:100%}.detail-summary,.settings-grid,.notification-grid,.mapping-grid,.ai-result-grid,.readiness-grid{grid-template-columns:1fr}.settings-grid>.ant-card:last-child,.notification-grid>.ant-card:last-child,.readiness-panel{grid-column:auto}.settings-facts{grid-template-columns:1fr}.module-panel .ant-card-body{overflow-x:auto}.module-panel .ant-table-wrapper{min-width:0}.ai-transcript-message-head{flex-direction:column;align-items:flex-start}.ai-session-page{padding:16px}.ai-session-hero{flex-direction:column}}.ai-chat-layout{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:auto;grid-template-columns:248px minmax(0,1fr);align-items:stretch;min-height:0;margin:0;display:grid;overflow:hidden}.ai-chat-layout>*{min-height:0}.ai-chat-history{background:#f7f7f8;border-right:1px solid #eceef1;min-width:0;padding:14px 10px}.ai-history-top{color:#202123;justify-content:space-between;align-items:center;padding:4px 8px 12px;font-size:14px;display:flex}.ai-history-top .ant-btn{color:#5b5f67}.ai-chat-history>.ant-input-affix-wrapper{background:#fff;border-color:#e3e5e8;border-radius:6px;height:34px}.ai-history-list{flex-direction:column;gap:2px;max-height:calc(100vh - 230px);margin-top:12px;display:flex;overflow-y:auto}.ai-history-item{border-radius:6px;align-items:center;min-width:0;transition:background .16s;display:flex}.ai-history-item:hover,.ai-history-item.active{background:#e9e9eb}.ai-history-item>button{color:#343541;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;min-width:0;padding:9px 8px;display:flex}.ai-history-item>button span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ai-history-item>button small{color:#8a8d93;font-size:11px}.ai-history-item>.ant-btn{opacity:0;flex:none;margin-right:3px}.ai-history-item:hover>.ant-btn,.ai-history-item.active>.ant-btn,.ai-history-item>.ant-btn:focus-visible{opacity:1}.ai-chat-main{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.ai-chat-main-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;min-height:62px;padding:0 28px;display:flex}.ai-chat-agent{color:#202123;align-items:center;gap:10px;display:flex}.ai-chat-agent-mark,.ai-chat-welcome-mark{color:#fff;background:#202123;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.ai-chat-agent div{flex-direction:column;gap:2px;display:flex}.ai-chat-agent strong{font-size:14px;font-weight:600}.ai-chat-agent small{color:#8a8d93;font-size:11px}.ai-chat-status{color:#7a7d83;align-items:center;gap:6px;font-size:12px;display:flex}.ai-chat-status span{background:#22a06b;border-radius:50%;width:6px;height:6px}.ai-chat-messages{flex-direction:column;flex:auto;gap:26px;width:min(100%,840px);min-height:0;margin:0 auto;padding:38px 32px 28px;display:flex;overflow-y:auto}.ai-chat-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;display:flex}.ai-chat-welcome-mark{border-radius:12px;width:42px;height:42px;margin-bottom:18px}.ai-chat-welcome h2{color:#202123;margin:0 0 8px;font-size:24px;font-weight:600}.ai-chat-welcome p{color:#8a8d93;margin:0;font-size:14px}.ai-chat-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.ai-chat-suggestions button{color:#5d6168;cursor:pointer;background:#fff;border:1px solid #e1e3e6;border-radius:6px;padding:8px 12px;font-size:12px;transition:border-color .16s,background .16s}.ai-chat-suggestions button:hover{background:#f7f7f8;border-color:#b7bbc1}.ai-message-row{color:#2f3035;align-items:flex-start;gap:12px;width:100%;display:flex}.ai-message-row.user{justify-content:flex-end}.ai-message-avatar,.ai-message-user-mark{border-radius:6px;flex:none;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.ai-message-avatar{color:#fff;background:#202123}.ai-message-user-mark{color:#51545a;background:#e7e7e8;font-size:11px}.ai-message-content{min-width:0;max-width:calc(100% - 42px);line-height:1.7}.ai-message-row.user .ai-message-content{background:#f4f4f4;border-radius:12px;max-width:min(82%,680px);padding:10px 14px}.markdown-content{overflow-wrap:anywhere;font-size:14px}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 12px}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:#202123;margin:18px 0 8px;line-height:1.35}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:17px}.markdown-content h3{font-size:15px}.markdown-content ul,.markdown-content ol{margin:8px 0 14px;padding-left:24px}.markdown-content li{margin:4px 0}.markdown-content blockquote{color:#6b7078;border-left:3px solid #d1d5db;margin:12px 0;padding:2px 14px}.markdown-content code{font-family:var(--font-fira-code);background:#f1f1f1;border-radius:4px;padding:2px 5px;font-size:12px}.markdown-content pre{color:#f4f4f4;background:#202123;border-radius:6px;margin:12px 0;padding:14px;overflow-x:auto}.markdown-content pre code{color:inherit;background:0 0;padding:0}.markdown-content table{border-collapse:collapse;max-width:100%;margin:12px 0;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{text-align:left;border:1px solid #e1e3e6;padding:7px 10px}.markdown-content th{background:#f7f7f8;font-weight:600}.ai-source-row{color:#6b7078;flex-wrap:wrap;align-items:center;gap:8px;padding-left:40px;font-size:12px;display:flex}.ai-source-row .ant-space{gap:4px!important}.ai-confirm-box{background:#fffaf0;border:1px solid #f0d9a5;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.ai-confirm-box div{color:#6f531e;flex-direction:column;gap:4px;font-size:12px;display:flex}.ai-confirm-box strong{color:#4c3913;font-size:13px}.ai-composer-wrap{background:#fff;flex:none;width:min(100%,840px);margin:0 auto;padding:14px 32px 20px}.ai-composer-new{background:#fff;border:1px solid #cfd1d5;border-radius:12px;align-items:flex-end;gap:10px;padding:10px 12px 10px 16px;display:flex;box-shadow:0 4px 18px #00000014}.ai-composer-new:focus-within{border-color:#8d9198;box-shadow:0 4px 18px #0000001a}.ai-composer-new textarea{resize:none;color:#202123;width:100%;min-height:24px;max-height:180px;font:inherit;border:0;outline:0;font-size:14px;line-height:1.6}.ai-composer-new textarea::placeholder{color:#9a9da3}.ai-composer-new .ant-btn{flex:none}.ai-composer-wrap>small{color:#9a9da3;text-align:center;margin-top:8px;font-size:10px;display:block}@media (max-width:900px){.ai-chat-layout{grid-template-columns:210px minmax(0,1fr)}.ai-chat-messages,.ai-composer-wrap{padding-inline:22px}}@media (max-width:680px){.dashboard-content-ai{padding:12px 16px 76px}.ai-chat-layout{border-left:0;border-right:0;border-radius:0;flex-direction:column;min-height:0;display:flex}.ai-chat-history{border-bottom:1px solid #eceef1;border-right:0;flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.ai-history-top{flex:none;padding:0}.ai-chat-history>.ant-input-affix-wrapper{flex:1}.ai-history-list{flex-direction:row;gap:6px;max-height:none;margin:0;padding:0;display:flex;overflow-x:auto}.ai-history-item{background:#fff;border:1px solid #e5e7eb;flex:0 0 166px;min-width:166px}.ai-history-item>.ant-btn{opacity:1}.ai-chat-main{flex:auto;min-height:0}.ai-chat-main-header{flex:none;padding-inline:16px}.ai-chat-messages{padding:26px 16px 28px}.ai-composer-wrap{width:100%;padding:14px 16px 20px}.ai-message-row.user .ai-message-content{max-width:78%}}@media (prefers-reduced-motion:reduce){.ai-history-item,.ai-chat-suggestions button{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}
