/* 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}
}
