/* Doctor pages share the administration palette; task data and embedded HTML are untouched. */
body.doctor-console {
  --paper: #f5f7fa;
  --paper-light: #fff;
  --paper-deep: #eaf2ef;
  --ink: #20333e;
  --ink-soft: #60717d;
  --moss: #176f62;
  --line: #dfe6eb;
  --serif: var(--ui);
  background: var(--paper);
  font-family: var(--ui);
  font-size: 14px;
  line-height: 1.6;
}
/* Shared notification component, including the doctor's task/status pages. */
.doctor-console .admin-notification-menu {flex: 0 0 auto; width: auto;}
.doctor-console .doctor-topbar-actions > .button {width: auto;}
.doctor-console .notification-trigger {width: 44px; height: 44px; border: 1px solid #ccd7de; border-radius: 7px !important; background: #fff;}
.doctor-console .notification-trigger:hover, .doctor-console .admin-notification-menu[open] > .notification-trigger {background: #edf7f3; border-color: var(--moss);}
.doctor-console .notification-popover {background: #fff; border-color: var(--line); border-radius: 10px !important; box-shadow: 0 8px 32px #20333e20;}
.doctor-console .notification-card {background: #f5f8fa; border-color: var(--line); border-radius: 7px !important;}
.doctor-console .notification-popover .notification-heading {background: #fff;}
.doctor-console .notification-content p {font: 13px/1.85 var(--ui); white-space: pre-line; overflow-wrap: anywhere;}
.doctor-console .notification-content strong {color: var(--ink); font-family: var(--ui);}
.doctor-console .topbar .notification-badge {margin: 0; background: #a73535; color: #fff; border-radius: 10px !important;}
.doctor-console .doctor-important-notices {display: grid; gap: 14px; margin: 0 0 28px;}
.doctor-console .doctor-notice-card {width: 100%; max-width: 880px; padding: 20px 24px; border: 1px solid #c6ded6; border-left: 4px solid var(--moss); border-radius: 10px !important; background: #fff; box-shadow: 0 2px 8px #20333e04;}
.doctor-console .doctor-notice-card > header {display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;}
.doctor-console .doctor-notice-label {padding: 3px 8px; background: #eaf5f0; color: var(--moss); border-radius: 5px !important; font: 600 12px/1.8 var(--ui);}
.doctor-console .doctor-notice-card h2 {margin: 0; color: var(--ink); font: 650 16px/1.7 var(--ui);}
.doctor-console .doctor-notice-card > p {margin: 14px 0 16px; color: #425663; font: 14px/1.9 var(--ui); white-space: pre-line; overflow-wrap: anywhere;}
.doctor-console .doctor-notice-card > footer {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;}
.doctor-console .doctor-notice-card time {font: 12px/1.7 var(--ui); color: var(--ink-soft);}
.doctor-console .doctor-notice-card form {margin: 0;}
.doctor-console .doctor-notice-card button {min-height: 44px; padding-inline: 20px;}
@media (max-width: 600px) {
  .doctor-console .doctor-notice-card {padding: 16px;}
  .doctor-console .doctor-notice-card h2 {font-size: 15px;}
}
.doctor-console [hidden] {display: none !important;}
.doctor-console button, .doctor-console .button, .doctor-console input, .doctor-console select, .doctor-console textarea {
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #ccd7de;
  border-radius: 7px !important;
  background: #fff;
  color: var(--ink);
  font: inherit;
  box-shadow: none;
}
.doctor-console button, .doctor-console .button {font-weight: 600;}
.doctor-console button:hover, .doctor-console .button:hover {background: #f0f6f4; color: var(--moss); border-color: var(--moss);}
.doctor-console .primary {background: var(--moss); color: #fff; border-color: var(--moss);}
.doctor-console .primary:hover {background: #11594e; color: #fff;}
.doctor-console .danger-text {background: #fff; color: #a23838; border-color: #e6c8c8;}
.doctor-console :is(a, button, input, select, textarea, summary):focus-visible {outline: 3px solid #299586; outline-offset: 3px;}
.doctor-console .topbar {background: #fff; border-bottom: 1px solid var(--line); padding: 12px max(24px, calc((100vw - 1360px) / 2)); gap: 20px;}
.doctor-console .topbar .site-brand {margin: 0; padding: 0; border: 0; overflow: visible;}
.doctor-console .site-brand-name {font: 700 16px/1.5 var(--ui); color: var(--ink);}
.doctor-console .topbar-identity > span:last-child {font: 13px/1.5 var(--ui);}
.doctor-console .topbar > div:last-child {display: flex; flex-wrap: wrap; align-items: center; gap: 8px;}
.doctor-console .review-dashboard {width: min(1360px, calc(100% - 48px)); padding: 32px 0 64px;}
.doctor-console .tab-panel-heading {align-items: center; margin-bottom: 24px;}
.doctor-console .tab-panel-heading h1 {font-size: 26px; line-height: 1.4; margin-bottom: 8px;}
.doctor-console .tab-panel-heading p {font-size: 13px; line-height: 1.8;}
.doctor-console .task-tabs {gap: 8px; padding: 6px; margin: 0 0 24px; border: 1px solid var(--line); border-radius: 9px !important; background: #fff; width: fit-content; max-width: 100%;}
.doctor-console .task-tabs [role="tab"] {min-height: 44px; padding: 9px 18px; border: 1px solid transparent; background: #fff; color: var(--ink-soft); font-size: 14px;}
.doctor-console .task-tabs [aria-selected="true"] {background: #eaf5f0; color: var(--moss); border-color: #cee2d8;}
.doctor-console .task-tabs [role="tab"] span {border: 0; background: #edf2f5; color: #4d6474; border-radius: 5px !important; font-family: var(--ui);}
.doctor-console .task-tabs [aria-selected="true"] span {background: #d7ebe1; color: #1b614c;}
.doctor-console .review-project-list {gap: 18px;}
.doctor-console .review-project-row {border: 1px solid var(--line); border-radius: 10px !important; background: #fff; padding: 22px; gap: 16px 24px; box-shadow: 0 2px 6px #20333e03;}
.doctor-console .review-project-row.ongoing, .doctor-console .review-project-row.completed {border-left: 1px solid var(--line); background: #fff;}
.doctor-console .project-main {min-width: 0;}
.doctor-console .project-title-line {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0;}
.doctor-console .project-title-line h2 {font: 650 17px/26px var(--ui); margin: 0; padding: 0; min-width: 0;}
.doctor-console .project-number {display: inline-flex; align-items: center; flex-shrink: 0; min-height: 24px; height: 24px; padding: 2px 8px; border: 0; border-radius: 5px !important; background: #edf2f6; color: #496573; font: 650 12px/20px var(--ui);}
.doctor-console .state-pill {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin: 0; min-height: 24px; padding: 3px 8px; border: 0; border-radius: 5px !important; background: #edf2f6; color: #4d6474; font: 600 11px/18px var(--ui); vertical-align: middle;}
.doctor-console .state-pill.open, .doctor-console .state-pill.completed {background: #e5f4ed; color: #206a4e;}
.doctor-console .state-pill.ongoing, .doctor-console .state-pill.arbitrating {background: #e6f0f8; color: #275f85;}
.doctor-console .state-pill.pending, .doctor-console .state-pill.locked, .doctor-console .state-pill.attention {background: #fff2d8; color: #7a5715;}
.doctor-console .project-main > p {font-size: 13px; color: #586c78; line-height: 1.8; margin: 12px 0;}
.doctor-console .project-meta {font: 12px/1.7 var(--ui); color: var(--ink-soft); gap: 8px 18px;}
.doctor-console .task-timestamps {font: 12px/1.7 var(--ui); gap: 6px 18px;}
.doctor-console .project-actions {align-self: start; gap: 8px;}
.doctor-console .project-actions .button {font-size: 13px;}
.doctor-console .project-reviewer-progress {margin-top: 4px; padding-top: 16px; border-color: var(--line);}
.doctor-console .people-status-summary {font-size: 12px; gap: 10px 16px;}
.doctor-console .people-status-summary strong {font-size: 14px;}
.doctor-console .people-status-row {padding: 12px 0; border-color: var(--line);}
.doctor-console .people-status-badge {padding: 4px 8px; border: 0; border-radius: 5px !important; font-weight: 600;}
.doctor-console .people-status-applying {background: #fff2d8; color: #7a5715;}
.doctor-console .people-status-annotating {background: #e6f0f8; color: #275f85;}
.doctor-console .people-status-completed {background: #e5f4ed; color: #206a4e;}
.doctor-console .percent-progress {font-family: var(--ui); grid-template-columns: 42px minmax(0, 1fr);}
.doctor-console .percent-progress-number {font-size: 12px; color: var(--moss);}
.doctor-console .progress, .doctor-console .progress.compact {border: 0; height: 7px; border-radius: 6px !important; background: #e6eeea; overflow: hidden; box-shadow: none;}
.doctor-console .progress > div {height: 100%; background: var(--moss); border-radius: 6px !important;}
.doctor-console .application-reply-card {margin-top: 0; padding: 14px 16px; border: 1px solid #d4e6dc; border-left: 3px solid #75a88e; border-radius: 7px !important; background: #f0f8f4; color: #376a51;}
.doctor-console .my-task-group > header {border-color: var(--line); padding: 0 0 12px;}
.doctor-console .my-task-group > header h3 {font-size: 17px;}
.doctor-console .my-task-group > header span {background: #eaf1ee; border: 0; border-radius: 5px !important; color: var(--moss);}
.doctor-console .my-task-card {padding: 20px; border: 1px solid var(--line); border-radius: 9px !important; background: #fff;}
.doctor-console .my-task-pending {border-left: 3px solid #dfc182;}
.doctor-console .my-task-completed {border-left: 3px solid #8fbdab;}
.doctor-console .my-task-title {align-items: center;}
.doctor-console .my-task-title a {font: 650 16px/1.6 var(--ui); white-space: normal;}
.doctor-console .my-task-actions {display: flex; flex-wrap: wrap; gap: 8px;}
.doctor-console .my-task-time, .doctor-console .my-task-count {font: 12px/1.6 var(--ui);}
.doctor-console .my-task-list {gap: 12px;}
.doctor-console .doctor-directory-section {padding: 24px; border: 1px solid var(--line); border-radius: 10px !important; background: #fff;}
.doctor-console .doctor-directory-section > summary {border: 0; padding-bottom: 16px; align-items: center;}
.doctor-console .doctor-directory-section h1 {font-size: 20px;}
.doctor-console .doctor-directory-table {border-color: var(--line); border-radius: 7px !important; background: #fff; overflow: hidden;}
.doctor-console .doctor-directory-row {border-color: var(--line); background: #fff;}
.doctor-console .doctor-directory-row.head {background: #f8fafb; color: var(--ink-soft);}
.doctor-console .directory-count {border: 0; border-radius: 5px !important; background: #edf5f1; color: var(--moss); font-family: var(--ui);}
.doctor-console .empty-state {padding: 28px 18px; background: #fff; border: 1px dashed #c5d3db; border-radius: 8px !important; color: var(--ink-soft);}
.doctor-console .instruction-layout {background: var(--paper); padding: 24px; gap: 24px; grid-template-columns: minmax(0, 1fr) 360px;}
.doctor-console .instruction-summary {background: #fff; border: 1px solid var(--line); border-radius: 10px !important; padding: 24px;}
.doctor-console .instruction-summary h1 {font-size: 22px; line-height: 1.5;}
.doctor-console .instruction-summary > p {font-size: 13px; line-height: 1.8;}
.doctor-console .instruction-viewer iframe {border: 1px solid var(--line); border-radius: 10px !important; background: #fff;}
.doctor-console .project-facts, .doctor-console .project-facts > div, .doctor-console .detail-reviewer-progress {border-color: var(--line);}
.doctor-console .project-facts dd {font-family: var(--ui);}
.doctor-console .claim-form {border-color: var(--line);}
.doctor-console .checkbox-line input {min-height: auto; accent-color: var(--moss);}
.doctor-console .alert {padding: 12px; background: #fff8e8; color: #795515; border: 1px solid #eddbac; border-radius: 7px !important;}
.doctor-console .review-workspace-shell {background: var(--paper);}
.doctor-console .review-workspace-bar {background: #fff; border-bottom: 1px solid var(--line); padding: 12px 16px;}
.doctor-console .workspace-project-name > span {color: var(--ink-soft); font: 12px/1.6 var(--ui);}
.doctor-console .workspace-progress strong {font-family: var(--ui); color: var(--moss);}
.doctor-console .save-status-banner {background: #edf7f2; color: #376b52; border-color: #d4e6dc;}
.doctor-console .save-status-banner.save-status-error {background: #fff1f1; color: #9b3030; border-color: #e6bcbc;}
.doctor-console .workspace-alert {background: #fff8e8; color: #795515; border-color: #eddbac; font-family: var(--ui);}
.doctor-console .workspace-alert.success {background: #edf7f2; color: #376b52; border-color: #d4e6dc; box-shadow: none;}
.doctor-console .review-task-frame {border: 1px solid var(--line); border-radius: 8px !important;}
.doctor-console .export-menu-options {border-color: var(--line); border-radius: 7px !important; background: #fff;}
@media (max-width: 1100px) {
  .doctor-console .people-status-row {grid-template-columns: minmax(100px, 1fr) minmax(120px, 1fr) 96px auto minmax(140px, auto); gap: 10px;}
}
@media (max-width: 900px) {
  .doctor-console .review-dashboard {width: calc(100% - 32px);}
  .doctor-console .instruction-layout {display: flex; flex-direction: column; padding: 16px; gap: 16px; height: auto;}
  .doctor-console .instruction-summary {width: 100%;}
  .doctor-console .instruction-viewer {width: 100%;}
  .doctor-console .people-status-panel > summary {flex-wrap: wrap; white-space: normal; overflow: visible;}
  .doctor-console .people-status-list {overflow: visible;}
  .doctor-console .people-status-row {grid-template-columns: minmax(0, 1fr) auto; white-space: normal; gap: 8px 12px;}
  .doctor-console .people-status-row > strong {grid-column: 1; grid-row: 1;}
  .doctor-console .people-status-row > .people-status-badge {grid-column: 2; grid-row: 1;}
  .doctor-console .people-status-row > .people-status-profile, .doctor-console .people-status-row > span:nth-child(5) {grid-column: 1 / -1; text-align: left; overflow: visible; white-space: normal;}
}
@media (max-width: 600px) {
  .doctor-console .topbar {padding: 12px 16px; gap: 12px;}
  .doctor-console .topbar-identity {gap: 8px;}
  .doctor-console .topbar .site-brand-name {font-size: 14px;}
  .doctor-console .topbar-identity > span:last-child {font-size: 12px;}
  .doctor-console .topbar > div:last-child .button {flex: 0 1 auto;}
  .doctor-console .review-dashboard {padding-top: 24px;}
  .doctor-console .tab-panel-heading h1 {font-size: 23px;}
  .doctor-console .task-tabs {width: 100%; gap: 4px; padding: 4px;}
  .doctor-console .task-tabs [role="tab"] {padding: 9px 5px; font-size: 13px; gap: 6px;}
  .doctor-console .review-project-row {padding: 16px; gap: 16px;}
  .doctor-console .project-title-line h2 {font-size: 16px; line-height: 24px;}
  .doctor-console .project-title-line > h2 {flex-basis: calc(100% - 76px);}
  .doctor-console .project-actions {width: 100%; align-self: stretch;}
  .doctor-console button, .doctor-console .button {min-height: 44px;}
  .doctor-console .doctor-directory-section {padding: 16px;}
  .doctor-console .doctor-directory-row {padding: 8px 12px; margin: 0;}
  .doctor-console .doctor-directory-row > div {border-color: var(--line);}
  .doctor-console .my-task-card {padding: 16px; align-items: stretch;}
  .doctor-console .my-task-actions .button {flex: 1;}
  .doctor-console .instruction-summary {padding: 18px;}
  .doctor-console .review-workspace-bar {padding: 10px 12px;}
}
@media (prefers-reduced-motion: reduce) {
  .doctor-console *, .doctor-console *::before, .doctor-console *::after {transition: none !important; scroll-behavior: auto !important;}
}
/* Folded tasks on the dashboard: the same dashed box as the admin list's 更早项目. */
.doctor-console .older-review-projects {margin-top: 18px; background: transparent; border: 1px dashed #b9c8d1; border-radius: 10px !important;}
.doctor-console .older-review-projects > summary {min-height: 50px; padding: 12px 18px; font: 700 13px/1.5 var(--ui); color: var(--ink-soft);}
.doctor-console .older-review-projects[open] > summary {border-bottom: 1px dashed #b9c8d1;}
.doctor-console .older-review-project-list {padding: 12px;}
