/* Mobile sports app presentation; desktop and public login keep their themes. */
.mobile-sports-home,.mobile-tabbar,.mobile-profile-heading,.mobile-profile-links{display:none}
@media(max-width:768px){
body.gms-admin-theme{--el-color-primary:#ff642e;--el-color-primary-light-3:#ff926d;--el-color-primary-light-5:#ffb297;--el-color-primary-light-7:#ffd0c0;--el-color-primary-light-8:#ffe0d5;--el-color-primary-light-9:#fff2ed;--el-color-primary-dark-2:#d64d1f;--el-text-color-primary:#22252d;--el-text-color-regular:#545762;--el-border-radius-base:11px;background:#f6f7fb}
.gms-school-workspace .page-content{background:#f6f7fb;padding:16px 14px 24px;scroll-padding-bottom:24px}.gms-school-workspace .topbar{background:#fff;border-bottom:0;height:62px;min-height:62px}.gms-school-workspace .topbar-title{font-size:17px;color:#22242b;font-weight:750}.gms-school-workspace .workspace-location-label{color:#999aa4}.gms-school-workspace:has(.mobile-sports-home) .topbar{display:none}.gms-school-workspace:has(.sport-profile-page) .topbar{display:none}.gms-school-workspace:has(.mobile-sports-home) .page-content{background:#fff;padding:0 16px 22px}
.mobile-tabbar{display:flex;flex-shrink:0;justify-content:space-around;align-items:center;min-height:65px;padding:5px 8px max(7px,env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #f0f0f3;box-shadow:0 -3px 15px #30304404;z-index:20}.mobile-tabbar a,.mobile-tabbar button{appearance:none;border:0;background:none;text-decoration:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:1;min-height:51px;color:#9698a3;font:inherit;font-size:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-tabbar .el-icon{font-size:23px}.mobile-tabbar .active{color:#ff622e;font-weight:650}.mobile-tabbar .active .el-icon{filter:drop-shadow(0 3px 5px #ff632e22)}
.mobile-sports-home{display:block}.desktop-home-content{display:none}.sport-top-tabs{display:flex;align-items:center;gap:22px;padding:24px 0 12px}.sport-top-tabs>a{text-decoration:none;color:#a5a6ad;font-size:18px;font-weight:700}.sport-top-tabs .selected{font-size:25px;line-height:1.3;font-weight:800;letter-spacing:-.5px;color:#191a21}.sport-top-tabs .sport-avatar{margin-left:auto;display:flex}.sport-avatar .el-avatar{background:#fff0cd;color:#c18536}.sport-school-line{display:flex;align-items:center;gap:5px;color:#9799a4;font-size:11px;padding-bottom:16px;min-width:0}.sport-school-line>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-school-line .el-icon{color:#ff895b}
.sport-search{display:flex;align-items:center;gap:9px;background:#f5f5f7;border-radius:24px;height:42px;padding:0 15px;margin-bottom:18px;color:#aaaab2}.sport-search>.el-icon{font-size:18px}.sport-search input{background:transparent;border:0;outline:0;min-width:0;flex:1;font:inherit;font-size:16px;color:#444650}.sport-search input::placeholder{font-size:12px;color:#aaabb4}.sport-search:focus-within{box-shadow:0 0 0 2px #ffb99e}.sport-search button{border:0;background:none;color:#9798a2;font-size:24px;min-width:30px;min-height:34px}.sport-search-results{border-radius:16px;background:#fafafa;padding:8px 12px;margin-bottom:20px}.sport-search-results button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid #eee;padding:14px 0;font:inherit;text-align:left;color:#353642}.sport-search-results button>span:last-child{margin-left:auto;color:#ff642e}.sport-search-results p{font-size:12px;padding:18px 0;color:#90929c}
.sport-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.sport-feature{isolation:isolate;position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:115px;padding:16px 13px 12px;border-radius:19px;text-decoration:none;color:#fff;box-shadow:inset 0 1px 0 #ffffff55}.sport-feature:after{content:'';position:absolute;width:110px;height:110px;right:-32px;bottom:-50px;border-radius:50%;border:15px solid #ffffff16;z-index:-1}.sport-feature:before{content:'';position:absolute;width:65px;height:65px;right:-25px;top:-30px;transform:rotate(30deg);background:#ffffff17;border-radius:12px;z-index:-1}.sport-feature strong{font-size:18px;line-height:1.4;font-weight:750;letter-spacing:.3px}.sport-feature>span{font-size:10px;margin-top:5px;opacity:.93;position:relative;z-index:1}.sport-feature small{font-size:9px;font-weight:500;opacity:.85;margin-top:15px}.sport-feature>.el-icon{position:absolute;right:10px;bottom:8px;font-size:43px;color:#ffffffc9;transform:rotate(-12deg);filter:drop-shadow(0 4px 1px #0000000c);z-index:-1}.sport-feature.lime{background:linear-gradient(125deg,#95d921,#33be2c)}.sport-feature.blue{background:linear-gradient(125deg,#43cdf2,#0795f6)}.sport-feature.orange{background:linear-gradient(125deg,#ffc827,#ff9411)}.sport-feature.purple{background:linear-gradient(125deg,#c368f7,#8050f1)}
.sport-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:10px;row-gap:21px;margin:0 0 25px}.sport-tool-grid button{display:flex;align-items:center;flex-direction:column;gap:9px;min-width:0;border:0;background:transparent;font:inherit;font-size:11px;color:#34353e;padding:0;cursor:pointer;line-height:1.5}.sport-tool-icon{display:flex;align-items:center;justify-content:center;width:49px;height:49px;border-radius:16px;color:#fff;box-shadow:0 4px 8px #2732540b}.sport-tool-icon .el-icon{font-size:26px}.tone-0{background:linear-gradient(140deg,#ff8c3c,#ff592d)}.tone-1{background:linear-gradient(140deg,#7695ff,#4b6def)}.tone-2{background:linear-gradient(140deg,#46c8f3,#10abd6)}.tone-3{background:linear-gradient(140deg,#ffc22b,#ff9416)}.tone-4{background:linear-gradient(140deg,#a098ff,#777ce7)}
.sport-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:18px;background:linear-gradient(115deg,#fff0d7,#ffe1b2);color:#a66321;text-decoration:none;padding:18px;margin-bottom:26px;position:relative;overflow:hidden}.sport-banner>div{display:flex;flex-direction:column;gap:8px;z-index:1}.sport-banner span{font-size:10px}.sport-banner strong{font-size:17px;font-weight:750;letter-spacing:.2px;color:#96531e}.sport-banner small{font-size:10px}.sport-banner>.el-icon{font-size:58px;color:#f6b151;transform:rotate(-10deg);position:absolute;right:9px;bottom:9px;opacity:.45}
.sport-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 14px}.sport-section-heading h2{font-size:19px;font-weight:750;color:#20212a;margin:0}.sport-section-heading a{font-size:11px;color:#a2a2ac;text-decoration:none}.sport-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 5px;background:#f7f8fc;border-radius:18px}.sport-stat-grid>div{display:flex;flex-direction:column;align-items:center;gap:7px}.sport-stat-grid strong{font-size:24px;color:#292c37;font-variant-numeric:tabular-nums}.sport-stat-grid span{font-size:10px;color:#989ba6}.sport-health-summary{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid #f0f0f4;border-radius:20px;box-shadow:0 4px 15px #242b4504}.sport-health-rate{display:flex;flex:1;flex-direction:column;gap:8px}.sport-health-rate>span{font-size:12px;color:#707684}.sport-health-rate strong{font-size:28px;letter-spacing:-1px;color:#ff702f}.sport-health-rate small{font-size:9px;color:#a7a8b1}.sport-health-levels{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1}.sport-health-levels>span{display:flex;flex-direction:column;gap:5px;color:#9a9ca7;font-size:10px}.sport-health-levels b{color:#565b68;font-size:15px}
.sport-task-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #f0f0f5;border-radius:17px;margin-bottom:10px;text-decoration:none;color:#343743}.sport-task-symbol{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:14px;background:#fff1d9;color:#ffab24;font-size:23px}.sport-task-card>div{flex:1;min-width:0}.sport-task-card strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-task-card small{display:block;margin-top:7px;color:#9a9ca6;font-size:10px}.sport-task-card>span:last-child{color:#c4c5cc}.sport-empty{display:flex;justify-content:center;align-items:center;gap:8px;min-height:85px;border-radius:18px;background:#f8f9fc;color:#a0a3af;font-size:12px}.sport-empty .el-icon{font-size:21px}.sport-home-footer{text-align:center;font-size:10px;letter-spacing:1px;color:#bbbcc6;padding:28px 0 8px}
.gms-school-workspace .el-card{border:0;border-radius:20px;box-shadow:0 3px 14px #33385904}.gms-school-workspace .el-card__header{padding:18px 16px;border-bottom:1px solid #f3f3f6}.gms-school-workspace .el-card__body{padding:16px}.gms-school-workspace .card-title{color:#242630;font-weight:700;font-size:17px}.gms-school-workspace .el-button{border-radius:12px;min-height:36px}.gms-school-workspace .el-button--small{min-height:30px}.gms-school-workspace .el-button--primary:not(.is-plain):not(.is-text):not(.is-link){background:#ff642e;border-color:#ff642e;box-shadow:none}.gms-school-workspace .filter-bar{border:0;background:#f7f8fb;border-radius:14px;padding:12px}.gms-school-workspace .el-input__wrapper,.gms-school-workspace .el-select__wrapper{border-radius:10px}.gms-school-workspace .el-tabs__item.is-active{color:#ff642e}.gms-school-workspace .el-tabs__active-bar{background:#ff642e;height:3px;border-radius:3px}.gms-school-workspace .el-table{--el-table-header-bg-color:#f7f8fc;--el-table-row-hover-bg-color:#fff8f3;border-radius:12px}.gms-school-workspace .el-radio-button__original-radio:checked+.el-radio-button__inner{background:#ff642e;border-color:#ff642e}.gms-admin-theme .el-dialog{border-radius:21px}
.mobile-profile-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 4px 24px}.mobile-profile-heading h1{font-size:26px;color:#20222c}.mobile-profile-heading>span{font-size:10px;color:#9fa3b0}.gms-school-workspace .sport-profile-card{background:linear-gradient(160deg,#fff6df,#fff 65%);border-radius:24px}.gms-school-workspace .sport-profile-card .el-card__body{padding:25px 20px}.sport-profile-card .el-avatar{background:#ffdf9f;color:#bb8d37;border:3px solid #fff!important;box-shadow:0 4px 12px #b3913922}.sport-profile-card .el-button{flex:1;border-radius:22px;min-height:42px}.sport-profile-card .el-button--danger{background:#fff4ed;color:#ed763d;border-color:#ffdfcc}.mobile-profile-links{display:block;border-radius:21px;background:#fff;margin:20px 0 6px;padding:4px 16px}.mobile-profile-links a{display:flex;gap:12px;align-items:center;padding:16px 0;text-decoration:none;border-bottom:1px solid #f4f4f7}.mobile-profile-links a:last-child{border-bottom:0}.mobile-profile-links .sport-tool-icon{width:35px;height:35px;border-radius:12px}.mobile-profile-links .el-icon{font-size:20px}.mobile-profile-links strong{font-size:14px;font-weight:550;color:#383b46}.mobile-profile-links a>span:last-child{margin-left:auto;font-size:10px;color:#b1b2bb}
}
@media(max-width:350px){.sport-top-tabs{gap:17px}.sport-top-tabs .selected{font-size:23px}.sport-top-tabs>a{font-size:16px}.sport-feature{padding:14px 11px;min-height:110px}.sport-feature strong{font-size:16px}.sport-feature>span{font-size:9px}.sport-tool-icon{width:44px;height:44px}.sport-tool-grid{gap:18px 8px}.sport-tool-grid button{font-size:10px}.sport-banner strong{font-size:15px}.sport-health-summary{padding:13px;gap:10px}.sport-health-rate strong{font-size:25px}}
.mobile-meet-list{display:none}
@media(max-width:768px){
.mobile-meet-list{display:grid;gap:20px}.desktop-meet-table{display:none!important}.mobile-meet-card{border:1px solid #f0f0f4;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 4px 12px #2e344208}.mobile-meet-cover{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-start;flex-direction:column;gap:10px;width:100%;min-height:142px;padding:18px;border:0;text-align:left;color:white;font:inherit;cursor:pointer}.meet-tone-0{background:linear-gradient(120deg,#ffb343,#ff7351)}.meet-tone-1{background:linear-gradient(120deg,#80cc2b,#3bbb92)}.meet-tone-2{background:linear-gradient(120deg,#6ecff4,#4d94f3)}.mobile-meet-cover>span{border-radius:20px;background:#ffffffdd;color:#99622f;font-size:10px;padding:5px 10px}.mobile-meet-cover strong{font-size:20px;max-width:85%;line-height:1.4;overflow-wrap:anywhere}.mobile-meet-cover small{font-size:11px;opacity:.85}.mobile-meet-cover .el-icon{position:absolute;right:12px;bottom:8px;font-size:75px;opacity:.3;transform:rotate(-12deg);z-index:-1}.mobile-meet-body{padding:15px}.mobile-meet-body>p{font-size:10px;color:#a8a9b1;line-height:1.6;margin-bottom:12px}.mobile-meet-body>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.mobile-meet-body>div>span{font-size:10px;color:#8b8e99}.mobile-meet-body .el-button{font-size:12px;border-radius:20px;min-height:36px}.mobile-meet-body .mobile-meet-actions{justify-content:flex-end;border-top:1px solid #f3f3f6;padding-top:8px;margin-top:12px}.gms-school-workspace .sport-fitness-grid{grid-template-columns:minmax(0,1fr)!important}.gms-school-workspace .task-card{border:1px solid #eceef5;border-top:4px solid #ffad63!important;border-radius:19px;padding:18px;background:linear-gradient(145deg,#fffaf2,#fff 45%);box-shadow:0 4px 14px #24293805}.gms-school-workspace .task-card:after{content:'进入体测 →';display:block;margin-top:17px;padding:12px;text-align:center;color:#fff;background:#ff642e;border-radius:24px;font-size:13px;font-weight:550}
}
@media(max-width:768px){.gms-school-workspace .topbar-right>.el-tag{display:none!important}.gms-school-workspace .topbar .workspace-location{flex:1}.gms-school-workspace .topbar .topbar-title{max-width:none}}
/* Compact task toolbar: filtering and presentation controls are independent. */
.fit-task-page>.el-card__header{padding:15px 18px}.fit-task-page .card-header{flex-wrap:nowrap;gap:8px}.fit-task-tools{display:flex;gap:7px;flex-shrink:0}.fit-task-tools .el-button+.el-button{margin-left:0}.fit-task-tools .el-icon{margin-right:4px}.fit-filter-count{display:inline-grid;place-items:center;margin-left:5px;min-width:17px;height:17px;border-radius:10px;background:#ffeadf;color:#dd642d;font-size:10px}.fit-settings-panel{padding:12px 15px;background:#f7f8fb;border-radius:14px;margin-bottom:15px}.fit-panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#536076;margin-bottom:9px}.fit-settings-controls{display:flex;flex-wrap:wrap;gap:12px!important;align-items:center}.fit-filter-footer{display:flex;justify-content:flex-end;gap:8px;grid-column:1/-1}.fit-filter-footer>.el-button{width:auto!important;margin-left:0!important}.fit-filter-summary{display:flex;gap:10px;align-items:center;background:#fff8f2;border-radius:10px;padding:9px 11px;margin-bottom:14px;font-size:11px;color:#a07252}.fit-filter-summary>span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fit-filter-summary>button{border:0;background:none;font:inherit;color:#c86937;min-height:26px;padding:0 5px}
@media(max-width:768px){.gms-school-workspace .fit-task-page>.el-card__header{padding:13px 12px}.gms-school-workspace .fit-task-page>.el-card__body{padding:12px}.gms-school-workspace .fit-task-page .card-header{gap:5px}.gms-school-workspace .fit-task-page .card-title{font-size:15px;white-space:nowrap}.fit-task-page .card-title>.el-tag{font-size:10px;margin-left:4px!important;padding:0 4px}.gms-school-workspace .fit-task-tools .el-button{font-size:11px;padding:7px 9px;min-height:32px;border-radius:10px}.fit-task-tools{gap:5px}.fit-task-page .fit-task-filters{margin-bottom:12px;padding:10px;gap:9px}.fit-task-filters>.el-input,.fit-task-filters>.el-select{min-width:0!important}.fit-task-filters>.el-input:first-child{grid-column:1/-1}.fit-settings-controls{display:grid!important;grid-template-columns:1fr;gap:15px!important}.fit-settings-controls .el-radio-group{margin-left:0!important}.fit-task-tools .el-icon{margin-right:2px}}
/* Task cards: a compact reading order, with a single clear entry action. */
.fit-task-page .task-card.fit-group-card{min-width:0;display:flex;flex-direction:column;gap:12px;padding:16px!important;border:1px solid #e8ecf1;border-top:1px solid #e8ecf1!important;border-radius:15px;background:#fff;box-shadow:0 2px 8px #23334e04;transition:border-color .15s,box-shadow .15s;cursor:pointer}.fit-task-page .fit-group-card:after{display:none!important}.fit-task-page .fit-group-card:hover{border-color:#f4bf9c;transform:none;box-shadow:0 3px 12px #aa75490b}.fit-task-page .fit-group-card:focus-visible{outline:2px solid #ff9a65;outline-offset:3px}.fit-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fit-group-identity{min-width:0;flex:1}.fit-group-labels{display:flex;align-items:center;gap:8px;font-size:10px;color:#9ca4b0;flex-wrap:wrap;line-height:1.5}.fit-group-state{color:#278673;background:#eaf7f2;border-radius:5px;padding:2px 6px;font-weight:550}.fit-group-card.is-closed .fit-group-state{color:#9198a3;background:#f0f2f5}.fit-group-identity h3{font-size:var(--fs-base,15px);font-weight:650;color:#303948;line-height:1.5;margin:8px 0 0;overflow-wrap:anywhere}.fit-group-count{display:flex;align-items:flex-end;flex-direction:column;gap:5px;flex-shrink:0;padding-top:3px}.fit-group-count strong{font-size:23px;font-weight:650;color:#f0793d;font-variant-numeric:tabular-nums;line-height:1.2}.fit-group-count small{font-size:12px;font-weight:400;color:#a2aab5;margin-left:3px}.fit-group-count>span{color:#a0a8b3;font-size:10px}.is-complete .fit-group-count strong{color:#278673}.fit-group-items{display:flex;gap:6px;flex-wrap:wrap}.fit-group-items>span{font-size:11px;color:#a77a45;background:#fff7e9;border-radius:5px;padding:3px 7px;line-height:1.4}.fit-group-card .el-progress-bar__outer{background:#f2f3f6}.fit-group-members{display:flex;gap:10px;padding:1px 0 0;font-size:var(--fs-sm,12px);line-height:1.7;color:#667181}.fit-group-members-label{flex-shrink:0;color:#a3aab4;font-size:11px;padding-top:1px}.fit-group-member-names{display:flex;gap:3px 10px;flex-wrap:wrap;min-width:0;align-items:center}.fit-group-member-names>span{overflow-wrap:anywhere}.fit-group-member-names button{font:inherit;font-size:11px;color:#c87b46;background:#fff6ee;border:0;border-radius:5px;padding:2px 7px;min-height:28px;cursor:pointer}.fit-group-empty{color:#a7afbb}.fit-group-footer{border-top:1px solid #f1f3f6;padding-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;min-height:36px}.fit-group-meta{display:flex;gap:5px 12px;flex-wrap:wrap;flex:1;min-width:0;color:#9aa4b2;font-size:10px}.fit-group-meta>span{display:inline-flex;gap:4px;align-items:center;overflow-wrap:anywhere}.fit-group-meta .el-icon{flex-shrink:0}.fit-group-enter{color:#ee793f;font-size:12px;font-weight:550;white-space:nowrap;display:flex;align-items:center;gap:7px;min-height:30px}.is-closed .fit-group-enter{color:#8e99a9}
@media(max-width:768px){.fit-task-page .task-card.fit-group-card{padding:13px!important;gap:10px;border-radius:14px}.fit-task-page .sport-fitness-grid{gap:10px!important}.fit-group-identity h3{font-size:var(--fs-base,14px)}.fit-group-footer{padding-top:8px}.fit-group-meta{gap:4px 10px}.fit-group-members{font-size:var(--fs-sm,12px)}}

/* Whole-card gender colors; text labels also identify each group. */
.fit-task-page .task-card.fit-group-card{--group-bg:#f3efff;--group-border:#ded4f4;--group-accent:#7959ac;background:var(--group-bg);border-color:var(--group-border);border-top-color:var(--group-border)!important}
.fit-task-page .fit-group-card.gender-male{--group-bg:#edf5ff;--group-border:#cbdff5;--group-accent:#3275b5}
.fit-task-page .fit-group-card.gender-female{--group-bg:#fff0f4;--group-border:#f2d0dc;--group-accent:#b74d78}
.fit-task-page .task-card.fit-group-card:hover{border-color:var(--group-accent);box-shadow:0 3px 12px #23334e0b}
.fit-task-page .fit-group-card .fit-group-labels{color:#667387}
.fit-task-page .fit-group-card .fit-group-items>span,.fit-task-page .fit-group-card .fit-group-member-names button{background:#ffffffb8;color:var(--group-accent)}
.fit-task-page .fit-group-card .fit-group-count strong,.fit-task-page .fit-group-card .fit-group-enter{color:var(--group-accent)}
.fit-task-page .fit-group-card.is-complete .fit-group-count strong{color:#278673}
.fit-task-page .fit-group-card .fit-group-footer{border-color:var(--group-border)}
.fit-task-page .fit-group-card .el-progress-bar__outer{background:#ffffffb8}
.fit-task-page .fit-group-card .fit-group-meta,.fit-task-page .fit-group-card .fit-group-members-label,.fit-task-page .fit-group-card .fit-group-count>span,.fit-task-page .fit-group-card .fit-group-count small{color:#738094}
.fit-task-mobile-pagination{display:none}
@media(max-width:768px){
  .fit-task-page .fit-task-desktop-pagination{display:none!important}
  .fit-task-mobile-pagination{display:block;margin-top:18px;padding-top:12px;border-top:1px solid #edf0f4}
  .fit-pager-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;color:#788292}
  .fit-pager-summary label{display:flex;align-items:center;gap:6px}
  .fit-task-mobile-pagination select{font:inherit;color:#485465;background:#fff;border:1px solid #e1e6ed;border-radius:10px;min-height:40px;padding:0 8px;max-width:100%;cursor:pointer}
  .fit-pager-controls{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:8px}
  .fit-pager-controls>button,.fit-pager-controls>select{width:100%;min-width:0;min-height:44px;font-size:12px}
  .fit-pager-controls>button{font-family:inherit;border:1px solid #ffdbc9;border-radius:10px;background:#fff5ee;color:#bd592b;cursor:pointer}
  .fit-pager-controls>select{text-align:center;background:#f7f8fb}
  .fit-pager-controls>button:disabled{background:#f5f6f8;border-color:#edf0f4;color:#a9afb9;cursor:default}
  .fit-task-mobile-pagination :focus-visible{outline:2px solid #f28b56;outline-offset:2px}
}

/* Entry context remains visible above the students; phone actions share the app header. */
#fit-entry-topbar-actions:empty{display:none}
.fit-entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.fit-entry-actions>.el-button+.el-button{margin-left:0}
.fit-entry-project{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fit-entry-eyebrow{font-size:11px;color:#8290a1}
.fit-entry-project h2{font-size:22px;line-height:1.4;color:#26384c;margin:3px 0 0;overflow-wrap:anywhere}
.fit-entry-unit{font-size:12px;white-space:nowrap;color:#a15d33;background:#fff2e8;border-radius:8px;padding:6px 9px}
.fit-entry-group-line{display:flex;align-items:center;gap:9px;margin-top:9px;color:#667487;font-size:12px}
.fit-entry-group-line strong{font-weight:500;overflow-wrap:anywhere}.fit-entry-group-line>span{white-space:nowrap;color:#7e8899}
.fit-entry-progress{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:11px;color:#8590a0}
.fit-entry-progress b{color:#4c627b;font-weight:600;margin-left:5px}.fit-entry-progress>.el-progress{flex:1;min-width:30px}
.fit-entry-project-select{width:100%;max-width:280px;margin-top:10px}
@media(max-width:768px){
.gms-school-workspace:has(.fit-entry-page) .topbar{gap:5px;padding:0 12px}
.gms-school-workspace:has(.fit-entry-page) .topbar>button,.gms-school-workspace:has(.fit-entry-page) .topbar-right{display:none}
.gms-school-workspace:has(.fit-entry-page) .workspace-location-label{display:none}
.gms-school-workspace:has(.fit-entry-page) .topbar-title{font-size:16px;white-space:nowrap}
.gms-school-workspace:has(.fit-entry-page) .workspace-location{min-width:64px}
#fit-entry-topbar-actions{margin-left:auto;min-width:0}
.fit-entry-actions{gap:5px;margin:0;flex-wrap:nowrap}.fit-entry-actions .el-button{padding:6px 8px;font-size:11px;min-height:34px;border-radius:10px}.fit-entry-actions .el-button.is-circle{width:32px;min-width:32px;padding:6px}.fit-entry-actions .el-tag{font-size:10px;padding:0 4px}
.fit-entry-actions>.el-button:first-child{padding:6px;min-width:28px}
.gms-school-workspace .fit-entry-summary>.el-card__body{padding:13px 14px}
.fit-entry-project h2{font-size:20px}.fit-entry-group-line{margin-top:7px}.fit-entry-progress{margin-top:10px}
}

#fit-entry-topbar-back:empty,#fit-entry-topbar-title:empty{display:none}
.fit-entry-collapse{flex-shrink:0;min-height:44px;padding:0 6px;border:0;border-radius:8px;background:transparent;color:#a35a2e;font:inherit;font-size:11px;cursor:pointer}
.fit-entry-collapse:focus-visible{outline:2px solid #f28b56;outline-offset:2px}
.fit-entry-progress.is-compact{margin-top:0}
@media(max-width:767px){
.gms-school-workspace:has(.fit-entry-page) .topbar{gap:10px;padding:0 10px;min-height:64px;height:auto}
.gms-school-workspace:has(.fit-entry-page) .workspace-location{min-width:0;flex:1}
.gms-school-workspace:has(.fit-entry-page) .topbar-title{white-space:normal;line-height:1.3;font-size:14px;overflow-wrap:anywhere;display:block}
#fit-entry-topbar-back{flex-shrink:0}
.gms-school-workspace .fit-entry-back.el-button{min-width:62px;min-height:44px;padding:10px 8px;font-size:14px;border-radius:10px;background:#f5f6f9;color:#465367}
.fit-entry-back .el-icon{margin-right:3px}
#fit-entry-topbar-actions{flex-shrink:0;margin-left:0}
.fit-entry-actions{gap:8px}
.fit-entry-actions .el-button,.fit-entry-actions .el-button.is-circle{min-height:44px}
.fit-entry-actions .el-button.is-circle{width:44px;min-width:44px}
.fit-entry-actions>.el-tag{display:none}
.fit-entry-progress{gap:7px}
.gms-school-workspace .fit-entry-summary:has(.is-compact)>.el-card__body{padding-top:4px;padding-bottom:4px}
}

/* Dedicated manual timing route, with no modal or overlapping controls. */
.gms-school-workspace:has(.is-timer-page) .topbar,.gms-school-workspace:has(.is-timer-page) .mobile-tabbar{display:none!important}
.gms-school-workspace:has(.is-timer-page) .page-content{padding:12px}
.fit-timer-page{max-width:1000px;margin:auto}
.fit-timer-nav{display:flex;align-items:center;gap:12px}.fit-timer-nav strong{flex:1;min-width:0;font-size:15px;color:#33465c}
.fit-timer-nav button{display:flex;align-items:center;gap:5px;min-height:44px;min-width:44px;padding:8px 12px;border:0;border-radius:10px;background:white;color:#4d6077;font:inherit;cursor:pointer}
.fit-timer-clock{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 0}
.fit-timer-page .timer-dialog-clock{font-size:clamp(36px,9vw,64px);letter-spacing:-1px;white-space:nowrap}.fit-timer-clock small{font-size:14px;margin-left:6px;color:#8290a1}
.fit-timer-page .timer-body{display:flex;flex-direction:column;gap:14px}
.fit-timer-page .timer-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;align-items:start}
.fit-timer-page .timer-card,.fit-timer-page .timer-laps-card{min-width:0;padding:8px;border-radius:14px}
.fit-timer-page .el-table .cell{padding:0 5px;word-break:normal}
.fit-timer-page .timer-btns{margin:0;padding:12px;gap:18px;border-radius:18px;background:transparent;order:0}
.fit-timer-page .timer-batch-bar{padding:0}
.fit-timer-page .timer-round-btn,.fit-timer-page .timer-round-btn *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;touch-action:none}
.fit-timer-page .timer-round-btn>*{pointer-events:none}
.fit-timer-page .timer-round-btn:active{transform:none}
.fit-timer-page .timer-round-btn:focus-visible{outline:3px solid #3286cf;outline-offset:3px}
.fit-timer-page .timer-lap-del{opacity:1}
@media(max-width:600px){
.fit-timer-page .timer-cols{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:6px}
.fit-timer-page .timer-btns{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 0;margin-top:6px}
.fit-timer-page .timer-btns-side{flex-direction:column;flex-wrap:nowrap;gap:12px;justify-content:center}
.fit-timer-page .timer-card,.fit-timer-page .timer-laps-card{padding:4px;border-radius:14px}
.fit-timer-page .timer-round-btn.is-lap{width:146px;height:146px;box-shadow:0 5px 12px #30d15833}
.fit-timer-page .timer-btns-side .timer-round-btn{width:60px;height:60px;box-shadow:none}
.fit-timer-page .timer-round-btn span{font-size:11px;letter-spacing:0}
.fit-timer-page .timer-round-btn.is-lap span{font-size:17px}
.fit-timer-page .timer-round-btn em.timer-btn-hint{font-size:9px;letter-spacing:0}
.fit-timer-clock{gap:8px;flex-wrap:wrap;padding:16px 0}.fit-timer-page .timer-status{font-size:11px}
}

.fit-timer-page .timer-dialog-clock{font-size:clamp(44px,12vw,64px)}
@media(max-width:600px){.fit-timer-page .timer-dialog-clock.is-long-clock{font-size:30px}}

@media(max-width:600px){
.fit-timer-page .el-table .cell{padding:0 2px;font-size:11px;line-height:20px}
.fit-timer-page .el-table th .cell{white-space:nowrap;font-size:10px;letter-spacing:0}
.fit-timer-page .timer-students .el-input__wrapper{padding:0 4px;min-height:30px}
.fit-timer-page .timer-lap-time{font-size:12px}
.fit-timer-page .timer-lap-del{min-height:30px;min-width:20px}
.fit-timer-page .timer-cols{flex-shrink:0}
.fit-timer-page .timer-btns{flex-shrink:0}
.fit-timer-page .timer-btns:has(>.timer-btns-side:last-child) .timer-round-btn.is-lap{width:128px;height:128px}
}

.fit-time-hint{max-height:150px;overflow:hidden}
.fit-time-hint-leave-active{transition:opacity .7s ease,max-height .7s ease,margin-bottom .7s ease,padding-top .7s ease,padding-bottom .7s ease}
.fit-time-hint-leave-to{opacity:0;max-height:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
.fit-entry-page .fit-time-unit{font-size:10px;color:#9099a7;white-space:nowrap;margin-left:3px;pointer-events:none}
@media(prefers-reduced-motion:reduce){.fit-time-hint-leave-active{transition:none}}

/* Use the vertical space for ten students instead of section margins. */
@media(max-width:767px){
.gms-school-workspace:has(.is-timer-page) .page-content{padding:6px 10px 10px}
.fit-timer-page .fit-timer-clock{padding:4px 0 6px}
.fit-timer-page .timer-body{gap:6px}
.fit-timer-page .timer-batch-bar{padding:0;gap:6px}
.fit-timer-page .timer-btns{margin:0;padding:6px 0 2px}
.fit-timer-page .timer-btns-side{gap:8px}
.fit-timer-page .timer-students td.el-table__cell,.fit-timer-page .timer-laps td.el-table__cell{padding:2px 0}
.fit-timer-page .timer-students th.el-table__cell,.fit-timer-page .timer-laps th.el-table__cell{padding:4px 0}
.fit-timer-page .timer-laps td.el-table__cell{height:35px}
}

/* Compact score entry spacing while retaining a distinct back touch target. */
@media(max-width:767px){
.gms-school-workspace:has(.fit-entry-page:not(.is-timer-page)) .topbar{min-height:52px;height:52px}
.gms-school-workspace:has(.fit-entry-page:not(.is-timer-page)) .page-content{padding-top:6px;padding-left:10px;padding-right:10px}
.gms-school-workspace .fit-entry-summary{margin-bottom:6px!important}
.gms-school-workspace .fit-entry-summary>.el-card__body{padding:8px 10px}
.gms-school-workspace .fit-entry-summary:has(.is-compact)>.el-card__body{padding-top:1px;padding-bottom:1px}
.fit-entry-progress{margin-top:5px}.fit-entry-progress.is-compact{margin-top:0}
.fit-entry-collapse{min-height:34px;padding-top:0;padding-bottom:0}
.fit-entry-student-list{gap:3px!important}
.fit-entry-student-row{padding:2px 7px!important;min-height:36px}
.fit-entry-student-row .el-input__wrapper,.fit-entry-student-row .el-select__wrapper{min-height:30px;padding-top:0;padding-bottom:0}
}

/* Keep the timer controls inside the viewport; only the two tables scroll. */
.timer-action-image{width:110px;height:100px;pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.fit-timer-page .timer-round-btn.is-lap{position:relative;overflow:hidden}
.timer-hold-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transform:rotate(-90deg)}
.timer-hold-ring circle{fill:none;stroke:#fff;stroke-width:4;stroke-dasharray:289;stroke-dashoffset:289;animation:timer-hold-fill 3s linear forwards}
@keyframes timer-hold-fill{to{stroke-dashoffset:0}}
@media(max-width:767px){
.gms-school-workspace:has(.is-timer-page) .page-content{overflow:hidden;min-height:0;padding:4px 8px max(6px,env(safe-area-inset-bottom))}
.fit-entry-page.is-timer-page{height:100%;min-height:0}
.fit-timer-page{height:100%;min-height:0;display:flex;flex-direction:column}
.fit-timer-page .fit-timer-nav{flex-shrink:0;gap:8px}.fit-timer-page .fit-timer-nav strong{font-size:14px}
.fit-timer-page .fit-timer-clock{flex-shrink:0;flex-wrap:nowrap;padding:2px 0 4px;min-height:48px}
.fit-timer-page .timer-dialog-clock{font-size:42px}.fit-timer-page .timer-dialog-clock.is-long-clock{font-size:27px}
.fit-timer-page .timer-body{flex:1;min-height:0;gap:5px}
.fit-timer-page .timer-batch-bar{flex-shrink:0}
.fit-timer-page .timer-cols{flex:1;min-height:0;overflow:hidden;align-items:stretch}
.fit-timer-page .timer-card,.fit-timer-page .timer-laps-card{height:100%;min-height:0;overflow:hidden}
.fit-timer-page .timer-btns{flex-shrink:0;padding:5px 0 0;gap:18px}
.fit-timer-page .timer-btns-side{gap:5px}
.fit-timer-page .timer-btns-side .timer-round-btn{width:54px;height:54px;min-height:54px}
.fit-timer-page .timer-round-btn.is-lap{width:132px;height:132px}
.fit-timer-page .timer-round-btn,.fit-timer-page .timer-round-btn *{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
.fit-timer-page .el-table__empty-block{min-height:60px;line-height:1.5}.fit-timer-page .el-table__empty-text{width:100%;padding:8px 2px;line-height:1.5;font-size:11px;white-space:nowrap}
}

/* Place the clock with its main action; enlarge auxiliary actions into two rows. */
.timer-primary-control{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.fit-timer-page .timer-primary-control .fit-timer-clock{padding:0;min-height:40px;gap:5px;flex-wrap:wrap}
.fit-timer-page .timer-btns-side{display:grid;grid-template-columns:repeat(2,70px);gap:8px}
.fit-timer-page .timer-btns-side .timer-round-btn{width:70px;height:70px;min-height:70px}
@media(max-width:767px){
.fit-timer-page .timer-btns{gap:16px;padding:3px 0 0;align-items:center}
.fit-timer-page .timer-primary-control{gap:2px;width:154px;flex-shrink:0}
.fit-timer-page .timer-primary-control .fit-timer-clock{min-height:38px;flex-wrap:nowrap}
.fit-timer-page .timer-primary-control .timer-dialog-clock{font-size:32px;letter-spacing:-1px}
.fit-timer-page .timer-primary-control .timer-dialog-clock.is-long-clock{font-size:20px}
.fit-timer-page .timer-primary-control .timer-status{padding:3px 5px;font-size:9px}
.fit-timer-page .timer-primary-control .timer-dialog-clock small{font-size:10px;margin-left:2px}
.fit-timer-page .timer-primary-control .timer-round-btn.is-lap{width:110px;height:110px}
.fit-timer-page .timer-action-image{width:96px;height:88px}
.fit-timer-page .timer-btns-side{grid-template-columns:repeat(2,70px);gap:8px}
.fit-timer-page .timer-btns-side .timer-round-btn{width:70px;height:70px;min-height:70px}
.fit-timer-page .timer-btns-side .timer-round-btn span{font-size:12px}
.fit-timer-page .timer-students .el-input__wrapper{min-height:26px}
.fit-timer-page .timer-students td.el-table__cell,.fit-timer-page .timer-laps td.el-table__cell{padding:1px 0;height:29px}
.fit-timer-page .timer-btns:has(>.timer-btns-side:last-child){display:grid;grid-template-columns:1fr 154px;gap:5px 10px}
.fit-timer-page .timer-btns:has(>.timer-btns-side:last-child)>.timer-btns-side:last-child{grid-column:1/-1;display:flex;justify-content:center}
.fit-timer-page .timer-btns:has(>.timer-btns-side:last-child)>.timer-btns-side:last-child .timer-round-btn{height:40px;min-height:40px;width:100px;border-radius:14px;flex-direction:row}
}
@media(max-width:350px){
.fit-timer-page .timer-btns{gap:8px}.fit-timer-page .timer-primary-control{width:148px}
.fit-timer-page .timer-btns-side{grid-template-columns:repeat(2,66px);gap:6px}
.fit-timer-page .timer-btns-side .timer-round-btn{width:66px;height:66px;min-height:66px}
}

.fit-timer-page .timer-primary-control .fit-timer-clock{width:100%;justify-content:center;text-align:center;gap:0}

/* Give ten timer students more breathing room when the available panel is taller. */
@media(max-width:767px){
  .fit-timer-page .timer-card{container-type:size}
  .fit-timer-page .timer-students td.el-table__cell{height:clamp(29px,calc((100cqh - 40px)/10),44px);padding:1px 0}
  .fit-timer-page .timer-students .el-input__wrapper{min-height:clamp(26px,calc((100cqh - 40px)/10 - 4px),40px)}
}

/* Student management: readable cards and touch controls on phones. */
.student-mobile-list,.student-mobile-pager{display:none}
@media(max-width:767px){
.student-management-page .student-desktop-table,.student-management-page .student-desktop-pagination{display:none!important}
.student-management-page>.el-card__header,.student-management-page>.el-card__body{padding:12px!important}
.student-management-page .card-header{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.student-management-page .header-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;width:100%}
.student-management-page .header-actions .el-button{margin:0!important;padding:8px 4px;min-height:38px;font-size:12px}
.student-management-page .filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px!important}
.student-management-page .filter-bar>*{width:100%!important;min-width:0;margin:0!important}
.student-management-page .filter-bar>:first-child{grid-column:1/-1}
.student-management-page .filter-bar .el-input__wrapper,.student-management-page .filter-bar .el-select__wrapper{min-height:36px}
.student-mobile-list{display:grid;gap:10px}
.student-mobile-card{min-width:0;border:1px solid #e7eaf0;border-radius:14px;background:#fafbfe;padding:12px}
.student-mobile-heading{display:flex;align-items:center;gap:8px}.student-mobile-heading strong{font-size:16px;overflow-wrap:anywhere}
.student-mobile-heading .el-checkbox{margin:0;height:32px}.student-mobile-id{margin-left:auto;color:#929ba9;font-size:11px}
.student-mobile-class{font-size:13px;color:#58697e;margin:4px 0 10px;overflow-wrap:anywhere}
.student-mobile-card dl{margin:0;display:grid;gap:7px;font-size:12px}
.student-mobile-card dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px}.student-mobile-card dt{color:#8490a0}.student-mobile-card dd{margin:0;color:#405169;overflow-wrap:anywhere}
.student-mobile-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.student-mobile-actions .el-button{min-height:36px;min-width:64px;margin:0}
.student-mobile-pager{display:block;margin-top:16px;font-size:12px}.student-mobile-page-info,.student-mobile-page-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-mobile-page-info{margin-bottom:8px;color:#768397}
.student-mobile-pager select,.student-mobile-pager button{font:inherit;border:1px solid #e3e7ee;border-radius:9px;background:#fff;min-height:40px;padding:0 12px;color:#526176}.student-mobile-pager button:disabled{color:#b6bec9;background:#f5f6f8}
.student-management-dialog{width:calc(100% - 24px)!important;max-width:640px;margin-top:5vh!important}
.student-management-dialog .el-col-12{max-width:100%;flex:0 0 100%}.student-management-dialog .el-form-item__label{width:84px!important}.student-management-dialog .el-form-item__content{min-width:0}.student-management-dialog .el-checkbox{max-width:100%;height:auto;min-height:32px}.student-management-dialog .el-checkbox__label{white-space:normal;overflow-wrap:anywhere}
}

/* Collapsible student filters at every viewport width. */
.student-filter-panel{padding:10px;background:#f7f8fc;border-radius:12px;margin-bottom:14px}
.student-filter-toolbar{display:flex;align-items:center;gap:8px}.student-filter-toolbar>.el-input{width:auto!important;flex:1;min-width:0}
.student-filter-toggle{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:40px;border:1px solid #e1e6ef;border-radius:10px;padding:0 12px;background:white;color:#586579;font:inherit;font-size:13px;cursor:pointer}
.student-filter-toggle b{border-radius:10px;background:#fff0e7;color:#e96f36;font-size:11px;min-width:18px;padding:2px}
.student-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.student-filter-field{min-width:0;display:flex;flex-direction:column;gap:5px}.student-filter-field>span{font-size:12px;color:#768397}.student-filter-field>.el-select,.student-filter-field>.el-input{width:100%!important;min-width:0}
.student-filter-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.student-filter-footer>span{margin-right:auto;font-size:11px;color:#9099a7}.student-filter-footer .el-button{margin:0;min-height:36px;padding:8px 10px}
.student-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:#8b7566}.student-filter-summary button{border:0;background:none;color:#c66b38;font:inherit;min-height:32px;cursor:pointer}
@media(max-width:767px){.student-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.student-filter-toolbar>.el-input .el-input__wrapper{min-height:38px}.student-filter-footer{flex-wrap:wrap}.student-filter-footer>span{flex:1;min-width:80px}}

/* Compact mobile student rows with inline details instead of cards. */
@media(max-width:767px){
.student-management-page .student-mobile-list{display:block;border:1px solid #e7eaf0;border-radius:8px;overflow:hidden}
.student-list-labels{display:grid;grid-template-columns:28px 64px 32px minmax(0,1fr) 44px;align-items:center;min-height:34px;padding:0 6px;gap:4px;background:#f4f6fb;color:#7d899b;font-size:11px}
.student-mobile-row{display:grid;grid-template-columns:28px minmax(0,1fr) 44px;align-items:start;gap:4px;padding:0 6px;border-top:1px solid #e9edf3;background:white}
.student-mobile-row:nth-child(odd){background:#fafbfe}
.student-row-select.el-checkbox{height:48px;margin:0;justify-content:center}
.student-row-details{min-width:0}.student-row-details summary{display:grid;grid-template-columns:64px 32px minmax(0,1fr);gap:4px;align-items:center;min-height:48px;cursor:pointer;list-style:none;font-size:12px}
.student-row-details summary::-webkit-details-marker{display:none}.student-row-details summary strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.student-row-class{display:flex;align-items:center;gap:3px;overflow-wrap:anywhere;line-height:1.4;color:#66758a}.student-row-class i{margin-left:auto;font-style:normal;color:#9aa4b3}.student-row-details[open] .student-row-class i{transform:rotate(180deg)}
.student-gender-boy{color:#3d8bbb}.student-gender-girl{color:#d96b83}
.student-row-edit{min-height:40px;margin:4px 0;padding:0;border:0;background:transparent;color:#e77940;font:inherit;font-size:12px;cursor:pointer}.student-row-readonly{font-size:11px;line-height:48px;color:#9aa4b3}
.student-row-details dl{font-size:12px;margin:0 0 10px;display:grid;gap:7px}.student-row-details dl>div{display:grid;grid-template-columns:66px minmax(0,1fr);gap:5px}.student-row-details dt{color:#929cac}.student-row-details dd{margin:0;overflow-wrap:anywhere;color:#54677d}.student-row-delete{margin-bottom:12px;min-height:36px}
}

/* Expanded student details use the full row width and a consistent field grid. */
@media(max-width:767px){
.student-detail-panel{margin:0 -48px 8px -32px;padding:12px;background:#f3f6fa;border-top:1px solid #e6ebf2;border-radius:0 0 6px 6px}
.student-detail-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.student-detail-title strong{font-size:12px;font-weight:600;color:#53647a}.student-detail-title>span{font-size:10px;color:#94a0b0;font-variant-numeric:tabular-nums}
.student-row-details .student-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0}
.student-row-details .student-detail-panel dl>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.student-row-details .student-detail-panel dt{font-size:11px;line-height:1.4;color:#8a97a9}.student-row-details .student-detail-panel dd{font-size:13px;line-height:1.5;color:#42556e;font-variant-numeric:tabular-nums}
.student-row-details .student-detail-panel .student-detail-score{font-weight:600;color:#2b8579}
.student-detail-wide{grid-column:1/-1;border-top:1px solid #e4eaf2;padding-top:10px}
.student-detail-footer{border-top:1px solid #e4eaf2;padding-top:8px;margin-top:10px;display:flex;justify-content:flex-end}.student-detail-footer .student-row-delete{margin:0;min-height:34px;border-color:#f1d9da;background:transparent;font-size:11px;padding:6px 10px}
}

/* Keep the overall score visible without opening student details. */
@media(max-width:767px){
.student-list-labels{grid-template-columns:28px 52px 24px minmax(0,1fr) 48px 32px}
.student-mobile-row{grid-template-columns:28px minmax(0,1fr) 32px}
.student-row-details summary{grid-template-columns:52px 24px minmax(0,1fr) 48px}
.student-total-label{text-align:right;font-size:10px;white-space:nowrap}
.student-row-total{font-size:12px;font-weight:600;text-align:right;color:#2b8579;font-variant-numeric:tabular-nums;white-space:nowrap}
.student-detail-panel{margin-right:-36px}
}

/* Fitness grouping: compact rows, collapsible filters and a usable phone roster. */
.groups-mobile-list,.groups-mobile-pager,.groups-roster-mobile,.groups-roster-close,.groups-roster-backdrop{display:none}
.groups-filters{margin-bottom:14px;border:1px solid #e8edf3;border-radius:10px;background:#f8f9fc;padding:0 10px}
.groups-filters>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-height:42px;font-size:13px;color:#506179;list-style:none}
.groups-filters>summary::-webkit-details-marker{display:none}.groups-filters>summary:after{content:'⌄';color:#8c99ab}.groups-filters[open]>summary:after{content:'⌃'}.groups-filters>summary>span{margin-left:auto;font-size:11px;color:#939dad}
.groups-filters .filter-bar{margin-bottom:10px}
@media(max-width:767px){
.fit-groups>.el-row>.groups-main-column{flex:0 0 100%;max-width:100%}
.fit-groups .groups-main-column>.el-card>.el-card__header,.fit-groups .groups-main-column>.el-card>.el-card__body{padding:12px}
.fit-groups .card-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fit-groups .card-title{font-size:15px;min-width:0;overflow-wrap:anywhere}
.fit-groups .header-actions{width:100%;gap:6px!important}.fit-groups .header-actions .el-button{min-height:34px;margin:0;padding:6px 9px;font-size:12px}.fit-groups .header-actions .el-radio-group{margin-right:4px}
.fit-groups .groups-desktop-table,.fit-groups .groups-desktop-pager,.groups-roster-desktop,.groups-desktop-hint{display:none!important}
.fit-groups .groups-filters .filter-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0!important;background:none}
.fit-groups .groups-filters .filter-bar>*{min-width:0!important;width:100%!important;margin:0}.fit-groups .groups-filters .filter-bar>:first-child{grid-column:1/-1}
.fit-groups .groups-filters .el-input__wrapper,.fit-groups .groups-filters .el-select__wrapper{min-height:36px}
.groups-mobile-list{display:block;border:1px solid #e6ebf2;border-radius:8px}
.groups-list-head,.groups-list-row{display:grid;grid-template-columns:26px minmax(0,1fr) 48px 40px;gap:6px;align-items:center;padding:4px 8px}
.groups-list-head{min-height:32px;background:#f4f6fb;color:#8b97a9;font-size:11px}
.groups-list-row{border-top:1px solid #edf0f5;min-height:64px}.groups-list-row:nth-child(odd){background:#fafbfe}
.groups-list-row .el-checkbox,.groups-list-head .el-checkbox{margin:0;height:40px}
.groups-row-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 0;border:0;background:none;text-align:left;min-width:0;width:100%;font:inherit;cursor:pointer}
.groups-row-name strong{font-size:13px;font-weight:600;color:#354a63;overflow-wrap:anywhere}.groups-row-name>span{font-size:11px;color:#718198;overflow-wrap:anywhere}.groups-row-name small{font-size:10px;color:#9aa4b1}.groups-row-progress{font-size:12px;color:#2c8a7d;text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.groups-row-menu{position:relative}.groups-row-menu summary{list-style:none;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#d7733e;cursor:pointer}.groups-row-menu summary::-webkit-details-marker{display:none}
.groups-row-menu>div{position:absolute;right:0;top:36px;z-index:30;width:112px;background:white;border:1px solid #e7ebf2;box-shadow:0 5px 20px #293d5720;border-radius:10px;padding:4px}
.groups-row-menu button{display:block;width:100%;min-height:40px;border:0;background:white;color:#53657d;font:inherit;font-size:12px;border-radius:6px;cursor:pointer}.groups-row-menu button:active{background:#f3f6fa}.groups-row-menu button.is-danger{color:#d36670}
.groups-mobile-pager{display:block}
.fit-groups .roster-panel{display:none}
.fit-groups.has-roster .groups-roster-backdrop{display:block;position:fixed;inset:0;background:#18263766;z-index:1980}
.fit-groups.has-roster .roster-panel{display:block!important;position:fixed;left:10px;right:10px;top:8dvh;width:calc(100% - 20px)!important;max-width:none!important;max-height:82dvh;padding:0!important;overflow:auto;overscroll-behavior:contain;z-index:1990;border-radius:14px;background:white;box-shadow:0 10px 40px #17243c30}
.fit-groups .roster-panel>.el-card>.el-card__header{position:sticky;top:0;background:white;z-index:2;padding:12px}.fit-groups .roster-panel .card-header{flex-wrap:nowrap;align-items:center}.fit-groups .roster-panel .card-title{flex:1;font-size:13px}
.groups-roster-close{display:block;flex-shrink:0;min-height:40px;padding:0 10px;border:0;border-radius:8px;background:#fff1e7;color:#c96a35;font:inherit;font-size:12px;cursor:pointer}
.fit-groups .roster-panel .el-card__body{padding:10px}.fit-groups .roster-panel .el-descriptions__table{table-layout:fixed;width:100%}.fit-groups .roster-panel .el-descriptions__cell{word-break:break-word;font-size:12px!important}
.groups-roster-mobile{display:block}.groups-roster-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 48px 40px;align-items:center;gap:6px;min-height:44px;border-bottom:1px solid #edf0f5;font-size:12px}.groups-roster-row strong{font-weight:500;overflow-wrap:anywhere}.groups-roster-heading{color:#8a97a8;background:#f6f8fc}.groups-roster-row button{min-height:40px;background:none;border:0;color:#da7740;font:inherit;cursor:pointer}
.groups-mobile-dialog{width:calc(100% - 20px)!important;max-width:720px;margin-top:4vh!important;padding:14px!important}.groups-mobile-dialog .el-form-item{display:block;margin-bottom:16px}.groups-mobile-dialog .el-form-item__label{display:block;width:auto!important;text-align:left;height:auto;line-height:1.5;margin-bottom:6px;padding:0;font-size:12px}.groups-mobile-dialog .el-form-item__content{margin-left:0!important;min-width:0}.groups-mobile-dialog .el-col-12{flex:0 0 100%;max-width:100%}.groups-mobile-dialog .el-radio,.groups-mobile-dialog .el-checkbox{white-space:normal;height:auto;min-height:32px;max-width:100%;margin-left:0!important}.groups-mobile-dialog .el-radio__label,.groups-mobile-dialog .el-checkbox__label{white-space:normal;overflow-wrap:anywhere;line-height:1.6}.groups-mobile-dialog .el-input,.groups-mobile-dialog .el-select,.groups-mobile-dialog .el-date-editor{max-width:100%;width:100%}.groups-mobile-dialog .el-tag{white-space:normal;height:auto;min-height:24px;line-height:1.5}.groups-mobile-dialog .el-divider__text{font-size:12px;white-space:nowrap;padding:0 8px}
}
@media(max-width:767px){
.fit-groups .groups-main-column>.el-card{overflow:visible}
}

/* Fitness scores: comparable result rows with expandable details. */
.fit-score-mobile-list,.fit-score-mobile-pager{display:none}
.fit-score-search{display:flex;align-items:center;gap:12px;margin-bottom:10px}.fit-score-search>.el-input{flex:1;max-width:400px}.fit-score-search>span{font-size:12px;color:#8996a8;white-space:nowrap}
.fit-score-filters>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:13px;color:#52647c;min-height:40px}.fit-score-filters>summary::-webkit-details-marker{display:none}.fit-score-filters>summary:after{content:'⌄';margin-left:auto}.fit-score-filters[open]>summary:after{content:'⌃'}.fit-score-filters>summary>span{font-size:11px;color:#919cad}
.fit-score-filters .mobile-data-filters{gap:10px 0;padding-top:8px}.fit-score-filters .mobile-data-filters>.el-col:last-child{flex-wrap:wrap!important}.fit-score-batch{flex-wrap:wrap}
@media(max-width:767px){
.fit-score-page>.el-card>.el-card__body{padding:12px!important}
.fit-score-page .fit-score-desktop-table,.fit-score-page .fit-score-desktop-pager{display:none!important}
.fit-score-page .fit-score-search{flex-wrap:nowrap!important;gap:8px!important}.fit-score-page .fit-score-search>.el-input{min-width:0}.fit-score-search>.el-input .el-input__wrapper{min-height:38px}
.fit-score-page .mobile-data-filters .el-button{min-height:36px;margin:0;padding:8px 10px}.fit-score-page .mobile-data-filters .el-input__wrapper,.fit-score-page .mobile-data-filters .el-select__wrapper{min-height:36px}.fit-score-page .mobile-data-filters>.el-col:last-child>.el-select{width:100px!important}
.fit-score-mobile-list{display:block;border:1px solid #e5eaf2;border-radius:8px;overflow:hidden}
.fit-score-list-head{display:grid;grid-template-columns:minmax(0,1fr) 68px 54px;gap:6px;padding:0 8px;min-height:38px;align-items:center;background:#f4f6fa;color:#8693a6;font-size:11px}
.fit-score-list-head>span:not(:first-child){text-align:right}.fit-score-mobile-list.has-selection .fit-score-list-head{grid-template-columns:24px minmax(0,1fr) 68px 54px}.fit-score-mobile-list.has-selection .fit-score-list-head>span:nth-child(2){text-align:left}
.fit-score-list-row{padding:0 8px;border-top:1px solid #e9edf3}.fit-score-list-row:nth-child(odd){background:#fafbfe}.fit-score-mobile-list.has-selection .fit-score-list-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:start}
.fit-score-list-row>.el-checkbox{height:60px;margin:0}.fit-score-list-head>.el-checkbox{margin:0}
.fit-score-row-details{min-width:0}.fit-score-row-details>summary{display:grid;grid-template-columns:minmax(0,1fr) 68px 54px;gap:6px;align-items:center;min-height:60px;list-style:none;cursor:pointer}.fit-score-row-details>summary::-webkit-details-marker{display:none}
.fit-score-row-student,.fit-score-row-result{display:flex;flex-direction:column;gap:4px;min-width:0}.fit-score-row-student strong{font-size:13px;font-weight:600;color:#3b4e66;overflow-wrap:anywhere}.fit-score-row-student span{font-size:11px;color:#8995a7;overflow-wrap:anywhere}.fit-score-row-result{text-align:right}.fit-score-row-result strong{font-size:13px;font-weight:600;color:#4b617c;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.fit-score-row-result small{font-size:10px;color:#99a2b0}
.fit-score-row-points{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.fit-score-row-points strong{font-size:13px;color:#288878;font-variant-numeric:tabular-nums}.fit-score-row-points>span{color:#a2acb9;font-size:11px}.fit-score-row-details[open] .fit-score-row-points>span{transform:rotate(180deg)}
.fit-score-detail-panel{padding:12px;margin:0 -8px;background:#f3f6fa;border-top:1px solid #e5eaf2}.has-selection .fit-score-detail-panel{margin-left:-38px}
.fit-score-detail-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:12px;color:#586c83}.fit-score-detail-title>span{font-size:10px;color:#97a3b2}
.fit-score-detail-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.fit-score-detail-panel dl>div{min-width:0}.fit-score-detail-panel .wide{grid-column:1/-1}.fit-score-detail-panel dt{font-size:11px;color:#94a0b1;margin-bottom:4px}.fit-score-detail-panel dd{margin:0;font-size:12px;color:#52677f;line-height:1.5;overflow-wrap:anywhere}
.fit-score-detail-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid #e0e7ef;margin-top:12px;padding-top:10px}.fit-score-detail-actions .el-button{margin:0;min-height:36px}
.fit-score-edit-box{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;border-top:1px solid #e0e7ef;margin-top:12px;padding-top:10px}.fit-score-edit-box label{width:100%;font-size:12px;color:#6d7e93}.fit-score-edit-box .el-button{margin:0;min-height:36px}
.fit-score-mobile-pager{display:block;margin-top:16px;border-top:1px solid #edf0f5;padding-top:12px}.fit-score-page-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#8b97a8;font-size:11px;margin-bottom:10px}.fit-score-page-meta select{font:inherit;color:#5c6b80;min-height:34px;border:1px solid #e1e7ef;background:white;border-radius:8px;padding:0 5px}
.fit-score-page-nav{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;align-items:center}.fit-score-page-nav>button{border:1px solid #ffdcc7;border-radius:9px;background:#fff5ee;color:#c16b3c;font:inherit;font-size:12px;min-height:40px;padding:0 5px;cursor:pointer}.fit-score-page-nav>button:disabled{border-color:#e9edf3;background:#f7f8fa;color:#abb3bf}.fit-score-page-nav label{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#8a96a7;white-space:nowrap}.fit-score-page-nav input{width:40px;min-width:0;height:36px;text-align:center;border:1px solid #e0e6ef;border-radius:8px;font:inherit;font-size:12px;color:#506178;appearance:textfield}.fit-score-page-nav input::-webkit-inner-spin-button{appearance:none}
.fit-score-import-dialog{width:calc(100% - 20px)!important;margin-top:4vh!important;max-width:880px;padding:12px!important}.fit-score-import-dialog .el-dialog__body{min-width:0}.fit-score-import-dialog .el-tabs__content{padding:10px!important}.fit-score-import-dialog .el-button{white-space:normal;max-width:100%;height:auto;min-height:36px}.fit-score-import-dialog .el-table{max-width:100%}
}
@media(max-width:767px){.fit-score-filters .mobile-data-filters{margin-left:0!important;margin-right:0!important}}

@media(max-width:767px){
.fit-score-student-name{display:flex;align-items:center;gap:5px;min-width:0}.fit-score-student-name>strong{min-width:0}
.fit-score-row-student .fit-score-student-gender{flex-shrink:0;font-size:10px;padding:1px 4px;line-height:16px;border-radius:4px;background:#edf0f5;color:#8b97a8}
.fit-score-row-student .fit-score-student-gender.is-boy{background:#eaf3ff;color:#438bc6}.fit-score-row-student .fit-score-student-gender.is-girl{background:#fff0f3;color:#ce718b}
.fit-score-row-student .fit-score-student-class{color:#65768d;line-height:1.4}
.fit-score-row-details>summary{padding:8px 0;min-height:72px}.fit-score-list-row>.el-checkbox{height:72px}
}

/* Each score occupies exactly two compact lines before expansion. */
@media(max-width:767px){
.fit-score-row-details>summary{grid-template-columns:minmax(0,1fr) 82px 54px;grid-template-rows:22px 22px;gap:4px 6px;padding:8px 0;min-height:60px;box-sizing:border-box}
.fit-score-row-details .fit-score-row-student{display:contents}
.fit-score-student-name{grid-column:1/-1;min-width:0;gap:6px}
.fit-score-student-name>strong{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fit-score-student-name .fit-score-student-class{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:22px;color:#7f8da1}
.fit-score-student-item{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#8593a6}
.fit-score-row-result{flex-direction:row;align-items:baseline;justify-content:flex-end;gap:3px;white-space:nowrap;min-width:0}
.fit-score-row-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.fit-score-row-result small{flex-shrink:0;font-size:9px}
.fit-score-row-points{white-space:nowrap}.fit-score-list-row>.el-checkbox{height:60px}
.fit-score-list-head{grid-template-columns:minmax(0,1fr) 82px 54px}.fit-score-mobile-list.has-selection .fit-score-list-head{grid-template-columns:24px minmax(0,1fr) 82px 54px}
}

/* Align student identity and the two result columns as one readable list. */
@media(max-width:767px){
.fit-score-row-details>summary{grid-template-columns:minmax(0,1fr) 76px 52px;grid-template-rows:auto;gap:10px;padding:10px 0;min-height:64px}
.fit-score-row-details .fit-score-row-student{display:flex;flex-direction:column;gap:7px;min-width:0}
.fit-score-student-name{grid-column:auto;gap:5px;min-height:20px}.fit-score-student-name>strong{max-width:calc(100% - 28px);font-size:14px;font-weight:600;color:#344760;line-height:20px}
.fit-score-student-meta{display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;font-size:11px;line-height:16px;color:#8a97a9}
.fit-score-student-meta .fit-score-student-class{margin:0;min-width:0;flex:0 1 auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8694a7;font-size:11px;line-height:16px}
.fit-score-student-meta .fit-score-student-item{flex:1;min-width:0;color:#78899e;font-size:11px;line-height:16px}.fit-score-meta-dot{flex-shrink:0;color:#b6bfcc}
.fit-score-row-result{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px;text-align:right;grid-row:auto}
.fit-score-row-result strong{font-size:14px;font-weight:600;color:#3c526e;line-height:20px}.fit-score-row-result small{font-size:10px;color:#9aa6b7;line-height:14px}
.fit-score-row-points{align-items:center;gap:5px}.fit-score-row-points strong{font-size:15px;line-height:20px;font-weight:600;color:#248476}.fit-score-row-points>span{font-size:11px;color:#acb6c4}
.fit-score-list-head{grid-template-columns:minmax(0,1fr) 76px 52px;gap:10px;background:#f5f7fa;min-height:36px}.fit-score-mobile-list.has-selection .fit-score-list-head{grid-template-columns:24px minmax(0,1fr) 76px 52px;column-gap:10px}
.fit-score-mobile-list.has-selection .fit-score-list-row{gap:10px}.fit-score-list-row>.el-checkbox{height:64px}.fit-score-list-row{border-color:#edf0f5}.fit-score-list-row:nth-child(odd){background:#fbfcfe}
.has-selection .fit-score-detail-panel{margin-left:-42px}
}
@media(max-width:359px){
.fit-score-row-details>summary{grid-template-columns:minmax(0,1fr) 58px 42px;gap:6px}
.fit-score-list-head{grid-template-columns:minmax(0,1fr) 58px 42px;gap:6px}.fit-score-mobile-list.has-selection .fit-score-list-head{grid-template-columns:24px minmax(0,1fr) 58px 42px;gap:6px}.fit-score-mobile-list.has-selection .fit-score-list-row{gap:6px}.has-selection .fit-score-detail-panel{margin-left:-38px}
.fit-score-student-meta .fit-score-student-class{max-width:52%}.fit-score-row-result strong{font-size:13px}.fit-score-row-points strong{font-size:14px}
}

/* Overall fitness results: compact overview and per-student item breakdown. */
.total-mobile-list,.total-mobile-pager{display:none}
.total-search{display:flex;align-items:center;gap:10px;margin-bottom:8px}.total-search>.el-input{flex:1;min-width:0;max-width:420px}.total-search>span{font-size:12px;white-space:nowrap;color:#8b98aa}
.total-filter-panel>summary,.total-tools>summary{display:flex;align-items:center;gap:8px;min-height:40px;list-style:none;cursor:pointer;font-size:13px;color:#54677e}.total-filter-panel>summary::-webkit-details-marker,.total-tools>summary::-webkit-details-marker{display:none}.total-filter-panel>summary:after,.total-tools>summary:after{content:'⌄';margin-left:auto;color:#96a1b1}.total-filter-panel[open]>summary:after,.total-tools[open]>summary:after{content:'⌃'}.total-filter-panel>summary>span,.total-tools>summary>span{font-size:11px;color:#94a0b0}
.total-tools{border-top:1px solid #edf0f5}.total-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 10px}.total-filter-fields>.el-select{width:100%!important;min-width:0}.total-filter-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px}.total-filter-footer>span{margin-right:auto;font-size:11px;color:#98a2b0}.total-filter-footer>.el-button{margin:0}.total-tool-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.total-tool-buttons .el-button{margin:0}
.total-stat-percent{font-size:12px;color:#a0a9b6;margin-top:3px}
@media(max-width:767px){
.score-total-page>.el-card>.el-card__body{padding:12px!important}.score-total-page>.el-card{overflow-x:visible!important}
.score-total-page .total-desktop-table,.score-total-page .total-desktop-pager{display:none!important}
.score-total-page .total-search{flex-wrap:nowrap!important}.total-search>.el-input .el-input__wrapper{min-height:38px}
.total-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.total-filter-fields>.el-select:last-child{grid-column:1/-1}.total-filter-fields .el-select__wrapper{min-height:36px}.total-filter-footer{flex-wrap:wrap}.total-filter-footer .el-button{min-height:36px;padding:8px 10px}.total-tool-buttons .el-button{min-height:36px;font-size:12px;padding:8px 10px}
.score-total-page .total-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 8px!important}.score-total-page .total-stats>.el-col{max-width:100%;width:100%;padding:0!important}
.score-total-page .total-stat-box{padding:8px 6px!important;border-left-width:2px!important;min-width:0}.total-stat-box>div:first-child{flex-direction:column;align-items:flex-start!important;gap:2px!important}.total-stat-box>div:first-child>span:first-child{font-size:19px!important;line-height:24px;max-width:100%;overflow-wrap:anywhere}.total-stat-box>div:first-child>span:last-child{font-size:11px!important}.total-stat-percent{font-size:10px}
.total-mobile-list{display:block;border:1px solid #e5eaf2;border-radius:8px;overflow:hidden}.total-list-head,.total-student-row>summary{display:grid;grid-template-columns:minmax(0,1fr) 72px 58px;gap:10px;align-items:center;padding:0 10px}.total-list-head{min-height:36px;background:#f4f6fa;color:#8b98a9;font-size:11px}.total-list-head>span:not(:first-child){text-align:right}
.total-student-row{border-top:1px solid #edf0f5}.total-student-row:nth-child(odd){background:#fbfcfe}.total-student-row>summary{list-style:none;min-height:64px;cursor:pointer}.total-student-row>summary::-webkit-details-marker{display:none}.total-student-info{display:flex;flex-direction:column;gap:6px;min-width:0}.total-student-info>div{display:flex;align-items:center;gap:5px;min-width:0}.total-student-info strong{font-size:14px;font-weight:600;color:#3b4e67;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.total-gender{flex-shrink:0;font-size:10px;border-radius:4px;padding:1px 4px;line-height:16px}.total-gender.is-boy{background:#eaf3ff;color:#438bc6}.total-gender.is-girl{background:#fff0f3;color:#ce718b}.total-class{font-size:11px;color:#8b98ab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.total-score{font-size:16px;font-variant-numeric:tabular-nums;text-align:right;color:#4d657e}.total-level{display:flex;gap:5px;align-items:center;justify-content:flex-end;font-size:11px;white-space:nowrap;color:#98a3b3}.total-level i{font-style:normal;color:#adb6c4}.total-student-row[open] .total-level i{transform:rotate(180deg)}
.total-student-detail{padding:12px;background:#f4f7fb;border-top:1px solid #e5eaf2}.total-student-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.total-student-detail dl>div{min-width:0}.total-student-detail .wide{grid-column:1/-1}.total-student-detail dt{font-size:11px;color:#94a1b2;margin-bottom:4px}.total-student-detail dd{margin:0;font-size:12px;color:#536a83;overflow-wrap:anywhere;line-height:1.5}.total-item-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:#536a82}.total-item-heading>span{font-size:10px;color:#98a3b3}
.total-item-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;background:#fff;border-radius:6px}.total-item-table th,.total-item-table td{padding:9px 6px;border-bottom:1px solid #eef1f5;overflow-wrap:anywhere;text-align:right;font-weight:400;font-variant-numeric:tabular-nums}.total-item-table th:first-child{width:40%;text-align:left;color:#5c7189}.total-item-table thead th{font-size:11px;color:#94a0b1;background:#edf2f8}.total-item-table td{color:#536a83}.total-item-table td:last-child{font-weight:600}.total-item-table td small{margin-left:3px;font-size:9px;color:#a0aaba}
.total-mobile-pager{display:block}.total-mobile-dialog{width:calc(100% - 20px)!important;max-width:800px;margin-top:4vh!important;padding:12px!important}.total-mobile-dialog .el-dialog__body{min-width:0;overflow-x:auto}.total-mobile-dialog .el-dialog__body>div{max-width:100%}.total-mobile-dialog .el-radio-button__inner{padding:8px 9px;font-size:12px}.total-mobile-dialog .el-button{max-width:100%;min-height:36px;white-space:normal;height:auto}
}

/* A single aligned grade-distribution strip, instead of four bordered cards. */
.score-total-page .total-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 10px!important;padding:13px 0;background:#fff;border:1px solid #edf0f5;border-radius:14px}
.score-total-page .total-stats>.el-col{width:100%;max-width:100%;padding:0!important;min-width:0}
.score-total-page .total-stats>.el-col+.el-col{border-left:1px solid #edf0f5}
.score-total-page .total-stat-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 6px!important;border:0!important;background:transparent;border-radius:0;text-align:center}
.total-stat-label{display:flex;align-items:center;justify-content:center;gap:5px;margin:0;color:#728198;font-size:12px;line-height:18px;font-weight:500}
.total-stat-label i{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--stat-accent)}
.total-stat-number{font-size:25px;font-weight:650;line-height:30px;letter-spacing:-.5px;color:#354a65;font-variant-numeric:tabular-nums;white-space:nowrap}
.total-stat-number small{margin-left:3px;font-size:10px;font-weight:400;letter-spacing:0;color:#9aa7b8}
.total-stat-share{font-size:11px;line-height:16px;color:#98a4b5;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:767px){.score-total-page .total-stats{padding:11px 0}.score-total-page .total-stat-box{gap:4px}.total-stat-number{font-size:22px;line-height:28px}.total-stat-label{font-size:11px}.total-stat-share{font-size:10px}}
@media(max-width:359px){.total-stat-number{font-size:20px}.total-stat-number small{margin-left:2px}.total-stat-label{gap:4px}.total-stat-share{font-size:9px}}

/* Clear, light analytics dashboard; isolated from the full-screen display. */
.health-dashboard.hd-refined{background:#f3f6fa!important;color:#344a64!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif!important;padding:18px!important;border-radius:16px;min-width:0;line-height:1.5}
.hd-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.hd-eyebrow{font-size:11px;font-weight:600;letter-spacing:1px;color:#698799}.hd-heading h1{font-size:23px;line-height:1.4;color:#263f5c;font-weight:650;margin:5px 0}.hd-heading p{font-size:13px;color:#7c8ea4;margin:0}.hd-refined .hd-ai-button{background:#e5f2ef;border:1px solid #cbe4dc;color:#2a8575;border-radius:9px;min-height:40px;padding:0 12px;flex-shrink:0;font-weight:500}
.hd-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px;background:#fff;border:1px solid #e5ebf3;border-radius:12px;margin-bottom:14px}.hd-filters>.el-select{width:160px}.hd-filters>span{font-size:12px;color:#6e8198;margin-left:auto}.hd-filters .el-radio-button__inner{font-size:12px;min-height:34px;padding:9px 13px}.hd-filters .el-select__wrapper{min-height:36px}.hd-filters .el-radio-button.is-active .el-radio-button__inner{background:#368f80;border-color:#368f80;box-shadow:-1px 0 0 0 #368f80}
.hd-refined .hd-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:10px}.hd-metrics>article{display:flex;flex-direction:column;gap:7px;min-width:0;padding:15px 12px;border:1px solid #e6ecf3;border-radius:12px;background:#fff;box-shadow:0 2px 4px #203d5d02}.hd-metric-label{font-size:13px;font-weight:500;color:#6c8098;display:flex;align-items:center;gap:6px}.hd-metric-label:before{content:'';width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--metric-accent)}.hd-metrics strong{font-size:28px;font-weight:650;line-height:1.2;color:#2d4663;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hd-metrics strong small{font-size:12px;color:#8b9bb0;font-weight:400;margin-left:3px}.hd-metric-note{font-size:11px;color:#8495aa;line-height:1.5;min-height:16px}.hd-method-note{font-size:11px;color:#8192a8;line-height:1.6;margin:0 2px 16px}
.hd-refined .hd-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;grid-template-rows:auto;min-width:0}.hd-panel{min-width:0;border:1px solid #e4ebf3;border-radius:14px;background:#fff;padding:18px;box-shadow:0 3px 12px #243c5a03}.hd-panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.hd-panel-title h2{margin:0;font-size:16px;font-weight:650;color:#344d69;line-height:1.5}.hd-panel-title>span{font-size:12px;color:#899aaf;flex-shrink:0}.hd-panel-caption{font-size:12px;color:#8b9bb0;margin:0 0 10px}.hd-refined .health-dashboard-bar{width:100%;height:var(--chart-height,300px)!important;min-height:var(--chart-height,300px)!important;flex:none!important}.hd-refined .health-dashboard-pie{height:230px!important;min-height:230px!important;width:100%!important;flex:none!important}
.hd-distribution{display:flex;flex-direction:column}.hd-refined .hd-legend{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;padding:0!important;width:100%!important}.hd-refined .hd-legend>div{display:flex!important;flex-direction:column;align-items:center;gap:5px!important;min-width:0;background:#f8fafc;padding:10px 6px;border-radius:9px}.hd-legend-label{display:flex;align-items:center;gap:5px;font-size:12px;color:#71849c}.hd-legend-label i{width:6px;height:6px;border-radius:50%;flex-shrink:0}.hd-legend strong{font-size:17px;font-weight:600;color:#425b77;font-variant-numeric:tabular-nums;white-space:nowrap}.hd-legend strong small{font-size:10px;margin-left:2px;font-weight:400;color:#8c9bb0}.hd-legend-count{font-size:11px;color:#8396ac;font-variant-numeric:tabular-nums}
.hd-panel-title .hd-warning-count{background:#fcf0ed;color:#bf7971;padding:3px 8px;border-radius:6px}.hd-weak-row{padding:12px 0;border-bottom:1px solid #edf1f6}.hd-weak-row:last-child{border-bottom:0;padding-bottom:0}.hd-weak-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.hd-weak-title strong{font-size:13px;font-weight:550;color:#4a627e;overflow-wrap:anywhere}.hd-weak-title>span{font-size:11px;color:#98a5b6;white-space:nowrap}.hd-weak-title b{font-size:14px;color:#c77378;margin-left:4px;font-weight:600}.hd-weak-meta{display:flex;justify-content:space-between;gap:8px;margin:7px 0 9px;color:#7e92aa;font-size:12px;font-variant-numeric:tabular-nums}.hd-weak-track{height:5px;background:#f5eded;border-radius:6px;overflow:hidden}.hd-weak-track i{display:block;height:100%;background:#df9a9c;border-radius:6px}
.hd-item-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px;margin-top:12px}.hd-item-table th,.hd-item-table td{border-bottom:1px solid #edf1f6;text-align:right;padding:12px 5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hd-item-table th:first-child{width:34%;text-align:left}.hd-item-table thead th{font-size:12px;font-weight:400;color:#8b9db2;background:#f7f9fc}.hd-item-table tbody th{font-weight:500;color:#4e6580}.hd-item-table td{color:#627b96}.hd-item-table td:nth-child(2){font-weight:600}.hd-item-table tr:last-child>*{border-bottom:0}.hd-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:240px;color:#8b9bb0;font-size:14px}.hd-panel-empty{font-size:13px;color:#8195ad;padding:32px 8px;text-align:center}
@media(max-width:1100px){.hd-refined .hd-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:768px){
.health-dashboard.hd-refined{padding:12px!important;border-radius:12px}.hd-heading{align-items:flex-start;gap:8px;margin-bottom:14px}.hd-heading h1{font-size:19px}.hd-heading p{font-size:12px}.hd-refined .hd-ai-button{min-height:36px;padding:0 9px;font-size:12px;margin-top:18px}
.hd-filters{gap:10px;padding:10px}.hd-filters .el-radio-group{display:flex;flex-wrap:wrap}.hd-filters>.el-select{flex:1;min-width:110px;width:auto}.hd-filters>span{width:100%;margin-left:0;font-size:12px}
.hd-refined .hd-metrics{gap:8px!important}.hd-metrics>article{padding:12px 10px;gap:6px}.hd-metric-label{font-size:12px}.hd-metrics strong{font-size:25px}.hd-metric-note{font-size:11px;min-height:32px}.hd-refined .hd-panels{gap:12px!important}.hd-panel{padding:14px 12px}.hd-panel-title h2{font-size:15px}.hd-panel-title>span{font-size:11px}.hd-refined .health-dashboard-pie{height:190px!important;min-height:190px!important}.hd-refined .hd-legend{gap:5px!important}.hd-refined .hd-legend>div{padding:8px 3px}.hd-legend strong{font-size:15px}.hd-legend-label{font-size:11px}.hd-legend-count{font-size:11px}.hd-item-table{font-size:12px}.hd-item-table th,.hd-item-table td{padding:11px 4px}.hd-item-table thead th{font-size:11px}
}
@media(max-width:359px){.hd-refined .hd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hd-heading h1{font-size:17px}.hd-heading p{font-size:11px}.hd-weak-meta{font-size:11px}.hd-legend strong{font-size:14px}}
@media(max-width:768px){.hd-refined .hd-panels{align-items:stretch!important}.hd-refined .hd-panel{width:100%;box-sizing:border-box}}

/* Health-card signing: compact lists and clear signing context. */
.hc-guide{margin-bottom:16px;border:1px solid #e7edf3;border-radius:12px;background:#f8fafc;padding:12px 14px}.hc-guide>summary{cursor:pointer;font-size:13px;color:#39546b}.hc-guide>summary span{color:#8796a5;margin-left:12px;font-size:12px}.hc-guide .el-alert{margin:12px 0 0!important}.hc-mobile-list,.hc-student-list{display:none}
.hc-detail-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-bottom:14px}.hc-detail-toolbar .el-button{margin:0}
.health-sign-dialog{border-radius:18px!important}.health-sign-dialog .el-dialog__header{padding-bottom:14px;border-bottom:1px solid #edf0f5;margin-bottom:16px}.health-sign-dialog .el-dialog__title{font-size:17px;font-weight:650;color:#24384c}.hc-sign-context{padding:14px;background:#f3f7fb;border-radius:12px;margin-bottom:16px}.hc-sign-context>span{font-size:12px;color:#7a8d9e;margin-right:12px}.hc-sign-context strong{font-size:15px;color:#263e52}.hc-sign-context p{margin:8px 0 0;font-size:12px;color:#70859a}.hc-role-row{display:flex;align-items:center;gap:18px;margin-bottom:18px}.hc-role-row>div:first-child{flex-shrink:0;font-size:13px;color:#52697f}.hc-role-row .el-select{flex:1}.hc-pad-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.hc-pad-label b{font-size:13px;color:#344c63}.hc-pad-label span{font-size:11px;color:#8596a7}.health-sign-dialog .el-dialog__footer{display:flex;gap:12px;padding-top:18px}.health-sign-dialog .el-dialog__footer .el-button{flex:1;margin:0;min-height:42px;border-radius:10px}
@media(max-width:768px){
.health-card-page>.el-card__header{padding:16px!important}.health-card-page>.el-card__body{padding:12px!important}.health-card-page .card-title{font-size:17px!important}.health-card-page .card-header>div{width:100%}.health-card-page .card-header .el-button{margin:0;min-height:36px}.hc-guide{padding:10px 12px;margin-bottom:8px}.hc-guide>summary span{font-size:11px;margin-left:8px}.hc-desktop-table{display:none!important}.hc-mobile-list,.hc-student-list{display:block}.hc-batch{padding:16px 2px;border-bottom:1px solid #e9eef4}.hc-batch:last-child{border-bottom:0}.hc-batch-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.hc-batch-heading>div{min-width:0}.hc-batch h3{margin:0;font-size:16px;color:#233e54}.hc-batch p{font-size:12px;color:#8595a5;margin:6px 0 0;overflow-wrap:anywhere}.hc-year{flex-shrink:0;font-size:12px;background:#eef5fb;color:#5081a6;padding:4px 8px;border-radius:6px}.hc-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f7f9fc;border-radius:10px;margin:12px 0;padding:12px 0}.hc-progress>div{display:flex;flex-direction:column;gap:7px;text-align:center;border-right:1px solid #e5ebf2}.hc-progress>div:last-child{border:0}.hc-progress span{font-size:12px;color:#7c8d9e}.hc-progress strong{font-size:18px;color:#278b80;font-variant-numeric:tabular-nums}.hc-progress small{font-size:11px;font-weight:400;color:#8a99a8}.hc-actions{display:flex;gap:8px;align-items:flex-start}.hc-actions>.el-button{margin:0;flex:1;min-height:36px}.hc-more{position:relative}.hc-more>summary{list-style:none;padding:9px 8px;font-size:13px;color:#7b8d9e;cursor:pointer}.hc-more>div{position:absolute;right:0;top:38px;z-index:5;display:grid;gap:8px;width:140px;padding:12px;background:white;box-shadow:0 6px 24px #243b5324;border:1px solid #e5ebf2;border-radius:10px}.hc-more .el-button{margin:0}.hc-detail-dialog{width:calc(100vw - 20px)!important;border-radius:16px!important;padding:16px!important}.hc-detail-dialog .el-dialog__title{font-size:16px}.hc-detail-toolbar{justify-content:flex-start}.hc-detail-toolbar .el-button{min-height:34px}.hc-student-labels{display:flex;justify-content:space-between;padding:10px 6px;background:#f5f7fb;color:#8999aa;font-size:11px}.hc-student{border-bottom:1px solid #e9eef4}.hc-student>summary{list-style:none;display:flex;justify-content:space-between;gap:6px;padding:16px 4px;cursor:pointer}.hc-student b{font-size:14px;color:#2d465d}.hc-student small{margin-left:6px;color:#8a9bad;font-size:11px}.hc-sign-states{display:flex;gap:8px;align-items:center}.hc-sign-states i{font-style:normal;font-size:11px;color:#a0adba}.hc-sign-states i.signed{color:#278f80}.hc-sign-states em{font-style:normal;color:#92a1af}.hc-student-expanded{padding:0 6px 14px;font-size:12px;color:#8999aa}.hc-student-expanded>div{display:flex;gap:8px;margin-top:12px}.hc-student-expanded .el-button{margin:0;min-height:34px}.health-sign-dialog{margin-top:7vh!important;padding:16px!important}.hc-pad-label{flex-wrap:wrap}.hc-share-dialog{border-radius:16px!important}
}

/* Expand secondary actions in flow so card clipping cannot hide them. */
@media(max-width:768px){
.hc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hc-actions>.el-button{width:100%;min-width:0}
.hc-actions>.hc-more{grid-column:1/-1;min-width:0}
.hc-more>summary{text-align:right;min-height:36px;box-sizing:border-box;padding:9px 8px}
.hc-more[open]>summary{color:#e8773c}
.hc-more>div{position:static;width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));background:#f7f9fc;box-shadow:none;padding:10px;gap:10px}
.hc-more>div>.el-button,.hc-more>div>.el-select{width:100%;min-width:0;min-height:38px}
}

/* Desktop group workspace: full-width table and on-demand roster. */
@media(min-width:769px){
.fit-groups>.el-row>.groups-main-column{flex:0 0 100%;max-width:100%}
.fit-groups .groups-main-column>.el-card{border:1px solid #e1e8f0;border-radius:16px;box-shadow:0 3px 16px #233e5410}
.fit-groups .groups-main-column>.el-card>.el-card__header{padding:22px 24px}
.fit-groups .groups-main-column>.el-card>.el-card__body{padding:20px 24px}
.fit-groups .card-header{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.fit-groups .card-title{font-size:20px!important;font-weight:650;color:#20384f}
.fit-groups .header-actions .el-button{height:36px;padding:0 14px;font-size:13px;margin:0;border-radius:8px}
.fit-groups .header-actions .el-radio-group{margin-right:10px}
.fit-groups .groups-filters{background:#f7f9fc;border:1px solid #e6ecf3;border-radius:12px;padding:14px 16px;margin-bottom:20px}
.fit-groups .groups-filters summary{font-size:14px;font-weight:550;color:#39546d}
.fit-groups .groups-filters summary span{font-weight:400;font-size:12px;color:#8496a8}
.fit-groups .groups-filters .filter-bar{display:grid!important;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(105px,1fr)) 66px;gap:10px;padding:14px 0 0!important;margin:0!important;background:none}
.fit-groups .groups-filters .filter-bar>*{width:100%!important;min-width:0!important;margin:0}
.fit-groups .groups-filters .el-input__wrapper,.fit-groups .groups-filters .el-select__wrapper{min-height:38px;font-size:13px}
.fit-groups .groups-desktop-table{--el-table-border-color:#edf1f5;--el-table-header-bg-color:#f3f6fa;--el-table-row-hover-bg-color:#f0f7fc;font-size:var(--fs-base,14px)!important;border-radius:10px;color:#40566d}
.fit-groups .groups-desktop-table .el-table__cell{border-right:0!important;padding:15px 0!important}
.fit-groups .groups-desktop-table th.el-table__cell{font-size:13px!important;font-weight:600;color:#708297;padding:13px 0!important}
.fit-groups .groups-desktop-table .cell{line-height:23px!important;padding:0 16px!important;word-break:normal}
.fit-groups .groups-desktop-table .el-button{font-size:13px!important;margin:0;padding:7px 10px}
.fit-groups .groups-desktop-table .el-tag{font-size:12px;min-height:24px;padding:2px 8px;border-radius:6px}
.fit-groups .groups-desktop-table .current-row>td{background:#edf6fc!important}
.groups-desktop-identity{display:flex;flex-direction:column;gap:5px}.groups-desktop-identity strong{font-size:var(--fs-base,14px);font-weight:600;color:#263f58}.groups-desktop-identity>span{font-size:12px;color:#95a3b1}.groups-desktop-identity i{font-style:normal;margin-left:12px;color:#4d82b2;font-size:11px}
.groups-manager{display:flex;flex-direction:column;gap:4px}.groups-manager small{font-size:12px!important;color:#8899ab}
.groups-progress-caption{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:11px;color:#8a9cae}.groups-progress-caption b{font-size:13px;color:#31867b;font-weight:600}.groups-progress-caption b span{font-size:12px;color:#8a9cae;font-weight:400}
.fit-groups .groups-desktop-pager{padding-top:20px;border-top:1px solid #edf1f5;margin-top:20px;justify-content:flex-end}
.fit-groups .roster-panel{display:none}
.fit-groups.has-roster .groups-roster-backdrop{display:block;position:fixed;inset:0;background:#172e4940;z-index:1980}
.fit-groups.has-roster .roster-panel{display:block;position:fixed;top:16px;bottom:16px;right:16px;width:min(620px,calc(100vw - 40px));max-width:none;flex:none;z-index:1990;padding:0!important;overflow:auto;overscroll-behavior:contain;background:#fff;border-radius:16px;box-shadow:0 12px 48px #152d4930}
.fit-groups .roster-panel>.el-card{border:0;min-height:100%}.fit-groups .roster-panel .el-card__header{position:sticky;top:0;z-index:2;background:white;padding:20px}.fit-groups .roster-panel .card-title{font-size:17px!important;flex:1}.fit-groups .groups-roster-close{display:block;border:1px solid #dce5ef;background:#f7f9fc;color:#4a6683;border-radius:8px;padding:9px 12px;cursor:pointer;font-size:13px}.fit-groups .roster-panel .el-card__body{padding:20px}.fit-groups .groups-roster-desktop{font-size:14px!important}.fit-groups .groups-roster-desktop .el-table__cell{padding:12px 0}.fit-groups .groups-roster-desktop small{font-size:12px}
}
@media(min-width:769px) and (max-width:1250px){.fit-groups .groups-filters .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr)) 66px}.fit-groups .header-actions{width:100%}}
@media(min-width:769px){.fit-groups .groups-desktop-table .el-table-column--selection .cell{padding:0 8px!important}.fit-groups .groups-desktop-table th .cell{white-space:nowrap}}
/* Personal details stay compact; support follows the personal links. */
.sport-profile-card .el-card__body{padding:18px!important}.sport-profile-card .el-upload{vertical-align:middle}.sport-profile-card .el-upload+button{margin-left:12px}.sport-profile-card .el-avatar{border-width:2px!important}.sport-profile-page .support-profile-entry{margin-top:12px}
@media(max-width:767px){.sport-top-tabs{padding:12px 0 6px}.sport-top-tabs .selected{font-size:22px}.sport-school-line{padding-bottom:10px}.mobile-profile-heading{padding:6px 4px 12px}.mobile-profile-heading h1{margin:0;font-size:23px}.gms-school-workspace .sport-profile-card .el-card__body{padding:14px 18px!important}.sport-profile-card .el-upload+button{min-height:30px;border-radius:6px}.sport-profile-page .support-profile-entry{border-radius:16px}}
@media(max-width:767px){.sport-top-tabs{gap:10px;padding-bottom:12px}.sport-top-tabs .selected{font-size:21px;white-space:nowrap}.sport-top-tabs .sport-school-line{flex:1;min-width:0;padding:0}.sport-top-tabs .sport-avatar{margin-left:0;flex-shrink:0}}
/* Compact stopwatch controls, with icon-only primary actions. */
.fit-timer-page .timer-controls-compact{gap:28px;align-items:center;padding:8px 0;position:relative}.fit-timer-page .timer-controls-compact>.timer-btns-side:first-child{display:flex;flex-direction:column;gap:12px}.fit-timer-page .timer-controls-compact .timer-primary-control{width:170px;gap:5px}.fit-timer-page .timer-controls-compact .timer-round-btn{position:relative;border:1px solid #ffffff99;box-shadow:0 4px 12px #162d4610,inset 0 1px 0 #ffffffaa;transition:transform .16s,background .16s;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fit-timer-page .timer-controls-compact>.timer-btns-side:first-child .timer-round-btn{width:66px;height:66px;min-height:66px;border-radius:50%;color:#344152;background:#e7ebf0}.fit-timer-page .timer-controls-compact .timer-round-btn.is-toggle.is-pause{color:#a96710;background:#fff0d9}.fit-timer-page .timer-controls-compact .timer-round-btn.is-reset{background:#fce9e8;color:#d3514c}.fit-timer-page .timer-controls-compact .timer-primary-control .timer-round-btn.is-lap{width:128px;height:128px;min-height:128px;background:#d6f6e1;color:#16834c;border:5px solid #f3fff7;box-shadow:0 0 0 1px #b9dfc7,0 6px 16px #22683d14}.fit-timer-page .timer-controls-compact .timer-round-btn.is-lap.is-running{background:#26a86a;color:white;border-color:#e3f7eb}.timer-power-symbol{width:50px;height:50px;pointer-events:none}.fit-timer-page .timer-controls-compact .timer-round-btn:active{transform:scale(.94)}.fit-timer-page .timer-controls-compact .timer-round-btn:focus-visible{outline:3px solid #589cdd;outline-offset:4px}.fit-timer-page .timer-controls-compact .timer-round-btn:disabled{opacity:.38;box-shadow:none}.fit-timer-page .timer-controls-compact .is-toggle .timer-hold-ring circle{animation-duration:1.5s}.fit-timer-page .timer-help-trigger{padding:6px;width:30px;min-width:30px}.timer-brief-help{max-width:calc(100vw - 24px);box-sizing:border-box;z-index:4000!important}.timer-brief-help .el-message__content{font-size:12px;line-height:1.65}.timer-clear-dialog{max-width:calc(100vw - 28px);border-radius:20px}.timer-clear-choices{display:flex;flex-direction:column;gap:12px}.timer-clear-choices .el-button{margin:0;min-height:42px;border-radius:12px}
@media(max-width:767px){.fit-timer-page .timer-controls-compact{gap:22px;padding:5px 0 1px}.fit-timer-page .timer-controls-compact .timer-primary-control{width:156px}.fit-timer-page .timer-controls-compact .timer-primary-control .timer-round-btn.is-lap{width:116px;height:116px;min-height:116px}.fit-timer-page .timer-controls-compact>.timer-btns-side:first-child{gap:10px}.fit-timer-page .timer-controls-compact>.timer-btns-side:first-child .timer-round-btn{width:62px;height:62px;min-height:62px}.fit-timer-page .timer-controls-compact:has(>.timer-btns-side:last-child){grid-template-columns:80px 156px;justify-content:center}.fit-timer-page .timer-controls-compact>.timer-btns-side:last-child .timer-round-btn.is-prev,.fit-timer-page .timer-controls-compact>.timer-btns-side:last-child .timer-round-btn.is-next{background:#edf0f5;color:#58677b;box-shadow:none}.timer-power-symbol{width:46px;height:46px}}
@media(max-height:660px) and (max-width:767px){.fit-timer-page .timer-controls-compact .timer-primary-control .timer-round-btn.is-lap{width:98px;height:98px;min-height:98px}.fit-timer-page .timer-controls-compact>.timer-btns-side:first-child .timer-round-btn{width:54px;height:54px;min-height:54px}.timer-power-symbol{width:40px;height:40px}}
/* Personal logo: icon-only entry, choices appear on activation. */
.sport-profile-card .profile-logo-toggle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border:0;padding:0;border-radius:50%;background:transparent;cursor:pointer;line-height:0;min-width:52px;min-height:52px}
.sport-profile-card .profile-logo-toggle:focus-visible{outline:2px solid #3682d9;outline-offset:4px}
.sport-profile-card .profile-logo-toggle:disabled{cursor:wait;opacity:.65}
.profile-logo-menu .el-upload,.profile-logo-menu .el-button{width:100%;margin:0;min-height:40px;justify-content:center}
.profile-logo-menu .el-button+.el-button{margin-left:0}


@media(max-width:767px){
.race-workspace .mobile-meet-list{gap:10px}
.race-workspace .mobile-meet-cover{min-height:0;padding:12px 14px;gap:6px}
.race-workspace .mobile-meet-cover strong{font-size:17px;max-width:90%;line-height:1.4}
.race-workspace .mobile-meet-cover .el-icon{font-size:48px}
.race-workspace .mobile-meet-body{padding:10px 12px}
.race-workspace .mobile-meet-body>p{margin:0 0 6px;font-size:11px}
.race-workspace .mobile-meet-body>div{flex-wrap:wrap}
.race-workspace .mobile-meet-body .mobile-meet-actions{padding-top:4px;margin-top:6px}
.race-workspace .el-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);margin-top:12px!important;display:flex;flex-direction:column;box-sizing:border-box}
.race-workspace .el-dialog__body{min-height:0;overflow:auto}.race-workspace .el-dialog__footer{flex-shrink:0}
}
