/* ============================================================================
   V0.9.2 设计系统 · 浅色专业主题（批次1）
   定位：加载于 index.html 全部内联样式之后，整体把「深色壳 + 玻璃拟态」翻为
   「浅灰白底 + 白卡 + 学院蓝」。回滚 = 从 index.html 移除本文件与 v092-*.js 引用。
   注意：官网首屏（.landing / .lp-*）保持原深色形象页，不在本文件作用域内。
   ========================================================================== */

/* ---------- 1. 令牌与页面壳 ---------- */
:root{
  --ink:#1D2A3E;--ink2:#5C6470;--ink3:#8A93A0;
  --card:#FFFFFF;--cink:#1D1D1F;--cink2:#43505F;--cink3:#5C6470;
  --brand:#2F62B8;--brand2:#3E7BD6;
  --v92-bg:#F5F7FA;--v92-line:#E3E8F0;--v92-line2:#EDF1F6;
  --v92-title:#16233A;
}
body{background:var(--v92-bg);color:var(--ink)}
.bg{background:var(--v92-bg)}
.bg .wp,.grain{display:none}
a{color:#2E6AC0}a:hover{color:#1F4E8F}
::selection{background:rgba(62,123,214,.18);color:#16233A}
:is(a,button,.btn,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #2F62B8;outline-offset:2px}

/* ---------- 2. 侧边栏（白底 224px） ---------- */
.side{width:224px;background:#FFFFFF;border-right:1px solid var(--v92-line);backdrop-filter:none;-webkit-backdrop-filter:none}
.side .brand b{color:var(--v92-title)}
.side .brand small{color:var(--ink3)}
.nav::-webkit-scrollbar-thumb{background:rgba(20,40,80,.14)}
.nav .grp{color:var(--ink3)}
.ni,.ni1,.ni2{color:#43505F}
.ni:hover,.ni1:hover,.ni2:hover{background:rgba(20,40,80,.05);color:#16233A}
.ni.on,.ni1.on{background:rgba(47,98,184,.10);color:#1F4E8F}
.ni2.on{background:rgba(47,98,184,.10);color:#1F4E8F}
.ni1 .gi,.navgrp-h .gi{box-shadow:none}
.navgrp-h:hover{background:rgba(20,40,80,.04)}
.navgrp.open>.navgrp-h{background:rgba(20,40,80,.03)}
.navgrp-h .gl{color:#2B3A50}
.navgrp-h .chev{border-color:#A6B1C2}
.navgrp-sub{border-left:1px solid rgba(20,40,80,.12)}
.nav div[style*="border-left"]{border-left-color:rgba(20,40,80,.12)!important}
.ni2 .dott{background:#B4BFCE}
.ni2.on .dott{background:#2F62B8;box-shadow:none}
.side .foot{border-top:1px solid var(--v92-line)}
.side .foot .who b{color:var(--v92-title)}
.side .foot .who small{color:var(--ink3)}
.side .foot .out{color:#8A93A0}
.side .foot .out:hover{color:#16233A}
.proxybar{left:224px}

/* ---------- 3. 顶栏（白底 64px）与页签 ---------- */
.top{height:64px;background:#FFFFFF;border-bottom:1px solid var(--v92-line);backdrop-filter:none;-webkit-backdrop-filter:none}
.top .ask{display:none}
.crumbs .cm{color:#8A93A0}
.crumbs .cp{color:var(--v92-title)}
.chip{color:#3A4A63;background:#F1F4F8;border:1px solid var(--v92-line)}
.chip:hover{background:#E8EDF4}
#roleChip{background:rgba(47,98,184,.10)!important;border-color:rgba(47,98,184,.25)!important;color:#1F4E8F!important}
.iconbtn{color:#5C6470;background:#F1F4F8;border:1px solid var(--v92-line)}
.iconbtn:hover{background:#E8EDF4;color:#16233A}
.iconbtn .rd{border-color:#fff}
.clk{color:#5C6470}
.tabbar{background:transparent}
.tabitem{color:#5C6470;background:#EDF1F6;border:1px solid var(--v92-line);border-bottom:none}
.tabitem:hover{background:#E4EAF2;color:#16233A}
.tabitem.on{background:#fff;color:#16233A}
.tabitem .tx{color:#9AA5B4}
.tabitem .tx:hover{background:rgba(20,40,80,.08);color:#A5352E}
.tabwrap .tabscroll{color:#5C6470;background:#F1F4F8;border:1px solid var(--v92-line)}
.tabwrap .tabscroll:hover{background:#E8EDF4;color:#16233A}
/* 教师端 / 专家端：不使用多标签页；其余端隐藏不属于当前端的残留标签（角色切换不串台） */
body[data-end="t"] .tabbar{display:none}
body[data-end="p"] .tabitem[data-t^="t"],body[data-end="p"] .tabitem[data-t^="s"]{display:none}
body[data-end="s"] .tabitem[data-t^="t"],body[data-end="s"] .tabitem[data-t^="p"]{display:none}
.view::-webkit-scrollbar-thumb{background:rgba(20,40,80,.16)}
.view::-webkit-scrollbar-thumb:hover{background:rgba(20,40,80,.26)}

/* ---------- 4. 页头 / 卡片 / 排版 ---------- */
.hd h1{color:var(--v92-title);font-size:24px}
.hd p{color:#5C6470;font-size:13.5px}
.card{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;
  border:1px solid var(--v92-line);outline:none;border-radius:12px;
  box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card.hoverable:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(16,24,40,.08)}
.pill.warn{background:rgba(185,118,15,.10);color:#7A4A0F;border:1px solid rgba(185,118,15,.28)}
.pill.info{background:rgba(47,98,184,.10);color:#1F4E8F;border:1px solid rgba(47,98,184,.26)}
.cnt{font-size:12px}
#view .cnt,.view>.cnt{color:#5C6470}
#mBody .cnt{color:#5C6470}
.pv{color:#16406F!important}
.card .pv,#mBody .pv{color:#16406F!important}
.pending{color:#7A5410!important}
.pending b{color:#5C3D08!important}
.empty{color:#5C6470}
.empty .eic{background:#F1F4F8;border:1px solid var(--v92-line)}
.empty h3{color:var(--v92-title)}
.empty p{color:#5C6470}
.pager{color:#8A93A0}
.pager b{background:#EEF2F7;color:#43505F}

/* 深色壳时代的「深字翻浅」规则 —— 浅色壳下翻回深色 */
#view [style*="25364d" i],#view [style*="1d1d1f" i]:not(.tag){color:#1D2A3E!important}

/* ---------- 5. 按钮 / 表格 / 表单 / 工具条 ---------- */
.btn{font-size:13px}
.btn.sm{font-size:12.5px}
.btn.pri{background:#24354F}
.btn.blue{background:linear-gradient(180deg,#3569BE,#2B579E)}
.btn.ghost{background:rgba(20,40,80,.05);color:#43505F}
.btn.ghost:hover{background:rgba(20,40,80,.10)}
.toolbar .btn.ghost{color:#43505F;background:rgba(20,40,80,.05);border:1px solid rgba(20,40,80,.12)}
.toolbar .btn.ghost:hover{color:#16233A;background:rgba(20,40,80,.10);border-color:rgba(20,40,80,.2)}
.tbl{font-size:13.5px}
.tbl thead th{color:#5C6470;background:#FAFBFD}
.tbl tbody td{color:#43505F}
.seg{background:#F1F4F8;border:1px solid var(--v92-line)}
.seg span{color:#5C6470}
.seg span.on{background:#fff;color:#16233A;box-shadow:0 1px 3px rgba(16,24,40,.10)}
.search2{background:#fff;border:1px solid #D9E1EC;color:#8A93A0}
.search2 input{color:#1D2A3E}
.subtabs{background:#F1F4F8;border:1px solid var(--v92-line)}
.subtabs span{color:#5C6470}
.subtabs span.on{background:#fff;color:#16233A;box-shadow:0 1px 3px rgba(16,24,40,.10)}
.wsteps span{color:#5C6470;background:#F1F4F8;border:1px solid var(--v92-line)}
.wsteps span.on{background:#2F62B8;color:#fff;border-color:#2F62B8}
.wsteps span.done{color:#2E6AC0;border-color:rgba(46,106,192,.4);background:rgba(46,106,192,.06)}
/* 原生上传控件中文化（配合 v092-core.js 包装） */
.v092-file{display:inline-flex;align-items:center;gap:8px}
.v092-file-name{font-size:12px;color:#8A93A0}
input[type=file]::file-selector-button{border:1px solid #C9D4E3;background:#fff;color:#43505F;border-radius:8px;padding:6px 12px;font-family:inherit;cursor:pointer}

/* ---------- 6. 弹窗（翻为白底） ---------- */
.modal{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--v92-line);
  box-shadow:0 24px 64px rgba(16,24,40,.18);color:#1D2A3E}
.modal-mask{background:rgba(23,32,48,.42)}
.modal .mh{border-bottom:1px solid var(--v92-line2)}
.modal .mh b{color:var(--v92-title)}
.modal .mh .x{color:#8A93A0}
.modal .mh .x:hover{color:#16233A}
.modal .mb .fld label{color:#5C6470}
.modal .mb .fld .inp{background:#fff;border-color:#C9D4E3;color:#1D2A3E}
.modal .mb .fld .inp.ro{background:#F3F5F9;color:#8A93A0}
.modal .mf{border-top:1px solid var(--v92-line2);box-shadow:none}
/* 镜像原 #mModal/#pkModal 深色前景组 → 浅色前景 */
#mModal .cnt,#mModal .fld .cnt,#mModal .dt,#mModal small,
#pkModal .cnt,#pkModal .pkcnt,#pkModal small{color:#5C6470!important}
#mModal .tbl th,#pkModal .tbl th{color:#5C6470!important}
#mModal .tbl td,#mModal .tbl td b,#mModal .tbl td span,
#pkModal .tbl td,#pkModal .tbl td b,#pkModal .tbl td span{color:#1D2A3E!important}
#mModal .req,#mModal .del,#pkModal .req,#pkModal .del{color:#B4413A!important}
#mModal .addrow,#pkModal .addrow{color:#2E6AC0!important}
#mModal .btn.ghost,#pkModal .btn.ghost{background:rgba(20,40,80,.05)!important;color:#43505F!important}
#mModal .inp,#pkModal .inp{background:#fff!important;border:1px solid #C9D4E3!important;color:#1D2A3E!important}
#mModal .inp::placeholder,#pkModal .inp::placeholder{color:#9AA5B4!important}
#mModal .tag.blue,#pkModal .tag.blue{color:#1F4E8F!important}
#mModal .tag.green,#pkModal .tag.green{color:#0E6B52!important}
#mModal .tag.gold,#pkModal .tag.gold{color:#7A4A0F!important}
#mModal .tag.gray,#pkModal .tag.gray{color:#4A4A50!important}
#mModal .tag.purple,#pkModal .tag.purple{color:#4A2E8A!important}
#mModal .tag.red,#mModal .tag.pink,#pkModal .tag.red,#pkModal .tag.pink{color:#8A2E28!important}
#mModal [style*="7C8DA8"],#mModal [style*="6E6E73"],#mModal [style*="8A93A0"],
#pkModal [style*="7C8DA8"],#pkModal [style*="6E6E73"],#pkModal [style*="8A93A0"]{color:#5C6470!important}
#mModal [style*="1D1D1F"],#mModal [style*="48484A"],#mModal [style*="25364D"],
#pkModal [style*="1D1D1F"],#pkModal [style*="48484A"],#pkModal [style*="25364D"]{color:#1D2A3E!important}
#mModal [style*="2E6AC0"],#mModal [style*="3E7BD6"],#mModal [style*="1F4E8F"],
#pkModal [style*="2E6AC0"],#pkModal [style*="3E7BD6"],#pkModal [style*="1F4E8F"]{color:#1F4E8F!important}
#mModal [style*="12876A"],#mModal [style*="0E6B52"],#mModal [style*="2E9C74"],
#pkModal [style*="12876A"],#pkModal [style*="0E6B52"],#pkModal [style*="2E9C74"]{color:#0E6B52!important}
#mModal [style*="D08A22"],#mModal [style*="E08A22"],#mModal [style*="7A4A0F"],
#pkModal [style*="D08A22"],#pkModal [style*="E08A22"],#pkModal [style*="7A4A0F"]{color:#7A4A0F!important}
#mModal [style*="B4413A"],#mModal [style*="8A2E28"],
#pkModal [style*="B4413A"],#pkModal [style*="8A2E28"]{color:#8A2E28!important}
#mModal .pl-callout,#mModal .pl-callout *{color:#3A4A63!important}
#mModal .pl-callout.warn,#mModal .pl-callout.warn *{color:#7A4A0F!important}
#mModal .card .inp,#pkModal .card .inp{color:#1D2A3E!important;background:#fff!important;border:1px solid #C9D4E3!important}
#mModal .card label,#pkModal .card label{color:#5C6470!important}

/* ---------- 7. 抽屉 / 弹层 / 其他浮层 ---------- */
.drawer{background:#FFFFFF;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid var(--v92-line)}
.drawer .dh{border-bottom:1px solid var(--v92-line2)}
.drawer .dh b{color:var(--v92-title)}
.drawer .dh .x{color:#8A93A0}.drawer .dh .x:hover{color:#16233A}
.drawer .db::-webkit-scrollbar-thumb{background:rgba(20,40,80,.16)}
.msg.a .bubble{background:#F3F6FB;border:1px solid var(--v92-line);color:#2B3A50}
.msg.a .bubble b{color:#2E5FB0}
.msg .kv span{background:#F1F4F8;border:1px solid var(--v92-line);color:#5C6470}
.msg .act button{background:#F1F4F8;color:#3A4A63;border:1px solid var(--v92-line)}
.msg .act button:hover{background:#E8EDF4}
.drawer .df{border-top:1px solid var(--v92-line2)}
.drawer .df .qbar{background:#F3F6FB;border:1px solid var(--v92-line)}
.drawer .df input{color:#1D2A3E}
.drawer .qsug span{color:#5C6470;background:#F1F4F8;border:1px solid var(--v92-line)}
.drawer .qsug span:hover{background:#E8EDF4;color:#16233A}
.drawer-mask{background:rgba(23,32,48,.35)}

/* ---------- 8. 审批流画布（原 v3 定死深色 → 定死浅色） ---------- */
.bpm-canvas{background:#FAFBFD;border:1px solid var(--v92-line);background-image:radial-gradient(rgba(20,40,80,.10) 1px,transparent 1px);background-size:24px 24px}
.bpm-canvas::-webkit-scrollbar-thumb{background:rgba(20,40,80,.16)}
.bpm-panel{background:#FFFFFF!important;border:1px solid var(--v92-line)!important;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.bpm-pt{color:#5C6470!important}
.bpm-lb{color:#5C6470!important}
#bpmPropBody{color:#43505F!important}
.bpm-pal .pt{background:#F1F4F8!important;border:1px solid var(--v92-line)!important;color:#3A4A63!important}
.bpm-pal .pt:hover{background:#E8EDF4!important}
.bpm-sel,.bpm-inp{background:#fff!important;color:#1D2A3E!important;border:1px solid #C9D4E3!important}
.bpm-sel option{background:#fff;color:#1D2A3E}
.bpm-side .btn.ghost{background:rgba(20,40,80,.05)!important;color:#43505F!important;border:1px solid rgba(20,40,80,.12)!important}
#bpmReset{color:#43505F}
.node{box-shadow:0 4px 14px rgba(16,24,40,.12)}

/* ---------- 9. AI 区域（局部浅色科技感，不再整屏发光） ---------- */
.ai-panel{background:linear-gradient(155deg,#EDF2FF,#F6F2FF);border:1px solid #D8E0F5}
.ai-panel .aih{color:var(--v92-title)}
.ai-panel .aih .sp{color:#2E5FB0;background:rgba(46,95,176,.08)}
.ai-panel .aibody{color:#3A4A63}
.ai-panel .aibody b{color:#2E5FB0}
.ai-tags span{color:#3A4A63;background:#fff;border:1px solid #DFE5F2}
.ai-reco .r{color:#3A4A63;background:#fff;border:1px solid #E7ECF7}
.ai-reco .r .n{color:#fff}

/* ---------- 10. 内联浅色字（写死在页面字符串里的深色壳用色）→ 深色 ---------- */
:is(#view,.modal,.drawer) :is([style*="color:#E6EDF9" i],[style*="color: #E6EDF9" i],[style*="color:#DCE6F5" i],[style*="color: #DCE6F5" i],[style*="color:#D6E2F5" i],[style*="color:#DFE6F3" i],[style*="color:#D8E2F4" i],[style*="color:#EAF1FB" i],[style*="color:#E8EEF8" i],[style*="color:#C8D6EC" i],[style*="color:#C2CFE6" i],[style*="color:#B9C6DE" i],[style*="color:#CFE0FF" i],[style*="color:#DDE7F8" i],[style*="color:#C9D6EE" i],[style*="color:#F2F6FC" i]):not([style*="background"]){color:#1D2A3E!important}
:is(#view,.modal,.drawer) :is([style*="color:#9AACD0" i],[style*="color: #9AACD0" i],[style*="color:#AEB9CC" i],[style*="color:#93A4C2" i],[style*="color:#8FA3C8" i],[style*="color:#A9BCDF" i],[style*="color:#AFC1DA" i],[style*="color:#8DA2C4" i],[style*="color:#B7C7E4" i],[style*="color:#C6CEDC" i]):not([style*="background"]){color:#5C6470!important}
:is(#view,.modal,.drawer) :is([style*="color:#7C8DA8" i],[style*="color: #7C8DA8" i]):not([style*="background"]){color:#5F6B7E!important}
:is(#view,.modal,.drawer) :is([style*="color:#8FC2FF" i],[style*="color:#A9C8F7" i],[style*="color:#8FC0FF" i],[style*="color:#9FC4FF" i]):not([style*="background"]){color:#1F5FB0!important}
:is(#view,.modal,.drawer) :is([style*="color:#8FE3C4" i]):not([style*="background"]){color:#0E6B52!important}
:is(#view,.modal,.drawer) :is([style*="color:#FFD79A" i],[style*="color:#FFE0AE" i],[style*="color:#F0C98A" i],[style*="color:#F0B860" i]):not([style*="background"]){color:#7A4A0F!important}
:is(#view,.modal,.drawer) :is([style*="color:#FFA9A2" i],[style*="color:#FF8A80" i]):not([style*="background"]){color:#A5352E!important}
:is(#view,.modal,.drawer) :is([style*="color:#C9B8FF" i]):not([style*="background"]){color:#4A2E8A!important}

/* ---------- 11. 角色差异（中老年友好：教师端更大字号与点击目标） ---------- */
body[data-end="t"] .rw{font-size:14.5px}
body[data-end="t"] .btn{font-size:14px;padding:9px 16px}
body[data-end="t"] .btn.sm{font-size:13px;padding:7px 13px}
body[data-end="t"] .tbl{font-size:14px}
body[data-end="t"] .hd p{font-size:14.5px}
body[data-end="t"] .v092-cta{height:44px;font-size:15px;padding:0 26px}
/* 教师端只读：不出现「认定学分」操作（T24 复用 P77 时） */
body[data-end="t"] [data-tc="recog"]{display:none!important}


:root{
 --color-primary:#2B6FD6;--color-primary-hover:#245FB8;--color-primary-soft:#EAF2FF;
 --color-success:#1F8F6A;--color-success-soft:#EAF7F2;
 --color-warning:#C98218;--color-warning-soft:#FFF4DF;
 --color-danger:#C64B45;--color-danger-soft:#FFF0EF;
 --color-ai:#6658D8;--color-ai-soft:#F1EEFF;
 --color-bg:#F5F7FA;--color-surface:#FFFFFF;
 --color-text:#1F2937;--color-text-secondary:#667085;--color-text-muted:#8A94A6;
 --color-border:#D9E1EC;
}
/* 字号：管理端正文/表格 14，辅助 13；教师端正文 16，辅助 14（禁 8–12px 业务正文） */
.hd h1{font-size:24px;line-height:32px}
.ch{font-size:15px}
.fld label{font-size:14px;line-height:22px}
.fld .inp,.inp{font-size:14px}
.tag{font-size:13px}
.toolbar .cnt{font-size:13px}
/* 按钮：管理端普通 40px / 小 36px；教师端核心 44px；图标点击区 ≥ 36 */
.btn{min-height:40px;padding:8px 16px}
.btn.sm{min-height:36px;padding:6px 13px}
.iconbtn{width:38px;height:38px}
body[data-end="t"] .btn{min-height:44px}
body[data-end="t"] .btn.sm{min-height:40px}
/* 表格：表头 14、行高 52–56；长文本两行省略；操作列不被挤压 */
.tbl thead th{font-size:14px;padding:13px 14px}
.tbl tbody td{padding:14px;line-height:1.55}
.tbl td:last-child{white-space:nowrap}
/* 弹窗：头尾固定、内容滚动、最大高 84vh；关闭点击区 ≥ 36 */
.modal{max-height:84vh;display:flex;flex-direction:column}
.modal .mb{overflow:auto;flex:1}
.modal .mh .x{width:36px;height:36px;display:grid;place-items:center}
/* 空态与状态词：文字可读，不仅靠颜色 */
.v4-empty b,.empty h3{font-size:15px}
/* 1366/1280 断点：内容不被侧栏挤压、表格横向滚动、标题操作区可换行 */
@media (max-width:1400px){.view{padding:20px 24px}}
@media (max-width:1300px){
 .view{padding:18px 20px}
 .hd{flex-wrap:wrap;row-gap:10px}
 .card{overflow-x:auto}
 .sx33-kpis{grid-template-columns:repeat(2,1fr)}
}

/* 管理端：正文 ≥ 14px，辅助 ≥ 13px */
.tbl{font-size:14px}
.tbl thead th{font-size:13.5px}
.cnt,#view .cnt,.view>.cnt,#mBody .cnt{font-size:13px}
.hd p{font-size:14px}
.sx33-note{font-size:13.5px;line-height:1.9}
.rw{font-size:14px}
/* 按钮：管理端 ≥ 36px，图标+文字基线对齐 */

.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px}
.btn.sm{min-height:34px;font-size:14px}
.toolbar .btn,.tbl .btn{vertical-align:middle}
/* 教师端：正文 16px，辅助 ≥ 14px，核心按钮 44px */
body[data-end="t"] .rw{font-size:16px}
body[data-end="t"] .cnt,body[data-end="t"] #view .cnt{font-size:14px}
body[data-end="t"] .tbl{font-size:15px}
body[data-end="t"] .hd p{font-size:15px}
/* V0.9.4.4 T221：教师 / 专家端核心操作 44px、按钮文字 16px */
body[data-end="t"] .btn{min-height:44px;font-size:16px}
body[data-end="t"] .btn.sm{min-height:38px;font-size:14px}
body[data-end="t"] .sx33-note{font-size:14.5px}
/* 层级背景：表格隔行淡底 + 分组行深一度 */
.tbl tbody tr:nth-child(even) td{background:rgba(20,40,80,.022)}
.tbl tbody tr:hover td{background:rgba(47,98,184,.05)}
/* 窄屏（1280）不裁切不重叠 */
@media (max-width:1380px){
 .v092-kpis{grid-template-columns:repeat(2,1fr)}
 .dgrid{grid-template-columns:1fr!important}
 .toolbar{flex-wrap:wrap;row-gap:8px}
}
/* 面向客户的演示壳残留控件：OS 版切换角标 / 首页双壳选择 */
.switch-os{display:none!important}
#lpSeg span[data-m="os"]{display:none!important}
.v092-extra{display:none!important}
td.v092-open .v092-extra{display:inline-block!important}
td.v4-ops.v092-open .v092-extra{display:inline-flex!important}
/* 表格防逐字竖排（P49 等）：名称列不按字折行 */
.tbl td b,.tbl th{word-break:keep-all}
/* V0.9.4：首列（名称列）最小宽，消除多列表下中文逐字竖排 */
.tbl td:first-child{min-width:132px}
.tbl td:first-child b{display:inline-block;min-width:110px}
/* V0.9.4.1 T158：统一日期组件的唯一样式见下方 .v94-date / .v94-cal / .v94-hidden；
   本轮曾另写一套 .v94-date-ic / .v94-date-native，与之重复，已随 JS 一并删除。 */
/* V0.9.4.1 T221：t09 个人信息页内分区页签 */
.v94-t09tabs{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}
.v94-t09tabs .sx33-tab{min-height:38px}

#view .cnt,#view .tm,#view .dt,#view small,#view .sx33-note,#view .j28-crumb,#view .sx-source-note{font-size:14px!important;line-height:1.75}
#view .tag,#view .pill{font-size:13px!important}
#view .tbl thead th{font-size:14px!important}
#view .tbl tbody td,#view .tbl tbody td b,#view .tbl tbody td span{font-size:14px!important}
#view .fld label,#view label{font-size:14px!important}
#view .inp,#view select.inp,#view input.inp,#view textarea.inp{font-size:14px!important}
#view .sx33-tab,#view .subtabs span,#view .seg span{font-size:14px!important}
#view .k-lab{font-size:14px!important}
#view .k-sub,#view .v092-note{font-size:13px!important}
body[data-end="t"] #view .rw,body[data-end="t"] #view .tbl tbody td,body[data-end="t"] #view .tbl tbody td b{font-size:16px!important}
body[data-end="t"] #view .cnt,body[data-end="t"] #view .tm,body[data-end="t"] #view .dt,body[data-end="t"] #view .sx33-note,body[data-end="t"] #view .j28-crumb{font-size:14px!important}
body[data-end="t"] #view .btn.blue,body[data-end="t"] #view .v092-cta{min-height:44px!important}
#view .btn{min-height:40px!important}
#view .btn.sm{min-height:36px!important}
#view .v4-x,#view .iconbtn{min-width:36px!important;min-height:36px!important}
#view .btn{font-size:14px!important}
#view .btn.sm{font-size:14px!important}
body[data-end="t"] #view .btn{font-size:16px!important;min-height:44px!important}
body[data-end="t"] #view .btn.sm{font-size:14px!important;min-height:44px!important}/* V0.9.4.4 T221：教师/专家端筛选与核心操作 44px（行内次要操作门槛 36px 亦满足） */

#view .inp,#view select.inp,#view input.inp{min-height:40px!important}
#view textarea.inp{min-height:64px!important}
#view .seg span,#view .subtabs span,#view .sx33-tab{min-height:40px!important;padding:11px 16px!important;font-size:14px!important}
body[data-end="t"] #view .inp,body[data-end="t"] #view select.inp,body[data-end="t"] #view input.inp{min-height:44px!important}
#view .v94-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}
#view .v94-scroll>table.tbl{min-width:1120px}
#view .v94-scroll table.tbl thead th:first-child,#view .v94-scroll table.tbl tbody td:first-child{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--v92-line)}
#view .v94-scroll table.tbl thead th:last-child,#view .v94-scroll table.tbl tbody td:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-1px 0 0 var(--v92-line)}
#view .v94-scroll table.tbl thead th:first-child,#view .v94-scroll table.tbl thead th:last-child{background:#FAFBFD;z-index:3}
.v94-scroll-hint{font-size:13px;color:#8A94A6;padding:6px 2px 0;display:flex;align-items:center;gap:6px}
.tbl td{word-break:normal;overflow-wrap:anywhere}
/* V0.9.4.1 T158：日期组件（可见 YYYY-MM-DD + 日历钮；原生 input 视觉隐藏但可唤起） */
.v94-date{display:inline-flex;align-items:stretch;gap:6px;flex:1 1 auto;min-width:0;position:relative}
.v94-date>input[type=text]{flex:1;min-width:0;cursor:pointer;background:#fff}
.v94-cal{flex:0 0 36px;min-height:36px;border:1px solid #C9D4E3;background:#fff;border-radius:8px;cursor:pointer;display:grid;place-items:center;color:#43505F;padding:0}
.v94-cal:hover{background:#EAF2FF;color:#2B6FD6;border-color:#9DBCE8}
.v94-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;left:0;bottom:0}
.v092-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 16px}
.v092-kpi{padding:16px 18px;cursor:pointer}
.v092-kpi .k-lab{font-size:12.5px;font-weight:600;color:#5C6470;display:flex;align-items:center;gap:8px}
.v092-kpi .k-lab .d{width:9px;height:9px;border-radius:3px}
.v092-kpi .k-num{font-size:30px;font-weight:700;color:var(--v92-title);margin-top:8px;font-variant-numeric:tabular-nums;line-height:1}
.v092-kpi .k-num small{font-size:14px;font-weight:600;color:#8A93A0;margin-left:3px}
.v092-kpi .k-sub{font-size:12px;color:#8A93A0;margin-top:7px}
.v092-welcome{padding:20px 22px;margin-bottom:16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.v092-welcome h1{margin:0;font-size:24px;font-weight:600;color:var(--v92-title)}
.v092-welcome .sub{font-size:13.5px;color:#5C6470;margin-top:6px}
.v092-guide{padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#F4F8FF;border-color:#D8E0F5}
.v092-guide b{font-size:12.5px;color:#2B3A50;white-space:nowrap}
.v092-guide .g-step{font-size:12px;color:#43505F;background:#fff;border:1px solid #DFE5F2;border-radius:99px;padding:5px 12px;white-space:nowrap}
.v092-guide .g-x{margin-left:auto;cursor:pointer;color:#8A93A0;font-size:17px;line-height:1;padding:2px 6px;border-radius:6px}
.v092-guide .g-x:hover{background:rgba(20,40,80,.06);color:#16233A}
.v092-bar{height:8px;border-radius:8px;background:#EDF1F6;overflow:hidden}
.v092-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#4C86D8,#2F62B8)}
.v092-cta{border:none;cursor:pointer;border-radius:9px;height:40px;padding:0 22px;font-size:13.5px;font-weight:700;color:#fff;font-family:inherit;background:linear-gradient(180deg,#3569BE,#2B579E);transition:filter .15s}
.v092-cta:hover{filter:brightness(1.08)}
.v092-note{font-size:11.5px;color:#8A93A0;line-height:1.7}


body[data-pgfocus="1"] #view [style*="font-size:11"]:not(.av):not(.pico):not(.thumb):not(.tag),
body[data-pgfocus="1"] #view [style*="font-size:12"]:not(.av):not(.pico):not(.thumb):not(.tag),
body[data-pgfocus="1"] #view [style*="font-size:13"]:not(.av):not(.pico):not(.thumb):not(.tag),
body[data-pgfocus="1"] #view [style*="font-size: 11"]:not(.av):not(.pico):not(.thumb):not(.tag),
body[data-pgfocus="1"] #view [style*="font-size: 12"]:not(.av):not(.pico):not(.thumb):not(.tag),
body[data-pgfocus="1"] #view [style*="font-size: 13"]:not(.av):not(.pico):not(.thumb):not(.tag){font-size:14px!important}
/* 教师 / 专家端（T24 / T32S / T32M）：核心任务与主要正文 16px，辅助说明 14px */
body[data-pgfocus="1"][data-end="t"] #view .hd p,
body[data-pgfocus="1"][data-end="t"] #view .v4-empty b,
body[data-pgfocus="1"][data-end="t"] #view .sx33-note,
body[data-pgfocus="1"][data-end="t"] #view .tbl tbody td,
body[data-pgfocus="1"][data-end="t"] #view .tbl tbody td b{font-size:16px!important}
body[data-pgfocus="1"][data-end="t"] #view .v4-empty .cnt{font-size:16px!important}
body[data-pgfocus="1"][data-end="t"] #view .cnt,
body[data-pgfocus="1"][data-end="t"] #view .k-sub,
body[data-pgfocus="1"][data-end="t"] #view .v94-scroll-hint{font-size:14px!important}
/* 内联过小的点击区（面包屑返回、可点数字）统一抬到 32 / 36px */
body[data-pgfocus="1"] #view .j28-crumb button{min-height:32px;padding:2px 4px}
body[data-pgfocus="1"] #view a[data-route],
body[data-pgfocus="1"] #view a[data-sx-project-select]{min-height:36px;display:inline-flex;align-items:center}
/* 页面标题统一 ≥24px（管理端与教师端一致） */
body[data-pgfocus="1"] #view .hd h1{font-size:24px!important;line-height:1.3}
/* 实测补充（1440×900 / 1366×768 / 1280×800 三尺寸计算样式一致）：
   ① P17 任务类型卡是 <button class="card sx33-task-type">，不带 .btn，字号落回 UA 默认 13.33px；
   ② 面包屑里的 <button> 同理落回 13.33px（P84「项目实施」返回链）；
   ③ 宽表滚动提示按辅助元数据本可 13px，这里统一抬到 14px，避免逐项论证。 */
#view .sx33-task-type,#view .sx33-task-type b{font-size:15px}
#view .sx33-task-type{min-height:64px}
#view .sx33-task-type .cnt{font-size:14px}
#view .j28-crumb button{font-family:inherit;font-size:14px}
.v94-scroll-hint{font-size:14px}
