/* S05 · 35 与 70 份人工作业中心 — 路由 /subjective-class
   自包含样式：仅作用于 .s05 作用域。 */
.s05{
  --s-teal:#0b7775;--s-teal-2:#1aaaa1;--s-line:#dbe6ea;--s-hover:#f2fbfa;--s-soft:#eaf6f5;
  --s-ink:#11283a;--s-muted:#526976;--s-body:#4a5b6b;--s-warn:#8a5a00;--s-r:12px;
  max-width:1240px;margin:0 auto;font-family:var(--yk-font-ui);
  font-size:var(--yk-type-body);line-height:var(--yk-line-reading);color:var(--s-ink);
}
.s05,.s05 *,.s05 *::before,.s05 *::after{box-sizing:border-box}
.s05 h1,.s05 h2,.s05 h3,.s05 p,.s05 ol,.s05 ul,.s05 li,.s05 table,.s05 caption{margin:0;padding:0}
.s05 ol,.s05 ul{list-style:none}
.s05 a{color:inherit;text-decoration:none}
.s05 button,.s05 select{font:inherit;color:inherit;margin:0}
.s05 :focus-visible{outline:2px solid var(--s-teal-2);outline-offset:2px;border-radius:8px}
.s05 p,.s05 li,.s05 h1,.s05 h2,.s05 h3,.s05 td,.s05 th{min-width:0;overflow-wrap:anywhere}
.s05-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 面包屑与标题 */
.s05-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:12px;font-size:var(--yk-type-meta);color:var(--s-muted)}
.s05-crumb a{color:var(--s-teal)}
.s05-crumb a:hover{text-decoration:underline}
.s05-crumb i{font-style:normal;color:#aab8c2}
.s05-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:14px}
.s05-head h1{font-size:var(--yk-type-page);line-height:var(--yk-line-heading);font-weight:var(--yk-weight-page);letter-spacing:normal}
.s05-badge{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;background:#eef5f5;color:var(--s-teal);font-size:var(--yk-type-micro);font-weight:var(--yk-weight-title);white-space:nowrap;vertical-align:middle;line-height:var(--yk-line-ui)}
.s05-lead{font-size:var(--yk-type-meta);color:var(--s-muted);line-height:var(--yk-line-ui)}

/* 班型标签页 */
.s05-tabsrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}
.s05-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:4px;border:1px solid var(--s-line);border-radius:12px;background:#fff;min-width:0}
.s05-tabs button{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:0;border-radius:9px;background:transparent;font-size:var(--yk-type-control);font-weight:var(--yk-weight-title);color:var(--s-body);cursor:pointer;line-height:var(--yk-line-ui)}
.s05-tabs button:hover{background:var(--s-hover);color:var(--s-teal)}
.s05-tabs button.on{background:var(--s-soft);color:var(--s-teal);font-weight:700}
.s05-tabsnote{font-size:var(--yk-type-meta);color:var(--s-muted)}

