/* 动体云 Web V2 · 运动中心 / 明亮业务界面 */
:root{--green:#2877f1;--green-dark:#1760d6;--mint:#edf4ff;--ink:#273548;--muted:#8390a2;--line:#e9edf3;--bg:#f3f5f8;--blue:#2877f1;--orange:#ff8a25;--purple:#8457ed;--pink:#ed7195;--radius:10px;--shadow:0 6px 24px #243f6510;--header:88px}
body{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-size:13px;background:var(--bg)}
.icon{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;stroke:none;fill:currentColor;font-weight:400;letter-spacing:0}
button:focus-visible,a:focus-visible{outline:3px solid #ffb545;outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#83b0ff!important;box-shadow:0 0 0 3px #2877f118}
.muted,.small.muted{color:#7c899b}.green{color:#17a181}.orange{color:#f28125}.blue{color:#2877f1}.purple{color:#8457ed}.small{font-size:12px}
.app-frame{min-height:100vh}.topbar{height:var(--header);position:relative;top:auto;padding:0 25px 0 26px;background:#273d58;border:0;backdrop-filter:none;color:#fff;gap:15px;box-shadow:0 2px 8px #1d2e4c14;z-index:35}
.top-brand{flex-shrink:0;padding:0;text-align:left}.topbar .brand{height:auto;padding:0;gap:10px}.brand-mark{width:39px;height:39px}.topbar .brand-name{font-size:25px;letter-spacing:2px;color:#fff}.topbar .brand-en{font-size:8px;letter-spacing:1.8px;color:#b8d1dc;margin-top:4px}
.top-modules{display:flex;align-items:stretch;height:100%;flex:1;justify-content:center;gap:3px;min-width:0}.top-module{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:9px 17px 8px;min-width:83px;position:relative;color:#cfdae7;white-space:nowrap;font-size:13px;transition:background .15s}.top-module>.icon{font-size:27px;width:29px;height:29px;color:#e3edf6}.top-module:hover{background:#ffffff0b;color:#fff}.top-module.active{background:#ffffff12;color:#fff}.top-module.active>.icon{color:#65ddcd}.top-module.active:after{content:"";position:absolute;left:25%;right:25%;height:3px;background:#58d6c1;bottom:0;border-radius:3px 3px 0 0}
.top-actions{gap:8px;flex-shrink:0}.topbar .campus-button{border:1px solid #ffffff18;border-radius:30px;background:#ffffff0c;height:35px;padding:0 13px;gap:7px;color:#edf3fa;font-size:12px}.topbar .campus-button .icon:first-child{font-size:16px;width:16px}.topbar .campus-button .icon:last-child{font-size:15px;width:15px}.topbar .icon-btn{color:#d3dfea;width:30px;height:34px}.topbar .icon-btn:hover{background:#ffffff12;color:#fff}.topbar .avatar{width:34px;height:34px;color:#294e73;background:#dcebf7;border:2px solid #ffffff45;font-size:13px}.user-top-avatar{padding:0 0 0 5px}.notification-dot{width:6px;height:6px;background:#ff9c60;top:5px;right:5px;border:1px solid #273d58}
.system-reminder{height:41px;display:flex;align-items:center;gap:10px;padding:0 27px;background:#f6fbff;border-bottom:1px solid #dce9f5;color:#687c91;font-size:12px}.system-reminder>.icon{color:#4c94e2;font-size:17px}.system-reminder strong{color:#416b94;font-weight:600}.system-reminder>button:not(.reminder-close){display:flex;align-items:center;gap:5px;font-size:12px;color:#2877f1;white-space:nowrap;margin-left:7px}.system-reminder>button .icon{font-size:15px}.system-reminder .reminder-close{margin-left:auto;padding:3px;color:#a3b0bc}.system-reminder .reminder-close .icon{font-size:18px}
.main{max-width:none;margin:0;min-width:0;padding:24px 26px 22px;animation:none}.shell{margin:0}.page-intro{margin:0 0 21px;align-items:center}.main .page-intro{margin-bottom:21px}.page-intro h1{font-size:23px;letter-spacing:.4px;font-weight:650;color:#28374b}.page-intro p{color:#8793a4;font-size:12px;margin-top:7px;line-height:1.7}.business-breadcrumb{display:flex;align-items:center;gap:6px;color:#9aa6b5;font-size:11px;margin-bottom:12px}.business-breadcrumb .icon{font-size:13px;width:13px;height:13px}.business-breadcrumb button{padding:0;color:#7e8ea3}.intro-actions{align-self:center;gap:9px}
.btn{height:34px;border-radius:5px;border-color:#dfe5ed;background:#fff;color:#65768b;font-size:12px;padding:0 13px;gap:6px;box-shadow:none}.btn .icon{width:16px;height:16px;font-size:16px}.btn:hover{border-color:#9bbdf5;color:#2877f1;background:#f7faff}.btn.primary{color:#fff;background:#2877f1;border-color:#2877f1;box-shadow:0 2px 5px #2877f10a}.btn.primary:hover{background:#1765dc;border-color:#1765dc;color:#fff}.btn.soft{background:#ecf3ff;color:#2877f1;border-color:#dceaff}.btn.text{color:#2877f1}.btn.mini{height:27px;font-size:11px;padding:0 9px}.btn.danger-btn{color:#dc6464;background:#fff3f3;border-color:#f5dada}
.panel{border-color:#e6ebf1;border-radius:10px;background:#fff;box-shadow:0 2px 9px #284e7705;overflow:hidden}.panel-head{padding:17px 22px;min-height:62px;border-bottom:1px solid #edf0f5;gap:10px}.section-title{font-size:16px;font-weight:650;gap:9px;color:#28384d}.title-dot{display:none}.heading-icon{display:inline-flex;align-items:center;justify-content:center;height:29px;width:29px;border-radius:7px;background:#eaf2ff;color:#347bf6;flex-shrink:0}.heading-icon .icon{font-size:19px}.heading-icon.orange{background:#fff0e5;color:#ff842c}.heading-icon.violet{background:#eee9ff;color:#8457ed}.heading-icon.teal{background:#e2f6f2;color:#11ab9b}.section-link{font-size:12px;color:#91a0b1;gap:3px}.section-link .icon{font-size:16px;width:16px}.panel-head .section-link{color:#91a0b1}.panel-head .small{font-size:11px}.panel-hint{color:#98a3b2;font-size:12px;margin-right:auto}
.badge{font-size:11px;background:#e6f6ee;color:#24a078;padding:4px 8px;border-radius:4px}.badge.blue-badge{color:#2877f1;background:#edf4ff}.badge.orange-badge{color:#ef8b25;background:#fff2e4}.badge.purple-badge{color:#8b5ae3;background:#f0eaff}.badge.pink-badge{color:#de7592;background:#ffedf2}.badge.gray-badge{color:#8994a3;background:#f0f2f5}.badge.red-badge{color:#d85d5d;background:#ffecec}
.avatar{background:#e0f5ed;color:#1d9c7a;font-size:12px}.avatar.blue-bg{background:#e5efff;color:#3c7dde}.avatar.pink-bg{background:#ffeaf0;color:#d97192}.avatar.purple-bg{background:#f0e8ff;color:#956ae0}.avatar.orange-bg{background:#fff0df;color:#d99437}
.segmented{background:#f1f4f8;border-radius:6px;padding:3px;gap:1px}.segmented button{font-size:12px;padding:5px 10px;color:#9aa6b6;border-radius:4px;white-space:nowrap}.segmented button.active{color:#2877f1;background:#fff;box-shadow:0 1px 4px #1d3b5b10}.segmented button .icon{font-size:14px;width:14px;height:14px}
/* 首页：参考双栏节奏，运动中心留在卡片之间。 */
.home-view{background:#f9f4ea;position:relative}.home-shell{position:relative;isolation:isolate;min-height:calc(100vh - 129px);background:linear-gradient(180deg,#fff0dc99 0,#fff3e3b3 38%,#edf7f2b3 78%,#eef4f7 100%)}.home-shell:before{content:"";position:absolute;left:0;right:0;top:70px;height:calc(100vh - 190px);min-height:650px;background:url('./assets/sports-center-panorama.png') center bottom/cover no-repeat;z-index:-1;opacity:.65;pointer-events:none}.home-shell:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fff0dd30,#fff8ec16 40%,#eef6f6 92%);pointer-events:none}.home-view .main{max-width:1510px;margin:0 auto;padding:34px 42px 24px}.home-greeting{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 2px 27px}.greeting-kicker{font-size:10px;font-weight:600;letter-spacing:1.8px;color:#a18b75;margin-bottom:8px}.home-greeting h1{font-size:24px;font-weight:650;letter-spacing:.1px;display:flex;gap:10px;align-items:center;color:#29384a}.greeting-sun{display:flex;align-items:center;color:#f5a32b;transform:rotate(-8deg)}.greeting-sun .icon{font-size:26px;width:28px;height:28px}.home-greeting p{margin-top:8px;color:#9b9e9f;font-size:12px}.home-greeting p>span{margin-left:17px;color:#a1a7ae}.home-greeting .btn{height:32px;background:#ffffffee;border:1px solid #fff;color:#7f8895;font-size:12px}.home-greeting .btn .icon{font-size:16px}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.home-primary,.home-secondary{display:flex;flex-direction:column;gap:20px;min-width:0}.home-view .panel{border:1px solid #e6e9eecc;background:#ffffffed;box-shadow:0 2px 10px #436f8d04;border-radius:11px}.home-view .panel-head{min-height:61px;padding:16px 21px}.home-todo .panel-head{justify-content:flex-start}.todo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:19px 21px 9px}.todo-tile{border-radius:8px;background:#f8f9fb;display:flex;align-items:center;gap:12px;padding:15px 16px;text-align:left;min-width:0;transition:.2s}.todo-tile:hover{background:#f0f4ff;transform:translateY(-2px)}.todo-symbol{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#e7efff;color:#3f7df6;flex-shrink:0}.todo-symbol .icon{font-size:27px;width:29px;height:29px}.todo-symbol.violet{background:#eee9ff;color:#8457ef}.todo-symbol.teal{background:#e2f6f4;color:#0faeaa}.todo-copy{display:flex;flex-direction:column;gap:5px;flex:1;color:#7f8997;font-size:12px}.todo-copy strong{font-size:28px;line-height:1.1;color:#293b50;font-weight:650}.todo-copy small{font-size:11px;font-weight:400;color:#a7b0bc;margin-left:7px}.todo-tile>.icon{font-size:17px;width:15px;color:#b4bdc8}.todo-expand{display:flex;align-items:center;justify-content:center;gap:4px;height:38px;font-size:12px;color:#a2acb9;width:100%}.todo-expand .icon{font-size:15px;width:15px}.home-todo>.task-panel{margin:0 21px 20px;border-radius:7px;border-color:#edf0f5}.home-todo .task-panel>.panel-head{display:none}.home-todo .attention-grid{display:none}.home-todo .task-list{padding:0 20px}.home-todo .task-title{font-size:13px}.home-todo .task-description{font-size:11px;color:#8c99ab}.home-todo .task-tabs{margin:12px 20px 0}.home-todo .task-bottom{padding:8px 20px 15px}
.home-quick .quick-grid{grid-template-columns:repeat(7,minmax(0,1fr));padding:24px 18px 25px;gap:8px}.home-quick .quick-action{font-size:12px;color:#647184;gap:10px;white-space:nowrap}.home-quick .quick-icon{height:45px;width:45px;border-radius:13px;background:#ff842a!important;color:#fff!important;box-shadow:0 4px 9px #ff862a13}.home-quick .quick-icon .icon{font-size:26px;width:27px;height:27px;color:#fff}.home-quick .quick-icon.blue{background:#2877f7!important}.home-quick .quick-icon.amber{background:#ffbe1a!important}.home-quick .quick-icon.coral{background:#ff6a3b!important}.home-quick .quick-icon.green{background:#0abf81!important}.home-quick .quick-icon.violet{background:#8a5af0!important}
.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:21px 6px 20px}.home-metrics .stat-card{background:none;border:0;border-right:1px solid #edf0f5;border-radius:0;padding:0 21px;overflow:visible}.home-metrics .stat-card:last-child{border:0}.home-metrics .stat-top{font-size:12px;color:#8995a6}.home-metrics .stat-icon{display:none}.home-metrics .stat-value{font-size:27px;margin-top:7px;color:#293b50;letter-spacing:0}.home-metrics .stat-value small{font-size:10px;margin-left:4px}.home-metrics .stat-bottom{font-size:10px;color:#a0aaba;margin-top:5px}.home-metrics .stat-card:nth-child(2) .stat-value{color:#f09932}.home-metrics .stat-card:nth-child(3) .stat-value{color:#337df0}.home-metrics .stat-card:nth-child(4) .stat-value{color:#8d64d8}.overview-panel>section.panel{border:0;box-shadow:none;background:none;border-radius:0}.overview-panel>section.panel>.panel-head{min-height:44px;border:0;padding-top:0;padding-bottom:0}.overview-panel>section.panel>.panel-head .heading-icon{display:none}.overview-panel>section.panel .section-title{font-size:13px}.overview-panel .chart-meta{margin:8px 22px 0}.overview-panel .chart-summary{font-size:19px}.overview-panel .chart-summary small{font-size:10px}.overview-panel .chart{height:214px}.overview-panel .chart-bottom{padding-bottom:20px}.chart text{fill:#8b99ac}.chart-bottom,.legend{color:#8c9aad;font-size:11px}.chart-tip{border-color:#dce8fb;color:#45638a;font-size:11px}.chart-summary small{color:#94a1b4}.legend i{background:#3478f6}.chart-meta{margin-top:17px}
.home-secondary .notice{padding:3px 21px 10px}.home-secondary .notice-item{padding:15px 0;gap:10px}.notice-title{color:#718198;font-size:12px!important;line-height:1.7!important}.notice-item .small{font-size:10px;color:#a0acbb;margin-top:6px}.notice-icon{width:27px;height:27px;color:#6c88e3;background:#eaf0ff;border-radius:7px}.notice-icon .icon{font-size:16px;width:16px;height:16px}.notice-icon.orange-bg{background:#fff1e3;color:#f0a044}.activity-panel .segmented button{padding:4px 6px;font-size:11px}.activity-body{padding:19px 21px 8px;display:flex;flex-direction:column;gap:12px}.activity-block{border-radius:8px;padding:15px 17px 17px;background:#fff5e9}.activity-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#f38c28;padding:0;width:100%}.activity-title .icon{font-size:18px;width:18px}.activity-title>.icon:last-child{margin-left:auto;font-size:15px;color:#d2b398}.activity-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px}.activity-numbers button{display:flex;flex-direction:column;gap:8px;align-items:center;padding:0}.activity-numbers strong{font-family:"Segoe UI",sans-serif;font-size:27px;line-height:1;color:#35465b;font-weight:600}.activity-numbers span{font-size:11px;color:#a2abba}.enrolled{background:#edf5ff}.enrolled .activity-title{color:#337ef1}.enrolled .activity-title>.icon:last-child{color:#a4bcd9}.activity-foot{font-size:9px;color:#a4afbf;line-height:1.7;padding:5px 21px 17px}
.campus-growth{min-height:205px;padding:24px 20px;position:relative;isolation:isolate;background:linear-gradient(120deg,#e4f5f1,#f0f7e8)!important}.growth-kicker{font-size:9px;letter-spacing:1.5px;color:#89afa0;margin-bottom:8px}.campus-growth h3{font-size:21px;line-height:1.5;font-weight:650;color:#347e70}.campus-growth p{font-size:10px;color:#8aa39a;max-width:145px;margin-top:7px;line-height:1.7}.campus-growth .btn{height:28px;font-size:10px;padding:0 8px;margin-top:13px;background:#fff9;border:1px solid #fff;color:#4f9785}.campus-growth .btn .icon{font-size:13px;width:13px}.campus-growth .welcome-mascot{position:absolute;width:177px;height:177px;object-fit:contain;right:-23px;bottom:0;z-index:-1;transform:rotate(-5deg)}.home-local-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#9caab6;margin-top:-5px}.home-local-note .icon{font-size:12px;width:12px;height:12px}.theme-sky .home-shell{background:linear-gradient(170deg,#eaf4ff,#e6f3f5)}.theme-ivory .home-shell{background:#f9f5eb}.theme-sky .home-shell:before,.theme-ivory .home-shell:before,.theme-sky .home-shell:after,.theme-ivory .home-shell:after{display:none}
/* 业务页：顶部模块 + 左侧子导航 + 表内筛选、动作、数据。 */
.worktabs{height:38px;background:#fff;border-bottom:1px solid #e4e9f1;padding:0 22px;display:flex;align-items:stretch;justify-content:space-between;gap:15px}.worktabs-inner{display:flex;align-items:stretch;gap:0;min-width:0;overflow:auto;scrollbar-width:none}.worktab{display:flex;align-items:center;gap:3px;border:0;border-right:1px solid #edf0f4;border-radius:0;color:#8996a8;padding:0 11px;font-size:11px;position:relative;white-space:nowrap}.worktab>button:not(.tab-close){display:flex;align-items:center;gap:6px;padding:0;height:100%;font-size:11px}.worktab .icon{width:14px;height:14px;font-size:14px}.worktab.active{background:#f1f6ff;color:#2877f1}.worktab.active:after{content:"";height:2px;background:#2877f1;position:absolute;left:0;bottom:0;right:0}.worktab .tab-close{height:18px;width:18px;padding:0;display:flex;align-items:center;justify-content:center;color:#a6b1c1}.worktab .tab-close:hover{color:#f27a64;background:#f8ece7}.worktab .tab-close .icon{font-size:12px;width:12px;height:12px}.worktabs-help{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:#8c99aa}.worktabs-help .icon{font-size:15px;width:15px}.business-layout{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100vh - 167px)}.business-layout>.sidebar{position:relative;inset:auto;width:auto;z-index:20;padding:0;background:#f1f3f6;border-right:1px solid #e1e6ee;display:flex;flex-direction:column;transition:none}.module-title{height:64px;display:flex;align-items:center;gap:9px;padding:0 23px;color:#56677f;font-size:15px;font-weight:600;border-bottom:1px solid #e6eaf0}.module-title .icon{font-size:20px;color:#7c8ea4}.module-nav{padding:13px 11px;flex:1;overflow:auto;max-height:none}.module-caption{font-size:11px;color:#a4adbc;padding:10px 12px 7px;letter-spacing:.5px}.module-link{display:flex;align-items:center;gap:12px;padding:13px 13px;margin-bottom:4px;width:100%;border-radius:6px;font-size:13px;text-align:left;white-space:nowrap;color:#738198}.module-link:hover{background:#e9eef7;color:#2877f1}.module-link.active{background:#e3edfc;color:#2877f1;font-weight:600}.module-link>.icon{font-size:15px;width:15px;height:15px;margin-left:auto}.module-dot{width:5px;height:5px;border-radius:50%;background:#adb8c7;flex-shrink:0}.module-link.active .module-dot{background:#2877f1}.module-bottom{padding:20px 22px;border-top:1px solid #e2e7ed;margin-top:50px;color:#a3aebb;font-size:10px}.module-bottom>button{display:flex;align-items:center;gap:6px;color:#8d9bb0;padding:15px 0 0;font-size:11px}.module-bottom>button .icon{font-size:15px;width:15px}.business-view .main{max-width:none;padding:22px 25px 25px}.side-collapsed .business-layout{grid-template-columns:60px minmax(0,1fr)}.side-collapsed .module-title{padding:0;justify-content:center}.side-collapsed .module-title>span,.side-collapsed .module-nav,.side-collapsed .module-bottom>span,.side-collapsed .module-bottom button>span{display:none}.side-collapsed .module-bottom{padding:16px 0;display:flex;justify-content:center}.side-collapsed .module-bottom button{padding:0}.side-collapsed .module-title .icon{font-size:23px}.mobile-shade{display:none}
.page-stats{gap:15px;margin-bottom:20px}.page-stats .stat-card{padding:16px 19px;border-radius:8px;min-height:112px;border-color:#e5eaf1;background:#fff}.stat-top{font-size:12px;color:#8692a4}.stat-icon{width:32px;height:32px;background:#e2f5ef;color:#24a388;border-radius:8px}.stat-icon .icon{font-size:20px;width:20px;height:20px}.stat-icon.blue-bg{background:#eaf2ff;color:#4686ee}.stat-icon.orange-bg{background:#fff1e1;color:#f5a340}.stat-icon.purple-bg{background:#f0e9ff;color:#9c70e8}.page-stats .stat-value{font-size:27px;margin-top:0;color:#2a465f}.stat-card:nth-child(2) .stat-value{color:#ec993c}.stat-card:nth-child(3) .stat-value{color:#3a80e5}.stat-card:nth-child(4) .stat-value{color:#9871ce}.stat-value small{color:#a2afbf;font-size:11px}.stat-bottom{font-size:10px;color:#a1adbc;margin-top:4px}.compact-stats .stat-card{min-height:106px;border-top:2px solid #77cbb9}.compact-stats .stat-card:nth-child(2){border-top-color:#f8be74}.compact-stats .stat-card:nth-child(3){border-top-color:#86b0fa}.compact-stats .stat-card:nth-child(4){border-top-color:#bd9be9}
.list-tabs{display:flex;gap:27px;align-items:stretch;border-bottom:1px solid #e8edf4;padding:0 20px;height:55px}.list-tabs>button{position:relative;font-size:13px;color:#8d9aab;padding:0 4px;white-space:nowrap}.list-tabs>button>span{font-family:"Segoe UI",sans-serif;padding:1px 5px;border-radius:4px;background:#f2f5f9;font-size:10px;color:#a0adbd;margin-left:7px}.list-tabs>button.active{color:#2877f1;font-weight:600}.list-tabs>button.active:after{content:"";height:2px;background:#2877f1;position:absolute;left:0;right:0;bottom:-1px}.list-tabs>button.active>span{color:#2877f1;background:#eaf2ff}.toolbar{padding:17px 20px;border-color:#edf0f6;gap:12px}.filter-toolbar{background:#f9fafc;margin:17px 20px 0;border:1px solid #eef1f6;border-radius:6px;padding:14px 16px}.filters{gap:9px}.input-wrap input{min-width:230px;padding-left:34px}.input-wrap>.icon{font-size:16px;width:16px;height:16px;left:11px;color:#a2afbf}input,select,textarea{border-color:#dfe5ee;color:#687c95;border-radius:5px;font-size:12px;min-height:34px;padding:8px 10px}input::placeholder,textarea::placeholder{color:#b5becc}select{padding-right:27px}.filter-toolbar .input-wrap input{background:#fff}.table-actionbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;color:#64758c;font-size:12px}.table-actionbar strong{font-weight:600;color:#2877f1;margin:0 5px}.table-actionbar .btn{height:30px;font-size:11px}.table-wrap{overflow:auto;scrollbar-width:thin;scrollbar-color:#ced7e4 transparent}.data-table th{font-size:12px;font-weight:500;color:#7d8da4;background:#f2f5f9;padding:14px 17px;border-top:1px solid #e9edf3;border-bottom:1px solid #e6ebf3}.data-table td{font-size:12px;color:#73839a;padding:17px 17px;border-bottom:1px solid #edf0f5}.data-table th:first-child,.data-table td:first-child{padding-left:22px}.data-table tbody tr:hover{background:#f8fbff}.data-table .primary-text,.main .data-table .primary-text{color:#4c6582;font-size:13px;font-weight:550}.data-table .primary-text:hover{color:#2877f1}.data-table .secondary-text{font-size:10px;color:#a0adbf;line-height:1.5;margin-top:5px}.table-actions{gap:14px}.table-actions button,.data-table .table-actions button{font-size:12px;color:#3c82e6;padding:4px 0}.table-actions button:hover{color:#165cbb}.class-progress{min-width:115px}.class-progress .between{font-size:11px;gap:13px;color:#8a9bb0}.progress{height:4px;background:#edf1f7;margin-top:7px}.progress>span{background:#79b2f8}.pagination{font-size:11px;padding:17px 22px;color:#96a3b6}.page-num{width:28px;height:28px;border-color:#e2e9f3;border-radius:4px}.page-num.active{background:#edf4ff;color:#2877f1;border-color:#a5c7fc}.table-footer{font-size:11px;color:#91a0b3;padding:16px 22px}.info-banner{color:#6686af;background:#eff5ff;border-color:#dce9fe;border-radius:6px;font-size:12px;line-height:1.8}.info-banner>.icon{font-size:19px}.empty{color:#98a6b9}.empty>.icon{color:#b8c9df;font-size:40px;width:44px;height:44px}.empty h3{font-size:14px;color:#7d91ad}.empty p{font-size:12px;color:#a0adbf}.footnote{font-size:10px;color:#a3afbf;padding-top:25px;gap:10px}.live-indicator:before{background:#6abda7}.mini-table th{font-size:11px;color:#8c9aac;background:#f4f7fb}.mini-table td{font-size:12px;color:#6f8299;border-color:#edf1f6;padding:17px 7px}.mini-course{color:#4e6a89;font-size:12px}.mini-course>div>div{font-size:10px!important;color:#99a8bc!important}.course-dot{background:#52bbab;width:4px;height:29px}.course-dot.orange-bg{background:#ffad56}.course-dot.purple-bg{background:#ad8ae9}.course-dot.blue-bg{background:#69a6f1}
.calendar-top{padding:18px 20px;border-color:#e5eaf3}.calendar{border-color:#e4eaf3}.calendar-days{background:#fafbfd}.cal-day{color:#8a9ab0;font-size:11px;border-color:#e8edf4}.cal-day strong{color:#647c99}.cal-day.today{color:#2877f1}.cal-day.today strong{background:#2877f1;color:#fff}.cal-times{color:#a2aec1}.cal-times>div{font-size:10px;border-color:#edf1f7}.cal-lane{background-image:linear-gradient(to bottom,transparent 73px,#eaf0f7 73px);border-color:#e7edf4}.cal-lane.current{background-color:#f5f9ff}.cal-event{background:#e3f5ee;border-left:3px solid #3db89a;color:#38927b;border-radius:5px}.cal-event strong{font-size:11px!important}.cal-event span{font-size:10px;color:#74a599}.cal-event.orange-event{background:#fff0df;border-color:#f3ad54;color:#d9923b}.cal-event.purple-event{background:#f0e8fc;border-color:#ac84e1;color:#9b73cc}.cal-event.blue-event{background:#e7f1ff;border-color:#79adf3;color:#6095d5}.cal-event.orange-event span{color:#c6a174}.cal-event.purple-event span{color:#b09bc8}.cal-event.blue-event span{color:#8daace}
.card-grid{gap:20px}.course-card{padding:20px}.course-cover{border-radius:8px;background:#e2f3ed;height:145px;margin-bottom:20px}.course-cover.orange-cover{background:#fff0dc}.course-cover.purple-cover{background:#efe8fa}.course-cover.blue-cover{background:#e6f1ff}.course-cover.yellow-cover{background:#f8f3da}.course-cover.pink-cover{background:#fbe9ef}.sport-pictogram{position:absolute;inset:13px 0 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#6cb59f}.sport-pictogram>.icon{font-size:68px;width:72px;height:72px;filter:drop-shadow(0 4px 3px #86ad9717)}.sport-pictogram>span{font-size:8px;letter-spacing:2.2px;opacity:.6}.orange-cover .sport-pictogram{color:#e6ac5b}.purple-cover .sport-pictogram{color:#b29ad4}.blue-cover .sport-pictogram{color:#8db5e5}.yellow-cover .sport-pictogram{color:#b6ad6b}.pink-cover .sport-pictogram{color:#d6a2b4}.course-cover>.badge{position:relative;z-index:1}.course-card h3{font-size:16px;color:#3c5574}.course-card p,.course-meta,.course-card-footer>.small{color:#98a5b7;font-size:11px;line-height:1.8}.course-price{color:#365d87;font-size:22px}.course-price small{color:#b0bbca}.course-card-footer{border-color:#edf0f5}.lead-card{border-color:#e8edf5;box-shadow:0 2px 6px #26486d04;border-radius:8px}.kanban-col{background:#eef2f7;border-radius:9px}.kanban-head{color:#7389a5}.lead-card .lead-sub,.lead-card .lead-note{color:#8a9bb2}.lead-card .lead-note{background:#f8fafd}.lead-footer{border-color:#edf1f7;color:#a0adbe}.report-card{color:#547da9}.report-card p{color:#92a5bd}.report-card>.icon{font-size:25px;width:28px;height:28px}.growth-card{background:#f1ecfc;color:#9772ce}.growth-card h3{color:#936acb}.growth-card p{color:#aa96c4}.attendance-card h3{color:#54708d}.attendance-card .lesson-time,.lesson-meta{color:#99a9bd}.announcement-card p{color:#8a9bb1}.announcement-card h3{color:#5c7797}.notice-state{color:#98a8bd}.person-card h3{color:#52708f}.person-card p,.person-metrics span{color:#9aabbe}.person-metrics strong{color:#5b7c9e}.person-metrics{border-color:#e8eef6}.bar{background:#75a8f1}.bar-group>span{color:#9dafc5}.settings-section h2{color:#4e6c8e}.settings-section>p,.setting-row p{color:#94a5ba}.settings-nav button{color:#8da0b6}.settings-nav button.active{background:#eaf2ff;color:#2877f1}.setting-row h3{color:#627f9e}.setting-row{border-color:#e8eef6}.switch.on{background:#5c9cf5}.donut-legend{color:#8fa1b8}.timeline-item{border-color:#e2eaf5}.timeline-item h3{color:#5c7d9f}.timeline-item p{color:#8fa3ba}
/* 弹窗继续沿用完整业务交互，表单使用同一套视觉。 */
.backdrop{background:#172d4c55;backdrop-filter:blur(3px)}.modal,.drawer{border-color:#e1e8f2;border-radius:12px;box-shadow:0 24px 100px #122b4840}.modal-head{border-color:#e9eef5}.modal-head h2,.drawer-head h2{color:#365674}.modal-head p,.drawer-head p{color:#9aaabd}.modal-footer{background:#fafcff;border-color:#e7edf5}.field label{color:#7085a2;font-size:12px}.field input,.field select,.field textarea{font-size:13px;min-height:38px}.field small{color:#a6b2c5}.detail-grid dt{color:#94a5bc}.detail-grid dd{color:#5e7b9a}.detail-tabs{border-color:#e0eaf5}.detail-tabs button{color:#9aacc2;font-size:12px}.detail-tabs button.active{color:#2877f1}.detail-tabs button.active:after{background:#2877f1}.bill-summary{background:#f2f7ff;border-color:#dae8fb;color:#849dbb}.bill-summary strong{color:#477cae}.notice-detail p{color:#8c9fb7;font-size:13px;line-height:1.9}.notice-detail h3{color:#547696}.task-title{color:#69819c}.task-check{border-color:#cddaea}.task.completed .task-check{background:#4bb99b;border-color:#4bb99b}.task-tabs button.active{color:#2877f1}.task-tabs button.active:after{background:#2877f1}.toast{color:#377193;background:#fff;border-color:#dfebf6;box-shadow:0 6px 25px #244d7924}.popover{border-color:#e4eaf3;border-radius:9px;color:#67809e;box-shadow:0 12px 40px #193c6624;top:92px}.pop-title{color:#90a3ba;border-color:#e8eef6}.popover button:hover{background:#f0f6ff}.popover button.active{color:#2877f1;background:#eff5ff}.popover button .icon{color:#8ba5c5}.form-error{color:#da7067;background:#fff3f1}
/* 登录页：全屏运动场景 + 原创云朵伙伴 + 双栏窗口。 */
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;background:#1f3c58;padding:85px 30px 90px;overflow:hidden}.login-screen:before{content:"";position:absolute;inset:0;background:url('./assets/sports-center-panorama.png') center 68%/cover no-repeat;z-index:-2;transform:scale(1.025)}.login-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#132c495c,#14304d66 45%,#11273cdb);z-index:-1}.login-top{position:absolute;left:39px;top:26px;display:flex;align-items:center;gap:25px;color:#e3eef7}.login-top .brand{padding:0;height:auto;gap:10px}.login-top .brand-name{font-size:25px;color:#fff}.login-top .brand-en{font-size:8px;color:#c0d6e2}.login-top>span{border-left:1px solid #ffffff45;padding-left:23px;font-size:12px;letter-spacing:.5px;color:#d4e1eb}.login-window{width:1080px;min-height:600px;display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;box-shadow:0 30px 100px #031f3a55;border:1px solid #ffffff80}.login-art{background:linear-gradient(150deg,#d7f2ff,#cdeffd 65%,#c8eeec);position:relative;padding:38px 40px;overflow:hidden;min-height:600px}.login-art:before{content:"";position:absolute;width:470px;height:470px;border-radius:50%;border:1px solid #ffffff90;right:-160px;bottom:-5px;box-shadow:0 0 0 45px #ffffff16,0 0 0 46px #ffffff80,0 0 0 90px #ffffff0f}.login-art:after{display:none}.login-edition{color:#6296ae;font-size:10px;font-weight:600;letter-spacing:1.4px;display:flex;gap:10px;align-items:center;margin-bottom:23px}.login-edition>span{font-size:10px;letter-spacing:1px;border:1px solid #85bcd566;background:#ffffff5e;padding:3px 7px;border-radius:4px}.login-art h1{font-size:34px;line-height:1.5;font-weight:800;letter-spacing:1px;color:#294f84;position:relative;z-index:2}.login-art h1>span{color:#236f99}.login-art>p{font-size:12px;color:#71a3b8;line-height:1.9;margin-top:10px;position:relative;z-index:2}.login-capabilities{display:flex;gap:7px;margin-top:20px;position:relative;z-index:2}.login-capabilities>span{display:flex;align-items:center;gap:6px;border-radius:30px;font-size:11px;color:#4d87b0;background:#ffffff65;border:1px solid #fff9;padding:6px 11px}.login-capabilities .icon{font-size:14px;width:14px;height:14px}.login-art .welcome-mascot{position:absolute;width:345px;height:345px;object-fit:contain;bottom:-15px;right:12px;z-index:1;filter:drop-shadow(0 12px 10px #5279a011)}.mascot-stage{position:absolute;width:300px;height:75px;right:26px;bottom:-16px;background:#ffffff3d;border:1px solid #fff6;border-radius:50%}.login-art-note{position:absolute;left:40px;bottom:41px;font-size:11px;line-height:1.8;color:#6c9daf;width:100px;z-index:2}.login-form{background:#fff;padding:43px 57px 29px;display:flex;flex-direction:column;justify-content:center;min-width:0}.login-form .eyebrow{font-size:10px;color:#9eb2c7;letter-spacing:2px;margin:0 0 11px}.login-form h1{font-size:25px;color:#30465f;letter-spacing:.5px;font-weight:650}.login-form>p:not(.login-demo-note){font-size:12px;color:#a1afbe;margin-top:9px;margin-bottom:0;line-height:1.8}.login-institution{display:flex;align-items:center;gap:12px;border:1px solid #eaf0f7;border-radius:7px;background:#f7faff;padding:13px 14px;margin:24px 0 23px}.login-institution>.icon{color:#6e9fd4;font-size:25px;width:27px;height:27px}.login-institution>div{display:flex;flex-direction:column;gap:5px}.login-institution strong{color:#738fae;font-size:12px;font-weight:500}.login-institution span{font-size:10px;color:#a8b7c9}.login-form .field{margin-bottom:17px;gap:8px}.login-form label{font-size:12px;color:#8d9fb4}.login-form input,.login-form select{height:43px;background:#fff;border-color:#dde6f0;width:100%;color:#6984a2;font-size:13px;border-radius:5px}.login-input{position:relative}.login-input>.icon{position:absolute;left:13px;top:12px;color:#a5b8cd;font-size:18px;width:18px;height:18px}.login-input>input{padding-left:40px}.login-form>.btn{width:100%;height:43px;font-size:14px;font-weight:500;justify-content:center;border-radius:5px;margin-top:3px;gap:15px;background:#2877f1}.login-divider{display:flex;align-items:center;gap:10px;color:#b4bfcd;font-size:10px;justify-content:center;margin:25px 0 13px;white-space:nowrap}.login-divider:before,.login-divider:after{content:"";height:1px;background:#edf1f6;flex:1}.login-form .login-demo-note{text-align:center;font-size:10px;color:#b0bdce;line-height:1.9;position:relative;margin:0}.login-demo-note>.icon{font-size:11px;width:11px;height:11px;vertical-align:-1px;margin-right:4px}.login-footer{position:absolute;left:40px;right:40px;bottom:27px;display:flex;justify-content:space-between;align-items:center;color:#c0ceda;font-size:10px;letter-spacing:.5px}
/* 收缩布局仍保持业务可用，不把桌面导航挤成细缝。 */
@media(min-width:1700px){.topbar{padding-left:34px;padding-right:32px}.top-module{padding-left:25px;padding-right:25px;min-width:100px}.topbar .top-actions{gap:12px}.home-view .main{padding-top:40px}.home-greeting{margin-bottom:29px}.home-greeting h1{font-size:26px}.home-grid{grid-template-columns:minmax(0,1fr) 370px;gap:22px}.home-primary,.home-secondary{gap:22px}.home-view .panel-head{padding:18px 23px;min-height:67px}.todo-grid{padding:20px 23px 8px;gap:18px}.todo-tile{padding:18px;gap:15px}.todo-symbol{width:52px;height:52px}.todo-copy strong{font-size:31px}.home-quick .quick-grid{padding:28px 21px}.home-quick .quick-icon{width:50px;height:50px}.home-metrics{padding-top:25px;padding-bottom:25px}.home-metrics .stat-value{font-size:30px}.business-layout{grid-template-columns:210px minmax(0,1fr)}.business-view .main{padding:26px 31px}.data-table td{padding-top:20px;padding-bottom:20px}}
@media(max-width:1400px){.topbar{padding-left:21px;padding-right:18px;gap:10px}.topbar .brand-name{font-size:23px}.topbar .brand-mark{width:36px;height:36px}.top-module{padding-left:12px;padding-right:12px;min-width:74px;font-size:12px}.top-module>.icon{font-size:26px}.topbar .top-actions{gap:4px}.topbar .top-help{display:none}.home-view .main{padding-left:32px;padding-right:32px;max-width:1390px}.home-grid{grid-template-columns:minmax(0,1fr) 318px;gap:18px}.home-primary,.home-secondary{gap:18px}.todo-grid{gap:11px;padding-left:19px;padding-right:19px}.todo-tile{padding:14px 12px;gap:9px}.todo-symbol{width:44px;height:44px}.todo-copy{font-size:11px}.todo-copy strong{font-size:27px}.home-quick .quick-action{font-size:11px}.home-metrics .stat-card{padding:0 17px}.home-secondary .panel-head{padding-left:18px;padding-right:18px}.activity-body{padding-left:18px;padding-right:18px}.activity-block{padding:14px 13px 16px}.activity-foot{padding-left:18px;padding-right:18px}}
@media(max-width:1180px){.topbar{gap:8px;padding-left:17px;padding-right:13px}.topbar .brand-en{display:none}.topbar .brand-name{font-size:22px}.topbar .brand-mark{width:34px;height:34px}.top-module{padding-left:10px;padding-right:10px;min-width:69px;font-size:11px}.topbar .campus-button{padding:0 10px}.topbar .campus-button>.icon:first-child{display:none}.topbar .top-actions>.icon-btn[aria-label="消息中心"]{display:none}.top-actions{gap:3px}.home-view .main{padding:28px 26px 24px}.home-grid{grid-template-columns:minmax(0,1fr) 296px;gap:16px}.home-primary,.home-secondary{gap:16px}.home-view .panel-head{padding-left:18px;padding-right:18px}.section-title{font-size:15px}.home-todo .panel-hint{font-size:11px}.todo-grid{padding:16px 16px 7px;gap:9px}.todo-tile{padding:13px 10px;gap:8px}.todo-symbol{width:38px;height:42px;border-radius:11px}.todo-symbol .icon{font-size:24px;width:25px}.todo-tile>.icon{display:none}.todo-copy{font-size:10px}.todo-copy strong{font-size:26px}.home-quick .quick-grid{padding-left:12px;padding-right:12px;gap:5px}.home-quick .quick-icon{width:41px;height:41px}.home-quick .quick-action{font-size:10px}.home-metrics .stat-card{padding:0 13px}.home-metrics .stat-top{font-size:11px}.home-metrics .stat-value{font-size:25px}.home-metrics .stat-bottom{font-size:9px}.business-layout{grid-template-columns:175px minmax(0,1fr)}.business-view .main{padding:21px 20px}.module-title{padding-left:19px}.module-link{font-size:12px;padding-left:10px;padding-right:10px}.filter-toolbar{margin-left:16px;margin-right:16px;padding:13px}.input-wrap input{min-width:212px}.data-table th,.data-table td{padding-left:14px;padding-right:14px}.page-stats .stat-card{padding:14px 15px}.page-stats{gap:12px}}
@media(max-width:1000px){.topbar{height:80px;padding-left:16px;padding-right:12px;gap:8px}.topbar .brand-name{display:none}.topbar .brand{gap:0}.top-modules{justify-content:flex-start;overflow:auto;scrollbar-width:none}.top-module{min-width:67px;padding:7px 9px;font-size:11px;gap:7px}.top-module>.icon{font-size:24px;width:25px;height:25px}.topbar .campus-button{font-size:11px;padding:0 10px}.topbar .top-actions>.icon-btn{display:none}.home-greeting h1{font-size:22px}.home-greeting .btn{font-size:11px;padding:0 10px}.greeting-kicker{font-size:9px}.home-greeting p{font-size:11px}.home-greeting p>span{display:none}.home-grid{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.home-view .main{padding-left:21px;padding-right:21px}.home-primary,.home-secondary{gap:14px}.todo-symbol{width:34px;height:37px}.todo-symbol .icon{font-size:22px;width:22px}.todo-tile{gap:7px;padding:12px 8px}.todo-copy{font-size:9px}.todo-copy strong{font-size:24px}.todo-copy small{margin-left:3px;font-size:9px}.home-quick .quick-grid{grid-template-columns:repeat(4,1fr);gap:20px 8px}.home-quick .quick-action{font-size:11px}.home-metrics{grid-template-columns:repeat(2,1fr);gap:20px 0}.home-metrics .stat-card:nth-child(2){border:0}.home-metrics .stat-value{font-size:26px}.home-metrics .stat-bottom{font-size:10px}.business-layout{grid-template-columns:158px minmax(0,1fr)}.module-title{font-size:13px;padding-left:16px}.module-link{font-size:11px;padding:12px 10px}.business-view .main{padding:20px 18px}.page-intro p{font-size:11px;max-width:360px}.page-intro h1{font-size:22px}.page-stats{gap:10px}.page-stats .stat-card{padding:12px;min-height:106px}.page-stats .stat-top{font-size:11px}.page-stats .stat-icon{width:26px;height:26px}.page-stats .stat-value{font-size:25px}.page-stats .stat-bottom{font-size:9px}.page-intro .intro-actions .btn{padding:0 10px;font-size:11px}.analysis-grid{grid-template-columns:1fr}.login-window{min-height:560px}.login-art{min-height:560px;padding:35px}.login-art h1{font-size:30px}.login-art .welcome-mascot{width:295px;height:295px;right:-5px}.login-form{padding:35px 40px}.login-form h1{font-size:23px}.login-top>span{font-size:11px}.login-screen{padding-left:35px;padding-right:35px}}
@media(max-width:760px){.topbar{padding:0 12px;height:auto;min-height:70px;flex-wrap:wrap;gap:0;align-items:center}.topbar .top-brand{height:58px;display:flex;align-items:center}.topbar .brand-mark{width:31px;height:31px}.topbar .brand-name{display:block;font-size:20px;margin-left:8px;letter-spacing:1px}.topbar .top-actions{margin-left:auto;gap:7px}.topbar .campus-button{height:30px;font-size:10px;padding:0 10px}.topbar .avatar{width:28px;height:28px;font-size:11px}.top-modules{flex:0 0 calc(100% + 24px);order:3;margin:0 -12px;height:65px;padding:0 6px;justify-content:space-between;background:#243951}.top-module{min-width:64px;padding:6px 7px 8px;gap:6px;font-size:10px}.top-module>.icon{font-size:23px;width:24px;height:24px}.system-reminder{padding:0 14px;height:35px;gap:6px;font-size:10px}.system-reminder>.icon{font-size:14px;width:15px;height:15px}.reminder-copy{display:none}.system-reminder>button:not(.reminder-close){font-size:10px;margin-left:3px}.system-reminder .reminder-close .icon{font-size:15px}.home-shell{min-height:calc(100vh - 158px)}.home-view .main{padding:23px 15px 20px}.home-greeting{margin:0 0 19px;align-items:flex-start;gap:10px}.home-greeting h1{font-size:19px;gap:4px;white-space:nowrap}.greeting-kicker{font-size:8px;letter-spacing:1px;margin-bottom:7px}.greeting-sun .icon{font-size:21px;width:23px;height:23px}.home-greeting p{font-size:10px;margin-top:8px}.home-greeting>.flex{flex-direction:column;align-items:flex-end;gap:5px}.home-greeting .btn{font-size:9px;height:25px;padding:0 6px}.home-greeting .btn .icon{font-size:12px;width:12px;height:12px}.home-grid{grid-template-columns:1fr;gap:15px}.home-primary,.home-secondary{gap:15px}.home-secondary{display:grid;grid-template-columns:1fr;align-items:initial}.home-view .panel-head{padding:14px 16px;min-height:54px}.home-view .section-title{font-size:14px}.home-view .heading-icon{width:25px;height:25px;border-radius:6px}.home-view .heading-icon .icon{font-size:17px;width:18px;height:18px}.home-todo .panel-hint{font-size:10px}.todo-grid{padding:14px 12px 6px;gap:8px}.todo-symbol{width:31px;height:36px;border-radius:9px}.todo-symbol .icon{font-size:21px;width:23px;height:23px}.todo-tile{padding:12px 7px;gap:7px}.todo-copy{font-size:9px;gap:6px}.todo-copy strong{font-size:23px}.todo-expand{height:33px;font-size:10px}.home-quick .quick-grid{grid-template-columns:repeat(4,1fr);gap:22px 9px;padding:22px 12px}.home-quick .quick-action{font-size:10px;gap:8px}.home-quick .quick-icon{width:42px;height:42px;border-radius:12px}.home-quick .quick-icon .icon{font-size:25px;width:26px;height:26px}.home-quick .section-link{font-size:10px}.home-metrics .stat-top{font-size:11px}.home-metrics .stat-value{font-size:25px}.overview-panel .chart-meta{margin-left:16px;margin-right:16px}.overview-panel .chart-summary{font-size:17px}.overview-panel .chart{height:180px}.chart-meta .legend{font-size:9px;gap:8px}.chart-summary small{font-size:9px}.home-view .schedule-mini{padding:10px 13px 3px}.mini-table th{font-size:10px}.mini-table td{font-size:10px;padding:14px 6px}.mini-course{font-size:11px}.mini-table .mini-course>div>div{font-size:9px!important}.table-footer{padding:13px 16px;font-size:10px}.activity-body{padding-top:15px}.activity-block{padding:16px 18px}.activity-numbers{margin-top:18px}.activity-foot{font-size:9px}.campus-growth{min-height:200px;margin-top:0!important}.campus-growth .welcome-mascot{width:195px;height:195px;right:0}.home-local-note{grid-column:auto;font-size:9px}.notice-panel{grid-column:auto;grid-row:auto}.worktabs{height:36px;padding:0 9px;gap:5px}.worktabs .mobile-toggle{display:flex;width:27px;height:35px;color:#7f91a8;background:none}.worktab{font-size:10px;padding:0 9px}.worktab>button:not(.tab-close){font-size:10px;gap:4px}.worktabs-help{display:none}.business-layout{display:block;position:relative;min-height:calc(100vh - 194px)}.business-layout>.sidebar{display:flex;position:absolute;width:190px;inset:0 auto 0 0;transform:translateX(-100%);background:#f1f4f8;box-shadow:none;transition:transform .2s;z-index:25}.business-layout>.sidebar.open{transform:translateX(0);box-shadow:10px 10px 35px #16385d28}.module-title{height:57px;font-size:14px;padding-left:22px}.module-link{font-size:12px;padding:13px}.module-bottom{font-size:10px}.side-collapsed .business-layout{display:block}.side-collapsed .module-nav{display:block}.side-collapsed .module-title>span{display:block}.side-collapsed .module-title{justify-content:flex-start;padding-left:22px}.business-view .main{padding:18px 14px 22px}.main .page-intro{margin-bottom:17px;gap:12px;flex-wrap:wrap;align-items:flex-start}.page-intro h1{font-size:22px}.page-intro p{font-size:11px;line-height:1.8;max-width:none}.business-breadcrumb{font-size:10px;margin-bottom:10px;gap:4px}.business-breadcrumb .icon{font-size:12px;width:12px;height:12px}.page-intro .intro-actions{width:100%;max-width:none;justify-content:flex-start}.page-intro .intro-actions .btn{height:31px;font-size:11px;padding:0 11px}.page-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.page-stats .stat-card{padding:13px 15px;min-height:104px}.page-stats .stat-top{font-size:11px}.page-stats .stat-value{font-size:26px;margin-top:2px}.page-stats .stat-bottom{font-size:9px}.list-tabs{height:49px;gap:18px;padding-left:16px;padding-right:16px}.list-tabs>button{font-size:12px;padding:0 2px}.list-tabs>button>span{font-size:9px;margin-left:4px;padding:1px 4px}.filter-toolbar{margin:13px 13px 0;padding:12px;gap:10px}.filter-toolbar .filters{gap:8px;flex:1}.filter-toolbar .input-wrap{width:100%}.input-wrap input{min-width:0;width:100%;font-size:11px}.filter-toolbar select{flex:1;max-width:170px;font-size:11px;height:32px;min-height:32px}.filter-toolbar .btn{height:32px;font-size:11px;padding:0 11px}.filter-toolbar>.small{display:none}.table-actionbar{padding:14px 16px;gap:10px;font-size:11px}.table-actionbar .small{font-size:9px}.table-actionbar .btn{font-size:9px;height:27px;padding:0 7px}.table-actionbar .btn .icon{font-size:12px;width:13px;height:13px}.data-table th{font-size:11px;padding:13px 15px}.data-table td{font-size:11px;padding:15px}.data-table th:first-child,.data-table td:first-child{padding-left:17px}.main .data-table .primary-text{font-size:12px}.data-table .secondary-text{font-size:9px}.table-actions button{font-size:11px}.pagination{padding:14px 16px;font-size:10px}.page-num{width:25px;height:25px}.toolbar{padding:15px 16px}.panel-head{padding:15px 17px}.card-grid,.people-list,.attendance-list,.report-cards{grid-template-columns:1fr}.course-card{padding:18px}.course-card h3{font-size:16px}.course-card p{font-size:11px}.card-grid{gap:16px}.course-cover{height:150px}.calendar-top{gap:12px;padding:14px;flex-wrap:wrap}.calendar-top>.flex{flex-wrap:wrap}.calendar-top h3{font-size:13px}.calendar-top .btn{height:29px;font-size:10px;padding:0 8px}.calendar-top select{font-size:11px;height:30px;min-height:30px}.calendar-top .segmented button{font-size:10px}.footnote{font-size:8px;flex-wrap:wrap;padding-top:21px;gap:7px}.footnote .live-indicator{font-size:8px}.modal{width:calc(100% - 28px);max-height:90vh}.modal-body{padding:20px}.modal-head{padding:20px}.modal-footer{padding:15px 20px}.form-grid{gap:16px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:12px;min-height:38px}.popover{top:67px;right:13px;max-width:calc(100vw - 26px)}.login-screen{padding:88px 18px 69px;min-height:100vh;align-items:center}.login-top{top:22px;left:24px;gap:0}.login-top .brand-name{font-size:23px}.login-top .brand-mark{width:34px;height:34px}.login-top>span{display:none}.login-window{width:100%;max-width:450px;grid-template-columns:1fr;min-height:0;border-radius:15px}.login-art{min-height:215px;padding:24px 26px}.login-edition{font-size:8px;margin-bottom:12px;gap:7px;letter-spacing:1px}.login-edition>span{font-size:8px;padding:2px 5px}.login-art h1{font-size:24px;line-height:1.5;letter-spacing:.5px}.login-art>p{font-size:9px;max-width:170px;margin-top:5px}.login-capabilities{gap:5px;margin-top:12px}.login-capabilities>span{font-size:8px;padding:4px 7px;gap:4px}.login-capabilities .icon{font-size:11px;width:11px;height:11px}.login-art .welcome-mascot{width:199px;height:199px;bottom:-8px;right:-30px}.login-art:before{width:270px;height:270px;right:-130px;bottom:-40px}.login-art-note{display:none}.mascot-stage{width:180px;right:-15px;height:40px}.login-form{padding:29px 26px 25px}.login-form .eyebrow{font-size:9px;margin-bottom:9px}.login-form h1{font-size:23px}.login-form>p:not(.login-demo-note){font-size:11px;margin-top:8px}.login-institution{margin-top:20px;margin-bottom:20px;padding:11px 12px}.login-institution strong{font-size:11px}.login-institution span{font-size:9px}.login-form .field{margin-bottom:15px}.login-form label{font-size:11px}.login-form input,.login-form select{height:40px;min-height:40px;font-size:12px}.login-input>.icon{top:11px}.login-form>.btn{height:42px;font-size:13px}.login-divider{margin-top:20px;font-size:9px}.login-demo-note{font-size:9px!important}.login-footer{left:20px;right:20px;bottom:23px;justify-content:center;font-size:8px}.login-footer>span:last-child{display:none}}
.home-shell:before{top:0;opacity:.42;mask-image:linear-gradient(180deg,transparent,#000 43%,#000);-webkit-mask-image:linear-gradient(180deg,transparent,#000 43%,#000)}
.cal-lane{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 73px,#eaf0f7 73px,#eaf0f7 74px)}
.cal-day.today{background:#f0f6ff}
@media(min-width:861px) and (max-width:1000px){.topbar .brand-name{display:block;font-size:20px}.topbar .brand{gap:7px}.top-module{min-width:60px;padding-left:6px;padding-right:6px}.topbar .campus-button{padding-left:8px;padding-right:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.data-table td{color:#5b6879}.data-table th{color:#69778a}.data-table .primary-text,.main .data-table .primary-text{color:#35465b}.data-table .secondary-text{color:#8390a1}.table-actions button,.data-table .table-actions button{color:#2877de}.page-intro p{color:#7b8899}.module-link{color:#68778c}.muted,.small.muted{color:#7c8899}.mini-table td{color:#65768b}.notice-title{color:#687b94}.field label{color:#647891}.business-view .page-intro{margin-bottom:18px}.business-breadcrumb{margin-bottom:8px}.business-view .page-intro p{margin-top:5px}.business-view .panel-head{min-height:58px}.business-view .list-tabs{height:49px}.business-view .table-actionbar{padding-top:13px;padding-bottom:13px}.business-view .filter-toolbar{margin-top:14px;padding-top:12px;padding-bottom:12px}.business-view .data-table td{padding-top:15px;padding-bottom:15px}
.login-form{max-width:none;width:auto;margin:0}.login-art h1{margin-top:0}
.course-cover>.badge{position:absolute;left:12px;top:12px;font-size:10px;background:#ffffffc9;color:#7a8d95;padding:4px 7px}
.sport-pictogram{padding-top:7px}.sport-pictogram>.icon{font-size:62px;width:68px;height:68px}
@media(max-width:760px){.topbar .user-top-avatar{display:flex;align-items:center}.topbar .top-actions>.icon-btn[aria-label="全局搜索"]{display:inline-flex;width:25px;height:29px}.topbar .top-actions>.icon-btn[aria-label="全局搜索"]>.icon{font-size:17px;width:18px;height:18px}.business-layout>.sidebar.open{z-index:45}.sidebar.open+.mobile-shade{z-index:40;background:#172f4f44}.course-cover>.badge{font-size:10px}}
/* 一体化学员概览：人数摘要与可操作的经营线索。 */
.student-overview{display:grid;grid-template-columns:258px minmax(0,1fr);margin-bottom:20px;overflow:hidden;border-color:#e3eaf0;box-shadow:0 3px 12px #294c6c04}
.student-overview-main{background:linear-gradient(120deg,#e8f6f1,#f3faf7);padding:18px 22px 15px;border-right:1px solid #e3eee9}
.overview-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#6f8f87}.overview-label>span:first-child{font-weight:600;color:#416b62}.overview-label>span:last-child{font-size:10px;color:#91aaa2}
.overview-population{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:12px 0 9px}.population-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:39px;height:42px;border-radius:11px;background:#fff9;color:#2b9e85;border:1px solid #fff}.population-symbol .icon{font-size:24px;width:26px;height:26px}.overview-population>span:nth-child(2){display:flex;align-items:baseline;gap:10px;flex:1}.population-label{font-size:11px;color:#6d8b81}.overview-population strong{font-size:35px;line-height:1.1;font-weight:650;letter-spacing:-.5px;color:#2a6758}.overview-population strong small{font-size:10px;font-weight:400;margin-left:5px;color:#8aa39a}.overview-population>.icon{font-size:17px;width:17px;color:#88b7a6}.overview-population:hover strong{color:#138568}.overview-caption{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:10px;color:#8da49b}.overview-caption>button{display:flex;align-items:center;gap:1px;padding:0;color:#5b9583;font-size:10px}.overview-caption>button .icon{width:12px;height:12px;font-size:12px}
.overview-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:17px 0 15px}.overview-insight{position:relative;text-align:left;padding:0 22px;border-right:1px solid #edf0f4;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.overview-insight:last-child{border:0}.insight-top{display:flex;align-items:center;gap:7px;color:#6d7e93;font-size:12px;width:100%;white-space:nowrap}.insight-symbol{display:flex;align-items:center;justify-content:center;height:25px;width:25px;border-radius:8px;background:#fff0dc;color:#f0a03c;flex-shrink:0}.insight-symbol>.icon{font-size:16px;width:17px;height:17px}.insight-top>.icon:last-child{font-size:14px;width:14px;margin-left:auto;color:#b8c3cf}.insight-value{font-size:29px;font-weight:600;color:#e79532;line-height:1.2;margin:9px 0 5px;padding-left:1px}.insight-value>small{font-size:10px;font-weight:400;color:#a0adbd;margin-left:6px}.overview-insight p{font-size:10px;color:#9ba8b9;line-height:1.7;white-space:nowrap}.insight-link{font-size:10px;display:flex;align-items:center;gap:4px;margin-top:10px;color:#b39063}.insight-link .icon{font-size:12px;width:12px;height:12px;transition:transform .15s}.overview-insight:hover{background:#fafcff}.overview-insight:hover .insight-link .icon{transform:translateX(3px)}.overview-insight.blue .insight-symbol{background:#e9f1ff;color:#4b89ed}.overview-insight.blue .insight-value{color:#3c7de1}.overview-insight.blue .insight-link{color:#7a9bc9}.overview-insight.violet .insight-symbol{background:#f1eafd;color:#9a77d8}.overview-insight.violet .insight-value{color:#9a78cf}.overview-insight.violet .insight-link{color:#a394be}.query-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:5px;background:#eaf2ff;color:#4683d7;font-size:11px}.query-chip .icon{font-size:13px;width:13px;height:13px}
.page-stats{gap:0;background:#fff;border:1px solid #e5eaf1;border-radius:9px;overflow:hidden}.page-stats .stat-card{background:none;border:0;border-right:1px solid #edf0f5;border-radius:0;box-shadow:none;padding:17px 21px}.page-stats .stat-card:last-child{border-right:0}
@media(min-width:1700px){.student-overview{grid-template-columns:290px minmax(0,1fr)}.student-overview-main{padding:20px 25px 18px}.overview-insights{padding:20px 0 18px}.overview-insight{padding:0 27px}.insight-value{font-size:32px}.overview-population strong{font-size:38px}}
@media(max-width:1180px){.student-overview{grid-template-columns:225px minmax(0,1fr)}.student-overview-main{padding-left:17px;padding-right:17px}.overview-insight{padding-left:16px;padding-right:16px}.insight-top{font-size:11px;gap:6px}.overview-insight p{font-size:9px}.insight-top>.icon:last-child{display:none}.population-label{font-size:10px}.overview-population{gap:8px}.overview-population>span:nth-child(2){gap:8px}.population-symbol{width:33px;height:38px}.population-symbol .icon{font-size:22px}.page-stats .stat-card{padding-left:17px;padding-right:17px}}
@media(max-width:1000px){.student-overview{grid-template-columns:200px minmax(0,1fr)}.student-overview-main{padding-left:15px;padding-right:15px}.overview-insight{padding-left:12px;padding-right:12px}.insight-symbol{width:22px;height:23px;border-radius:6px}.insight-symbol .icon{font-size:14px;width:15px;height:15px}.insight-top{font-size:10px}.overview-insight p{font-size:9px;white-space:normal}.overview-population>span:nth-child(2){gap:7px}.overview-population strong{font-size:32px}.overview-population>.icon{display:none}.population-symbol{width:30px;height:36px}.insight-value{font-size:27px}.insight-link{font-size:9px}.overview-caption{font-size:9px}.overview-caption>button{font-size:9px}}
@media(max-width:760px){.student-overview{grid-template-columns:1fr;margin-bottom:16px}.student-overview-main{padding:15px 18px 13px;border:0;border-bottom:1px solid #e1ede8}.overview-label{font-size:11px}.overview-label>span:last-child{font-size:10px}.overview-population{padding:8px 0 7px;gap:12px}.population-symbol{width:36px;height:36px}.population-symbol .icon{font-size:23px;width:24px;height:24px}.overview-population>span:nth-child(2){gap:15px}.population-label{font-size:12px}.overview-population strong{font-size:34px}.overview-population>.icon{display:flex;margin-left:auto;font-size:18px}.overview-caption{font-size:10px}.overview-caption>button{font-size:10px}.overview-insights{padding:16px 0}.overview-insight{padding:0 12px}.insight-top{font-size:10px;gap:5px;flex-wrap:wrap}.insight-symbol{width:22px;height:22px;border-radius:6px}.insight-value{font-size:26px;margin-top:10px}.insight-value>small{font-size:9px;margin-left:4px}.overview-insight p{font-size:9px;min-height:28px;line-height:1.6;max-width:95px}.insight-link{font-size:9px;margin-top:7px;gap:1px}.page-stats .stat-card{padding:14px 16px;min-height:104px}.page-stats .stat-card:nth-child(2){border-right:0}.page-stats .stat-card:nth-child(-n+2){border-bottom:1px solid #edf0f5}}
@media(max-width:760px){.filter-toolbar .input-wrap{flex:0 0 100%;min-width:0}.filter-toolbar #status-filter{flex:1;min-width:110px;max-width:none}.filter-toolbar .filters{width:100%}}
@media(min-width:761px) and (max-height:800px){.login-screen{padding-top:72px;padding-bottom:62px}.login-window{min-height:0;width:970px}.login-art{min-height:510px;padding:29px 35px}.login-art h1{font-size:30px}.login-edition{margin-bottom:17px}.login-art .welcome-mascot{width:295px;height:295px;bottom:-12px;right:8px}.login-art-note{left:35px;bottom:32px;font-size:10px}.login-form{padding:25px 43px}.login-form h1{font-size:23px}.login-form .eyebrow{font-size:9px;margin-bottom:8px}.login-form>p:not(.login-demo-note){font-size:11px;margin-top:7px}.login-institution{margin-top:19px;margin-bottom:17px;padding:10px 12px}.login-form .field{margin-bottom:14px}.login-form input,.login-form select{height:38px;min-height:38px;font-size:12px}.login-input>.icon{top:10px}.login-form>.btn{height:39px;font-size:13px}.login-divider{margin-top:20px;margin-bottom:10px}.login-form .login-demo-note{font-size:9px}.login-top{top:20px;left:30px}.login-footer{bottom:20px;left:30px;right:30px}}

/* Live Beijing greeting and Hongshan forecast */
.home-greeting h1{gap:0}
.greeting-weather{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;flex-shrink:0;border-radius:5px;cursor:help;color:#8291a3}
.greeting-weather .icon{font-size:28px;width:30px;height:30px}
.greeting-weather.weather-sun{color:#f5a32b}.greeting-weather.weather-night{color:#8973cd}.greeting-weather.weather-cloud{color:#7e94aa}.greeting-weather.weather-rain{color:#4f98d7}.greeting-weather.weather-snow{color:#50aaba}.greeting-weather.weather-storm{color:#8b70ba}
.home-greeting .home-context{display:flex;align-items:center;flex-wrap:wrap;gap:7px 17px;line-height:1.6}
.home-greeting .home-context>span{margin-left:0}.home-greeting .home-context .home-weather-detail{color:#77879a}
.home-weather-source{display:inline-block;font-size:10px;color:#8492a1;margin-top:4px;line-height:1.4}.home-weather-source:hover{text-decoration:underline;color:#2877f1}
@media(max-width:760px){.greeting-weather{margin-left:6px}.greeting-weather .icon{font-size:23px;width:25px;height:25px}.home-greeting .home-context{gap:3px 10px}.home-weather-source{font-size:9px}}
