:root{--bg:#eaf3fb;--surface:#fff;--ink:#18334a;--muted:#648096;--line:#d7e6f0;--accent:#1684cf;--accent-deep:#096cae;--accent-soft:#e3f3ff;--shadow:0 10px 30px rgba(33,95,145,.09)}
body.workspace-active .topbar{display:none!important}
body.workspace-active{background:#eaf3fb;color:var(--ink)}
body.workspace-active::before{inset:0;background:linear-gradient(145deg,#b8d9fb 0%,#dff4fa 36%,#edf7fd 66%,#d6e9fa 100%)}
.workspace-sidebar,.workspace-scrim,.workspace-menu-toggle{display:none}
body.workspace-active .workspace-sidebar{display:flex;position:fixed;inset:8px auto 8px 8px;width:236px;z-index:80;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:rgba(243,250,255,.72);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 18px 48px rgba(45,107,163,.16),inset 0 1px rgba(255,255,255,.85)}
.workspace-side-brand{height:76px;padding:16px 15px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(136,181,214,.26)}
.workspace-side-brand-copy{min-width:0;flex:1}
.workspace-side-collapse{display:none}
.workspace-side-logo{width:39px;height:39px;flex:none;overflow:hidden;border-radius:8px;background:transparent;box-shadow:none}
.workspace-side-logo img,.workspace-side-logo svg{width:100%;height:100%;object-fit:cover}
.workspace-side-brand strong,.workspace-user strong{display:block;font-size:15.5px;line-height:1.35}
.workspace-side-brand small,.workspace-user small{display:block;margin-top:3px;color:#7895aa;font-size:11.5px}
.workspace-side-content{flex:1;min-height:0;overflow-y:auto;padding:15px 11px;scrollbar-width:thin}
.workspace-nav-group+.workspace-nav-group{margin-top:17px}
.workspace-nav-label{display:block;padding:0 11px 7px;font-size:11px;font-weight:800;color:#7f9cb1}
.workspace-nav-item{width:100%;min-height:40px;display:flex;align-items:center;gap:11px;margin:2px 0;padding:8px 11px;border:1px solid transparent;border-radius:7px;background:transparent;color:#385a74;font:inherit;font-size:13.5px;font-weight:650;text-align:left;cursor:pointer;transition:background .18s,color .18s,transform .18s,box-shadow .18s}
.workspace-nav-item svg{flex:none;color:#5c9ccc}
.workspace-nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-nav-item:hover{background:rgba(255,255,255,.72);color:#096cae;transform:translateX(2px)}
.workspace-nav-item.is-active{background:linear-gradient(105deg,#178ad5,#55aee8);color:#fff;box-shadow:0 5px 13px rgba(22,132,207,.22)}
.workspace-nav-item.is-active svg{color:#fff}
.workspace-nav-empty{display:block;padding:9px 11px;color:#8ca2b1;font-size:12px}
.workspace-class-switch-label{display:block;padding:0 11px 5px;color:#7895aa;font-size:11px}
.workspace-class-switch{width:calc(100% - 22px);height:34px;margin:0 11px 7px;padding:0 9px;border:1px solid rgba(151,194,222,.55);border-radius:7px;background:rgba(255,255,255,.62);color:#315a75;font:inherit;font-size:12px;outline:0}
.workspace-class-switch:focus{border-color:#4ca8df;box-shadow:0 0 0 3px rgba(22,132,207,.12)}
.workspace-nav-item .message-dot{position:static;width:7px;height:7px;margin-left:auto;border:0;box-sizing:border-box;flex:none}
.workspace-nav-item .message-dot[hidden]{display:none}
body.workspace-active .workspace-nav-item.scan-entry{display:flex}
.workspace-side-foot{padding:11px;border-top:1px solid rgba(136,181,214,.26)}
.workspace-side-foot .workspace-nav-item{min-height:35px}
.workspace-user{display:flex;align-items:center;gap:10px;padding:5px 8px 12px;margin-bottom:6px;border-bottom:1px solid rgba(136,181,214,.24)}
.workspace-user-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.workspace-user-copy strong{line-height:1.15}
.workspace-membership-badge{display:block;width:90px;height:24px;margin:1px 0 0;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 4px rgba(42,104,157,.14))}
.workspace-user-avatar{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:#d5eefa;color:#137bb9;font-weight:800}
.workspace-user-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}
body.workspace-active .topbar{position:sticky;top:16px;z-index:50;margin:16px 16px 0 256px;border:1px solid rgba(255,255,255,.8);border-radius:8px;background:rgba(247,252,255,.66);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 28px rgba(40,104,153,.08)}
body.workspace-active .topbar-inner{height:62px;padding:0 20px}
body.workspace-active .brand{margin-right:0}
body.workspace-active .brand-title{font-size:14px}
body.workspace-active .brand-sub{font-size:11px}
body.workspace-active #app{margin-left:244px;min-width:0}
body.workspace-active .container{max-width:1580px;padding:26px 30px 70px}
body.workspace-active .home-dashboard{gap:18px}
body.workspace-active .home-hero-card{position:relative;grid-template-columns:minmax(0,1fr) auto 340px;min-height:244px;padding:27px 32px;border:1px solid rgba(255,255,255,.85);border-radius:8px;background:rgba(255,255,255,.58);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(52,114,164,.1)}
body.workspace-active .home-hero-copy{min-height:170px}
body.workspace-active .home-clock-shell{display:flex;grid-column:3;grid-row:1;justify-self:center;align-items:center;gap:20px}
body.workspace-active .home-clock-face{width:170px;height:170px;flex:none;background:radial-gradient(circle at 35% 30%,#fff 0%,#e7f5ff 68%,#c8e6f8 100%);border-color:#b9d9ed;box-shadow:inset 0 2px 12px rgba(255,255,255,.9),0 8px 22px rgba(35,116,177,.12)}
body.workspace-active .home-clock-ring{inset:12px;border-color:rgba(22,132,207,.16)}
body.workspace-active .home-clock-face::before{width:128px;height:128px;border-color:rgba(22,132,207,.16)}
body.workspace-active .home-clock-face::after{width:92px;height:92px;border-color:rgba(22,132,207,.13)}
body.workspace-active .home-clock-hand.hour{height:42px;background:#18496b}
body.workspace-active .home-clock-hand.minute{height:58px;background:#1684cf}
body.workspace-active .home-clock-hand.second{height:67px;background:#55aee8}
body.workspace-active .home-clock-center{background:#1684cf}
body.workspace-active .home-clock-glass{display:none}
body.workspace-active .home-clock-shell .home-clock-meta{display:flex;grid-column:auto;grid-row:auto;justify-self:auto;align-items:flex-start}
body.workspace-active .home-clock-meta strong{font-size:28px;color:#18334a}
body.workspace-active .home-clock-meta span{color:#648096}
body.workspace-active .home-hero-copy h1{font-size:30px;letter-spacing:0}
body.workspace-active .home-hero-copy p{font-size:14px}
body.workspace-active .home-countdown{margin-top:17px;padding:10px 15px;font-size:16px;border-color:#b7d9ec;background:#e6f5fd;color:#176ba2;box-shadow:none}
body.workspace-active .home-countdown strong{font-size:23px}
body.workspace-active .home-quote{padding-top:14px;font-size:12px!important;color:#567b96!important}
body.workspace-active .home-seasonal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);align-self:center;justify-self:center;display:flex;flex-direction:column;justify-content:center;width:max-content;max-width:calc(100% - 560px);min-width:0;padding:22px 28px;border-radius:18px;background:transparent;border:1px solid rgba(157,207,215,.5);box-shadow:none;box-sizing:border-box;z-index:1}
body.workspace-active .home-seasonal[hidden]{display:none}
body.workspace-active .home-seasonal-head{display:flex;align-items:center;gap:15px;color:#18334a;white-space:nowrap}
body.workspace-active .home-seasonal-head strong{font-family:serif;font-size:clamp(26px,2.3vw,40px);font-weight:900}
body.workspace-active .home-seasonal-divider{height:36px;border-left:4px solid rgba(100,128,150,.4)}
body.workspace-active .home-seasonal-head span:last-child{font-family:serif;font-size:clamp(16px,1.5vw,25px)}
body.workspace-active .home-seasonal-kind{margin-top:6px;color:#648096;font-family:serif;font-size:14px}
body.workspace-active .home-seasonal p{margin-top:28px;color:#38576d;font-family:serif;font-size:clamp(15px,1.4vw,21px);line-height:1.65}
body.workspace-active .home-panel,body.workspace-active .panel,body.workspace-active .class-card,body.workspace-active .stat,body.workspace-active .dim-tile{border:1px solid rgba(255,255,255,.85);border-radius:8px;background:rgba(255,255,255,.73);backdrop-filter:blur(15px);box-shadow:0 8px 24px rgba(53,108,150,.08)}
body.workspace-active .panel-head,body.workspace-active .home-panel-tools{background:rgba(245,251,255,.62)}
body.workspace-active .class-card:hover{border-color:#8bc9ec;box-shadow:0 12px 24px rgba(35,116,177,.15)}
body.workspace-active .class-card::after{background:#32a5d7}
body.workspace-active .class-grid{align-items:stretch}
body.workspace-active .class-card-wrap{height:100%}
body.workspace-active .class-card{height:100%;min-height:132px;padding-bottom:48px}
body.workspace-active .class-card h3 .tag{display:inline-flex;vertical-align:middle;margin-left:12px;white-space:nowrap}
body.workspace-active .btn.primary{background:#1684cf;border-color:#1684cf;box-shadow:0 5px 13px rgba(22,132,207,.17)}
body.workspace-active .btn.primary:hover:not(:disabled){background:#096cae;border-color:#096cae}
body.workspace-active .btn.accent-action{background:#e5f5fb;border-color:#b8ddec;color:#176b93}
body.workspace-active .site-footer{color:#7797ac}
@media(max-width:1050px){body.workspace-active .header-ctx .btn[data-action="export"],body.workspace-active .header-ctx .btn[data-action="materials"]{display:none}body.workspace-active .container{padding-left:20px;padding-right:20px}}
@media(min-width:761px) and (max-width:1120px){body.workspace-active .home-hero-card{grid-template-columns:minmax(0,1fr) auto 280px;gap:16px;padding-left:22px;padding-right:22px}body.workspace-active .home-seasonal{padding:16px 18px}body.workspace-active .home-seasonal p{margin-top:18px}body.workspace-active .home-clock-face{width:138px;height:138px}body.workspace-active .home-clock-face::before{width:102px;height:102px}body.workspace-active .home-clock-face::after{width:72px;height:72px}body.workspace-active .home-clock-hand.hour{height:34px}body.workspace-active .home-clock-hand.minute{height:47px}body.workspace-active .home-clock-hand.second{height:55px}body.workspace-active .home-clock-meta strong{font-size:23px}}
@media(max-width:760px){
  body.workspace-active .workspace-sidebar{inset:0 auto 0 0;width:min(270px,85vw);border-radius:0;transform:translateX(-105%);transition:transform .22s ease;z-index:110}
  body.workspace-active.workspace-menu-open .workspace-sidebar{transform:translateX(0)}
  body.workspace-active .workspace-side-collapse{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid rgba(113,169,205,.42);border-radius:7px;background:rgba(255,255,255,.76);color:#176b9e;cursor:pointer}
  body.workspace-active .workspace-side-collapse:hover{background:#fff;border-color:#79b9df}
  body.workspace-active .workspace-side-collapse:focus-visible{outline:2px solid #1684cf;outline-offset:2px}
  body.workspace-active.workspace-menu-open .workspace-scrim{display:block;position:fixed;inset:0;z-index:100;background:rgba(20,53,80,.32)}
  body.workspace-active .workspace-menu-toggle{display:grid;place-items:center;position:fixed;top:23px;left:21px;z-index:90;width:36px;height:36px;border:1px solid #c5deed;border-radius:7px;background:rgba(255,255,255,.83);color:#126caa;font-size:20px;cursor:pointer}
  body.workspace-active .topbar{margin:10px 10px 0;top:10px}
  body.workspace-active .topbar-inner{min-height:61px;height:auto;padding:9px 12px 9px 55px;flex-wrap:wrap}
  body.workspace-active .header-ctx{width:auto;margin-left:auto}
  body.workspace-active #app{margin-left:0}
  body.workspace-active .container{padding:18px 12px 55px}
  body.workspace-active .home-hero-card{grid-template-columns:1fr;gap:12px;min-height:0;padding:23px 20px}
  body.workspace-active .home-seasonal{position:static;transform:none;max-width:100%;margin:0 auto}
  body.workspace-active .home-seasonal{display:none}
  body.workspace-active .home-hero-copy{min-height:0;align-items:flex-start;text-align:left}
  body.workspace-active .home-hero-copy h1{font-size:25px}
  body.workspace-active .home-countdown{align-self:flex-start}
  body.workspace-active .home-clock-shell{grid-column:1;grid-row:auto;justify-self:center;gap:14px}
  body.workspace-active .home-clock-face{width:128px;height:128px}
  body.workspace-active .home-clock-face::before{width:96px;height:96px}
  body.workspace-active .home-clock-face::after{width:68px;height:68px}
  body.workspace-active .home-clock-hand.hour{height:31px}
  body.workspace-active .home-clock-hand.minute{height:43px}
  body.workspace-active .home-clock-hand.second{height:50px}
  body.workspace-active .home-clock-meta strong{font-size:23px}
  body.workspace-active .home-clock-meta{align-items:center;text-align:center}
  body.workspace-active .home-clock-meta strong,
  body.workspace-active .home-clock-meta span{display:block;width:100%;text-align:center}
  body.workspace-active .home-hero-copy{align-items:center;text-align:center}
  body.workspace-active .home-hero-copy h1,
  body.workspace-active .home-hero-copy p,
  body.workspace-active .home-quote{text-align:center}
  body.workspace-active .home-countdown{align-self:center}
}

/* Refine account generation, message center and material upload dialogs. */
body.workspace-active .batch-account-modal{width:min(560px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 24px 64px rgba(38,70,94,.2)}
body.workspace-active .batch-account-modal .modal-head,
body.workspace-active .material-upload .modal-head{min-height:62px;padding:0 22px;border-bottom:1px solid rgba(115,151,177,.16)}
body.workspace-active .batch-account-modal .modal-head h3,
body.workspace-active .material-upload .modal-head h3{display:flex;align-items:center;gap:9px;color:#2e4a61;font-size:17px}
body.workspace-active .batch-account-modal .modal-body{padding:22px}
body.workspace-active .batch-account-modal .schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.workspace-active .batch-account-modal .field{display:grid;gap:7px;margin:0;color:#526b80;font-size:13px;font-weight:650}
body.workspace-active .batch-account-modal .input{height:42px;box-sizing:border-box;border:1px solid #d6e3ec;border-radius:10px;background:rgba(255,255,255,.88)}
body.workspace-active .batch-account-modal .modal-foot,
body.workspace-active .material-upload .modal-foot{min-height:64px;padding:11px 20px;border-top:1px solid rgba(115,151,177,.14);background:rgba(255,255,255,.46)}
body.workspace-active .admin-message-modal{width:min(880px,calc(100vw - 36px));height:min(900px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 26px 76px rgba(38,70,94,.22)}
body.workspace-active .admin-message-modal>.modal-head{min-height:66px;padding:10px 22px;border-bottom:1px solid rgba(115,151,177,.16);background:rgba(255,255,255,.78)}
body.workspace-active .admin-message-modal>.modal-head h3{display:flex;align-items:center;gap:8px;color:#2e4a61;font-size:17px}
body.workspace-active .admin-message-modal>.modal-body{display:grid;align-content:start;gap:16px;padding:18px 22px 24px}
body.workspace-active .admin-message-modal .message-settings{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:16px 18px;border:1px solid #e2ebf1;border-radius:12px;background:rgba(248,251,253,.88)}
body.workspace-active .admin-message-modal .message-threshold{display:grid;grid-template-columns:minmax(0,1fr) 112px auto auto;align-items:center;gap:10px;margin:0;padding:0 2px 15px;border-bottom:1px solid rgba(115,151,177,.15)}
body.workspace-active .admin-message-modal .message-threshold label{margin:0;color:#516b80;font-size:13px}
body.workspace-active .admin-message-modal .admin-message-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px;color:#36556d}
body.workspace-active .admin-message-modal .message-list{min-height:110px;max-height:220px;overflow:auto;padding:4px 0}
body.workspace-active .admin-message-modal .system-message-manager{display:grid;gap:14px;margin:4px 0 0;padding-top:18px;border-top:1px solid rgba(115,151,177,.18)}
body.workspace-active .admin-message-modal .system-message-manager-head{align-items:center;margin:0}
body.workspace-active .admin-message-modal .system-message-tabs{display:flex;gap:5px;padding:4px;border-radius:10px;background:#edf3f6}
body.workspace-active .admin-message-modal .system-message-tab{flex:1;min-width:0;height:38px;border:0;border-radius:8px;background:transparent;color:#71889a;font-size:13px;font-weight:650}
body.workspace-active .admin-message-modal .system-message-tab.active{background:#fff;color:#3b708f;box-shadow:0 1px 5px rgba(48,82,105,.1)}
body.workspace-active .admin-message-modal .system-message-editor{display:grid;gap:13px;margin:0;padding:17px;border:1px solid #e2ebf1;border-radius:12px;background:rgba(255,255,255,.7)}
body.workspace-active .admin-message-modal .system-message-editor>.panel-head{align-items:center;margin:0 0 2px}
body.workspace-active .admin-message-modal .system-message-editor .field{display:grid;gap:7px;margin:0;color:#50697d;font-size:13px;font-weight:650}
body.workspace-active .admin-message-modal .system-message-content{min-height:116px}
body.workspace-active .admin-message-modal .system-message-actions{display:flex;justify-content:flex-end;gap:9px;margin:0}
body.workspace-active .material-upload{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 26px 76px rgba(38,70,94,.22)}
body.workspace-active .material-upload .modal-body{padding:20px 22px;overflow:auto}
body.workspace-active .material-upload-body{gap:15px}
body.workspace-active .material-upload .form-grid-2{gap:14px 16px}
body.workspace-active .material-upload .field{display:grid;gap:7px;margin:0;color:#50697d;font-size:13px;font-weight:650}
body.workspace-active .material-upload .input{min-height:40px;border:1px solid #d8e4ec;border-radius:10px;background:rgba(255,255,255,.88)}
body.workspace-active .material-upload .material-description-input{min-height:84px}
body.workspace-active .material-upload .material-file-row{min-height:52px;border-color:#dce6ec;border-radius:10px;background:rgba(255,255,255,.72)}
@media(max-width:620px){
  body.workspace-active .batch-account-modal .modal-body{padding:17px}
  body.workspace-active .batch-account-modal .schedule-form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  body.workspace-active .admin-message-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  body.workspace-active .admin-message-modal>.modal-head{padding:8px 12px}
  body.workspace-active .admin-message-modal>.modal-body{gap:12px;padding:13px 12px 18px}
  body.workspace-active .admin-message-modal .message-settings{align-items:flex-start;padding:12px}
  body.workspace-active .admin-message-modal .message-threshold{grid-template-columns:minmax(0,1fr) 86px auto auto;gap:7px;font-size:12px}
  body.workspace-active .admin-message-modal .system-message-manager-head{align-items:flex-start;flex-direction:column;gap:5px}
  body.workspace-active .admin-message-modal .system-message-editor{padding:12px}
  body.workspace-active .material-upload{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  body.workspace-active .material-upload .modal-head{min-height:54px;padding:0 15px}
  body.workspace-active .material-upload .modal-body{padding:15px}
  body.workspace-active .material-upload .form-grid-2{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media(max-width:440px){body.workspace-active .topbar-inner{padding-left:52px}body.workspace-active .brand-title{font-size:13px}body.workspace-active .brand-sub{font-size:10px}body.workspace-active .header-ctx{width:100%;margin-left:0}body.workspace-active .header-ctx .btn[data-action="settings"]{display:none}body.workspace-active .class-card{min-height:138px}}

/* Blue identity is also used before login so the product keeps one visual language. */
body:not(.workspace-active){--bg:#eaf3fb;--accent:#1684cf;--accent-deep:#096cae;--accent-soft:#e3f3ff;--line:#d7e6f0;--ink:#18334a;--muted:#648096;background:#eaf3fb}
body:not(.workspace-active)::before{inset:0}
body:not(.workspace-active) .topbar{display:none!important}
body:not(.workspace-active) .auth-page{min-height:100vh}
body:not(.workspace-active)::before{background:linear-gradient(145deg,#b8d9fb 0%,#dff4fa 38%,#edf7fd 68%,#d6e9fa 100%)}
body:not(.workspace-active) .auth-shell{background:radial-gradient(circle at 16% 18%,rgba(22,132,207,.16),transparent 30%),radial-gradient(circle at 86% 82%,rgba(75,174,229,.13),transparent 28%)}
body:not(.workspace-active) .auth-shell::before{border-color:rgba(22,132,207,.15);box-shadow:0 0 0 34px rgba(22,132,207,.04),0 0 0 68px rgba(22,132,207,.025)}
body:not(.workspace-active) .auth-head{background:linear-gradient(135deg,#075c99,#1684cf 62%,#4aaee3)}
body:not(.workspace-active) .auth-head::after{border-color:rgba(255,255,255,.28);box-shadow:0 0 0 20px rgba(255,255,255,.05),0 0 0 42px rgba(255,255,255,.028)}
body:not(.workspace-active) .auth-tabs{background:#eaf5fc}
body:not(.workspace-active) .auth-tab.active{color:#1684cf}
body:not(.workspace-active) .login-avatar{background:#e3f3ff;color:#1684cf}
body:not(.workspace-active) .auth-body .input:focus{box-shadow:0 0 0 4px rgba(22,132,207,.13)}
body:not(.workspace-active) .auth-actions .btn{box-shadow:0 8px 18px rgba(22,132,207,.2)}
body:not(.workspace-active) .qr-code-text{background:#e3f3ff;color:#096cae}

body.workspace-active .btn.accent-action:hover:not(:disabled){background:#d6edfb;border-color:#8ec6e8;color:#096cae}
body.workspace-active .schedule-edit-action{background:#1684cf;border-color:#1684cf;color:#fff;box-shadow:0 6px 16px rgba(22,132,207,.18)}
body.workspace-active .schedule-edit-action:hover:not(:disabled){background:#096cae;border-color:#096cae;box-shadow:0 10px 22px rgba(22,132,207,.25)}
body.workspace-active .schedule-action{background:#e3f3ff;border-color:#acd5ed;color:#096cae}
body.workspace-active .today-course-item{border-color:#d7e6f0;border-left-color:#1684cf;background:#f4faff}
body.workspace-active .class-ranking,body.workspace-active .class-ranking-hero{border-color:#d7e6f0;background:#f4faff}
body.workspace-active .class-ranking-row:hover,body.workspace-active .student-ranking-row:hover,body.workspace-active .member-row:hover{background:#eef7fe}
body.workspace-active .ranking-no,body.workspace-active .student-ranking-no{background:#e3f3ff;color:#39759e}
body.workspace-active .schedule-day.schedule-today,body.workspace-active .schedule-cell.is-selected{background:#e3f3ff;color:#096cae;box-shadow:inset 0 -3px 0 #1684cf}
body.workspace-active .schedule-day small{color:#1684cf}
body.workspace-active .schedule-period:hover,body.workspace-active .course-split-item,body.workspace-active .course-split-item.bottom,body.workspace-active .course-chip{background:#eff8ff}
body.workspace-active .exam-grid-head,body.workspace-active .exam-name-head,body.workspace-active .exam-cell-input{background:#f1f9ff}
body.workspace-active .exam-grid-cell:hover,body.workspace-active .exam-cell-input.saved{background:#e5f3ff}
body.workspace-active .exam-cell-input.saved{border-color:#76bce4}
body.workspace-active .exam-cell-input:focus{box-shadow:0 0 0 3px rgba(22,132,207,.14)}
body.workspace-active .seat-config,body.workspace-active .seat-grid,body.workspace-active .seat-count-grid,body.workspace-active .seat-plan-intro{background:#f1f9ff;border-color:#d7e6f0}
body.workspace-active .seat-cell.available,body.workspace-active .seat-legend-dot.available{background:#e3f3ff;border-color:#acd5ed;color:#548fb8}
body.workspace-active .seat-count{background:#e3f3ff;border-color:#c7e2f2;color:#39759e}
body.workspace-active .seat-count:hover{background:#d2eafa;color:#096cae}
body.workspace-active .seat-count-grid .seat-cell.available{background:#e3f3ff}
body.workspace-active .chat-search-user,body.workspace-active .friend-request-user,body.workspace-active .message-settings,body.workspace-active .settings-reminder{background:#f1f9ff;border-color:#d7e6f0}
body.workspace-active .chat-tabs,body.workspace-active .seg,body.workspace-active .auth-tabs{background:#eaf5fc}
body.workspace-active .chat-friend:hover,body.workspace-active .chat-emoji-menu button:hover{background:#e3f3ff}
body.workspace-active .chat-history,body.workspace-active .chart-body{background:#f4faff}

/* Unified liquid-glass system across the application */
:root{--surface:rgba(255,255,255,.78);--line:rgba(255,255,255,.78);--radius:16px;--shadow:0 14px 38px rgba(43,91,135,.11),inset 0 1px 0 rgba(255,255,255,.78);--accent:#2488d5;--accent-deep:#126bad;--accent-soft:rgba(80,167,226,.13)}
body{background:#eaf3fb;color:#18334a}
body::before{inset:0;background:radial-gradient(ellipse at 8% 4%,rgba(255,255,255,.92),transparent 33%),radial-gradient(ellipse at 92% 18%,rgba(119,190,246,.25),transparent 31%),radial-gradient(ellipse at 64% 100%,rgba(119,211,220,.2),transparent 32%),linear-gradient(140deg,#edf6ff 0%,#deedfb 48%,#e8f5f8 100%)}
body.workspace-active .workspace-sidebar{inset:12px auto 12px 12px;width:244px;border:1px solid rgba(255,255,255,.76);border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.78),rgba(236,247,255,.62));backdrop-filter:blur(32px) saturate(155%);-webkit-backdrop-filter:blur(32px) saturate(155%);box-shadow:0 20px 58px rgba(43,103,152,.16),inset 0 1px 0 rgba(255,255,255,.92)}
.workspace-side-brand{height:82px;padding:18px;border-bottom-color:rgba(109,159,197,.18)}
.workspace-side-logo{width:42px;height:42px;border-radius:14px;box-shadow:0 6px 16px rgba(39,120,181,.12)}
.workspace-side-content{padding:18px 12px}
.workspace-nav-group+.workspace-nav-group{margin-top:20px}
.workspace-nav-label{padding-left:13px;color:#7794ab;letter-spacing:.08em}
.workspace-nav-item{min-height:43px;margin:3px 0;padding:9px 13px;border-radius:13px;color:#3e627d;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.workspace-nav-item:hover{background:rgba(255,255,255,.68);color:#126bad;box-shadow:0 5px 15px rgba(62,121,166,.08);transform:translateX(2px)}
.workspace-nav-item.is-active{background:linear-gradient(110deg,#278cda,#56b2e9);box-shadow:0 8px 19px rgba(34,132,203,.24),inset 0 1px 0 rgba(255,255,255,.32)}
.workspace-side-foot{border-top-color:rgba(109,159,197,.18);padding:13px}
body.workspace-active .topbar{top:12px;margin:12px 20px 0 272px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(247,252,255,.7);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:0 12px 32px rgba(43,103,152,.1),inset 0 1px 0 rgba(255,255,255,.9)}
body.workspace-active .topbar-inner{height:64px;padding:0 22px}
body.workspace-active #app{margin-left:256px}
body.workspace-active .container{max-width:1660px;padding:28px clamp(22px,3vw,48px) 72px}
body.workspace-active .home-dashboard{gap:20px}
body.workspace-active .home-hero-card{border:1px solid rgba(255,255,255,.88);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(239,249,255,.57));backdrop-filter:blur(25px) saturate(140%);-webkit-backdrop-filter:blur(25px) saturate(140%);box-shadow:0 18px 48px rgba(49,104,147,.12),inset 0 1px 0 rgba(255,255,255,.92)}
body.workspace-active .home-panel,body.workspace-active .panel,body.workspace-active .class-card,body.workspace-active .stat,body.workspace-active .dim-tile{border:1px solid rgba(255,255,255,.86);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(245,250,255,.68));backdrop-filter:blur(19px) saturate(135%);-webkit-backdrop-filter:blur(19px) saturate(135%);box-shadow:0 12px 30px rgba(48,100,143,.09),inset 0 1px 0 rgba(255,255,255,.88)}
body.workspace-active .panel-head,body.workspace-active .home-panel-tools{border-bottom-color:rgba(125,165,196,.17);border-radius:18px 18px 0 0;background:rgba(255,255,255,.38)}
body.workspace-active .class-card:hover,body.workspace-active .panel:hover,body.workspace-active .home-panel:hover,body.workspace-active .stat:hover,body.workspace-active .dim-tile:hover{border-color:rgba(111,183,226,.58);box-shadow:0 18px 38px rgba(43,104,151,.15),inset 0 1px 0 rgba(255,255,255,.95)}
body.workspace-active .home-hero-card .home-countdown,body.workspace-active .today-course-item,body.workspace-active .class-ranking,body.workspace-active .class-ranking-hero,body.workspace-active .seat-config,body.workspace-active .seat-grid,body.workspace-active .seat-count-grid,body.workspace-active .seat-plan-intro,body.workspace-active .chat-search-user,body.workspace-active .friend-request-user,body.workspace-active .message-settings,body.workspace-active .settings-reminder{border:1px solid rgba(255,255,255,.8);border-radius:14px;background:rgba(240,248,255,.56)}
body.workspace-active .btn{min-height:38px;border:1px solid rgba(126,167,198,.28);border-radius:12px;background:rgba(255,255,255,.68);color:#315975;box-shadow:0 4px 12px rgba(40,93,135,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.workspace-active .btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(85,158,207,.5);background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(40,93,135,.11)}
body.workspace-active .btn.primary,body.workspace-active .schedule-edit-action{border-color:rgba(255,255,255,.25);background:linear-gradient(120deg,#2588d4,#48a9e4);color:#fff;box-shadow:0 8px 20px rgba(34,132,203,.22),inset 0 1px 0 rgba(255,255,255,.28)}
body.workspace-active .btn.primary:hover:not(:disabled),body.workspace-active .schedule-edit-action:hover:not(:disabled){background:linear-gradient(120deg,#1679c4,#3597d5);box-shadow:0 11px 24px rgba(34,132,203,.3)}
body.workspace-active .btn.danger{background:rgba(255,247,247,.74);color:#bd4d55}
body.workspace-active .input,body.workspace-active input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),body.workspace-active select,body.workspace-active textarea{border-color:rgba(123,166,199,.3);border-radius:12px;background:rgba(255,255,255,.7);color:#234760;box-shadow:inset 0 1px 2px rgba(31,79,115,.035)}
body.workspace-active .input:focus,body.workspace-active input:focus,body.workspace-active select:focus,body.workspace-active textarea:focus{border-color:#76b9e5;background:rgba(255,255,255,.94);box-shadow:0 0 0 4px rgba(50,148,212,.12)}
body.workspace-active .modal-mask,body.workspace-active .app-confirm-mask{background:rgba(25,50,75,.34);backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%)}
body.workspace-active .modal,body.workspace-active .app-confirm-dialog{border:1px solid rgba(255,255,255,.84);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,248,255,.86));backdrop-filter:blur(34px) saturate(145%);-webkit-backdrop-filter:blur(34px) saturate(145%);box-shadow:0 28px 80px rgba(24,62,96,.24),inset 0 1px 0 rgba(255,255,255,.96)}
body.workspace-active .modal-head,body.workspace-active .modal-foot{border-color:rgba(111,159,195,.18);background:rgba(255,255,255,.34)}
body.workspace-active .modal-head{border-radius:24px 24px 0 0}
body.workspace-active .modal-foot{border-radius:0 0 24px 24px}
body.workspace-active .toast{border:1px solid rgba(255,255,255,.7);border-radius:14px;background:rgba(31,63,86,.88);backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(19,49,73,.22)}
body.workspace-active .workspace-class-switch,body.workspace-active .select-wrap select{border-color:rgba(123,166,199,.34);border-radius:11px;background:rgba(255,255,255,.68)}
body.workspace-active .schedule-cell,body.workspace-active .schedule-period,body.workspace-active .exam-grid-cell,body.workspace-active .exam-cell-input,body.workspace-active .seat-cell,body.workspace-active .chat-history,body.workspace-active .chart-body{border-color:rgba(128,168,198,.22);background:rgba(255,255,255,.46)}
body.workspace-active .exam-grid-head,body.workspace-active .exam-name-head{background:rgba(227,241,252,.72)}
body.workspace-active .site-footer{color:#7391a7}
body:not(.workspace-active) .auth-card{border:1px solid rgba(255,255,255,.84);border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,250,255,.78));backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%);box-shadow:0 30px 80px rgba(35,94,142,.2),inset 0 1px 0 rgba(255,255,255,.95)}
body:not(.workspace-active) .auth-head{border-radius:24px 24px 0 0}
body:not(.workspace-active) .auth-body .input,body:not(.workspace-active) .auth-body input,body:not(.workspace-active) .auth-body select{border-radius:12px;background:rgba(255,255,255,.76)}
body:not(.workspace-active) .auth-actions .btn{border-radius:13px}
@media(max-width:760px){body.workspace-active .workspace-sidebar{inset:8px auto 8px 8px;border-radius:20px}body.workspace-active .topbar{margin:10px 10px 0 10px;border-radius:16px}body.workspace-active #app{margin-left:0}body.workspace-active .container{padding:20px 14px 48px}body.workspace-active .home-hero-card{border-radius:20px}body.workspace-active .home-panel,body.workspace-active .panel,body.workspace-active .class-card,body.workspace-active .stat,body.workspace-active .dim-tile{border-radius:16px}}
@media(prefers-reduced-transparency:reduce){body.workspace-active .workspace-sidebar,body.workspace-active .topbar,body.workspace-active .home-hero-card,body.workspace-active .home-panel,body.workspace-active .panel,body.workspace-active .class-card,body.workspace-active .stat,body.workspace-active .dim-tile,body.workspace-active .modal,body.workspace-active .app-confirm-dialog{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(245,250,255,.97)}}

/* Home status area: two closely spaced glass panels. */
body.workspace-active .home-hero-card{
  grid-template-columns:minmax(0,1fr) minmax(330px,400px);
  gap:8px;
  min-height:244px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.workspace-active .home-hero-main,
body.workspace-active .home-clock-shell{
  min-width:0;
  align-self:stretch;
  border:1px solid rgba(255,255,255,.88);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(239,249,255,.57));
  box-shadow:0 18px 48px rgba(49,104,147,.12),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(25px) saturate(140%);
  -webkit-backdrop-filter:blur(25px) saturate(140%);
}
body.workspace-active .home-hero-main{
  position:relative;
  display:grid;
  align-items:center;
  min-height:244px;
  padding:24px 32px;
  overflow:visible;
  isolation:isolate;
  border:1px solid rgba(255,255,255,.88);
  border-radius:24px;
  background:linear-gradient(90deg,rgba(239,249,255,.24),rgba(239,249,255,.08)),url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/home-banner-bg.png") center 52% / cover no-repeat;
  box-shadow:0 18px 48px rgba(49,104,147,.12),inset 0 1px 0 rgba(255,255,255,.92);
}
body.workspace-active .home-hero-copy{position:relative;z-index:4;width:25%;min-width:245px;min-height:0;padding:0;justify-content:flex-start}
body.workspace-active .home-hero-copy h1{display:flex;align-items:center;gap:12px;font-size:clamp(22px,2vw,30px);white-space:nowrap;text-shadow:0 1px 8px rgba(255,255,255,.75)}
body.workspace-active .home-greeting-sun{width:40px;height:40px;flex:none;filter:drop-shadow(0 2px 3px rgba(235,163,0,.18))}
body.workspace-active .home-hero-copy p:not(.home-quote){margin-left:52px;text-shadow:0 1px 8px rgba(255,255,255,.8)}
body.workspace-active .home-hero-copy .home-quote{display:none}
body.workspace-active .home-hero-card .home-countdown{display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start;justify-content:center;gap:0;width:max-content;min-width:0;max-width:100%;box-sizing:border-box;min-height:90px;margin:13px 0 0 52px;padding:8px 14px;border:1px solid rgba(255,255,255,.95);border-radius:14px;background:rgba(239,247,255,.9);color:#173d79;box-shadow:0 8px 20px rgba(33,102,178,.1);text-align:left}
body.workspace-active .home-countdown:hover{background:rgba(231,243,255,.96);border-color:#fff}
body.workspace-active .home-countdown-label{max-width:100%;font-size:14px;font-weight:800;line-height:1.2;white-space:normal}
body.workspace-active .home-countdown-total{display:flex;align-items:baseline;gap:7px;line-height:1.05}
body.workspace-active .home-countdown-total strong{font-size:40px;font-weight:900;letter-spacing:-.04em;color:#176bb8}
body.workspace-active .home-countdown-total>span{font-size:16px;font-weight:800;color:#234a77}
body.workspace-active .home-banner-art{position:absolute;z-index:2;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(22,83,145,.12))}
body.workspace-active .home-banner-tagline{left:34%;top:58%;width:20%;transform:translateY(-50%)}
body.workspace-active .home-banner-note{right:1.5%;top:50%;width:20%;transform:translateY(-50%)}
body.workspace-active .home-banner-mascot{position:absolute;z-index:3;left:62%;top:-20px;width:auto;height:calc(100% + 20px);max-width:31%;object-fit:contain;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 8px 12px rgba(27,83,145,.16))}
body.workspace-active .home-clock-shell{
  position:relative;
  grid-column:2;
  grid-row:1;
  align-self:stretch;
  justify-self:stretch;
  justify-content:center;
  padding:27px 24px;
  overflow:hidden;
  isolation:isolate;
  background:#dff3ff;
}
body.workspace-active .home-clock-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/home-clock-bg.png") center 52% / cover no-repeat;
}
body.workspace-active .home-clock-shell::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(100deg,rgba(242,250,255,.16),rgba(255,255,255,.26));
  pointer-events:none;
}
body.workspace-active .home-clock-shell>*{position:relative;z-index:1}
body.workspace-active .home-hero-main .home-seasonal{max-width:calc(100% - 430px)}
body.workspace-active .home-hero-main .home-seasonal{display:none}

/* Home teaching overview, matched to the three-column reference. */
body.workspace-active .home-planner{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;align-items:stretch}
body.workspace-active .home-planner-card{display:flex;flex-direction:column;min-width:0;height:220px;padding:14px 15px 12px;overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:12px;background:linear-gradient(120deg,rgba(250,253,255,.96),rgba(245,249,255,.9));box-shadow:0 5px 18px rgba(66,132,190,.05);color:#18365f}
body.workspace-active .home-planner-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;margin-bottom:12px;flex:none}
body.workspace-active .home-planner-head h3{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;color:#193660;font-size:16px;font-weight:800;line-height:1.4}
body.workspace-active .home-planner-head h3 svg{flex:none}
body.workspace-active .home-planner button{font-family:inherit;cursor:pointer}
body.workspace-active .home-planner-more{display:flex;align-items:center;gap:3px;flex:none;padding:2px 0;border:0;background:transparent;color:#7b97af;font-size:12px;white-space:nowrap}
body.workspace-active .home-planner-more:hover{color:#167ee8}
body.workspace-active .home-planner button:focus-visible{outline:2px solid #1986f7;outline-offset:2px}
body.workspace-active .home-course-feed{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbdff4 transparent}
body.workspace-active .home-course-row{display:flex;align-items:center;gap:13px;min-width:0;min-height:68px;width:100%;padding:9px 13px;border:0;border-left:3px solid transparent;border-radius:8px;background:linear-gradient(110deg,#f0f5fd,#f1f6fc);color:#18365f;text-align:left;transition:background .16s}
body.workspace-active .home-course-row.is-ongoing{border-left-color:#278aff;background:linear-gradient(100deg,#eaf5ff,#f0f8ff)}
body.workspace-active .home-course-row:hover{background:#e6f2ff}
body.workspace-active .home-course-hours{display:grid;gap:3px;flex:none;min-width:48px;font-variant-numeric:tabular-nums}
body.workspace-active .home-course-hours strong{font-size:14px;font-weight:600}
body.workspace-active .home-course-hours small{font-size:12px;color:#7c91ad;white-space:nowrap}
body.workspace-active .home-course-symbol{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:9px;background:linear-gradient(140deg,#e1eeff,#d3e4ff);color:#1876e6;box-shadow:inset 0 1px 0 #ecf6ff}
body.workspace-active .home-course-copy{display:grid;gap:5px;flex:1;min-width:0}
body.workspace-active .home-course-copy strong{overflow:hidden;font-size:16px;font-weight:800;line-height:1.3;white-space:nowrap;text-overflow:ellipsis}
body.workspace-active .home-course-copy small{overflow:hidden;font-size:12px;color:#6784a6;line-height:1.4;white-space:nowrap;text-overflow:ellipsis}
body.workspace-active .home-course-status{padding:4px 12px;flex:none;border-radius:20px;background:#e7eef9;color:#718aa8;font-size:12px;white-space:nowrap}
body.workspace-active .is-upcoming .home-course-status{background:#fee2e2;color:#dc2626}
body.workspace-active .is-ongoing .home-course-status{background:#d4f3ee;color:#159d8b}
body.workspace-active .is-finished .home-course-status{background:#e8edf4;color:#91a0b4}
body.workspace-active .home-planner-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:144px;color:#7d97b3;font-size:14px}
body.workspace-active .home-planner-empty>svg{color:#a9c9eb}
body.workspace-active .home-planner-empty button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#3187d6;font-size:12px}
body.workspace-active .home-todo-feed{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));flex:1;gap:2px;min-height:0}
body.workspace-active .home-todo-row{display:flex;align-items:center;gap:11px;min-width:0;width:100%;padding:3px 7px;border:0;border-radius:6px;background:transparent;color:#294569;text-align:left;font-size:14px;transition:background .16s}
body.workspace-active .home-todo-row:hover{background:#eaf4ff}
body.workspace-active .home-todo-row>span:nth-child(2){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.workspace-active .home-todo-row>svg:last-child{margin-left:auto;flex:none;color:#7894b2}
body.workspace-active .home-todo-symbol{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:6px;box-shadow:0 2px 6px rgba(85,128,180,.07)}
body.workspace-active .tone-orange{background:#f7eee5;color:#a8794f}
body.workspace-active .tone-blue{background:#e9f0f5;color:#627f96}
body.workspace-active .tone-green{background:#e8f1ed;color:#648a78}
body.workspace-active .tone-purple{background:#eeeaf2;color:#82758f}
body.workspace-active .home-todo-count{flex:none;color:#8053e4;font-size:12px;white-space:nowrap}
body.workspace-active .home-week-card{padding-left:13px;padding-right:13px}
body.workspace-active .home-week-card .home-planner-head{gap:5px;margin-bottom:9px}
body.workspace-active .home-week-nav{display:flex;align-items:center;gap:5px;min-width:0}
body.workspace-active .home-week-nav button{display:grid;place-items:center;width:22px;height:22px;flex:none;padding:0;border:0;border-radius:5px;background:#eaf2fd;color:#37557e}
body.workspace-active .home-week-nav button:first-child svg{transform:rotate(180deg)}
body.workspace-active .home-week-nav .home-week-month{width:auto;padding:0 2px;background:transparent;font-size:12px;white-space:nowrap}
body.workspace-active .home-week-nav button:hover{background:#deedff;color:#167ee8}
body.workspace-active .home-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:0 0 10px;border-bottom:1px solid #edf3fb;flex:none}
body.workspace-active .home-week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;padding:3px 0;border:0;background:transparent;color:#1a3a67}
body.workspace-active .home-week-day>span{font-size:12px;color:#7d97b4;line-height:18px}
body.workspace-active .home-week-day>strong{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
body.workspace-active .home-week-day:hover>strong{background:#e3efff}
body.workspace-active .home-week-day.is-today>span{font-weight:800;color:#214575}
body.workspace-active .home-week-day.is-selected>strong{background:#147cf3;color:#fff;box-shadow:0 3px 9px rgba(20,124,243,.19)}
body.workspace-active .home-week-events{display:grid;align-content:start;gap:5px;min-height:0;margin-top:9px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbdff4 transparent}
body.workspace-active .home-week-event{display:flex;align-items:center;gap:9px;width:100%;min-width:0;min-height:25px;padding:3px 2px;border:0;border-radius:4px;background:transparent;color:#2e4b71;text-align:left;font-size:12px}
body.workspace-active .home-week-event:hover{background:#eaf3ff}
body.workspace-active .home-week-event i{width:7px;height:7px;border-radius:50%;flex:none;background:#1988f4}
body.workspace-active .home-week-event.is-gold i{background:#ffbd46}
body.workspace-active .home-week-event time{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}
body.workspace-active .home-week-event>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.workspace-active .home-week-empty{display:flex;align-items:center;justify-content:center;min-height:45px;color:#8aa0b7;font-size:12px}
.home-todos-modal{width:min(760px,94vw)}
.home-todos-modal .modal-head h3{display:flex;align-items:center;gap:8px}
.home-todos-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.home-todos-modal .memo-list{padding:0}
@media(min-width:1081px) and (max-width:1390px){
  body.workspace-active .home-planner{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.1fr);gap:10px}
  body.workspace-active .home-planner-card{padding-left:12px;padding-right:12px}
  body.workspace-active .home-planner-head h3{font-size:15px;gap:5px}
  body.workspace-active .home-course-row{gap:9px;padding-left:9px;padding-right:9px}
  body.workspace-active .home-course-symbol{width:34px;height:36px}
  body.workspace-active .home-course-status{padding:4px 8px}
  body.workspace-active .home-week-nav{gap:2px}
  body.workspace-active .home-week-nav button{width:19px}
}
@media(min-width:761px) and (max-width:1080px){
  body.workspace-active .home-planner{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
  body.workspace-active .home-week-card{grid-column:1 / -1;height:220px}
}
@media(max-width:760px){
  body.workspace-active .home-planner{grid-template-columns:minmax(0,1fr);gap:12px}
  body.workspace-active .home-planner-card{height:220px;padding:14px 16px}
  body.workspace-active .home-course-row{gap:10px;padding-left:10px;padding-right:10px}
  body.workspace-active .home-course-copy strong{font-size:15px}
}

/* Four compact shortcuts below the home status banner. */
body.workspace-active .home-quick-entry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.35fr);gap:10px;min-width:0}
body.workspace-active .home-quick-link{display:flex;align-items:center;gap:13px;min-width:0;min-height:78px;padding:12px 16px;border:1px solid rgba(255,255,255,.86);border-radius:13px;background:linear-gradient(125deg,rgba(235,239,255,.82),rgba(255,255,255,.74));box-shadow:0 7px 20px rgba(54,104,148,.08),inset 0 1px 0 rgba(255,255,255,.9);color:#1c3c5b;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
body.workspace-active .home-quick-schedule{background:linear-gradient(125deg,rgba(232,231,255,.9),rgba(249,250,255,.78))}
body.workspace-active .home-quick-materials{background:linear-gradient(125deg,rgba(224,250,243,.9),rgba(249,255,253,.78))}
body.workspace-active .home-quick-homework{background:linear-gradient(125deg,rgba(255,232,233,.9),rgba(255,250,250,.78))}
body.workspace-active .home-quick-classes{background:linear-gradient(125deg,rgba(255,246,220,.92),rgba(255,253,245,.8))}
body.workspace-active .home-quick-link:hover{transform:translateY(-2px);border-color:rgba(125,185,222,.68);box-shadow:0 11px 24px rgba(54,104,148,.14),inset 0 1px 0 rgba(255,255,255,.95)}
body.workspace-active .home-quick-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:10px;background:#e3e0ff;color:#6652d5}
body.workspace-active .home-quick-materials .home-quick-icon{background:#c9f2e5;color:#149b78}
body.workspace-active .home-quick-homework .home-quick-icon{background:#ffe0e1;color:#e05a60}
body.workspace-active .home-quick-classes .home-quick-icon{background:#ffedc5;color:#d99a19}
body.workspace-active .home-quick-copy{display:grid;gap:3px;min-width:0}
body.workspace-active .home-quick-copy strong{overflow:hidden;color:#173957;font-size:14px;font-weight:850;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .home-quick-copy small{overflow:hidden;color:#68829a;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}

@media(min-width:761px) and (max-width:1120px){
  body.workspace-active .home-hero-card{grid-template-columns:minmax(0,1fr) minmax(280px,310px);gap:8px;padding:0}
  body.workspace-active .home-hero-main{min-height:220px;padding:18px}
  body.workspace-active .home-hero-copy{width:30%;min-width:210px}
  body.workspace-active .home-hero-copy h1{font-size:22px;gap:8px}
  body.workspace-active .home-greeting-sun{width:32px;height:32px}
  body.workspace-active .home-hero-copy p:not(.home-quote){margin-left:40px}
  body.workspace-active .home-hero-card .home-countdown{margin-left:40px}
  body.workspace-active .home-banner-tagline{left:36%;width:19%}
  body.workspace-active .home-banner-mascot{left:63%;height:calc(100% + 12px);top:-12px;max-width:34%}
  body.workspace-active .home-banner-note{right:1%;width:19%}
  body.workspace-active .home-clock-shell{padding:22px 16px}
  body.workspace-active .home-hero-main .home-seasonal{max-width:calc(100% - 330px)}
}
@media(max-width:760px){
  body.workspace-active .home-quick-entry{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.workspace-active .home-quick-link{min-height:68px;padding:9px 11px;gap:9px}
  body.workspace-active .home-quick-icon{width:38px;height:38px}
  body.workspace-active .home-quick-copy strong{font-size:13px}
  body.workspace-active .home-quick-copy small{font-size:10.5px}
  body.workspace-active .home-hero-card{grid-template-columns:1fr;gap:8px;padding:0}
  body.workspace-active .home-hero-main{min-height:280px;padding:18px 16px;align-items:start;background-position:center 52%;border-radius:20px}
  body.workspace-active .home-hero-copy{width:56%;min-width:0;align-items:flex-start;text-align:left}
  body.workspace-active .home-hero-copy h1{font-size:clamp(19px,5.3vw,25px);gap:7px;white-space:normal}
  body.workspace-active .home-greeting-sun{width:30px;height:30px}
  body.workspace-active .home-hero-copy p:not(.home-quote){margin-left:37px}
  body.workspace-active .home-hero-card .home-countdown{width:max-content;min-width:0;max-width:100%;min-height:82px;margin-left:37px;padding:8px 12px}
  body.workspace-active .home-countdown-total strong{font-size:36px}
  body.workspace-active .home-hero-copy p:not(.home-quote){font-size:12px}
  body.workspace-active .home-banner-tagline{left:3%;bottom:6px;top:auto;width:36%;transform:none}
  body.workspace-active .home-banner-mascot{left:58%;top:-14px;height:190px;max-width:52%}
  body.workspace-active .home-banner-note{right:1%;bottom:8px;top:auto;width:31%;transform:none}
  body.workspace-active .home-seasonal{display:none}
  body.workspace-active .home-clock-shell{grid-column:1;grid-row:auto;padding:20px}
}
@media(prefers-reduced-transparency:reduce){
  body.workspace-active .home-hero-card{background:transparent}
  body.workspace-active .home-hero-main{background-image:linear-gradient(rgba(245,250,255,.12),rgba(245,250,255,.12)),url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/home-banner-bg.png");backdrop-filter:none;-webkit-backdrop-filter:none}
  body.workspace-active .home-clock-shell{backdrop-filter:none;-webkit-backdrop-filter:none}
}

.workspace-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.workspace-skeleton{display:block;position:relative;overflow:hidden;border-radius:6px;background:#dcecf7}
.workspace-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.68) 50%,transparent 80%);transform:translateX(-100%);animation:workspace-shimmer 1.45s ease-in-out infinite}
@keyframes workspace-shimmer{to{transform:translateX(100%)}}
.workspace-skeleton-logo{width:39px;height:39px;flex:none;border-radius:8px}
.workspace-skeleton-lines{display:grid;gap:8px;flex:1}
.workspace-skeleton-lines i{height:11px}
.workspace-skeleton-lines i:last-child{width:65%;height:8px}
.workspace-skeleton-nav{display:grid;align-content:start;gap:13px;padding:26px 20px}
.workspace-skeleton-nav .workspace-skeleton{height:17px;width:80%}
.workspace-skeleton-nav .workspace-skeleton:nth-child(3n){width:57%}
.workspace-loading{pointer-events:none}
.workspace-skeleton-hero,.workspace-skeleton-panel{border:1px solid rgba(255,255,255,.85);border-radius:8px;background:rgba(255,255,255,.66);box-shadow:0 8px 24px rgba(53,108,150,.08)}
.workspace-skeleton-hero{min-height:244px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 32px}
.workspace-skeleton-copy{display:grid;gap:14px;width:min(48%,470px)}
.workspace-skeleton-copy .title{width:65%;height:30px}
.workspace-skeleton-copy .short{width:42%;height:14px}
.workspace-skeleton-copy .action{width:190px;height:44px;border-radius:7px}
.workspace-skeleton-copy .medium{width:80%;height:12px}
.workspace-skeleton-clock{display:flex;align-items:center;gap:20px;margin-right:8px}
.workspace-skeleton-clock .circle{width:170px;height:170px;border-radius:50%;flex:none}
.workspace-skeleton-clock .medium{width:105px;height:26px}
.workspace-skeleton-panel{overflow:hidden}
.workspace-skeleton-panel-head{min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #e2eef6}
.workspace-skeleton-panel-head .medium{width:120px;height:18px}
.workspace-skeleton-panel-head .short{width:180px;height:12px}
.workspace-skeleton-course{display:flex;align-items:center;gap:28px;margin:16px 18px;padding:16px;border:1px solid #e2eef6;border-radius:7px}
.workspace-skeleton-course .short{width:80px;height:30px}
.workspace-skeleton-course .medium{width:220px;height:30px}
.workspace-skeleton-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}
.workspace-skeleton-cards>div{display:grid;align-content:start;gap:13px;min-height:132px;padding:22px;border:1px solid #e2eef6;border-radius:8px;background:rgba(255,255,255,.68)}
.workspace-skeleton-cards .medium{width:70%;height:20px}
.workspace-skeleton-cards .short{width:45%;height:12px}
.workspace-skeleton-cards .medium:last-child{width:62%;height:12px}
@media(max-width:760px){.workspace-skeleton-hero{min-height:245px;flex-direction:column;align-items:flex-start;padding:23px 20px}.workspace-skeleton-copy{width:100%}.workspace-skeleton-clock{align-self:center}.workspace-skeleton-clock .circle{width:90px;height:90px}.workspace-skeleton-clock .medium{display:none}.workspace-skeleton-cards{grid-template-columns:1fr}.workspace-skeleton-panel-head .short{display:none}}
@media(prefers-reduced-motion:reduce){.workspace-skeleton::after{animation:none;transform:none;background:rgba(255,255,255,.18)}}

/* Illustrated class space: right-aligned artwork keeps the mascot in view. */
body.workspace-active .home-class-panel{overflow:visible;border-radius:12px;padding:10px 12px 12px;background:rgba(248,253,255,.81)}
body.workspace-active .home-class-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:0 0 12px}
body.workspace-active .home-class-header>h3{display:flex;align-items:center;gap:7px;margin:0;color:#1c3e69;font-size:16px;font-weight:800;white-space:nowrap}
body.workspace-active .home-class-tools{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
body.workspace-active .home-class-tools .btn{height:36px;min-height:36px;padding:0 12px;gap:6px;border:1px solid #deebf7;border-radius:6px;background:rgba(255,255,255,.9);box-shadow:0 2px 5px rgba(54,117,171,.04);color:#284569;font-size:13px;font-weight:650;white-space:nowrap}
body.workspace-active .home-class-tools .btn.primary{border-color:#187ff1;background:#187ff1;color:#fff;box-shadow:0 3px 8px rgba(24,127,241,.16)}
body.workspace-active .home-class-tools .btn:hover{border-color:#9dcaf4;background:#eaf5ff}
body.workspace-active .home-class-tools .btn.primary:hover{background:#096cdd;color:#fff}
body.workspace-active .home-class-tools .vacation-toolbar-active{background:#dff2ff;border-color:#9dcced;color:#096cae}
body.workspace-active .home-class-end{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
body.workspace-active .home-class-summary{color:#7994ad;font-size:12px;white-space:nowrap}
body.workspace-active .home-class-search{display:flex;align-items:center;gap:7px;min-width:0;height:35px;padding:0 10px;border:1px solid #dfeaf6;border-radius:8px;background:rgba(247,251,255,.85);color:#7e9cbb}
body.workspace-active .home-class-search input{width:100%;min-width:0;padding:0;border:0;outline:none;background:transparent;color:#294c73;font:inherit;font-size:13px}
body.workspace-active .home-class-search input::placeholder{color:#9bb0c7}
body.workspace-active .home-class-search:focus-within{border-color:#78bafa;box-shadow:0 0 0 2px #e0f0ff}
body.workspace-active .home-class-grade{width:88px;height:35px;padding:0 8px;border:1px solid #dfeaf6;border-radius:7px;background:#fafdff;color:#426488;font:inherit;font-size:12px;cursor:pointer}
body.workspace-active .home-class-more{position:relative;z-index:6}
body.workspace-active .home-class-more>summary{display:grid;place-items:center;width:24px;height:29px;border-radius:5px;color:#7896b0;cursor:pointer;list-style:none;font-weight:800;letter-spacing:1px}
body.workspace-active .home-class-more>summary::-webkit-details-marker{display:none}
body.workspace-active .home-class-more>summary:hover{background:#e7f2ff;color:#177cda}
body.workspace-active .home-class-more-menu{position:absolute;right:0;top:34px;display:grid;gap:5px;width:160px;padding:8px;border:1px solid #dceaf8;border-radius:9px;background:#fafdff;box-shadow:0 10px 26px rgba(35,85,137,.16)}
body.workspace-active .home-class-more:not([open]) .home-class-more-menu{display:none}
body.workspace-active .home-class-more-menu .btn{justify-content:flex-start;height:31px;font-size:12px}
body.workspace-active .home-class-panel .class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;min-width:0}
body.workspace-active .home-class-panel .class-card-wrap{position:relative;isolation:isolate;min-width:0;height:auto;min-height:118px;aspect-ratio:3.35;overflow:hidden;border:1px solid #cce6fa;border-radius:9px;background:#e6f5ff;box-shadow:0 3px 10px rgba(56,132,191,.06);transition:box-shadow .18s,border-color .18s}
body.workspace-active .home-class-panel .class-card-wrap:hover{border-color:#83bef4;box-shadow:0 5px 15px rgba(56,132,191,.15)}
body.workspace-active .home-class-panel .class-card-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:right center;pointer-events:none}
body.workspace-active .home-class-panel .class-card-wrap::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(245,251,255,.97) 0%,rgba(244,251,255,.94) 35%,rgba(242,249,255,.8) 50%,rgba(242,249,255,.24) 65%,transparent 78%);pointer-events:none}
body.workspace-active .home-class-panel .class-card{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;min-height:0;padding:10px 13px 38px;border:0;border-radius:inherit;outline-offset:-3px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;opacity:1;text-align:left}
body.workspace-active .home-class-panel .class-card::after{display:none}
body.workspace-active .home-class-panel .class-card h3{display:flex;align-items:center;gap:7px;max-width:77%;margin:0;padding:0;color:#183c6b;font-size:16px;font-weight:800;line-height:21px;white-space:nowrap}
body.workspace-active .home-class-panel .class-card-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.workspace-active .home-class-panel .class-card h3 .tag{flex:none;margin:0;padding:1px 5px;border:0;border-radius:4px;background:#ffe7e7;color:#df5555;font-size:10px;font-weight:600;line-height:15px}
body.workspace-active .home-class-panel .class-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;max-width:75%;margin-top:3px;color:#627f9e;font-size:11px;line-height:17px;white-space:nowrap}
body.workspace-active .home-class-panel .class-meta span{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.workspace-active .home-class-panel .class-meta svg{width:12px;height:12px;flex:none}
body.workspace-active .home-class-panel .class-meta+.class-meta{margin-top:1px}
body.workspace-active .home-class-panel .class-card-shortcut{position:absolute;right:12px;top:11px;display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:rgba(110,182,248,.55);color:#fff}
body.workspace-active .home-class-panel .class-go{position:absolute;right:11px;top:46%;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(245,251,255,.62);color:#4a89ca}
body.workspace-active .home-class-panel .class-go svg{width:14px;height:14px}
body.workspace-active .home-class-panel .class-card-actions{position:absolute;left:13px;bottom:10px;z-index:3;display:flex;align-items:center;gap:6px}
body.workspace-active .home-class-panel .class-card-actions button{position:static;display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:0;height:25px;padding:0 8px;border:1px solid #dbe8f5;border-radius:4px;background:rgba(255,255,255,.88);color:#345574;font:inherit;font-size:11px;line-height:1;cursor:pointer;box-shadow:none;transform:none}
body.workspace-active .home-class-panel .class-card-actions button:hover{border-color:#9ac8ee;background:#fff}
body.workspace-active .home-class-panel .class-card-actions svg{width:12px;height:12px;flex:none}
body.workspace-active .home-class-panel .class-card-actions .class-toggle{color:#178d9e;border-color:#cce8ed}
body.workspace-active .home-class-panel .class-card-actions .class-delete{color:#df535d;border-color:#f0dadf}
body.workspace-active .home-class-panel .class-card-actions .class-delete:hover{background:#fff2f3;border-color:#edaeb6}
body.workspace-active .home-class-panel .home-class-no-results{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:118px;color:#7f99b3;font-size:13px}

/* Compact utility navigation matching the reference header. */
body.workspace-active .workspace-topbar{position:relative;z-index:70;height:52px;margin:8px 16px 0 256px;padding:0 8px;border:0;border-radius:0;background:transparent;box-shadow:none}
body.workspace-active .workspace-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;height:100%;min-width:0;box-sizing:border-box}
body.workspace-active .workspace-global-search{position:relative;display:flex;align-items:center;gap:10px;width:min(416px,48%);min-width:0;max-width:100%;height:50px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:25px;background:rgba(255,255,255,.07);backdrop-filter:blur(20px) saturate(155%);-webkit-backdrop-filter:blur(20px) saturate(155%);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 5px 18px rgba(63,119,159,.08);color:#68859e;box-sizing:border-box}
body.workspace-active .workspace-global-search>svg{flex:none}
body.workspace-active .workspace-global-search input,#workspace-global-search-input{width:100%;min-width:0;padding:0;border:0!important;border-radius:0!important;outline:0!important;background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;-webkit-box-shadow:0 0 0 1000px transparent inset!important;-webkit-text-fill-color:#284b69;color:#284b69;font:inherit;font-size:13px;-webkit-appearance:none!important;appearance:none!important;color-scheme:light}
body.workspace-active .workspace-global-search input::placeholder{color:#91a7ba}
body.workspace-active #workspace-global-search-input::placeholder{background:transparent!important;background-color:transparent!important;background-image:none!important;color:#849db2;opacity:1}
body.workspace-active #workspace-global-search-input::-webkit-input-placeholder{background:transparent!important;color:#849db2}
body.workspace-active .workspace-global-search:focus-within{border-color:#77b9e5;box-shadow:0 0 0 3px rgba(22,132,207,.1)}
body.workspace-active .workspace-global-search kbd{flex:none;padding:2px 5px;border:1px solid #e2eaf1;border-radius:4px;background:#f7fafc;color:#8b9eae;font-family:inherit;font-size:10px;line-height:1.2;white-space:nowrap}
body.workspace-active .workspace-search-results{position:absolute;top:40px;left:0;right:0;z-index:90;display:grid;gap:2px;padding:6px;border:1px solid #dce9f4;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(39,83,121,.16)}
body.workspace-active .workspace-search-results[hidden]{display:none}
body.workspace-active .workspace-search-results button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#294b6a;font:inherit;font-size:12px;text-align:left;cursor:pointer}
body.workspace-active .workspace-search-results button:hover{background:#edf7ff}
body.workspace-active .workspace-search-results small,.workspace-search-empty{color:#8299ad;font-size:11px}
body.workspace-active .workspace-search-empty{padding:12px}
body.workspace-active .workspace-topbar-actions{display:flex;align-items:center;gap:10px;min-width:0}
body.workspace-active .workspace-topbar-icon{position:relative;display:grid;place-items:center;flex:none;width:45px;height:45px;padding:0;border:1px solid rgba(255,255,255,.94);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.24));backdrop-filter:blur(20px) saturate(175%);-webkit-backdrop-filter:blur(20px) saturate(175%);box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(130,178,212,.16),0 6px 18px rgba(50,105,149,.12);color:#284b69;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
body.workspace-active .workspace-topbar-icon:hover{transform:translateY(-1px);border-color:#fff;box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(130,178,212,.2),0 9px 23px rgba(50,105,149,.19);color:var(--accent,#1684cf)}
body.workspace-active .workspace-topbar-icon i{position:absolute;top:5px;right:5px;width:8px;height:8px;border:1.5px solid rgba(255,255,255,.95);border-radius:50%;background:#f04f58;box-shadow:0 1px 4px rgba(190,45,60,.26)}
body.workspace-active .workspace-topbar-icon i[hidden]{display:none}
body.workspace-active .workspace-topbar-icon>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.workspace-active .workspace-theme-button svg circle{fill:#78b8ef;stroke:#fff;stroke-width:1.1}
body.workspace-active .workspace-theme-button svg circle:nth-of-type(2){fill:#a898ec}
body.workspace-active .workspace-theme-button svg circle:nth-of-type(3){fill:#72cbb0}
body.workspace-active .workspace-profile-menu{position:relative;flex:none}
body.workspace-active .workspace-profile-menu summary{display:flex;align-items:center;gap:9px;width:max-content;min-width:0;max-width:min(100%,260px);min-height:50px;padding:5px 9px 5px 7px;border:1px solid rgba(255,255,255,.97);outline:1px solid rgba(112,164,201,.28);outline-offset:-1px;border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,255,255,.27));backdrop-filter:blur(22px) saturate(175%);-webkit-backdrop-filter:blur(22px) saturate(175%);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(102,156,196,.3),0 7px 20px rgba(50,105,149,.12);cursor:pointer;list-style:none}
body.workspace-active .workspace-profile-menu summary::-webkit-details-marker{display:none}
body.workspace-active .workspace-profile-menu summary:hover,body.workspace-active .workspace-profile-menu[open] summary{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 7px 19px rgba(50,105,149,.13)}
body.workspace-active .workspace-topbar-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;overflow:hidden;border:1px solid rgba(255,255,255,.97);border-radius:50%;background:linear-gradient(145deg,#82c0fa,#4897e8);box-shadow:0 3px 10px rgba(60,126,193,.2),inset 0 1px 0 rgba(255,255,255,.7);color:#fff;font-size:16px;font-weight:750}
body.workspace-active .workspace-topbar-avatar img{width:100%;height:100%;object-fit:cover}
body.workspace-active .workspace-topbar-user{display:block;min-width:0;max-width:150px;flex:0 1 auto;line-height:1.2}
body.workspace-active .workspace-topbar-user strong{display:block;overflow:hidden;color:#24415f;font-size:15px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .workspace-topbar-user small{display:block;margin-top:3px;color:#7993a8;font-size:11px}
body.workspace-active .workspace-topbar-chevron{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 2px 6px rgba(50,105,149,.08);color:#5d7e9f;font-size:15px;line-height:1;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
body.workspace-active .workspace-profile-menu[open] .workspace-topbar-chevron{transform:rotate(180deg);background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 8px rgba(50,105,149,.12)}
body.workspace-active .workspace-profile-dropdown{position:absolute;top:40px;right:0;z-index:90;display:grid;gap:3px;width:142px;padding:6px;border:1px solid #dce9f4;border-radius:9px;background:#fff;box-shadow:0 10px 25px rgba(39,83,121,.15)}
body.workspace-active .workspace-profile-dropdown button{display:flex;align-items:center;gap:8px;padding:9px;border:0;border-radius:6px;background:transparent;color:#365670;font:inherit;font-size:12px;text-align:left;cursor:pointer}
body.workspace-active .workspace-profile-dropdown button:hover{background:#edf7ff}
@media(min-width:761px) and (max-width:1050px){
  body.workspace-active .workspace-topbar{position:relative;z-index:70;margin-right:10px;margin-left:256px;padding-right:0;padding-left:0}
  body.workspace-active .workspace-topbar-inner{gap:10px}
  body.workspace-active .workspace-global-search{width:42%;height:54px;min-width:0}
  body.workspace-active .workspace-topbar-actions{gap:6px}
  body.workspace-active .workspace-topbar-icon{width:38px;height:38px}
  body.workspace-active .workspace-profile-menu summary{min-width:132px;gap:6px;padding:4px 8px 4px 4px}
  body.workspace-active .workspace-topbar-avatar{width:32px;height:32px}
  body.workspace-active .workspace-topbar-user strong{font-size:11px}
  body.workspace-active .workspace-topbar-user small{font-size:9px}
}
body.workspace-active[data-theme="green"]{--accent:#39a98c;--ink:#264e49}
body.workspace-active[data-theme="green"]::before{background:linear-gradient(145deg,#c4ebdd 0%,#e2f5ed 38%,#f0faf5 68%,#d8f0e6 100%)}
body.workspace-active[data-theme="green"] .workspace-nav-item.is-active{background:linear-gradient(105deg,#39a98c,#71cbb0);box-shadow:0 5px 13px rgba(48,157,128,.2)}
body.workspace-active[data-theme="green"] .workspace-nav-item:hover{color:#278b72}
body.workspace-active[data-theme="green"] .workspace-menu-toggle{color:#278b72}
body.workspace-active[data-theme="green"] .btn.primary{background:#39a98c;border-color:#39a98c}
body.workspace-active[data-theme="green"] .home-class-panel .class-card-wrap:hover{border-color:#72c9af}
body.workspace-active[data-theme="purple"]{--accent:#8d79cf;--ink:#403b62}
body.workspace-active[data-theme="purple"]::before{background:linear-gradient(145deg,#d9d1f4 0%,#eee9fa 38%,#f7f4fc 68%,#e4def7 100%)}
body.workspace-active[data-theme="purple"] .workspace-nav-item.is-active{background:linear-gradient(105deg,#8672c9,#ab9add);box-shadow:0 5px 13px rgba(111,91,177,.2)}
body.workspace-active[data-theme="purple"] .workspace-nav-item:hover{color:#7964bd}
body.workspace-active[data-theme="purple"] .workspace-menu-toggle{color:#7964bd}
body.workspace-active[data-theme="purple"] .btn.primary{background:#8672c9;border-color:#8672c9}
body.workspace-active[data-theme="purple"] .home-class-panel .class-card-wrap:hover{border-color:#b0a1e0}
@media(max-width:760px){
  body.workspace-active .workspace-topbar{position:relative;z-index:70;height:52px;margin:8px 10px 0;padding-left:52px;border:0;border-radius:0;background:transparent;box-shadow:none}
  body.workspace-active .workspace-topbar-inner{gap:8px}
  body.workspace-active .workspace-global-search{width:auto;flex:1;height:42px;gap:6px;padding:0 8px;border-radius:22px}
  body.workspace-active .workspace-global-search input{font-size:11px}
  body.workspace-active .workspace-global-search kbd{display:none}
  body.workspace-active .workspace-topbar-actions{gap:5px}
  body.workspace-active .workspace-topbar-icon{width:36px;height:36px}
  body.workspace-active .workspace-profile-menu summary{min-width:0;height:42px;min-height:42px;gap:0;padding:3px;border-radius:22px;box-sizing:border-box}
  body.workspace-active .workspace-topbar-avatar{width:34px;height:34px}
  body.workspace-active .workspace-topbar-user,body.workspace-active .workspace-topbar-chevron{display:none}
}
@media(min-width:761px) and (max-width:1500px){
  body.workspace-active .home-class-panel .class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.workspace-active .home-class-panel .class-card-wrap{aspect-ratio:auto;height:118px}
  body.workspace-active .home-class-header{grid-template-columns:1fr auto;gap:9px}
  body.workspace-active .home-class-tools{grid-row:2;grid-column:1 / -1;justify-content:flex-start}
  body.workspace-active .home-class-end{grid-row:1;grid-column:2}
}

/* Teacher schedule banner: full-bleed school artwork with floating mascot accents. */
body.workspace-active .teacher-schedule-page{padding:54px clamp(22px,1.7vw,32px) 70px}
body.workspace-active .teacher-schedule-banner{position:relative;display:flow-root;padding-bottom:22px;isolation:isolate}
body.workspace-active .teacher-schedule-banner::before{content:"";position:absolute;z-index:-1;top:-128px;bottom:0;left:min(-48px,calc(910px - 50vw));width:calc(100vw - 272px);box-sizing:border-box;border:1px solid rgba(255,255,255,.48);border-radius:12px;background-image:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/teacher-schedule-banner-bg.png?v=1");background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:inset 0 1px 0 rgba(255,255,255,.58);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 89%,transparent 100%)}
body.workspace-active .teacher-schedule-banner>.crumb,body.workspace-active .teacher-schedule-banner>.class-head,body.workspace-active .teacher-schedule-banner>.schedule-toolbar{position:relative;z-index:2}
body.workspace-active .teacher-schedule-banner>.crumb{margin-bottom:1px;margin-left:28px;color:#587896;transform:translateY(-16px)}
body.workspace-active .teacher-schedule-banner>.crumb .btn.sm{height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.82);border-radius:18px;background:rgba(255,255,255,.55);color:#315d83;box-shadow:0 3px 12px rgba(48,103,148,.08)}
body.workspace-active .teacher-schedule-banner>.class-head{margin-bottom:14px;margin-left:28px;transform:translateY(-16px)}
body.workspace-active .teacher-schedule-banner>.class-head h1{display:flex;align-items:center;gap:10px;color:#153e74;font-size:30px;text-shadow:0 1px rgba(255,255,255,.72)}
body.workspace-active .teacher-schedule-banner>.class-head h1 svg{flex:none;color:#238fd8;filter:drop-shadow(0 1px 1px rgba(255,255,255,.8))}
body.workspace-active .teacher-schedule-banner>.class-head .sub{color:#496d91;text-shadow:0 1px rgba(255,255,255,.65)}
body.workspace-active .teacher-schedule-banner .schedule-edit-action{border-color:rgba(255,255,255,.78);background:linear-gradient(135deg,#248fda,#56b5ed);box-shadow:0 7px 18px rgba(27,119,190,.22)}
body.workspace-active .teacher-schedule-banner .schedule-edit-action:hover:not(:disabled){background:linear-gradient(135deg,#1684d2,#43a8e5)}
body.workspace-active .teacher-schedule-banner>.schedule-toolbar{margin-bottom:14px;color:#355c7e}
body.workspace-active .teacher-schedule-banner>.schedule-toolbar .input{border-color:rgba(255,255,255,.85);background:rgba(255,255,255,.74);color:#294d6c}
body.workspace-active .teacher-schedule-banner>.schedule-toolbar .switch-label{color:#385e7e}
body.workspace-active .teacher-schedule-tagline{position:absolute;z-index:1;top:-26px;left:30%;width:clamp(170px,16%,250px);height:auto;pointer-events:none;user-select:none;transform:rotate(-5deg);filter:drop-shadow(0 2px 2px rgba(255,255,255,.5))}
body.workspace-active .teacher-schedule-mascot{position:absolute;z-index:1;top:auto;right:27%;bottom:0;height:clamp(196px,13vw,260px);width:auto;max-width:none;pointer-events:none;user-select:none;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(26,91,157,.15))}
@media(min-width:761px) and (max-width:1100px){
  body.workspace-active .teacher-schedule-banner::before{left:-20px;right:-18px;width:auto}
  body.workspace-active .teacher-schedule-mascot{right:12%;height:210px}
  body.workspace-active .teacher-schedule-tagline{left:31%;width:180px}
}
@media(min-width:1051px) and (max-width:1500px){body.workspace-active .teacher-schedule-banner::before{left:calc(-1 * clamp(22px,3vw,45px));right:calc(16px - clamp(22px,3vw,45px));width:auto}}
@media(min-width:761px) and (max-width:850px){body.workspace-active .teacher-schedule-tagline{display:none}body.workspace-active .teacher-schedule-mascot{right:2%;height:138px;opacity:.78}}
@media(max-width:760px){
  body.workspace-active .teacher-schedule-page{padding:26px 14px 48px}
  body.workspace-active .teacher-schedule-banner{padding-bottom:10px}
  body.workspace-active .teacher-schedule-banner>.crumb,body.workspace-active .teacher-schedule-banner>.class-head{margin-left:0}
  body.workspace-active .teacher-schedule-banner::before{top:-102px;bottom:0;left:-14px;right:-14px;width:auto;border-radius:0 0 12px 12px;background-position:center;background-size:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%)}
  body.workspace-active .teacher-schedule-banner>.crumb{margin-bottom:8px;transform:translateY(-10px)}
  body.workspace-active .teacher-schedule-banner>.class-head{margin-bottom:12px;transform:translateY(-10px)}
  body.workspace-active .teacher-schedule-banner>.class-head h1{font-size:24px}
  body.workspace-active .teacher-schedule-banner>.schedule-toolbar{gap:9px;margin-bottom:12px}
  body.workspace-active .teacher-schedule-tagline{display:none}
  body.workspace-active .teacher-schedule-banner>.class-head>div:first-child{position:relative;z-index:2;max-width:72%}
  body.workspace-active .teacher-schedule-banner>.class-head .head-actions{position:relative;z-index:2}
  body.workspace-active .teacher-schedule-banner>.schedule-toolbar>.switch-label{width:auto;justify-content:flex-start}
  body.workspace-active .teacher-schedule-mascot{top:auto;right:1%;bottom:0;height:108px;opacity:.3}
}
@media(max-width:760px){body.workspace-active .teacher-schedule-page>.schedule-grid{width:100%;min-width:0;grid-template-columns:76px repeat(var(--schedule-days),minmax(0,1fr));overflow-x:auto}body.workspace-active .teacher-schedule-page>.schedule-grid>div,body.workspace-active .teacher-schedule-page>.schedule-grid>button{min-width:0;padding:5px 2px}body.workspace-active .teacher-schedule-page>.schedule-grid .schedule-day{font-size:11px}body.workspace-active .teacher-schedule-page>.schedule-grid .schedule-period b{font-size:11px}body.workspace-active .teacher-schedule-page>.schedule-grid .schedule-period span{font-size:9px}}
@media(min-width:761px) and (max-width:1050px){
  body.workspace-active .home-class-panel .class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.workspace-active .home-class-header{grid-template-columns:1fr auto}
  body.workspace-active .home-class-end{display:contents}
  body.workspace-active .home-class-summary{grid-column:1 / -1;grid-row:3;justify-self:start}
}

/* Teacher timetable board, aligned to the reference schedule layout. */
body.workspace-active .teacher-schedule-board{position:relative;z-index:0;padding:18px 20px 20px;border:1px solid rgba(255,255,255,.94);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(244,250,255,.68));backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);box-shadow:0 12px 34px rgba(49,103,148,.09),inset 0 1px 0 rgba(255,255,255,.92)}
body.workspace-active .teacher-schedule-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 15px}
body.workspace-active .teacher-schedule-toolbar{flex:1;min-width:0;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0;color:#294c73}
body.workspace-active .teacher-schedule-toolbar>label{width:auto;justify-content:flex-start;gap:10px;color:#234970;font-size:13px;font-weight:650;white-space:nowrap}
body.workspace-active .teacher-schedule-toolbar .input{min-width:132px;height:42px;margin:0;padding:0 12px;border:1px solid #d6e4f4;border-radius:9px;background:rgba(255,255,255,.88);color:#1d3d68;font-weight:650}
body.workspace-active .teacher-schedule-toolbar .switch-label input{width:18px;height:18px;margin:0;accent-color:#168cf0}
body.workspace-active .teacher-schedule-board-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:none}
body.workspace-active .teacher-schedule-view-switch{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid rgba(212,228,244,.92);border-radius:10px;background:rgba(255,255,255,.68)}
body.workspace-active .teacher-schedule-view-button{height:37px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#355879;font:inherit;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer}
body.workspace-active .teacher-schedule-view-button svg{color:#517da7}
body.workspace-active .teacher-schedule-view-button.is-active{border-color:#168cf0;background:#168cf0;color:#fff;box-shadow:0 4px 10px rgba(22,140,240,.2)}
body.workspace-active .teacher-schedule-view-button.is-active svg{color:#fff}
body.workspace-active .teacher-schedule-board .schedule-edit-action{height:42px;min-height:42px;padding:0 17px;border:1px solid #168cf0;border-radius:9px;background:linear-gradient(130deg,#168cf0,#40a9f8);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 5px 13px rgba(22,140,240,.18)}
body.workspace-active .teacher-schedule-grid{width:100%;min-width:0;grid-template-columns:minmax(136px,160px) repeat(var(--schedule-days),minmax(0,1fr));overflow:auto;border:1px solid #dce8f4;border-radius:12px;background:rgba(255,255,255,.89);box-shadow:0 4px 15px rgba(51,103,148,.045)}
body.workspace-active .teacher-schedule-grid>div,body.workspace-active .teacher-schedule-grid>button{min-height:50px;padding:7px 10px;border-right:1px solid #e1eaf4;border-bottom:1px solid #e1eaf4}
body.workspace-active .teacher-schedule-grid>.schedule-corner,body.workspace-active .teacher-schedule-grid>.schedule-day{min-height:54px!important;background:#f5f8f8;color:#234c79;font-weight:750}
body.workspace-active .teacher-schedule-grid>.schedule-corner{display:flex;align-items:center;justify-content:center;font-size:13px}
body.workspace-active .teacher-schedule-grid>.schedule-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#176fc4;font-size:14px;line-height:1.2}
body.workspace-active .teacher-schedule-grid>.schedule-day small{margin:0;color:#54779b;font-size:11px;font-weight:550;line-height:1.3}
body.workspace-active .teacher-schedule-grid>.schedule-day i{font-style:normal;color:#168cf0;font-size:10px;font-weight:700;line-height:1}
body.workspace-active .teacher-schedule-grid>.schedule-day.schedule-today{background:#e6f4ff;color:#087cdc;box-shadow:inset 0 -3px 0 #168cf0}
body.workspace-active .teacher-schedule-grid>.schedule-period{align-items:flex-start;gap:3px;justify-content:center;padding:7px 10px 12px 15px;background:rgba(246,249,252,.82);color:#1f3e67;text-align:left;font-size:13px;font-weight:750}
body.workspace-active .teacher-schedule-grid>.schedule-period{align-items:center;padding-right:7px;padding-left:7px;text-align:center}
body.workspace-active .teacher-schedule-grid>.schedule-period b,body.workspace-active .teacher-schedule-grid>.schedule-period span{width:100%;text-align:center}
body.workspace-active .teacher-schedule-grid>.schedule-period{min-height:var(--period-height,76px);box-sizing:border-box}
body.workspace-active .teacher-schedule-grid>.schedule-period .period-resize-handle{height:10px;bottom:-1px;z-index:2;cursor:row-resize;touch-action:none}
body.workspace-active .teacher-schedule-grid>.schedule-period span{color:#6683a2;font-size:11px;font-weight:500}
body.workspace-active .teacher-schedule-grid>.schedule-period:hover{background:#eaf5ff}
body.workspace-active .teacher-schedule-grid>.schedule-cell{min-width:0;min-height:50px;padding:0!important;background:rgba(255,255,255,.64)}
body.workspace-active .teacher-schedule-grid>.schedule-cell{min-height:var(--period-height,76px);align-self:stretch}
body.workspace-active .teacher-schedule-grid>.schedule-cell-hidden{min-height:0!important;height:0!important}
body.workspace-active .teacher-schedule-grid>.schedule-cell.schedule-today{background:rgba(232,246,255,.76)}
body.workspace-active .teacher-schedule-grid>.schedule-cell .schedule-empty{color:#91a9c0;font-size:13px}
body.workspace-active .teacher-schedule-grid .course-chip.teacher-course-chip{min-width:0;min-height:44px;margin:3px;padding:7px 10px;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;border:0;border-left:3px solid var(--teacher-course-tone,#168cf0);border-radius:7px;background:#e9f4ff;color:#173c69;text-align:left;font-size:14px;line-height:1.35;appearance:none}
body.workspace-active .teacher-schedule-grid .teacher-course-copy{display:block;min-width:0;overflow:hidden}
body.workspace-active .teacher-schedule-grid .teacher-course-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3}
body.workspace-active .teacher-schedule-grid .teacher-course-copy>span{display:block;margin-top:3px;overflow:hidden;color:#54779b;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .teacher-schedule-grid .course-chip.teacher-course-chip:hover{outline:2px solid rgba(57,151,230,.35);outline-offset:-1px;box-shadow:0 3px 9px rgba(32,115,183,.1);transform:none}
body.workspace-active .teacher-schedule-board>.empty-panel{margin:8px 0 0;border:1px dashed #cfe0ef;border-radius:12px;background:rgba(255,255,255,.56)}
/* Class schedule mirrors the teacher timetable shell while retaining its draggable, time-based period sizing. */
body.workspace-active .class-schedule-page{padding:26px clamp(22px,1.7vw,32px) 70px}
body.workspace-active .class-schedule-banner>.class-head h1{display:flex;align-items:center;gap:10px;color:#153e74;font-size:30px;text-shadow:0 1px rgba(255,255,255,.72)}
body.workspace-active .class-schedule-banner>.class-head h1 svg{flex:none;color:#238fd8;filter:drop-shadow(0 1px 1px rgba(255,255,255,.8))}
body.workspace-active .class-schedule-banner>.class-head .sub{color:#496d91;text-shadow:0 1px rgba(255,255,255,.65)}
body.workspace-active .class-schedule-board .schedule-grid>div,body.workspace-active .class-schedule-board .schedule-grid>button{box-sizing:border-box}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-period{min-height:var(--period-height,76px);padding:7px 10px 12px 15px}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-period{align-items:center;padding-right:7px;padding-left:7px;text-align:center}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-period b,body.workspace-active .class-schedule-board .schedule-grid>.schedule-period span{width:100%;text-align:center}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-period .period-resize-handle{height:10px;bottom:-1px;z-index:2}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-cell{min-height:var(--period-height,76px);align-self:stretch}
body.workspace-active .class-schedule-board .schedule-grid>.schedule-cell-hidden{min-height:0!important;height:0!important}
body.workspace-active .class-schedule-grid .course-chip.teacher-course-chip{min-height:calc(var(--period-height,76px) - 6px);box-sizing:border-box}
body.workspace-active .class-schedule-grid .course-chip.teacher-course-chip b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3}
body.workspace-active .class-schedule-grid .course-chip.teacher-course-chip>span{display:block;margin-top:3px;overflow:hidden;color:#54779b;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .class-schedule-board .schedule-edit-action{height:42px;min-height:42px;padding:0 17px;border:1px solid #168cf0;border-radius:9px;background:linear-gradient(130deg,#168cf0,#40a9f8);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 5px 13px rgba(22,140,240,.18)}
body.workspace-active .class-schedule-board .schedule-edit-action:hover:not(:disabled){background:linear-gradient(130deg,#087eda,#2998ea)}
@media(max-width:1050px){body.workspace-active .teacher-schedule-board-toolbar{align-items:flex-start;flex-direction:column;gap:12px}body.workspace-active .teacher-schedule-board-actions{width:100%;justify-content:flex-end}}
@media(max-width:760px){body.workspace-active .teacher-schedule-board{padding:11px 10px 12px;border-radius:13px}body.workspace-active .teacher-schedule-board-toolbar{gap:10px;margin-bottom:11px}body.workspace-active .teacher-schedule-toolbar{gap:9px 13px}body.workspace-active .teacher-schedule-toolbar>label{width:auto!important;justify-content:flex-start;font-size:12px}body.workspace-active .teacher-schedule-toolbar .input{min-width:106px;height:38px;flex:none;margin:0}body.workspace-active .teacher-schedule-board-actions{justify-content:space-between;gap:8px}body.workspace-active .teacher-schedule-view-button{height:34px;padding:0 9px;font-size:12px}body.workspace-active .teacher-schedule-board .schedule-edit-action{height:38px;min-height:38px;padding:0 10px;font-size:12px}body.workspace-active .teacher-schedule-grid{grid-template-columns:78px repeat(var(--schedule-days),minmax(108px,1fr));font-size:12px}body.workspace-active .teacher-schedule-grid>.schedule-corner,body.workspace-active .teacher-schedule-grid>.schedule-day{min-height:50px!important}body.workspace-active .teacher-schedule-grid>.schedule-period{padding-left:8px}body.workspace-active .teacher-schedule-grid>.schedule-cell{min-width:108px}body.workspace-active .teacher-schedule-mascot{z-index:3}
  body.workspace-active .class-schedule-page{padding:12px 14px 48px}
  body.workspace-active .class-schedule-banner{padding-bottom:10px}
  body.workspace-active .class-schedule-banner>.crumb,body.workspace-active .class-schedule-banner>.class-head{margin-left:0}
  body.workspace-active .class-schedule-banner>.class-head h1{font-size:24px}
   body.workspace-active .class-schedule-banner>.class-head{margin-bottom:12px}
  body.workspace-active .class-schedule-board .schedule-grid{grid-template-columns:78px repeat(var(--schedule-days),minmax(108px,1fr));overflow-x:auto}
  body.workspace-active .class-schedule-board .schedule-grid>.schedule-period{padding-left:8px}
  body.workspace-active .class-schedule-board .schedule-grid>.schedule-cell{min-width:108px}
  body.workspace-active .class-schedule-board .schedule-grid>.schedule-period b{font-size:11px}
  body.workspace-active .class-schedule-board .schedule-grid>.schedule-period span{font-size:9px}
  body.workspace-active .class-schedule-board .schedule-edit-action{height:38px;min-height:38px;padding:0 10px;font-size:12px}
}
@media(max-width:760px){
  body.workspace-active .home-class-panel{padding:12px;border-radius:12px}
  body.workspace-active .home-class-header{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  body.workspace-active .home-class-header>h3{grid-column:1}
  body.workspace-active .home-class-end{display:contents}
  body.workspace-active .home-class-tools{grid-row:2;grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.workspace-active .home-class-tools .btn{height:36px;min-height:36px;padding:0 10px;font-size:13px}
  body.workspace-active .home-class-summary{grid-row:3;grid-column:1 / -1;justify-self:start}
  body.workspace-active .home-class-search{grid-row:4;grid-column:1 / -1}
  body.workspace-active .home-class-panel .class-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  body.workspace-active .home-class-panel .class-card-wrap{width:100%;height:118px;min-height:118px;aspect-ratio:auto}
}

/* Translucent framed glass panels around the timetable banner and board. */
body.workspace-active .teacher-schedule-banner::after{content:"";position:absolute;z-index:0;inset:-34px 0 -1px;border:1px solid rgba(255,255,255,.62);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(230,244,255,.15));box-shadow:0 8px 24px rgba(37,100,151,.08),inset 0 1px 0 rgba(255,255,255,.46);backdrop-filter:blur(5px) saturate(120%);-webkit-backdrop-filter:blur(5px) saturate(120%);pointer-events:none}
body.workspace-active .teacher-schedule-page>.teacher-schedule-banner{margin-bottom:0}
body.workspace-active .teacher-schedule-page>.teacher-schedule-board{margin-top:0}
body.workspace-active .teacher-schedule-board{border-color:rgba(255,255,255,.9);background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(244,250,255,.58));box-shadow:0 12px 34px rgba(49,103,148,.1),inset 0 1px 0 rgba(255,255,255,.94),0 0 0 1px rgba(133,190,228,.09)}
@media(max-width:760px){body.workspace-active .teacher-schedule-banner::after{inset:-20px 0 -1px;border-radius:14px}body.workspace-active .teacher-schedule-page>.teacher-schedule-board{margin-top:0}}

/* Materials center: reference-style sky banner, liquid-glass filters, and compact resource cards. */
body.workspace-active .materials-page{position:relative;max-width:1580px;padding-top:18px;isolation:isolate}
body.workspace-active .materials-hero{position:relative;z-index:4;min-height:274px;margin:0 0 -1px;padding:24px 32px 34px;overflow:visible;border:1px solid rgba(255,255,255,.92);border-bottom:0;border-radius:24px 24px 0 0;background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,.28) 48%,rgba(255,255,255,.1));box-shadow:0 18px 42px rgba(49,106,154,.12),inset 0 1px 0 rgba(255,255,255,.88)}
body.workspace-active .materials-hero::before{content:"";position:absolute;z-index:-2;inset:-66px -1px 0;border-radius:30px 30px 0 0;background-image:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.22) 34%,rgba(255,255,255,0) 72%),linear-gradient(0deg,rgba(236,248,255,.38),transparent 38%),url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-banner-bg.png?v=1");background-position:center,center,center 47%;background-size:cover,cover,cover;background-repeat:no-repeat;box-shadow:inset 0 -35px 42px rgba(239,249,255,.32);pointer-events:none}
body.workspace-active .materials-hero::after{content:"";position:absolute;z-index:-1;inset:-66px -1px 0;border-radius:30px 30px 0 0;background:linear-gradient(90deg,#dff2fb 0%,rgba(223,242,251,.35) 17%,transparent 33%,transparent 76%,rgba(223,242,251,.24) 90%,#e5f4fb 100%);mix-blend-mode:screen;pointer-events:none}
body.workspace-active .materials-hero-content{position:relative;z-index:3;max-width:58%;min-height:210px}
body.workspace-active .materials-crumb{display:flex;align-items:center;gap:8px;margin-bottom:27px;color:#527694;font-size:13px;font-weight:650}
body.workspace-active .materials-crumb .btn{height:34px;padding:0 11px;border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.46);color:#276184;box-shadow:0 5px 14px rgba(34,103,151,.08)}
body.workspace-active .materials-crumb>span{display:inline-flex;align-items:center;color:#6e99b2}
body.workspace-active .materials-title{display:flex;align-items:center;gap:17px;color:#143f6e}
body.workspace-active .materials-title-icon{display:grid;place-items:center;flex:none;width:66px;height:66px;border:1px solid rgba(255,255,255,.84);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(181,224,249,.45));color:#167fc4;box-shadow:0 10px 22px rgba(34,113,174,.13),inset 0 1px 0 rgba(255,255,255,.95)}
body.workspace-active .materials-title h1{margin:0;color:#143f6e;font-size:34px;letter-spacing:.03em;text-shadow:0 1px rgba(255,255,255,.88)}
body.workspace-active .materials-title p{margin:8px 0 0;color:#527797;font-size:14px;font-weight:550}
body.workspace-active .materials-hero-actions{position:absolute;z-index:4;top:24px;right:32px;display:flex;gap:10px}
body.workspace-active .materials-hero-actions .btn{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.5);color:#286286;box-shadow:0 7px 17px rgba(34,105,153,.1)}
body.workspace-active .materials-tagline{position:absolute;z-index:3;right:clamp(230px,22%,390px);top:95px;width:clamp(220px,23%,340px);height:auto;filter:drop-shadow(0 7px 10px rgba(18,83,146,.12));pointer-events:none}
body.workspace-active .materials-mascot{position:absolute;z-index:4;right:clamp(10px,3.5%,65px);bottom:-35px;width:clamp(245px,27%,390px);height:clamp(245px,27vw,335px);object-fit:contain;object-position:center bottom;mix-blend-mode:screen;filter:drop-shadow(0 11px 13px rgba(31,78,137,.2));pointer-events:none}
body.workspace-active .materials-workbench{position:relative;z-index:3;margin:0;padding:23px 25px 24px;border:1px solid rgba(255,255,255,.9);border-top-color:rgba(255,255,255,.7);border-radius:0 0 24px 24px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(239,249,255,.64));backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);box-shadow:0 17px 38px rgba(49,106,154,.1),inset 0 1px 0 rgba(255,255,255,.9)}
body.workspace-active .materials-filter-row{display:flex;align-items:center;gap:11px;margin-bottom:16px}
body.workspace-active .materials-search-field{position:relative;display:flex;align-items:center;flex:1 1 340px;min-width:250px;height:44px;padding:0 14px;border:1px solid rgba(180,211,231,.88);border-radius:12px;background:rgba(255,255,255,.34);color:#5b8dad;box-shadow:inset 0 1px 2px rgba(255,255,255,.6);transition:border-color .18s,box-shadow .18s}
body.workspace-active .materials-search-field:focus-within{border-color:#4da7df;box-shadow:0 0 0 3px rgba(38,145,211,.12),inset 0 1px 2px rgba(255,255,255,.7)}
body.workspace-active .materials-search-field svg{flex:none;color:#5f9bc0}
body.workspace-active .materials-search-field input{flex:1 1 0;width:0;min-width:0;max-width:100%;height:100%;margin-left:9px;border:0;outline:0;background:transparent;color:#254f70;font:inherit;font-size:13px}
body.workspace-active .materials-search-field input::placeholder{color:#83a5b9}
body.workspace-active .materials-filter-select,body.workspace-active .materials-sort{height:44px;min-width:132px;padding:0 30px 0 13px;border:1px solid rgba(180,211,231,.88);border-radius:12px;background:rgba(255,255,255,.46);color:#315d7b;font-size:13px;font-weight:650;outline:0;box-shadow:inset 0 1px rgba(255,255,255,.72)}
body.workspace-active .materials-filter-select:focus,body.workspace-active .materials-sort:focus{border-color:#4da7df;box-shadow:0 0 0 3px rgba(38,145,211,.12)}
body.workspace-active .materials-upload-button{height:44px;flex:none;padding:0 17px;border-radius:12px;white-space:nowrap}
body.workspace-active .materials-category-row{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:12px 0 0;border-top:1px solid rgba(133,182,212,.24)}
body.workspace-active .materials-categories{display:flex;align-items:center;gap:7px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}
body.workspace-active .materials-categories::-webkit-scrollbar{display:none}
body.workspace-active .materials-category{display:inline-flex;align-items:center;gap:7px;flex:none;height:38px;padding:0 12px;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.3);color:#567990;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s,transform .18s}
body.workspace-active .materials-category:hover{background:rgba(255,255,255,.75);color:#176fa8;transform:translateY(-1px)}
body.workspace-active .materials-category.is-active{border-color:#1684cf;background:linear-gradient(120deg,#1684cf,#54afe6);color:#fff;box-shadow:0 6px 14px rgba(22,132,207,.21)}
body.workspace-active .materials-category b{min-width:20px;padding:2px 5px;border-radius:10px;background:rgba(49,112,153,.1);font-size:11px;line-height:1.2;text-align:center}
body.workspace-active .materials-category.is-active b{background:rgba(255,255,255,.24);color:#fff}
body.workspace-active .materials-category-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:rgba(255,255,255,.72);color:#2989c7}
body.workspace-active .materials-category-icon.tone-orange{color:#ef9a32}body.workspace-active .materials-category-icon.tone-green{color:#39aa83}body.workspace-active .materials-category-icon.tone-purple{color:#8c70d8}body.workspace-active .materials-category-icon.tone-pink{color:#e47ba3}
body.workspace-active .materials-category.is-active .materials-category-icon{background:rgba(255,255,255,.25);color:#fff}
body.workspace-active .materials-sort{flex:none;min-width:128px;height:38px}
body.workspace-active .materials-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;min-height:250px}
body.workspace-active .material-card{display:flex;min-width:0;min-height:232px;flex-direction:column;padding:14px;border:1px solid rgba(196,220,236,.9);border-radius:15px;background:rgba(255,255,255,.62);box-shadow:0 7px 18px rgba(53,113,152,.07),inset 0 1px rgba(255,255,255,.8);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
body.workspace-active .material-card:hover{border-color:#8ac8e9;box-shadow:0 12px 24px rgba(43,122,176,.14),inset 0 1px rgba(255,255,255,.92);transform:translateY(-2px)}
body.workspace-active .material-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#87a3b5;font-size:11px}
body.workspace-active .material-file-type{display:inline-flex;align-items:center;max-width:70px;height:23px;padding:0 7px;border-radius:7px;background:#e5f3ff;color:#1781c4;font-size:10px;font-weight:850;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .material-file-type-course{background:#fff1df;color:#dd8a26}.material-file-type-document{background:#e7f4ff;color:#2685c1}.material-file-type-test{background:#e7f8f1;color:#29936d}.material-file-type-video{background:#f0ebff;color:#775bc4}.material-file-type-other{background:#ffedf4;color:#c46787}
body.workspace-active .material-card h3{margin:12px 0 5px;color:#1d486c;font-size:15px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .material-tags{margin:0;color:#64859d;font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .material-description{min-height:17px;margin:6px 0 9px;color:#86a0b1;font-size:11px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .material-thumb{display:grid;place-items:center;width:100%;height:66px;margin-top:auto;border:0;border-radius:10px;overflow:hidden;background:#eaf5fc;color:#5da4cd;cursor:pointer}
body.workspace-active .material-thumb-fallback{background:linear-gradient(140deg,#eaf7ff,#cfeafd)}
body.workspace-active .material-thumb-course{background:linear-gradient(140deg,#fff5e6,#ffe1b4);color:#e5a24a}.material-thumb-document{background:linear-gradient(140deg,#eaf6ff,#cae8fb);color:#55a0ca}.material-thumb-test{background:linear-gradient(140deg,#ecfbf5,#c9efdc);color:#45aa80}.material-thumb-video{background:linear-gradient(140deg,#f2eeff,#ded5ff);color:#8b73d3}.material-thumb-other{background:linear-gradient(140deg,#fff0f6,#ffd7e6);color:#d982a1}
body.workspace-active .material-image{display:block;width:100%;height:100%;object-fit:cover}
body.workspace-active .material-card-actions,body.workspace-active .material-actions{display:flex;align-items:center;justify-content:space-between;gap:7px}
body.workspace-active .material-actions{margin-top:10px;color:#79a0b7;font-size:11px}
body.workspace-active .material-views{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.material-views svg{color:#78a7c1}
body.workspace-active .material-card-actions .btn{height:30px;min-height:30px;padding:0 10px;border-radius:8px;font-size:11px}
body.workspace-active .material-more{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid rgba(174,207,227,.78);border-radius:8px;background:rgba(255,255,255,.62);color:#6592ab;font:700 16px/1 Arial;letter-spacing:1px;cursor:pointer}
body.workspace-active .material-more:hover{border-color:#6cb6df;background:#eef9ff;color:#1477b3}
body.workspace-active .material-loading,body.workspace-active .material-empty-state{grid-column:1 / -1;display:flex;min-height:230px;align-items:center;justify-content:center;gap:10px;border:1px dashed rgba(143,190,216,.65);border-radius:14px;background:rgba(255,255,255,.3);color:#7091a7;font-size:13px}
body.workspace-active .materials-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(133,182,212,.24);color:#7895a9;font-size:12px}
body.workspace-active .materials-pagination{display:flex;align-items:center;gap:6px}.materials-page-button{width:30px;height:30px;border:1px solid rgba(173,208,229,.82);border-radius:8px;background:rgba(255,255,255,.55);color:#4f7b96;font:inherit;font-size:12px;cursor:pointer}.materials-page-button:hover{border-color:#62add9;color:#1676b1}.materials-page-button.is-active{border-color:#1684cf;background:#1684cf;color:#fff;box-shadow:0 4px 10px rgba(22,132,207,.18)}
@media(max-width:1320px){body.workspace-active .materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.workspace-active .materials-tagline{right:24%;width:250px}body.workspace-active .materials-mascot{width:315px}}
@media(max-width:1080px){body.workspace-active .materials-filter-row{flex-wrap:wrap}body.workspace-active .materials-search-field{flex-basis:100%}body.workspace-active .materials-filter-select{flex:1;min-width:145px}body.workspace-active .materials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.workspace-active .materials-hero-content{max-width:65%}body.workspace-active .materials-tagline{right:25%;top:104px;width:220px}body.workspace-active .materials-mascot{right:3%;width:285px;height:285px}}
@media(max-width:760px){body.workspace-active .materials-page{padding:12px 12px 50px}body.workspace-active .materials-hero{min-height:320px;padding:18px 18px 26px;border-radius:18px 18px 0 0}body.workspace-active .materials-hero::before,body.workspace-active .materials-hero::after{inset:-34px -1px 0;border-radius:20px 20px 0 0;background-position:center,center,58% center;background-size:cover,cover,auto 100%}body.workspace-active .materials-hero-content{max-width:100%;min-height:230px}body.workspace-active .materials-crumb{margin-bottom:21px}body.workspace-active .materials-title{align-items:flex-start;gap:11px}body.workspace-active .materials-title-icon{width:52px;height:52px;border-radius:15px}body.workspace-active .materials-title h1{font-size:27px}body.workspace-active .materials-title p{font-size:12px;line-height:1.5}body.workspace-active .materials-hero-actions{top:auto;left:18px;right:auto;bottom:21px}body.workspace-active .materials-hero-actions .btn{height:34px;font-size:12px}body.workspace-active .materials-tagline{right:22px;top:auto;bottom:62px;width:190px}body.workspace-active .materials-mascot{right:-3px;bottom:-22px;width:205px;height:205px}body.workspace-active .materials-workbench{padding:16px 13px 18px;border-radius:0 0 18px 18px}body.workspace-active .materials-filter-row{gap:8px;margin-bottom:12px}body.workspace-active .materials-search-field{min-width:100%;height:42px}body.workspace-active .materials-filter-select{min-width:calc(50% - 4px);height:40px;padding-left:10px;font-size:12px}body.workspace-active .materials-upload-button{width:100%;height:40px}body.workspace-active .materials-category-row{align-items:flex-start;flex-direction:column;gap:8px;padding-top:10px}body.workspace-active .materials-categories{width:100%}body.workspace-active .materials-sort{align-self:flex-end;width:132px;height:35px}body.workspace-active .materials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.workspace-active .material-card{min-height:218px;padding:11px}body.workspace-active .material-card h3{font-size:13px}body.workspace-active .material-tags,body.workspace-active .material-description{font-size:10px}body.workspace-active .material-thumb{height:57px}body.workspace-active .material-card-actions .btn{padding:0 7px;font-size:10px}body.workspace-active .material-actions{gap:4px}body.workspace-active .materials-footer{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:430px){body.workspace-active .materials-grid{grid-template-columns:1fr}body.workspace-active .materials-mascot{width:190px;height:190px}body.workspace-active .materials-tagline{right:12px;width:180px}}

/* Final reference alignment for the materials center. */
body.workspace-active .materials-page{max-width:none;padding:0 0 70px}
body.workspace-active .materials-hero{min-height:204px;margin:0;padding:70px 42px 20px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
  body.workspace-active .materials-hero::before{inset:-40px 0 0;border:0;border-radius:0;background-image:linear-gradient(90deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.24) 36%,rgba(255,255,255,0) 72%),linear-gradient(0deg,rgba(235,248,255,.4),transparent 38%),url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-banner-bg.png?v=1");background-position:center,center,center 48%;background-size:cover,cover,cover;box-shadow:inset 0 -30px 38px rgba(239,249,255,.3)}
body.workspace-active .materials-hero::after{inset:-40px 0 0;border-radius:0;background:linear-gradient(90deg,#e0f3fc 0%,rgba(224,243,252,.24) 18%,transparent 35%,transparent 77%,rgba(224,243,252,.18) 92%,#e5f4fb 100%)}
body.workspace-active .materials-hero-content{max-width:49%;min-height:125px}
body.workspace-active .materials-crumb{margin-bottom:16px}
body.workspace-active .materials-title{gap:15px}
body.workspace-active .materials-title-icon{width:58px;height:58px;border-radius:16px}
body.workspace-active .materials-title h1{font-size:32px}
body.workspace-active .materials-title p{margin-top:6px;font-size:13px}
body.workspace-active .materials-hero-actions{top:92px;right:28px}
body.workspace-active .materials-tagline{right:37%;top:53px;width:235px}
body.workspace-active .materials-mascot{right:5%;bottom:-24px;width:310px;height:238px;mix-blend-mode:normal;filter:drop-shadow(0 9px 12px rgba(31,78,137,.18))}
body.workspace-active .materials-workbench{margin:0 22px;padding:15px 22px 18px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(239,249,255,.62));box-shadow:0 14px 34px rgba(49,106,154,.09),inset 0 1px 0 rgba(255,255,255,.9)}
body.workspace-active .materials-filter-row{gap:14px;margin-bottom:13px}
body.workspace-active .materials-search-field{flex:1 1 360px;height:44px}
body.workspace-active .materials-filter-select{flex:0 1 185px;min-width:150px}
body.workspace-active .materials-upload-button{margin-left:auto}
body.workspace-active .materials-category-row{display:flex!important;visibility:visible!important;opacity:1!important;gap:14px;margin:0 0 15px;padding:11px 0 0;border-top:1px solid rgba(133,182,212,.24)}
body.workspace-active .materials-categories{display:flex!important;visibility:visible!important;opacity:1!important;gap:8px}
body.workspace-active .materials-category{display:inline-flex!important;visibility:visible!important;opacity:1!important;height:38px;padding:0 13px}
body.workspace-active .materials-sort{height:38px;min-width:132px}
body.workspace-active .materials-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
body.workspace-active .material-card{min-height:232px}
@media(max-width:1320px){body.workspace-active .materials-hero{padding-left:28px;padding-right:28px}body.workspace-active .materials-tagline{right:35%;width:210px}body.workspace-active .materials-mascot{right:3%;width:280px}body.workspace-active .materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1080px){body.workspace-active .materials-hero-content{max-width:58%}body.workspace-active .materials-hero-actions{top:88px}body.workspace-active .materials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.workspace-active .materials-page{padding:0 12px 50px}body.workspace-active .materials-hero{min-height:298px;margin:0 -12px;padding:58px 18px 22px;border-radius:0}body.workspace-active .materials-hero::before,body.workspace-active .materials-hero::after{inset:-25px 0 0;background-position:center,center,58% center;background-size:cover,cover,auto 100%}body.workspace-active .materials-hero-content{max-width:100%;min-height:190px}body.workspace-active .materials-title h1{font-size:27px}body.workspace-active .materials-hero-actions{top:auto;left:18px;right:auto;bottom:22px}body.workspace-active .materials-tagline{right:20px;top:auto;bottom:65px;width:180px}body.workspace-active .materials-mascot{right:-4px;bottom:-20px;width:210px;height:190px}body.workspace-active .materials-workbench{margin:0;padding:14px 12px 17px;border-radius:0 0 17px 17px}body.workspace-active .materials-filter-row{gap:8px}body.workspace-active .materials-filter-select{flex:1;min-width:calc(50% - 4px)}body.workspace-active .materials-category-row{flex-direction:column;align-items:flex-start}body.workspace-active .materials-sort{align-self:flex-end}.materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* The 60px utility bar sits over the artwork; accents share the reference's center-right anchor. */
@media(min-width:761px){
  body.workspace-active .workspace-sidebar{display:flex!important;transform:none!important}
  body.workspace-active .materials-hero{min-height:134px;margin-left:22px;margin-right:22px;padding:20px 20px 18px}
  body.workspace-active .materials-hero::before,body.workspace-active .materials-hero::after{inset:-60px 0 0}
  body.workspace-active .materials-hero-content{max-width:min(52%,750px);min-height:114px}
  body.workspace-active .materials-crumb{margin-bottom:12px}
  body.workspace-active .materials-title-icon{width:58px;height:58px}
  body.workspace-active .materials-title h1{font-size:31px}
  body.workspace-active .materials-hero-actions{top:auto;bottom:18px}
  body.workspace-active .materials-tagline{left:39%;right:auto;top:22px;width:clamp(180px,13%,225px)}
  body.workspace-active .materials-mascot{left:50%;right:auto;top:auto;bottom:0;width:clamp(260px,17%,310px);height:auto;object-fit:contain;object-position:center bottom;transform:translateX(-8%)}
}
@media(min-width:1081px) and (max-width:1320px){
  body.workspace-active .materials-tagline{left:31%;width:clamp(145px,13%,180px)}
  body.workspace-active .materials-mascot{left:47%;top:auto;bottom:0;width:clamp(220px,23%,260px);height:auto}
}
@media(min-width:761px) and (max-width:1080px){
  body.workspace-active .materials-hero{min-height:208px;margin-left:22px;margin-right:22px}
  body.workspace-active .materials-hero-content{max-width:52%;min-height:170px}
  body.workspace-active .materials-hero-actions{left:28px;right:auto}
  body.workspace-active .materials-tagline{left:54%;top:18px;width:170px}
  body.workspace-active .materials-mascot{left:52%;top:auto;bottom:0;width:40%;height:auto;transform:translateX(-8%)}
}
@media(max-width:760px){
  body.workspace-active .materials-mascot{right:8px;bottom:0;top:auto;transform:none}
}

/* Keep the artwork and resource panel on the same horizontal rails.  The
   mascot is anchored to the hero's lower edge so its feet stay on the
   artwork baseline while the image moves slightly toward the page centre. */
body.workspace-active .materials-hero,
body.workspace-active .materials-workbench{margin-left:22px;margin-right:22px}
body.workspace-active .materials-hero::before,
body.workspace-active .materials-hero::after{left:0;right:0}
@media(min-width:761px){
  body.workspace-active .materials-mascot{left:48%;right:auto;top:auto;bottom:0;transform:translateX(-50%);object-position:center bottom}
}
@media(min-width:1081px) and (max-width:1320px){
  body.workspace-active .materials-mascot{left:46%;right:auto;bottom:0;transform:translateX(-50%)}
}
@media(min-width:761px) and (max-width:1080px){
  body.workspace-active .materials-mascot{left:49%;right:auto;bottom:0;transform:translateX(-50%)}
}
@media(max-width:760px){
  body.workspace-active .materials-hero{margin-left:-12px;margin-right:-12px}
  body.workspace-active .materials-workbench{margin-left:0;margin-right:0}
}

/* Keep the callout on the left and the mascot on the right so its raised
   finger points toward the message without covering the lettering. */
@media(min-width:761px){
  body.workspace-active .materials-hero,
  body.workspace-active .materials-hero::before,
  body.workspace-active .materials-hero::after{border-radius:26px}
  body.workspace-active .materials-tagline{left:4%;right:auto;top:30px;width:clamp(190px,18%,280px);z-index:5}
  body.workspace-active .materials-mascot{left:auto;right:4%;bottom:0;width:clamp(245px,24%,340px);height:auto;transform:none;z-index:6}
}
@media(min-width:1081px){
  body.workspace-active .materials-tagline{left:3%;width:clamp(220px,20%,330px)}
  body.workspace-active .materials-mascot{right:5%;width:clamp(280px,25%,360px)}
}
@media(max-width:760px){
  body.workspace-active .materials-hero,
  body.workspace-active .materials-hero::before,
  body.workspace-active .materials-hero::after{border-radius:20px}
  body.workspace-active .materials-tagline{left:12px;right:auto;bottom:66px;width:170px;z-index:5}
  body.workspace-active .materials-mascot{left:auto;right:4px;bottom:0;width:195px;height:auto;z-index:6}
}

/* Match the supplied reference: the message sits in the middle, the mascot
   occupies the middle-right and its raised finger points back at the message.
   The artwork has rounded lower corners only; its upper edge continues behind
   the utility bar. */
@media(min-width:761px){
  body.workspace-active .materials-hero{overflow:visible;border-radius:0 0 26px 26px}
  body.workspace-active .materials-hero::before,
  body.workspace-active .materials-hero::after{border-radius:0 0 26px 26px;background-position:center 57%,center 57%,center 57%;background-size:cover,cover,auto 100%}
  body.workspace-active .materials-tagline{left:29%;right:auto;top:22px;width:clamp(190px,18%,225px);z-index:5}
  body.workspace-active .materials-mascot{left:47%;right:auto;bottom:0;width:clamp(250px,24%,315px);height:auto;transform:none;z-index:6}
}
@media(min-width:1081px){
  body.workspace-active .materials-tagline{left:28%;top:20px;width:clamp(205px,18%,235px)}
  body.workspace-active .materials-mascot{left:47%;width:clamp(280px,24%,320px)}
}
@media(min-width:761px) and (max-width:1080px){
  body.workspace-active .materials-tagline{left:30%;top:18px;width:clamp(165px,20%,200px)}
  body.workspace-active .materials-mascot{left:49%;width:clamp(220px,30%,270px)}
}
@media(max-width:760px){
  body.workspace-active .materials-hero{overflow:visible;border-radius:0 0 20px 20px}
  body.workspace-active .materials-hero::before,
  body.workspace-active .materials-hero::after{border-radius:0 0 20px 20px;background-position:center 58%,center 58%,center 58%;background-size:cover,cover,auto 100%}
  body.workspace-active .materials-tagline{left:12px;right:auto;bottom:66px;width:170px;z-index:5}
  body.workspace-active .materials-mascot{left:auto;right:4px;bottom:0;width:195px;height:auto;z-index:6}
}

/* Fill the complete upper banner with the artwork. The message moves right;
   the mascot rules above remain unchanged. */
body.workspace-active .materials-hero::before,
body.workspace-active .materials-hero::after{background-size:cover,cover,cover}
@media(min-width:761px){
  body.workspace-active .materials-tagline{left:33%}
}

/* File-type artwork fills the card preview area and stays proportional across
   the responsive grid. */
body.workspace-active .material-thumb-preview{
  flex:0 0 clamp(84px,8vw,102px);
  height:clamp(84px,8vw,102px);
  min-height:clamp(84px,8vw,102px);
  margin-top:10px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
body.workspace-active .material-thumb-word{background-image:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-preview-word.png?v=1")}
body.workspace-active .material-thumb-ppt{background-image:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-preview-ppt.png?v=1")}
body.workspace-active .material-thumb-pdf{background-image:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-preview-pdf.png?v=1")}
body.workspace-active .material-thumb-html{background-image:url("https://jxzhixue.oss-cn-wuhan-lr.aliyuncs.com/img/materials-preview-html.png?v=1")}

/* Keep the card copy compact while giving the metadata enough size to read.
   The preview begins directly after the description and the action row keeps
   its own space below the artwork. */
body.workspace-active .material-tags,
body.workspace-active .material-description{font-size:12px}
body.workspace-active .material-tags{min-height:0;line-height:1.35}
body.workspace-active .material-description{margin-bottom:0}
body.workspace-active .material-file-type{font-size:11px}
body.workspace-active .material-actions{font-size:12px}
body.workspace-active .material-card{height:300px;min-height:0;padding:14px 14px 58px}
body.workspace-active .material-thumb{margin-top:6px}
body.workspace-active .material-thumb-preview{
  flex:0 0 clamp(76px,8vw,94px);
  height:clamp(76px,8vw,94px);
  min-height:clamp(76px,8vw,94px);
  margin-top:6px;
}
body.workspace-active .material-actions{position:absolute;left:14px;right:14px;bottom:14px;margin:0;flex:0 0 auto}
@media(max-width:760px){
  body.workspace-active .material-tags,
  body.workspace-active .material-description{font-size:11px}
  body.workspace-active .material-description{margin-top:4px;margin-bottom:0}
  body.workspace-active .material-actions{font-size:11px}
  body.workspace-active .material-card-actions .btn{font-size:11px}
  body.workspace-active .material-card{height:290px;padding:11px 11px 55px}
  body.workspace-active .material-thumb{margin-top:5px}
  body.workspace-active .material-thumb-preview{
    flex-basis:clamp(72px,22vw,84px);
    height:clamp(72px,22vw,84px);
    min-height:clamp(72px,22vw,84px);
  }
  body.workspace-active .material-actions{left:11px;right:11px;bottom:11px}
}

/* Keep the category strip directly below the search controls. */
body.workspace-active .materials-filter-row + .materials-category-row{
  display:flex!important;
  align-items:center;
  gap:14px;
  margin:0 0 15px;
  padding:11px 0 0;
  border-top:1px solid rgba(133,182,212,.24);
}
body.workspace-active .materials-filter-row + .materials-category-row .materials-categories{
  display:flex!important;
  align-items:center;
  gap:8px;
  flex:1 1 auto;
  min-width:0;
}
body.workspace-active .materials-filter-row + .materials-category-row .materials-category{
  display:inline-flex!important;
  align-items:center;
  min-height:38px;
}

/* Center the preview in the space between the card copy and action row. */
body.workspace-active .material-thumb{
  margin-top:auto;
  margin-bottom:auto;
}

/* Show the three metadata values as compact pills. */
body.workspace-active .material-tags{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  white-space:nowrap;
}
body.workspace-active .material-tags span{
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:42%;
  padding:2px 5px;
  border-radius:4px;
  background:#eaf4fb;
  color:#5b87a2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.workspace-active .material-tags i{
  flex:0 0 auto;
  color:#87a6b9;
  font-style:normal;
}
@media(max-width:760px){
  body.workspace-active .materials-filter-row + .materials-category-row{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-categories{
    width:100%;
  }
}

/* Match the original materials-center category strip below search. */
body.workspace-active .materials-category-icon svg{width:16px;height:16px}
@media(min-width:1081px){
  body.workspace-active .materials-filter-row .materials-search-field{max-width:min(52%,820px)}
  body.workspace-active .materials-filter-row .materials-filter-select{flex:1 1 185px}
}
@media(min-width:761px){
  body.workspace-active .materials-filter-row + .materials-category-row{
    align-items:center;
    gap:12px;
    margin:0 0 16px;
    padding:8px 10px;
    border:1px solid rgba(194,225,244,.64);
    border-radius:12px;
    background:linear-gradient(90deg,rgba(235,248,255,.9),rgba(247,252,255,.72));
    box-shadow:inset 0 1px rgba(255,255,255,.9);
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-categories{
    gap:8px;
    overflow-x:auto;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category{
    height:38px;
    min-height:38px;
    padding:0 14px;
    gap:8px;
    border:1px solid rgba(215,232,244,.72);
    border-radius:9px;
    background:rgba(255,255,255,.58);
    color:#4c6e87;
    font-size:13px;
    box-shadow:0 2px 7px rgba(65,126,166,.05);
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category:hover{
    border-color:#8bc9ec;
    background:#fff;
    color:#1678b7;
    transform:none;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category.is-active{
    border-color:#3b9ee0;
    background:linear-gradient(110deg,#32a9e8,#5db7ed);
    color:#fff;
    box-shadow:0 5px 12px rgba(38,145,211,.2);
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon{
    width:22px;
    height:22px;
    border-radius:7px;
    font-size:12px;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon svg{
    width:16px;
    height:16px;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon.tone-blue{background:#e4f2ff;color:#328bd0}
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon.tone-orange{background:#fff0e4;color:#ed9648}
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon.tone-green{background:#e3f7ee;color:#35ad83}
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon.tone-purple{background:#f0eaff;color:#9274da}
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category-icon.tone-pink{background:#ffedf5;color:#e582ae}
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category b{
    min-width:auto;
    padding:0;
    background:transparent;
    color:#86a0b4;
    font-size:11px;
    font-weight:700;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category.is-active b{
    background:transparent;
    color:rgba(255,255,255,.9);
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-category.is-active .materials-category-icon{
    background:rgba(255,255,255,.2);
    color:#fff;
  }
  body.workspace-active .materials-filter-row + .materials-category-row .materials-sort{
    height:38px;
    width:148px;
    max-width:148px;
    flex:0 0 148px;
    min-width:148px;
    border:1px solid rgba(194,225,244,.82);
    border-radius:9px;
    background:rgba(255,255,255,.7);
    font-size:13px;
  }
}

/* Give non-material pages the same compact desktop gutters as the materials workbench. */
@media(min-width:761px){
  body.workspace-active #app>.container:not(.materials-page){max-width:none;padding-left:22px;padding-right:22px}
  body.workspace-active .teacher-schedule-page{padding-left:22px;padding-right:22px}
}

/* Chat panel follows the supplied artwork's native 1498:1050 canvas. */
body.workspace-active .chat-modal{
  position:relative;
  isolation:isolate;
  width:min(1498px,90vw,calc(142.67dvh - 100px));
  height:auto;
  max-height:calc(100dvh - 70px);
  min-height:0;
  aspect-ratio:1498 / 1050;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.9);
  border-radius:20px;
  background:#eef8ff;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 26px 74px rgba(31,75,112,.24);
}
body.workspace-active .chat-panel-background{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}
body.workspace-active .chat-modal-head{position:relative;z-index:1;display:flex;flex:none;align-items:center;justify-content:space-between;height:82px;min-height:0;padding:12px 22px 10px 25px;border:0;border-radius:19px 19px 0 0;background:transparent}
body.workspace-active .chat-modal-heading{display:flex;align-items:center;gap:12px;min-width:0}
body.workspace-active .chat-title-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:50%;background:linear-gradient(145deg,#50b8f2,#1684e8);color:white;box-shadow:0 5px 13px rgba(36,135,214,.23)}
body.workspace-active .chat-title-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.workspace-active .chat-modal-heading h3{color:#18334a;font-size:20px;line-height:1.25}
body.workspace-active .chat-modal-heading .modal-subtitle{margin-top:3px;color:#71889d;font-size:12px}
body.workspace-active .chat-modal-close{width:34px;height:34px;border:1px solid rgba(126,165,198,.18);border-radius:9px;background:rgba(255,255,255,.66);color:#506c83}
body.workspace-active .chat-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1 1 0;width:100%;height:auto;min-height:0;transition:grid-template-columns .22s ease}
body.workspace-active .chat-sidebar{width:auto;min-width:0;min-height:0;padding:15px 14px 12px;border-right:1px solid rgba(139,174,201,.2);background:rgba(250,253,255,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.workspace-active .chat-search{gap:6px}
body.workspace-active .chat-search .input{height:38px;padding:0 11px;border-radius:19px;font-size:12px}
body.workspace-active #chat-search-button{width:36px;height:36px;border:1px solid rgba(142,178,205,.24);border-radius:50%;background:rgba(255,255,255,.68);color:#64829a}
body.workspace-active #chat-system-entry{margin-top:10px}
body.workspace-active #chat-system-entry .chat-friend{padding:3px;border:1px solid transparent;border-radius:13px;background:rgba(232,242,252,.78)}
body.workspace-active #chat-system-entry [data-system-messages]{min-height:64px;gap:11px;padding:7px 8px}
body.workspace-active #chat-system-entry .chat-avatar{width:46px;height:46px;min-width:46px}
body.workspace-active #chat-system-entry .chat-avatar svg{width:24px;height:24px}
body.workspace-active #chat-system-entry .chat-friend strong{font-size:16px;color:#28435b}
body.workspace-active #chat-system-entry .chat-friend-main small{margin-top:3px;font-size:13px}
body.workspace-active .chat-tabs{gap:3px;margin:11px 0 7px;padding:3px;border-radius:12px;background:rgba(227,239,250,.78)}
body.workspace-active .chat-tab{height:31px;border-radius:10px;font-size:12px}
body.workspace-active .chat-tab.active{background:linear-gradient(110deg,#258dde,#4aa8e8);color:#fff;box-shadow:0 4px 10px rgba(35,129,203,.2)}
body.workspace-active .chat-tab span{background:#e24963}
body.workspace-active .chat-side-list{min-height:0}
body.workspace-active .chat-friend{padding:2px 4px;border-radius:12px}
body.workspace-active .chat-friend:hover{background:rgba(226,240,252,.8)}
body.workspace-active .chat-friend-main{gap:9px;min-height:49px;padding:5px 4px}
body.workspace-active .chat-friend-main .chat-avatar{width:36px;height:36px;min-width:36px}
body.workspace-active .chat-friend-main strong{color:#263f56;font-size:13px}
body.workspace-active .chat-friend-main small{margin-top:3px;color:#73899c;font-size:11px}
body.workspace-active .chat-friend-delete{width:28px;height:28px;border-radius:8px;color:#8298aa}
body.workspace-active .chat-main{min-width:0;min-height:0;background:rgba(255,255,255,.22)}
body.workspace-active .chat-placeholder{width:100%;min-height:0;gap:0;padding:18px 24px;color:#6c8093}
body.workspace-active .chat-placeholder-art{display:block;width:min(56%,420px);height:auto;aspect-ratio:3 / 2;object-fit:contain;margin:0 0 3px;flex:none}
body.workspace-active .chat-placeholder strong{color:#1a3150;font-size:19px;line-height:1.35}
body.workspace-active .chat-placeholder span{max-width:340px;margin-top:8px;color:#718195;font-size:12px;line-height:1.6}
body.workspace-active .chat-conversation-head{background:rgba(255,255,255,.74);border-color:rgba(139,174,201,.2)}
body.workspace-active .system-conversation-head .chat-avatar{width:46px;height:46px;min-width:46px}
body.workspace-active .system-conversation-head .chat-avatar svg{width:24px;height:24px}
body.workspace-active .system-conversation-head>div>strong{font-size:16px;line-height:1.25}
body.workspace-active .system-conversation-head>div>span{font-size:13px;line-height:1.3}
body.workspace-active .chat-history{background:rgba(242,249,255,.65)}
body.workspace-active .chat-composer{background:rgba(255,255,255,.86);border-color:rgba(139,174,201,.2)}
body.workspace-active .chat-layout.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
body.workspace-active .chat-layout.sidebar-collapsed .chat-sidebar{width:0;padding-left:0;padding-right:0;border-right:0}

body.workspace-active .account-settings-modal{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr);width:min(830px,calc(100vw - 32px));height:min(710px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:rgba(248,252,255,.96);box-shadow:0 28px 84px rgba(23,69,111,.3)}
body.workspace-active .account-settings-side{position:relative;display:flex;flex-direction:column;min-width:0;padding:22px 24px 24px;overflow:hidden;background:linear-gradient(160deg,rgba(230,243,255,.98),rgba(221,239,255,.94) 68%,rgba(211,234,255,.9))}
body.workspace-active .account-settings-side::after{position:absolute;right:-55px;bottom:-86px;left:-35px;height:190px;border-radius:50% 50% 0 0;background:linear-gradient(155deg,rgba(119,190,249,.22),rgba(170,219,255,.04));content:"";pointer-events:none}
body.workspace-active .account-settings-brand{position:relative;z-index:1;display:grid;gap:5px}
body.workspace-active .account-settings-brand strong{color:#172f50;font-size:20px;line-height:1.3}
body.workspace-active .account-settings-brand span{color:#738ca8;font-size:13px}
body.workspace-active .account-settings-identity{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin:30px 0 24px}
body.workspace-active .account-settings-avatar{display:grid;place-items:center;width:108px;height:108px;overflow:hidden;border:0;border-radius:50%;background:linear-gradient(145deg,#c4e4ff,#acd6fb);color:#1684e8;font-size:40px;font-weight:800}
body.workspace-active .account-settings-avatar img{width:100%;height:100%;object-fit:cover}
body.workspace-active .account-settings-avatar-edit{position:absolute;top:72px;left:calc(50% + 23px);display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.9);border-radius:10px;background:#fff;color:#1684e8;box-shadow:0 4px 12px rgba(43,116,175,.15);cursor:pointer}
body.workspace-active .account-settings-identity>strong{max-width:100%;margin-top:9px;overflow:hidden;color:#172f50;font-size:17px;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .account-settings-identity .membership-badge-settings{width:96px;height:30px;margin:-2px auto 0;filter:drop-shadow(0 3px 6px rgba(42,104,157,.14))}
body.workspace-active .account-settings-role{display:flex;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;border-radius:99px;background:rgba(192,225,255,.72);color:#2382ca;font-size:11px;font-weight:700}
body.workspace-active .account-settings-nav{position:relative;z-index:1;display:grid;gap:7px}
body.workspace-active .account-settings-nav button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 15px;border:0;border-radius:9px;background:transparent;color:#304c6c;text-align:left;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer}
body.workspace-active .account-settings-nav button svg{flex:none;color:#647e9c}
body.workspace-active .account-settings-nav button.is-active{background:rgba(184,221,255,.7);box-shadow:inset 3px 0 #1684e8;color:#087fe0}
body.workspace-active .account-settings-nav button.is-active svg{color:#1684e8}
body.workspace-active .account-settings-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(246,251,255,.93))}
body.workspace-active .account-settings-close{position:absolute;top:16px;right:16px;z-index:2;width:38px;height:38px;border:1px solid rgba(135,174,205,.12);border-radius:12px;background:rgba(255,255,255,.72);color:#416181;box-shadow:0 4px 12px rgba(43,92,133,.07)}
body.workspace-active .account-settings-content{min-height:0;flex:1;overflow:auto;padding:34px 27px 16px}
body.workspace-active .account-settings-pane[hidden]{display:none}
body.workspace-active .account-settings-pane-head{margin:0 48px 20px 0}
body.workspace-active .account-settings-pane-head h3{color:#172f50;font-size:20px;line-height:1.35}
body.workspace-active .account-settings-pane-head p{margin-top:5px;color:#738ca8;font-size:14px;line-height:1.5}
body.workspace-active .account-settings-fields{display:grid;gap:10px}
body.workspace-active .account-settings-field{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr) 38px;align-items:center;gap:8px;min-height:43px;margin:0}
body.workspace-active .account-settings-field>span{display:flex;align-items:center;gap:10px;min-width:0;color:#1684e8}
body.workspace-active .account-settings-field>span b{overflow:hidden;color:#273f5c;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .account-settings-field .input{width:100%;height:42px;min-width:0;padding:0 12px;border:1px solid rgba(125,169,204,.2);border-radius:10px;background:rgba(245,249,253,.65);font-size:14px;box-sizing:border-box}
body.workspace-active .account-settings-field .input[readonly]{color:#263d5d}
body.workspace-active .account-settings-field .password-toggle{position:static;display:grid;place-items:center;width:34px;height:34px;margin-left:-46px;grid-column:3;grid-row:1;border:0;background:transparent;color:#6883a1;cursor:pointer}
body.workspace-active .account-settings-field:has(.password-toggle) .input{padding-right:38px}
body.workspace-active .account-copy-id{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(125,169,204,.16);border-radius:9px;background:#fff;color:#365b80;cursor:pointer}
body.workspace-active .account-settings-verification{margin-top:20px;padding-top:17px;border-top:1px solid rgba(125,169,204,.16)}
body.workspace-active .account-settings-verification h4{display:flex;align-items:center;gap:10px;color:#233b5a;font-size:15px}
body.workspace-active .account-settings-verification h4 svg{color:#1684e8}
body.workspace-active .account-settings-code-row{display:flex;gap:8px;margin:10px 0 0 39px}
body.workspace-active .account-settings-code-row .input{height:40px;min-width:0;flex:1;padding:0 11px;font-size:13px}
body.workspace-active .account-settings-code-row .btn{height:40px;min-height:40px;font-size:13px;white-space:nowrap}
body.workspace-active .account-settings-verification .field-hint{margin:8px 0 0 39px;font-size:12px;line-height:1.5}
body.workspace-active .account-settings-reminder{margin-top:16px;padding:13px 14px;border:1px solid rgba(255,255,255,.78);border-radius:11px;background:rgba(231,243,254,.72)}
body.workspace-active .account-settings-reminder>div:first-child{min-width:0}
body.workspace-active .account-settings-reminder .settings-reminder-title{font-size:14px}
body.workspace-active .account-settings-reminder p{font-size:12px;line-height:1.5}
body.workspace-active .account-settings-reminder-meta{justify-content:flex-end;flex:none}
body.workspace-active .account-settings-reminder-meta .btn{min-height:36px;padding:0 11px;font-size:12px}
body.workspace-active .account-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 27px 16px;border-top:1px solid rgba(125,169,204,.14);background:rgba(255,255,255,.56)}
body.workspace-active .account-settings-foot>div{display:flex;gap:9px;margin-left:auto}
body.workspace-active .account-settings-foot .btn{min-height:38px;padding:0 15px}
body.workspace-active .account-settings-foot #settings-save[hidden],body.workspace-active .account-settings-foot #settings-delete[hidden]{display:none}
body.workspace-active .account-security-list{display:grid;gap:12px}
body.workspace-active .account-security-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 14px;border:1px solid rgba(129,176,211,.16);border-radius:12px;background:rgba(244,249,254,.8)}
body.workspace-active .account-security-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e7f3ff;color:#1684e8}
body.workspace-active .account-security-icon.is-qq{background:#edf4ff}
body.workspace-active .account-security-icon.is-qq img{width:26px;height:26px;object-fit:contain}
body.workspace-active .account-security-item>div{display:grid;gap:5px;min-width:0}
body.workspace-active .account-security-item>div strong{color:#233b5a;font-size:15px}
body.workspace-active .account-security-item>div small{color:#738ca8;font-size:12px;line-height:1.5}
body.workspace-active .account-security-status{color:#8799aa;font-size:12px;white-space:nowrap}
body.workspace-active .account-security-status.is-bound{color:#168d69}
body.workspace-active .account-security-item>.btn{min-height:38px;padding:0 13px;font-size:13px;white-space:nowrap}
body.workspace-active .account-security-item>.btn:disabled{cursor:default;opacity:.76}
body.workspace-active .account-settings-security-note{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;border-radius:10px;background:#eff7ff;color:#66819d;font-size:12px;line-height:1.55}
body.workspace-active .account-settings-security-note svg{flex:none;color:#1684e8}
body.workspace-active .account-settings-unavailable{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body.workspace-active .account-settings-unavailable>span{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:#edf6ff;color:#4f9fe0}
body.workspace-active .account-settings-unavailable>span svg{display:block;width:28px;height:28px}
body.workspace-active .account-settings-unavailable h3{margin-top:15px;color:#243d5a;font-size:19px}
body.workspace-active .account-settings-unavailable p{margin-top:7px;color:#7b91a8;font-size:13px}
body.workspace-active .account-settings-main .auth-error{margin-top:8px}

@media(max-width:760px){
  body.workspace-active .modal-mask:has(.account-settings-modal){align-items:center;padding:10px}
  body.workspace-active .account-settings-modal{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:calc(100vw - 20px);height:min(760px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);border-radius:16px}
  body.workspace-active .account-settings-side{display:flex;flex:none;flex-direction:column;gap:0;padding:12px 14px 10px}
  body.workspace-active .account-settings-brand{gap:2px;margin-bottom:9px}
  body.workspace-active .account-settings-brand strong{font-size:17px}
  body.workspace-active .account-settings-brand span{font-size:11px}
  body.workspace-active .account-settings-identity{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;justify-items:start;margin:0 0 10px}
  body.workspace-active .account-settings-avatar{grid-column:1;grid-row:1 / span 2;width:52px;height:52px;font-size:22px}
  body.workspace-active .account-settings-avatar-edit{top:31px;left:36px;width:25px;height:25px;border-radius:8px}
  body.workspace-active .account-settings-avatar-edit svg{width:14px;height:14px}
  body.workspace-active .account-settings-identity>strong{grid-column:2;grid-row:1;margin:0;font-size:14px}
  body.workspace-active .account-settings-identity .membership-badge-settings{grid-column:2;grid-row:2;justify-self:start;width:92px;height:28px;margin:-2px 0 0}
  body.workspace-active .account-settings-role{grid-column:2;grid-row:2;margin-top:4px;padding:3px 8px;font-size:10px}
  body.workspace-active .account-settings-role svg{width:12px;height:12px}
  body.workspace-active .account-settings-nav{display:flex;gap:6px}
  body.workspace-active .account-settings-nav button{justify-content:center;gap:6px;min-width:0;min-height:37px;flex:1;padding:0 6px;border-radius:8px;font-size:13px}
  body.workspace-active .account-settings-nav button svg{width:16px;height:16px}
  body.workspace-active .account-settings-main{min-height:0}
  body.workspace-active .account-settings-close{top:10px;right:10px;width:32px;height:32px;border-radius:9px}
  body.workspace-active .account-settings-content{padding:20px 15px 12px}
  body.workspace-active .account-settings-pane-head{margin:0 38px 16px 0}
  body.workspace-active .account-settings-pane-head h3{font-size:18px}
  body.workspace-active .account-settings-pane-head p{font-size:12px}
  body.workspace-active .account-settings-fields{gap:9px}
  body.workspace-active .account-settings-field{grid-template-columns:82px minmax(0,1fr) 32px;gap:5px;min-height:39px}
  body.workspace-active .account-settings-field>span{gap:5px}
  body.workspace-active .account-settings-field>span svg{width:16px;height:16px}
  body.workspace-active .account-settings-field>span b{font-size:12px}
  body.workspace-active .account-settings-field .input{height:38px;padding:0 8px;border-radius:8px;font-size:12px}
  body.workspace-active .account-settings-field .password-toggle{width:30px;height:30px;margin-left:-37px}
  body.workspace-active .account-settings-field:has(.password-toggle) .input{padding-right:30px}
  body.workspace-active .account-copy-id{width:29px;height:29px;border-radius:7px}
  body.workspace-active .account-copy-id svg{width:15px;height:15px}
  body.workspace-active .account-settings-verification{margin-top:15px;padding-top:13px}
  body.workspace-active .account-settings-verification h4{gap:7px;font-size:13px}
  body.workspace-active .account-settings-verification h4 svg{width:17px;height:17px}
  body.workspace-active .account-settings-code-row{gap:6px;margin:8px 0 0 24px}
  body.workspace-active .account-settings-code-row .input{height:36px;padding:0 8px;font-size:11px}
  body.workspace-active .account-settings-code-row .btn{height:36px;min-height:36px;padding:0 9px;font-size:11px}
  body.workspace-active .account-settings-verification .field-hint{margin:7px 0 0 24px;font-size:11px}
  body.workspace-active .account-settings-reminder{display:grid;gap:9px;margin-top:12px;padding:10px;border-radius:9px}
  body.workspace-active .account-settings-reminder .settings-reminder-title{font-size:13px}
  body.workspace-active .account-settings-reminder p{font-size:11px;line-height:1.5}
  body.workspace-active .account-settings-reminder-meta{justify-content:space-between;gap:8px}
  body.workspace-active .account-settings-reminder-meta .btn{min-height:32px;padding:0 8px;font-size:11px}
  body.workspace-active .account-settings-foot{gap:6px;padding:9px 12px 11px}
  body.workspace-active .account-settings-foot>div{gap:6px}
  body.workspace-active .account-settings-foot .btn{min-height:34px;padding:0 10px;font-size:11px}
  body.workspace-active .account-security-list{gap:9px}
  body.workspace-active .account-security-item{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:11px 9px;border-radius:10px}
  body.workspace-active .account-security-icon{width:36px;height:36px;border-radius:9px}
  body.workspace-active .account-security-icon svg{width:20px;height:20px}
  body.workspace-active .account-security-icon.is-qq img{width:23px;height:23px}
  body.workspace-active .account-security-item>div strong{font-size:13px}
  body.workspace-active .account-security-item>div small{font-size:11px}
  body.workspace-active .account-security-status{font-size:11px}
  body.workspace-active .account-security-item>.btn{grid-column:2 / 4;justify-self:end;min-height:33px;padding:0 10px;font-size:12px}
  body.workspace-active .account-settings-security-note{margin-top:11px;padding:9px;font-size:11px}
  body.workspace-active .account-settings-unavailable{min-height:220px}
  body.workspace-active .account-settings-unavailable>span{width:48px;height:48px}
  body.workspace-active .account-settings-unavailable h3{font-size:17px}
  body.workspace-active .account-settings-unavailable p{font-size:12px}
  body.workspace-active .account-settings-main .auth-error{font-size:11px}
  body.workspace-active .modal-mask:has(.chat-modal){padding:8px}
  body.workspace-active .chat-modal{width:min(1498px,calc(100vw - 16px),calc(142.67dvh - 68.5px));max-height:calc(100dvh - 40px);border-radius:14px}
  body.workspace-active .chat-modal-head{height:48px;padding:6px 9px 5px 11px;border-radius:13px 13px 0 0}
  body.workspace-active .chat-modal-heading{gap:7px}
  body.workspace-active .chat-title-icon{width:29px;height:29px}
  body.workspace-active .chat-title-icon svg{width:17px;height:17px}
  body.workspace-active .chat-modal-heading h3{font-size:15px}
  body.workspace-active .chat-modal-heading .modal-subtitle{margin-top:1px;font-size:9px}
  body.workspace-active .chat-modal-close{width:27px;height:27px;border-radius:7px}
  body.workspace-active .chat-modal-close svg{width:15px;height:15px}
  body.workspace-active .chat-layout{grid-template-columns:minmax(125px,34%) minmax(0,1fr)}
  body.workspace-active .chat-sidebar{padding:8px 7px 6px}
  body.workspace-active .chat-search{gap:4px}
  body.workspace-active .chat-search .input{height:34px;padding:0 9px;border-radius:17px;font-size:12px}
  body.workspace-active #chat-search-button{width:32px;height:32px}
  body.workspace-active #chat-search-button svg{width:18px;height:18px}
  body.workspace-active #chat-system-entry{margin-top:7px}
  body.workspace-active #chat-system-entry .chat-friend{padding:2px;border-radius:9px}
  body.workspace-active #chat-system-entry [data-system-messages]{min-height:70px;gap:10px;padding:7px}
  body.workspace-active #chat-system-entry .chat-avatar{width:48px;height:48px;min-width:48px}
  body.workspace-active #chat-system-entry .chat-avatar svg{width:26px;height:26px}
  body.workspace-active #chat-system-entry .chat-friend strong{font-size:17px}
  body.workspace-active #chat-system-entry .chat-friend-main small{font-size:13px}
  body.workspace-active .chat-tabs{gap:3px;margin:7px 0 5px;padding:3px;border-radius:8px}
  body.workspace-active .chat-tab{height:30px;border-radius:7px;font-size:12px}
  body.workspace-active .chat-tab span{min-width:16px;height:16px;padding:0 4px;font-size:10px}
  body.workspace-active .chat-friend{padding:2px;border-radius:8px}
  body.workspace-active .chat-friend-main{gap:7px;min-height:44px;padding:4px}
  body.workspace-active .chat-friend-main .chat-avatar{width:32px;height:32px;min-width:32px;font-size:13px}
  body.workspace-active .chat-friend-main strong{font-size:12px}
  body.workspace-active .chat-friend-main small{margin-top:2px;font-size:10px}
  body.workspace-active .chat-friend-delete{width:25px;height:25px}
  body.workspace-active .chat-friend-delete svg{width:14px;height:14px}
  body.workspace-active .chat-placeholder{padding:5px;}
  body.workspace-active .chat-placeholder-art{width:min(76%,190px);margin-bottom:0}
  body.workspace-active .chat-placeholder strong{font-size:13px}
  body.workspace-active .chat-placeholder span{margin-top:3px;font-size:8px;line-height:1.35}
  body.workspace-active .chat-conversation-head{gap:5px;padding:5px}
  body.workspace-active .chat-conversation-head .chat-avatar{width:24px;height:24px;min-width:24px}
  body.workspace-active .chat-conversation-head>div>strong{font-size:10px}
  body.workspace-active .chat-conversation-head>div>span{margin-top:1px;font-size:8px}
  body.workspace-active .system-conversation-head .chat-avatar{width:48px;height:48px;min-width:48px}
  body.workspace-active .system-conversation-head .chat-avatar svg{width:26px;height:26px}
  body.workspace-active .system-conversation-head>div>strong{font-size:17px;line-height:1.25}
  body.workspace-active .system-conversation-head>div>span{margin-top:3px;font-size:13px;line-height:1.3}
  body.workspace-active .chat-sidebar-toggle{width:22px;height:22px}
  body.workspace-active .chat-history{padding:5px}
  body.workspace-active .chat-composer{padding:5px}
  body.workspace-active .chat-compose-row{gap:3px}
  body.workspace-active .chat-compose-row .icon-btn{width:23px;height:23px}
  body.workspace-active .chat-compose-row .input{height:25px;padding:0 5px;font-size:9px}
  body.workspace-active .chat-compose-row .btn{height:25px;min-height:25px;padding:0 5px;font-size:9px}
}

@media(max-width:390px){
  body.workspace-active .account-settings-field{grid-template-columns:72px minmax(0,1fr) 29px}
  body.workspace-active .account-settings-nav button{gap:4px;padding:0 4px;font-size:12px}
  body.workspace-active .account-settings-nav button svg{width:14px;height:14px}
  body.workspace-active .account-settings-foot{padding-right:8px;padding-left:8px}
  body.workspace-active .account-settings-foot .btn{padding:0 8px}
}

body.workspace-active .student-profile-modal{width:min(720px,94vw)}
body.workspace-active .profile-summary{display:flex;align-items:center;gap:14px;padding:4px 0 18px}
body.workspace-active .profile-summary .avatar{width:48px;height:48px;flex:none;font-size:19px}
body.workspace-active .profile-summary strong{font-size:20px;color:#183f67}
body.workspace-active .profile-summary p{margin-top:4px;color:#6b8296;font-size:13px}
body.workspace-active .profile-dimension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:20px}
body.workspace-active .profile-dimension{display:grid;gap:4px;padding:12px;border:1px solid #dce9f4;border-radius:9px;background:#f8fbfe}
body.workspace-active .profile-dimension span{font-size:12px;font-weight:700}
body.workspace-active .profile-dimension strong{font-size:21px;color:#254f73}
body.workspace-active .profile-dimension small{color:#7891a5;font-size:11px}
body.workspace-active .profile-record-head{margin:0;border-top:1px solid #e3edf5;padding:15px 0 9px}
body.workspace-active .profile-record-list{border:1px solid #e0ebf3;border-radius:8px;overflow:hidden}
body.workspace-active .profile-record-row{display:grid;grid-template-columns:128px minmax(0,1fr) 60px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #e8f0f5;font-size:13px;color:#315875}
body.workspace-active .profile-record-row:last-child{border-bottom:0}
body.workspace-active .profile-record-row time{color:#7891a5;font-size:12px}
body.workspace-active .profile-record-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.workspace-active .profile-record-row b{text-align:right;color:#1684cf}
body.workspace-active .evaluation-modal{width:min(620px,94vw)}
body.workspace-active .evaluation-grid{display:grid;gap:8px}
body.workspace-active .evaluation-row{display:grid;grid-template-columns:minmax(0,1fr) 34px 46px 34px;align-items:center;gap:8px;padding:10px 11px;border:1px solid #e0ebf3;border-radius:8px;background:#fbfdff}
body.workspace-active .evaluation-row>div{display:grid;gap:3px}
body.workspace-active .evaluation-row small{color:#7a91a3;font-size:11px}
body.workspace-active .evaluation-row>b{text-align:center;color:#294e70}
body.workspace-active .evaluation-row .icon-btn{width:30px;height:30px;border:1px solid #d5e4ef;background:#fff;color:#2f6d98}
body.workspace-active .evaluation-total{margin-top:14px;text-align:right;color:#58748a;font-size:13px}
body.workspace-active .evaluation-total strong{margin-left:5px;color:#1684cf;font-size:20px}
@media(max-width:560px){body.workspace-active .profile-dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.workspace-active .profile-record-row{grid-template-columns:1fr 50px}body.workspace-active .profile-record-row time{grid-column:1/-1}}
body.workspace-active .teacher-schedule-grid>.schedule-cell{cursor:pointer}
body.workspace-active .schedule-course-modal{width:min(580px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.84);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,248,255,.96));box-shadow:0 28px 80px rgba(29,74,112,.25),inset 0 1px 0 rgba(255,255,255,.95)}
body.workspace-active .schedule-course-modal .modal-head{min-height:66px;padding:0 24px;border-bottom:1px solid rgba(123,169,199,.18)}
body.workspace-active .schedule-course-modal .modal-head h3{font-size:17px;color:#234a6c}
body.workspace-active .schedule-course-modal .modal-body{padding:22px 24px 24px}
body.workspace-active .schedule-course-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}
body.workspace-active .schedule-course-edit-form .field{display:grid;align-content:start;gap:7px;min-width:0;margin:0;color:#375b78;font-size:13px;font-weight:650}
body.workspace-active .schedule-course-edit-form .field .input{width:100%;min-width:0;height:43px;box-sizing:border-box;border:1px solid rgba(122,172,205,.3);border-radius:12px;background:rgba(255,255,255,.76);color:#294d69;font-size:13px}
body.workspace-active .schedule-course-edit-form .field .input:focus{border-color:#6eb4dd;box-shadow:0 0 0 3px rgba(90,168,211,.13)}
body.workspace-active .schedule-course-modal .modal-foot{min-height:68px;padding:12px 22px;border-top:1px solid rgba(123,169,199,.16);background:rgba(255,255,255,.48)}
body.workspace-active .schedule-course-modal .modal-foot .btn{min-width:82px;min-height:40px;border-radius:11px}
body.workspace-active .schedule-cell-context-menu{position:fixed;z-index:10000;width:min(280px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:10px;border:1px solid rgba(133,177,207,.48);border-radius:12px;background:rgba(249,253,255,.97);box-shadow:0 14px 38px rgba(27,67,98,.22),inset 0 1px 0 #fff;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);color:#294d69}
body.workspace-active .schedule-cell-context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 3px 7px;border-bottom:1px solid rgba(123,169,199,.2);font-size:13px;font-weight:750}
body.workspace-active .schedule-cell-context-heading .icon-btn{width:28px;height:28px;flex:none;border:0;background:transparent;color:#66839a}
body.workspace-active .schedule-cell-context-location{margin:8px 3px;color:#70899e;font-size:11px}
body.workspace-active .schedule-cell-context-actions{display:grid;gap:4px}
body.workspace-active .schedule-cell-context-action{min-height:36px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#315a76;text-align:left;font:inherit;font-size:12px;cursor:pointer}
body.workspace-active .schedule-cell-context-action:hover{background:#eaf5fc;color:#176fa7}
body.workspace-active .schedule-cell-context-action.is-primary{background:#e5f3fc;color:#146d9f;font-weight:700}
body.workspace-active .schedule-cell-context-action.is-primary:hover{background:#d6ebf9}
body.workspace-active .schedule-cell-context-action.is-danger{color:#b34f58}
body.workspace-active .schedule-cell-context-action.is-danger:hover{background:#fff0f0}
@media(max-width:520px){body.workspace-active .schedule-course-modal .modal-head{padding:0 17px}body.workspace-active .schedule-course-modal .modal-body{padding:18px 17px 20px}body.workspace-active .schedule-course-edit-form{grid-template-columns:minmax(0,1fr);gap:13px}body.workspace-active .schedule-course-modal .modal-foot{padding-right:16px;padding-left:16px}}

/* Consistent pale-blue scrollbars across the app and nested panels. */
html,body,body *{scrollbar-width:thin;scrollbar-color:rgba(108,174,214,.62) transparent}
body.workspace-active .workspace-side-content,
body.workspace-active .home-course-feed,
body.workspace-active .home-week-events,
body.workspace-active .exam-grid-wrap{scrollbar-width:thin;scrollbar-color:rgba(108,174,214,.62) transparent}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar,
body.workspace-active .workspace-side-content::-webkit-scrollbar,
body.workspace-active .exam-grid-wrap::-webkit-scrollbar{width:8px;height:8px}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,body *::-webkit-scrollbar-track,
body.workspace-active .workspace-side-content::-webkit-scrollbar-track,
body.workspace-active .exam-grid-wrap::-webkit-scrollbar-track{margin:3px;border-radius:999px;background:rgba(181,219,240,.2)}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb,
body.workspace-active .workspace-side-content::-webkit-scrollbar-thumb,
body.workspace-active .exam-grid-wrap::-webkit-scrollbar-thumb{
  min-height:40px;
  border:2px solid transparent;
  border-radius:999px;
  background:rgba(117,185,222,.5);
  background-clip:padding-box;
  transition:background-color .18s ease;
}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover,
body.workspace-active .workspace-side-content::-webkit-scrollbar-thumb:hover,
body.workspace-active .exam-grid-wrap::-webkit-scrollbar-thumb:hover{background:rgba(92,165,207,.72);background-clip:padding-box}
html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active,body *::-webkit-scrollbar-thumb:active,
body.workspace-active .workspace-side-content::-webkit-scrollbar-thumb:active,
body.workspace-active .exam-grid-wrap::-webkit-scrollbar-thumb:active{background:rgba(75,149,193,.82);background-clip:padding-box}
html::-webkit-scrollbar-button,body::-webkit-scrollbar-button,body *::-webkit-scrollbar-button{display:none;width:0;height:0}
html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner,body *::-webkit-scrollbar-corner{background:transparent}

/* Keep friend identities visually aligned with the system-message entries. */
body.workspace-active .chat-friend-main .chat-avatar{width:46px;height:46px;min-width:46px}
body.workspace-active .chat-friend-main strong{font-size:16px}
body.workspace-active .chat-friend-main small{font-size:13px}
body.workspace-active .chat-conversation-head:not(.system-conversation-head) .chat-avatar{width:46px;height:46px;min-width:46px}
body.workspace-active .chat-conversation-head:not(.system-conversation-head)>div>strong{font-size:16px;line-height:1.25}
body.workspace-active .chat-conversation-head:not(.system-conversation-head)>div>span{font-size:13px;line-height:1.3}
@media(max-width:760px){
  body.workspace-active .chat-friend-main .chat-avatar{width:48px;height:48px;min-width:48px}
  body.workspace-active .chat-friend-main strong{font-size:17px}
  body.workspace-active .chat-friend-main small{font-size:13px}
  body.workspace-active .chat-conversation-head:not(.system-conversation-head) .chat-avatar{width:48px;height:48px;min-width:48px}
  body.workspace-active .chat-conversation-head:not(.system-conversation-head)>div>strong{font-size:17px;line-height:1.25}
  body.workspace-active .chat-conversation-head:not(.system-conversation-head)>div>span{font-size:13px;line-height:1.3}
}

/* Final overrides for the refined admin and upload dialog layouts. */
body.workspace-active .tone-orange{background:#f7eee5;color:#a8794f}
body.workspace-active .tone-blue{background:#e9f0f5;color:#627f96}
body.workspace-active .tone-green{background:#e8f1ed;color:#648a78}
body.workspace-active .tone-purple{background:#eeeaf2;color:#82758f}
body.workspace-active .home-planner-card.home-todo-card{border-color:#c5e2fc;background:#fff;box-shadow:0 8px 22px rgba(33,125,202,.13)}
body.workspace-active .home-todo-card .home-planner-head h3{color:#126bb8}
body.workspace-active .home-todo-card .home-planner-more{color:#1978c7}
body.workspace-active .home-todo-card .home-planner-more:hover{color:#087be0}
body.workspace-active .home-todo-card .home-todo-row{color:#173d63;border-left:3px solid transparent;padding-left:8px;font-weight:600}
body.workspace-active .home-todo-card .home-todo-row:nth-child(1){background:#ffebd0;border-left-color:#f59a30}
body.workspace-active .home-todo-card .home-todo-row:nth-child(2){background:#d7ebff;border-left-color:#378dec}
body.workspace-active .home-todo-card .home-todo-row:nth-child(3){background:#d5f3e2;border-left-color:#35ad70}
body.workspace-active .home-todo-card .home-todo-row:nth-child(4){background:#eadfff;border-left-color:#9464da}
body.workspace-active .home-todo-card .home-todo-row:hover{filter:saturate(1.12) brightness(.97)}
body.workspace-active .home-todo-card .home-todo-row>svg:last-child{color:#3978b0}
body.workspace-active .home-todo-card .home-todo-symbol.tone-orange{background:#ffc978;color:#8e4600;box-shadow:none}
body.workspace-active .home-todo-card .home-todo-symbol.tone-blue{background:#91c5ff;color:#075ba9;box-shadow:none}
body.workspace-active .home-todo-card .home-todo-symbol.tone-green{background:#96ddb1;color:#0d6c3c;box-shadow:none}
body.workspace-active .home-todo-card .home-todo-symbol.tone-purple{background:#c7adf5;color:#5d2fa6;box-shadow:none}
body.workspace-active .batch-account-modal{width:min(560px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 24px 64px rgba(38,70,94,.2)}
body.workspace-active .batch-account-modal .schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.workspace-active .admin-message-modal{width:min(880px,calc(100vw - 36px));height:min(900px,calc(100dvh - 36px));max-height:calc(100dvh - 36px);border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 26px 76px rgba(38,70,94,.22)}
body.workspace-active .admin-message-modal>.modal-body{display:grid;align-content:start;gap:16px;padding:18px 22px 24px}
body.workspace-active .admin-message-modal .message-settings{margin:0;padding:16px 18px;border:1px solid #e2ebf1;border-radius:12px;background:rgba(248,251,253,.88)}
body.workspace-active .admin-message-modal .message-threshold{display:grid;grid-template-columns:minmax(0,1fr) 112px auto auto;align-items:center;gap:10px;margin:0;padding:0 2px 15px;border-bottom:1px solid rgba(115,151,177,.15)}
body.workspace-active .admin-message-modal .system-message-manager{display:grid;gap:14px;margin:4px 0 0;padding-top:18px;border-top:1px solid rgba(115,151,177,.18)}
body.workspace-active .admin-message-modal .system-message-editor{display:grid;gap:13px;margin:0;padding:17px;border:1px solid #e2ebf1;border-radius:12px;background:rgba(255,255,255,.7)}
body.workspace-active .admin-message-modal .system-message-content{min-height:116px}
body.workspace-active .material-upload{width:min(700px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid rgba(255,255,255,.88);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(241,248,253,.97));box-shadow:0 26px 76px rgba(38,70,94,.22)}
body.workspace-active .material-upload .modal-body{padding:20px 22px;overflow:auto}
body.workspace-active .material-upload .form-grid-2{gap:14px 16px}
@media(max-width:620px){
  body.workspace-active .batch-account-modal .schedule-form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  body.workspace-active .admin-message-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  body.workspace-active .admin-message-modal>.modal-body{gap:12px;padding:13px 12px 18px}
  body.workspace-active .admin-message-modal .message-threshold{grid-template-columns:minmax(0,1fr) 86px auto auto;gap:7px}
  body.workspace-active .admin-message-modal .system-message-manager-head{align-items:flex-start;flex-direction:column;gap:5px}
  body.workspace-active .admin-message-modal .system-message-editor{padding:12px}
  body.workspace-active .material-upload{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}
  body.workspace-active .material-upload .modal-body{padding:15px}
  body.workspace-active .material-upload .form-grid-2{grid-template-columns:minmax(0,1fr);gap:12px}
}

