:root{color:#1d2129;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f6f8}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}.enroll-reject-modal .enroll-reject-field{flex-direction:column;align-items:stretch;display:flex}.enroll-reject-modal .enroll-reject-field textarea{field-sizing:fixed;overflow-wrap:anywhere}.enroll-reject-modal .enroll-reject-count{text-align:right;color:#00000073;white-space:nowrap;pointer-events:none;margin-top:4px}.enroll-reject-modal .enroll-reject-count.is-over{color:#ff4d4f}.series-drawer{container-type:normal;width:min(720px,100vw)!important}.enroll-roster .enroll-nowrap,.enroll-roster .enroll-status-text{white-space:nowrap}.enroll-roster .enroll-name{white-space:normal;word-break:break-word}.enroll-save{flex-direction:column;align-items:flex-start;display:flex}body{background:#f5f6f8;font-family:PingFang SC,HarmonyOS Sans SC,Noto Sans SC,system-ui,-apple-system,sans-serif}.center-screen{place-items:center;min-height:100vh;display:grid}.brand{align-items:center;gap:10px;padding:16px 16px 12px;display:flex}.brand-mark{color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:grid}.brand-mark.lg{background:#ffffff2e;border-radius:14px;width:52px;height:52px;font-size:18px}.brand-copy{min-width:0}.brand-title{color:#1d2129;font-weight:600;line-height:1.3}.brand-sub{color:#86909c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-chip{cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.user-chip:hover{background:#f6f7f9}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel{background:#fff;border:1px solid #f2f3f5;border-radius:14px;padding:16px}.panel-grid{grid-template-columns:1fr 1.2fr;gap:16px;display:grid}@media (width<=960px){.panel-grid{grid-template-columns:1fr}}.auth-shell{background:#f5f6f8;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fff;border-radius:20px;grid-template-columns:1.05fr 1fr;width:min(920px,100%);display:grid;overflow:hidden;box-shadow:0 8px 24px #1d21291a}.auth-panel.narrow{grid-template-columns:1fr;width:min(460px,100%)}.auth-hero{color:#fff;flex-direction:column;justify-content:flex-end;min-height:420px;padding:48px 36px;display:flex;position:relative;overflow:hidden}.auth-hero:before,.auth-hero:after{content:"";background:#ffffff14;border-radius:50%;position:absolute}.auth-hero:before{width:280px;height:280px;top:-80px;right:-60px}.auth-hero:after{width:180px;height:180px;bottom:80px;left:40px}.auth-card{box-shadow:none!important;padding:8px 4px!important}.tenant-item{cursor:pointer;border:1px solid #e5e6eb;border-radius:12px;margin-bottom:8px;transition:background .12s,border-color .12s;padding:12px!important}.tenant-mark{color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.tenant-item:hover{background:var(--skin-bg,#eef4fa);border-color:var(--skin-border,#bfd6ed)}.grant-row{background:#fff;border:1px solid #e5e6eb;border-radius:10px;gap:8px;padding:12px;display:grid}.app-header{background:#fff;border-bottom:1px solid #e5e6eb;justify-content:space-between;align-items:center;gap:12px;height:60px;padding-inline:24px;display:flex}.header-context{align-items:center;gap:8px;min-width:0;display:flex}.app-content{min-width:0;padding:24px}.sidebar-inner{background:#fff;max-height:100vh;position:sticky;top:0;overflow-y:auto}.menu-group{align-items:center;gap:8px;display:inline-flex}.menu-label{display:block;position:relative}.menu-active{background:var(--edu-control-item-bg-active,#eef4fa);z-index:0;border-radius:10px;transition:background .12s;position:absolute;inset:-6px -8px}.menu-label-text{z-index:1;position:relative}.toolbar{width:100%;margin-bottom:16px}.member-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-alert{margin-bottom:16px}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form-grid>*{min-width:0}.result-block{margin-top:20px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:16px 4px 24px;display:grid}.settings-content{max-width:720px;padding:8px}.settings-divider{background:#f2f3f5;height:1px;margin:28px 0}.audit-json{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7f9;border-radius:10px;padding:16px}.page-loading{text-align:center;padding:80px 0}.ant-table-cell{overflow-wrap:anywhere}.ant-select,.ant-picker{max-width:100%}.ant-table-tbody>tr>td{transition:background .12s}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:48px 16px;display:flex}.empty-mark{color:#86909c;background:0 0;border-radius:0;place-items:center;width:160px;height:120px;margin-bottom:12px;font-size:24px;display:grid}.empty-art{width:160px;height:120px}.duo-icon{flex:none;display:block}.overview{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border-secondary);border-radius:14px;align-items:stretch;gap:24px;margin:0 0 16px;padding:16px 20px;display:flex}.overview-total{align-items:center;gap:12px;min-width:140px;display:flex}.overview-num{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:34px}.overview-num.sm{margin-right:6px;font-size:20px;line-height:28px}.overview-label{color:var(--ant-color-text-tertiary);font-size:12px;line-height:18px}.overview-counts{flex-direction:column;justify-content:center;gap:4px;display:flex}.overview-chart{flex:1;min-width:0}.bars{align-items:flex-end;gap:8px;height:88px;margin-top:8px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.bar{background:var(--brand-tint-200);border-radius:4px 4px 0 0;width:100%;min-height:2px}.bar.peak{background:var(--brand-primary)}.bar-count{color:var(--ant-color-text-secondary);font-size:12px;line-height:16px}.bar-label{color:var(--ant-color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;line-height:16px;overflow:hidden}.empty-title{color:#1d2129;font-size:14px;font-weight:500}.empty-desc{color:#86909c;max-width:360px;margin-top:4px;font-size:12px}.upload-drop{text-align:center;cursor:pointer;background:#fafbfc;border:1px dashed #e5e6eb;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.upload-drop .anticon{color:#4e7cff;font-size:28px}.upload-file{border:1px solid #e5e6eb;border-radius:10px;margin-top:12px;padding:12px}.upload-file.failed{background:#fff2f0;border-color:#ff4d4f}.file-badge{background:var(--edu-color-fill-tertiary,#f6f7f9);min-width:36px;height:22px;color:var(--edu-color-text-secondary,#4e5969);border-radius:6px;place-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-grid}.file-badge.ext-pdf{background:color-mix(in srgb, var(--edu-color-error) 12%, #fff);color:var(--edu-color-error)}.file-badge.ext-ppt{background:color-mix(in srgb, var(--edu-color-warning) 12%, #fff);color:var(--edu-color-warning)}.file-badge.ext-xls{background:color-mix(in srgb, var(--edu-color-success) 12%, #fff);color:var(--edu-color-success)}.file-badge.ext-doc{background:var(--edu-color-primary-bg);color:var(--edu-color-primary)}.link-secondary.ant-btn-link{color:var(--edu-color-text-secondary,#4e5969)}.link-secondary.ant-btn-link:hover{color:var(--edu-color-text,#1d2129)}.table-skeleton{gap:12px;padding:8px 0;display:grid}.sk-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:16px;display:grid}.sk-cell{background:linear-gradient(90deg, var(--edu-color-fill-tertiary,#eef0f3) 25%, var(--edu-color-fill-quaternary,#f6f7f9) 37%, var(--edu-color-fill-tertiary,#eef0f3) 63%);background-size:400% 100%;border-radius:4px;height:16px;animation:1.2s linear infinite sk;display:block}@keyframes sk{0%{background-position:100% 0}to{background-position:0 0}}.pw-rules{flex-direction:column;gap:4px;margin:-8px 0 16px;font-size:12px;display:flex}.pw-rules-row{flex-direction:row;gap:16px}.pw-rules .anticon{margin-right:6px}.subline{color:#86909c;margin-top:2px;font-size:12px;display:block}.week-grid{background:#fff;border:1px solid #f2f3f5;border-radius:14px;grid-template-columns:56px repeat(7,1fr);display:grid;overflow:auto}.week-head,.week-hour,.week-cell{border-bottom:1px solid #f2f3f5;border-right:1px solid #f2f3f5}.week-head{color:#4e5969;z-index:1;background:#f6f7f9;justify-content:center;align-items:center;height:40px;font-size:12px;display:flex;position:sticky;top:0}.week-hour{color:#86909c;justify-content:center;align-items:flex-start;height:56px;padding-top:2px;font-size:12px;display:flex}.week-cell{height:56px;position:relative}.week-cell.today{background:color-mix(in srgb, var(--edu-color-primary,#2a78c2) 35%, transparent)}.week-block{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e6eb;border-radius:8px;padding:4px 6px 4px 8px;transition:transform .12s cubic-bezier(.22,1,.36,1);position:absolute;left:2px;right:2px;overflow:hidden}.week-block:active{transform:scale(.98)}.week-slide{animation:.28s cubic-bezier(.22,1,.36,1) week-slide}@keyframes week-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.week-block .bar{width:3px;position:absolute;top:0;bottom:0;left:0}.member-name{align-items:center;gap:8px;display:flex}.member-card{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #e5e6eb;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.member-card:hover{background:#f6f7f9}.panel-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.kv{grid-template-columns:72px 1fr;gap:10px 12px;display:grid}.kv span:nth-child(odd){color:#86909c}.session-modal .ant-modal{transform-origin:top}.session-modal.ant-zoom-enter .ant-modal,.session-modal.ant-zoom-appear .ant-modal{animation-name:session-modal-in}@keyframes session-modal-in{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:none}}.alert-light{white-space:normal;height:auto}.alert-campus{color:var(--ant-color-text-secondary);font-size:12px;line-height:1.4}.alert-note{padding-bottom:28px}.settings-save{scroll-margin-bottom:16px}@media (width<=767px){.alert-table .ant-table-thead>tr>th,.alert-table .ant-table-tbody>tr>td{vertical-align:top}.alert-table .alert-op{width:92px;max-width:92px;padding-left:8px;padding-right:8px}.alert-table .ant-table table{table-layout:fixed}}@media (prefers-reduced-motion:reduce){.sk-cell,.week-slide{animation:none}.week-block:active{transform:none}.session-modal.ant-zoom-enter .ant-modal,.session-modal.ant-zoom-appear .ant-modal{animation-name:none}}@media (width<=640px){.app-content{padding:14px 10px}.app-header{padding-inline:10px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head>.ant-space{width:100%}.panel{border-radius:12px;padding:12px}.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr;gap:16px}.header-context>.ant-typography:first-of-type{display:none}}.plan-copy{min-width:0;max-width:100%}.plan-copy .ant-select-content,.plan-copy .ant-select-input{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-copy-popup{min-width:280px;max-width:calc(100vw - 32px)}.plan-copy-popup .ant-select-item-option-content{white-space:normal}.plan-copy-option{white-space:normal;line-height:22px}.plan-copy-detail{color:#86909c;font-size:12px}@media (width<=640px){.plan-copy{width:100%}.plan-copy-popup{max-width:calc(100vw - 48px)}.enroll-deadline-popup{max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:0;width:auto!important;position:fixed!important;inset:auto auto 8px 8px!important;transform:none!important}.enroll-deadline-popup .ant-picker-datetime-panel{flex-direction:column}.enroll-deadline-popup .ant-picker-time-panel-column{height:140px}}@media (width<=800px){.auth-panel{grid-template-columns:1fr}.auth-hero{min-height:180px}}.detail-table{border-collapse:collapse;width:100%;margin-top:12px}.detail-table th{color:#86909c;text-align:left;vertical-align:top;width:88px;padding:8px 12px 8px 0;font-weight:400}.detail-table td{padding:8px 0}.trial-card,.followup,.followup-form{border:1px solid #e5e6eb;border-radius:8px;margin-top:12px;padding:12px}.trial-card{justify-content:space-between;gap:12px;display:flex}.stat-card{background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.stat-amount{font-size:28px;font-weight:600;line-height:1.2}.stat-link{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;padding:0;display:flex}.bar-row{grid-template-columns:96px 1fr 40px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.bar-label,.bar-count{color:#4e5969;font-size:13px}.bar-track{background:#f2f3f5;border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:var(--edu-color-primary,#2a78c2);border-radius:4px;min-width:2px;height:100%;display:block}.report-cards-filters{width:100%;max-width:100%}.report-cards-filters .ant-space-item,.report-cards-filters .ant-select{max-width:100%}.report-cards-table{max-width:100%;overflow:hidden}.report-cards-table .ant-table-wrapper{max-width:100%}.report-cards-table .ant-table-thead>tr>th{white-space:nowrap;word-break:keep-all}.report-cards-actions{flex-wrap:nowrap}.report-cards-table .report-cards-op .ant-btn-link{padding-inline:4px}.report-cards-drawer .ant-drawer-body{overflow-x:hidden}.report-cards-drawer .ant-table-wrapper,.report-cards-drawer .ant-table,.report-cards-drawer .ant-table-container,.report-cards-drawer .ant-table-content{max-width:100%}
