/* COGO teacher home: a full-height workspace, scoped to the teacher landing page. */
html body #main .tm-fit-r1{--tf-gap:16px;--tf-pad:22px;--tf-ink:#203349;--tf-accent:#268678;--tf-line:#dde5ec;gap:var(--tf-gap);color:var(--tf-ink)}
html body #main .tm-fit-r1 .tm1-panel,html body #main .tm-fit-r1 .tm1-metric{border-color:var(--tf-line);border-radius:16px;box-shadow:0 3px 12px #20334904}
html body #main .tm-fit-r1 .tm1-head{margin:0;align-items:center;gap:12px}
html body #main .tm-fit-r1 .tm1-head h1{font-size:clamp(21px,1.65vw,30px);line-height:1.35;margin:3px 0 4px;letter-spacing:-.04em}
html body #main .tm-fit-r1 .tm1-head p{font-size:13px;margin:0;line-height:1.5}
html body #main .tm-fit-r1 .tm1-eyebrow{font-size:11px;color:var(--tf-accent);letter-spacing:.06em;font-weight:700}
html body #main .tm-fit-r1 .tm1-top-actions{gap:5px}
html body #main .tm-fit-r1 .tm1-groupbar{margin:0;gap:12px}
html body #main .tm-fit-r1 .tm1-groupbar select{height:44px;border-radius:10px}
html body #main .tm-fit-r1 .tm1-body{min-width:0}
html body #main .tm-fit-r1 .tm1-hero{background:linear-gradient(112deg,#1d3447,#2d514f);border-radius:16px;padding:var(--tf-pad);min-height:0;isolation:isolate;align-items:center}
html body #main .tm-fit-r1 .tm1-hero h2{font-size:clamp(22px,1.7vw,31px);line-height:1.3;letter-spacing:-.04em;margin:5px 0 6px}
html body #main .tm-fit-r1 .tm1-hero h2 br{display:none}
html body #main .tm-fit-r1 .tm1-kicker{color:#b6d9d0;font-size:11px;letter-spacing:.04em}
html body #main .tm-fit-r1 .tm1-hero p{font-size:13px;color:#d5e6e3;line-height:1.5}
html body #main .tm-fit-r1 .tm1-hero-copy{position:relative;z-index:1;min-width:0}
html body #main .tm-fit-r1 .tm1-hero-copy>div{margin-top:14px;gap:12px}
html body #main .tm-fit-r1 .tm1-white{min-height:38px;padding:8px 13px;border-radius:9px;font-size:12px}
html body #main .tm-fit-r1 .tm1-hero-link{font-size:12px;color:#e0efea}
html body #main .tm-fit-r1 .tm1-art{width:180px;height:155px;flex:0 0 180px;transform:scale(.82);transform-origin:center;opacity:.9}
html body #main .tm-fit-r1 .tm1-panel>header{padding:var(--tf-pad) var(--tf-pad) 14px;gap:8px;align-items:center}
html body #main .tm-fit-r1 .tm1-panel h2{font-size:17px;line-height:1.4;letter-spacing:-.035em}
html body #main .tm-fit-r1 .tm1-panel>header>button{font-size:12px;min-height:28px;white-space:nowrap}
html body #main .tm-fit-r1 .tm1-todo{display:flex;flex-direction:column;background:linear-gradient(150deg,#fff,#f4f9f7)}
html body #main .tm-fit-r1 .tm1-task-count{background:#e0f1eb;color:#296d60;font-size:11px;padding:5px 9px}
html body #main .tm-fit-r1 .tm1-task{flex:1;min-height:65px;width:calc(100% - 2 * var(--tf-pad));margin:0 var(--tf-pad);padding:12px 0;gap:12px}
html body #main .tm-fit-r1 .tm1-task strong{font-size:15px}
html body #main .tm-fit-r1 .tm1-task small{font-size:12px;line-height:1.55;margin-top:4px}
html body #main .tm-fit-r1 .tm1-task>b{font-size:28px;font-variant-numeric:tabular-nums}
html body #main .tm-fit-r1 .tm1-task:last-child{margin-bottom:8px}
html body #main .tm-fit-r1 .tm1-metrics{gap:12px;margin:0}
html body #main .tm-fit-r1 .tm1-metric{padding:16px;gap:12px;align-items:center}
html body #main .tm-fit-r1 .tm1-metric-icon{width:40px;height:40px;flex-basis:40px}
html body #main .tm-fit-r1 .tm1-metric-label{font-size:12px;line-height:1.45;white-space:normal}
html body #main .tm-fit-r1 .tm1-metric-label strong{font-size:29px;line-height:1.15;margin-top:6px;letter-spacing:-.04em}
html body #main .tm-fit-r1 .tm1-metric-link{font-size:10px;gap:6px}
html body #main .tm-fit-r1 .tm1-workbench{gap:var(--tf-gap);min-height:0;align-items:stretch}
html body #main .tm-fit-r1 .tm1-workbench>.tm1-panel{min-width:0;display:flex;flex-direction:column}
html body #main .tm-fit-r1 .tm1-attendance-total{padding:6px var(--tf-pad) 18px;align-items:center}
html body #main .tm-fit-r1 .tm1-attendance-total strong{font-size:40px;line-height:1.25;letter-spacing:-.06em;margin-top:8px}
html body #main .tm-fit-r1 .tm1-attendance-total small{font-size:14px;letter-spacing:0}
html body #main .tm-fit-r1 .tm1-attendance-total>div>span{font-size:12px}
html body #main .tm-fit-r1 .tm1-percent{color:var(--tf-accent);font-size:24px}
html body #main .tm-fit-r1 .tm1-progress{margin:0 var(--tf-pad);height:7px;background:#e9eff1}
html body #main .tm-fit-r1 .tm1-progress>span{background:#43988b}
html body #main .tm-fit-r1 .tm1-attendance-rows{flex:1;min-height:0;display:grid;grid-template-columns:1fr;margin:12px var(--tf-pad);gap:0;align-content:stretch}
html body #main .tm-fit-r1 .tm1-attendance-rows>div{align-items:center;padding:8px 0;border-bottom:1px solid #eaf0f4;gap:10px}
html body #main .tm-fit-r1 .tm1-attendance-rows>div:last-child{border-bottom:0}
html body #main .tm-fit-r1 .tm1-attendance-rows dt{font-size:13px}
html body #main .tm-fit-r1 .tm1-attendance-rows dd{font-size:18px;line-height:1.3}
html body #main .tm-fit-r1 .tm1-note{padding:0 var(--tf-pad) var(--tf-pad)!important;margin:0;font-size:11px;line-height:1.5}
html body #main .tm-fit-r1 .tm1-schedule-list{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;align-content:start;padding:0 var(--tf-pad);min-width:0;min-height:0;width:100%}
html body #main .tm-fit-r1 .tm1-schedule-list button{padding:14px 0;min-width:0;min-height:0;gap:12px}
html body #main .tm-fit-r1 .tm1-schedule-list strong{font-size:14px;line-height:1.5}
html body #main .tm-fit-r1 .tm1-schedule-list small{font-size:12px;margin-top:6px;line-height:1.4}
html body #main .tm-fit-r1 .tm1-no-schedule{flex:1;min-height:0;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#f0f7f5,transparent 70%)}
html body #main .tm-fit-r1 .tm1-no-schedule>span{width:54px;height:54px;display:grid;place-items:center;background:#e5f1ec;color:#458678;border-radius:18px;font-size:23px}
html body #main .tm-fit-r1 .tm1-no-schedule h3{font-size:17px;margin:16px 0 8px}
html body #main .tm-fit-r1 .tm1-no-schedule p{font-size:13px;line-height:1.7;margin:0}
html body #main .tm-fit-r1 .tm1-no-schedule button{font-size:12px;min-height:36px;margin-top:16px;color:#28776b}
html body #main .tm-fit-r1 .tm1-schedule footer{margin:12px var(--tf-pad) var(--tf-pad);font-size:11px;line-height:1.5}
html body #main .tm-fit-r1 .tm1-tool-grid{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px}
html body #main .tm-fit-r1 .tm1-tool{min-width:0;padding:14px 12px;gap:5px 10px;grid-template-columns:34px 1fr;align-content:center;border-radius:12px;transition:background .18s,border-color .18s,transform .18s}
html body #main .tm-fit-r1 .tm1-tool:hover{background:#f3f8f6;border-color:#a8c4b9;transform:translateY(-2px)}
html body #main .tm-fit-r1 .tm1-tool strong{font-size:13px;line-height:1.5}
html body #main .tm-fit-r1 .tm1-tool small{font-size:11px;line-height:1.5;word-break:keep-all}
html body #main .tm-fit-r1 .tm1-tool-icon{width:34px;height:34px}
html body #main .tm-fit-r1 button:focus-visible,html body #main .tm-fit-r1 select:focus-visible{outline:3px solid #278d80;outline-offset:3px}
@media(min-width:1200px) and (min-height:650px){
 html body[data-view=home] #main.content:has(.tm-fit-r1){height:calc(100dvh - 64px)!important;min-height:0!important;box-sizing:border-box;display:flex!important;flex-direction:column!important;padding:20px 32px 10px!important;row-gap:12px!important;overflow:auto!important;scrollbar-gutter:auto}
 html body[data-view=home] #main:has(.tm-fit-r1)>.page{flex:1 1 0!important;min-height:0!important;height:auto!important;padding-bottom:0!important;display:flex!important;flex-direction:column!important}
 html body[data-view=home] #main:has(.tm-fit-r1)>#cogo-business-legal-r1{flex:none!important;margin-top:0!important;padding-top:10px!important;padding-bottom:4px!important}
 html body #main .tm-fit-r1{flex:1;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:18px 24px}
 html body #main .tm-fit-r1 #teacherMainData1{display:contents}
 html body #main .tm-fit-r1 .tm1-head{grid-column:1;grid-row:1}
 html body #main .tm-fit-r1 .tm1-groupbar{grid-column:2;grid-row:1;align-self:center;display:flex}
 html body #main .tm-fit-r1 .tm1-groupbar label{flex:1;min-width:0}
 html body #main .tm-fit-r1 .tm1-groupbar select{min-width:0;width:100%;max-width:none}
 html body #main .tm-fit-r1 .tm1-scope{display:none}
 html body #main .tm-fit-r1 .tm1-date{font-size:12px;gap:8px;flex-shrink:0}
 html body #main .tm-fit-r1 .tm1-body{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(152px,.75fr) 100px minmax(270px,1.9fr);gap:var(--tf-gap);min-height:0}
 html body #main .tm-fit-r1 .tm1-lead{display:contents}
 html body #main .tm-fit-r1 .tm1-hero{grid-column:1/9;grid-row:1}
 html body #main .tm-fit-r1 .tm1-todo{grid-column:9/-1;grid-row:1/3}
 html body #main .tm-fit-r1 .tm1-metrics{grid-column:1/9;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr))}
 html body #main .tm-fit-r1 .tm1-metric{position:relative;padding:13px 14px;gap:10px}
 html body #main .tm-fit-r1 .tm1-metric-link{position:absolute;top:9px;right:11px;font-size:0}
 html body #main .tm-fit-r1 .tm1-metric-link i{font-size:13px}
 html body #main .tm-fit-r1 .tm1-workbench{grid-column:1/-1;grid-row:3;grid-template-columns:minmax(0,3fr) minmax(0,4.8fr) minmax(0,4.2fr)}
 html body #main .tm-fit-r1 .tm1-tools{grid-column:auto}
 html body #main .tm-fit-r1 .tm1-start,html body #main .tm-fit-r1 .tm1-error,html body #main .tm-fit-r1 #teacherMainData1>.tm1-tools{grid-column:1/-1}
}
@media(min-width:1200px) and (min-height:650px) and (max-height:820px){
 html body #main .tm-fit-r1{--tf-gap:12px;--tf-pad:16px;gap:12px 20px}
 html body[data-view=home] #main.content:has(.tm-fit-r1){padding:12px 24px 8px!important;row-gap:8px!important}
 html body #main .tm-fit-r1 .tm1-head h1{font-size:22px}
 html body #main .tm-fit-r1 .tm1-head p{font-size:11px}
 html body #main .tm-fit-r1 .tm1-body{grid-template-rows:138px 78px minmax(230px,1fr)}
 html body #main .tm-fit-r1 .tm1-hero h2{font-size:23px}
 html body #main .tm-fit-r1 .tm1-hero p{font-size:11px}
 html body #main .tm-fit-r1 .tm1-hero-copy>div{margin-top:9px}
 html body #main .tm-fit-r1 .tm1-art{height:120px;transform:scale(.65);width:140px;flex-basis:140px}
 html body #main .tm-fit-r1 .tm1-panel>header{padding-bottom:9px}
 html body #main .tm-fit-r1 .tm1-panel h2{font-size:15px}
 html body #main .tm-fit-r1 .tm1-metric{padding:10px;gap:8px}
 html body #main .tm-fit-r1 .tm1-metric-icon{width:32px;height:32px;flex-basis:32px}
 html body #main .tm-fit-r1 .tm1-metric-label{font-size:11px}
 html body #main .tm-fit-r1 .tm1-metric-label strong{font-size:25px;margin-top:3px}
 html body #main .tm-fit-r1 .tm1-task{padding:8px 0;gap:9px}
 html body #main .tm-fit-r1 .tm1-task strong{font-size:13px}
 html body #main .tm-fit-r1 .tm1-task small{font-size:11px}
 html body #main .tm-fit-r1 .tm1-attendance-total{padding-top:0;padding-bottom:10px}
 html body #main .tm-fit-r1 .tm1-attendance-total strong{font-size:28px;margin-top:4px}
 html body #main .tm-fit-r1 .tm1-attendance-rows{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px var(--tf-pad);column-gap:16px}
 html body #main .tm-fit-r1 .tm1-attendance-rows>div{padding:4px 0;border:0}
 html body #main .tm-fit-r1 .tm1-attendance-rows dt{font-size:11px}
 html body #main .tm-fit-r1 .tm1-attendance-rows dd{font-size:15px}
 html body #main .tm-fit-r1 .tm1-schedule-list button{padding:5px 0;gap:8px}
 html body #main .tm-fit-r1 .tm1-schedule-list strong{font-size:12px}
 html body #main .tm-fit-r1 .tm1-schedule-list small{font-size:11px;margin-top:3px}
 html body #main .tm-fit-r1 .tm1-schedule footer{margin-top:8px;font-size:10px}
 html body #main .tm-fit-r1 .tm1-tool-grid{padding:0 10px 10px;gap:7px}
 html body #main .tm-fit-r1 .tm1-tool{padding:8px;grid-template-columns:28px 1fr;gap:3px 7px}
 html body #main .tm-fit-r1 .tm1-tool-icon{width:28px;height:32px}
 html body #main .tm-fit-r1 .tm1-tool strong{font-size:12px}
 html body #main .tm-fit-r1 .tm1-tool small{font-size:10px}
 html body #main .tm-fit-r1 .tm1-no-schedule{padding:8px}
 html body #main .tm-fit-r1 .tm1-no-schedule>span{width:40px;height:40px;font-size:18px;border-radius:13px}
 html body #main .tm-fit-r1 .tm1-no-schedule h3{font-size:14px;margin:10px 0 4px}
 html body #main .tm-fit-r1 .tm1-no-schedule p{font-size:11px}
 html body #main .tm-fit-r1 .tm1-no-schedule button{margin-top:8px;min-height:30px}
}
@media(max-width:1199px),(max-height:649px){
 html body #main .tm-fit-r1{display:flex;flex-direction:column;gap:16px;height:auto}
 html body #main .tm-fit-r1 #teacherMainData1{display:flex;flex-direction:column;gap:16px}
 html body #main .tm-fit-r1 .tm1-body{display:flex;flex-direction:column;gap:16px}
 html body #main .tm-fit-r1 .tm1-lead{margin:0;gap:16px}
 html body #main .tm-fit-r1 .tm1-workbench{grid-template-columns:1fr 1fr}
 html body #main .tm-fit-r1 .tm1-tools{grid-column:1/-1}
 html body #main .tm-fit-r1 .tm1-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(70px,1fr))}
}
@media(max-width:760px){
 html body #main .tm-fit-r1{--tf-gap:12px;--tf-pad:16px}
 html body #main .tm-fit-r1 .tm1-head{align-items:flex-start}
 html body #main .tm-fit-r1 .tm1-top-actions{flex-shrink:0}
 html body #main .tm-fit-r1 .tm1-head h1{font-size:22px}
 html body #main .tm-fit-r1 .tm1-art{display:none}
 html body #main .tm-fit-r1 .tm1-workbench,html body #main .tm-fit-r1 .tm1-lead{display:grid;grid-template-columns:1fr}
 html body #main .tm-fit-r1 .tm1-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(76px,1fr))}
 html body #main .tm-fit-r1 .tm1-attendance-rows{grid-template-columns:1fr 1fr;column-gap:18px}
 html body #main .tm-fit-r1 .tm1-metric-link{display:none}
 html body #main .tm-fit-r1 .tm1-metrics{grid-template-columns:1fr 1fr}
 html body #main .tm-fit-r1 .tm1-groupbar{flex-wrap:wrap}
 html body #main .tm-fit-r1 .tm1-groupbar label{width:100%;min-width:0}
 html body #main .tm-fit-r1 .tm1-groupbar select{flex:1;min-width:0}
 html body #main .tm-fit-r1 .tm1-no-schedule{min-height:210px}
}
html[data-theme=dark] body #main .tm-fit-r1{--tf-ink:#e3eceb;--tf-line:#34444e}
html[data-theme=dark] body #main .tm-fit-r1 .tm1-todo{background:#1d3035}
html[data-theme=dark] body #main .tm-fit-r1 .tm1-no-schedule{background:radial-gradient(ellipse at center,#203b39,transparent 70%)}
html[data-theme=dark] body #main .tm-fit-r1 .tm1-attendance-rows>div{border-color:#34444e}
html[data-theme=dark] body #main .tm-fit-r1 .tm1-tool:hover{background:#243d3d}
/* Keep the attendance footer and progress visible as the flexible list shrinks. */
html body #main .tm-fit-r1 .tm1-attendance>header,
html body #main .tm-fit-r1 .tm1-attendance-total,
html body #main .tm-fit-r1 .tm1-progress,
html body #main .tm-fit-r1 .tm1-note{flex-shrink:0}
html body #main .tm-fit-r1 .tm1-attendance-rows>div{min-height:0}
@media(min-width:1200px) and (min-height:650px) and (max-height:740px){
 html body #main .tm-fit-r1{--tf-pad:12px;--tf-gap:10px}
 html body #main .tm-fit-r1 .tm1-body{grid-template-rows:112px 64px minmax(206px,1fr)}
 html body #main .tm-fit-r1 .tm1-head h1{font-size:21px;line-height:1.2}
 html body #main .tm-fit-r1 .tm1-head p{font-size:11px}
 html body #main .tm-fit-r1 .tm1-top-actions{flex-direction:row;align-items:center}
 html body #main .tm-fit-r1 .tm1-top-actions .tm1-quiet{font-size:10px;padding:4px}
 html body #main .tm-fit-r1 .tm1-top-actions .tm1-music{padding:7px 9px}
 html body #main .tm-fit-r1 .tm1-hero .tm1-kicker,html body #main .tm-fit-r1 .tm1-hero-copy>p{display:none}
 html body #main .tm-fit-r1 .tm1-hero h2{font-size:22px;margin:0}
 html body #main .tm-fit-r1 .tm1-hero-copy>div{margin-top:8px}
 html body #main .tm-fit-r1 .tm1-panel>header{padding:10px 12px 5px}
 html body #main .tm-fit-r1 .tm1-panel h2{font-size:14px}
 html body #main .tm-fit-r1 .tm1-task{min-height:0;padding:6px 0;gap:7px}
 html body #main .tm-fit-r1 .tm1-task small{font-size:10px}
 html body #main .tm-fit-r1 .tm1-metric-label strong{font-size:23px}
 html body #main .tm-fit-r1 .tm1-metric-label{font-size:10px}
 html body #main .tm-fit-r1 .tm1-attendance-total{padding:2px 12px 8px}
 html body #main .tm-fit-r1 .tm1-attendance-total strong{font-size:26px;line-height:1.15;margin-top:3px}
 html body #main .tm-fit-r1 .tm1-attendance-total>div>span{font-size:10px;line-height:1.3}
 html body #main .tm-fit-r1 .tm1-attendance-rows{margin:8px 12px 6px}
 html body #main .tm-fit-r1 .tm1-attendance-rows>div{padding:3px 0}
 html body #main .tm-fit-r1 .tm1-note{font-size:10px;padding:0 12px 10px!important;line-height:1.35!important}
 html body #main .tm-fit-r1 .tm1-schedule-list button{padding:3px 0}
 html body #main .tm-fit-r1 .tm1-schedule-list small{font-size:10px;margin-top:1px}
 html body #main .tm-fit-r1 .tm1-schedule-tag{height:28px;width:28px}
 html body #main .tm-fit-r1 .tm1-schedule footer{margin:6px 12px 10px;font-size:9px;line-height:1.3}
 html body #main .tm-fit-r1 .tm1-tool-grid{gap:6px}
 html body #main .tm-fit-r1 .tm1-tool{padding:5px 7px;gap:2px 6px}
 html body #main .tm-fit-r1 .tm1-tool small{font-size:9px}
 html body #main .tm-fit-r1 .tm1-no-schedule{gap:5px}
 html body #main .tm-fit-r1 .tm1-no-schedule>span{height:32px;width:32px;font-size:15px}
 html body #main .tm-fit-r1 .tm1-no-schedule h3{margin-top:5px}
 html body #main .tm-fit-r1 .tm1-no-schedule button{margin-top:4px;min-height:24px}
}
@media(prefers-reduced-motion:reduce){html body #main .tm-fit-r1 *,html body #main .tm-fit-r1 *:before,html body #main .tm-fit-r1 *:after{animation:none!important;transition:none!important}}
