/* 阅启华章：独立浅蓝品牌主题（最后加载，用于统一教师端与管理端） */
:root{
  --blue:#4f8fe8;
  --blue2:#3678d5;
  --ink:#20324a;
  --muted:#75869d;
  --line:#dce8f6;
  --bg:#f3f7fc;
  --card:#fff;
  --brand-soft:#eaf3ff;
  --brand-pale:#f5f9ff;
  --brand-border:#cfe1f7;
  --shadow:0 10px 28px rgba(67,111,166,.08);
}

body{background:var(--bg);color:var(--ink)}
a,.link,.text-link{color:var(--blue2)}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--blue)}
input:focus,select:focus,textarea:focus{border-color:#82afea!important;outline:0;box-shadow:0 0 0 3px rgba(79,143,232,.12)!important}
.btn.primary{border-color:var(--blue);background:linear-gradient(135deg,#68a6f3,#4b88df);box-shadow:0 6px 16px rgba(79,143,232,.2)}
.btn.primary:hover{border-color:var(--blue2);background:linear-gradient(135deg,#5798eb,#3678d5)}
.card,.metric-card,.class-card{border-color:var(--line);box-shadow:var(--shadow)}
tbody tr:hover{background:#f4f8fe}

/* 教师端：浅蓝侧栏、胶囊导航和宽松内容区 */
.sidebar{
  width:224px;
  padding:20px 16px;
  border-right:1px solid #d4e4f6;
  background:linear-gradient(180deg,#eef6ff 0%,#e5f0fd 100%);
  color:var(--ink);
  box-shadow:8px 0 28px rgba(70,112,165,.06);
}
.main-area{width:calc(100% - 224px);margin-left:224px}
.brand{gap:12px;padding:2px 8px 22px;color:#26446a}
.brand-mark{
  width:42px;height:42px;border:0;border-radius:14px;
  background:linear-gradient(145deg,#7db8ff,#4d8be2);color:#fff;
  box-shadow:0 8px 18px rgba(79,143,232,.24);font-family:"STKaiti","KaiTi",serif;
}
.brand b{font-size:18px;letter-spacing:2px}.brand small{color:#7990ac}
.nav-list{gap:8px}
.nav-list a,.nav-list a.sub,.nav-group-title{height:45px;border-radius:12px;color:#526b8b;padding:0 14px}
.nav-list a:hover,.nav-list a.active,.nav-list a.sub.active{
  background:#fff;color:#347bd6;box-shadow:0 5px 14px rgba(75,126,188,.1)
}
.nav-list a.active{box-shadow:inset 3px 0 #5b9cf0,0 5px 14px rgba(75,126,188,.1)}
.sidebar-help{border-color:#cedff3;background:rgba(255,255,255,.58)}
.sidebar-help p{color:#7187a2}
.sidebar-collapse-button{color:#58718f}
.topbar{height:66px;border-color:var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
.content{max-width:1720px;padding:24px 28px 48px}
.teacher-top-tabs{border-color:var(--line);background:#fff;box-shadow:0 4px 18px rgba(61,104,159,.04)}
.teacher-top-tabs a{color:#627791}
.teacher-top-tabs a.active{border-color:var(--blue);color:var(--blue2)}
.teacher-top-tabs a.active:after{background:var(--blue)}
.customer-service-button{background:linear-gradient(180deg,#76adf0,#4b89dd);box-shadow:0 7px 20px rgba(64,121,191,.25)}
.customer-service-copy h3{color:var(--blue2)}
.class-cover{background:linear-gradient(155deg,#eff7ff,#dcecff);color:var(--blue2)}
.progress i,.dimension-list em,.dimension-chart em,.bar-chart em,.growth-line span:after{background:linear-gradient(90deg,#8cbdF7,#4f8fe8)}
.status.collecting,.status.pending_review,.status.ocr_completed,.tag.blue{background:#eaf3ff;color:#397bcf}
.task-view-toggle button.active{background:#edf5ff;color:var(--blue2)}
.benchmark-task-card .task-card-actions>a,.benchmark-task-card .task-card-actions>details>summary{color:var(--blue2)}
.benchmark-task-card .student-count>i{background:#eaf3ff;color:#4f8fe8}
.benchmark-task-card .student-count b{color:#397fd5}
.composition-pagination b{border-color:var(--blue);color:var(--blue2)}
.composition-task-stage{background:#f1f6fc}

/* 登录页：浅色双栏品牌页，避免原有深色参考风格 */
.login-page{background:#eef5fd}
.login-shell{grid-template-columns:minmax(520px,1.05fr) minmax(420px,.95fr);gap:0;padding:22px}
.login-hero{
  border-radius:28px;padding:9vh 7vw;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.92) 0 4px,transparent 5px),
    linear-gradient(145deg,#dcecff,#bcd9fb);
  background-size:34px 34px,auto;color:#23466f;
}
.login-hero:after{border-color:rgba(255,255,255,.28)}
.hero-copy .eyebrow{color:#347bd6}.hero-copy h1{color:#23466f;font-size:45px}.hero-copy>p{color:#58789e}
.hero-points{color:#315f94}.paper-card{box-shadow:0 22px 50px rgba(54,101,158,.18)}
.login-panel{background:transparent}
.login-box{padding:34px 38px;border:1px solid #d8e7f7;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(58,104,159,.12)}
.login-heading{margin:48px 0 28px}

/* 管理端：紧凑浅蓝工作台，替代原大面积青绿结构 */
.director-ref-body{background:#f2f6fb;color:var(--ink)}
.director-ref-shell{grid-template-columns:220px minmax(0,1fr);gap:0}
.director-ref-side{
  box-sizing:border-box;width:220px;height:100vh;padding:16px 12px;border-right:1px solid #d6e5f6;
  background:linear-gradient(180deg,#edf6ff,#e2eefc);color:#315273;
  box-shadow:6px 0 24px rgba(65,105,153,.05);
}
.director-ref-logo{
  box-sizing:border-box;height:105px;padding:8px 10px;margin-bottom:8px;
  display:grid;grid-template-columns:48px 1fr;grid-template-rows:1fr 1fr;
  place-items:initial;align-items:end;gap:0 12px;border-bottom:1px solid #d3e3f5;
}
.director-ref-logo>.director-brand-mark{
  grid-row:1/3;align-self:center;width:48px;height:48px;display:grid;place-items:center;
  border:0;border-radius:15px;background:linear-gradient(145deg,#80b9fb,#4d8bdF);color:#fff;
  box-shadow:0 8px 18px rgba(69,126,196,.2);font:700 25px/1 "STKaiti","KaiTi",serif;
}
.director-ref-logo>div:nth-of-type(1){align-self:end;color:#294c72;font-size:18px;font-weight:700;letter-spacing:2px;text-align:left}
.director-ref-logo>div:nth-of-type(2){align-self:start;color:#7790aa;font-size:11px;font-weight:400;text-align:left}
.director-ref-side nav{gap:5px}
.director-ref-side nav a,.director-ref-side summary{
  box-sizing:border-box;width:100%;min-height:42px;height:auto;padding:11px 14px;border-radius:11px;
  color:#526d8d;font-size:14px;transition:.15s;
}
.director-ref-side nav,.director-ref-side details{width:100%}
.director-ref-side nav>a.active,.director-ref-side nav a:hover,.director-ref-side details[open]>summary{
  background:#fff;color:#347bd6;box-shadow:0 5px 14px rgba(70,118,177,.1)
}
.director-ref-side details a{margin:3px 0;padding-left:46px;color:#70859e}
.director-ref-side details a.active{background:#d8eafe;color:#2e74cd}
.director-ref-head{
  height:102px;padding:0 26px;border-bottom:1px solid #d9e6f4;
  grid-template-columns:1fr repeat(3,78px) minmax(205px,260px) 46px;
  background:linear-gradient(105deg,#f8fbff,#e5f1ff);color:#385878;
}
.director-ref-head>a,.director-ref-head>button{height:64px;color:#4f7196;font-size:21px}
.director-ref-head>a,.director-ref-head>button{width:auto;padding:8px 10px}
.director-ref-head small,.director-ref-head>a small,.director-ref-head>button small{color:#68809b!important;font-size:12px!important}
.director-ref-head>a:hover,.director-ref-head>button:hover{border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(74,120,174,.1)}
.director-tool-icon{background:#fff!important;color:#4b8cdf!important;box-shadow:0 5px 14px rgba(65,112,170,.1)}
.director-product{grid-column:5;min-width:0;overflow:visible;color:#28517d;font-size:16px;font-weight:700}
.director-ref-head>details{grid-column:6}
.director-product small{color:#7990a9!important;font-weight:400}
.director-school-switch select{border-color:#c8ddf4;background:#fff;color:#486681}
.director-ref-head details summary{color:#fff;background:linear-gradient(145deg,#78b2f5,#4c8adf);box-shadow:0 5px 14px rgba(63,118,186,.2)}
.director-tabbar{box-sizing:border-box;width:100%;height:52px;padding:7px 10px;gap:6px;border-bottom:1px solid #dce7f3;background:#fff}
.director-tabbar a{flex:0 0 auto;height:36px;padding:0 17px;border:0;border-radius:9px;color:#60758e;line-height:36px}
.director-tabbar a:hover{background:#f1f6fc}.director-tabbar a.active{border:0;background:#e7f2ff;color:#347bd6}
.director-ref-content{padding:16px 18px 28px}
.director-page,.director-panel,.director-home-top>article,.director-metrics{border:1px solid #e0eaf5;border-radius:14px;box-shadow:0 7px 22px rgba(67,108,157,.06)}
.director-ref-body select,.director-ref-body input,.director-ref-body textarea{border-color:#cfdeee;border-radius:8px}
.director-ref-flash{background:#e8f3ff;color:#3978c4}
.director-query-buttons button,.director-create-button,.assignment-query button,.assignment-actions>button:first-child,
.teacher-page-head button.primary,.teacher-query button,.student-nav.next,.vacation-form footer button:not(:first-child),
.assignment-create-form footer button:last-child,.report-settings-form footer .primary,.teacher-form footer .primary,.teacher-import-form footer .primary{
  border-color:var(--blue)!important;background:linear-gradient(135deg,#68a6f3,#4b88df)!important;color:#fff!important;
}
.director-range-tabs a.active,.director-table-page td a,.director-table-page .link,.assignment-actions .view-toggle.active,
.teacher-summary b,.teacher-table .link,.import-steps>a,.upload-box strong,.excellent-page-title a.active,
.excellent-grade-nav strong,.excellent-grade-nav a.active{color:#397fd5!important}
.director-table-page .director-pagination b{border-color:var(--blue);color:var(--blue)}
.director-table-page tbody tr:hover{background:#edf5ff}
.director-home-top a,.director-filters button,.director-filters>a,.export,
.director-inner-tabs a.active,.director-school-card .link,.org-school-card>header .link{
  border-color:#b9d4f2!important;background:#f7fbff!important;color:#397fd5!important
}
.director-inner-tabs a.active{background:#e7f2ff!important}
.director-chart i,.growth-genre-bars em,.import-steps>b{background:#5b9cf6!important}
.director-top-list b,.analytics-metrics b,.director-table-page-scores td:last-child a,
.excellent-card-actions .link{color:#397fd5!important}
.radar-placeholder,.line-placeholder{color:#397fd5;background:repeating-radial-gradient(circle,#fff 0 34px,#deebf8 35px 36px)}
.director-growth aside a.active{background:#e7f2ff;color:#397fd5}
.director-ref-flash{background:#e8f3ff;color:#3978c4}
.director-notice{background:#f0f7ff;color:#466a94}
.teacher-query input:focus,.teacher-query select:focus{border-color:#82afea!important;box-shadow:0 0 0 3px rgba(79,143,232,.12)}
.setting-row button.active{border-color:var(--blue);color:var(--blue)}
.upload-box{border-color:#b9d4f2;background:#f7fbff}
.panel-mark{background:#9bc5f4}
.radar-value.two{fill:#5b9cf633;stroke:#5b9cf6}
.excellent-grade-nav strong:after{background:#5b9cf6}.excellent-card-title span{background:#e5f1ff;color:#397fd5}
.teacher-status.enabled{background:#e8f3ff;color:#3978c4}.teacher-table .link{border-color:#b9d4f2}.teacher-table .link:hover{background:#f0f7ff}
.setting-row input,.assignment-create-form input[type=radio],.assignment-create-form input[type=checkbox],.assignment-actions input{accent-color:var(--blue)}

@media(max-width:1100px){
  .director-ref-shell{grid-template-columns:190px minmax(0,1fr)}
  .director-ref-side{width:190px}
  .director-ref-head{grid-template-columns:1fr repeat(3,64px) minmax(180px,220px) 42px}
}
@media(max-width:800px){
  .login-shell{display:block;padding:0}.login-box{padding:28px 24px;border:0;border-radius:0;box-shadow:none}
  .sidebar{width:224px}.main-area{width:100%;margin-left:0}
  .director-ref-shell{display:block}.director-ref-side{position:relative;width:100%;height:auto}.director-ref-main{width:100%}
}

/* 对外发布级布局：管理端统一使用弹性尺寸，避免固定宽度造成裁切和重叠。 */
.director-ref-main{min-width:0}
.director-ref-head{
  width:100%;padding:0 18px;
  grid-template-columns:minmax(0,1fr) repeat(3,72px) minmax(190px,230px) 46px;
  column-gap:4px;
}
.director-ref-head>a,.director-ref-head>button{width:72px;min-width:0;padding:8px 5px}
.director-product{
  grid-column:5;height:64px;display:flex;align-items:center;justify-content:flex-end;
  overflow:visible;text-align:right;line-height:18px;
}
.director-ref-head>details{grid-column:6;justify-self:end}
.director-school-switch{width:100%;margin:0;display:block}
.director-school-switch select{box-sizing:border-box;width:100%;min-width:0;max-width:230px;height:38px;padding:5px 32px 5px 12px;font-weight:600}
.director-ref-content{min-width:0}
.director-page{max-width:100%;overflow:hidden}

.director-score-query,.director-report-query,.director-term-query,.director-vacation-query,.assignment-query{
  box-sizing:border-box;width:100%;max-width:100%;height:auto;min-height:76px;
}
.director-score-query,.director-report-query{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:28px 4px 16px;
}
.director-score-query>label,.director-report-query>label{flex:1 1 205px;max-width:300px}
.director-score-query>.director-query-buttons,.director-report-query>.director-query-buttons{
  flex:0 0 auto;order:1;display:flex;
}
.director-score-query>.director-range-tabs,.director-report-query>.director-range-tabs{
  flex:1 1 260px;order:2;grid-column:auto;grid-row:auto;width:auto;margin:0;justify-content:flex-end;
}
.director-score-query>.export,.director-report-query>.export{
  flex:0 0 auto;order:2;grid-column:auto;grid-row:auto;margin-left:0;
}
.director-report-query>.director-date,.director-report-query>span{order:2;display:block}
.director-term-query{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:4px 4px 16px}
.director-term-query>label{flex:1 1 300px;max-width:390px}
.director-term-query>.director-query-buttons,.director-term-query>.director-create-button{grid-column:auto;grid-row:auto}
.director-vacation-query{grid-template-columns:minmax(240px,1fr) minmax(360px,1.5fr) auto}
.assignment-query{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px 16px}
.assignment-date{grid-column:span 2}

.director-table-page .director-table-wrap,.director-table-page-scores .director-table-wrap,.director-table-page-term .director-table-wrap{
  box-sizing:border-box;width:100%;max-width:100%;margin-left:0;
  scrollbar-width:thin;scrollbar-color:#b8cae0 #f2f6fb;
}
.director-table-page table{width:100%;max-width:100%}
.director-table-page th,.director-table-page td{height:44px;padding:9px 11px;font-size:13px}
.director-table-page th{white-space:normal;line-height:18px;vertical-align:middle}
.director-table-page td{white-space:nowrap}
.director-table-page-usage table{min-width:1050px}
.director-table-page-reviews table,.director-table-page-prints table{min-width:1080px}
.director-table-page .director-pagination{height:auto;min-height:52px;flex-wrap:wrap}

@media(max-width:1200px){
  .director-ref-head{grid-template-columns:minmax(0,1fr) repeat(3,62px) minmax(170px,200px) 42px}
  .director-ref-head>a,.director-ref-head>button{width:62px}
  .director-school-switch select{max-width:200px}
  .assignment-query{grid-template-columns:repeat(2,minmax(200px,1fr))}
  .director-home-top{height:auto;grid-template-columns:1fr}
  .director-home-top>article,.director-home-top>.director-metrics{height:auto;min-height:88px}
  .director-home-grid{grid-template-columns:1fr 1fr}
  .director-home-grid>.director-panel:nth-child(n){grid-column:auto;width:auto}
}
@media(max-width:900px){
  .director-ref-head{grid-template-columns:minmax(0,1fr) repeat(2,58px) minmax(155px,180px) 42px}
  .director-ref-head>a,.director-ref-head>button{width:58px}
  .director-ref-head>a:nth-of-type(2){display:none}
  .director-product{grid-column:4}.director-ref-head>details{grid-column:5}
  .director-school-switch select{max-width:180px}
  .director-home-grid{grid-template-columns:1fr}
  .assignment-query,.director-vacation-query{display:flex;flex-wrap:wrap}
  .assignment-query>label,.director-vacation-query>label{flex:1 1 260px}
}
/* 学校积分与代理商授权 */
.teacher-table input[type="number"],.teacher-table input[name="remark"]{min-width:150px;border:1px solid #cfdced;border-radius:8px;padding:9px 11px;background:#fff}
.credit-ledger-head{margin-top:28px}.credit-positive{color:#168b69;font-weight:700}.credit-negative{color:#d45757;font-weight:700}
.agent-school-field{grid-column:1/-1;border:1px solid #d9e5f3;border-radius:10px;padding:14px;display:flex;flex-wrap:wrap;gap:10px 18px}
.agent-school-field legend{padding:0 7px;font-weight:700;color:#40556f}.agent-school-field label{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;margin:0!important}
.agent-credit-panel{margin:0 0 18px;padding:0 18px 18px}.agent-credit-panel .director-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.agent-credit-panel .director-metrics article{min-height:92px}

/* 发布级通用布局：筛选项不裁切，按钮文字不换行，宽表格只在表格区滚动。 */
.teacher-page-head{flex-wrap:wrap;height:auto;padding-bottom:12px}
.teacher-page-head>div:first-child{flex:1 1 420px;min-width:0}
.teacher-page-head>div:last-child{flex-wrap:wrap;justify-content:flex-end}
.teacher-page-head button,.teacher-query-actions a,.teacher-query-actions button,.teacher-row-actions .link{white-space:nowrap;word-break:keep-all}
.teacher-query{box-sizing:border-box;width:100%;max-width:100%;height:auto;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.teacher-query label,.teacher-query label:nth-child(n){flex:1 1 180px;width:auto;min-width:160px;max-width:300px}
.teacher-query label:first-child{flex:2 1 340px;min-width:260px;max-width:none}
.teacher-query-actions{margin-left:auto;align-self:flex-end}
.teacher-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,220px));gap:12px;width:100%}
.teacher-summary span{min-width:0}
.director-table-wrap,.teacher-table{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.teacher-table table{width:max(100%,960px);min-width:960px}
.teacher-table th,.teacher-table td{padding-inline:10px}
.teacher-table th,.teacher-table td{vertical-align:middle}
.teacher-row-actions{min-width:max-content;flex-wrap:nowrap}
.director-modal>div.teacher-modal{max-height:min(86vh,760px);overflow:auto}
.agent-school-field{min-width:0}
.agent-school-field label{max-width:100%;white-space:normal}
.agent-school-field label span{overflow-wrap:anywhere;text-align:left}
.audit-user-agent{max-width:360px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){
  .teacher-query label,.teacher-query label:nth-child(n),.teacher-query label:first-child{flex-basis:100%;width:100%;min-width:0;max-width:none}
  .teacher-query-actions{width:100%;margin-left:0;justify-content:flex-end}
  .teacher-summary{grid-template-columns:1fr}
  .teacher-form label{grid-template-columns:80px minmax(0,1fr)}
}