/* 总览数字 */
.s05-stats{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding:16px;margin-bottom:16px;border:1px solid var(--s-line);border-radius:var(--s-r);background:#fff}
.s05-ring{--p:23;position:relative;flex:0 0 92px;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--s-teal-2) calc(var(--p) * 1%),#e4eef0 0);display:grid;place-items:center}
.s05-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.s05-ring>span{position:relative;z-index:1;display:grid;place-items:center;gap:1px;text-align:center;line-height:1.15}
.s05-ring b{font-size:var(--yk-type-kpi);font-weight:var(--yk-weight-page);color:var(--s-teal)}
.s05-ring small{font-size:var(--yk-type-micro);color:var(--s-muted)}
.s05-stat{display:grid;gap:1px;min-width:96px}
.s05-stat b{font-size:var(--yk-type-kpi);font-weight:var(--yk-weight-page);line-height:1.2}
.s05-stat span{font-size:var(--yk-type-meta);color:var(--s-muted)}

/* 两栏：主列表 + 右栏 */
.s05 .s05-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:16px 18px;align-items:start}
/* Keep the existing tabpanel DOM and handlers; only promote its layout boxes. */
.s05 .s05-panels,.s05 .s05-panel:not([hidden]){display:contents}
.s05-panel[hidden]{display:none}
.s05 .s05-panel>.s05-stats{grid-column:1;grid-row:1;margin:0}
.s05 .s05-panel>.s05-today{grid-column:1;grid-row:2;margin:0}
.s05 .s05-panel>section.s05-card{grid-column:1/-1;margin:0}
.s05 .s05-panel>section.s05-card:first-of-type{grid-row:3}
.s05 .s05-panel>section.s05-card:last-of-type{grid-row:4}
.s05 .s05-rail{grid-column:2;grid-row:1/3;display:grid;gap:16px;min-width:0}
.s05 .s05-panel>.s05-banner{grid-column:1/-1;grid-row:1;margin:0}
.s05 .s05-layout:has(.s05-panel:not([hidden])>.s05-banner) .s05-stats{grid-row:2}
.s05 .s05-layout:has(.s05-panel:not([hidden])>.s05-banner) .s05-today{grid-row:3}
.s05 .s05-layout:has(.s05-panel:not([hidden])>.s05-banner) .s05-rail{grid-row:2/4}
.s05 .s05-layout:has(.s05-panel:not([hidden])>.s05-banner) section.s05-card:first-of-type:not(.s05-flow){grid-row:4}
.s05 .s05-layout:has(.s05-panel:not([hidden])>.s05-banner) section.s05-card:last-of-type:not(.s05-flow){grid-row:5}
.s05-card{min-width:0;padding:16px;border:1px solid var(--s-line);border-radius:var(--s-r);background:#fff}
.s05-card+.s05-card{margin-top:16px}
.s05-cardhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--s-line)}
.s05-cardhead h2{font-size:var(--yk-type-section);font-weight:var(--yk-weight-title);line-height:var(--yk-line-ui)}
.s05-cardhead a{font-size:var(--yk-type-meta);font-weight:var(--yk-weight-title);color:var(--s-teal);white-space:nowrap}
.s05-cardhead a:hover{text-decoration:underline}

