/* 主框架：原客户端的深蓝顶栏、白色企业目录和右侧详情区。 */
body { font-family: var(--font-family); }
.bank-workspace { --accent: #2980B9; --accent-soft: #EAF2F8; }
.global-header, .login-header {
  height: var(--header-height);
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--navy);
  color: white;
}
.global-header { position: fixed; inset: 0 0 auto; z-index: 20; }
.header-title, .login-header h1 { font-size: 21px; font-weight: 600; }
.header-title span {
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid #FFFFFF55;
  color: #D2DFE9;
  font-size: 12px;
  font-weight: 400;
}
.university-logo { width: 154px; height: 56px; object-fit: contain; }
.sidebar {
  top: var(--header-height);
  width: var(--sidebar-width);
  background: white;
  border-right: 1px solid var(--line);
  color: var(--ink);
  padding: 22px 13px;
}
.sidebar-heading { font-size: 14px; font-weight: 600; padding: 0 13px 18px; }
.nav-item { background: white; color: #536676; border-radius: 3px; }
.nav-item:hover { background: #F4F6F8; }
.nav-item.selected, .bank-workspace .nav-item.selected { background: var(--accent-soft); color: var(--accent); }
.nav-count { background: #F0F4F7; color: #7F919F; }
.sidebar-bottom { border-top: 1px solid var(--line); padding: 18px 10px 0; }
.avatar { background: var(--accent-soft); color: var(--accent); border-radius: 3px; }
.account strong { color: var(--ink); }
.account small, .logout { color: var(--muted); }
.logout { margin: 0; }
.main-shell {
  margin-left: var(--sidebar-width);
  padding-top: var(--header-height);
  width: calc(100% - var(--sidebar-width));
}
.content { padding: 30px; }
.page-heading h1 { font-size: 25px; }
.page-heading p { color: var(--muted); }
.environment-note { background: #FDF9EF; border-color: #EBE1CB; color: #8A7141; }
.primary { background: var(--navy); }
.primary:hover { background: #1A3E66; filter: none; }
.panel, .metric-card { border-radius: 5px; }
.metric-card strong { color: var(--navy); font-size: 30px; }
.metric-card.accent { border-top: 1px solid var(--line); padding-top: 20px; }
.metric-card.accent strong { color: var(--navy); }
.metric-card small, .panel-heading p, td small, .date-cell, .step-list p,
.workspace-footer, .integration-foot, .integration-card p, .detail-summary p,
.detail-fields dt, .detail-service-grid small, .latest-feedback p { color: var(--muted); }
.row-title { font-size: 12px; }
.badge { font-size: 11px; }
.badge.submitted { color: #3476A4; }
.badge.reviewing { color: #716598; }
.badge.needs_info { color: #9A6B14; }
.badge.approved { color: #27845A; }
.badge.rejected { color: #B44343; }
.integration-intro { background: white; border: 1px solid var(--line); padding: 23px; }
.integration-intro h2 { font-size: 18px; margin-top: 0; }
.integration-intro p { color: var(--muted); }

/* 登录页：普通表单，统一顶栏。 */
.login-page { min-height: 100vh; display: flex; flex-direction: column; }
.login-main { flex: 1; display: grid; place-items: center; padding: 45px 20px; }
.login-card { max-width: 410px; padding: 30px 34px; background: white; border: 1px solid var(--line); border-radius: 6px; }
.login-card h2 { font-size: 21px; margin: 0 0 10px; }
.login-card > p { font-size: 12px; }
.identity-tabs { background: white; border-radius: 0; padding: 0; border-bottom: 1px solid var(--line); }
.identity-tabs button { background: white; border-bottom: 2px solid transparent; border-radius: 0; }
.identity-tabs button.active { border-color: var(--accent); box-shadow: none; }
.login-footer { text-align: center; padding: 18px; color: var(--muted); font-size: 11px; }
.demo-notice { border-radius: 3px; }

/* 已有样本与模型结果：普通字段表和独立分值，便于调整。 */
.planned.connected { background: #EDF6F0; color: #32764D; }
.scoring-panel { margin-top: 22px; padding: 24px; }
.scoring-panel .panel-heading { padding: 0 0 18px; }
.sample-summary { background: #F5F7F9; padding: 15px; border: 1px solid var(--line); }
.sample-summary p, .sample-summary small { color: var(--muted); font-size: 12px; line-height: 1.7; }
.feature-details, .score-history { margin-top: 18px; }
.feature-details summary, .score-history summary { cursor: pointer; color: var(--navy); font-size: 13px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 16px 0; }
.feature-grid dt { color: var(--muted); font-size: 11px; }
.feature-grid dd { margin: 6px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.score-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0 14px; }
.score-heading h3 { font-size: 15px; margin: 0; }
.score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.score-grid > div { border: 1px solid var(--line); padding: 18px; background: #FAFBFC; }
.score-grid span, .score-grid small { display: block; font-size: 12px; color: var(--muted); }
.score-grid strong { display: block; margin: 10px 0; font-size: 28px; color: var(--navy); font-weight: 600; }
.scoring-panel > .muted, .feature-details > .muted { font-size: 12px; line-height: 1.8; }
.scoring-note { border-top: 1px solid var(--line); padding-top: 15px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.model-version { overflow-wrap: anywhere; }
.modal { max-height: calc(100vh - 40px); overflow-y: auto; }

/* 决策点 1：数据充分性预检与补充请求单。预检只是建议，所以用左侧色条区分轻重。 */
.precheck-panel { margin-top: 22px; }
.precheck-panel .queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.precheck-summary { border: 1px solid var(--line); border-left-width: 3px; padding: 14px 16px; margin: 14px 0; background: #FAFBFC; }
.precheck-summary p { margin: 0 0 6px; font-size: 12px; line-height: 1.8; }
.precheck-summary p:last-child { margin-bottom: 0; }
.precheck-summary.ok-line { border-left-color: #27845A; }
.precheck-summary.warn-line { border-left-color: #C58A1E; background: #FDF9EF; }
.precheck-group { margin: 12px 0; }
.precheck-group h4 { font-size: 13px; margin: 0 0 6px; color: var(--navy); }
.precheck-group ul { margin: 0; padding-left: 18px; }
.precheck-group li { font-size: 12px; line-height: 1.9; }
.precheck-group li .muted { display: block; font-size: 11px; }
.supplement-form { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 16px; }
.supplement-form label { display: block; font-size: 12px; color: var(--muted); margin: 10px 0 5px; }
.supplement-form textarea, .supplement-form input { width: 100%; border: 1px solid var(--line); border-radius: 3px; padding: 8px 10px; font: inherit; font-size: 13px; }
.supplement-form .form-actions { margin-top: 12px; display: flex; gap: 12px; align-items: center; }
.supplement-list { list-style: none; margin: 16px 0 0; padding: 0; }
.supplement-item { border: 1px solid var(--line); border-left-width: 3px; padding: 13px 15px; margin-bottom: 12px; background: #FAFBFC; }
.supplement-item.supplement-open { border-left-color: #C58A1E; }
.supplement-item.supplement-answered { border-left-color: #3476A4; }
.supplement-item.supplement-closed { border-left-color: #B9C4CC; opacity: .78; }
.supplement-head { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; margin-bottom: 8px; }
.supplement-items { margin: 0 0 8px; padding-left: 18px; font-size: 13px; line-height: 1.9; }
.supplement-response { font-size: 12px; margin: 6px 0 0; }
.supplement-respond { margin-top: 10px; display: flex; gap: 10px; }
.supplement-respond input { flex: 1; border: 1px solid var(--line); border-radius: 3px; padding: 8px 10px; font: inherit; font-size: 13px; }
.supplement-callout { border: 1px solid #EBE1CB; border-left-width: 3px; border-left-color: #C58A1E; background: #FDF9EF; padding: 12px 15px; margin: 12px 0; font-size: 12px; }
.supplement-callout p { margin: 0; }

/* 手机保留菜单和退出操作，不隐藏核心业务动作。 */
@media (max-width: 900px) {
  :root { --sidebar-width: 185px; }
}
@media (max-width: 620px) {
  :root { --header-height: 66px; }
  .global-header, .login-header { position: static; padding: 0 16px; }
  .header-title, .login-header h1 { font-size: 15px; max-width: 235px; }
  .header-title span { display: block; margin: 5px 0 0; padding: 0; border: 0; font-size: 10px; }
  .university-logo { width: 90px; height: 40px; }
  .sidebar { position: static; width: 100%; padding: 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .sidebar-heading { display: none; }
  .sidebar-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 11px; padding: 11px 6px 0; }
  .account strong { font-size: 10px; }
  .account small { display: none; }
  .avatar { width: 24px; height: 24px; font-size: 10px; }
  .logout { padding: 0; }
  .main-shell { margin: 0; padding: 0; width: 100%; }
  .content { padding: 23px 15px; }
  .page-heading h1 { font-size: 22px; }
  .login-main { padding: 30px 20px; }
  .login-card { padding: 25px; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .score-grid { grid-template-columns: minmax(0, 1fr); }
  .scoring-panel .panel-heading { align-items: flex-start; flex-direction: column; }
}