/* 今日一句 */
.s05-today{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:13px 16px;margin-bottom:16px;border:1px solid var(--s-line);border-radius:var(--s-r);background:#fff;font-size:var(--yk-type-body)}
.s05-today b{font-weight:var(--yk-weight-page)}
.s05-today i{font-style:normal;color:#c2cdd5}
.s05-today span{color:var(--s-body)}
.s05-today em{margin-left:auto;font-style:normal;font-size:var(--yk-type-micro);color:var(--s-muted);white-space:nowrap}

/* 下一份作业 */
.s05-next{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.s05-nextmain{min-width:0;flex:1 1 240px}
.s05-nextmain h3{font-size:var(--yk-type-card);font-weight:var(--yk-weight-page);line-height:var(--yk-line-ui)}
.s05-nextmeta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:var(--yk-type-meta);color:var(--s-muted)}
.s05-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:10px;background:linear-gradient(125deg,#089f94,#0b7775);color:#fff;font-size:var(--yk-type-control);font-weight:var(--yk-weight-title);cursor:pointer;white-space:nowrap}
.s05-primary:hover{filter:brightness(1.06)}

/* 三名老师交叉复审 */
.s05-steps{display:grid;gap:14px}
.s05-steps li{display:flex;gap:11px;min-width:0}
.s05-steps b{flex:0 0 24px;display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--s-soft);color:var(--s-teal);font-size:var(--yk-type-micro);font-weight:var(--yk-weight-page)}
.s05-steps h3{font-size:var(--yk-type-body);font-weight:var(--yk-weight-title)}
.s05-steps p{margin-top:3px;font-size:var(--yk-type-meta);line-height:var(--yk-line-ui);color:var(--s-body)}
.s05-notice{padding:13px 15px;border:1px solid #f0dcae;border-radius:var(--s-r);background:#fff8e8}
.s05-notice p{font-size:var(--yk-type-meta);line-height:var(--yk-line-ui);color:var(--s-warn)}
.s05-banner{margin-bottom:16px}

/* 作业列表 */
.s05-listhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--s-line)}
.s05-listhead h2{font-size:var(--yk-type-section);font-weight:var(--yk-weight-title);line-height:var(--yk-line-ui)}
.s05-filterwrap{display:inline-flex;align-items:center;gap:8px;font-size:var(--yk-type-meta);color:var(--s-muted)}
.s05-filterwrap>span{flex:0 0 auto;white-space:nowrap}
.s05-filter{min-height:38px;padding:0 30px 0 12px;border:1px solid var(--s-line);border-radius:10px;background:#fff;font-size:var(--yk-type-meta);font-weight:var(--yk-weight-title);color:var(--s-teal);cursor:pointer;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--s-teal) 50%),linear-gradient(135deg,var(--s-teal) 50%,transparent 50%);
  background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.s05-filter:hover{background-color:var(--s-hover);border-color:#bfe0dd}
.s05-tablewrap{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.s05-table{width:100%;min-width:760px;border-collapse:collapse;font-size:var(--yk-type-dense);line-height:var(--yk-line-ui)}
.s05-table caption{text-align:left}
.s05-table th,.s05-table td{padding:11px 12px;border-bottom:1px solid var(--s-line);text-align:left;vertical-align:top}
.s05-table thead th{font-size:var(--yk-type-dense);font-weight:var(--yk-weight-title);color:var(--s-muted);background:#f7fbfb;white-space:nowrap}
.s05-table tbody tr:last-child td{border-bottom:0}
.s05-table tbody tr[hidden]{display:none}
.s05-table tbody tr:hover td{background:var(--s-hover)}
.s05-table td:first-child{color:var(--s-muted);white-space:nowrap}
.s05-job{font-weight:var(--yk-weight-title);min-width:150px;white-space:normal}
.s05-table :is(th,td):nth-child(3){min-width:66px;white-space:nowrap}
.s05-table :is(th,td):last-child{min-width:92px;white-space:nowrap}
.s05-time{color:var(--s-body);white-space:nowrap}
.s05-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:var(--yk-weight-title)}
.s05-state:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 8px}
.s05-state.published{color:#0b7775}
.s05-state.cross{color:#2f6fd0}
.s05-state.revision{color:#865319}
.s05-state.primary{color:#7a5bd0}
.s05-state.received{color:#5b7a8c}
.s05-state.todo{color:#526976}
.s05-nextcell{color:var(--s-body)}
.s05-actionscell a{color:var(--s-teal);font-weight:var(--yk-weight-title);white-space:nowrap}
.s05-actionscell a:hover{text-decoration:underline}
.s05-actionscell span{color:#526976}
.s05-empty{padding:14px 2px;font-size:var(--yk-type-meta);color:var(--s-muted)}
.s05-empty[hidden]{display:none}
.s05-fine{margin-top:12px;font-size:var(--yk-type-micro);line-height:var(--yk-line-ui);color:var(--s-muted)}

@media(max-width:760px){
  .s05 .s05-layout{display:flex;flex-direction:column;gap:14px}
  .s05 .s05-panel>.s05-stats,.s05 .s05-panel>.s05-today,.s05 .s05-panel>section.s05-card,.s05 .s05-panel>.s05-banner,.s05 .s05-rail{width:100%;min-width:0}
  .s05 .s05-rail{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .s05-head h1{font-size:var(--yk-type-page)}
  .s05-card{padding:14px}
  .s05-tabs{width:100%}
  .s05-tabs button{flex:1 1 auto;justify-content:center}
  .s05-tabsrow{gap:8px}
  .s05-stats{gap:12px 18px;padding:14px}
  .s05-ring{flex-basis:80px;width:80px;height:80px}
  .s05-stat{min-width:calc(50% - 9px)}
  .s05-primary{width:100%}
  .s05-listhead{align-items:flex-start}
  .s05-filterwrap{width:100%}
  .s05-filter{flex:1 1 auto;width:100%}
}
