/* =====================
   全局变量 & 重置
===================== */
:root {
  --primary: #17315f;
  --primary-dark: #10264d;
  --primary-soft: #e8eef8;
  --secondary: #167454;
  --accent: #b87918;
  --success: #167454;
  --warning: #b87918;
  --danger: #a33a3a;
  --info: #1d5f74;

  --bg: #f3f6fa;
  --card-bg: #ffffff;
  --surface: #f8fafc;
  --text-main: #172033;
  --text-muted: #637083;
  --border: #dfe6ef;

  --radius: 8px;
  --shadow: 0 10px 24px rgba(17, 32, 51, 0.08);
  --shadow-soft: 0 4px 14px rgba(17, 32, 51, 0.06);
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  margin: 0;
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  background: var(--bg);
  color: var(--text-main);
  overflow-x: hidden;
}

.hidden { display: none !important; }

/* 兼容你之前用过的 tailwind 类（不依赖 tailwind） */
.w-full { width: 100%; }
.justify-center { justify-content: center; }

/* =====================
   登录页
===================== */
.login-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #0f3478 0%, #153f8f 58%, #1d5fb4 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.login-card {
  width: 420px;
  max-width: 92vw;
  background: #fff;
  border-radius: var(--radius);
  padding: 40px 36px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
  margin: auto 0;
}

.login-logo {
  margin-bottom: 26px;
}

.brand-lockup {
  display: flex;
  align-items: center;
}

.brand-mark {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}

.brand-lockup-login {
  justify-content: center;
  gap: 12px;
}

.brand-lockup-login .brand-mark {
  width: 42px;
  height: 42px;
}

.login-logo h1 {
  min-width: 0;
  margin: 0;
  text-align: left;
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  color: var(--primary);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.login-logo p {
  text-align: center;
  color: #5276b0;
  margin: 10px 0 26px;
  font-size: 14px;
  font-weight: 600;
}

.login-hint {
  margin-top: 16px;
  background: #fafafa;
  border: 1px dashed var(--border);
  padding: 12px;
  border-radius: 10px;
  font-size: 12px;
  color: #666;
}

.site-footer {
  width: 100%;
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
}

.site-footer a {
  color: var(--text-muted);
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.login-footer {
  color: rgba(255, 255, 255, .82);
  padding-top: 18px;
}

.login-footer a {
  color: rgba(255, 255, 255, .9);
}

.main-footer {
  padding: 0 24px 24px;
}

/* =====================
   表单
===================== */
.form-group { margin-bottom: 18px; }

.password-input-wrap {
  position: relative;
}

.password-input-wrap .form-input {
  padding-right: 46px;
}

.password-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.password-toggle:hover,
.password-toggle:focus-visible {
  color: var(--primary);
  background: rgba(16, 56, 121, 0.08);
}

.password-toggle:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 1px;
}

.form-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 14px;
}

.form-input,
select.form-input,
textarea.form-input {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font-size: 14px;
  background: #fff;
  color: var(--text-main);
}

textarea.form-input { resize: vertical; }

.form-input:focus,
select.form-input:focus,
textarea.form-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(16, 56, 121, 0.16);
}

/* =====================
   按钮
===================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
}

.btn-primary {
  background: var(--primary);
  color: #fff;
}

.btn-primary:hover { background: var(--primary-dark); }

.btn-secondary {
  background: #f1f1f1;
  color: #333;
  border-color: #e6e6e6;
}

.btn-secondary:hover { background: #e5e5e5; }

.btn-danger {
  background: #fdecea;
  color: var(--danger);
  border-color: #f6c3bf;
}

.btn-danger:hover {
  background: #fbd7d3;
}

.btn,
.btn-sm,
.pm-mini-btn,
.message-btn,
.close-btn,
.tab-btn,
.reserve-sub-tab-btn,
.pm-detail-open-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* =====================
   顶部导航
===================== */
.top-nav {
  height: 64px;
  background: var(--primary);
  color: #fff;
  box-shadow: var(--shadow);
  position: sticky;
  top: 0;
  z-index: 50;
}

.nav-content {
  height: 100%;
  width: 100%;
  max-width: none;      /* ✅ 铺满屏幕 */
  margin: 0;            /* ✅ 不再居中留白 */
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.nav-brand h1 {
  font-size: 18px;
  margin: 0;
}

.brand-lockup-nav {
  gap: 8px;
  color: #fff;
}

.brand-lockup-nav .brand-mark {
  width: 30px;
  height: 30px;
}

.brand-lockup-nav h1 {
  white-space: nowrap;
}

.nav-brand span {
  font-size: 13px;
  opacity: 0.9;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nav-user {
  font-size: 14px;
  opacity: 0.95;
  white-space: nowrap;
}

/* 消息按钮 */
.message-btn {
  position: relative;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  line-height: 1.2;
}

.message-btn:hover {
  background: rgba(255, 255, 255, 0.24);
}

.badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--danger);
  color: #fff;
  font-size: 12px;
  padding: 2px 7px;
  border-radius: 999px;
  min-width: 20px;
  text-align: center;
}

/* 表格中的 badge 需要恢复为普通文档流，避免“待改版”徽标发生偏移 */
.manuscript-table .badge,
.data-table .badge {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: auto;
  line-height: 1.2;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  vertical-align: middle;
}

/* =====================
   标签页导航
===================== */
.tab-nav {
  background: #fff;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 64px;
  z-index: 40;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.tab-nav-content {
  width: 100%;
  max-width: none;
  margin: 0;
  display: flex;
  gap: 2px;
  padding: 0 16px;
  overflow-x: hidden;
}

.tab-nav-content::-webkit-scrollbar { display: none; }
.tab-nav-content::-webkit-scrollbar-track { background: transparent; }
.tab-nav-content::-webkit-scrollbar-thumb { background: #ddd; border-radius: 999px; }

.tab-btn {
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 500;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #6b7280;
  white-space: nowrap;
  position: relative;
  transition: all .2s ease;
  border-radius: 8px 8px 0 0;
  letter-spacing: .3px;
}

.tab-btn:hover {
  color: var(--primary);
  background: rgba(16, 56, 121, .07);
}

.tab-btn.active {
  color: var(--primary);
  font-weight: 700;
  background: rgba(16, 56, 121, .10);
}
.tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 12px;
  right: 12px;
  height: 3px;
  background: var(--primary);
  border-radius: 3px 3px 0 0;
}

/* =====================
   主内容区
===================== */
.main-content {
  width: 100%;
  max-width: none;      /* ✅ 铺满屏幕 */
  margin: 18px 0;       /* ✅ 只保留上下间距 */
  padding: 0 24px 60px; /* ✅ 左右留一点内边距 */
}

/* =====================
   卡片
===================== */
.card {
  background: var(--card-bg);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  margin-bottom: 18px;
  overflow: hidden;
}

.card-title {
  font-size: 18px;
  margin-bottom: 12px;
  font-weight: 700;
}

/* =====================
   表格（美观 & 显示稳定）
   - 容器横向滚动
   - 默认所有列 1 行省略号
   - 仅【题目】列最多 2 行（不再叠加多个补丁，统一在这里）
===================== */
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border);
  border-radius: 12px;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1400px;     /* 字段多，保证不挤压 */
  background: #fff;
  table-layout: fixed;   /* 关键：列宽稳定，不会“忽宽忽窄” */
}

thead {
  background: #f3f4f6;
  position: sticky;
  top: 0;
  z-index: 1;
}

th,
td {
  padding: 2px 4px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  font-size: 13px;
  vertical-align: middle;

  /* 默认：所有列 1 行 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* 给一点上限，避免个别列过宽（table-layout:fixed 下主要靠列宽分配） */
  max-width: 360px;
  line-height: 1.3;
}

th {
  font-weight: 700;
  color: #444;
}

tbody tr:hover {
  background: #fafafa;
}

/* 本文编辑工作台表格行高优化 */
.editor-workspace-container .manuscript-table th,
.editor-workspace-container .manuscript-table td {
  line-height: 1.2;
  padding: 5px 8px;
}

/* 题目列：最多 2 行（命中任意一种即可生效） */
td.title-cell,
td[data-field="title"],
td[data-col="title"]{
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;

  -webkit-line-clamp: 2; /* 现有兼容写法 */
  line-clamp: 2;         /* 标准属性：加上用于减少提示/增强兼容 */

  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  line-height: 1.45;
  max-height: calc(1.45em * 2);
  min-width: 320px;
  max-width: 520px;
}


/* 操作列/编辑按钮：始终一行 */
td.actions-cell,
td[data-col="actions"]{
  white-space: nowrap;
}

/* 表格操作按钮区域 */
.table-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.table-actions .btn {
  padding: 6px 10px;
  font-size: 12px;
}

/* =====================
   状态标签
===================== */
.status {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.status-wait { background: #eee; color: #666; }
.status-success { background: #e8f7ef; color: var(--success); }
.status-warning { background: #fff3e0; color: var(--warning); }
.status-danger { background: #fdecea; color: var(--danger); }

.status-proofing { background: #eef6ff; color: var(--info); }
.status-proof-done { background: #e8f7ef; color: var(--success); }

/* =====================
   倒计时 / 超时
===================== */
.countdown-safe { color: var(--success); font-weight: 700; }
.countdown-warn { color: var(--warning); font-weight: 800; }
.countdown-danger,
.overdue {
  color: var(--danger);
  font-weight: 900;
  animation: blink 1.2s infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* =====================
   链接
===================== */
a { color: var(--info); text-decoration: none; }
a:hover { color: var(--primary); text-decoration: underline; }

.proof-link {
  font-weight: 800;
  color: var(--info);
  text-decoration: underline;
}

/* =====================
   模态弹窗（修复“显示不全”）
   - max-height + 内部滚动
===================== */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  padding: 18px;
}

.modal-content {
  width: 920px;
  max-width: 96vw;
  max-height: 88vh;     /* 关键：限制高度 */
  overflow: auto;       /* 关键：内容滚动 */
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
  margin-bottom: 14px;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}

.modal-title {
  font-size: 18px;
  font-weight: 800;
}

.close-btn {
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: #999;
}

.close-btn:hover { color: var(--danger); }

/* =====================
   消息中心
===================== */
.messages-container {
  max-width: 1200px;
  margin: 0 auto;
}

.message-list {
  margin-top: 24px;
}

.message-item {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}

.message-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: transparent;
  transition: background 0.3s;
}

.message-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 0 0 1px var(--primary);
  transform: translateY(-2px);
  border-color: var(--primary);
}

.message-item:hover::before {
  background: var(--primary);
}

.message-item.unread {
  background: linear-gradient(135deg, #fef3f2 0%, #ffffff 100%);
  border-left: 4px solid var(--primary);
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.08);
}

.message-item.unread::before {
  background: var(--primary);
}

.message-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.message-type {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
  color: #0369a1;
  box-shadow: 0 1px 3px rgba(3, 105, 161, 0.1);
  letter-spacing: 0.3px;
}

.message-type.rating_request {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
  box-shadow: 0 1px 3px rgba(146, 64, 14, 0.1);
}

.message-type.assignment {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e40af;
  box-shadow: 0 1px 3px rgba(30, 64, 175, 0.1);
}

.message-type.revision {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e3a8a;
  box-shadow: 0 1px 3px rgba(30, 58, 138, 0.1);
}

/* =====================
   Precision Medication UI Refresh
   面向期刊质控后台：克制、清晰、适合高频表格操作
===================== */
body {
  background: var(--bg);
  color: var(--text-main);
  line-height: 1.55;
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  letter-spacing: 0;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(22, 116, 84, 0.22);
  outline-offset: 2px;
}

.login-card,
.card,
.pm-card,
.tab-panel,
.modal-content,
.message-item {
  border-radius: var(--radius) !important;
}

.top-nav {
  height: 64px;
  background: #17315f;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 22px rgba(16, 38, 77, 0.16);
}

.nav-content {
  padding: 0 28px;
}

.nav-brand h1 {
  font-size: 18px;
  font-weight: 750;
  letter-spacing: 0;
}

.nav-actions .btn,
.message-btn {
  min-height: 40px;
  border-radius: 999px !important;
  font-weight: 650;
  box-shadow: none;
}

.nav-actions .btn-secondary {
  background: rgba(255, 255, 255, 0.94);
  color: #17315f;
  border-color: rgba(255, 255, 255, 0.7);
}

.nav-actions .btn-secondary:hover,
.message-btn:hover {
  transform: translateY(-1px);
}

.message-btn {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.28);
}

.tab-nav {
  top: 64px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(248, 251, 253, .96) 100%);
  backdrop-filter: none;
  border-bottom: 1px solid #d9e5ef;
  box-shadow: 0 6px 18px rgba(15, 31, 56, 0.055);
  overflow: hidden;
  max-width: 100vw;
}

.tab-nav-content {
  width: min(100%, 100vw);
  min-width: 0;
  max-width: 100vw;
  box-sizing: border-box;
  padding: 9px clamp(8px, .8vw, 16px);
  gap: clamp(3px, .3vw, 6px);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  overflow-x: hidden;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
}

.tab-nav-content::-webkit-scrollbar {
  display: none;
}

.tab-btn {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: 0 clamp(3px, .45vw, 8px);
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, .56);
  color: #53657a;
  font-size: clamp(10px, .64vw, 12px);
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(2px, .25vw, 5px);
  white-space: nowrap;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42);
}

.tab-label {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tab-workflow-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e4f4f0;
  color: #17684d;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: inset 0 0 0 1px rgba(23, 104, 77, .07);
}

.tab-btn:hover {
  border-color: #c6d8e8;
  background: #ffffff;
  color: var(--primary);
  box-shadow: 0 10px 22px rgba(25, 55, 92, .08);
  transform: translateY(-1px);
}

.tab-btn-action {
  flex: .92 1 0;
  border-color: #b9d8d2;
  background: linear-gradient(135deg, #f7fffc 0%, #e9f7f3 100%);
  color: #0f6a62;
  box-shadow: inset 0 0 0 1px rgba(23, 104, 77, .08);
}

.tab-btn-action::before {
  content: '+';
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: #0d6a70;
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.tab-btn-action:hover {
  border-color: #8fc5bb;
  background: #ffffff;
  color: #0d6a70;
  box-shadow: 0 12px 24px rgba(13, 106, 112, .12);
}

.tab-btn.active {
  border-color: #b9d6d1;
  background:
    linear-gradient(135deg, #ffffff 0%, #edf8f5 100%);
  color: #12345f;
  box-shadow:
    inset 0 0 0 1px rgba(47, 127, 117, 0.11),
    0 12px 24px rgba(23, 104, 77, 0.12);
}

.tab-btn.active .tab-workflow-count {
  background: #cfece5;
  color: #0f766e;
}

.tab-btn.active::after {
  display: none;
}

.main-content {
  margin: 0;
  padding: 0 0 56px;
}

@media (min-width: 961px) {
  #mainPage .main-content {
    width: 100%;
    max-width: 100%;
    min-height: calc(100vh - 64px);
    padding-bottom: 56px;
    overflow-x: hidden;
    min-width: 0;
  }

  #mainPage .main-footer {
    margin-left: 0;
    width: 100%;
  }

  #mainPage .pm-page,
  #mainPage .tab-panel,
  #mainPage .pre-review-wrapper,
  #mainPage .panel-body,
  #mainPage #tabContent,
  #mainPage #permissionsContent {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  #mainPage .pm-card,
  #mainPage .card,
  #mainPage .panel-body > *,
  #mainPage #permissionsContent > * {
    max-width: 100%;
    min-width: 0;
  }

  #mainPage .table-scroll-container,
  #mainPage .table-scroll-outer,
  #mainPage .table-wrapper,
  #mainPage .pm-library-table-wrap {
    max-width: 100%;
    min-width: 0;
  }
}

.pm-page {
  background: var(--bg) !important;
  padding: 28px !important;
}

.pm-page-header {
  padding: 4px 0 2px;
  margin-bottom: 20px !important;
}

.pm-page-header h2 {
  font-size: 24px !important;
  color: #0f1f38 !important;
  font-weight: 800 !important;
}

.pm-page-header p {
  color: var(--text-muted) !important;
  font-size: 14px !important;
}

.pm-page-actions .btn {
  min-height: 42px;
}

.pm-card,
.card,
.panel-body {
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-soft) !important;
  background: #fff !important;
}

.pm-card + .pm-card {
  margin-top: 16px;
}

.pm-stat-grid {
  align-items: stretch;
}

.pm-stat-card {
  min-height: 104px;
  position: relative;
}

.pm-stat-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 3px;
  border-radius: 999px;
  background: var(--secondary);
}

.pm-overview-stat-card {
  display: block;
  width: 100%;
  min-width: 0;
  border-radius: 8px;
  background: #fff;
  text-align: left;
}

.pm-overview-stat-button {
  appearance: none;
  border: 1px solid var(--border) !important;
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-overview-stat-button:hover {
  transform: translateY(-2px);
  border-color: #d7a5a5 !important;
  background: #fffafa !important;
  box-shadow: 0 10px 24px rgba(112, 28, 28, .12) !important;
}

.pm-overview-stat-button:focus-visible {
  outline: 3px solid rgba(29, 95, 180, .22);
  outline-offset: 3px;
}

.pm-overview-rejected-button::before {
  background: #a33a3a;
}

.pm-stat-card-hint {
  margin-top: 10px;
  color: #8f2f2f;
  font-size: 12px;
  font-weight: 850;
}

#workspaceGuideLauncher {
  display: none !important;
}

.pm-overview-dashboard {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pm-overview-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbfb 58%, #f9f5ed 100%);
  box-shadow: 0 16px 38px rgba(18, 44, 78, .07);
}

.pm-overview-hero > div:first-child {
  flex: 1 1 420px;
  min-width: 0;
}

.pm-overview-hero span {
  display: inline-flex;
  color: #167454;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pm-overview-hero h3 {
  margin: 8px 0 6px;
  color: #102544;
  font-size: 28px;
  line-height: 1.18;
  font-weight: 950;
  letter-spacing: 0;
}

.pm-overview-hero p {
  margin: 0;
  max-width: 620px;
  color: #607085;
  font-size: 14px;
  line-height: 1.7;
}

.pm-overview-hero-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(88px, 1fr));
  gap: 10px;
  flex: 0 1 520px;
  width: min(100%, 520px);
  min-width: 0;
}

.pm-overview-hero-metrics button,
.pm-overview-metric-card,
.pm-overview-breakdown-row {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.pm-overview-hero-metrics button {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  padding: 16px 14px;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  text-align: center;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pm-overview-hero-metrics button:hover,
.pm-overview-metric-card:hover,
.pm-overview-breakdown-row:hover {
  transform: translateY(-2px);
  border-color: #b9cce3;
  box-shadow: 0 14px 28px rgba(17, 46, 76, .11);
}

.pm-overview-hero-metrics strong {
  display: block;
  color: #17315f;
  font-size: 28px;
  line-height: 1;
  font-weight: 950;
}

.pm-overview-hero-metrics span {
  margin-top: 8px;
  color: #66758a;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.pm-overview-metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 12px;
}

.pm-overview-metric-card {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  min-height: 116px;
  padding: 16px 16px 14px;
  border: 1px solid #e2e9f3;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 24px rgba(19, 38, 68, .055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pm-overview-metric-card span {
  display: block;
  color: #66758a;
  font-size: 12px;
  font-weight: 850;
}

.pm-overview-metric-card strong {
  display: block;
  margin-top: 12px;
  color: #17315f;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}

.pm-overview-metric-card small {
  display: block;
  margin-top: 11px;
  color: #7a8798;
  font-size: 12px;
  font-weight: 750;
}

.pm-overview-metric-teal strong,
.pm-overview-metric-green strong {
  color: #167454;
}

.pm-overview-metric-gold strong {
  color: #73510d;
}

.pm-overview-metric-purple strong {
  color: #72509d;
}

.pm-overview-metric-red strong {
  color: #a33a3a;
}

.pm-overview-breakdown,
.pm-overview-flow-panel {
  border: 1px solid #e2e9f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 44, 78, .055);
}

.pm-overview-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px 10px;
}

.pm-overview-section-head h3 {
  margin: 0;
  color: #142842;
  font-size: 16px;
  font-weight: 950;
}

.pm-overview-section-head p {
  margin: 5px 0 0;
  color: #708096;
  font-size: 13px;
  line-height: 1.6;
}

.pm-overview-section-head button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  background: #f8fbff;
  color: #17315f;
  font-weight: 850;
  cursor: pointer;
}

.pm-overview-analysis-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pm-overview-breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 18px 18px;
}

.pm-overview-breakdown-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px 50px;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  overflow: hidden;
  padding: 10px 12px;
  border: 1px solid #e5ebf3;
  border-radius: 8px;
  background: #fbfcff;
  color: #24364d;
  text-align: left;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pm-overview-breakdown-row span,
.pm-overview-breakdown-row strong,
.pm-overview-breakdown-row em {
  position: relative;
  z-index: 1;
}

.pm-overview-breakdown-row span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 850;
}

.pm-overview-breakdown-row strong {
  color: #17315f;
  font-size: 16px;
  font-weight: 950;
  text-align: right;
}

.pm-overview-breakdown-row em {
  color: #78869a;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.pm-overview-breakdown-row i {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  border-radius: 0 999px 999px 0;
  background: #1d5fb4;
}

.pm-overview-flow-panel {
  padding-bottom: 18px;
}

.pm-overview-flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  padding: 0 18px;
}

.pm-flow-card-main {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.pm-flow-card-main div {
  color: #1f2937;
  font-size: 14px;
  font-weight: 800;
}

.pm-flow-card-main strong {
  color: #0f3478;
  font-size: 20px;
  line-height: 1;
  font-weight: 950;
}

.pm-overview-modal {
  width: min(1120px, calc(100vw - 44px));
  max-height: min(86vh, 900px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 8px;
}

.pm-overview-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e6edf5;
  background: #fbfcff;
}

.pm-overview-modal-kicker {
  color: #167454;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pm-overview-modal-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 24px;
  border-bottom: 1px solid #e6edf5;
  background: #fff;
}

.pm-overview-modal-summary div {
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 12px;
  border: 1px solid #e5ebf3;
  border-radius: 8px;
  background: #fbfcff;
  text-align: center;
}

.pm-overview-modal-summary span {
  display: block;
  color: #69798f;
  font-size: 12px;
  font-weight: 800;
}

.pm-overview-modal-summary strong {
  display: block;
  margin-top: 6px;
  color: #17315f;
  font-size: 22px;
  line-height: 1;
  font-weight: 950;
}

.pm-overview-modal-body {
  min-height: 0;
  overflow: auto;
  padding: 16px 24px 20px;
  background: #f6f8fb;
}

.pm-overview-ms-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  padding: 16px;
  border: 1px solid #e2e9f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(18, 44, 78, .045);
}

.pm-overview-ms-card + .pm-overview-ms-card {
  margin-top: 10px;
}

.pm-overview-ms-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-overview-ms-top strong {
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
}

.pm-overview-ms-status {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-overview-ms-card h4 {
  margin: 10px 0 0;
  color: #102544;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.pm-overview-ms-en {
  margin-top: 4px;
  color: #526278;
  font-size: 13px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-overview-ms-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.pm-overview-ms-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #526278;
  font-size: 12px;
  font-weight: 750;
}

.pm-overview-ms-content {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e6edf5;
  border-radius: 8px;
  background: #fbfcff;
}

.pm-overview-ms-content span,
.pm-overview-ms-funding span {
  display: block;
  margin-bottom: 5px;
  color: #66758a;
  font-size: 12px;
  font-weight: 900;
}

.pm-overview-ms-content p {
  margin: 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.pm-overview-ms-funding {
  margin-top: 10px;
  color: #4b5563;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.pm-overview-ms-detail {
  align-self: start;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #cdd9e8;
  border-radius: 8px;
  background: #fff;
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.pm-overview-ms-detail:hover {
  border-color: #9fb8d7;
  background: #f7fbff;
}

.pm-overview-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #e6edf5;
  background: #fff;
}

.pm-overview-empty {
  padding: 22px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}

.pm-flow-card {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pm-flow-card:hover {
  border-color: rgba(22, 116, 84, 0.45) !important;
  box-shadow: 0 8px 22px rgba(17, 32, 51, 0.1);
  transform: translateY(-1px);
}

.pm-flow-card-rejected {
  border-color: #efd6d6 !important;
  background: #fffafa !important;
}

.pm-stage-pill,
.pm-status-pill {
  border-radius: 999px !important;
  font-weight: 750 !important;
}

.pm-stage-rejected {
  background: #fbecec !important;
  color: #a33a3a !important;
}

.pm-stage-completed {
  background: #e8f5ee !important;
  color: #167454 !important;
}

.pm-stage-polishing,
.pm-stage-word_cleanup,
.pm-stage-typesetting,
.pm-stage-issue_grouping {
  background: #f3edf8 !important;
  color: #70438a !important;
}

.form-label {
  color: #334155;
  font-weight: 750;
}

.form-input,
select.form-input,
textarea.form-input {
  min-height: 42px;
  border-color: var(--border);
  border-radius: 8px;
  color: var(--text-main);
}

.form-input:hover,
select.form-input:hover,
textarea.form-input:hover {
  border-color: #c7d3e2;
}

.btn {
  min-height: 40px;
  border-radius: 8px;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
}

.btn-secondary {
  background: #ffffff;
  color: #27364a;
  border-color: var(--border);
}

.btn-secondary:hover {
  background: #f6f9fc;
  border-color: #c7d3e2;
}

.btn-danger {
  background: #fbecec;
  color: var(--danger);
  border-color: #efc8c8;
}

.table-wrapper {
  border-color: var(--border);
  border-radius: 8px;
  background: #fff;
}

.pm-page .manuscript-table {
  min-width: 1420px;
}

.pm-page .manuscript-table th,
.pm-page .manuscript-table td {
  padding: 10px 12px;
  border-bottom-color: #e8edf3;
  font-size: 13px;
}

.pm-page .manuscript-table th {
  background: #f7f9fc;
  color: #334155;
  font-weight: 800;
}

.pm-page .manuscript-table tbody tr:hover {
  background: #f8fbfd;
}

.pm-empty {
  background: #fbfcfe;
  border-radius: 8px;
}

.tab-panel {
  padding: 24px;
  background: var(--bg);
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.panel-header h2 {
  margin: 0;
  color: #0f1f38;
  font-size: 24px;
}

.panel-body {
  padding: 18px;
}

.permissions-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.permissions-title-icon,
.perm-create-modal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #eef6f3;
  color: #167454;
}

.permissions-title-icon svg,
.perm-create-modal-icon svg,
.perm-create-user-btn svg,
.perm-refresh-btn svg,
.permissions-info-btn svg,
.permissions-edit-btn svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.perm-create-user-btn,
.perm-refresh-btn,
.permissions-info-btn,
.permissions-edit-btn {
  min-height: 40px;
  border-radius: 9px;
}

.perm-create-user-btn svg,
.perm-refresh-btn svg,
.permissions-info-btn svg,
.permissions-edit-btn svg {
  flex: 0 0 18px;
}

.permissions-help {
  display: grid;
  grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr);
  gap: 14px 18px;
  margin-bottom: 18px;
  padding: 15px 16px;
  border: 1px solid #cfe6df;
  border-left: 4px solid #167454;
  border-radius: 10px;
  background: #f5fbf8;
}

.permissions-help h4 {
  margin: 0 0 4px;
  color: #115e48;
  font-size: 15px;
  font-weight: 900;
}

.permissions-help p {
  margin: 0;
  color: #526a86;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

.permissions-help-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 6px 14px;
  color: #1f5f7a;
  font-size: 13px;
}

.permissions-help-grid span {
  min-width: 0;
  line-height: 1.45;
}

.permissions-user-list {
  display: grid;
  gap: 14px;
}

.permissions-user-card {
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(15, 31, 56, .045);
}

.permissions-user-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
  padding-bottom: 13px;
  border-bottom: 1px solid #edf2f7;
}

.permissions-user-identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.permissions-user-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #17315f;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}

.permissions-user-text {
  min-width: 0;
}

.permissions-user-text > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.permissions-user-name {
  color: #102744;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
}

.permissions-login-name {
  display: block;
  margin-top: 4px;
  color: #7a8ba0;
  font-size: 12px;
  font-weight: 700;
}

.permissions-user-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 4px;
  color: #7a8ba0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.permissions-user-meta span {
  min-width: 0;
}

.permissions-role-chip,
.permissions-status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

.permissions-role-chip {
  background: #eef4fb;
  color: #24548c;
}

.permissions-status-chip.is-active {
  background: #e9f8ef;
  color: #167454;
}

.permissions-status-chip.is-disabled {
  background: #fff1f1;
  color: #b42318;
}

.permissions-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
  gap: 10px;
}

.permissions-info-btn,
.permissions-edit-btn {
  min-width: 112px;
  flex-shrink: 0;
}

.permissions-info-btn {
  border-color: #cfe0f5;
  background: #f8fbff;
  color: #174d92;
}

.permissions-preview {
  color: #5f7187;
  font-size: 13px;
}

.permissions-preview-label {
  display: block;
  color: #314762;
  font-weight: 850;
}

.permissions-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

.permissions-preview-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 7px;
  background: #edf7ff;
  color: #1864ab;
  font-size: 12px;
  font-weight: 780;
}

.permissions-preview-empty {
  color: #b42318;
  font-weight: 780;
}

.permissions-preview-muted {
  color: #94a3b8;
}

.perm-create-modal {
  width: min(560px, 96vw) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

.perm-info-modal {
  width: min(600px, 96vw) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

.perm-create-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #e6edf5;
  background: #fff;
}

.perm-create-modal-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.perm-create-modal-title > div > div {
  color: #102744;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.35;
}

.perm-create-modal-title p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.perm-info-modal-icon {
  background: #eef4fb;
  color: #174d92;
}

.perm-create-form {
  display: grid;
  gap: 14px;
  padding: 20px;
  background: #fbfdff;
}

.perm-info-readonly {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  background: #f8fbff;
}

.perm-info-readonly span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.perm-info-readonly strong {
  min-width: 0;
  color: #102744;
  font-size: 14px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.perm-info-grid {
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 12px;
}

.perm-create-field {
  display: grid;
  gap: 6px;
}

.perm-create-field small {
  color: #6f8196;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.perm-create-note {
  padding: 11px 12px;
  border: 1px solid #dbeafe;
  border-radius: 9px;
  background: #f8fbff;
  color: #334155;
  font-size: 13px;
  line-height: 1.6;
}

.perm-create-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 2px;
}

@media (max-width: 720px) {
  .permissions-help {
    grid-template-columns: 1fr;
  }

  .permissions-user-head {
    align-items: stretch;
    flex-direction: column;
  }

  .permissions-card-actions {
    justify-content: stretch;
    flex-direction: column;
  }

  .permissions-info-btn,
  .permissions-edit-btn,
  .perm-create-footer .btn {
    width: 100%;
  }

  .perm-info-grid {
    grid-template-columns: 1fr;
  }

  .perm-create-footer {
    flex-direction: column-reverse;
  }
}

.pre-review-wrapper {
  padding: 28px !important;
  background: var(--bg) !important;
}

.pre-review-header,
.feature-card,
.upload-section,
.result-section,
.analysis-card,
.history-modal .modal-content {
  border-radius: 8px !important;
  box-shadow: var(--shadow-soft) !important;
  border: 1px solid var(--border) !important;
}

.pre-review-header {
  background: #ffffff !important;
}

.feature-card {
  background: #ffffff !important;
}

.upload-area {
  border-radius: 8px !important;
  border-color: #c9d6e5 !important;
}

.modal {
  background: rgba(15, 31, 56, 0.46);
}

.modal-content {
  border: 1px solid var(--border);
  box-shadow: 0 24px 70px rgba(15, 31, 56, 0.22);
}

.modal-header {
  border-bottom-color: var(--border);
}

@media (max-width: 960px) {
  .nav-content,
  .tab-nav-content {
    padding-left: 14px;
    padding-right: 14px;
  }

  .top-nav {
    height: auto;
    min-height: 64px;
  }

  .nav-content {
    flex-direction: column;
    align-items: stretch;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .nav-actions {
    justify-content: flex-start;
    gap: 8px;
  }

  .tab-nav {
    top: 0;
    position: sticky;
  }

  .tab-nav-content {
    padding-top: 8px;
    padding-bottom: 8px;
    gap: 4px;
  }

  .tab-btn {
    justify-content: center;
    min-height: 40px;
    padding: 0 5px;
    font-size: 11px;
  }

  .tab-workflow-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    font-size: 10px;
  }

  .pm-page,
  .pre-review-wrapper,
  .tab-panel {
    padding: 16px !important;
  }

  .pm-page-header,
  .panel-header {
    flex-direction: column;
    align-items: stretch !important;
  }

  .pm-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .pm-stat-grid {
    grid-template-columns: 1fr !important;
  }

  .btn,
  .nav-actions .btn,
  .message-btn {
    min-height: 44px;
  }
}

.message-type.proofread {
  background: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);
  color: #6b21a8;
  box-shadow: 0 1px 3px rgba(107, 33, 168, 0.1);
}

.message-type.reform {
  background: linear-gradient(135deg, #ffedd5 0%, #fed7aa 100%);
  color: #9a3412;
  box-shadow: 0 1px 3px rgba(154, 52, 18, 0.1);
}

.message-type.deadline {
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
  color: #991b1b;
  box-shadow: 0 1px 3px rgba(153, 27, 27, 0.1);
}

.unread-indicator {
  color: var(--danger);
  font-size: 18px;
  line-height: 1;
  margin-left: auto;
}

.message-title {
  font-weight: 600;
  font-size: 16px;
  color: #111827;
  margin-bottom: 8px;
  line-height: 1.4;
}

.message-content {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.7;
  margin-bottom: 12px;
}

.message-manuscript {
  margin-top: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  border-radius: 8px;
  font-size: 13px;
  color: #6b7280;
  border: 1px solid #e5e7eb;
}

.message-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}

.message-time {
  font-size: 12px;
  color: #9ca3af;
  display: flex;
  align-items: center;
  gap: 4px;
}

.message-time::before {
  content: '🕐';
  font-size: 14px;
}

.message-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.message-actions .btn {
  padding: 7px 16px;
  font-size: 13px;
  border-radius: 8px;
  transition: all 0.3s;
  font-weight: 500;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.message-actions .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.message-actions .btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, #b91c1c 100%);
}

.message-actions .btn-outline {
  border-width: 1.5px;
}

.message-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 24px 0;
  padding: 16px;
  background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);
  border-radius: 12px;
  border: 1px solid #e5e7eb;
}

.message-stats-detail {
  margin-top: 30px;
  padding: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.message-stats-detail h3 {
  font-size: 17px;
  margin-bottom: 18px;
  color: #111827;
  font-weight: 600;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--primary);
}

/* =====================
   小工具条（排序/筛选条常用容器）
===================== */
.toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}

.toolbar .form-input {
  width: auto;
  min-width: 180px;
}

/* =====================
   响应式
===================== */
@media (max-width: 768px) {
  .nav-content,
  .main-content {
    padding-left: 12px;
    padding-right: 12px;
  }

  .login-card {
    width: 92vw;
    padding: 30px 22px;
  }

  .brand-lockup-login {
    align-items: center;
    gap: 10px;
  }

  .brand-lockup-login .brand-mark {
    width: 36px;
    height: 36px;
  }

  .login-logo h1 {
    font-size: 18px;
  }

  th, td { max-width: 220px; }
  table { min-width: 1100px; }
  .modal-content { width: 96vw; }
}
/* =====================================================
   PATCH：表格所有列强制一行 + 不省略 + 横向滚动查看（最终版）
   目标：
   - 所有 th/td 一律不换行
   - 不出现省略号
   - 内容完整展示（通过横向滚动查看）
===================================================== */

/* 1) 表格容器：开启横向滚动 */
.table-wrapper{
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* 2) 表格：宽度按内容撑开（关键），不要被父容器压扁 */
.table-wrapper table{
  width: max-content !important;   /* 让表格按内容自然扩展 */
  min-width: 100% !important;      /* 同时保证不比容器窄（避免很少列时难看） */
  table-layout: auto !important;   /* 不要 fixed，否则容易挤压 */
}

/* 3) 所有表头/单元格：一行展示 + 不省略 + 不断词 */
.table-wrapper th,
.table-wrapper td{
  white-space: nowrap !important;  /* 一行 */
  overflow: visible !important;    /* 不裁剪 */
  text-overflow: clip !important;  /* 不省略号 */
  max-width: none !important;      /* 取消你之前的 max-width */
  word-break: keep-all !important; /* 不拆字 */
  overflow-wrap: normal !important;/* 不强制断行 */
}

/* 3b) 文题列允许换行（覆盖上面的 nowrap） */
.table-wrapper td .title-cell,
.table-wrapper td.title-cell{
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: break-word !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* 4) 额外：防止某些元素（按钮/标签）把单元格撑出奇怪高度 */
.table-wrapper td .btn,
.table-wrapper td .status,
.table-wrapper td a{
  white-space: nowrap !important;
}
/* =====================================================
   Safari 兼容性补丁（修复 DevTools 提示）
   1) user-select -> -webkit-user-select
   2) backdrop-filter -> -webkit-backdrop-filter + 降级
===================================================== */

/* 1) 按钮禁止选中文本：Safari 需要 -webkit-user-select */
.btn{
  -webkit-user-select: none;   /* Safari */
  user-select: none;           /* Standard */
  -webkit-touch-callout: none; /* iOS Safari 长按不弹出菜单（可选但推荐） */
}

/* 2) 你截图提示的 backdrop-filter：Safari 需要 -webkit-backdrop-filter
   如果你是在 #stickyHScrollBar .hscroll-outer 里用的，就在 CSS 里补这一段。
   （你截图显示它在 index.html 里写了 backdrop-filter，所以这段放 CSS 里能彻底消掉提示） */
#stickyHScrollBar .hscroll-outer{
  /* 建议给半透明背景，不然 blur 可能看起来没效果 */
  background: rgba(255, 255, 255, 0.65);

  -webkit-backdrop-filter: blur(6px); /* Safari */
  backdrop-filter: blur(6px);         /* Standard */
}

/* 2.1) 降级：如果浏览器不支持 backdrop-filter，就用更实一点的背景 */
@supports not ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))) {
  #stickyHScrollBar .hscroll-outer{
    background: rgba(255, 255, 255, 0.92);
  }
}

/* =====================================================
   FINAL SIMPLE PATCH
   表格顶部增加一个原生横向滚动条
===================================================== */

/* 顶部横向滚动条容器 */
.table-wrapper::before{
  content: "";
  display: block;
  height: 14px;
  overflow-x: auto;
  overflow-y: hidden;
}

/* 让顶部滚动条可滚 */
.table-wrapper::before{
  scrollbar-color: #cbd5e1 #f3f4f6;
}

/* WebKit 滚动条高度 */
.table-wrapper::before::-webkit-scrollbar{
  height: 14px;
}

/* =====================================================
   FINAL PATCH - 表格顶部横向滚动条（真实 DOM 版）
===================================================== */

.table-scroll-outer{
  width: 100%;
}

.table-scroll-top{
  height: 14px;
  overflow-x: auto;
  overflow-y: hidden;
}

.table-scroll-top > div{
  height: 1px;
}

/* =====================================================
   终极样式补丁 v3.0
   - 双滚动条样式
   - 统一表格样式
   - 图标按钮优化
===================================================== */

/* 双滚动条容器 */
.table-scroll-container {
  width: 100%;
  overflow: hidden;
  margin-bottom: 0;
}

.table-scroll-bar {
  width: 100%;
  height: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  background: linear-gradient(to bottom, #f8f8f8, #f0f0f0);
  margin-bottom: 12px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}

.table-scroll-bar::-webkit-scrollbar {
  height: 14px;
}

.table-scroll-bar::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 8px;
}

.table-scroll-bar::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #c0c0c0, #a0a0a0);
  border-radius: 8px;
  border: 2px solid #f0f0f0;
}

.table-scroll-bar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #a0a0a0, #808080);
}

.scroll-bar-inner {
  height: 1px;
  pointer-events: none;
}

/* 表格容器 */
.table-wrapper {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  background: white;
}

.table-wrapper::-webkit-scrollbar {
  height: 14px;
}

.table-wrapper::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 8px;
}

.table-wrapper::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #c0c0c0, #a0a0a0);
  border-radius: 8px;
  border: 2px solid #f0f0f0;
}

.table-wrapper::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #a0a0a0, #808080);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  font-size: 13px;
}

.data-table thead {
  background: linear-gradient(to bottom, #f8f9fa, #e9ecef);
  position: sticky;
  top: 0;
  z-index: 10;
}

.data-table th {
  padding: 2px 4px;
  text-align: left;
  font-weight: 600;
  color: #2c3e50;
  border-bottom: 2px solid #dee2e6;
  white-space: nowrap;
  font-size: 13px;
}

.data-table td {
  padding: 2px 4px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
  font-size: 13px;
}

.data-table tbody tr:hover {
  background: #f8f9fa;
}

.data-table tbody tr.dragging {
  opacity: 0.4;
  background: #e3f2fd;
}

/* 图标按钮（✏️编辑按钮） */
.icon-btn {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 4px 8px;
  transition: transform 0.2s, opacity 0.2s;
  opacity: 0.7;
}

.icon-btn:hover {
  transform: scale(1.2);
  opacity: 1;
}

.icon-btn:active {
  transform: scale(0.95);
}

/* 操作列 */
.action-cell {
  text-align: center;
  padding: 8px !important;
}

/* 拖动手柄 */
.drag-handle {
  cursor: move;
  text-align: center;
  color: #999;
  font-size: 16px;
  user-select: none;
}

.drag-handle:hover {
  color: #333;
}

/* 卡片头部带检索 */
.card-header-with-search {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e9ecef;
}

.card-header-with-search .card-title {
  font-size: 20px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
}

/* 检索框 */
.search-box {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-input {
  width: 280px;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 14px;
}

.search-input:focus {
  border-color: #4CAF50;
outline: none;
box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}

.search-btn {
padding: 8px 16px;
background: #4CAF50;
color: white;
border: none;
border-radius: 6px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
white-space: nowrap;
}

.search-btn:hover {
background: #45a049;
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.search-btn:active {
transform: translateY(0);
}

/* 工具栏 */
.toolbar {
display: flex;
gap: 10px;
margin-bottom: 16px;
flex-wrap: wrap;
}

/* 期数分组 */
.issue-section {
margin-bottom: 32px;
}

.issue-header {
font-size: 16px;
font-weight: 700;
padding: 12px 16px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border-radius: 8px;
margin-bottom: 12px;
box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

/* 快捷面板 */
.quick-panels {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 24px;
}

.quick-panel {
background: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 12px;
padding: 16px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.panel-title {
font-size: 15px;
font-weight: 700;
margin-bottom: 12px;
color: #2c3e50;
padding-bottom: 8px;
border-bottom: 2px solid #e9ecef;
}

.panel-content {
display: flex;
flex-direction: column;
gap: 8px;
}

.panel-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 12px;
background: white;
border: 1px solid #e9ecef;
border-radius: 6px;
transition: all 0.2s;
}

.panel-row:hover {
background: #f1f3f5;
border-color: #4CAF50;
transform: translateX(2px);
}

.panel-label {
font-weight: 600;
color: #495057;
}

.panel-empty {
text-align: center;
color: #adb5bd;
padding: 20px;
font-size: 13px;
}

/* 按钮尺寸 */
.btn-sm {
padding: 6px 12px;
font-size: 13px;
border-radius: 5px;
}

/* 状态徽章 */
.status-badge {
display: inline-block;
padding: 4px 10px;
border-radius: 12px;
font-size: 12px;
font-weight: 600;
white-space: nowrap;
}

.status-success {
background: #d4edda;
color: #155724;
}

.status-warning {
background: #fff3cd;
color: #856404;
}

.status-danger {
background: #f8d7da;
color: #721c24;
}

.status-info {
background: #d1ecf1;
color: #0c5460;
}

.status-default {
background: #e9ecef;
color: #495057;
}

/* 链接按钮 */
.link-btn {
color: #007bff;
text-decoration: none;
font-weight: 600;
transition: all 0.2s;
}

.link-btn:hover {
color: #0056b3;
text-decoration: underline;
}

/* 表单控件 */
.form-select {
padding: 6px 10px;
border: 1px solid #ced4da;
border-radius: 5px;
font-size: 13px;
background: white;
cursor: pointer;
transition: border-color 0.2s;
}

.form-select:hover {
border-color: #4CAF50;
}

.form-select:focus {
border-color: #4CAF50;
outline: none;
box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1);
}

.form-select.compact {
min-width: 120px;
max-width: 180px;
}

/* 空状态 */
.empty-state, .empty-cell {
text-align: center;
padding: 40px 20px;
color: #adb5bd;
font-size: 14px;
}

/* 响应式调整 */
@media (max-width: 1200px) {
.quick-panels {
grid-template-columns: 1fr;
}

.search-input {
width: 200px;
}
}

@media (max-width: 768px) {
.card-header-with-search {
flex-direction: column;
align-items: flex-start;
gap: 12px;
}

.search-box {
width: 100%;
}

.search-input {
flex: 1;
}
}

/* 动画效果 */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.issue-section {
animation: fadeIn 0.3s ease;
}

/* 确保所有页面样式一致 */
#tabContent .card {
background: white;
border-radius: 12px;
padding: 24px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* 打印样式优化 */
@media print {
.search-box,
.toolbar,
.icon-btn,
.drag-handle,
.quick-panels {
display: none !important;
}

.table-scroll-bar {
display: none !important;
}

.table-wrapper {
overflow: visible !important;
border: none !important;
}
}


/* 本文编辑工作台补充样式 */

/* 截止日期徽章 */
.deadline-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  background: #ff6b6b;
  color: white;
  margin-left: 8px;
}

.deadline-overdue {
  color: #d32f2f;
  font-weight: 700;
  animation: pulse 1.5s ease-in-out infinite;
}

.deadline-urgent {
  color: #f57c00;
  font-weight: 700;
}

.deadline-normal {
  color: #388e3c;
  font-weight: 600;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* 紧急面板行 */
.panel-urgent {
  border-left: 3px solid #f44336;
  background: #ffebee;
}

.panel-urgent:hover {
  background: #ffcdd2;
}

/* 高亮行（待处理） */
.row-highlight {
  background: #fff9e6 !important;
  border-left: 3px solid #ffa726;
}

.row-highlight:hover {
  background: #fff3d1 !important;
}

/* 快捷面板（如果之前没有） */
.quick-panels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.quick-panel {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.panel-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #2c3e50;
  padding-bottom: 8px;
  border-bottom: 2px solid #e9ecef;
}

.panel-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.panel-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: white;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  transition: all 0.2s;
}

.panel-row:hover {
  background: #f1f3f5;
  border-color: #4CAF50;
  transform: translateX(2px);
}

.panel-label {
  font-weight: 600;
  color: #495057;
}

.panel-empty {
  text-align: center;
  color: #adb5bd;
  padding: 20px;
  font-size: 13px;
}

/* 响应式调整 */
@media (max-width: 1400px) {
  .quick-panels {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .quick-panels {
    grid-template-columns: 1fr;
  }
}

/* =====================================================
   聚类功能完整样式 v4.0
===================================================== */

/* 筛选容器 */
.filter-bar-container {
  background: white;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.filter-section {
  margin-bottom: 20px;
}

.filter-section:last-child {
  margin-bottom: 0;
}

.section-title {
  font-size: 15px;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #e9ecef;
}

/* 排序行 */
.filter-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* 筛选网格 */
.filter-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.filter-label {
  font-size: 13px;
  font-weight: 600;
  color: #495057;
}

.form-select.compact {
  padding: 6px 10px;
  font-size: 13px;
}

/* 筛选操作按钮 */
.filter-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #e9ecef;
}

.filter-count {
  margin-left: auto;
  font-size: 13px;
  color: #6c757d;
  font-weight: 600;
}

/* 响应式调整 */
@media (max-width: 1400px) {
  .filter-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .advanced-filters-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 992px) {
  .filter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .advanced-filters-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .filter-grid {
    grid-template-columns: 1fr;
  }
  
  .filter-row {
    flex-direction: column;
  }
}

/* 按钮样式优化 */
.btn-info {
  background: #17a2b8;
  color: white;
  border: none;
}

.btn-info:hover {
  background: #138496;
}

.btn-sm {
  padding: 6px 12px;
  font-size: 13px;
}

/* 滚动条美化 */
.advanced-filters-grid::-webkit-scrollbar {
  width: 8px;
}

.advanced-filters-grid::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.advanced-filters-grid::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.advanced-filters-grid::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* =====================================================
   补丁 v5.4 - 样式修复
   1. 隐藏下方滚动条
   2. 编辑弹窗垂直布局
===================================================== */

/* 隐藏表格容器的底部滚动条 */
.table-wrapper {
  width: 100%;
  overflow-x: hidden !important; /* 强制隐藏底部滚动条 */
  overflow-y: visible;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  background: white;
}

/* 保持顶部滚动条样式 */
.table-scroll-bar {
  width: 100%;
  height: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  background: linear-gradient(to bottom, #f8f8f8, #f0f0f0);
  margin-bottom: 12px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}

.table-scroll-bar::-webkit-scrollbar {
  height: 14px;
}

.table-scroll-bar::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 8px;
}

.table-scroll-bar::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #c0c0c0, #a0a0a0);
  border-radius: 8px;
  border: 2px solid #f0f0f0;
}

.table-scroll-bar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #a0a0a0, #808080);
}

.scroll-bar-inner {
  height: 1px;
  pointer-events: none;
}

/* 编辑弹窗垂直布局 */
.modal-vertical-layout {
  max-width: 700px;
  width: 95%;
}

.modal-body-vertical {
  max-height: 70vh;
  overflow-y: auto;
  padding: 24px;
}

.modal-body-vertical .form-group {
  margin-bottom: 16px;
}

.modal-body-vertical .form-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 6px;
}

.modal-body-vertical .form-label .required {
  color: #dc3545;
}

.modal-body-vertical .form-input,
.modal-body-vertical .form-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ced4da;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.modal-body-vertical .form-input:focus,
.modal-body-vertical .form-select:focus {
  border-color: #667eea;
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.modal-body-vertical textarea.form-input {
  resize: vertical;
  min-height: 80px;
}

/* 优化滚动条样式 */
.modal-body-vertical::-webkit-scrollbar {
  width: 10px;
}

.modal-body-vertical::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 5px;
}

.modal-body-vertical::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}

.modal-body-vertical::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* 响应式调整 */
@media (max-width: 768px) {
  .modal-vertical-layout {
    width: 98%;
    max-width: none;
  }

  .modal-body-vertical {
    max-height: 65vh;
    padding: 16px;
  }
}

/* =====================================================
   期数管理UI样式 (从 issue_management.css 合并)
   版本: V3.0
   日期: 2025-12-26
   ===================================================== */

/* 页面容器 */
.issue-management-container {
  padding: 20px;
  max-width: 1400px;
  margin: 0 auto;
}

/* 页面标题区 */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 2px solid #e0e0e0;
}

.page-title {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  color: #2c3e50;
}

.page-subtitle {
  margin: 5px 0 0 0;
  font-size: 14px;
  color: #7f8c8d;
}

/* 表格容器 */
.table-container {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

/* 空状态 */
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #95a5a6;
}

.empty-state p:first-child {
  font-size: 48px;
  margin: 0 0 10px 0;
}

.text-muted {
  color: #95a5a6;
  font-size: 14px;
}

/* 进度条 */
.progress-bar-container {
  position: relative;
  width: 100%;
  height: 24px;
  background-color: #ecf0f1;
  border-radius: 12px;
  overflow: hidden;
}

.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #3498db, #2ecc71);
  transition: width 0.3s ease;
  border-radius: 12px;
}

.progress-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 11px;
  font-weight: 600;
  color: #2c3e50;
  text-shadow: 0 0 3px rgba(255, 255, 255, 0.8);
}

/* 描述单元格 */
.description-cell {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 按钮组 */
.btn-group {
  display: flex;
  gap: 8px;
  justify-content: center;
}

.icon-btn.danger:hover {
  border-color: #e74c3c;
  background: #fee;
}

/* 徽章 */
.badge-info {
  background-color: #d6eaf8;
  color: #2471a3;
}

.badge-warning {
  background-color: #fef5e7;
  color: #d68910;
}

.badge-primary {
  background-color: #e8daef;
  color: #7d3c98;
}

.badge-success {
  background-color: #d5f4e6;
  color: #1e8449;
}

.badge-secondary {
  background-color: #e5e7e9;
  color: #5d6d7e;
}

/* 模态框 */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeIn 0.2s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.modal-dialog {
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from {
    transform: translateY(50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modal-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
}

.form-label.required::after {
  content: ' *';
  color: #e74c3c;
}

.form-textarea {
  resize: vertical;
  min-height: 80px;
}

.form-hint {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #95a5a6;
}

.form-static {
  padding: 10px 0;
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
}

/* 加载状态 */
.loading {
  text-align: center;
  padding: 60px 20px;
  font-size: 16px;
  color: #7f8c8d;
}

/* 响应式 */
@media (max-width: 768px) {
  .page-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .modal-dialog {
    width: 95%;
    max-height: 95vh;
  }

  .btn-group {
    flex-wrap: wrap;
  }
}

/* =====================================================
   数据总览页面样式 - 统计卡片和任务卡片
   ===================================================== */

/* 总览容器 */
.overview-container {
  padding: 10px 0;
}

/* 统计卡片网格 */
.stats-grid {
  display: grid;
  gap: 20px;
  margin-bottom: 30px;
}

/* 统计卡片 */
.stat-card {
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.stat-icon {
  font-size: 42px;
  margin-bottom: 14px;
  line-height: 1;
}

.stat-label {
  font-size: 14px;
  opacity: 0.95;
  margin-bottom: 10px;
  font-weight: 500;
  letter-spacing: 0.3px;
}

.stat-number {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

/* 任务卡片 */
.task-card {
  display: flex;
  align-items: center;
  padding: 20px;
  background: white;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  transition: all 0.3s;
  cursor: pointer;
}

.task-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateX(4px);
}

.task-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-right: 18px;
  flex-shrink: 0;
}

.task-info {
  flex: 1;
}

.task-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 6px;
  font-weight: 500;
}

.task-count {
  font-size: 32px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}

/* 区域标题 */
.section-title {
  font-size: 20px;
  font-weight: 700;
  color: #2c3e50;
  margin: 28px 0 18px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #e9ecef;
}

/* 响应式调整 */
@media (max-width: 1200px) {
  .stats-grid[style*="repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .stats-grid[style*="repeat(4"],
  .stats-grid[style*="repeat(2"] {
    grid-template-columns: 1fr !important;
  }

  .stat-card {
    padding: 22px 18px;
  }

  .stat-icon {
    font-size: 36px;
  }

  .stat-number {
    font-size: 30px;
  }

  .task-card {
    padding: 16px;
  }

  .task-icon {
    width: 44px;
    height: 44px;
    font-size: 22px;
  }

  .task-count {
    font-size: 26px;
  }
}

/* =====================================================
   通校工作台 · 组稿目次详情页美化
   ===================================================== */

/* 栏目标题区域 */
.column-section {
  margin-bottom: 24px !important;
}

.column-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1e3a5f !important;
  padding: 10px 16px !important;
  margin-bottom: 0 !important;
  background: linear-gradient(90deg, #f0f7ff, #ffffff);
  border-left: 4px solid #3b82f6;
  border-bottom: none !important;
  border-radius: 8px 8px 0 0;
}

/* 栏目表格包裹 */
.column-section > .data-table {
  border-radius: 0 0 8px 8px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
}

/* 表格在工作台中的优化 */
.collection-detail-page .data-table th {
  padding: 2px 4px;
  font-size: 13px;
  background: linear-gradient(to bottom, #f1f5f9, #e2e8f0);
  color: #334155;
  font-weight: 700;
  border-bottom: 1px solid #cbd5e1;
  letter-spacing: 0.3px;
}

.collection-detail-page .data-table td {
  padding: 2px 4px;
  font-size: 13px;
  border-bottom: 1px solid #eef2f6;
  color: #475569;
}

/* 交替行背景色 */
.collection-detail-page .data-table tbody tr:nth-child(even) {
  background: #fafbfc;
}

.collection-detail-page .data-table tbody tr:nth-child(even):hover {
  background: #f1f5f9;
}

/* hover 效果 */
.collection-detail-page .data-table tbody tr:hover {
  background: #f0f7ff;
  transition: background 0.15s ease;
}

/* 序号列居中 */
.collection-detail-page .data-table td:nth-child(2),
.collection-detail-page .data-table th:nth-child(2) {
  text-align: center;
  color: #94a3b8;
  font-weight: 600;
  font-size: 12px;
}

/* 页数列突出 */
.collection-detail-page .data-table td:nth-child(13),
.collection-detail-page .data-table th:nth-child(13) {
  text-align: center;
  font-weight: 700;
  color: #1e40af;
}

/* 下拉选择框美化 */
.collection-detail-page .data-table select {
  padding: 4px 8px;
  font-size: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  outline: none;
  transition: all 0.15s;
  min-width: 90px;
}

.collection-detail-page .data-table select:hover {
  border-color: #3b82f6;
}

.collection-detail-page .data-table select:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59,130,246,0.15);
}

/* 日期输入框美化 */
.collection-detail-page .data-table input[type="date"] {
  padding: 3px 6px;
  font-size: 11.5px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  color: #475569;
}

/* 确认按钮美化 */
.collection-detail-page .data-table .btn {
  padding: 4px 12px;
  font-size: 12px;
  border-radius: 6px;
  font-weight: 600;
}

/* 复选框列 */
.collection-detail-page .data-table td:first-child,
.collection-detail-page .data-table th:first-child {
  text-align: center;
  width: 36px;
}

/* 操作列 */
.collection-detail-page .data-table td:last-child,
.collection-detail-page .data-table th:last-child {
  text-align: center;
}

/* 已分配状态标签（二校/三校人员已选时行左侧绿色竖条） */
.collection-detail-page .data-table tbody tr.assigned-row td:first-child {
  border-left: 3px solid #22c55e;
}

/* 栏目标题前的序号标识 */
.column-title::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
}

/* 本文编辑名字高亮 */
.collection-detail-page .data-table td:nth-child(8) {
  color: #7c3aed;
  font-weight: 600;
}

/* 栏目标题右对齐的篇数统计 */
.column-title .column-count {
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
  background: #f1f5f9;
  padding: 2px 10px;
  border-radius: 12px;
}

/* 响应式：小屏幕下表格允许横向滚动 */
.collection-detail-page .card-body {
  overflow-x: auto;
  padding: 0;
}

.collection-detail-page .data-table {
  min-width: 1200px;
}

/* 工作台顶部标题栏 */
.collection-detail-page .card-header-with-search {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 栏目区块间距 */
.collection-detail-page .column-section {
  margin-bottom: 20px !important;
}

/* 栏目标题 */
.collection-detail-page .column-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e3a5f !important;
  padding: 10px 16px !important;
  margin-bottom: 0 !important;
  background: linear-gradient(90deg, #f0f7ff, #ffffff);
  border-left: 4px solid #3b82f6;
  border-bottom: none !important;
  border-radius: 8px 8px 0 0;
}

.collection-detail-page .column-title .column-count {
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
  background: #f1f5f9;
  padding: 2px 10px;
  border-radius: 12px;
}

/* 栏目表格 */
.collection-detail-page .column-section > .data-table {
  border-radius: 0 0 8px 8px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  background: #fff;
}

/* 表格表头 */
.collection-detail-page .data-table th {
  padding: 2px 4px;
  font-size: 13px;
  background: linear-gradient(to bottom, #f1f5f9, #e2e8f0);
  color: #334155;
  font-weight: 700;
  border-bottom: 1px solid #cbd5e1;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* 表格单元格 */
.collection-detail-page .data-table td {
  padding: 2px 4px;
  font-size: 13px;
  border-bottom: 1px solid #eef2f6;
  color: #475569;
  vertical-align: middle;
}

/* 交替行背景 */
.collection-detail-page .data-table tbody tr:nth-child(even) {
  background: #fafbfc;
}

/* hover 效果 */
.collection-detail-page .data-table tbody tr:hover {
  background: #f0f7ff;
  transition: background 0.15s ease;
}

.collection-detail-page .data-table tbody tr:nth-child(even):hover {
  background: #e8f0fe;
}

/* 序号列 */
.collection-detail-page .data-table td:nth-child(2),
.collection-detail-page .data-table th:nth-child(2) {
  text-align: center;
  color: #94a3b8;
  font-weight: 600;
  font-size: 12px;
}

/* 页数列 */
.collection-detail-page .data-table td:nth-child(12),
.collection-detail-page .data-table th:nth-child(12) {
  text-align: center;
  font-weight: 700;
  color: #1e40af;
}

/* 文题列：允许换行 */
.collection-detail-page .data-table td:nth-child(5) {
  max-width: 280px;
  line-height: 1.5;
  word-break: break-all;
}

/* 本文编辑列 */
.collection-detail-page .data-table td:nth-child(8) {
  color: #7c3aed;
  font-weight: 600;
}

/* 下拉选择框 */
.collection-detail-page .data-table select {
  padding: 4px 8px;
  font-size: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  outline: none;
  transition: all 0.15s;
  min-width: 90px;
  max-width: 120px;
}

.collection-detail-page .data-table select:hover {
  border-color: #3b82f6;
}

.collection-detail-page .data-table select:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59,130,246,0.15);
}

/* 日期输入框 */
.collection-detail-page .data-table input[type="date"] {
  padding: 3px 6px;
  font-size: 11.5px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  color: #475569;
  max-width: 110px;
}

/* 确认按钮 */
.collection-detail-page .data-table .btn {
  padding: 4px 12px;
  font-size: 12px;
  border-radius: 6px;
  font-weight: 600;
}

/* 复选框列 */
.collection-detail-page .data-table td:first-child,
.collection-detail-page .data-table th:first-child {
  text-align: center;
  width: 36px;
}

/* 操作列 */
.collection-detail-page .data-table td:last-child,
.collection-detail-page .data-table th:last-child {
  text-align: center;
}

/* 栏目标题前的圆点 */
.collection-detail-page .column-title::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3b82f6;
  flex-shrink: 0;
}

/* ============================================
   MedEditClaw 悬浮入口按钮
   ============================================ */
/* Final UI layer: keep all workbench pages visually consistent after legacy rules. */
.top-nav { background: #17315f !important; }
.pm-page, .tab-panel, .pre-review-wrapper { background: var(--bg) !important; }
.pm-card, .card, .panel-body, .pre-review-header, .feature-card, .upload-section {
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-soft) !important;
}
.btn { border-radius: 8px !important; font-weight: 700; letter-spacing: 0 !important; }
.tab-btn { letter-spacing: 0 !important; }
.form-input, select.form-input, textarea.form-input { border-radius: 8px !important; }
.pm-page .manuscript-table th,
.pm-page .manuscript-table td {
  padding: 10px 12px !important;
  line-height: 1.45 !important;
}
.pm-page .manuscript-table th {
  background: #f7f9fc !important;
  color: #334155 !important;
}

/* Manuscript library deep polish */
.pm-library-table-wrap {
  border-radius: 10px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
}

.pm-library-table {
  table-layout: auto !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.pm-library-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  white-space: nowrap !important;
}

.pm-library-table td {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.pm-library-table tbody tr {
  transition: background .16s ease, box-shadow .16s ease;
}

.pm-library-table tbody tr:hover {
  background: #f8fbfd !important;
  box-shadow: inset 3px 0 0 var(--secondary);
}

.pm-cell-content {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  color: #172033;
}

.pm-no-cell .pm-cell-content {
  font-weight: 800;
  color: var(--primary);
  white-space: nowrap;
}

.pm-author-cell .pm-cell-content,
.pm-type-cell .pm-cell-content {
  color: #24344a;
}

.pm-title-cell {
  min-width: 460px !important;
  max-width: 680px !important;
}

.pm-title-text {
  font-size: 14px;
  font-weight: 760;
  line-height: 1.58;
  color: #0f1f38;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-multiline-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  white-space: normal !important;
  line-height: 1.5;
  color: #475569;
}

.pm-source-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef5ff;
  color: #17315f;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.pm-source-email {
  background: #eaf8f1;
  color: #167454;
}

.pm-source-em_system {
  background: #e8eef8;
  color: #17315f;
}

.pm-source-china_journal_recommendation {
  background: #fff4dd;
  color: #73510d;
}

.pm-status-cell .pm-stage-pill {
  margin-bottom: 7px;
}

.pm-status-sub {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
  white-space: normal;
}

.pm-library-table.pm-word-cleanup-table .pm-status-cell {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.pm-action-cell {
  vertical-align: middle !important;
}

.pm-word-cleanup-action {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.pm-word-cleanup-action-only {
  place-items: center;
}

.pm-word-cleanup-action-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pm-word-cleanup-action-title {
  min-width: 0;
  display: grid;
  gap: 4px;
  color: #182b43;
  font-weight: 900;
  line-height: 1.25;
}

.pm-word-cleanup-action-title span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-word-cleanup-action-title em {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fff7f7;
  color: #d12f2f;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.pm-word-cleanup-action-btn {
  flex: 0 0 auto;
  width: 136px;
  max-width: 100%;
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  background: #0d5c63;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(13, 92, 99, 0.16);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-word-cleanup-action-btn:hover {
  background: #0a4f55;
  box-shadow: 0 14px 24px rgba(13, 92, 99, 0.22);
  transform: translateY(-1px);
}

.pm-word-cleanup-issue-btn {
  background: linear-gradient(135deg, #b7791f 0%, #d99a28 100%);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(183, 121, 31, 0.18);
}

.pm-word-cleanup-issue-btn:hover {
  background: linear-gradient(135deg, #9f6618 0%, #c0831f 100%);
  box-shadow: 0 14px 24px rgba(183, 121, 31, 0.24);
}

.pm-word-cleanup-action-btn:active {
  transform: translateY(0);
  box-shadow: 0 8px 16px rgba(13, 92, 99, 0.16);
}

.pm-word-cleanup-action-btn:disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
  box-shadow: none;
}

.pm-word-cleanup-action-note {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.pm-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pm-mini-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 7px !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.pm-mini-btn:disabled,
.btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none !important;
}

.pm-delete-manuscript-btn {
  border-color: #efc7c2 !important;
  background: #fff5f4 !important;
  color: #9f2f2f !important;
  font-weight: 900 !important;
}

.pm-delete-manuscript-btn:hover {
  border-color: #df9b94 !important;
  background: #fee7e4 !important;
  color: #842424 !important;
}

.pm-review-modal {
  width: min(1120px, 94vw) !important;
  max-height: 88vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
}

.pm-review-modal .modal-header {
  padding: 18px 22px;
  margin: 0;
  flex-shrink: 0;
}

.pm-modal-subtitle {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  font-weight: 600;
}

.pm-review-modal-title {
  padding: 14px 22px;
  border-bottom: 1px solid var(--border);
  background: #f8fafc;
  color: #0f1f38;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.55;
}

.pm-review-modal-body {
  flex: 1;
  overflow: auto;
  padding: 18px 22px;
  background: #fbfcfe;
}

.pm-review-comment-block {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 0 10px 24px rgba(15, 31, 56, .045);
}

.pm-review-comment-label {
  color: var(--primary);
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 8px;
}

.pm-review-meta-table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 14px;
}

.pm-review-meta-row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 38px;
  padding: 9px 11px;
  border: 1px solid #e1eaf4;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fbfc 100%);
}

.pm-review-meta-row span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
}

.pm-review-meta-row strong {
  min-width: 0;
  color: #0f1f38;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.5;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-review-comment-section {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px dashed #d9e5ef;
}

.pm-review-comment-section-title {
  margin-bottom: 7px;
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
}

.pm-review-comment-text {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  color: #172033;
  font-size: 14px;
  line-height: 1.75;
}

.pm-review-form-card {
  position: relative;
  margin-bottom: 16px;
  border: 1px solid #d6e3ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 44px rgba(15, 31, 56, .075);
  overflow: hidden;
}

.pm-review-form-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #0f766e, #17315f);
}

.pm-review-form-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px 16px 24px;
  border-bottom: 1px solid #e3edf6;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 64%, #eef7f5 100%);
}

.pm-review-form-card-head span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #d8e6f2;
  border-radius: 999px;
  background: #ffffff;
  color: #46617f;
  font-size: 12px;
  font-weight: 950;
}

.pm-review-form-card-head strong {
  display: block;
  margin-top: 8px;
  color: #102744;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.35;
}

.pm-reviewer-display-meta {
  display: block;
  margin-top: 5px;
  color: #5f748c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.pm-review-form-card-head em {
  max-width: 48%;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid #cfe2f2;
  background: #eff7ff;
  color: #173f73;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.45;
  overflow-wrap: anywhere;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.pm-review-form-summary {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 12px;
  padding: 18px 22px 8px 24px;
}

.pm-review-form-summary > div {
  position: relative;
  min-width: 0;
  min-height: 92px;
  padding: 16px 16px 15px;
  border: 1px solid #dce9f4;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 31, 56, .045);
}

.pm-review-form-summary > div::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #dbeafe;
}

.pm-review-form-summary > div:nth-child(1)::after {
  background: #f2c36b;
}

.pm-review-form-summary > div:nth-child(2)::after {
  background: #6bbfb5;
}

.pm-review-form-summary > div:nth-child(3)::after {
  background: #9eb7d8;
}

.pm-review-form-summary > div > span,
.pm-review-form-section-head span,
.pm-review-rating-card > span,
.pm-review-form-comments > div > span {
  display: block;
  color: #4f6682;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
}

.pm-review-choice-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  padding: 7px 14px;
  border-radius: 12px;
  border: 1px solid #dbe7f1;
  background: #fff;
  color: #21364f;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
}

.pm-review-choice-success {
  border-color: #bfe2d5;
  background: #f1fbf7;
  color: #17684d;
}

.pm-review-choice-warn {
  border-color: #e7c584;
  background: #fff8ea;
  color: #8a4308;
}

.pm-review-choice-danger {
  border-color: #f0c2c2;
  background: #fff3f3;
  color: #9d2c2c;
}

.pm-review-score-display {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  margin-top: 10px;
}

.pm-review-score-display strong {
  color: #0f766e;
  font-size: 32px;
  font-weight: 950;
  line-height: 1;
}

.pm-review-score-display span,
.pm-review-score-empty {
  color: #526a86;
  font-size: 13px;
  font-weight: 850;
}

.pm-review-score-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 40px;
  margin-top: 10px;
  padding: 7px 14px;
  border: 1px dashed #cbd9e8;
  border-radius: 12px;
  background: #f8fbff;
  text-align: center;
}

.pm-review-form-section {
  padding: 16px 22px 20px 24px;
}

.pm-review-form-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5edf5;
}

.pm-review-form-section-head strong {
  color: #102744;
  font-size: 16px;
  font-weight: 950;
}

.pm-review-rating-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.pm-review-rating-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dde9f4;
  border-radius: 11px;
  background: #fbfdff;
}

.pm-review-rating-card > span {
  color: #21364f;
  font-size: 13px;
  min-height: 40px;
}

.pm-review-rating-options {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

.pm-review-rating-options span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #d7e4f0;
  border-radius: 10px;
  background: #ffffff;
  color: #17315f;
  font-size: 16px;
  font-weight: 950;
}

.pm-review-rating-options span.active {
  border-color: #0f766e;
  background: #edfdfa;
  color: #0f766e;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .12);
}

.pm-review-form-comments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.pm-review-form-comments > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dde9f4;
  border-radius: 11px;
  background: #fbfdff;
}

.pm-review-form-comments p {
  min-height: 150px;
  margin: 10px 0 0;
  color: #172033;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-review-form-comments p.pm-review-empty-text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #526a86;
  font-weight: 850;
  text-align: center;
}

.pm-review-ai-translation-label {
  display: inline-flex;
  align-items: center;
  margin: 8px 0 6px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e9f7f4;
  color: #126b5c;
  font-size: 12px;
  font-weight: 900;
}

.pm-review-translation-block {
  border-color: #cce8e0;
  background: #fbfffd;
}

.pm-review-original-block {
  border-color: #cfd8e3;
  background: #ffffff;
}

.pm-review-original-text {
  color: #152033;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.72;
}

.pm-review-original-empty {
  background: #ffffff;
}

.pm-review-sync-marker {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px 8px;
  border-radius: 8px;
  background: #f2f6fb;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-review-sync-empty {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 118px;
  padding: 22px;
  border: 1px solid #d7e5f0;
  border-radius: 14px;
  background: linear-gradient(135deg, #ffffff 0%, #f6fbff 62%, #f0faf7 100%);
  box-shadow: 0 16px 36px rgba(15, 31, 56, .07);
}

.pm-review-sync-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #0f766e;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: 0 14px 26px rgba(15, 118, 110, .2);
}

.pm-review-sync-empty strong {
  display: block;
  color: #102744;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.4;
}

.pm-review-sync-empty p {
  margin: 6px 0 0;
  color: #526a86;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.pm-review-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 22px;
  border-top: 1px solid var(--border);
  background: #fff;
  flex-shrink: 0;
}

.pm-review-add-file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 112px;
  white-space: nowrap;
}

.pm-review-add-file-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
}

.pm-review-ai-status {
  flex: 1;
  min-width: 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
  text-align: left;
}

.pm-review-ai-btn {
  min-width: 168px;
  white-space: nowrap;
}

.pm-associate-review-modal {
  width: min(1240px, 95vw) !important;
  height: min(860px, calc(100vh - 34px)) !important;
  max-height: calc(100vh - 34px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  background: #f8fbff;
}

.pm-associate-review-head {
  padding: 14px 22px;
  margin: 0;
  flex-shrink: 0;
  background: #ffffff;
}

.pm-associate-review-title {
  padding: 11px 22px;
  border-top: 1px solid #e6edf5;
  border-bottom: 1px solid #e6edf5;
  background: #f6f9fd;
  color: #102744;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.55;
}

.pm-associate-review-body {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
  padding: 16px;
  overflow: hidden;
}

.pm-associate-review-panel {
  min-width: 0;
  min-height: 0;
  border: 1px solid #dce7f2;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 31, 56, .07);
  overflow: hidden;
}

.pm-associate-review-opinions {
  display: flex;
  flex-direction: column;
}

.pm-associate-review-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5edf6;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.pm-associate-review-section-head strong {
  color: #102744;
  font-size: 15px;
  font-weight: 950;
}

.pm-associate-review-section-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.pm-associate-detail-btn {
  border: 1px solid #9ec5ff !important;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%) !important;
  color: #1d4ed8 !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .12);
}

.pm-associate-detail-btn:hover {
  border-color: #60a5fa !important;
  background: linear-gradient(180deg, #dbeafe 0%, #bfdbfe 100%) !important;
  color: #1e40af !important;
}

.pm-associate-review-opinion-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  padding: 14px;
  overflow: auto;
  background: #fbfdff;
}

.pm-associate-review-opinion-list .pm-review-form-card {
  margin-bottom: 14px;
}

.pm-associate-review-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.pm-associate-review-form .pm-form-field {
  display: grid;
  gap: 8px;
  padding: 12px 16px 0;
}

.pm-associate-review-form .pm-form-field > span {
  color: #314762;
  font-size: 13px;
  font-weight: 900;
}

.pm-associate-review-form select,
.pm-associate-review-form textarea,
.pm-associate-review-form input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d6e3ef;
  border-radius: 10px;
  background: #fbfdff;
  color: #172033;
  font: inherit;
  font-size: 14px;
}

.pm-associate-review-form select {
  min-height: 40px;
  padding: 0 12px;
  font-weight: 800;
}

.pm-chief-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pm-chief-decision-option {
  position: relative;
  min-width: 0;
  min-height: 64px;
  margin: 0;
  cursor: pointer;
  --chief-decision-color: #0d6a70;
  --chief-decision-border: #d7e5ef;
  --chief-decision-bg: #ffffff;
  --chief-decision-bg-strong: #e9f8f5;
  --chief-decision-title: #102544;
  --chief-decision-hint: #64748b;
  --chief-decision-shadow: rgba(13, 106, 112, .12);
}

.pm-chief-decision-option-major {
  --chief-decision-color: #d97706;
  --chief-decision-border: #fed7aa;
  --chief-decision-bg: #fff7ed;
  --chief-decision-bg-strong: #ffedd5;
  --chief-decision-title: #9a3412;
  --chief-decision-hint: #b45309;
  --chief-decision-shadow: rgba(217, 119, 6, .16);
}

.pm-chief-decision-option-minor {
  --chief-decision-color: #2563eb;
  --chief-decision-border: #bfdbfe;
  --chief-decision-bg: #eff6ff;
  --chief-decision-bg-strong: #dbeafe;
  --chief-decision-title: #1d4ed8;
  --chief-decision-hint: #2563eb;
  --chief-decision-shadow: rgba(37, 99, 235, .15);
}

.pm-chief-decision-option-reject {
  --chief-decision-color: #dc2626;
  --chief-decision-border: #fecaca;
  --chief-decision-bg: #fff1f2;
  --chief-decision-bg-strong: #ffe4e6;
  --chief-decision-title: #991b1b;
  --chief-decision-hint: #b91c1c;
  --chief-decision-shadow: rgba(220, 38, 38, .15);
}

.pm-chief-decision-option-accept {
  --chief-decision-color: #059669;
  --chief-decision-border: #bbf7d0;
  --chief-decision-bg: #ecfdf5;
  --chief-decision-bg-strong: #dcfce7;
  --chief-decision-title: #047857;
  --chief-decision-hint: #15803d;
  --chief-decision-shadow: rgba(5, 150, 105, .15);
}

.pm-chief-decision-option-accept-revise {
  --chief-decision-color: #7c3aed;
  --chief-decision-border: #ddd6fe;
  --chief-decision-bg: #f5f3ff;
  --chief-decision-bg-strong: #ede9fe;
  --chief-decision-title: #5b21b6;
  --chief-decision-hint: #6d28d9;
  --chief-decision-shadow: rgba(124, 58, 237, .15);
}

.pm-chief-decision-option-associate-revise {
  --chief-decision-color: #0f766e;
  --chief-decision-border: #99f6e4;
  --chief-decision-bg: #f0fdfa;
  --chief-decision-bg-strong: #ccfbf1;
  --chief-decision-title: #115e59;
  --chief-decision-hint: #0f766e;
  --chief-decision-shadow: rgba(15, 118, 110, .15);
}

.pm-director-decision-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pm-chief-decision-option input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.pm-chief-decision-option span {
  position: relative;
  display: grid;
  gap: 4px;
  height: 100%;
  min-height: 64px;
  padding: 11px 12px;
  overflow: hidden;
  border: 1px solid var(--chief-decision-border);
  border-radius: 12px;
  background: linear-gradient(180deg, var(--chief-decision-bg) 0%, #ffffff 100%);
  color: #17315f;
  box-shadow: 0 8px 18px rgba(15, 31, 56, .045);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-chief-decision-option span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--chief-decision-color);
  opacity: .9;
}

.pm-chief-decision-option strong {
  color: var(--chief-decision-title);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
}

.pm-chief-decision-option em {
  color: var(--chief-decision-hint);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
  opacity: .82;
}

.pm-chief-decision-option:hover span {
  transform: translateY(-1px);
  border-color: var(--chief-decision-color);
  box-shadow: 0 12px 24px var(--chief-decision-shadow);
}

.pm-chief-decision-option input:checked + span {
  border-color: var(--chief-decision-color);
  background: linear-gradient(180deg, var(--chief-decision-bg) 0%, var(--chief-decision-bg-strong) 100%);
  box-shadow: 0 0 0 3px var(--chief-decision-shadow), 0 12px 24px var(--chief-decision-shadow);
}

.pm-chief-decision-option input:checked + span strong {
  color: var(--chief-decision-title);
}

.pm-chief-decision-option input:checked + span em {
  color: var(--chief-decision-hint);
  opacity: 1;
}

.pm-chief-decision-option input:focus-visible + span {
  outline: 3px solid rgba(37, 99, 235, .22);
  outline-offset: 2px;
}

.pm-chief-decision-option:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.pm-associate-review-form textarea {
  min-height: 145px;
  padding: 12px;
  line-height: 1.7;
  resize: vertical;
}

.pm-associate-review-form > .pm-form-field > input[type="file"] {
  padding: 10px;
}

.pm-associate-file-picker {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 10px 12px;
  border: 1px dashed #b8cbe0;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-associate-file-picker:hover {
  border-color: #60a5fa;
  background: #f8fbff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .08);
}

.pm-associate-file-picker:focus-within {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.pm-associate-file-picker input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

.pm-associate-file-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #eef6ff;
  color: #1d4ed8;
  font-size: 20px;
  font-weight: 950;
}

.pm-associate-file-picker strong {
  display: block;
  color: #102744;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.4;
}

.pm-associate-file-picker span {
  display: block;
  min-width: 0;
  margin-top: 4px;
  color: #314762;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-associate-file-picker em,
.pm-associate-file-field > em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.45;
}

.pm-review-voice-tool {
  margin: 10px 16px 0;
  padding: 10px 12px;
  border: 1px solid #d8e7ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fdff 0%, #ffffff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86);
  max-width: calc(100% - 32px);
  box-sizing: border-box;
}

.pm-review-voice-main {
  display: grid;
  grid-template-columns: minmax(108px, 122px) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.pm-review-voice-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #0f766e;
  border-radius: 22px;
  background: linear-gradient(135deg, #0f766e 0%, #145f8d 100%);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(15, 118, 110, .18);
}

.pm-review-voice-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(15, 118, 110, .24);
}

.pm-review-voice-btn.is-recording {
  border-color: #b91c1c;
  background: linear-gradient(135deg, #dc2626 0%, #9f1239 100%);
  box-shadow: 0 12px 26px rgba(220, 38, 38, .18);
}

.pm-review-voice-icon {
  position: relative;
  width: 14px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 9px;
}

.pm-review-voice-icon::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 12px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-radius: 0 0 10px 10px;
  transform: translateX(-50%);
}

.pm-review-voice-icon::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 12px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform: translateX(-50%);
}

.pm-review-voice-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 44px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #e3edf4;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  color: #64748b;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
  box-sizing: border-box;
}

.pm-review-voice-status > span:last-child {
  min-width: 0;
  overflow: visible;
  white-space: normal;
}

.pm-review-voice-wave {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 3px;
  width: 42px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(220, 38, 38, .1), rgba(159, 18, 57, .08));
  box-shadow: inset 0 0 0 1px rgba(220, 38, 38, .1);
}

.pm-review-voice-wave i {
  display: block;
  width: 3px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ef4444 0%, #be123c 100%);
  transform-origin: center;
  animation: pmReviewVoiceWave 1.05s ease-in-out infinite;
}

.pm-review-voice-wave i:nth-child(1) { animation-delay: -0.42s; }
.pm-review-voice-wave i:nth-child(2) { animation-delay: -0.28s; }
.pm-review-voice-wave i:nth-child(3) { animation-delay: -0.14s; }
.pm-review-voice-wave i:nth-child(4) { animation-delay: 0s; }
.pm-review-voice-wave i:nth-child(5) { animation-delay: .14s; }

@keyframes pmReviewVoiceWave {
  0%, 100% {
    height: 7px;
    opacity: .55;
  }
  35% {
    height: 20px;
    opacity: 1;
  }
  65% {
    height: 12px;
    opacity: .78;
  }
}

.pm-review-voice-audio {
  margin-top: 10px;
}

.pm-review-voice-audio-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.pm-review-voice-audio audio {
  flex: 1 1 auto;
  min-width: 180px;
  width: 100%;
  height: 34px;
}

.pm-review-voice-delete {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fff7f7;
  color: #b42318;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.pm-review-voice-delete:hover {
  border-color: #fca5a5;
  background: #fee2e2;
  color: #991b1b;
  transform: translateY(-1px);
}

.pm-review-voice-audio p {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f1f5f9;
  color: #314762;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-chief-file-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid #e5edf6;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.pm-chief-file-grid-single {
  grid-template-columns: 1fr;
}

.pm-chief-file-card {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #cfe1f5;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 24px rgba(15, 31, 56, .05);
  overflow: hidden;
}

.pm-chief-file-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #2563eb;
}

.pm-chief-file-card-translation {
  border-color: #bfe7df;
  background: linear-gradient(180deg, #ffffff 0%, #f3fffc 100%);
}

.pm-chief-file-card-translation::before {
  background: #0f766e;
}

.pm-chief-file-mark {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 11px;
  background: #2563eb;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22), inset 0 1px 0 rgba(255, 255, 255, .26);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  font-family: Arial, "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
  isolation: isolate;
}

.pm-chief-file-card-translation .pm-chief-file-mark {
  background: #0f766e;
  box-shadow: 0 8px 18px rgba(15, 118, 110, .22), inset 0 1px 0 rgba(255, 255, 255, .26);
  color: #fff;
}

.pm-chief-file-mark-pdf {
  background: #dc2626;
  box-shadow: 0 8px 18px rgba(220, 38, 38, .2), inset 0 1px 0 rgba(255, 255, 255, .26);
  font-size: 12px;
}

.pm-chief-file-mark-xls {
  background: #15803d;
  box-shadow: 0 8px 18px rgba(21, 128, 61, .2), inset 0 1px 0 rgba(255, 255, 255, .26);
  font-size: 11px;
}

.pm-chief-file-mark::before {
  content: none;
}

.pm-chief-file-mark::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 11px;
  height: 11px;
  border-radius: 0 10px 0 8px;
  background: rgba(255, 255, 255, .34);
}

.pm-chief-file-card-translation .pm-chief-file-mark::before {
  content: none;
}

.pm-chief-file-info {
  min-width: 0;
  overflow: hidden;
}

.pm-chief-file-type {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8 !important;
}

.pm-chief-file-card-translation .pm-chief-file-type {
  background: #e7faf5;
  color: #0f766e !important;
}

.pm-chief-file-info > span,
.pm-chief-file-card em {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.pm-chief-file-card strong {
  display: block;
  max-width: 100%;
  margin: 4px 0;
  color: #102744;
  font-size: 13px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-chief-file-card em {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-chief-file-card .pm-chief-file-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 72px;
  min-height: 36px;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  white-space: nowrap;
}

.pm-chief-file-grid .pm-chief-file-card {
  min-height: 74px;
}

.pm-chief-file-card-empty {
  grid-template-columns: 38px minmax(0, 1fr);
  background: #f8fbff;
  border-style: dashed;
  box-shadow: none;
}

.pm-chief-review-opinion-list {
  border-top: 1px solid #e5edf6;
  margin-top: 14px;
}

.pm-associate-review-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 12px;
  padding: 12px 16px;
  border-top: 1px solid #e5edf6;
  background: #ffffff;
  box-shadow: 0 -10px 22px rgba(15, 31, 56, .06);
}

.pm-em-chief-notice-wrap {
  position: fixed;
  inset: 0;
  z-index: 2900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .36);
  backdrop-filter: blur(5px);
}

.pm-em-chief-notice {
  width: min(620px, calc(100vw - 40px));
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 26px 80px rgba(15, 23, 42, .25);
}

.pm-em-chief-notice-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid #e5edf6;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.pm-em-chief-kicker {
  margin-bottom: 6px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 900;
}

.pm-em-chief-title {
  color: #102744;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.25;
}

.pm-em-chief-close {
  width: 40px;
  height: 40px;
  border: 1px solid #d7e3f0;
  border-radius: 12px;
  background: #fff;
  color: #31506f;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.pm-em-chief-close:hover {
  border-color: #9fb8d3;
  background: #f3f7fb;
}

.pm-em-chief-body {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  padding: 22px 24px;
}

.pm-em-chief-success {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0f766e 0%, #1d4ed8 100%);
  color: #fff;
  font-size: 28px;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(15, 118, 110, .22);
}

.pm-em-chief-content strong {
  display: block;
  color: #102744;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
}

.pm-em-chief-content p {
  margin: 8px 0 16px;
  color: #53687f;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.75;
}

.pm-em-chief-link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid #cfe0f2;
  border-radius: 14px;
  background: #f8fbff;
}

.pm-em-chief-link-card span {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}

.pm-em-chief-no {
  border: 1px solid #9ec5ff;
  border-radius: 10px;
  background: #eff6ff;
  color: #1d4ed8;
  cursor: pointer;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0;
}

.pm-em-chief-no:hover {
  border-color: #60a5fa;
  background: #dbeafe;
  color: #1e40af;
}

.pm-em-chief-missing {
  color: #a33a3a !important;
  font-size: 14px !important;
}

.pm-em-chief-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px;
  border-top: 1px solid #e5edf6;
  background: #fff;
}

@media (max-width: 980px) {
  .pm-associate-review-body {
    grid-template-columns: 1fr;
  }

  .pm-chief-file-grid {
    grid-template-columns: 1fr;
  }

  .pm-review-voice-main {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pm-review-voice-btn,
  .pm-review-voice-status {
    width: 100%;
  }

  .pm-review-voice-audio-row {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-review-voice-audio audio,
  .pm-review-voice-delete {
    width: 100%;
  }
}

@media (max-width: 900px) {
.pm-review-form-summary,
  .pm-review-rating-grid,
  .pm-review-form-comments {
    grid-template-columns: 1fr;
  }

  .pm-review-sync-empty {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .pm-review-form-card-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-review-form-card-head em {
    max-width: 100%;
  }
}

/* Manuscript library no-horizontal-scroll layout */
.pm-library-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.pm-library-table-wrap::before {
  content: none !important;
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

.pm-excel-preview-wrap {
  max-height: 260px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow-y: auto !important;
}

.pm-library-table-wrap table.pm-library-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.pm-library-table th,
.pm-library-table td {
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  vertical-align: top !important;
}

.pm-library-table th {
  line-height: 1.35 !important;
}

.pm-library-table .pm-cell-content,
.pm-library-table .pm-title-text {
  display: block;
  max-width: 100%;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.pm-library-table .pm-no-cell {
  width: 136px !important;
  min-width: 136px !important;
  max-width: 136px !important;
  text-align: left !important;
  overflow: hidden !important;
}

.pm-library-table .pm-no-cell .pm-cell-content {
  white-space: normal !important;
  text-align: left !important;
  margin-left: 0;
  margin-right: 0;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.pm-library-table .pm-no-cell .pm-em-no-link {
  justify-content: flex-start;
  text-align: left;
}

.pm-em-no-cell {
  vertical-align: top;
  text-align: left;
}

.pm-em-no-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f5f86;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: pointer;
  word-break: break-word;
}

.pm-em-no-link:hover {
  color: #0b8ca3;
}

.pm-em-no-link:focus-visible {
  outline: 2px solid rgba(15, 95, 134, .3);
  outline-offset: 3px;
  border-radius: 6px;
}

.pm-em-no-link-inline {
  display: inline-flex;
  min-height: 26px;
  justify-content: flex-start;
}

.pm-detail-em-no-value {
  display: flex;
  align-items: center;
  min-width: 0;
}

.pm-detail-em-no-value .pm-em-no-link {
  font-size: 14px;
  font-weight: 900;
  text-align: left;
}

.pm-em-no-sub {
  display: block;
  margin-top: 4px;
  color: #697789;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  word-break: break-word;
}

.pm-em-local-no {
  color: #0f3478;
  font-weight: 850;
  text-align: left;
}

.pm-em-no-sub-link {
  margin: 4px auto 0;
  padding: 0;
  min-height: 20px;
  border-radius: 0;
  background: transparent;
  color: #08758b;
  font-size: 11px;
  font-weight: 900;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  box-shadow: none;
}

.pm-em-no-sub-link:hover {
  color: #075f73;
  background: transparent;
  box-shadow: none;
}

.pm-em-login-confirm-wrap {
  position: fixed;
  inset: 0;
  z-index: 10040;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.44);
  backdrop-filter: blur(4px);
}

.pm-em-login-confirm {
  width: min(480px, 100%);
  overflow: hidden;
  border: 1px solid rgba(209, 224, 239, 0.95);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 35, 64, 0.24);
  animation: pmModalIn 180ms ease-out;
}

.pm-em-login-confirm-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #e6edf5;
  background: linear-gradient(135deg, #f8fbff 0%, #eef7f6 100%);
}

.pm-em-login-confirm-kicker {
  margin-bottom: 6px;
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

.pm-em-login-confirm-title {
  color: #13233a;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-em-login-confirm-close {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #ffffff;
  color: #486078;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.pm-em-login-confirm-close:hover {
  border-color: #b8cedf;
  background: #f3f8fb;
  color: #12324d;
}

.pm-em-login-confirm-body {
  padding: 18px 22px 4px;
}

.pm-em-login-confirm-no {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #cbe9e4;
  border-radius: 8px;
  background: #f0fdfa;
}

.pm-em-login-confirm-no span {
  color: #5c7085;
  font-size: 12px;
  font-weight: 800;
}

.pm-em-login-confirm-no strong {
  color: #075f73;
  font-size: 15px;
  font-weight: 950;
  text-align: right;
  word-break: break-word;
}

.pm-em-login-confirm-body p {
  margin: 0;
  color: #43556b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.72;
}

.pm-em-login-confirm-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 22px 22px;
}

@media (max-width: 560px) {
  .pm-em-login-confirm-wrap {
    align-items: flex-end;
    padding: 16px;
  }

  .pm-em-login-confirm-footer {
    flex-direction: column-reverse;
  }

  .pm-em-login-confirm-footer .btn {
    width: 100%;
  }
}
.pm-library-table .pm-title-cell {
  min-width: 0 !important;
  width: 34% !important;
  max-width: 34% !important;
}

.pm-library-table .pm-title-text {
  font-size: 14px;
  line-height: 1.62;
}

.pm-library-table .pm-status-cell {
  width: 168px !important;
  min-width: 168px !important;
  max-width: 168px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.pm-library-table .pm-status-cell .pm-stage-pill {
  max-width: 100%;
  white-space: normal !important;
  line-height: 1.25;
  text-align: center;
}

.pm-library-table .pm-status-sub {
  max-width: 142px;
  line-height: 1.55;
  overflow-wrap: break-word;
  word-break: break-word;
}

.pm-detail-cell {
  position: relative;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  text-align: center;
  vertical-align: middle !important;
  overflow: visible !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.pm-detail-head {
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  text-align: center !important;
}

.pm-detail-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 22px;
  border-radius: 999px;
  background: #eef4fb;
  color: #47617f;
  font-size: 12px;
  font-weight: 800;
}

.pm-select-cell {
  text-align: center;
  vertical-align: middle !important;
}

.pm-row-check,
.pm-row-master {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #123da9;
  cursor: pointer;
}

.pm-detail-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 14px !important;
  background: linear-gradient(135deg, #1d4ed8 0%, #0f766e 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(29, 78, 216, .18);
  cursor: pointer;
  touch-action: manipulation;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

.pm-detail-btn:hover {
  border-color: rgba(15, 118, 110, 0.4);
  background: linear-gradient(135deg, #173fba 0%, #0b665f 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 118, 110, .24);
  transform: translateY(-2px);
}

.pm-detail-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(18, 61, 169, .14);
}

.pm-detail-btn:focus-visible {
  outline: 3px solid rgba(29, 95, 180, .24);
  outline-offset: 2px;
}

.pm-detail-icon {
  width: 19px;
  height: 19px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-detail-btn::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  transform: translate(-50%, 4px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 6px 9px;
  border-radius: 7px;
  background: #172033;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18);
  transition: opacity .14s ease, transform .14s ease;
  z-index: 10;
}

.pm-detail-btn::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 3px);
  width: 8px;
  height: 8px;
  background: #172033;
  transform: translate(-50%, 4px) rotate(45deg);
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease, transform .14s ease;
  z-index: 9;
}

.pm-detail-btn:hover::after,
.pm-detail-btn:hover::before,
.pm-detail-btn:focus-visible::after,
.pm-detail-btn:focus-visible::before {
  opacity: 1;
  transform: translate(-50%, 0);
}

.pm-detail-btn:hover::before,
.pm-detail-btn:focus-visible::before {
  transform: translate(-50%, 0) rotate(45deg);
}

.pm-detail-open-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px !important;
  border: 1px solid #c9d9eb !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%) !important;
  color: #17315f !important;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(15, 31, 56, .08);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-detail-open-btn svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-detail-open-btn:hover {
  border-color: #2f6ba7 !important;
  background: linear-gradient(180deg, #f8fbff 0%, #eaf3ff 100%) !important;
  color: #0c3f72 !important;
  box-shadow: 0 12px 24px rgba(23, 49, 95, .14);
  transform: translateY(-1px);
}

.pm-detail-open-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(23, 49, 95, .1);
}

.pm-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pm-detail-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
}

.pm-detail-modal {
  width: min(1120px, 96vw) !important;
  max-height: 92vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 16px !important;
  box-shadow: 0 28px 80px rgba(15, 31, 56, 0.26);
}

.pm-detail-header {
  position: relative;
  padding: 22px 26px 18px;
  margin: 0;
  border-bottom: 1px solid #dce6f2;
  background:
    radial-gradient(circle at 18% 0%, rgba(13, 106, 112, .13), transparent 32%),
    linear-gradient(135deg, rgba(21, 65, 125, 0.09), rgba(23, 104, 77, 0.06)),
  #fff;
  flex-shrink: 0;
}

.pm-detail-header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #0d6a70, #123da9);
}

.pm-detail-header-side {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.pm-detail-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
  border: 1px solid rgba(188, 210, 234, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 8px 18px rgba(15, 31, 56, 0.06);
}

.pm-detail-action {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #425a78;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.pm-detail-action:hover:not(:disabled) {
  border-color: #bdd4ed;
  background: #f4f8fd;
  color: #17315f;
}

.pm-detail-action:active:not(:disabled) {
  transform: translateY(1px);
}

.pm-detail-action:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.pm-detail-action-primary {
  border-color: #17315f;
  background: #17315f;
  color: #fff;
  box-shadow: 0 8px 18px rgba(23, 49, 95, 0.16);
}

.pm-detail-action-primary:hover:not(:disabled) {
  border-color: #10264d;
  background: #10264d;
  color: #fff;
}

.pm-stage-rollback-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
  padding: 18px;
}

.pm-stage-rollback-modal {
  width: min(620px, 94vw) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

.pm-stage-rollback-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #dce7f2;
  background: linear-gradient(135deg, #f7fbff 0%, #eef6f8 100%);
}

.pm-stage-rollback-kicker {
  color: #0d5c63;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pm-stage-rollback-head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

.pm-stage-rollback-body {
  padding: 18px 24px 24px;
  background: #fff;
}

.pm-stage-rollback-tip {
  padding: 12px 14px;
  border: 1px solid #dce8f4;
  border-radius: 8px;
  background: #f8fbff;
  color: #53657b;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 750;
}

.pm-stage-rollback-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.pm-stage-rollback-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #e1e9f2;
  border-radius: 8px;
  background: #fff;
  color: #17315f;
  cursor: pointer;
  text-align: left;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-stage-rollback-item span {
  font-size: 15px;
  font-weight: 900;
}

.pm-stage-rollback-item small {
  color: #8390a1;
  font-size: 12px;
  font-weight: 800;
}

.pm-stage-rollback-item:hover {
  transform: translateY(-1px);
  border-color: #b9cce3;
  background: #f8fbff;
  box-shadow: 0 10px 22px rgba(18, 42, 76, .08);
}

.pm-detail-title {
  padding: 18px 26px;
  border-bottom: 1px solid #dce6f2;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  color: #0f1f38;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.65;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-detail-body {
  flex: 1;
  overflow: auto;
  padding: 20px 26px 24px;
  background: linear-gradient(180deg, #f5f8fc 0%, #eef4f9 100%);
}

.pm-detail-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 14px;
}

.pm-title-info-panel {
  margin-bottom: 14px;
  border: 1px solid #cfe0f3;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 31, 56, 0.045);
}

.pm-title-info-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid #e1ebf6;
  background: linear-gradient(90deg, #f0f7ff, #fbfdff);
}

.pm-title-info-kicker {
  margin-bottom: 5px;
  color: #2b5f9c;
  font-size: 12px;
  font-weight: 850;
}

.pm-title-info-main {
  color: #102744;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-em-no-badge {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid #bcd2ea;
  border-radius: 999px;
  background: #fff;
  color: #174676;
  font-size: 12px;
  font-weight: 850;
}

.pm-title-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 180px;
  gap: 0;
}

.pm-title-info-grid > div {
  min-width: 0;
  padding: 13px 16px;
  border-right: 1px solid #eef3f8;
}

.pm-title-info-grid > div:last-child {
  border-right: 0;
}

.pm-title-info-grid span {
  display: block;
  margin-bottom: 5px;
  color: #526a86;
  font-size: 12px;
  font-weight: 800;
}

.pm-title-info-grid strong {
  display: block;
  color: #172033;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-title-info-editing .pm-title-info-main {
  color: #17315f;
}

.pm-title-info-edit-grid {
  align-items: stretch;
}

.pm-title-info-edit-grid label {
  display: block;
  min-width: 0;
  padding: 13px 16px;
  border-right: 1px solid #eef3f8;
}

.pm-title-info-edit-grid label:last-child {
  border-right: 0;
}

.pm-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 14px;
}

.pm-detail-field {
  min-width: 0;
  border: 1px solid #d8e4ef;
  border-radius: 11px;
  background: #fff;
  padding: 13px 14px;
  box-shadow: 0 6px 18px rgba(15, 31, 56, 0.045);
}

.pm-detail-field-wide {
  grid-column: 1 / -1;
}

.pm-detail-polishing-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-color: #b9d2f0;
  background: linear-gradient(135deg, rgba(29, 95, 180, 0.07), rgba(23, 104, 77, 0.05)), #fff;
}

.pm-detail-polishing-hint {
  margin-top: 5px;
  color: #526274;
  font-size: 13px;
  line-height: 1.55;
}

.pm-detail-polishing-action .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.pm-detail-operation-field {
  border-color: #c9d9e8;
  background: linear-gradient(135deg, rgba(13, 92, 99, 0.055), rgba(29, 95, 180, 0.045)), #fff;
}

.pm-detail-operation-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.pm-detail-operation-status {
  min-width: 0;
  overflow: hidden;
  color: #102744;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-detail-production-btn {
  flex: 0 0 auto;
  min-width: 86px;
  background: #0d5c63 !important;
  border-color: #0d5c63 !important;
  color: #fff !important;
}

.pm-institution-ai-card {
  min-width: 0;
  grid-column: 1 / -1;
  border: 1px solid #cfe0f3;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(29, 95, 180, .055), rgba(23, 104, 77, .04)),
    #fff;
  padding: 14px 16px;
  box-shadow: 0 6px 18px rgba(15, 31, 56, 0.045);
}

.pm-institution-ai-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.pm-institution-ai-hint {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.pm-institution-ai-btn {
  border-color: transparent !important;
  background: linear-gradient(135deg, #1d4ed8 0%, #0f766e 100%) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(29, 78, 216, 0.22);
}

.pm-institution-ai-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 118, 110, 0.25);
}

.pm-institution-ai-btn:disabled {
  opacity: 0.78;
  transform: none;
  box-shadow: none;
}

.pm-institution-ai-result {
  border: 1px dashed #c5d7eb;
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  padding: 12px 14px;
  color: #526a86;
  font-size: 13px;
  line-height: 1.65;
}

.pm-institution-loading {
  position: relative;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #1d4ed8;
  font-weight: 800;
}

.pm-institution-loading::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid rgba(29, 78, 216, 0.2);
  border-top-color: #1d4ed8;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.8s linear infinite;
}

.pm-institution-error {
  color: #a33a3a;
  font-weight: 800;
}

.pm-institution-profile-title {
  color: #102744;
  font-size: 15px;
  font-weight: 900;
  margin-bottom: 8px;
}

.pm-institution-profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.pm-institution-profile-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #d6e4f3;
  border-radius: 999px;
  background: #fff;
  color: #526a86;
  font-size: 12px;
  font-weight: 800;
}

.pm-institution-profile-body {
  color: #26364a;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.8;
}

.pm-institution-profile-pre {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-institution-profile-note {
  margin-top: 8px;
  color: #7890aa;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
}

.pm-detail-label {
  margin-bottom: 6px;
  color: #526a86;
  font-size: 12px;
  font-weight: 800;
}

.pm-detail-edit-field {
  display: block;
}

.pm-detail-edit-field .pm-detail-label {
  display: block;
}

.pm-detail-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.pm-detail-label-row .pm-detail-label {
  margin-bottom: 0;
}

.pm-abstract-ai-field .pm-detail-value {
  min-height: 44px;
}

.pm-abstract-ai-btn {
  min-height: 34px;
  border-color: #b9d7f4 !important;
  color: #0f5f7b !important;
  background: #eef9ff !important;
  white-space: nowrap;
}

.pm-abstract-ai-btn:hover {
  border-color: #7fc1e8 !important;
  background: #e4f5ff !important;
}

.pm-abstract-ai-btn:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}

.pm-abstract-ai-loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0f5f7b;
  font-weight: 800;
}

.pm-abstract-ai-loading::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 2px solid rgba(15, 95, 123, 0.2);
  border-top-color: #0f5f7b;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.8s linear infinite;
}

.pm-detail-input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cbd8e8;
  border-radius: 8px;
  background: #fbfdff;
  color: #172033;
  padding: 8px 10px;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pm-detail-input:focus {
  border-color: #2b66a8;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(43, 102, 168, 0.12);
}

.pm-detail-textarea {
  min-height: 76px;
  resize: vertical;
}

.pm-detail-select {
  cursor: pointer;
}

.pm-detail-value {
  color: #172033;
  font-size: 14px;
  line-height: 1.6;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-detail-pre {
  white-space: pre-wrap;
  line-height: 1.75;
}

.pm-progress-summary-field {
  padding: 0;
  overflow: hidden;
}

.pm-progress-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid #e4edf6;
  background: linear-gradient(90deg, #f7fbff, #ffffff);
}

.pm-progress-summary-hint {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.pm-progress-clean-note {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 3px 8px;
  border: 1px solid #d8e8ee;
  border-radius: 999px;
  background: #f4fbfb;
  color: #0d6a70;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.pm-progress-entry-list {
  display: grid;
  gap: 0;
  padding: 8px 14px 12px;
}

.pm-progress-entry-item {
  display: grid;
  grid-template-columns: 22px 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid #edf3f8;
}

.pm-progress-entry-item:last-child {
  border-bottom: 0;
}

.pm-progress-entry-index {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #eaf4f2;
  color: #0d6a70;
  font-size: 12px;
  font-weight: 950;
}

.pm-progress-bulk-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-top: 1px solid #e4edf6;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fbfc 100%);
}

.pm-progress-bulk-check,
.pm-progress-entry-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #17315f;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  user-select: none;
}

.pm-progress-bulk-check input,
.pm-progress-entry-check input {
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  accent-color: #0d6a70;
}

.pm-progress-bulk-count {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-progress-bulk-bar .btn {
  margin-left: auto;
}

.pm-progress-entry-check {
  justify-content: center;
  width: 22px;
}

.pm-progress-entry-body {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.pm-progress-entry-main,
.pm-progress-entry-text {
  min-width: 0;
  color: #172033;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.75;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-progress-entry-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pm-progress-entry-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef6f8;
  color: #315569;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.3;
}

.pm-progress-delete-btn {
  min-width: 58px;
}

.pm-progress-empty {
  padding: 16px 4px 12px;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
}

.pm-progress-manual-form {
  display: grid;
  gap: 10px;
  padding: 14px 16px 16px;
  border-top: 1px solid #e4edf6;
  background: #fbfdff;
}

.pm-progress-manual-form[hidden] {
  display: none !important;
}

.pm-progress-manual-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-detail-review-row,
.pm-detail-review-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.pm-detail-review-card {
  width: 100%;
  min-width: 0;
  padding: 13px 15px;
  border: 1px solid #dbe8f5;
  border-radius: 10px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  color: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-detail-review-card.is-clickable {
  cursor: pointer;
}

.pm-detail-review-card.is-clickable:hover {
  transform: translateY(-1px);
  border-color: #a9cce7;
  background: #fbfdff;
  box-shadow: 0 12px 26px rgba(28, 73, 116, .09);
}

.pm-detail-review-card:focus-visible {
  outline: 3px solid rgba(21, 112, 239, .22);
  outline-offset: 2px;
}

.pm-detail-review-card.is-empty {
  background: #fbfdff;
}

.pm-detail-review-state {
  color: #172033;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-detail-review-hint {
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.pm-detail-review-open {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid #cfe0f5;
  border-radius: 999px;
  background: #f1f7fd;
  color: #24548c;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.pm-detail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 24px;
  border-top: 1px solid #dce6f2;
  background: #fff;
  flex-shrink: 0;
}

.pm-detail-footer-note {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.pm-detail-footer .pm-row-actions {
  justify-content: flex-end;
}

.pm-rejected-analysis {
  padding: 18px;
}

.pm-rejected-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
  padding: 18px;
}

.pm-rejected-modal {
  width: min(1080px, 96vw) !important;
  max-height: 90vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 14px !important;
  box-shadow: 0 24px 70px rgba(15, 31, 56, .24);
}

.pm-rejected-modal-header {
  flex-shrink: 0;
  padding: 20px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #dce6f2;
  background:
    linear-gradient(135deg, rgba(163, 58, 58, .08), rgba(23, 104, 77, .05)),
    #fff;
}

.pm-rejected-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 24px;
  background: #f8fbff;
}

.pm-rejected-list-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 10px;
}

.pm-rejected-modal-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #dce6f2;
  background: #fff;
}

.pm-rejected-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.pm-section-title {
  color: #172033;
  font-size: 16px;
  font-weight: 850;
}

.pm-section-subtitle {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

.pm-library-view-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  margin-bottom: 14px;
}

.pm-library-view-tab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-height: 72px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: #172033;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-library-view-tab span {
  font-size: 15px;
  font-weight: 850;
  line-height: 1.25;
}

.pm-library-view-tab-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.pm-library-view-tab-title span {
  min-width: 0;
}

.pm-library-view-tab-title strong {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid #dbe6f2;
  border-radius: 999px;
  background: #f2f6fb;
  color: #17315f;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.pm-library-view-tab small {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.pm-library-view-tab:hover {
  border-color: #b9c9dc;
  background: #f8fbff;
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.pm-library-view-tab.active {
  border-color: #17315f;
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%);
  box-shadow: inset 4px 0 0 #167454, var(--shadow-soft);
}

.pm-library-view-tab.active span {
  color: #17315f;
}

.pm-library-view-tab-rejected.active {
  border-color: #c76b6b;
  background: linear-gradient(180deg, #fffafa 0%, #fff1f1 100%);
  box-shadow: inset 4px 0 0 #a33a3a, var(--shadow-soft);
}

.pm-library-view-tab-rejected.active span {
  color: #8f2f2f;
}

.pm-library-view-tab-assembling.active {
  border-color: #78b89a;
  background: linear-gradient(180deg, #f7fffb 0%, #edf8f3 100%);
  box-shadow: inset 4px 0 0 #167454, var(--shadow-soft);
}

.pm-library-view-tab-assembling.active span {
  color: #17684d;
}

.pm-library-view-tab-published.active {
  border-color: #78b89a;
  background: linear-gradient(180deg, #f7fffb 0%, #edf8f3 100%);
  box-shadow: inset 4px 0 0 #167454, var(--shadow-soft);
}

.pm-library-view-tab-published.active span {
  color: #17684d;
}

.pm-library-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.pm-library-header-actions .btn {
  min-height: 40px;
}

.pm-library-header-register-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px 0 12px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #1d5fb4 0%, #167454 100%);
  color: #ffffff;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(22, 116, 84, .18);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.pm-library-header-register-btn span {
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
}

.pm-library-header-register-btn strong {
  font: inherit;
}

.pm-library-header-register-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 14px 30px rgba(22, 116, 84, .23);
}

.pm-library-header-register-btn:focus-visible {
  outline: 3px solid rgba(29, 95, 180, .22);
  outline-offset: 2px;
}

.pm-library-filter-bar {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(150px, 180px) minmax(150px, 180px) auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.pm-library-filter-field {
  display: block;
  min-width: 0;
}

.pm-library-filter-field .form-label {
  color: #1c3048;
  font-size: 12px;
  font-weight: 950;
}

.pm-library-search-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 22px;
  padding: 2px 8px 2px 2px;
  border-radius: 999px;
  color: #102744 !important;
}

.pm-library-search-label::before {
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 42% 42%, transparent 0 34%, #167454 36% 48%, transparent 50%),
    linear-gradient(45deg, transparent 0 59%, #167454 60% 72%, transparent 73% 100%),
    #eaf8f3;
  box-shadow: inset 0 0 0 1px rgba(22, 116, 84, .12), 0 6px 12px rgba(22, 116, 84, .14);
}

.pm-library-filter-field .form-input {
  min-height: 46px;
  border-color: #dce6f2;
  border-radius: 8px;
  background: #fff;
}

.pm-library-filter-search .form-input {
  font-weight: 650;
  border-color: #cfe3dc;
  box-shadow: inset 3px 0 0 #167454;
}

.pm-library-filter-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}

.pm-library-filter-actions .btn {
  min-height: 46px;
  min-width: 96px;
  justify-content: center;
  border-radius: 8px;
}

.pm-library-search-btn {
  position: relative;
  min-width: 112px !important;
  gap: 9px;
  border: 0;
  background: linear-gradient(135deg, #17315f 0%, #167454 100%);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(22, 116, 84, .2);
}

.pm-library-search-btn::before {
  content: '';
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 42% 42%, transparent 0 35%, #ffffff 37% 50%, transparent 52%),
    linear-gradient(45deg, transparent 0 59%, #ffffff 60% 74%, transparent 75%);
  opacity: .96;
}

.pm-library-search-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 16px 30px rgba(22, 116, 84, .26);
}

.pm-library-search-btn.is-pending {
  background: linear-gradient(135deg, #0f766e 0%, #1d5fb4 100%);
}

.pm-library-advanced-btn.active {
  border-color: rgba(22, 116, 84, .34);
  background: #eef9f4;
  color: #12684b;
  box-shadow: inset 0 0 0 1px rgba(22, 116, 84, .08);
}

.pm-library-search-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  margin: 0 0 12px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #f8fbff;
  color: #26384f;
}

.pm-library-search-summary > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.pm-library-search-summary strong {
  color: #102744;
  font-size: 14px;
  font-weight: 950;
}

.pm-library-search-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #e9f3ff;
  color: #15548c;
  font-size: 12px;
  font-weight: 850;
}

.pm-library-search-summary small {
  color: #526a86;
  font-size: 12px;
  font-weight: 750;
  text-align: right;
}

.pm-library-cluster-summary {
  margin: -2px 0 12px;
  padding: 12px 14px;
  border: 1px solid #e2ebf5;
  border-radius: 8px;
  background: #fff;
}

.pm-library-cluster-title {
  margin-bottom: 10px;
  color: #1c3048;
  font-size: 12px;
  font-weight: 950;
}

.pm-library-cluster-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pm-library-cluster-chips button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  max-width: 100%;
  padding: 0 10px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #f8fbff;
  color: #22364e;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-library-cluster-chips button:hover {
  transform: translateY(-1px);
  border-color: rgba(22, 116, 84, .34);
  background: #f3fbf7;
  box-shadow: 0 8px 18px rgba(15, 35, 75, .08);
}

.pm-library-cluster-chips span {
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 800;
}

.pm-library-cluster-chips strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #e9f3ff;
  color: #15548c;
  font-size: 12px;
  font-weight: 950;
}

.pm-library-cluster-chips em {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #6d7f94;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.pm-library-advanced-modal {
  width: min(980px, calc(100vw - 44px));
  max-width: none;
  max-height: calc(100vh - 52px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 10px !important;
}

.pm-library-advanced-head {
  flex-shrink: 0;
  padding: 20px 22px 16px;
  margin: 0;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
}

.pm-library-advanced-body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 18px 22px;
  background: #fbfdff;
}

.pm-library-advanced-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-library-advanced-meta > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #fff;
}

.pm-library-advanced-meta strong {
  color: #145a79;
  font-size: 20px;
  font-weight: 950;
}

.pm-library-advanced-meta span {
  color: #526a86;
  font-size: 12px;
  font-weight: 800;
}

.pm-library-advanced-list {
  display: grid;
  gap: 10px;
}

.pm-library-advanced-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 160px) minmax(240px, 1.6fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #fff;
}

.pm-library-advanced-row label,
.pm-library-advanced-cluster {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pm-library-advanced-row label > span,
.pm-library-advanced-cluster > span {
  color: #1c3048;
  font-size: 12px;
  font-weight: 900;
}

.pm-library-advanced-row .form-input,
.pm-library-advanced-cluster .form-input {
  min-height: 42px;
  border-color: #dce6f2;
  border-radius: 8px;
  background: #fff;
}

.pm-library-advanced-remove {
  min-height: 42px;
  min-width: 74px;
  justify-content: center;
}

.pm-library-advanced-add {
  width: 100%;
  min-height: 42px;
  margin: 12px 0;
  border: 1px dashed #b9cbe0;
  border-radius: 8px;
  background: #fff;
  color: #145a79;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.pm-library-advanced-add:hover {
  transform: translateY(-1px);
  border-color: rgba(22, 116, 84, .38);
  background: #f5fbf8;
}

.pm-library-advanced-cluster {
  padding: 12px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #fff;
}

.pm-library-advanced-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 22px 18px;
  border-top: 1px solid #dce6f2;
  background: #fff;
}

.pm-workflow-subtabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-workflow-subtab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  color: #172033;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-workflow-subtab span {
  font-size: 15px;
  font-weight: 850;
}

.pm-workflow-subtab strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0f3478;
  font-size: 15px;
  font-weight: 900;
}

.pm-workflow-subtab:hover {
  border-color: #b9c9dc;
  background: #f8fbff;
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.pm-workflow-subtab.active {
  border-color: #17315f;
  background: linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%);
  box-shadow: inset 4px 0 0 #167454, var(--shadow-soft);
}

.pm-review-tracking-shell {
  display: grid;
  gap: 14px;
}

.pm-review-tracking-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #d9e5f2;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(23, 49, 95, .055), rgba(22, 116, 84, .045)),
    #ffffff;
  padding: 18px 20px;
  box-shadow: 0 10px 26px rgba(15, 31, 56, .055);
}

.pm-review-tracking-kicker {
  color: #1d5fb4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.pm-review-tracking-hero h3 {
  margin: 6px 0 6px;
  color: #102744;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-review-tracking-hero p {
  margin: 0;
  max-width: 760px;
  color: #526a86;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.7;
}

.pm-review-tracking-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.pm-review-tracking-metrics > div {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  border: 1px solid #dce6f2;
  border-radius: 10px;
  background: #fff;
  padding: 13px 15px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(15, 31, 56, .045);
}

.pm-review-tracking-metrics span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-review-tracking-metrics strong {
  display: block;
  margin-top: 6px;
  color: #17315f;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
}

.pm-review-tracking-table-wrap {
  min-width: 0;
  overflow: visible;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 31, 56, .055);
}

.pm-review-tracking-table {
  --pm-rt-body-font: 14px;
  --pm-rt-sub-font: 13px;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}

.pm-review-tracking-table th,
.pm-review-tracking-table td {
  padding: 14px 14px;
  border-bottom: 1px solid #e8eef6;
  color: #172033;
  font-size: var(--pm-rt-body-font);
  line-height: 1.55;
  vertical-align: top;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-review-tracking-table th {
  background: #f6f9fd;
  color: #526a86;
  font-size: var(--pm-rt-sub-font);
  font-weight: 900;
  text-align: left;
}

.pm-review-tracking-table th:last-child {
  text-align: center;
}

.pm-review-tracking-table tbody tr:last-child td {
  border-bottom: 0;
}

.pm-review-tracking-table tbody tr {
  transition: background .22s ease, box-shadow .22s ease;
}

.pm-review-tracking-table tbody tr:hover {
  background: #f9fcff;
  box-shadow: inset 3px 0 0 #167454;
}

.pm-review-tracking-table tbody tr.is-click-feedback td {
  background: #f2fbf8;
}

.pm-review-tracking-table tbody tr.is-transitioning {
  box-shadow: inset 4px 0 0 #167454;
}

.pm-review-tracking-table tbody tr.is-transitioning td {
  background: linear-gradient(90deg, #f1fbf7 0%, #ffffff 52%, #f1fbf7 100%);
  background-size: 220% 100%;
  animation: pmReviewTransitionRow 1.05s ease-in-out infinite;
}

@keyframes pmReviewTransitionRow {
  0% { background-position: 110% 0; }
  100% { background-position: -110% 0; }
}

.pm-rt-col-detail { width: 74px; }
.pm-rt-col-no { width: 174px; }
.pm-rt-col-author { width: 178px; }
.pm-rt-col-source { width: 108px; }
.pm-rt-col-title { width: 30%; }
.pm-rt-col-progress { width: 29%; }
.pm-rt-col-actions { width: 132px; }

.pm-rt-detail {
  text-align: center;
  width: 74px;
  min-width: 74px;
  padding-left: 8px !important;
  padding-right: 8px !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

.pm-rt-detail .pm-detail-btn {
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  height: 42px;
  margin: 0 auto;
  overflow: hidden;
  font-size: 0;
  line-height: 1;
  vertical-align: middle;
}

.pm-rt-detail .pm-detail-btn::before,
.pm-rt-detail .pm-detail-btn::after {
  display: none !important;
  content: none !important;
}

.pm-rt-no strong,
.pm-rt-author strong {
  display: block;
  color: #17315f;
  font-size: var(--pm-rt-body-font);
  font-weight: 900;
  line-height: 1.45;
}

.pm-rt-no strong {
  line-height: 1.35;
}

.pm-rt-no {
  padding-left: 10px !important;
  padding-right: 10px !important;
  text-align: left;
}

.pm-rt-no-main {
  min-width: 0;
}

.pm-rt-no .pm-em-no-link {
  width: 100%;
  margin: 5px 0 0;
  min-height: 22px;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  color: #075f73;
  font-size: var(--pm-rt-body-font);
  font-weight: 950;
  line-height: 1.35;
}

.pm-rt-no span,
.pm-rt-author span,
.pm-rt-muted {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: var(--pm-rt-sub-font);
  font-weight: 650;
  line-height: 1.5;
}

.pm-rt-no .pm-rt-revision-badge {
  display: flex !important;
  justify-content: flex-start;
  margin: 7px 0 0 0;
}

.pm-chief-row-files {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin-top: 9px;
}

.pm-chief-row-file-chip {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 7px;
  border: 1px solid #d8e6f2;
  border-radius: 8px;
  background: #fbfdff;
  color: #17315f;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-chief-row-file-chip:hover {
  transform: translateY(-1px);
  border-color: #a9cce7;
  background: #fff;
  box-shadow: 0 8px 18px rgba(28, 73, 116, .1);
}

.pm-chief-row-file-chip span {
  margin: 0;
  padding: 3px 6px;
  border-radius: 999px;
  background: #eef6f3;
  color: #17684d;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.pm-chief-row-file-chip strong {
  min-width: 0;
  overflow: hidden;
  color: #17315f;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-chief-row-file-chip em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.pm-chief-row-file-loading,
.pm-chief-row-file-empty {
  display: block;
  padding: 6px 8px;
  border: 1px dashed #d4e0ec;
  border-radius: 8px;
  background: #f8fbff;
  color: #7a8ba0;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.pm-chief-author-stack {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.pm-chief-author-stack strong,
.pm-chief-author-stack span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-rt-title {
  color: #0f1f38;
  font-size: var(--pm-rt-body-font);
  font-weight: 850;
  line-height: 1.65;
}

.pm-rt-source .pm-source-chip {
  min-height: 26px;
  padding: 0 11px;
  font-size: var(--pm-rt-sub-font);
  font-weight: 850;
  line-height: 1;
}

.pm-rt-actions {
  width: 132px;
  min-width: 132px;
  padding-left: 10px !important;
  padding-right: 10px !important;
  text-align: center;
  vertical-align: middle !important;
}

.pm-rt-action-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-content: center;
  justify-items: center;
  width: min(118px, 100%);
  margin: 0 auto;
}

.pm-rt-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  width: 100%;
  padding: 7px 8px;
  border: 1px solid #d9e4f0;
  border-radius: 9px;
  background: #ffffff;
  color: #17315f;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  box-shadow: 0 8px 16px rgba(15, 31, 56, .055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-rt-action-btn:active,
.pm-rt-action-btn.is-click-feedback {
  transform: translateY(0) scale(.985);
}

.pm-rt-action-btn:hover {
  transform: translateY(-1px);
  border-color: #b9c9dc;
  background: #f8fbff;
  box-shadow: 0 12px 22px rgba(15, 31, 56, .085);
}

.pm-rt-action-btn:focus-visible {
  outline: 3px solid rgba(22, 116, 84, .18);
  outline-offset: 2px;
}

.pm-rt-action-btn:disabled {
  cursor: wait;
  opacity: .92;
}

.pm-rt-action-primary {
  border-color: #b7d8cf;
  background: #eefaf6;
  color: #11614c;
}

.pm-rt-action-progress {
  border-color: #b9c7f0;
  background: linear-gradient(180deg, #f5f7ff 0%, #e8edff 100%);
  color: #3447a1;
  box-shadow: 0 10px 20px rgba(52, 71, 161, .12);
}

.pm-rt-action-progress:hover {
  border-color: #8fa2e5;
  background: #f8faff;
  color: #26398e;
  box-shadow: 0 14px 26px rgba(52, 71, 161, .16);
}

.pm-rt-action-advance {
  position: relative;
  overflow: hidden;
}

.pm-rt-action-advance::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.62) 45%, transparent 72%);
  transform: translateX(-120%);
  opacity: 0;
  pointer-events: none;
}

.pm-rt-action-advance.is-click-feedback::after,
.pm-rt-action-advance.is-loading::after {
  opacity: 1;
  animation: pmReviewActionSweep .82s ease;
}

.pm-rt-action-advance.is-loading {
  border-color: #87cdbb;
  background: #e3f8f0;
  color: #0f5c49;
  box-shadow: 0 12px 24px rgba(22, 116, 84, .12);
}

.pm-rt-action-spinner {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(17, 97, 76, .2);
  border-top-color: #11614c;
  border-radius: 999px;
  animation: pmReviewActionSpin .72s linear infinite;
}

@keyframes pmReviewActionSweep {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}

@keyframes pmReviewActionSpin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .pm-review-tracking-table tbody tr.is-transitioning td,
  .pm-rt-action-advance.is-click-feedback::after,
  .pm-rt-action-advance.is-loading::after,
  .pm-rt-action-spinner {
    animation: none !important;
  }
}

.pm-rt-action-opinion {
  min-height: 38px;
  border-radius: 9px;
  border-width: 0;
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(15, 31, 56, .13);
}

.pm-rt-action-opinion:hover {
  color: #ffffff;
  box-shadow: 0 18px 32px rgba(15, 31, 56, .18);
}

.pm-rt-action-associate-opinion {
  background: linear-gradient(135deg, #0f766e 0%, #14a37f 100%);
}

.pm-rt-action-associate-opinion:hover {
  background: linear-gradient(135deg, #0c5f59 0%, #11896d 100%);
}

.pm-rt-action-chief-opinion {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
}

.pm-rt-action-chief-opinion:hover {
  background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
}

.pm-rt-action-em {
  border-color: #c8d8f2;
  background: #f2f7ff;
  color: #174d92;
}

.pm-rt-progress {
  min-width: 0;
}

.pm-chief-worklist {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.pm-chief-work-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid #dbe7f2;
  border-left: 4px solid #167454;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 32px rgba(15, 31, 56, .06);
}

.pm-chief-work-card:hover {
  border-color: #bdd4e9;
  border-left-color: #0f766e;
  box-shadow: 0 18px 38px rgba(15, 31, 56, .085);
}

.pm-chief-work-view {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
}

.pm-chief-work-view .pm-detail-btn {
  flex: 0 0 46px;
  width: 46px;
  min-width: 46px;
  height: 46px;
  margin: 0;
  overflow: hidden;
  font-size: 0;
}

.pm-chief-work-view .pm-detail-btn::before,
.pm-chief-work-view .pm-detail-btn::after {
  display: none !important;
  content: none !important;
}

.pm-chief-work-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.pm-chief-work-summary {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(460px, 1.55fr) minmax(360px, 1fr);
  gap: 12px;
  min-width: 0;
}

.pm-chief-work-block {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e0ebf5;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .92);
}

.pm-chief-work-label {
  display: block;
  margin-bottom: 8px;
  color: #71829a;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.pm-chief-work-id-actions {
  margin-bottom: 12px;
}

.pm-chief-work-id-actions .pm-rt-action-stack {
  width: 100%;
  margin: 0;
}

.pm-chief-work-id-actions .pm-rt-action-btn {
  min-height: 42px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 900;
}

.pm-chief-work-title-block {
  display: grid;
  align-content: start;
  gap: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.pm-chief-work-title-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.pm-chief-work-title-top > span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eef7f4;
  color: #167454;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

.pm-chief-work-title-block strong {
  color: #102744;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-chief-title-abstract {
  display: grid;
  gap: 6px;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid #e6eef6;
}

.pm-chief-title-abstract span {
  color: #71829a;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.pm-chief-title-abstract p {
  display: -webkit-box;
  margin: 0;
  color: #526a86;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.65;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.pm-chief-title-abstract button {
  justify-self: start;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #cfe0f5;
  border-radius: 8px;
  background: #f4f8ff;
  color: #174d92;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-chief-title-abstract button:hover {
  border-color: #9ec5ff;
  background: #e9f2ff;
}

.pm-chief-work-card .pm-rt-no {
  width: auto;
  min-width: 0;
  padding: 0 !important;
}

.pm-chief-work-card .pm-rt-no strong {
  font-size: 15px;
}

.pm-chief-work-card .pm-rt-no .pm-em-no-link {
  width: auto;
  max-width: 100%;
  margin-top: 3px;
  font-size: 15px;
  white-space: normal;
}

.pm-chief-work-card .pm-chief-row-files {
  gap: 8px;
  margin-top: 10px;
}

.pm-chief-work-card .pm-chief-row-file-chip {
  min-height: 38px;
  padding: 8px 9px;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.pm-chief-work-card .pm-chief-row-file-chip span {
  padding: 4px 8px;
  font-size: 11px;
}

.pm-chief-work-card .pm-chief-row-file-chip strong {
  font-size: 12px;
}

.pm-chief-work-card .pm-chief-row-file-chip em {
  font-size: 11px;
}

.pm-chief-work-card .pm-chief-author-stack {
  gap: 6px;
}

.pm-chief-work-card .pm-chief-author-stack strong,
.pm-chief-work-card .pm-chief-author-stack span {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.pm-chief-work-card .pm-chief-author-stack strong {
  color: #17315f;
  font-size: 15px;
  font-weight: 950;
}

.pm-chief-work-card .pm-chief-author-stack span {
  margin-top: 0;
  color: #566b84;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-chief-work-card .pm-chief-author-stack p {
  display: -webkit-box;
  margin: 2px 0 0;
  padding-top: 8px;
  border-top: 1px solid #e6eef6;
  color: #526a86;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.6;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.pm-chief-work-review {
  min-width: 0;
}

.pm-chief-work-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.pm-chief-work-actions .pm-rt-action-stack {
  width: 100%;
}

.pm-chief-work-actions .pm-rt-action-btn {
  min-height: 44px;
  border-radius: 12px;
  font-size: 13px;
}

.pm-chief-review-modules {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.pm-chief-work-card .pm-chief-review-modules {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pm-chief-opinion-module {
  min-width: 0;
  border: 1px solid #dce7f2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 14px rgba(15, 31, 56, .035);
  overflow: hidden;
}

button.pm-chief-opinion-module {
  display: block;
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.pm-chief-opinion-clickable {
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-chief-opinion-clickable:hover {
  transform: translateY(-1px);
  border-color: #f0b86c;
  background: #fffaf3;
  box-shadow: 0 12px 24px rgba(217, 119, 6, .1);
}

.pm-chief-opinion-module-head {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid #edf3f9;
  background: #f8fbff;
}

.pm-chief-opinion-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #94a3b8;
}

.pm-chief-opinion-module-head strong {
  min-width: 0;
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-chief-opinion-module-head em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.pm-chief-opinion-module-main {
  padding: 9px 10px 10px;
}

.pm-chief-opinion-compact .pm-chief-opinion-module-main {
  padding: 10px;
}

.pm-chief-opinion-headline {
  color: #102744;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-chief-opinion-module-main p {
  margin: 5px 0 0;
  color: #526a86;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.55;
  white-space: pre-wrap;
}

.pm-chief-opinion-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.pm-chief-opinion-chips span {
  display: inline-flex;
  max-width: 100%;
  min-height: 22px;
  align-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef6f3;
  color: #16624a;
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
}

.pm-chief-opinion-card-grid {
  min-width: 0;
  margin-top: 8px;
}

.pm-chief-opinion-compact .pm-chief-opinion-card-grid {
  margin-top: 0;
}

.pm-chief-opinion-card-grid .pm-rt-expert-grid {
  gap: 7px;
}

.pm-chief-opinion-card-grid .pm-rt-expert-chip {
  flex: 1 1 168px;
  max-width: none;
  min-height: 62px;
  padding: 8px 9px;
}

.pm-chief-work-card .pm-chief-opinion-card-grid .pm-rt-expert-chip {
  display: grid;
  align-content: center;
  gap: 4px;
  width: 100%;
  min-height: 82px;
  padding: 12px;
  border-radius: 10px;
}

.pm-chief-opinion-card-grid .pm-rt-expert-chip strong {
  color: #102744;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.pm-chief-opinion-card-grid .pm-rt-expert-chip span,
.pm-chief-opinion-card-grid .pm-rt-expert-chip em {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.pm-chief-opinion-card-grid .pm-rt-expert-chip span {
  color: #526a86;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.pm-chief-opinion-card-grid .pm-rt-expert-chip em {
  color: #167454;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}

.pm-chief-opinion-view-cue {
  margin-top: 8px;
  color: #b45309;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-chief-opinion-card-only .pm-chief-opinion-headline {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-chief-work-card .pm-chief-opinion-card-only .pm-chief-opinion-module-main {
  min-height: 82px;
  display: grid;
  align-content: center;
}

.pm-chief-opinion-actions {
  margin-top: 8px;
}

.pm-chief-opinion-actions button {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #cfe0f5;
  border-radius: 7px;
  background: #f4f8ff;
  color: #174d92;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-chief-opinion-actions button:hover {
  border-color: #9ec5ff;
  background: #e9f2ff;
}

.pm-chief-opinion-ready .pm-chief-opinion-dot {
  background: #167454;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .12);
}

.pm-chief-opinion-warn .pm-chief-opinion-dot {
  background: #d97706;
  box-shadow: 0 0 0 4px rgba(217, 119, 6, .13);
}

.pm-chief-opinion-loading .pm-chief-opinion-dot {
  background: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.pm-chief-opinion-empty {
  background: #fbfdff;
}

.pm-chief-opinion-empty .pm-chief-opinion-headline,
.pm-chief-opinion-empty .pm-chief-opinion-module-main p {
  color: #7a8ba0;
}

.pm-chief-review-modules-full {
  gap: 12px;
}

.pm-chief-review-modules-full .pm-chief-opinion-module {
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(15, 31, 56, .05);
}

.pm-chief-review-modules-full .pm-chief-opinion-module-head {
  padding: 11px 13px;
}

.pm-chief-review-modules-full .pm-chief-opinion-module-main {
  padding: 12px 13px 14px;
}

.pm-chief-review-modules-full .pm-chief-opinion-headline {
  font-size: 14px;
}

.pm-chief-review-modules-full .pm-chief-opinion-module-main p {
  font-size: 13px;
}

.pm-chief-opinion-full {
  margin-top: 10px;
}

.pm-chief-opinion-full .pm-review-comment-block:last-child {
  margin-bottom: 0;
}

.pm-associate-opinion-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-associate-opinion-summary div {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce7f2;
  border-radius: 10px;
  background: #fbfdff;
}

.pm-associate-opinion-summary span,
.pm-associate-opinion-summary strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-associate-opinion-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-associate-opinion-summary strong {
  margin-top: 5px;
  color: #102744;
  font-size: 14px;
  font-weight: 950;
}

.pm-rt-sync-card {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #d9e8f2;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
  box-shadow: 0 8px 18px rgba(15, 31, 56, .045);
}

.pm-rt-sync-compact {
  padding: 10px 12px;
  border-radius: 11px;
  box-shadow: 0 7px 16px rgba(15, 31, 56, .04);
}

.pm-rt-sync-head {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.pm-rt-sync-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #167454;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .12);
}

.pm-rt-sync-title {
  min-width: 0;
}

.pm-rt-sync-title strong,
.pm-rt-sync-head > strong {
  display: block;
  color: #132945;
  font-size: var(--pm-rt-body-font);
  font-weight: 950;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pm-rt-sync-title small {
  display: block;
  margin-top: 2px;
  color: #6f8196;
  font-size: var(--pm-rt-sub-font);
  font-weight: 750;
  line-height: 1.35;
}

.pm-rt-sync-source {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid #cfe0f5;
  border-radius: 999px;
  background: #f1f6fd;
  color: #24548c;
  font-size: var(--pm-rt-sub-font);
  font-weight: 950;
  line-height: 1;
}

.pm-rt-sync-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.pm-rt-sync-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef4fb;
  color: #526a86;
  font-size: var(--pm-rt-sub-font);
  font-weight: 850;
  line-height: 1;
}

.pm-rt-sync-line {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid #e6eef6;
  min-width: 0;
}

.pm-rt-sync-line span {
  color: #6c7f95;
  font-size: var(--pm-rt-sub-font);
  font-weight: 900;
  line-height: 1.5;
}

.pm-rt-sync-line strong,
.pm-rt-sync-value {
  min-width: 0;
  color: #1d3149;
  font-size: var(--pm-rt-body-font);
  font-weight: 800;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-rt-review-status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.pm-rt-review-status-item {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  min-height: 28px;
  padding: 6px 9px;
  border: 1px solid #dce8f2;
  border-radius: 10px;
  background: #f8fbfd;
  color: #21364f;
  line-height: 1.35;
  cursor: pointer;
  text-align: left;
  font: inherit;
  appearance: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-rt-review-status-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(22, 55, 92, .12);
}

.pm-rt-review-status-item:focus-visible {
  outline: 3px solid rgba(21, 112, 239, .22);
  outline-offset: 2px;
}

.pm-rt-review-status-item strong {
  color: inherit;
  font-size: var(--pm-rt-body-font);
  font-weight: 900;
  line-height: 1.35;
}

.pm-rt-review-status-item small {
  margin-top: 2px;
  color: #60758d;
  font-size: var(--pm-rt-sub-font);
  font-weight: 750;
  line-height: 1.35;
}

.pm-rt-review-status-item em {
  display: block;
  margin-top: 4px;
  color: #17315f;
  font-size: var(--pm-rt-sub-font);
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}

.pm-rt-review-status-complete {
  border-color: #bfe2d5;
  background: #effaf5;
  color: #17684d;
}

.pm-rt-review-status-active,
.pm-rt-review-status-person {
  border-color: #cfe0f5;
  background: #f2f7fd;
  color: #1f4f86;
}

.pm-rt-review-status-warn {
  border-color: #f1d3a8;
  background: #fff8ed;
  color: #9a4b08;
}

.pm-rt-review-status-neutral {
  border-color: #dce8f2;
  background: #f8fbfd;
  color: #526a86;
}

.pm-rt-sync-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e6eef6;
}

.pm-rt-compact-line {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #e6eef6;
}

.pm-rt-sync-expert-only {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.pm-rt-sync-expert-only .pm-rt-compact-line,
.pm-rt-compact-line-experts {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  align-items: center;
}

.pm-rt-compact-line-experts {
  grid-template-columns: 70px minmax(0, 1fr);
}

.pm-rt-progress-caption {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 8px;
}

.pm-rt-progress-caption strong {
  color: #102b43;
  font-size: var(--pm-rt-body-font);
  font-weight: 950;
  line-height: 1.35;
}

.pm-rt-progress-caption span,
.pm-rt-progress-caption small {
  color: #64748b;
  font-size: var(--pm-rt-sub-font);
  font-weight: 800;
  line-height: 1.35;
}

.pm-rt-revision-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  margin-top: 6px;
  padding: 0 9px;
  border: 1px solid #b9d8ee;
  border-radius: 999px;
  background: #f1f7ff;
  color: #1f4f86 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1;
  white-space: nowrap;
}

.pm-rt-progress-caption .pm-rt-revision-badge {
  margin-top: 0;
}

.pm-rt-expert-row {
  min-width: 0;
}

.pm-rt-compact-line span {
  color: #6c7f95;
  font-size: var(--pm-rt-sub-font);
  font-weight: 900;
  line-height: 1.5;
}

.pm-rt-compact-line strong {
  min-width: 0;
  color: #1d3149;
  font-size: var(--pm-rt-body-font);
  font-weight: 900;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-rt-expert-placeholder {
  flex: 1 1 100%;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.pm-rt-summary-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #bfd7ea;
  border-radius: 999px;
  background: #f7fbff;
  color: #17315f;
  font: inherit;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-rt-summary-chip:hover {
  transform: translateY(-1px);
  border-color: #8eb8dc;
  background: #ffffff;
  box-shadow: 0 8px 16px rgba(23, 49, 95, .1);
}

.pm-rt-summary-chip:focus-visible {
  outline: 3px solid rgba(21, 112, 239, .2);
  outline-offset: 2px;
}

.pm-rt-summary-chip strong,
.pm-rt-summary-chip span {
  display: inline;
  min-width: 0;
  line-height: 1;
}

.pm-rt-summary-chip strong {
  color: #0f3b65;
  font-size: 13px;
  font-weight: 950;
}

.pm-rt-summary-chip span {
  color: #2f5f7f;
  font-size: 12px;
  font-weight: 900;
}

.pm-rt-summary-accepted {
  border-color: #b7dfd3;
  background: #f2fbf7;
}

.pm-rt-summary-returned {
  border-color: #bdd2f0;
  background: #f4f8ff;
}

.pm-rt-summary-declined {
  border-color: #f1c5c5;
  background: #fff7f7;
}

.pm-rt-expert-list,
.pm-rt-expert-grid {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pm-rt-expert-chip {
  flex: 0 1 calc(50% - 3px);
  min-width: 0;
  max-width: 270px;
  display: grid;
  gap: 2px;
  min-height: 58px;
  padding: 8px 10px;
  border: 1px solid #d7e5ef;
  border-radius: 9px;
  background: #fbfdff;
  color: #17315f;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-rt-expert-chip:hover {
  transform: translateY(-1px);
  border-color: #a9cce7;
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(28, 73, 116, .1);
}

.pm-rt-expert-chip:focus-visible {
  outline: 3px solid rgba(21, 112, 239, .22);
  outline-offset: 2px;
}

.pm-rt-expert-chip strong,
.pm-rt-expert-chip span,
.pm-rt-expert-chip em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-rt-expert-chip strong {
  color: #102b43;
  font-size: var(--pm-rt-body-font);
  font-weight: 950;
  line-height: 1.3;
}

.pm-rt-expert-chip span {
  color: #61758c;
  font-size: var(--pm-rt-sub-font);
  font-weight: 750;
  line-height: 1.3;
}

.pm-rt-expert-chip em {
  color: #17684d;
  font-size: var(--pm-rt-sub-font);
  font-style: normal;
  font-weight: 900;
  line-height: 1.3;
}

.pm-rt-returned-badge {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dcf8ea;
  color: #14744f;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.25;
  vertical-align: middle;
}

.pm-rt-expert-active {
  border-color: #b9d8ee;
  background: #f4f9ff;
}

.pm-rt-expert-complete {
  border-color: #bfe2d5;
  background: #f3fbf7;
}

.pm-rt-expert-complete em {
  color: #17684d;
}

.pm-rt-expert-warn {
  border-color: #f0d3a8;
  background: #fffaf1;
}

.pm-rt-expert-warn em {
  color: #9a4b08;
}

.pm-rt-expert-neutral {
  border-color: #dce8f2;
  background: #f8fbfd;
}

.pm-rt-compact-note {
  margin-top: 6px;
  color: #65778d;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.45;
}

.pm-rt-review-detail-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #bfd5ec;
  border-radius: 9px;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
  color: #1e5b98;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-rt-review-detail-btn:hover {
  transform: translateY(-1px);
  border-color: #8fb9e5;
  background: #f8fbff;
  box-shadow: 0 8px 18px rgba(29, 95, 180, .13);
}

.pm-rt-review-detail-btn:focus-visible {
  outline: 3px solid rgba(29, 95, 180, .2);
  outline-offset: 2px;
}

.pm-rt-sync-muted {
  margin-top: 8px;
  color: #7b8da3;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.pm-rt-sync-active {
  border-color: #c8e5dc;
  background: linear-gradient(180deg, #ffffff 0%, #f2fbf7 100%);
}

.pm-rt-sync-active .pm-rt-sync-dot {
  background: #167454;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .13);
}

.pm-rt-sync-ended {
  border-color: #cddcf5;
  background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);
}

.pm-rt-sync-ended .pm-rt-sync-dot {
  background: #1d5fb4;
  box-shadow: 0 0 0 4px rgba(29, 95, 180, .12);
}

.pm-rt-sync-pending {
  border-color: #d7e2ef;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
}

.pm-rt-sync-pending .pm-rt-sync-dot {
  background: #7890aa;
  box-shadow: 0 0 0 4px rgba(120, 144, 170, .14);
}

.pm-rt-sync-info .pm-rt-sync-value {
  color: #526a86;
  font-weight: 800;
}

.pm-rt-sync-warn,
.pm-rt-sync-supplementing {
  border-color: #f2d2a8;
  background: linear-gradient(180deg, #ffffff 0%, #fff8ed 100%);
}

.pm-rt-sync-warn .pm-rt-sync-dot,
.pm-rt-sync-supplementing .pm-rt-sync-dot {
  background: #d97706;
  box-shadow: 0 0 0 4px rgba(217, 119, 6, .13);
}

.pm-rt-sync-idle {
  border-style: dashed;
  background: #fbfdff;
}

.pm-rt-sync-idle .pm-rt-sync-dot {
  background: #94a3b8;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, .12);
}

.pm-rt-status-modal {
  width: min(980px, 94vw) !important;
  max-height: 90vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
}

.pm-rt-status-popover {
  width: min(620px, 94vw) !important;
  max-height: 82vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
}

.pm-rt-status-popover-head {
  padding: 16px 20px;
  margin: 0;
  border-bottom: 1px solid #e2edf7;
  background: #fff;
  flex-shrink: 0;
}

.pm-rt-status-brief {
  display: grid;
  gap: 12px;
  padding: 18px 20px;
  background: #f8fbfd;
  overflow: auto;
}

.pm-rt-status-brief-main,
.pm-rt-status-brief-state {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid #dce8f2;
  border-radius: 12px;
  background: #fff;
}

.pm-rt-status-brief-main > span,
.pm-rt-status-brief-state > span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}

.pm-rt-status-brief-main > strong,
.pm-rt-status-brief-state > strong {
  display: block;
  margin-top: 6px;
  color: #102b43;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-rt-status-brief-main > small {
  display: block;
  margin-top: 4px;
  color: #536a84;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-rt-status-brief-title {
  color: #334155;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.pm-rt-em-sync-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 15px;
  border: 1px solid #cfe0f2;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #f4f9ff 58%, #f2fbf8 100%);
  box-shadow: 0 12px 28px rgba(15, 31, 56, .06);
}

.pm-rt-em-sync-card > div {
  min-width: 0;
}

.pm-rt-review-opinion-card span {
  white-space: pre-wrap;
}

.pm-rt-em-sync-card strong,
.pm-rt-em-sync-card span {
  display: block;
}

.pm-rt-em-sync-card strong {
  color: #102b43;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.45;
}

.pm-rt-em-sync-card span {
  margin-top: 4px;
  color: #5c6f86;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-rt-em-sync-card .btn {
  flex-shrink: 0;
  min-height: 38px !important;
}

.pm-rt-reminder-log-card {
  padding: 14px 15px;
  border: 1px solid #dbe8f5;
  border-radius: 12px;
  background: #fff;
}

.pm-rt-reminder-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pm-rt-reminder-log-head strong,
.pm-rt-reminder-log-head span {
  display: block;
}

.pm-rt-reminder-log-head strong {
  color: #102b43;
  font-size: 14px;
  font-weight: 950;
}

.pm-rt-reminder-log-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.pm-rt-reminder-log-card p {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.6;
}

.pm-rt-reminder-log-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.pm-rt-reminder-log-item {
  display: grid;
  gap: 5px;
  padding: 10px 11px;
  border: 1px solid #e2edf7;
  border-left: 4px solid #9fb5cc;
  border-radius: 10px;
  background: #f8fbfd;
}

.pm-rt-reminder-log-item strong,
.pm-rt-reminder-log-item span,
.pm-rt-reminder-log-item em,
.pm-rt-reminder-log-item small {
  display: block;
  overflow-wrap: anywhere;
}

.pm-rt-reminder-log-item strong {
  color: #102b43;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
}

.pm-rt-reminder-log-item span {
  margin-top: 2px;
  color: #536a84;
  font-size: 12px;
  font-weight: 750;
}

.pm-rt-reminder-log-item em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.pm-rt-reminder-log-item small {
  color: #b42318;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.5;
}

.pm-rt-reminder-log-sent {
  border-left-color: #23845f;
  background: #f5fbf8;
}

.pm-rt-reminder-log-failed {
  border-left-color: #c0372b;
  background: #fff8f7;
}

.pm-rt-status-modal-head {
  padding: 18px 22px;
  margin: 0;
  background: linear-gradient(135deg, #ffffff 0%, #f6fbff 100%);
  border-bottom: 1px solid #e2edf7;
  flex-shrink: 0;
}

.pm-rt-status-title {
  padding: 14px 22px;
  border-bottom: 1px solid #e6eef6;
  color: #0f1f38;
  background: #fbfdff;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.55;
}

.pm-rt-status-body {
  flex: 1;
  overflow: auto;
  padding: 18px 22px;
  background: #f7fafc;
}

.pm-rt-status-focus {
  padding: 16px 18px;
  border: 1px solid #dce8f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 31, 56, .08);
}

.pm-rt-status-focus > span,
.pm-rt-status-section-title {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
}

.pm-rt-status-focus > strong {
  display: block;
  margin-top: 7px;
  color: #102b43;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.45;
}

.pm-rt-status-focus > small {
  display: block;
  margin-top: 4px;
  color: #536a84;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-rt-status-raw {
  margin-top: 12px;
  padding: 12px 13px;
  border-radius: 10px;
  background: #f5f8fb;
  color: #243850;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.pm-rt-status-section {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #e2edf7;
  border-radius: 14px;
  background: #fff;
}

.pm-rt-status-section-title {
  margin-bottom: 12px;
  color: #102b43;
}

.pm-rt-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pm-rt-status-grid > div {
  min-width: 0;
  padding: 12px;
  border-radius: 11px;
  background: #f8fbfd;
  border: 1px solid #e2edf7;
}

.pm-rt-status-grid span {
  display: block;
  color: #6c7f95;
  font-size: 11px;
  font-weight: 900;
}

.pm-rt-status-grid strong {
  display: block;
  margin-top: 5px;
  color: #172033;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-rt-status-list {
  display: grid;
  gap: 8px;
}

.pm-rt-status-list-item {
  padding: 12px 13px;
  border: 1px solid #e2edf7;
  border-radius: 11px;
  background: #f8fbfd;
}

.pm-rt-status-list-item.active {
  border-color: #9cc6ef;
  background: #f1f7ff;
  box-shadow: inset 3px 0 0 #2f7dd1;
}

.pm-rt-status-list-item strong,
.pm-rt-status-list-item small,
.pm-rt-status-list-item span {
  display: block;
  overflow-wrap: anywhere;
}

.pm-rt-status-list-item strong {
  color: #102b43;
  font-size: 13px;
  font-weight: 900;
}

.pm-rt-status-list-item small {
  margin-top: 3px;
  color: #536a84;
  font-size: 12px;
  font-weight: 750;
}

.pm-rt-status-list-item span {
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.pm-rt-comment-summary-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 15px;
  border: 1px solid #dbe8f5;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #f5f9fd 100%);
}

.pm-rt-comment-summary-card strong,
.pm-rt-comment-summary-card span {
  display: block;
}

.pm-rt-comment-summary-card strong {
  color: #102b43;
  font-size: 14px;
  font-weight: 950;
}

.pm-rt-comment-summary-card span {
  margin-top: 4px;
  color: #65778d;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-rt-comment-summary-card .btn {
  flex-shrink: 0;
  min-height: 36px;
  justify-content: center;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .pm-rt-status-grid {
    grid-template-columns: 1fr;
  }

  .pm-rt-comment-summary-card {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-rt-em-sync-card {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-rt-em-sync-card .btn {
    width: 100%;
  }

  .pm-rt-comment-summary-card .btn {
    width: 100%;
  }
}

.pm-author-revision-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-author-revision-metrics > div {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  padding: 14px 16px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(15, 31, 56, .05);
}

.pm-author-revision-metrics span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-author-revision-metrics strong {
  display: block;
  margin-top: 7px;
  color: #17315f;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
}

.pm-author-revision-list {
  display: grid;
  gap: 12px;
}

.pm-author-revision-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  gap: 14px;
  align-items: stretch;
  min-width: 0;
  padding: 16px;
  border: 1px solid #dce7f2;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 12px 28px rgba(15, 31, 56, .06);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pm-author-revision-card:hover {
  transform: translateY(-1px);
  border-color: #bdd4ee;
  box-shadow: 0 18px 36px rgba(15, 31, 56, .09);
}

.pm-author-revision-card.is-returned {
  border-color: #b7ddcf;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbf8 100%);
}

.pm-author-revision-card-main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.pm-author-revision-card-head,
.pm-author-revision-meta,
.pm-author-revision-files {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.pm-author-revision-status,
.pm-author-revision-source {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.pm-author-revision-status {
  background: #fff7ed;
  color: #b45309;
}

.pm-author-revision-status.is-returned {
  background: #e8f7ef;
  color: #17684d;
}

.pm-author-revision-source {
  background: #eef5ff;
  color: #1d4d8f;
}

.pm-author-revision-id {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.pm-author-revision-id strong {
  color: #102744;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.25;
}

.pm-author-revision-id span {
  color: #5f7188;
  font-size: 13px;
  font-weight: 800;
}

.pm-author-revision-card h3 {
  margin: 0;
  color: #14233b;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-author-revision-meta span {
  max-width: 100%;
  color: #526a86;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-author-revision-notice {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #d8e7f5;
  border-radius: 10px;
  background: #ffffff;
}

.pm-author-revision-notice strong {
  color: #17315f;
  font-size: 13px;
  font-weight: 950;
}

.pm-author-revision-notice span {
  color: #5b7088;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}

.pm-author-revision-notice-em {
  border-color: #f0d6ad;
  background: #fffaf3;
}

.pm-author-revision-notice-em.is-returned {
  border-color: #bfe3d4;
  background: #f2fbf6;
}

.pm-author-revision-latest-log {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid #c9dcf2;
  border-radius: 10px;
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
}

.pm-author-revision-latest-log strong {
  color: #17315f;
  font-size: 12px;
  font-weight: 950;
}

.pm-author-revision-latest-log span {
  color: #1e3556;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-author-revision-latest-log em {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.pm-author-revision-latest-log b {
  font-weight: 850;
}

.pm-author-revision-file-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  max-width: 100%;
  padding: 0 10px;
  border: 1px solid #dce7f2;
  border-radius: 999px;
  background: #f8fbff;
  color: #64748b;
}

.pm-author-revision-file-pill strong,
.pm-author-revision-file-pill em {
  min-width: 0;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

.pm-author-revision-file-pill strong {
  font-weight: 900;
}

.pm-author-revision-file-pill em {
  font-style: normal;
  font-weight: 800;
}

.pm-author-revision-file-pill.is-ready {
  border-color: #b7ddcf;
  background: #effaf4;
  color: #17684d;
}

.pm-author-revision-file-em {
  border-color: #a7d8c6;
  background: #ecfdf5;
  color: #0f6b4d;
}

.pm-author-revision-actions {
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
}

.pm-author-revision-actions .pm-detail-btn,
.pm-author-revision-actions .btn {
  width: 100%;
  min-height: 40px;
}

.pm-published-issue-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid #e6edf6;
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
}

.pm-issue-list-head-assembling {
  background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
}

.pm-issue-head-count {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 4px;
  min-width: 96px;
  justify-content: center;
  padding: 9px 12px;
  border: 1px solid #dfe8f3;
  border-radius: 8px;
  background: rgba(255,255,255,.78);
}

.pm-issue-head-count strong {
  color: #17315f;
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}

.pm-issue-head-count span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.pm-issue-head-count em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}

.pm-issue-year-groups {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f8fc 100%);
}

.pm-issue-year-groups-assembling {
  background: linear-gradient(180deg, #fbfdff 0%, #f5f8fc 100%);
}

.pm-issue-year-section {
  min-width: 0;
}

.pm-issue-year-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.pm-issue-year-head > div {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.pm-issue-year-label {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #cfe0f4;
  border-radius: 999px;
  background: #eef6ff;
  color: #17315f;
  font-size: 15px;
  font-weight: 950;
}

.pm-issue-year-groups-assembling .pm-issue-year-label {
  border-color: #cfe0f4;
  background: #eef6ff;
  color: #17315f;
}

.pm-issue-year-head strong,
.pm-issue-year-head small {
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}

.pm-issue-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
  gap: 14px;
}

.pm-issue-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  min-height: 205px;
  padding: 16px;
  border: 1px solid #e1e9f4;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.98) 100%);
  box-shadow: 0 12px 28px rgba(18, 42, 74, .075);
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pm-issue-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #17315f 0%, #16856a 100%);
}

.pm-issue-card:hover {
  transform: translateY(-2px);
  border-color: #c6d7eb;
  box-shadow: 0 18px 34px rgba(18, 42, 74, .12);
}

.pm-issue-card-assembling {
  border-color: #e1e9f4;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.98) 100%);
}

.pm-issue-card-assembling::before {
  background: linear-gradient(90deg, #17315f 0%, #16856a 100%);
}

.pm-issue-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.pm-issue-card-title {
  flex: 1 1 auto;
  color: #102544;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pm-issue-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pm-issue-card-meta span {
  min-width: 0;
  padding: 10px;
  border: 1px solid #edf2f7;
  border-radius: 8px;
  background: rgba(255,255,255,.82);
}

.pm-issue-card-meta b,
.pm-issue-card-meta em {
  display: block;
  font-style: normal;
  line-height: 1.25;
}

.pm-issue-card-meta b {
  margin-bottom: 4px;
  color: #8190a4;
  font-size: 12px;
  font-weight: 850;
}

.pm-issue-card-meta em {
  color: #233a5d;
  font-size: 13px;
  font-weight: 900;
}

.pm-issue-card-side {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pm-issue-card .pm-mini-btn {
  width: 100%;
  min-height: 42px;
  justify-content: center;
  border-radius: 8px;
  font-weight: 900;
}

.pm-issue-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-issue-status-published {
  color: #17684d;
  background: #eaf8f1;
  border: 1px solid #cdebdc;
}

.pm-issue-status-assembling {
  color: #17684d;
  background: #eaf8f1;
  border: 1px solid #cdebdc;
}

.pm-issue-status-pending {
  color: #1d4d8f;
  background: #eef6ff;
  border: 1px solid #c9ddf4;
}

.pm-issue-card-pending::before {
  background: linear-gradient(90deg, #6b7f99 0%, #3b82c4 100%);
}

.pm-issue-card-pending {
  border-color: #d7e4f3;
}

.pm-issue-empty {
  margin: 16px 18px 18px;
  padding: 30px 18px;
  border: 1px dashed #cfd9e7;
  border-radius: 8px;
  background: #fbfcff;
  color: #64748b;
  text-align: center;
  font-weight: 800;
}

.pm-published-issue-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.pm-published-issue-table th,
.pm-published-issue-table td {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  vertical-align: middle !important;
}

.pm-published-issue-table th:nth-child(1),
.pm-published-issue-table td:nth-child(1) {
  width: 30%;
}

.pm-published-issue-table th:nth-child(2),
.pm-published-issue-table td:nth-child(2) {
  width: 20%;
}

.pm-published-issue-table th:nth-child(3),
.pm-published-issue-table td:nth-child(3),
.pm-published-issue-table th:nth-child(4),
.pm-published-issue-table td:nth-child(4) {
  width: 16%;
}

.pm-published-issue-table th:nth-child(5),
.pm-published-issue-table td:nth-child(5) {
  width: 18%;
}

.pm-issue-code {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid #d8e4f2;
  border-radius: 999px;
  background: #f3f8ff;
  color: #17315f;
  font-size: 13px;
  font-weight: 850;
}

.pm-issue-modal-wrap {
  align-items: center;
  overflow-y: auto;
  padding: 12px;
  background: rgba(13, 24, 40, .54);
  backdrop-filter: blur(3px);
}

.pm-issue-modal {
  width: min(1780px, calc(100vw - 48px)) !important;
  height: calc(100dvh - 48px) !important;
  max-height: calc(100dvh - 48px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(214, 226, 240, .95);
  border-radius: 12px !important;
  background: #f4f7fb;
  box-shadow: 0 30px 90px rgba(10, 28, 54, .34);
}

.pm-issue-modal .modal-header {
  flex-shrink: 0;
  border-bottom: 1px solid var(--border);
  background: #fff;
}

.pm-issue-modal-hero {
  position: relative;
  flex-shrink: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 500px);
  gap: 18px;
  align-items: center;
  padding: 18px 64px 16px 28px;
  border-bottom: 1px solid #d7e3f0;
  background:
    radial-gradient(circle at 78% 28%, rgba(22, 116, 84, .10), transparent 32%),
    linear-gradient(135deg, rgba(24, 82, 130, .10), rgba(23, 104, 77, .07)),
    #ffffff;
  color: #172033;
}

.pm-issue-modal-assembling .pm-issue-modal-hero {
  background:
    radial-gradient(circle at 78% 28%, rgba(180, 113, 22, .12), transparent 32%),
    linear-gradient(135deg, rgba(29, 95, 180, .07), rgba(183, 121, 31, .11)),
    #ffffff;
}

.pm-issue-modal-kicker {
  display: inline-flex;
  width: fit-content;
  min-height: 22px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid #cbdceb;
  border-radius: 999px;
  background: #f4f8fc;
  color: #1d5f74;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pm-issue-modal-title-block h2 {
  margin: 8px 0 5px;
  color: #102544;
  font-size: clamp(25px, 1.8vw, 32px);
  line-height: 1.16;
  font-weight: 950;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.pm-issue-modal-title-block p {
  margin: 0;
  max-width: 920px;
  color: #53677d;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 750;
}

.pm-issue-file-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

@media (min-width: 1180px) {
  .pm-issue-modal-title-block {
    position: relative;
    min-height: 86px;
    padding-right: 288px;
  }

  .pm-issue-file-quick-actions {
    position: absolute;
    right: 0;
    top: 50%;
    width: 268px;
    margin-top: 0;
    transform: translateY(-50%);
    justify-content: flex-end;
  }
}

.pm-issue-file-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid #c9dae8;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: #19304b;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(25, 48, 75, .08);
}

.pm-issue-file-chip:hover {
  border-color: #8fb2c9;
  background: #ffffff;
}

.pm-issue-file-chip em {
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf4fa;
  color: #1d6682;
  font-style: normal;
  font-size: 11px;
}

.pm-issue-file-chip.is-ready em {
  background: #e8f6ef;
  color: #176843;
}

.pm-issue-upload-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 10030;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 29, 45, .42);
}

.pm-issue-upload-modal {
  width: min(520px, 94vw);
  border: 1px solid #d7e4ef;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(10, 28, 54, .28);
  overflow: hidden;
}

.pm-issue-upload-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #e2ecf4;
  background: linear-gradient(135deg, #f8fbfd, #eef6f4);
}

.pm-issue-upload-modal-head span {
  display: block;
  color: #5e748a;
  font-size: 12px;
  font-weight: 950;
}

.pm-issue-upload-modal-head strong {
  display: block;
  margin-top: 6px;
  color: #102544;
  font-size: 18px;
  font-weight: 950;
}

.pm-issue-upload-close {
  width: 32px;
  height: 32px;
  border: 1px solid #d2dfeb;
  border-radius: 999px;
  background: #ffffff;
  color: #54687e;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.pm-issue-upload-current {
  margin: 18px 20px 0;
  padding: 14px;
  border: 1px dashed #cddbe8;
  border-radius: 10px;
  background: #fbfdff;
}

.pm-issue-upload-current strong {
  display: block;
  color: #1b324b;
  font-size: 14px;
  font-weight: 950;
  word-break: break-word;
}

.pm-issue-upload-current span {
  display: block;
  margin-top: 6px;
  color: #687b8e;
  font-size: 12px;
  font-weight: 750;
}

.pm-issue-upload-picker {
  display: grid;
  gap: 8px;
  margin: 16px 20px 0;
  color: #42576d;
  font-size: 12px;
  font-weight: 950;
}

.pm-issue-upload-picker input {
  width: 100%;
  padding: 10px;
  border: 1px solid #d6e3ef;
  border-radius: 9px;
  background: #ffffff;
  color: #24364a;
}

.pm-issue-upload-modal-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 20px 20px;
}

.pm-issue-modal-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 72px;
  border: 1px solid rgba(207, 220, 235, .9);
  border-radius: 12px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 18px 42px rgba(26, 55, 92, .10);
  overflow: hidden;
}

.pm-issue-modal-metrics:has(.pm-issue-complete-btn) {
  grid-template-columns: minmax(118px, .82fr) minmax(118px, .88fr) minmax(210px, auto);
}

.pm-issue-complete-btn {
  align-self: center;
  margin: 0 14px;
  min-width: 108px;
  height: 40px;
  padding: 0 18px;
  border-radius: 10px;
  white-space: nowrap;
  box-shadow: 0 12px 26px rgba(21, 94, 117, .18);
}

.pm-issue-modal-actions {
  align-self: center;
  display: flex;
  min-width: 0;
  gap: 8px;
  justify-content: flex-end;
  margin: 0 14px;
}

.pm-issue-modal-actions .pm-issue-complete-btn {
  margin: 0;
  min-width: 94px;
  padding-inline: 14px;
}

.pm-issue-reopen-btn {
  border-color: #cbd8e6 !important;
  background: #ffffff !important;
  color: #17315f !important;
  box-shadow: 0 10px 24px rgba(42, 63, 88, .12);
}

.pm-issue-reopen-btn:hover:not(:disabled) {
  border-color: #94a9c2 !important;
  background: #f6f9fc !important;
}

.pm-issue-rollback-btn {
  border-color: #cbd8e6 !important;
  background: #ffffff !important;
  color: #17315f !important;
  box-shadow: 0 10px 24px rgba(42, 63, 88, .12);
}

.pm-issue-rollback-btn:hover:not(:disabled) {
  border-color: #94a9c2 !important;
  background: #f6f9fc !important;
}

.pm-issue-summary-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 12px 18px;
}

.pm-issue-summary-card + .pm-issue-summary-card {
  border-left: 1px solid #e1ebf4;
}

.pm-issue-summary-label {
  color: #6a7e92;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
}

.pm-issue-summary-count {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  margin-top: 6px;
  color: #17315f;
  line-height: 1;
}

.pm-issue-summary-count strong {
  font-size: 32px;
  font-weight: 950;
  letter-spacing: 0;
}

.pm-issue-summary-count span {
  padding-bottom: 4px;
  color: #51677f;
  font-size: 14px;
  font-weight: 900;
}

.pm-issue-summary-card-status {
  align-items: flex-start;
}

.pm-issue-modal-status {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: 7px;
  min-width: 0;
}

.pm-issue-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  color: #52677f !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid #d5e1ee !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 20px rgba(25, 48, 75, .10);
}

@media (max-width: 1320px) {
  .pm-issue-modal-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .pm-issue-modal-metrics {
    width: min(100%, 620px);
    justify-self: end;
  }
}

.pm-modal-subtitle {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.pm-issue-toc-wrap {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 14px 16px;
  background:
    linear-gradient(180deg, #f4f8fc 0%, #f8fbfd 100%);
}

.pm-issue-files-panel {
  margin-bottom: 18px;
  border: 1px solid #d8e4f0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(26, 55, 92, .08);
  overflow: hidden;
}

.pm-issue-files-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #e4edf5;
  background: linear-gradient(135deg, #f8fbfd, #eef6f4);
}

.pm-issue-files-panel-head > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.pm-issue-files-panel-head span {
  color: #5e748a;
  font-size: 12px;
  font-weight: 950;
}

.pm-issue-files-panel-head strong {
  color: #102544;
  font-size: 17px;
  font-weight: 950;
}

.pm-issue-files-panel-head em {
  color: #486074;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-align: right;
}

.pm-issue-files-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}

.pm-issue-file-upload-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  border: 1px solid #dce7f1;
  border-radius: 10px;
  background: #fbfdff;
}

.pm-issue-file-upload-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.pm-issue-file-upload-head strong {
  display: block;
  color: #142a43;
  font-size: 15px;
  font-weight: 950;
}

.pm-issue-file-upload-head span {
  display: block;
  margin-top: 5px;
  color: #62768b;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 750;
}

.pm-issue-file-upload-head em {
  flex: 0 0 auto;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}

.pm-issue-file-upload-head em.is-ready {
  background: #e8f6ef;
  color: #176843;
}

.pm-issue-file-upload-head em.is-loading {
  background: #eef5ff;
  color: #1d5f9f;
}

.pm-issue-file-upload-head em.is-empty {
  background: #f3f6f9;
  color: #66788a;
}

.pm-issue-file-current {
  min-height: 54px;
  padding: 12px;
  border: 1px dashed #cddbe8;
  border-radius: 8px;
  background: #ffffff;
}

.pm-issue-file-current-name {
  color: #1b324b;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
  word-break: break-word;
}

.pm-issue-file-current-meta {
  margin-top: 5px;
  color: #6a7b8c;
  font-size: 12px;
  font-weight: 750;
}

.pm-issue-file-upload-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.pm-issue-file-upload-btn,
.pm-issue-file-download-btn {
  min-height: 34px;
  padding: 0 13px;
  border-radius: 8px;
  border: 1px solid #c8d7e6;
  background: #ffffff;
  color: #163253;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.pm-issue-file-upload-btn {
  border-color: #1d7891;
  background: #1d7891;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(29, 120, 145, .18);
}

.pm-issue-file-upload-btn:hover:not(:disabled) {
  background: #17697f;
}

.pm-issue-file-download-btn:hover {
  background: #f4f8fc;
  border-color: #9fb4c9;
}

.pm-issue-file-upload-btn:disabled {
  opacity: .68;
  cursor: wait;
}

@media (max-width: 900px) {
  .pm-issue-files-panel-head,
  .pm-issue-file-upload-head,
  .pm-issue-file-upload-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-issue-files-grid {
    grid-template-columns: 1fr;
  }
}

.pm-issue-toc-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border: 1px solid #dbe6f2;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 16px 40px rgba(22, 43, 70, .075);
}

.pm-issue-toc-table th,
.pm-issue-toc-table td {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  vertical-align: top !important;
}

.pm-issue-toc-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #edf4fa !important;
  color: #40566f !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pm-issue-toc-table td {
  color: #26364a;
  line-height: 1.62;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pm-issue-toc-table tbody tr:hover {
  background: #f7fbff;
}

.pm-issue-toc-row {
  position: relative;
  transform: translateZ(0);
  transition: background-color .18s ease, box-shadow .18s ease;
}

.pm-issue-toc-row.is-moving {
  z-index: 3;
  will-change: transform, opacity;
  transition: transform .28s cubic-bezier(.2, .9, .2, 1), opacity .22s ease;
}

.pm-issue-toc-row.is-highlighted td {
  animation: pmIssueTocRowFlash .9s ease;
}

@keyframes pmIssueTocRowFlash {
  0% { background: #e0f7fa; box-shadow: inset 4px 0 0 #0891b2; }
  45% { background: #f0fdfa; box-shadow: inset 4px 0 0 #0f766e; }
  100% { background: transparent; box-shadow: inset 0 0 0 rgba(8, 145, 178, 0); }
}

.pm-issue-order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #eef5ff;
  color: #17315f;
  font-weight: 950;
}

.pm-issue-file-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  min-width: 42px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f3f8ff;
  color: #17315f;
  font-size: 12px;
  font-weight: 900;
}

.pm-issue-toc-table th:nth-child(1),
.pm-issue-toc-table td:nth-child(1) {
  width: 50px;
  text-align: center;
}

.pm-issue-toc-table th:nth-child(2),
.pm-issue-toc-table td:nth-child(2) {
  width: 58px;
  text-align: center;
}

.pm-issue-toc-table th:nth-child(3),
.pm-issue-toc-table td:nth-child(3) {
  width: 128px;
}

.pm-issue-toc-table th:nth-child(4),
.pm-issue-toc-table td:nth-child(4),
.pm-issue-toc-table th:nth-child(5),
.pm-issue-toc-table td:nth-child(5) {
  width: 120px;
}

.pm-issue-toc-table th:nth-child(6),
.pm-issue-toc-table td:nth-child(6) {
  width: 122px;
}

.pm-issue-toc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #d8e5f1;
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 10px 26px rgba(22, 43, 70, .06);
}

.pm-issue-toc-toolbar-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pm-issue-toc-toolbar-copy strong {
  color: #102544;
  font-size: 15px;
  font-weight: 950;
}

.pm-issue-toc-toolbar-copy span {
  color: #64748b;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.pm-issue-toc-toolbar-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pm-issue-section-add-field {
  display: grid;
  gap: 5px;
  min-width: 210px;
}

.pm-issue-section-add-field span {
  color: #52677f;
  font-size: 11px;
  font-weight: 900;
}

.pm-issue-section-add-field input,
.pm-issue-section-select {
  height: 36px;
  border: 1px solid #cbdbea;
  border-radius: 8px;
  background: #fff;
  color: #17315f;
  font-size: 13px;
  font-weight: 800;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-issue-section-add-field input {
  padding: 0 11px;
}

.pm-issue-section-select {
  width: 100%;
  min-width: 0;
  padding: 0 8px;
  cursor: pointer;
}

.pm-issue-section-add-field input:focus,
.pm-issue-section-select:focus {
  border-color: #0891b2;
  box-shadow: 0 0 0 3px rgba(8, 145, 178, .14);
}

.pm-issue-section-add-btn {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #0f766e;
  border-radius: 8px;
  background: #0f766e;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(15, 118, 110, .14);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.pm-issue-section-add-btn:hover {
  transform: translateY(-1px);
  background: #0b665f;
  box-shadow: 0 14px 24px rgba(15, 118, 110, .18);
}

.pm-issue-toc-save-state {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #d7e3ee;
  border-radius: 999px;
  background: #f8fbff;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-issue-toc-save-state[data-state="saving"] {
  border-color: #bae6fd;
  background: #effafe;
  color: #0369a1;
}

.pm-issue-toc-save-state[data-state="saving"]::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  opacity: .78;
  animation: pmIssueTocSavePulse 1s ease-in-out infinite;
}

@keyframes pmIssueTocSavePulse {
  0%, 100% { transform: scale(.82); opacity: .48; }
  50% { transform: scale(1.16); opacity: .92; }
}

.pm-issue-toc-save-state[data-state="saved"] {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}

.pm-issue-toc-save-state[data-state="error"] {
  border-color: #fecaca;
  background: #fff1f2;
  color: #be123c;
}

.pm-issue-section-list {
  display: grid;
  gap: 16px;
}

.pm-issue-section-card {
  overflow: hidden;
  border: 1px solid #d8e5f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(22, 43, 70, .07);
}

.pm-issue-section-card.is-section-updated {
  animation: pmIssueSectionPulse .9s ease;
}

@keyframes pmIssueSectionPulse {
  0% { border-color: #22d3ee; box-shadow: 0 18px 42px rgba(8, 145, 178, .18); }
  100% { border-color: #d8e5f1; box-shadow: 0 16px 34px rgba(22, 43, 70, .07); }
}

.pm-issue-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 16px;
  border-bottom: 1px solid #e2ecf5;
  background: linear-gradient(90deg, #f3fbfb 0%, #f7fbff 100%);
}

.pm-issue-section-head > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pm-issue-section-head span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e6fffb;
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
}

.pm-issue-section-head strong {
  min-width: 0;
  color: #102544;
  font-size: 16px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-issue-section-head em {
  flex: 0 0 auto;
  color: #52677f;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.pm-issue-section-table-wrap {
  overflow-x: hidden;
}

.pm-issue-section-table {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.pm-issue-section-table th,
.pm-issue-section-table td {
  font-size: 13px !important;
}

.pm-issue-section-table th:nth-child(1),
.pm-issue-section-table td:nth-child(1) {
  width: 82px;
  text-align: center;
}

.pm-issue-section-table th:nth-child(2),
.pm-issue-section-table td:nth-child(2) {
  width: 58px;
  text-align: center;
}

.pm-issue-section-table th:nth-child(3),
.pm-issue-section-table td:nth-child(3) {
  width: 150px;
}

.pm-issue-section-table th:nth-child(4),
.pm-issue-section-table td:nth-child(4) {
  width: 118px;
}

.pm-issue-section-table th:nth-child(5),
.pm-issue-section-table td:nth-child(5),
.pm-issue-section-table th:nth-child(6),
.pm-issue-section-table td:nth-child(6) {
  width: 112px;
}

.pm-issue-section-table th:nth-child(7),
.pm-issue-section-table td:nth-child(7) {
  width: 112px;
}

.pm-issue-section-table th:nth-child(9),
.pm-issue-section-table td:nth-child(9) {
  width: 86px;
  text-align: center;
}

.pm-issue-row-action-cell {
  vertical-align: middle !important;
}

.pm-issue-row-rollback-btn {
  min-width: 56px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
  background: #fff;
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.pm-issue-row-rollback-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #94a9c2;
  background: #f6f9fc;
}

.pm-issue-row-rollback-btn:disabled {
  cursor: not-allowed;
  opacity: .52;
}

.pm-issue-order-cell {
  vertical-align: middle !important;
}

.pm-issue-order-cell .pm-issue-order {
  margin-bottom: 6px;
}

.pm-issue-row-move {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.pm-issue-row-move button {
  width: 28px;
  height: 28px;
  border: 1px solid #cbdbea;
  border-radius: 8px;
  background: #fff;
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.pm-issue-row-move button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #0891b2;
  background: #ecfeff;
  color: #0e7490;
}

.pm-issue-row-move button:active:not(:disabled) {
  transform: scale(.94);
  background: #dff7fb;
}

.pm-issue-row-move button:disabled {
  cursor: not-allowed;
  opacity: .38;
}

.pm-issue-section-empty,
.pm-issue-toc-empty {
  padding: 24px;
  text-align: center;
  color: #7b8da2;
  font-size: 13px;
  font-weight: 780;
}

@media (prefers-reduced-motion: reduce) {
  .pm-issue-toc-row,
  .pm-issue-toc-row.is-moving,
  .pm-issue-toc-row.is-highlighted td,
  .pm-issue-section-card.is-section-updated,
  .pm-issue-toc-save-state[data-state="saving"]::before {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 980px) {
  .pm-issue-toc-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-issue-toc-toolbar-actions {
    justify-content: flex-start;
  }
}

/* 整期目次弹窗密度优化：减少无效留白，优先展示可编辑目次内容 */
.pm-issue-modal .pm-issue-toc-toolbar {
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 9px;
  box-shadow: 0 8px 20px rgba(22, 43, 70, .045);
}

.pm-issue-modal .pm-issue-toc-toolbar-copy {
  gap: 2px;
}

.pm-issue-modal .pm-issue-toc-toolbar-copy strong {
  font-size: 14px;
}

.pm-issue-modal .pm-issue-toc-toolbar-copy span {
  font-size: 12px;
  line-height: 1.35;
}

.pm-issue-modal .pm-issue-toc-toolbar-actions {
  gap: 8px;
}

.pm-issue-modal .pm-issue-section-add-field {
  gap: 4px;
  min-width: 190px;
}

.pm-issue-modal .pm-issue-section-add-field input,
.pm-issue-modal .pm-issue-section-select,
.pm-issue-modal .pm-issue-section-add-btn,
.pm-issue-modal .pm-issue-toc-save-state {
  min-height: 34px;
  height: 34px;
}

.pm-issue-modal .pm-issue-section-list {
  gap: 10px;
}

.pm-issue-modal .pm-issue-section-card {
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(22, 43, 70, .055);
}

.pm-issue-modal .pm-issue-section-head {
  gap: 12px;
  padding: 9px 14px;
}

.pm-issue-modal .pm-issue-section-head span {
  min-height: 22px;
  padding-inline: 8px;
}

.pm-issue-modal .pm-issue-section-head strong {
  font-size: 15px;
}

.pm-issue-modal .pm-issue-section-head em {
  font-size: 12px;
}

.pm-issue-modal .pm-issue-section-table th,
.pm-issue-modal .pm-issue-section-table td {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

.pm-issue-modal .pm-issue-section-table th {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.pm-issue-modal .pm-issue-order {
  min-width: 26px;
  height: 26px;
}

.pm-issue-modal .pm-issue-order-cell .pm-issue-order {
  margin-bottom: 4px;
}

.pm-issue-modal .pm-issue-row-move {
  gap: 4px;
}

.pm-issue-modal .pm-issue-row-move button {
  width: 26px;
  height: 26px;
}

.pm-issue-modal .pm-issue-section-empty,
.pm-issue-modal .pm-issue-toc-empty {
  padding: 16px;
}

@media (max-width: 1320px) {
  .pm-issue-modal .pm-issue-modal-hero {
    padding: 14px 56px 12px 18px;
    gap: 12px;
  }

  .pm-issue-modal .pm-issue-modal-title-block h2 {
    font-size: 25px;
  }

  .pm-issue-modal .pm-issue-modal-metrics {
    min-height: 64px;
  }
}

@media (max-width: 980px) {
  .pm-issue-modal {
    width: calc(100vw - 20px) !important;
    height: calc(100dvh - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  .pm-issue-modal .pm-issue-modal-hero {
    padding: 14px 46px 12px 14px;
  }

  .pm-issue-modal .pm-issue-modal-title-block h2 {
    font-size: 22px;
  }

  .pm-issue-modal .pm-issue-file-quick-actions {
    gap: 6px;
  }

  .pm-issue-modal .pm-issue-toc-wrap {
    padding: 8px;
  }

  .pm-issue-modal .pm-issue-section-head {
    align-items: flex-start;
  }
}
.pm-file-section {
  grid-column: 1 / -1;
  margin-top: 14px;
  border: 1px solid #dfe6ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.pm-file-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid #dce6f2;
  background: linear-gradient(90deg, #eef6ff, #f7fbff);
  color: #102744;
  font-size: 14px;
  font-weight: 850;
}

.pm-file-section-title span:first-child {
  min-width: 0;
}

.pm-file-count {
  margin-left: auto;
  padding: 3px 9px;
  border: 1px solid #c7ddf4;
  border-radius: 999px;
  background: #fff;
  color: #2b5f9c;
  font-size: 12px;
  font-weight: 800;
}

.pm-file-section-title::before {
  content: '';
  width: 8px;
  height: 18px;
  border-radius: 999px;
  background: #2f6fb3;
  box-shadow: 0 0 0 3px rgba(47, 111, 179, 0.12);
  flex: 0 0 auto;
}

.pm-file-loading,
.pm-file-empty {
  padding: 15px 16px;
  color: #526a86;
  font-size: 13px;
  line-height: 1.55;
}

.pm-file-upload {
  display: grid;
  grid-template-columns: 150px minmax(150px, 0.9fr) minmax(260px, 1.5fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e4edf7;
  background: #fbfdff;
}

.pm-file-type-select,
.pm-file-label-input,
.pm-file-picker {
  min-height: 42px;
}

.pm-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.pm-file-picker {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid #cbd9ea;
  border-radius: 10px;
  background: #fff;
  color: #102744;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.pm-file-picker:hover {
  border-color: #2f6fb3;
  background: #f7fbff;
  box-shadow: 0 0 0 3px rgba(47, 111, 179, 0.08);
}

.pm-file-picker:focus-within {
  border-color: #2f6fb3;
  box-shadow: 0 0 0 3px rgba(47, 111, 179, 0.18);
}

.pm-file-picker-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: linear-gradient(135deg, #f97316 0%, #f59e0b 100%);
  position: relative;
  flex: 0 0 auto;
  box-shadow: 0 10px 20px rgba(249, 115, 22, .24);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.pm-file-picker:hover .pm-file-picker-icon {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(249, 115, 22, .32);
}

.pm-file-picker-icon::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 7px;
  width: 13px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 3px;
  background: rgba(255, 255, 255, .18);
}

.pm-file-picker-icon::after {
  content: '';
  position: absolute;
  left: 20px;
  top: 7px;
  width: 7px;
  height: 7px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  background: #f59e0b;
  transform: rotate(-90deg);
}

.pm-file-picker-text {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.pm-file-picker-text strong,
.pm-file-picker-text small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-file-picker-text strong {
  color: #102744;
  font-size: 13px;
  font-weight: 850;
}

.pm-file-picker-text small {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.pm-file-upload-btn {
  min-height: 42px;
  white-space: nowrap;
}

.pm-file-list {
  display: grid;
  gap: 0;
}

.pm-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid #e4edf7;
  background: #fff;
}

.pm-file-row:first-child {
  border-top: 0;
}

.pm-file-row:hover {
  background: #f7fbff;
}

.pm-file-main {
  min-width: 0;
}

.pm-file-name {
  color: #102744;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-file-meta {
  margin-top: 4px;
  color: #526a86;
  font-size: 12px;
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  max-width: 100%;
}

.pm-file-action-btn {
  min-width: auto;
  min-height: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid #c8d8ea;
  border-radius: 8px;
  background: #fff;
  color: #21415f;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.pm-file-action-btn:hover {
  box-shadow: 0 4px 12px rgba(15, 31, 56, 0.08);
}

.pm-file-action-btn:disabled {
  cursor: not-allowed;
  opacity: 0.68;
  box-shadow: none;
}

.pm-file-download-btn {
  min-width: 64px;
  border-color: transparent;
  background: #163b70;
  color: #fff;
}

.pm-file-download-btn:hover {
  background: #0f2d57;
}

.pm-file-recognize-btn {
  min-width: 132px;
  border-color: #b7e2d7;
  background: #eefcf8;
  color: #0f766e;
}

.pm-file-recognize-btn:hover {
  border-color: #6bc7b8;
  background: #dcf7f1;
  color: #0b5f59;
}

.pm-file-pre-review-btn {
  min-width: 88px;
  border-color: #c6d3f7;
  background: #f3f6ff;
  color: #3445a1;
}

.pm-file-pre-review-btn:hover {
  border-color: #93a9ef;
  background: #e8edff;
  color: #27378b;
}

.pm-file-translate-btn {
  min-width: 108px;
  border-color: #bdd2ff;
  background: #eef4ff;
  color: #1d4ed8;
}

.pm-file-translate-btn:hover {
  border-color: #8aaef5;
  background: #e1ecff;
  color: #173ea6;
}

.pm-file-recognize-btn.pm-file-recognize-running {
  position: relative;
  padding-left: 32px;
  border-color: #8fcfc4;
  background: #e7f8f5;
  color: #0b6b63;
}

.pm-file-translate-btn.pm-file-translate-running {
  position: relative;
  padding-left: 32px;
  border-color: #9dbcf9;
  background: #eaf1ff;
  color: #1d4ed8;
}

.pm-file-pre-review-btn.pm-file-pre-review-running {
  position: relative;
  padding-left: 32px;
  border-color: #9baef4;
  background: #edf1ff;
  color: #3445a1;
}

.pm-file-recognize-btn.pm-file-recognize-running::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border: 2px solid rgba(15, 118, 110, 0.25);
  border-top-color: #0f766e;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.75s linear infinite;
}

.pm-file-pre-review-btn.pm-file-pre-review-running::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border: 2px solid rgba(52, 69, 161, 0.24);
  border-top-color: #3445a1;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.75s linear infinite;
}

.pm-file-translate-btn.pm-file-translate-running::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border: 2px solid rgba(29, 78, 216, 0.22);
  border-top-color: #1d4ed8;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.75s linear infinite;
}

.pm-recognition-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 2600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.28);
  backdrop-filter: blur(6px);
}

.pm-recognition-modal {
  width: min(860px, calc(100vw - 40px));
  max-height: min(760px, calc(100vh - 40px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.pm-recognition-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e6edf5;
  background: linear-gradient(180deg, #f8fcff 0%, #fff 100%);
}

.pm-recognition-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pm-recognition-minimize {
  min-width: 76px;
  height: 40px;
  border: 1px solid #cfe0f2;
  border-radius: 10px;
  background: #fff;
  color: #31506f;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.pm-recognition-minimize:hover {
  border-color: #9fbbda;
  background: #f2f7fc;
  color: #173b63;
}

.pm-recognition-kicker {
  margin-bottom: 6px;
  color: #0f766e;
  font-size: 13px;
  font-weight: 800;
}

.pm-recognition-title {
  color: #10233f;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.25;
}

.pm-recognition-close {
  width: 40px;
  height: 40px;
  border: 1px solid #d7e3f0;
  border-radius: 10px;
  background: #fff;
  color: #31506f;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.pm-recognition-close:hover {
  border-color: #a9c2df;
  background: #f2f7fc;
}

.pm-recognition-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 22px 24px;
  background: #fff;
}

.pm-recognition-running {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid #d6ebe7;
  border-radius: 14px;
  background: #f3fbf9;
}

.pm-recognition-running strong,
.pm-recognition-state strong {
  display: block;
  color: #10233f;
  font-size: 18px;
  font-weight: 900;
}

.pm-recognition-running p,
.pm-recognition-state p {
  margin: 6px 0 0;
  color: #5f7188;
  font-size: 14px;
  line-height: 1.6;
}

.pm-recognition-orbit {
  position: relative;
  width: 54px;
  height: 54px;
  border: 1px solid #b9e2da;
  border-radius: 50%;
  background: #fff;
}

.pm-recognition-orbit::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 3px solid rgba(15, 118, 110, 0.14);
  border-top-color: #0f766e;
  border-radius: 50%;
  animation: pmRecognitionSpin 1s linear infinite;
}

.pm-recognition-orbit span {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0f766e;
}

.pm-recognition-orbit span:nth-child(1) { left: 22px; top: 5px; }
.pm-recognition-orbit span:nth-child(2) { right: 6px; bottom: 14px; background: #2563eb; }
.pm-recognition-orbit span:nth-child(3) { left: 8px; bottom: 13px; background: #38bdf8; }

.pm-translation-running {
  border-color: #d3dffb;
  background: #f4f7ff;
}

.pm-translation-running .pm-recognition-orbit {
  border-color: #bfd0fb;
}

.pm-translation-running .pm-recognition-orbit::before {
  border-color: rgba(29, 78, 216, 0.14);
  border-top-color: #1d4ed8;
}

.pm-translation-running .pm-recognition-orbit span:nth-child(1) { background: #1d4ed8; }
.pm-translation-running .pm-recognition-orbit span:nth-child(2) { background: #0f766e; }
.pm-translation-running .pm-recognition-orbit span:nth-child(3) { background: #38bdf8; }

.pm-ai-pre-review-running {
  border-color: #d8ddfb;
  background: #f6f7ff;
}

.pm-ai-pre-review-running .pm-recognition-orbit {
  border-color: #c9d2fb;
}

.pm-ai-pre-review-running .pm-recognition-orbit::before {
  border-color: rgba(52, 69, 161, .14);
  border-top-color: #3445a1;
}

.pm-ai-pre-review-running .pm-recognition-orbit span:nth-child(1) { background: #3445a1; }
.pm-ai-pre-review-running .pm-recognition-orbit span:nth-child(2) { background: #17684d; }
.pm-ai-pre-review-running .pm-recognition-orbit span:nth-child(3) { background: #2563eb; }

.pm-ai-pre-review-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid #dce7f2;
  border-radius: 12px;
  background: #fbfdff;
}

.pm-ai-pre-review-context strong {
  color: #17315f;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.pm-ai-pre-review-context span {
  min-width: 0;
  overflow: hidden;
  color: #526a86;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-recognition-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.pm-recognition-timebar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.pm-recognition-timebar div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #dbe7f2;
  border-radius: 12px;
  background: #fbfdff;
}

.pm-recognition-timebar span {
  color: #667a91;
  font-size: 13px;
  font-weight: 800;
}

.pm-recognition-timebar strong {
  color: #0f766e;
  font-size: 15px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.pm-translation-modal .pm-recognition-timebar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-ai-pre-review-modal .pm-recognition-timebar {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-recognition-step {
  min-height: 74px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  justify-content: center;
  padding: 12px;
  border: 1px solid #d9e4ef;
  border-radius: 12px;
  background: #fff;
  color: #61738a;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.pm-recognition-step-mark {
  width: 18px;
  height: 18px;
  margin: 0 auto;
  border: 2px solid #c9d7e5;
  border-radius: 50%;
  background: #fff;
}

.pm-recognition-step-active {
  border-color: #94d8cf;
  background: #f1fbf9;
  color: #0f766e;
}

.pm-recognition-step-active .pm-recognition-step-mark {
  border-color: rgba(15, 118, 110, 0.25);
  border-top-color: #0f766e;
  animation: pmRecognitionSpin 0.8s linear infinite;
}

.pm-recognition-step-done {
  border-color: #c6e3dc;
  background: #f8fcfb;
  color: #145f58;
}

.pm-recognition-step-done .pm-recognition-step-mark {
  border-color: #0f766e;
  background: #0f766e;
  box-shadow: inset 0 0 0 4px #fff;
}

.pm-recognition-state {
  padding: 16px 18px;
  border: 1px solid #dbe7f2;
  border-radius: 14px;
  background: #f8fbff;
}

.pm-recognition-state-error {
  border-color: #f1c7c7;
  background: #fff7f7;
}

.pm-recognition-state-error strong {
  color: #a43d3d;
}

.pm-recognition-state-done {
  border-color: #c6e3dc;
  background: #f4fbf9;
}

.pm-recognition-ai-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid #f4d7a1;
  border-radius: 12px;
  background: #fffbeb;
  color: #7a4a08;
  font-size: 13px;
  line-height: 1.5;
}

.pm-recognition-ai-warning strong {
  flex: 0 0 auto;
  color: #92400e;
  font-weight: 900;
}

.pm-recognition-ai-warning span {
  color: #8a5a16;
}

.pm-recognition-detected {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #d8e7ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fbfa 100%);
}

.pm-recognition-detected-empty {
  background: #fbfdff;
}

.pm-recognition-detected-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.pm-recognition-detected-head strong {
  color: #0f2d44;
  font-size: 14px;
  font-weight: 900;
}

.pm-recognition-detected-head span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.pm-recognition-detected-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pm-recognition-detected-grid div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e1eaf2;
  border-radius: 10px;
  background: #fff;
}

.pm-recognition-detected-grid .pm-recognition-detected-wide {
  grid-column: 1 / -1;
}

.pm-recognition-detected-grid span {
  display: block;
  margin-bottom: 5px;
  color: #64758a;
  font-size: 12px;
  font-weight: 900;
}

.pm-recognition-detected-grid strong {
  display: block;
  max-height: 116px;
  overflow: auto;
  color: #10233f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  word-break: break-word;
}

.pm-recognition-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.pm-recognition-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.pm-recognition-field span {
  color: #2b4664;
  font-size: 13px;
  font-weight: 900;
}

.pm-recognition-field input,
.pm-recognition-field textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #cfdae7;
  border-radius: 10px;
  background: #fff;
  color: #14243b;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.pm-recognition-field textarea {
  resize: vertical;
}

.pm-recognition-field input:focus,
.pm-recognition-field textarea:focus {
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}

.pm-recognition-log-list {
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #e1e8f0;
  border-radius: 14px;
  background: #fbfdff;
}

.pm-recognition-log-empty {
  color: #718096;
  font-size: 13px;
}

.pm-recognition-log-item {
  display: grid;
  grid-template-columns: 14px 52px 56px 1fr;
  gap: 8px;
  align-items: start;
  padding: 8px 4px;
  color: #486178;
  font-size: 13px;
  line-height: 1.5;
}

.pm-recognition-log-item + .pm-recognition-log-item {
  border-top: 1px dashed #dbe5ef;
}

.pm-recognition-log-dot {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border-radius: 50%;
  background: #94a3b8;
}

.pm-recognition-log-time {
  color: #8391a3;
  font-variant-numeric: tabular-nums;
}

.pm-recognition-log-item strong {
  color: #263e5a;
}

.pm-recognition-log-done .pm-recognition-log-dot { background: #0f766e; }
.pm-recognition-log-active .pm-recognition-log-dot { background: #2563eb; }
.pm-recognition-log-warn .pm-recognition-log-dot { background: #d97706; }
.pm-recognition-log-error .pm-recognition-log-dot { background: #dc2626; }

.pm-recognition-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.pm-recognition-summary-grid div {
  padding: 12px;
  border: 1px solid #dbe7f2;
  border-radius: 12px;
  background: #fff;
}

.pm-recognition-summary-grid span {
  display: block;
  margin-bottom: 6px;
  color: #60758c;
  font-size: 12px;
  font-weight: 800;
}

.pm-recognition-summary-grid strong {
  display: block;
  color: #10233f;
  font-size: 14px;
  line-height: 1.5;
  word-break: break-word;
}

.pm-recognition-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px;
  border-top: 1px solid #e6edf5;
  background: #fff;
}

.pm-ai-task-dock {
  position: fixed;
  z-index: 2550;
  font-family: inherit;
}

.pm-ai-task-dock-collapsed {
  right: 4px;
  top: 42%;
  width: 58px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.pm-ai-task-handle {
  width: 58px;
  min-height: 92px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  padding: 8px 0;
  border: 1px solid rgba(190, 208, 228, .95);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(247, 251, 255, .98) 100%);
  color: #173b63;
  box-shadow:
    0 16px 38px rgba(15, 31, 56, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, .9);
  cursor: grab;
  touch-action: none;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-ai-task-handle:hover {
  transform: translateX(-2px);
  background: #fff;
  border-color: #9fbada;
  box-shadow:
    0 18px 44px rgba(15, 31, 56, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, .95);
}

.pm-ai-task-handle:focus-visible {
  outline: 3px solid rgba(29, 95, 180, .2);
  outline-offset: 3px;
}

.pm-ai-task-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #17315f 0%, #17684d 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(23, 49, 95, .22);
}

.pm-ai-task-icon svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.pm-ai-task-handle strong {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #1d5fb4;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 5px 12px rgba(29, 95, 180, .24);
}

.pm-ai-task-handle strong.pm-ai-task-count-empty {
  background: #e8eef6;
  color: #526a86;
}

.pm-ai-task-handle i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef5ff;
  color: #173b63;
  font-style: normal;
  line-height: 1;
}

.pm-ai-task-handle i svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-ai-task-dock-expanded {
  right: 18px;
  top: 104px;
  width: 310px;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(203, 216, 232, 0.92);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 16px 42px rgba(15, 31, 56, 0.16);
  backdrop-filter: blur(10px);
}

.pm-ai-task-dock-dragging {
  user-select: none;
  cursor: grabbing;
}

.pm-ai-task-dock-dragging .pm-ai-task-handle,
.pm-ai-task-dock-dragging .pm-ai-task-dock-head {
  cursor: grabbing;
}

.pm-ai-task-dock-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 2px 4px;
  cursor: move;
}

.pm-ai-task-dock-title {
  color: #526a86;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-task-dock-subtitle {
  margin-top: 3px;
  color: #8391a3;
  font-size: 11px;
  font-weight: 800;
}

.pm-ai-task-dock-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.pm-ai-task-dock-actions button {
  min-width: 34px;
  height: 30px;
  border: 1px solid #d4e0ec;
  border-radius: 9px;
  background: #fff;
  color: #31506f;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-ai-task-dock-actions button:hover {
  background: #f2f7fc;
  border-color: #a9c2df;
}

.pm-ai-task-card {
  position: relative;
  width: 100%;
  display: grid;
  gap: 7px;
  padding: 0;
  border: 1px solid #d8e4f1;
  border-radius: 12px;
  background: #fff;
  color: #10233f;
  text-align: left;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.pm-ai-task-card:hover {
  border-color: #a8c2e3;
  box-shadow: 0 8px 20px rgba(15, 31, 56, 0.11);
  transform: translateY(-1px);
}

.pm-ai-task-card-main {
  width: 100%;
  display: grid;
  gap: 7px;
  padding: 12px 38px 12px 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.pm-ai-task-card-head,
.pm-ai-task-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pm-ai-task-card-head strong {
  min-width: 0;
  color: #10233f;
  font-size: 14px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-ai-task-card-head em {
  flex-shrink: 0;
  font-style: normal;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-task-done .pm-ai-task-card-head em,
.pm-ai-task-review .pm-ai-task-card-head em {
  color: #0f766e;
}

.pm-ai-task-error .pm-ai-task-card-head em {
  color: #dc2626;
}

.pm-ai-task-subtitle {
  display: block;
  min-height: 18px;
  color: #667a91;
  font-size: 12px;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-ai-task-progress {
  position: relative;
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef6;
}

.pm-ai-task-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #0f766e);
  transition: width 0.3s ease;
}

.pm-ai-task-error .pm-ai-task-progress i {
  background: linear-gradient(90deg, #dc2626, #f97316);
}

.pm-ai-task-foot {
  color: #7b8fa6;
  font-size: 11px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.pm-ai-task-dismiss {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #8ba0b5;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.pm-ai-task-dismiss:hover {
  background: #f1f5f9;
  color: #334155;
}

.pm-ai-task-empty {
  display: grid;
  gap: 5px;
  padding: 16px 14px;
  border: 1px dashed #cbd8e8;
  border-radius: 12px;
  background: #f8fbff;
}

.pm-ai-task-empty strong {
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
}

.pm-ai-task-empty span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
}

.pm-ai-task-toast {
  position: fixed;
  right: 20px;
  top: 24px;
  z-index: 2800;
  min-width: 260px;
  max-width: 360px;
  display: grid;
  gap: 4px;
  padding: 13px 16px;
  border: 1px solid #cfe0f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15, 31, 56, 0.18);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.pm-ai-task-toast-show {
  opacity: 1;
  transform: translateY(0);
}

.pm-ai-task-toast strong {
  color: #10233f;
  font-size: 14px;
  font-weight: 950;
}

.pm-ai-task-toast span {
  color: #5f7188;
  font-size: 13px;
  line-height: 1.45;
}

@keyframes pmRecognitionSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 780px) {
  .pm-recognition-modal-wrap {
    padding: 12px;
  }

  .pm-recognition-modal {
    width: 100%;
    max-height: calc(100vh - 24px);
  }

  .pm-recognition-running,
  .pm-recognition-form,
  .pm-recognition-summary-grid,
  .pm-recognition-timebar {
    grid-template-columns: 1fr;
  }

  .pm-ai-pre-review-context,
  .pm-associate-opinion-summary {
    grid-template-columns: 1fr;
  }

  .pm-translation-modal .pm-recognition-timebar,
  .pm-ai-pre-review-modal .pm-recognition-timebar {
    grid-template-columns: 1fr;
  }

  .pm-recognition-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-recognition-log-item {
    grid-template-columns: 12px 44px 48px 1fr;
  }

  .pm-ai-task-dock-expanded {
    right: 12px;
    left: 12px;
    top: auto;
    bottom: 12px;
    width: auto;
    max-height: 42vh;
    overflow: auto;
  }

  .pm-ai-task-dock-collapsed {
    right: 4px;
    left: auto;
    top: 46%;
    bottom: auto;
    width: 54px;
    max-height: none;
    overflow: visible;
  }

  .pm-ai-task-handle {
    width: 54px;
    min-height: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pm-file-recognize-btn.pm-file-recognize-running::before,
  .pm-file-translate-btn.pm-file-translate-running::before,
  .pm-review-voice-wave i,
  .pm-recognition-orbit::before,
  .pm-recognition-step-active .pm-recognition-step-mark {
    animation: none;
  }
}

.pm-file-delete-btn {
  border-color: #f0c8c8;
  background: #fff7f7;
  color: #a43d3d;
}

.pm-file-delete-btn:hover {
  border-color: #e49a9a;
  background: #fff0f0;
  color: #8f2929;
}

.pm-file-section {
  border: 1px solid #d7e3f0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 31, 56, 0.05);
}

.pm-file-section-top {
  margin-top: 0;
  margin-bottom: 14px;
  border-color: #bcd2ea;
}

.pm-file-row .pm-mini-btn {
  min-width: 68px;
  min-height: 42px;
  border-color: transparent;
  background: #163b70;
  color: #fff;
  font-weight: 800;
}

.pm-file-row .pm-mini-btn:hover {
  background: #0f2d57;
}

.pm-rejected-rate {
  min-width: 72px;
  padding: 8px 12px;
  border: 1px solid #f3c7c7;
  border-radius: 8px;
  background: #fff5f5;
  color: #a33a3a;
  font-size: 20px;
  font-weight: 900;
  text-align: center;
}

.pm-rejected-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-rejected-metrics > div {
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfcfe;
  padding: 12px;
  text-align: center;
}

.pm-rejected-metrics span {
  display: block;
  color: #a33a3a;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.pm-rejected-metrics label {
  display: block;
  margin-top: 7px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.pm-rejected-list {
  display: grid;
  gap: 8px;
}

.pm-rejected-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.pm-rejected-item-main {
  min-width: 0;
}

.pm-rejected-item-no {
  color: #0f3478;
  font-size: 13px;
  font-weight: 850;
}

.pm-rejected-item-title {
  margin-top: 3px;
  color: #172033;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-rejected-item-meta {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.pm-word-register-card {
  padding: 20px;
}

.pm-word-register-head,
.pm-manual-register-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.pm-word-ai-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #b9d4c8;
  border-radius: 999px;
  background: #eef8f3;
  color: #17684d;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.pm-word-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: stretch;
}

.pm-word-upload-zone {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px dashed #b8c9dc;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.pm-word-upload-zone:hover {
  border-color: #1d5fb4;
  background: #f3f8ff;
  box-shadow: 0 8px 22px rgba(15, 52, 120, .08);
}

.pm-word-upload-zone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.pm-word-upload-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #17315f;
  color: #fff;
}

.pm-word-upload-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-word-upload-main {
  min-width: 0;
}

.pm-word-upload-main strong,
.pm-word-upload-main small {
  display: block;
  overflow-wrap: anywhere;
}

.pm-word-upload-main strong {
  color: #172033;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
}

.pm-word-upload-main small {
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.pm-word-recognize-btn {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  min-width: 156px;
  min-height: 76px;
  padding: 0;
  border: 1px solid #d6e5f1;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  color: #17315f;
  text-align: center;
  line-height: 1.35;
  letter-spacing: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 22px rgba(16, 37, 68, .06);
  overflow: hidden;
  touch-action: manipulation;
  cursor: pointer;
  isolation: isolate;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
}

.pm-word-recognize-btn::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 20% 15%, rgba(255, 255, 255, .28), transparent 34%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}

.pm-word-recognize-shell {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  gap: 8px;
  width: 100%;
  min-height: 100%;
  padding: 12px 14px;
}

.pm-word-recognize-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(23, 49, 95, .08);
  color: #17315f;
  box-shadow: inset 0 0 0 1px rgba(23, 49, 95, .06);
}

.pm-word-recognize-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-word-recognize-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pm-word-recognize-copy strong {
  display: block;
  color: inherit;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
  white-space: normal;
}

.pm-word-recognize-copy small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
  white-space: normal;
}

.pm-word-recognize-btn[data-state="ready"],
.pm-word-recognize-btn[data-state="loading"] {
  border-color: rgba(15, 118, 110, .72);
  background: linear-gradient(135deg, #0f766e 0%, #155e75 48%, #1d4ed8 100%);
  color: #ffffff;
  box-shadow: 0 16px 28px rgba(15, 118, 110, .18);
}

.pm-word-recognize-btn[data-state="ready"]::before,
.pm-word-recognize-btn[data-state="loading"]::before {
  opacity: 1;
}

.pm-word-recognize-btn[data-state="ready"] .pm-word-recognize-icon,
.pm-word-recognize-btn[data-state="loading"] .pm-word-recognize-icon {
  background: rgba(255, 255, 255, .18);
  color: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}

.pm-word-recognize-btn[data-state="ready"] .pm-word-recognize-copy small,
.pm-word-recognize-btn[data-state="loading"] .pm-word-recognize-copy small {
  color: rgba(255, 255, 255, .82);
}

.pm-word-recognize-btn[data-state="loading"] {
  cursor: progress;
}

.pm-word-recognize-btn[data-state="loading"] .pm-word-recognize-icon svg {
  opacity: .24;
}

.pm-word-recognize-btn[data-state="loading"] .pm-word-recognize-icon::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, .34);
  border-top-color: #ffffff;
  border-radius: 999px;
  animation: pmWordRecognizeSpin .8s linear infinite;
}

@keyframes pmWordRecognizeSpin {
  to {
    transform: rotate(360deg);
  }
}

.pm-word-recognize-btn:hover:not(:disabled) {
  border-color: #155e75;
  background: linear-gradient(135deg, #0b6b64 0%, #14566c 46%, #1e40af 100%);
  box-shadow: 0 20px 34px rgba(15, 118, 110, .24);
  transform: translateY(-1px);
}

.pm-word-recognize-btn:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 10px 20px rgba(15, 118, 110, .2);
}

.pm-word-recognize-btn:focus-visible {
  outline: 3px solid rgba(20, 184, 166, .28);
  outline-offset: 3px;
}

.pm-word-recognize-btn:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.pm-word-recognize-btn[data-state="idle"]:disabled {
  border-color: #d6e5f1;
  color: #17315f;
}

.pm-word-recognize-btn[data-state="loading"]:disabled {
  cursor: progress;
}

.pm-word-import-result {
  margin-top: 14px;
  padding: 0;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  line-height: 1.7;
  overflow: hidden;
}

.pm-word-log-summary {
  padding: 12px 16px;
  border-bottom: 1px solid #dbeafe;
  background: linear-gradient(90deg, #f5f9ff, #fbfdff);
  color: #24435f;
  font-weight: 800;
}

.pm-word-log-running {
  color: #17315f;
}

.pm-word-log-success {
  color: #17684d;
}

.pm-word-log-warning {
  color: #8a5b0a;
}

.pm-word-log-error {
  color: #b42318;
}

.pm-word-log-card {
  background: #fff;
}

.pm-word-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 10px;
  background: #fbfdff;
}

.pm-word-log-head strong {
  display: block;
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.3;
}

.pm-word-log-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.pm-word-log-count {
  flex: 0 0 auto;
  padding: 4px 9px;
  border: 1px solid #cde0f6;
  border-radius: 999px;
  background: #fff;
  color: #315a84 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.pm-word-log-list {
  display: grid;
  gap: 0;
  padding: 2px 16px 14px;
}

.pm-word-log-item {
  display: grid;
  grid-template-columns: 14px 58px 48px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid #edf3fb;
  color: #334155;
}

.pm-word-log-item:first-child {
  border-top: 0;
}

.pm-word-log-dot {
  width: 9px;
  height: 9px;
  margin-top: 7px;
  border-radius: 999px;
  background: #94a3b8;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, .14);
}

.pm-word-log-time {
  color: #7890aa;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.pm-word-log-status {
  justify-self: start;
  min-width: 42px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #526a86;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.pm-word-log-message {
  min-width: 0;
  color: #26364a;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-word-log-active .pm-word-log-dot {
  background: #1d5fb4;
  box-shadow: 0 0 0 4px rgba(29, 95, 180, .13);
  animation: pm-word-log-pulse 1.2s ease-in-out infinite;
}

.pm-word-log-active .pm-word-log-status {
  background: #eaf3ff;
  color: #1d5fb4;
}

.pm-word-log-done .pm-word-log-dot {
  background: #167454;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .13);
}

.pm-word-log-done .pm-word-log-status {
  background: #eaf8f1;
  color: #17684d;
}

.pm-word-log-warn .pm-word-log-dot {
  background: #b87918;
  box-shadow: 0 0 0 4px rgba(184, 121, 24, .14);
}

.pm-word-log-warn .pm-word-log-status {
  background: #fff4dd;
  color: #8a5b0a;
}

.pm-word-log-error .pm-word-log-dot {
  background: #a33a3a;
  box-shadow: 0 0 0 4px rgba(163, 58, 58, .13);
}

.pm-word-log-error .pm-word-log-status {
  background: #fff1f1;
  color: #a33a3a;
}

@keyframes pm-word-log-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.25);
    opacity: .72;
  }
}

.pm-register-action-btn {
  display: inline-grid;
  gap: 2px;
  min-width: 126px;
  min-height: 46px;
  padding: 7px 14px;
  border: 1px solid #cfdbea;
  border-radius: 10px;
  background: #fff;
  color: #24435f;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(15, 31, 56, 0.05);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.pm-register-action-btn span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.1;
}

.pm-register-action-btn strong {
  color: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.pm-register-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 9px 22px rgba(15, 31, 56, 0.10);
}

.pm-page-header-near-actions {
  flex-wrap: wrap;
}

.pm-page-header-near-actions .pm-page-actions {
  align-self: center;
  justify-content: flex-start !important;
}

.pm-register-action-secondary:hover {
  border-color: #8fb3dc;
  background: #f8fbff;
}

.pm-excel-modal-wrap,
.pm-word-review-modal-wrap,
.pm-manual-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
  padding: 18px;
}

.pm-excel-modal {
  width: min(980px, 96vw) !important;
  max-height: 90vh !important;
  overflow: auto !important;
  padding: 0 !important;
}

.pm-excel-import-panel {
  padding: 20px;
}

.pm-excel-import-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.pm-excel-archive-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #d9e4f0;
  border-radius: 999px;
  background: #f8fbff;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.pm-excel-import-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
}

.pm-excel-file-picker {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px dashed #b8c9dc;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.pm-excel-file-picker:hover {
  border-color: #2f7f75;
  background: #f4fbf8;
  box-shadow: 0 8px 22px rgba(23, 104, 77, .08);
}

.pm-excel-file-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.pm-excel-file-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  background: #17684d;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
}

.pm-excel-file-main {
  min-width: 0;
}

.pm-excel-file-main strong,
.pm-excel-file-main small {
  display: block;
  overflow-wrap: anywhere;
}

.pm-excel-file-main strong {
  color: #172033;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
}

.pm-excel-file-main small {
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.pm-excel-import-btn {
  min-width: 132px;
  min-height: 76px;
}

.pm-manual-modal {
  width: min(1120px, 96vw) !important;
  max-height: 92vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
}

.pm-manual-modal-header {
  flex-shrink: 0;
  padding: 20px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #dce6f2;
  background:
    linear-gradient(135deg, rgba(21, 65, 125, .08), rgba(23, 104, 77, .06)),
    #fff;
}

.pm-manual-register-form {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 24px 22px;
  background: #f8fbff;
}

.pm-manual-register-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
}

.pm-manual-register-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 14px;
}

.pm-manual-modal-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px;
  border-top: 1px solid #dce6f2;
  background: #fff;
}

.pm-word-review-modal {
  width: min(1120px, 96vw) !important;
  max-height: 92vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
}

.pm-word-review-header {
  flex-shrink: 0;
  padding: 20px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #dce6f2;
  background:
    linear-gradient(135deg, rgba(21, 65, 125, .08), rgba(23, 104, 77, .06)),
    #fff;
}

.pm-word-review-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pm-word-review-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 18px 24px 20px;
  background: #f8fbff;
}

.pm-word-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pm-word-review-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pm-word-review-field span {
  color: #526a86;
  font-size: 12px;
  font-weight: 850;
}

.pm-word-review-field input,
.pm-word-review-field select,
.pm-word-review-field textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d8e3ef;
  border-radius: 8px;
  background: #fff;
  color: #172033;
  font-size: 14px;
  line-height: 1.55;
  padding: 10px 12px;
}

.pm-word-review-field textarea {
  resize: vertical;
}

.pm-word-review-field input:focus,
.pm-word-review-field select:focus,
.pm-word-review-field textarea:focus {
  border-color: #1d5fb4;
  outline: 3px solid rgba(29, 95, 180, .14);
}

.pm-word-review-wide {
  grid-column: 1 / -1;
}

.pm-duplicate-alert,
.pm-word-ai-warning {
  margin-bottom: 14px;
  border-radius: 10px;
  padding: 12px 14px;
}

.pm-duplicate-alert {
  border: 1px solid #f0c6c6;
  background: #fff7f7;
}

.pm-word-ai-warning {
  border: 1px solid #f4d58d;
  background: #fff9e8;
  color: #73510d;
  font-size: 13px;
  line-height: 1.6;
}

.pm-duplicate-alert-title {
  color: #8f2f2f;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 8px;
}

.pm-duplicate-item {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 180px;
  gap: 10px;
  align-items: start;
  padding: 8px 0;
  border-top: 1px solid #f4d5d5;
  color: #172033;
  font-size: 13px;
  line-height: 1.5;
}

.pm-duplicate-item span {
  overflow-wrap: anywhere;
}

.pm-duplicate-item small {
  color: #64748b;
}

.pm-duplicate-confirm {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  color: #8f2f2f;
  font-size: 13px;
  font-weight: 800;
}

.pm-word-review-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #dce6f2;
  background: #fff;
}

.pm-registration-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
  padding: 18px;
}

.pm-registration-modal {
  width: min(1040px, 96vw) !important;
  max-height: 92vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
}

.pm-registration-modal-header {
  flex-shrink: 0;
  padding: 20px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #dce6f2;
  background:
    linear-gradient(135deg, rgba(21, 65, 125, .08), rgba(23, 104, 77, .06)),
    #fff;
}

.pm-registration-modal-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 24px 22px;
  background: #f8fbff;
}

.pm-registration-modal-body .pm-word-register-card {
  border: 1px solid #d8e5f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15, 31, 56, .07);
}

.pm-register-utility-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.pm-ai-workbench {
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  min-height: calc(100vh - 210px);
  padding: 2px;
}

.pm-ai-queue-panel,
.pm-ai-detail-panel {
  min-width: 0;
  border: 1px solid #dbe6f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 31, 56, .06);
}

.pm-ai-detail-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pm-ai-queue-panel {
  position: sticky;
  top: 12px;
  overflow: hidden;
}

.pm-ai-queue-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 16px;
  border-bottom: 1px solid #e1eaf5;
  background: linear-gradient(90deg, #f4f9ff, #fbfdff);
}

.pm-ai-queue-list {
  display: grid;
  max-height: 68vh;
  overflow-y: auto;
  padding: 10px;
  gap: 8px;
}

.pm-ai-queue-item {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #e0e8f2;
  border-radius: 10px;
  background: #fff;
  color: #172033;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-ai-queue-item:hover {
  border-color: #b8cce3;
  background: #f8fbff;
  box-shadow: 0 7px 16px rgba(15, 31, 56, .07);
  transform: translateY(-1px);
}

.pm-ai-queue-item.active {
  border-color: #17315f;
  background: #f3f8ff;
  box-shadow: inset 4px 0 0 #17684d, 0 8px 18px rgba(15, 31, 56, .08);
}

.pm-ai-queue-no {
  color: #17315f;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-queue-item strong {
  color: #172033;
  font-size: 13px;
  line-height: 1.5;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-ai-queue-item small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}

.pm-ai-queue-empty,
.pm-ai-empty-panel {
  padding: 26px 18px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.pm-ai-empty-panel {
  border: 1px solid #dbe6f2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 31, 56, .06);
}

.pm-ai-empty-title {
  color: #172033;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 8px;
}

.pm-ai-empty-text {
  max-width: 520px;
  margin: 0 auto 16px;
}

.pm-ai-detail-panel {
  overflow: hidden;
}

.pm-ai-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #dce6f2;
  background:
    linear-gradient(135deg, rgba(23, 49, 95, .08), rgba(23, 104, 77, .05)),
    #fff;
}

.pm-ai-kicker {
  color: #1d5fb4;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 6px;
}

.pm-ai-detail-head h3 {
  margin: 0;
  color: #102744;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-ai-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.pm-ai-detail-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border: 1px solid #d6e4f3;
  border-radius: 999px;
  background: #fff;
  color: #526a86;
  font-size: 12px;
  font-weight: 800;
}

.pm-ai-detail-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 10px;
  align-items: center;
}

.pm-ai-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 180px;
  border-bottom: 1px solid #e1eaf5;
}

.pm-ai-info-grid > div {
  min-width: 0;
  padding: 13px 16px;
  border-right: 1px solid #edf3f9;
}

.pm-ai-info-grid > div:last-child {
  border-right: 0;
}

.pm-ai-info-grid span {
  display: block;
  color: #526a86;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 5px;
}

.pm-ai-info-grid strong {
  display: block;
  color: #172033;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.55;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-ai-work-grid {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  background: #f8fbff;
  align-items: start;
  flex: 1 1 auto;
}

.pm-ai-work-grid-log-only {
  display: block;
  min-height: 0;
  padding: 18px;
}

.pm-ai-log-panel,
.pm-ai-result-panel {
  min-width: 0;
  border: 1px solid #dce6f2;
  border-radius: 10px;
  background: #fff;
  overflow: visible;
}

.pm-ai-log-panel-full {
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(16, 39, 68, .06);
  min-height: 100%;
}

.pm-ai-panel-title {
  padding: 12px 14px;
  border-bottom: 1px solid #e1eaf5;
  background: #fbfdff;
  color: #102744;
  font-size: 14px;
  font-weight: 900;
}

.pm-ai-panel-title small {
  display: block;
  margin-top: 4px;
  color: #7890aa;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.pm-ai-log-list {
  max-height: 420px;
  overflow-y: auto;
  padding: 10px 14px 14px;
}

.pm-ai-log-list-full {
  min-height: clamp(560px, calc(100vh - 430px), 860px);
  max-height: none;
  padding: 18px 24px 26px;
}

.pm-ai-log-empty {
  padding: 18px 4px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.65;
}

.pm-ai-log-item {
  display: grid;
  grid-template-columns: 14px 68px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px 0;
  border-top: 1px solid #edf3fb;
}

.pm-ai-log-item:first-child {
  border-top: 0;
}

.pm-ai-log-dot {
  width: 9px;
  height: 9px;
  margin-top: 6px;
  border-radius: 999px;
  background: #94a3b8;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, .13);
}

.pm-ai-log-time {
  color: #7890aa;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.pm-ai-log-message {
  color: #26364a;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-ai-log-active .pm-ai-log-dot {
  background: #1d5fb4;
  box-shadow: 0 0 0 4px rgba(29, 95, 180, .14);
  animation: pm-word-log-pulse 1.2s ease-in-out infinite;
}

.pm-ai-log-done .pm-ai-log-dot {
  background: #167454;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .13);
}

.pm-ai-log-warn .pm-ai-log-dot {
  background: #b87918;
  box-shadow: 0 0 0 4px rgba(184, 121, 24, .14);
}

.pm-ai-log-error .pm-ai-log-dot {
  background: #a33a3a;
  box-shadow: 0 0 0 4px rgba(163, 58, 58, .13);
}

.pm-ai-result-dock {
  padding: 16px 16px 0;
  background: #f8fbff;
}

.pm-ai-result-dock-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #dce6f2;
  border-radius: 14px;
  background: #fff;
  padding: 15px 16px;
  box-shadow: 0 10px 26px rgba(16, 39, 68, .055);
}

.pm-ai-result-dock-card.ready {
  border-color: rgba(23, 104, 77, .32);
  background:
    linear-gradient(135deg, rgba(23, 104, 77, .07), rgba(29, 95, 180, .045)),
    #fff;
}

.pm-ai-result-dock-card strong {
  display: block;
  margin-bottom: 4px;
  color: #102744;
  font-size: 15px;
  font-weight: 900;
}

.pm-ai-result-dock-card span {
  display: block;
  color: #526a86;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}

.pm-ai-result-dock-actions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 8px;
}

.pm-ai-result-empty {
  padding: 22px 16px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.pm-ai-result-empty-title {
  color: #172033;
  font-size: 15px;
  font-weight: 900;
  margin-bottom: 6px;
}

.pm-ai-result-card {
  padding: 14px 16px 16px;
}

.pm-ai-result-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}

.pm-ai-result-badge,
.pm-ai-result-score,
.pm-ai-result-confidence {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-result-badge {
  background: #eaf8f1;
  color: #17684d;
}

.pm-ai-result-reject .pm-ai-result-badge {
  background: #fff1f1;
  color: #a33a3a;
}

.pm-ai-result-score,
.pm-ai-result-confidence {
  border: 1px solid #d6e4f3;
  background: #fff;
  color: #526a86;
}

.pm-ai-result-reason {
  color: #172033;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-ai-result-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.pm-ai-result-columns > div {
  min-width: 0;
  border: 1px solid #e1eaf5;
  border-radius: 8px;
  background: #fbfdff;
  padding: 12px 14px;
}

.pm-ai-result-subtitle {
  color: #17315f;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 8px;
}

.pm-ai-result-columns ul,
.pm-ai-result-columns p {
  margin: 0;
  padding-left: 18px;
  color: #475569;
  font-size: 13px;
  line-height: 1.65;
}

.pm-ai-result-columns p {
  padding-left: 0;
}

.pm-ai-decision-bar {
  display: none;
  justify-content: flex-end;
  gap: 10px;
  margin: 0 0 14px;
}

.pm-ai-original-result {
  padding: 14px;
}

.pm-ai-original-result.analysis-results {
  animation: none;
}

.pm-ai-original-result .result-card {
  border-radius: 10px;
  margin-bottom: 16px;
  box-shadow: 0 6px 18px rgba(16, 39, 68, .045);
}

.pm-ai-original-result .card-header {
  padding: 16px 18px;
}

.pm-ai-result-modal-wrap {
  align-items: flex-start;
  overflow-y: auto;
  padding: 10px 14px;
  background: rgba(15, 31, 56, .58);
  backdrop-filter: none;
}

.pm-ai-result-modal {
  width: min(1520px, calc(100vw - 28px)) !important;
  max-height: calc(100vh - 20px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 14px !important;
  border: 1px solid rgba(188, 210, 234, .68);
  box-shadow: 0 18px 48px rgba(15, 31, 56, .22);
}

.pm-ai-result-modal-header {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 28px;
  border-bottom: 1px solid #dce6f2;
  background:
    radial-gradient(circle at 16% -10%, rgba(13, 106, 112, .14), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #f4f9ff 100%);
}

.pm-ai-result-modal-kicker {
  margin-bottom: 5px;
  color: #1d5fb4;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-result-modal-header h3 {
  margin: 0;
  color: #102744;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.5;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-ai-result-modal-header p {
  margin: 7px 0 0;
  color: #526a86;
  font-size: 13px;
  font-weight: 750;
}

.pm-ai-result-modal-actions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 540px;
}

.pm-ai-result-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  background: #f5f8fc;
  padding: 18px 22px 24px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.pm-ai-result-modal .pm-ai-original-result {
  padding: 0;
}

.pm-ai-result-modal .ref-link-hidden {
  display: inline-flex !important;
}

.pm-ai-original-result .synthesis-content {
  padding: 18px;
}

.pm-ai-original-result .score-section {
  gap: 18px;
}

.pm-ai-original-result .score-ring {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
}

.pm-ai-original-result .score-value {
  font-size: 26px;
}

.pm-ai-original-result .recommendation-focus {
  font-size: 22px;
}

.pm-ai-original-result .module-content {
  overflow-wrap: anywhere;
}

.pm-ai-original-result .pm-ai-decision-bar {
  display: none;
}

.pm-kxz-page {
  color: #10243b;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", sans-serif;
  background:
    linear-gradient(135deg, rgba(213, 241, 239, .96) 0%, rgba(247, 251, 252, .98) 38%, rgba(237, 247, 249, .96) 100%);
  border-radius: 16px;
  padding: 18px;
}

.pm-kxz-page * {
  box-sizing: border-box;
}

.pm-kxz-topbar,
.pm-kxz-brand,
.pm-kxz-section-head,
.pm-kxz-annotation-head {
  display: flex;
  align-items: center;
}

.pm-kxz-topbar {
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.pm-kxz-brand {
  gap: 12px;
}

.pm-kxz-logo {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #087c77;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 28px rgba(20,72,86,.13);
  font-size: 25px;
  font-weight: 950;
}

.pm-kxz-eyebrow,
.pm-kxz-label,
.pm-kxz-toc-title {
  color: #0c8a83;
  font-size: 12px;
  font-weight: 900;
}

.pm-kxz-topbar h2 {
  margin: 3px 0 0;
  color: #10243b;
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: 0;
}

.pm-kxz-status {
  min-width: 104px;
  border-radius: 999px;
  padding: 10px 17px;
  color: #0b6d68;
  background: linear-gradient(135deg, rgba(224, 248, 244, .96), rgba(237, 252, 249, .9));
  border: 1px solid rgba(125, 211, 202, .5);
  box-shadow: 0 10px 22px rgba(14, 116, 106, .12), inset 0 1px 0 rgba(255,255,255,.8);
  font-size: 14px;
  font-weight: 950;
  text-align: center;
}

.pm-kxz-layout {
  display: grid;
  grid-template-columns: 206px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.pm-kxz-toc {
  position: sticky;
  top: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,253,253,.78));
  box-shadow: 0 24px 58px rgba(24, 75, 89, .16), 0 2px 10px rgba(24, 75, 89, .06), inset 0 1px 0 rgba(255,255,255,.94);
  padding: 15px 12px 14px;
}

.pm-kxz-toc::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #10b6a8, rgba(16,182,168,0));
}

.pm-kxz-toc-title {
  position: relative;
  z-index: 1;
  margin: 0 8px 10px;
  padding-left: 9px;
  color: #087c77;
  font-size: 13px;
}

.pm-kxz-toc nav {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 5px;
}

.pm-kxz-toc a {
  position: relative;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  min-height: 42px;
  padding: 0 11px 0 8px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #2d5062;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.pm-kxz-toc a span {
  color: #83a3af;
  font-size: 11px;
  font-weight: 900;
}

.pm-kxz-toc a b {
  font: inherit;
}

.pm-kxz-toc a:hover,
.pm-kxz-toc a.active {
  color: #075d58;
  background: linear-gradient(135deg, rgba(224, 247, 244, .96), rgba(240, 253, 250, .9));
  border-color: rgba(125, 211, 202, .52);
  box-shadow: 0 13px 28px rgba(20, 116, 126, .12), inset 0 1px 0 rgba(255,255,255,.86);
}

.pm-kxz-report {
  min-width: 0;
}

.pm-kxz-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(280px, .72fr);
  gap: 14px;
  margin-bottom: 14px;
}

.pm-kxz-summary-card,
.pm-kxz-section {
  border: 1px solid rgba(132,178,188,.32);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 34px rgba(31,72,88,.08);
}

.pm-kxz-summary-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 15px 16px;
}

.pm-kxz-summary-card.primary {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(233,249,247,.92));
}

.pm-kxz-summary-card h3 {
  margin: 7px 0;
  color: #123b4e;
  font-size: 20px;
  line-height: 1.42;
}

.pm-kxz-summary-card p {
  margin: 0;
  color: #607887;
  font-size: 13px;
  line-height: 1.72;
}

.pm-kxz-summary-card.decision strong {
  display: block;
  margin: 7px 0 8px;
  font-size: 22px;
  line-height: 1.25;
}

.pm-kxz-summary-card.decision strong.is-send {
  color: #087c77;
}

.pm-kxz-summary-card.decision strong.is-reject {
  color: #b4533b;
}

.pm-kxz-abstract {
  margin-top: 10px;
  padding: 11px 13px 12px;
  border-radius: 12px;
  color: #2b5666;
  background: rgba(236, 249, 247, .82);
  border: 1px solid rgba(141, 214, 205, .46);
  font-size: 14px;
  line-height: 1.74;
}

.pm-kxz-abstract b {
  display: block;
  margin-bottom: 4px;
  color: #087c77;
  font-size: 14px;
}

.pm-kxz-score {
  margin: 2px 0 10px;
  padding: 11px 12px;
  border-radius: 13px;
  background: linear-gradient(135deg, #ecfbf8, #f7fcfd);
  border: 1px solid rgba(125, 211, 202, .46);
}

.pm-kxz-score span,
.pm-kxz-score em {
  display: block;
  color: #638394;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.pm-kxz-score b {
  display: block;
  margin: 2px 0 4px;
  color: #0b746f;
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
}

.pm-kxz-section {
  padding: 16px 18px;
  margin-bottom: 14px;
  scroll-margin-top: 16px;
}

.pm-kxz-section-head {
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 13px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(194, 220, 226, .72);
}

.pm-kxz-section-head h3 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #123b4e;
  font-size: 18px;
  font-weight: 950;
}

.pm-kxz-section-head h3::before {
  content: "";
  width: 7px;
  height: 20px;
  border-radius: 999px;
  background: linear-gradient(180deg, #14b8a6, #0f766e);
  box-shadow: 0 8px 16px rgba(20,184,166,.24);
}

.pm-kxz-section-head span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: #0d746e;
  background: rgba(225, 246, 243, .86);
  border: 1px solid rgba(148, 216, 209, .55);
  font-size: 12px;
  font-weight: 900;
}

.pm-kxz-overall section {
  padding: 12px 13px;
  margin-bottom: 10px;
  border: 1px solid rgba(201, 226, 231, .72);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(249,253,253,.96), rgba(238,249,247,.72));
}

.pm-kxz-overall section:last-child {
  margin-bottom: 0;
}

.pm-kxz-overall b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
  color: #0c6474;
  font-size: 15px;
  font-weight: 950;
}

.pm-kxz-overall b::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #14b8a6;
}

.pm-kxz-overall p,
.pm-kxz-list li,
.pm-kxz-novelty,
.pm-kxz-ref p,
.pm-kxz-annotation p {
  margin: 0;
  color: #263f51;
  font-size: 14px;
  line-height: 1.78;
  word-break: break-word;
}

.pm-kxz-list ol {
  margin: 0;
  padding-left: 22px;
}

.pm-kxz-list li {
  margin-bottom: 8px;
}

.pm-kxz-empty,
.pm-kxz-preview-empty {
  color: #7b909b;
  font-size: 14px;
  line-height: 1.7;
}

.pm-kxz-manuscript-section {
  padding: 16px;
}

.pm-kxz-manuscript-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(292px, 32%);
  gap: 14px;
  align-items: start;
}

.pm-kxz-preview,
.pm-kxz-annotation-sidebar {
  min-width: 0;
  border: 1px solid rgba(201, 226, 231, .78);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,253,253,.94));
}

.pm-kxz-preview {
  padding: 20px 22px;
  color: #1d3445;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(229, 239, 242, .9);
  font-size: 14px;
  line-height: 1.82;
}

.pm-kxz-preview p,
.pm-kxz-preview h4 {
  margin: 0 0 10px;
  overflow-wrap: anywhere;
}

.pm-kxz-preview-block-located {
  position: relative;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(20, 184, 166, .10), rgba(255,255,255,0) 62%);
  box-shadow: inset 3px 0 0 rgba(20, 184, 166, .55);
  cursor: pointer;
}

.pm-kxz-preview-block-located.active {
  background: linear-gradient(90deg, rgba(45, 212, 191, .22), rgba(240, 253, 250, .78));
  box-shadow: inset 4px 0 0 rgba(15, 118, 110, .82), 0 10px 24px rgba(15, 118, 110, .12);
}

.pm-kxz-preview h4 {
  color: #123b4e;
  font-size: 18px;
  line-height: 1.42;
}

.pm-kxz-mark {
  border-radius: 4px;
  padding: 1px 2px;
  background: linear-gradient(180deg, rgba(255, 238, 153, .7), rgba(255, 220, 90, .6));
  box-shadow: 0 0 0 1px rgba(214, 167, 38, .18);
  cursor: pointer;
  transition: background .16s ease, box-shadow .16s ease;
}

.pm-kxz-mark.active {
  background: linear-gradient(180deg, rgba(45, 212, 191, .42), rgba(20, 184, 166, .32));
  box-shadow: 0 0 0 2px rgba(15, 118, 110, .34), 0 8px 18px rgba(15, 118, 110, .14);
}

.pm-kxz-annotation-sidebar {
  position: sticky;
  top: 18px;
  max-height: calc(100vh - 96px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 16px 32px rgba(31,72,88,.08);
}

.pm-kxz-sidebar-head {
  padding: 13px 14px 11px;
  border-bottom: 1px solid rgba(213, 229, 233, .9);
}

.pm-kxz-sidebar-head strong {
  display: block;
  color: #123b4e;
  font-size: 15px;
}

.pm-kxz-sidebar-head span {
  display: block;
  margin-top: 4px;
  color: #6b8795;
  font-size: 12px;
}

.pm-kxz-annotation-toc {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 10px 12px;
  overflow: visible;
  border-bottom: 1px solid rgba(213, 229, 233, .78);
  background: rgba(248, 253, 253, .92);
}

.pm-kxz-annotation-toc:empty {
  display: none;
}

.pm-kxz-annotation-toc button {
  min-width: 0;
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border: 1px solid rgba(171, 207, 215, .78);
  border-radius: 10px;
  padding: 5px 7px 5px 9px;
  background: #fff;
  color: #245066;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  line-height: 1.2;
}

.pm-kxz-annotation-toc button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-kxz-annotation-toc button.active,
.pm-kxz-annotation-toc button:hover {
  border-color: rgba(20, 184, 166, .75);
  color: #0f766e;
  background: #e8fbf7;
}

.pm-kxz-annotation-toc button b {
  flex: 0 0 auto;
  min-width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(20, 184, 166, .12);
  font-size: 11px;
  font-weight: 950;
}

.pm-kxz-annotation-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 5px 12px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(242,250,249,.92));
}

.pm-kxz-annotation {
  margin-top: 9px;
  padding: 11px 12px;
  border: 1px solid rgba(213, 229, 233, .9);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-kxz-annotation:hover,
.pm-kxz-annotation.active {
  border-color: rgba(20, 184, 166, .72);
  box-shadow: 0 12px 24px rgba(15, 118, 110, .12);
  transform: translateY(-1px);
}

.pm-kxz-annotation.is-missing {
  border-style: dashed;
  background: linear-gradient(180deg, #fff, #fbfdfe);
}

.pm-kxz-annotation-group-title {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0 4px;
  padding: 7px 2px 4px;
  color: #0f5068;
  background: linear-gradient(180deg, rgba(246, 252, 252, .98), rgba(246, 252, 252, .82));
  font-size: 12px;
  font-weight: 950;
}

.pm-kxz-annotation-group-title b {
  color: #6b8795;
  font-size: 11px;
}

.pm-kxz-annotation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.pm-kxz-annotation-head strong {
  color: #0f5068;
  font-size: 14px;
}

.pm-kxz-annotation-head span {
  color: #7b96a0;
  font-size: 11px;
  font-weight: 800;
}

.pm-kxz-locate-state {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 2px 7px;
  color: #0f766e;
  background: #e8fbf7;
}

.pm-kxz-locate-state.is-missing {
  color: #b45309;
  background: #fff7ed;
}

.pm-kxz-block-id {
  display: inline-flex;
  margin-bottom: 5px;
  color: #7b96a0;
  font-size: 11px;
  font-weight: 800;
}

.pm-kxz-annotation blockquote {
  margin: 8px 0;
  padding: 8px 10px;
  border-left: 4px solid #14b8a6;
  background: #eefbf8;
  color: #245066;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.pm-kxz-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 16px;
}

.pm-kxz-stat-grid div {
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid rgba(167, 214, 218, .58);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(244, 253, 251, .95), rgba(255,255,255,.96));
}

.pm-kxz-stat-grid span {
  display: block;
  color: #6b8795;
  font-size: 12px;
  font-weight: 850;
}

.pm-kxz-stat-grid b {
  display: block;
  margin-top: 5px;
  color: #0d5969;
  font-size: 18px;
}

.pm-kxz-reference-list {
  display: grid;
  gap: 12px;
}

.pm-kxz-ref {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  padding: 14px 15px;
  border: 1px solid rgba(204, 224, 229, .88);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,252,253,.94));
  box-shadow: 0 12px 28px rgba(15, 67, 82, .06);
}

.pm-kxz-ref-rank {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #087c77;
  background: #e0f8f4;
  font-size: 14px;
  font-weight: 950;
}

.pm-kxz-ref strong {
  display: block;
  color: #0f5068;
  font-size: 16px;
  line-height: 1.42;
}

.pm-kxz-ref-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.pm-kxz-ref-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  color: #0d615f;
  background: rgba(224, 248, 244, .92);
  border: 1px solid rgba(150, 220, 211, .42);
  font-size: 12px;
  font-weight: 850;
}

.pm-kxz-ref a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-top: 10px;
  padding: 0 11px;
  border-radius: 999px;
  background: #0d8f86;
  border: 1px solid #0d8f86;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.pm-kxz-log-section pre {
  margin: 0;
  min-height: 110px;
  max-height: 240px;
  overflow: auto;
  white-space: pre-wrap;
  color: #405b6d;
  background: #f5fafb;
  border-radius: 12px;
  padding: 13px;
  font-size: 13px;
  line-height: 1.72;
}

@media (max-width: 1080px) {
  .pm-kxz-layout,
  .pm-kxz-summary-grid,
  .pm-kxz-manuscript-layout {
    grid-template-columns: 1fr;
  }

  .pm-kxz-toc,
  .pm-kxz-annotation-sidebar {
    position: static;
    max-height: none;
  }

  .pm-kxz-toc nav {
    display: flex;
    flex-wrap: wrap;
  }

  .pm-kxz-toc a {
    grid-template-columns: 1fr;
    min-height: 38px;
    padding: 0 12px;
  }

  .pm-kxz-toc a span {
    display: none;
  }
}

@media (max-width: 720px) {
  .pm-kxz-page {
    padding: 14px;
    border-radius: 12px;
  }

  .pm-kxz-topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-kxz-topbar h2 {
    font-size: 22px;
  }

  .pm-kxz-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-kxz-preview {
    padding: 16px;
  }
}

@media (max-width: 1180px) {
  .pm-ai-workbench,
  .pm-ai-work-grid {
    grid-template-columns: 1fr;
  }

  .pm-ai-queue-panel {
    position: static;
  }

  .pm-ai-queue-list {
    max-height: 300px;
  }
}

@media (max-width: 780px) {
  .pm-registration-modal-body,
  .pm-ai-work-grid {
    padding: 14px;
  }

  .pm-word-upload-row,
  .pm-register-utility-actions,
  .pm-ai-info-grid,
  .pm-ai-result-columns {
    grid-template-columns: 1fr;
  }

  .pm-ai-info-grid > div {
    border-right: 0;
    border-top: 1px solid #edf3f9;
  }

  .pm-ai-info-grid > div:first-child {
    border-top: 0;
  }

  .pm-ai-detail-head,
  .pm-ai-detail-actions,
  .pm-ai-decision-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .pm-word-recognize-btn {
    min-height: 46px;
  }
}

.pm-review-workbench {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: clamp(12px, 1.2vw, 18px);
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.pm-review-followup-notice {
  margin-bottom: 14px;
  padding: 13px 16px;
  border: 1px solid #b9dcd4;
  border-radius: 12px;
  background: linear-gradient(135deg, #effbf7 0%, #f8fffd 100%);
  color: #17684d;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 10px 24px rgba(22, 116, 84, .08);
}

.pm-review-queue-panel,
.pm-review-detail-panel,
.pm-review-paper-panel,
.pm-review-section {
  min-width: 0;
  max-width: 100%;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(20, 42, 67, .07);
}

.pm-review-queue-panel {
  overflow: hidden;
  position: sticky;
  top: 16px;
}

.pm-review-queue-head,
.pm-review-section-head,
.pm-review-paper-head,
.pm-review-match-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.pm-review-queue-head {
  padding: 18px;
  border-bottom: 1px solid #e4edf3;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.pm-review-refresh-btn {
  flex: 0 0 auto;
  min-width: 64px;
  padding-inline: 14px;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}

.pm-review-section-title {
  color: #183454;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
}

.pm-review-section-subtitle {
  margin-top: 4px;
  color: #667b90;
  font-size: 12px;
  line-height: 1.55;
}

.pm-review-queue-list {
  display: grid;
  gap: 10px;
  max-height: 620px;
  overflow-y: auto;
  padding: 14px;
}

.pm-review-queue-item {
  width: 100%;
  min-height: 0;
  padding: 16px;
  border: 1px solid #e1eaf2;
  border-radius: 12px;
  background: #ffffff;
  color: #1f344d;
  text-align: left;
  box-shadow: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-review-queue-item:hover,
.pm-review-queue-item.active {
  border-color: #88cbc5;
  background: #f0fbf9;
  box-shadow: 0 12px 28px rgba(13, 92, 99, .12);
  transform: translateY(-1px);
}

.pm-review-queue-top,
.pm-review-kicker-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.pm-review-queue-no,
.pm-review-queue-title,
.pm-review-queue-meta {
  display: block;
}

.pm-review-queue-no {
  color: #0d6a70;
  font-size: 13px;
  font-weight: 900;
}

.pm-review-source-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.pm-review-source-em {
  border-color: #bfd0ff;
  background: #eef2ff;
  color: #3730a3;
}

.pm-review-source-email {
  border-color: #b9e2d7;
  background: #ecfdf7;
  color: #0f766e;
}

.pm-review-source-pending {
  border-color: #d4e0ef;
  background: #f3f7fb;
  color: #38536f;
}

.pm-review-source-followup {
  border-color: #d6c7ff;
  background: #f3efff;
  color: #5b3db7;
}

.pm-review-em-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  border: 1px solid #dbe7f1;
  border-radius: 999px;
  background: #f8fbff;
  color: #324a65;
  line-height: 1.2;
  white-space: normal;
}

.pm-review-em-status strong,
.pm-review-em-status em {
  min-width: 0;
  font-style: normal;
  overflow-wrap: anywhere;
}

.pm-review-em-status strong {
  color: #16345f;
  font-weight: 950;
}

.pm-review-em-status em {
  color: #566f8c;
  font-weight: 850;
}

.pm-review-em-status-queue {
  margin-top: 8px;
  padding: 5px 9px;
  font-size: 11px;
}

.pm-review-em-status-summary {
  min-height: 24px;
  padding: 0 9px;
  font-size: 11px;
}

.pm-review-em-status-active {
  border-color: #bfe3dd;
  background: #edfdfa;
}

.pm-review-em-status-active strong,
.pm-review-em-status-complete strong {
  color: #0f766e;
}

.pm-review-em-status-complete {
  border-color: #bfe3dd;
  background: #f0fdfa;
}

.pm-review-em-status-warn {
  border-color: #f1d5a8;
  background: #fff8ea;
}

.pm-review-em-status-warn strong,
.pm-review-em-status-danger strong {
  color: #8a4308;
}

.pm-review-em-status-danger {
  border-color: #efc5b8;
  background: #fff4ef;
}

.pm-review-em-status-idle {
  border-color: #d4e0ef;
  background: #f3f7fb;
}

.pm-review-queue-title {
  margin-top: 8px;
  color: #132339;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-review-queue-meta {
  margin-top: 5px;
  color: #718296;
  font-size: 12px;
}

.pm-review-detail-panel {
  min-width: 0;
  overflow: hidden;
  padding: clamp(14px, 1.2vw, 18px);
}

.pm-review-paper-panel {
  min-width: 0;
  padding: clamp(14px, 1.2vw, 18px) clamp(14px, 1.4vw, 20px);
  box-shadow: none;
}

.pm-blind-entry-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 30px !important;
  padding: 6px 12px !important;
  white-space: nowrap;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(23, 49, 95, .12);
  text-align: center;
}

.pm-blind-entry-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(23, 49, 95, .16);
}

.pm-review-kicker {
  color: #0d6a70;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.pm-review-paper-head h2 {
  margin: 7px 0 0;
  color: #142033;
  font-size: 20px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pm-review-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.pm-review-meta-grid > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #e1ebf2;
  border-radius: 8px;
  background: #f9fcfd;
}

.pm-review-meta-grid span,
.pm-review-abstract span {
  display: block;
  color: #667b90;
  font-size: 12px;
  font-weight: 850;
}

.pm-review-meta-grid strong {
  display: block;
  margin-top: 5px;
  color: #18283b;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-review-abstract {
  margin-top: 14px;
  padding: 13px 14px;
  border: 1px solid #dce8ef;
  border-radius: 8px;
  background: #ffffff;
}

.pm-review-abstract p {
  margin: 7px 0 0;
  color: #394c60;
  font-size: 13px;
  line-height: 1.75;
  max-height: 138px;
  overflow-y: auto;
  overflow-wrap: anywhere;
}

.pm-review-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  gap: clamp(12px, 1vw, 16px);
  margin-top: 16px;
  min-width: 0;
  max-width: 100%;
}

.pm-review-section {
  min-width: 0;
  overflow: hidden;
  padding: clamp(14px, 1.2vw, 18px);
  box-shadow: none;
}

.pm-review-section-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.pm-review-section-actions .btn {
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
}

.pm-review-record-section {
  display: grid;
  align-content: start;
  gap: 16px;
}

.pm-review-record-section .pm-review-section-head {
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 1px solid #e6eef5;
}

.pm-review-record-actions {
  display: grid;
  grid-template-columns: minmax(126px, auto);
  gap: 10px;
  justify-items: stretch;
  flex: 0 0 auto;
}

.pm-review-record-actions .btn {
  width: 100%;
  min-width: 126px;
  min-height: 42px;
  padding-inline: 14px !important;
  border-radius: 9px !important;
  text-align: center;
}

.pm-review-record-section .pm-review-empty-small {
  margin-top: 12px;
}

.pm-review-query-terms {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: min(360px, 100%);
  min-width: 0;
}

.pm-review-query-terms span,
.pm-reviewer-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e9f7f4;
  color: #0b6d64;
  font-size: 12px;
  font-weight: 800;
}

.pm-reviewer-match-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.pm-reviewer-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 152px;
  gap: 16px;
  align-items: center;
  min-height: 142px;
  padding: 17px 18px;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 28px rgba(16, 37, 68, .045);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pm-reviewer-card:hover {
  border-color: #c7dceb;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(16, 37, 68, .075);
}

.pm-reviewer-score {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: #0d6a70;
  color: #ffffff;
  font-size: 16px;
  font-weight: 900;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.16),
    0 12px 24px rgba(13,106,112,.18);
}

.pm-reviewer-main {
  min-width: 0;
}

.pm-reviewer-name {
  color: #142033;
  font-size: 15px;
  font-weight: 900;
}

.pm-reviewer-name span {
  margin-left: 6px;
  color: #6a7d90;
  font-size: 12px;
  font-weight: 750;
}

.pm-reviewer-org {
  margin-top: 4px;
  color: #52687e;
  font-size: 12px;
  font-weight: 750;
}

.pm-reviewer-specialty {
  margin-top: 7px;
  color: #394c60;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-reviewer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.pm-reviewer-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 152px;
  min-width: 152px;
}

.pm-reviewer-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0 14px;
  border-radius: 10px;
  text-align: center;
  white-space: normal;
  line-height: 1.25;
  font-size: 14px;
  font-weight: 900;
}

.pm-reviewer-card-edit-btn {
  border-color: #d7e2ec !important;
  background: #ffffff !important;
  color: #17315f !important;
  box-shadow: inset 0 0 0 1px rgba(23,49,95,.02);
}

.pm-reviewer-card-edit-btn:hover {
  border-color: #bdd1e3 !important;
  background: #f7fbff !important;
  color: #0d4978 !important;
}

.pm-reviewer-invite-btn {
  box-shadow: 0 10px 20px rgba(23, 49, 95, .16);
}

.pm-reviewer-assistant-btn {
  border-color: #5b4fd9 !important;
  background: linear-gradient(135deg, #6158df 0%, #4f46a9 100%) !important;
  color: #ffffff !important;
  min-height: 54px !important;
  white-space: normal !important;
  line-height: 1.24 !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  box-shadow: 0 12px 22px rgba(79, 70, 169, .18);
}

.pm-reviewer-assistant-btn:hover {
  border-color: #4338ca !important;
  background: linear-gradient(135deg, #564bd1 0%, #4338a4 100%) !important;
}

.pm-review-request-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.pm-review-request-complete {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #cfe0f4;
  border-radius: 12px;
  background: linear-gradient(135deg, #f7fbff 0%, #ffffff 100%);
}

.pm-review-request-complete strong,
.pm-review-request-complete span {
  display: block;
}

.pm-review-request-complete strong {
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
}

.pm-review-request-complete span {
  margin-top: 3px;
  color: #65778b;
  font-size: 12px;
  line-height: 1.5;
}

.pm-review-request-complete .pm-review-status-focus-note {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 5px 9px;
  border: 1px solid #b9d8ee;
  border-radius: 999px;
  background: #f1f7ff;
  color: #1f4f86;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
}

.pm-review-request-complete .btn {
  min-width: 106px;
  min-height: 42px;
  white-space: nowrap;
}

.pm-review-request-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(132px, auto);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
}

.pm-review-request-item.is-status-focused {
  border-color: #8eb8dc;
  background: linear-gradient(180deg, #ffffff 0%, #f1f7ff 100%);
  box-shadow: 0 10px 24px rgba(23, 49, 95, .1);
}

.pm-review-request-person {
  min-width: 0;
}

.pm-review-request-item strong,
.pm-review-request-item span,
.pm-review-request-item small {
  display: block;
  line-height: 1.5;
}

.pm-review-request-item strong {
  color: #142033;
  font-size: 15px;
}

.pm-review-request-item span,
.pm-review-request-item small {
  color: #667b90;
  font-size: 12px;
}

.pm-review-request-state {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef7ff;
  color: #0f5d91;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-review-request-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.pm-review-request-actions .btn {
  white-space: normal;
  min-width: 0;
  line-height: 1.25;
}

.pm-reviewer-table-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pm-reviewer-pick-btn {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #b7dcd5;
  border-radius: 999px;
  background: #eefbf7;
  color: #17684d;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.pm-reviewer-pick-btn:hover {
  border-color: #71b9a7;
  background: #ddf6ee;
}

.pm-blind-progress-modal {
  width: min(900px, calc(100vw - 40px));
}

.pm-blind-progress-modal .pm-recognition-head {
  background:
    radial-gradient(circle at 12% 0%, rgba(159, 18, 57, .08), transparent 30%),
    linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
}

.pm-blind-progress-modal .pm-recognition-kicker {
  color: #9f123f;
}

.pm-blind-progress-title {
  margin: 8px 0 0;
  max-width: 560px;
  color: #5b6b80;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-blind-progress-running .pm-recognition-orbit {
  background: #fff7ed;
}

.pm-blind-progress-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr);
  gap: 12px;
  margin-top: 14px;
}

.pm-blind-progress-summary > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #ead7bd;
  border-radius: 12px;
  background: #fffaf2;
}

.pm-blind-progress-summary span,
.pm-blind-progress-summary strong {
  display: block;
}

.pm-blind-progress-summary span {
  color: #8a5a20;
  font-size: 12px;
  font-weight: 850;
}

.pm-blind-progress-summary strong {
  margin-top: 5px;
  color: #102744;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-blind-loading {
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 360px;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  color: #17315f;
  box-shadow: 0 16px 36px rgba(20, 42, 67, .07);
}

.pm-blind-loading span {
  color: #667b90;
  font-size: 13px;
}

.pm-blind-spinner {
  width: 42px;
  height: 42px;
  border: 4px solid #e6eef8;
  border-top-color: #167454;
  border-radius: 50%;
  animation: pmBlindSpin .8s linear infinite;
}

@keyframes pmBlindSpin {
  to { transform: rotate(360deg); }
}

.pm-blind-builder {
  display: grid;
  gap: 16px;
}

.pm-blind-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px;
  border: 1px solid #d9e8ef;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(22, 116, 84, .08), rgba(23, 49, 95, .055)),
    #ffffff;
  box-shadow: 0 14px 32px rgba(15, 31, 56, .07);
}

.pm-blind-kicker {
  color: #0d6a70;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.pm-blind-hero h3 {
  margin: 6px 0;
  color: #102744;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 950;
}

.pm-blind-hero p {
  margin: 0;
  color: #65778b;
  font-size: 13px;
  font-weight: 750;
}

.pm-blind-hero-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pm-blind-stepper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-blind-step {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  color: #64748b;
  box-shadow: 0 10px 24px rgba(15, 31, 56, .045);
}

.pm-blind-step span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #edf4f8;
  color: #526a86;
  font-size: 13px;
  font-weight: 950;
}

.pm-blind-step strong {
  display: block;
  color: #33475c;
  font-size: 14px;
  font-weight: 950;
}

.pm-blind-step p {
  margin: 3px 0 0;
  font-size: 12px;
  line-height: 1.5;
}

.pm-blind-step.active {
  border-color: #b9dcd4;
  background: linear-gradient(135deg, #f2fbf8, #ffffff);
}

.pm-blind-step.active span,
.pm-blind-step.done span {
  background: #167454;
  color: #ffffff;
}

.pm-blind-step.active strong,
.pm-blind-step.done strong {
  color: #17315f;
}

.pm-blind-scan-panel {
  position: relative;
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
}

.pm-blind-scan-line {
  position: relative;
  height: 72px;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background:
    repeating-linear-gradient(180deg, #f6f9fd 0, #f6f9fd 8px, #ffffff 8px, #ffffff 16px);
  overflow: hidden;
}

.pm-blind-scan-line span {
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(22,116,84,0), #167454, rgba(22,116,84,0));
  animation: pmBlindScan 1.15s ease-in-out infinite;
}

.pm-blind-scan-panel.done .pm-blind-scan-line span {
  animation: none;
  top: 58px;
}

@keyframes pmBlindScan {
  0% { top: 5px; opacity: .35; }
  50% { top: 60px; opacity: 1; }
  100% { top: 5px; opacity: .35; }
}

.pm-blind-scan-panel strong {
  color: #17315f;
  font-size: 15px;
  font-weight: 950;
}

.pm-blind-scan-panel p {
  margin: 4px 0 0;
  color: #65778b;
  font-size: 13px;
  line-height: 1.6;
}

.pm-blind-layout {
  display: grid;
  grid-template-columns: minmax(320px, .88fr) minmax(0, 1.12fr);
  gap: 16px;
  align-items: start;
}

.pm-blind-panel {
  min-width: 0;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(20, 42, 67, .06);
  overflow: hidden;
}

.pm-blind-source-panel {
  min-width: 0;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(20, 42, 67, .05);
  overflow: hidden;
}

.pm-blind-source-panel .pm-blind-panel-head span {
  color: #667b90;
  font-size: 12px;
  font-weight: 850;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.pm-blind-source-preview {
  max-height: 260px;
  overflow-y: auto;
  padding: 16px 18px;
  color: #33475c;
  font-size: 13px;
  line-height: 1.75;
  background: #fbfdff;
}

.pm-blind-source-preview p,
.pm-blind-source-preview li {
  margin: 0 0 10px;
}

.pm-blind-source-preview table {
  width: 100%;
  border-collapse: collapse;
}

.pm-blind-source-preview td,
.pm-blind-source-preview th {
  border: 1px solid #dce8ef;
  padding: 6px 8px;
}

.pm-blind-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #e4edf3;
  background: #fbfdff;
}

.pm-blind-panel-head h4 {
  margin: 0;
  color: #183454;
  font-size: 16px;
  font-weight: 950;
}

.pm-blind-panel-head p {
  margin: 4px 0 0;
  color: #667b90;
  font-size: 12px;
  line-height: 1.55;
}

.pm-blind-ai-note {
  display: inline-flex;
  margin-top: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef7f4;
  color: #2f6f61;
  font-size: 11px;
  font-weight: 800;
}

.pm-blind-head-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-blind-ai-btn {
  box-shadow: 0 10px 22px rgba(36, 119, 101, 0.18);
}

.pm-blind-candidate-list {
  display: grid;
  gap: 10px;
  max-height: 620px;
  overflow-y: auto;
  padding: 14px;
}

.pm-blind-candidate {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: #ffffff;
}

.pm-blind-candidate.selected {
  border-color: #b9dcd4;
  background: #f1fbf8;
}

.pm-blind-candidate-no {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #17315f;
  color: #ffffff;
  font-weight: 950;
}

.pm-blind-candidate-main {
  min-width: 0;
}

.pm-blind-candidate-main strong {
  color: #17315f;
  font-size: 13px;
  font-weight: 950;
}

.pm-blind-candidate-main p {
  margin: 5px 0 0;
  color: #43576d;
  font-size: 12px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.pm-blind-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid #cfe0f4;
  border-radius: 999px;
  background: #ffffff;
  color: #17315f;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.pm-blind-toggle input {
  accent-color: #167454;
}

.pm-blind-confirm-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 14px 14px;
  padding: 14px 16px;
  border: 1px solid #cfe3dd;
  border-radius: 14px;
  background: linear-gradient(135deg, #f2fbf8, #ffffff);
}

.pm-blind-confirm-bar strong,
.pm-blind-confirm-bar span {
  display: block;
}

.pm-blind-confirm-bar strong {
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
}

.pm-blind-confirm-bar span {
  margin-top: 3px;
  color: #5f7388;
  font-size: 12px;
  line-height: 1.55;
}

.pm-blind-candidate-launch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-color: #cfe3dd;
  background:
    linear-gradient(135deg, rgba(22, 116, 84, .08), rgba(23, 49, 95, .04)),
    #ffffff;
}

.pm-blind-candidate-launch span {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 4px 9px;
  border: 1px solid rgba(22, 116, 84, .18);
  border-radius: 999px;
  background: #eefaf6;
  color: #17684d;
  font-size: 11px;
  font-weight: 950;
}

.pm-blind-candidate-launch strong {
  display: block;
  color: #17315f;
  font-size: 16px;
  font-weight: 950;
}

.pm-blind-candidate-launch p {
  margin: 5px 0 0;
  color: #607489;
  font-size: 13px;
  line-height: 1.6;
}

.pm-blind-candidate-modal {
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 2400;
}

.pm-blind-candidate-modal-card {
  display: flex;
  flex-direction: column;
  width: min(1120px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  min-height: min(760px, calc(100vh - 48px));
  border: 1px solid #d8e6ef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 28px 86px rgba(19, 48, 86, .24);
  overflow: hidden;
}

.pm-blind-candidate-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 18px;
  border-bottom: 1px solid #e2ebf2;
  background:
    linear-gradient(135deg, rgba(23, 49, 95, .06), rgba(22, 116, 84, .07)),
    #ffffff;
}

.pm-blind-candidate-modal-head span {
  display: inline-flex;
  margin-bottom: 7px;
  color: #0d6a70;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.pm-blind-candidate-modal-head h3 {
  margin: 0;
  color: #102744;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.pm-blind-candidate-modal-head p {
  max-width: 760px;
  margin: 6px 0 0;
  color: #61758b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

.pm-blind-candidate-modal-close {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid #d8e4ef;
  border-radius: 12px;
  background: #ffffff;
  color: #526a86;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.pm-blind-candidate-modal-close:hover {
  border-color: #b8ccdb;
  background: #f5f8fb;
  color: #17315f;
}

.pm-blind-candidate-modal-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px;
  border-bottom: 1px solid #e7eff5;
  background: #fbfdff;
}

.pm-blind-candidate-modal-toolbar strong,
.pm-blind-candidate-modal-toolbar span {
  display: block;
}

.pm-blind-candidate-modal-toolbar strong {
  color: #17315f;
  font-size: 14px;
  font-weight: 950;
}

.pm-blind-candidate-modal-toolbar span {
  margin-top: 3px;
  color: #62768a;
  font-size: 12px;
  line-height: 1.55;
}

.pm-blind-candidate-modal-note {
  margin: 12px 22px 0;
  padding: 9px 11px;
  border: 1px solid #cfe3dd;
  border-radius: 12px;
  background: #f5fffb;
  color: #0f5f49;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.55;
}

.pm-blind-candidate-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 14px 22px 84px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #ffffff;
}

.pm-blind-candidate-modal-body .pm-blind-candidate-list {
  max-height: none;
  height: auto;
  padding: 0 4px 0 0;
}

.pm-blind-candidate-scroll-hint {
  position: sticky;
  top: 0;
  z-index: 2;
  width: fit-content;
  margin: 0 0 10px auto;
  padding: 5px 10px;
  border: 1px solid #d8e6ef;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #607489;
  font-size: 12px;
  font-weight: 850;
  box-shadow: 0 8px 18px rgba(15, 31, 56, .06);
}

.pm-blind-candidate-modal-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 22px 18px;
  border-top: 1px solid #e2ebf2;
  background: #ffffff;
}

.pm-blind-final-launch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-color: #cfe3dd;
  background:
    linear-gradient(135deg, rgba(23, 49, 95, .05), rgba(22, 116, 84, .08)),
    #ffffff;
}

.pm-blind-final-launch span {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 4px 9px;
  border: 1px solid rgba(22, 116, 84, .18);
  border-radius: 999px;
  background: #eefaf6;
  color: #17684d;
  font-size: 11px;
  font-weight: 950;
}

.pm-blind-final-launch strong {
  display: block;
  color: #17315f;
  font-size: 16px;
  font-weight: 950;
}

.pm-blind-final-launch p {
  margin: 5px 0 0;
  color: #607489;
  font-size: 13px;
  line-height: 1.6;
}

.pm-blind-final-launch-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pm-blind-editor-modal {
  align-items: center;
  justify-content: center;
  padding: 24px;
  z-index: 2450;
}

.pm-blind-editor-modal-card {
  display: flex;
  flex-direction: column;
  width: min(1240px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  min-height: min(820px, calc(100vh - 48px));
  border: 1px solid #d8e6ef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(19, 48, 86, .25);
  overflow: hidden;
}

.pm-blind-editor-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 18px;
  border-bottom: 1px solid #e2ebf2;
  background:
    linear-gradient(135deg, rgba(23, 49, 95, .06), rgba(22, 116, 84, .07)),
    #ffffff;
}

.pm-blind-editor-modal-head span {
  display: inline-flex;
  margin-bottom: 7px;
  color: #0d6a70;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.pm-blind-editor-modal-head h3 {
  margin: 0;
  color: #102744;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.pm-blind-editor-modal-head p {
  max-width: 780px;
  margin: 6px 0 0;
  color: #61758b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

.pm-blind-editor-modal-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 22px;
  border-bottom: 1px solid #edf3f7;
  background: #fbfdff;
}

.pm-blind-editor-modal-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid #dce8ef;
  border-radius: 999px;
  background: #ffffff;
  color: #526a86;
  font-size: 12px;
  font-weight: 850;
}

.pm-blind-editor-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 16px 22px 92px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #f7fafc;
}

.pm-blind-editor-modal .pm-blind-editor-notice {
  margin-bottom: 12px;
}

.pm-blind-editor-modal .pm-blind-html-editor {
  min-height: 620px;
  max-height: none;
  overflow: visible;
}

.pm-blind-editor-modal-foot {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding: 15px 22px 18px;
  border-top: 1px solid #e2ebf2;
  background: #ffffff;
}

.pm-blind-final-stage {
  overflow: hidden;
}

.pm-blind-final-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 16px 0;
}

.pm-blind-final-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border: 1px solid #dce8ef;
  border-radius: 999px;
  background: #f8fbff;
  color: #526a86;
  font-size: 12px;
  font-weight: 850;
}

.pm-blind-final-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 14px 16px 16px;
  align-items: stretch;
}

.pm-blind-editor-shell {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.pm-blind-editor-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #add9cf;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(22, 116, 84, .12), rgba(13, 106, 112, .06)),
    #f5fffb;
  box-shadow: 0 12px 26px rgba(22, 116, 84, .08);
}

.pm-blind-editor-notice strong {
  color: #0f5f49;
  font-size: 16px;
  font-weight: 950;
}

.pm-blind-editor-notice span {
  color: #466073;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.65;
}

.pm-blind-html-editor {
  min-height: 620px;
  max-height: 72vh;
  overflow: auto;
  padding: 22px 24px;
  border: 1px solid #dce8ef;
  border-radius: 14px;
  background: #ffffff;
  color: #26364a;
  font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.8;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 12px 28px rgba(15, 31, 56, .05);
}

.pm-blind-html-editor:focus {
  border-color: #75bdb1;
  box-shadow: 0 0 0 4px rgba(22, 116, 84, .1), 0 16px 34px rgba(15, 31, 56, .07);
}

.pm-blind-final-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pm-blind-document-body {
  color: #23384e;
  overflow-wrap: anywhere;
}

.pm-blind-document-body p,
.pm-blind-document-body li {
  margin: 0 0 12px;
}

.pm-blind-document-body h1,
.pm-blind-document-body h2,
.pm-blind-document-body h3,
.pm-blind-document-body h4 {
  margin: 18px 0 12px;
  color: #17315f;
  line-height: 1.45;
}

.pm-blind-document-body table {
  width: 100%;
  margin: 14px 0 18px;
  border-collapse: collapse;
  table-layout: auto;
  background: #ffffff;
}

.pm-blind-document-body th,
.pm-blind-document-body td {
  min-width: 86px;
  padding: 9px 10px;
  border: 1px solid #cfdde8;
  color: #26364a;
  font-size: 14px;
  line-height: 1.65;
  vertical-align: top;
}

.pm-blind-document-body th {
  background: #f4f8fb;
  color: #17315f;
  font-weight: 950;
}

.pm-blind-document-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 14px auto;
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(15, 31, 56, .08);
}

.pm-blind-document-body figure {
  margin: 16px 0;
}

.pm-blind-final-modal {
  align-items: center;
  padding: 24px;
  z-index: 2500;
}

.pm-blind-final-modal-content {
  display: flex;
  flex-direction: column;
  width: min(1180px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100vh - 48px);
  padding: 0;
  border-radius: 18px;
  overflow: hidden;
}

.pm-blind-final-modal-head {
  align-items: flex-start;
  margin: 0;
  padding: 18px 20px 16px;
  border-bottom: 1px solid #e1eaf2;
}

.pm-blind-final-modal-head h3 {
  margin: 0;
  color: #17315f;
  font-size: 22px;
  font-weight: 950;
}

.pm-blind-final-modal-head p {
  margin: 5px 0 0;
  color: #61758b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
}

.pm-blind-final-modal-head .modal-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d8e4ef;
  border-radius: 10px;
  background: #ffffff;
  color: #526a86;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.pm-blind-final-modal-body {
  display: grid;
  gap: 12px;
  min-height: 0;
  padding: 16px 18px;
  background: #f5f8fb;
  overflow: hidden;
}

.pm-blind-final-modal-tip {
  padding: 10px 12px;
  border: 1px solid #cfe3dd;
  border-radius: 12px;
  background: #f5fffb;
  color: #0f5f49;
  font-size: 13px;
  font-weight: 900;
}

.pm-blind-final-preview {
  min-height: 360px;
  max-height: calc(100vh - 250px);
  overflow: auto;
  padding: 24px 26px;
  border: 1px solid #dbe7ef;
  border-radius: 14px;
  background: #ffffff;
  font-size: 15px;
  line-height: 1.85;
}

.pm-blind-final-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 18px 18px;
  border-top: 1px solid #e1eaf2;
  background: #ffffff;
}

.pm-blind-empty,
.pm-blind-empty-text {
  padding: 18px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.pm-review-loading,
.pm-review-empty,
.pm-review-empty-small {
  padding: 20px;
  border: 1px dashed #cbdce7;
  border-radius: 9px;
  background: #f9fcfd;
  color: #667b90;
  font-size: 13px;
  line-height: 1.7;
}

.pm-review-empty {
  display: grid;
  gap: 5px;
}

.pm-review-empty strong {
  color: #183454;
  font-size: 15px;
}

.pm-reviewer-form-modal {
  width: min(900px, 96vw) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  border: 1px solid #d6e4ee;
  background: #f5f8fb;
  box-shadow: 0 26px 80px rgba(19, 48, 86, .26);
}

.pm-reviewer-form-head,
.pm-reviewer-library-head {
  flex-shrink: 0;
  align-items: flex-start;
  padding: 20px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #dbe7f1;
  background:
    linear-gradient(135deg, rgba(21, 65, 125, .08), rgba(23, 104, 77, .06)),
    #ffffff;
}

.pm-reviewer-form-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.pm-reviewer-form-head-main {
  min-width: 0;
}

.pm-reviewer-form-badge {
  width: fit-content;
  margin-bottom: 8px;
  padding: 4px 9px;
  border: 1px solid rgba(23, 104, 77, .22);
  border-radius: 999px;
  background: rgba(23, 104, 77, .08);
  color: #17684d;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.pm-reviewer-form-head p {
  margin: 6px 0 0;
  color: #607489;
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-reviewer-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pm-reviewer-form-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: grid;
  gap: 14px;
  padding: 18px 24px 20px;
}

.pm-reviewer-form-section {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dce8f0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(35, 68, 102, .06);
}

.pm-reviewer-form-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf3f7;
}

.pm-reviewer-form-section-title span {
  color: #183454;
  font-size: 14px;
  font-weight: 900;
}

.pm-reviewer-form-section-title small {
  color: #73869a;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
  overflow-wrap: anywhere;
}

.pm-reviewer-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-reviewer-form-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pm-reviewer-form-field span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #52687e;
  font-size: 12px;
  font-weight: 900;
}

.pm-reviewer-form-field em {
  padding: 2px 6px;
  border-radius: 999px;
  background: #eef6f4;
  color: #17684d;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.pm-reviewer-form-field .form-input {
  min-width: 0;
  border-color: #d7e3ec;
  background: #fbfdff;
}

.pm-reviewer-form-field textarea.form-input {
  min-height: 112px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.pm-reviewer-form-wide,
.pm-reviewer-form-actions {
  grid-column: 1 / -1;
}

.pm-reviewer-form-actions {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #dbe7f1;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 -12px 24px rgba(24, 52, 84, .06);
}

.pm-reviewer-library-modal {
  width: min(1280px, 96vw) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  border: 1px solid #d6e4ee;
  background: #f5f8fb;
  box-shadow: 0 26px 80px rgba(19, 48, 86, .26);
}

.pm-reviewer-library-toolbar {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 10px;
  padding: 16px 20px 12px;
}

.pm-reviewer-library-toolbar .form-input {
  min-width: 0;
  border-color: #d7e3ec;
  background: #ffffff;
}

.pm-reviewer-batch-btn {
  border-color: #a9c4df !important;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
  color: #17466f !important;
  box-shadow: 0 8px 18px rgba(23, 70, 111, .10) !important;
}

.pm-reviewer-batch-btn:hover {
  border-color: #6f9eca !important;
  background: linear-gradient(180deg, #f8fbff 0%, #dceeff 100%) !important;
  color: #0f3b66 !important;
}

.pm-reviewer-batch-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 22px;
  margin-right: 7px;
  border-radius: 6px;
  background: #17684d;
  color: #ffffff;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0 !important;
  line-height: 1;
}

.pm-reviewer-import-modal {
  width: min(1040px, 96vw) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  border: 1px solid #d6e4ee;
  background: #f5f8fb;
  box-shadow: 0 26px 80px rgba(19, 48, 86, .26);
}

.pm-reviewer-import-head {
  background:
    linear-gradient(135deg, rgba(15, 52, 120, .09), rgba(23, 104, 77, .08)),
    #ffffff;
}

.pm-reviewer-import-body {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 16px;
  padding: 18px 22px 22px;
}

.pm-reviewer-import-steps {
  display: grid;
  align-content: start;
  gap: 12px;
}

.pm-reviewer-import-step {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid #dce8f0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(35, 68, 102, .06);
}

.pm-reviewer-import-step b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #e8f3ef;
  color: #17684d;
  font-size: 15px;
  font-weight: 950;
}

.pm-reviewer-import-step strong {
  display: block;
  color: #183454;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.4;
}

.pm-reviewer-import-step span {
  display: block;
  margin-top: 4px;
  color: #607489;
  font-size: 12px;
  line-height: 1.55;
}

.pm-reviewer-import-panel,
.pm-reviewer-import-result-slot {
  min-width: 0;
  border: 1px solid #dce8f0;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(35, 68, 102, .06);
}

.pm-reviewer-import-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.pm-reviewer-import-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #edf3f7;
}

.pm-reviewer-import-panel-head h3 {
  margin: 0;
  color: #183454;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: 0 !important;
}

.pm-reviewer-import-panel-head p {
  margin: 5px 0 0;
  color: #607489;
  font-size: 12px;
  line-height: 1.55;
}

.pm-reviewer-import-upload {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
}

.pm-reviewer-import-drop {
  min-width: 0;
  min-height: 108px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 4px;
  align-content: center;
  padding: 18px;
  border: 1px dashed #a9c4df;
  border-radius: 10px;
  background: linear-gradient(180deg, #f9fcff 0%, #f3f8fc 100%);
  color: #183454;
  cursor: pointer;
  text-align: left;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.pm-reviewer-import-drop:hover {
  border-color: #5e92c2;
  background: #f1f8ff;
  transform: translateY(-1px);
}

.pm-reviewer-import-filemark {
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 12px;
  background: linear-gradient(135deg, #17684d 0%, #1f7b8d 100%);
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}

.pm-reviewer-import-drop strong {
  min-width: 0;
  color: #183454;
  font-size: 14px;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.pm-reviewer-import-drop small {
  min-width: 0;
  color: #607489;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-reviewer-import-upload > .btn {
  min-width: 110px;
  align-self: stretch;
}

.pm-reviewer-import-result-slot {
  grid-column: 2;
  min-height: 180px;
  padding: 16px;
}

.pm-reviewer-import-placeholder,
.pm-reviewer-import-loading {
  min-height: 148px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: #607489;
  text-align: center;
}

.pm-reviewer-import-placeholder strong,
.pm-reviewer-import-loading strong {
  color: #183454;
  font-size: 15px;
  font-weight: 950;
}

.pm-reviewer-import-placeholder span,
.pm-reviewer-import-loading small {
  color: #607489;
  font-size: 12px;
  line-height: 1.6;
}

.pm-reviewer-import-loading span {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 3px solid #d9e8f4;
  border-top-color: #17684d;
  animation: pmReviewerImportSpin .9s linear infinite;
}

@keyframes pmReviewerImportSpin {
  to { transform: rotate(360deg); }
}

.pm-reviewer-import-result {
  display: grid;
  gap: 14px;
}

.pm-reviewer-import-result-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.pm-reviewer-import-stat {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid #dce8f0;
  border-radius: 10px;
  background: #f8fbfd;
}

.pm-reviewer-import-stat span {
  color: #607489;
  font-size: 12px;
  font-weight: 850;
}

.pm-reviewer-import-stat strong {
  color: #183454;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.1;
}

.pm-reviewer-import-stat-ok {
  border-color: #bfe1d4;
  background: #f1faf6;
}

.pm-reviewer-import-stat-ok strong { color: #17684d; }

.pm-reviewer-import-stat-warn {
  border-color: #f3d9a8;
  background: #fff8ed;
}

.pm-reviewer-import-stat-warn strong { color: #a56112; }

.pm-reviewer-import-stat-error {
  border-color: #efc7c2;
  background: #fff5f4;
}

.pm-reviewer-import-stat-error strong { color: #a33a3a; }

.pm-reviewer-import-table-wrap {
  max-height: min(40vh, 420px);
  overflow: auto;
  border: 1px solid #dce8ef;
  border-radius: 10px;
  background: #ffffff;
}

.pm-reviewer-import-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  font-size: 12px;
}

.pm-reviewer-import-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px;
  background: #eef6f8;
  color: #183454;
  text-align: left;
  font-weight: 950;
}

.pm-reviewer-import-table td {
  padding: 10px;
  border-top: 1px solid #edf2f6;
  color: #31465a;
  vertical-align: top;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-reviewer-import-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.pm-reviewer-import-status-inserted {
  background: #e8f5ee;
  color: #17684d;
}

.pm-reviewer-import-status-duplicate {
  background: #fff2db;
  color: #9a5b0a;
}

.pm-reviewer-import-status-invalid {
  background: #fee7e4;
  color: #9f2f2f;
}

.pm-reviewer-import-more {
  color: #607489;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 920px) {
  .pm-reviewer-library-toolbar {
    grid-template-columns: 1fr !important;
  }

  .pm-reviewer-import-body {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }

  .pm-reviewer-import-result-slot {
    grid-column: 1 !important;
  }

  .pm-reviewer-import-upload,
  .pm-reviewer-import-panel-head {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .pm-reviewer-import-result-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.pm-reviewer-library-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 20px 20px;
}

.pm-reviewer-library-count {
  margin-bottom: 10px;
  color: #52687e;
  font-size: 13px;
  font-weight: 850;
}

.pm-reviewer-table-wrap {
  max-height: min(62vh, 620px);
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #dce8ef;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(23, 52, 83, .07);
}

.pm-reviewer-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 13px;
}

.pm-reviewer-col-action { width: 8%; }
.pm-reviewer-col-name { width: 12%; }
.pm-reviewer-col-institution { width: 22%; }
.pm-reviewer-col-title { width: 10%; }
.pm-reviewer-col-specialty { width: 31%; }
.pm-reviewer-col-email { width: 17%; }

.pm-reviewer-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 12px 12px;
  background: #eef6f8;
  color: #183454;
  text-align: left;
  font-weight: 900;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-overflow: clip;
}

.pm-reviewer-table td {
  padding: 12px 12px;
  border-top: 1px solid #edf2f6;
  color: #31465a;
  vertical-align: top;
  line-height: 1.6;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-overflow: clip;
}

.pm-reviewer-table tbody tr:hover {
  background: #f8fbfd;
}

.pm-reviewer-table-name {
  display: block;
  color: #142033;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-reviewer-table-muted {
  color: #718296;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.pm-reviewer-table-specialty {
  min-width: 0;
  max-width: none;
}

.pm-reviewer-actions-cell {
  text-align: left;
}

.pm-reviewer-edit-btn {
  min-height: 38px;
  width: 100%;
  max-width: 84px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(23, 104, 77, .24);
  border-radius: 8px;
  background: #eef7f4;
  color: #17684d;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.pm-reviewer-edit-btn:hover {
  background: #17684d;
  border-color: #17684d;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(23, 104, 77, .18);
  transform: translateY(-1px);
}

.pm-reviewer-edit-btn:focus-visible {
  outline: 3px solid rgba(23, 104, 77, .22);
  outline-offset: 2px;
}

@media (max-width: 1360px) {
  .pm-library-view-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pm-library-filter-bar {
    grid-template-columns: minmax(0, 1fr) minmax(150px, 180px) minmax(150px, 180px);
  }

  .pm-library-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .pm-library-advanced-row {
    grid-template-columns: minmax(150px, 1fr) minmax(130px, 160px) minmax(220px, 1.3fr);
  }

  .pm-library-advanced-remove {
    grid-column: 1 / -1;
    justify-self: end;
  }

  .pm-review-workbench,
  .pm-review-content-grid,
  .pm-blind-layout,
  .pm-blind-final-grid {
    grid-template-columns: 1fr;
  }

  .pm-review-queue-panel {
    position: static;
  }

  .pm-review-queue-list {
    max-height: 360px;
  }

  .pm-review-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-em-pending-card {
    grid-template-columns: 1fr;
  }

  .pm-em-pending-status,
  .pm-em-pending-actions {
    justify-items: start;
    justify-content: flex-start;
  }

  .pm-library-table .pm-title-cell {
    width: 30% !important;
    max-width: 30% !important;
  }

  .pm-library-table .pm-status-cell {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }

  .pm-library-table .pm-status-sub {
    max-width: 128px;
  }
}

@media (min-width: 1361px) and (max-width: 1540px) {
  .pm-review-workbench {
    grid-template-columns: minmax(248px, 300px) minmax(0, 1fr);
  }

  .pm-review-content-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .pm-review-meta-grid,
  .pm-reviewer-form-grid,
  .pm-reviewer-library-toolbar,
  .pm-reviewer-card,
  .pm-review-request-item,
  .pm-review-request-complete,
  .pm-blind-stepper,
  .pm-blind-scan-panel,
  .pm-blind-final-grid,
  .pm-blind-candidate {
    grid-template-columns: 1fr;
  }

  .pm-reviewer-actions,
  .pm-review-section-actions,
  .pm-review-request-actions,
  .pm-blind-head-actions,
  .pm-blind-hero,
  .pm-blind-panel-head,
  .pm-blind-confirm-bar,
  .pm-reviewer-form-actions {
    align-items: stretch;
    justify-content: flex-start;
  }

  .pm-blind-hero,
  .pm-blind-panel-head,
  .pm-blind-confirm-bar {
    flex-direction: column;
  }

  .pm-review-section-actions,
  .pm-review-request-actions,
  .pm-blind-head-actions,
  .pm-blind-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pm-review-section-actions .btn,
  .pm-review-request-actions .btn,
  .pm-review-request-complete .btn,
  .pm-blind-head-actions .btn,
  .pm-blind-confirm-bar .btn,
  .pm-blind-hero-actions .btn {
    width: 100%;
  }

  .pm-reviewer-form-head,
  .pm-reviewer-library-head {
    padding: 18px;
  }

  .pm-reviewer-form-body {
    padding: 16px 18px 18px;
  }

  .pm-reviewer-form-section-title {
    display: grid;
    gap: 4px;
  }

  .pm-reviewer-form-section-title small {
    text-align: left;
  }

  .pm-reviewer-form-actions {
    flex-direction: column-reverse;
    padding: 14px 18px 18px;
    box-shadow: none;
  }

  .pm-reviewer-form-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .pm-reviewer-library-toolbar {
    padding: 14px 18px 10px;
  }

  .pm-reviewer-library-body {
    padding: 0 18px 18px;
  }
}

@media (max-width: 900px) {
.pm-reviewer-table-wrap {
    max-height: 64vh;
  }

  .pm-reviewer-table,
  .pm-reviewer-table colgroup,
  .pm-reviewer-table thead,
  .pm-reviewer-table tbody,
  .pm-reviewer-table tr,
  .pm-reviewer-table td {
    display: block;
    width: 100%;
  }

  .pm-reviewer-table thead,
  .pm-reviewer-table colgroup {
    display: none;
  }

  .pm-reviewer-table tr {
    padding: 12px;
    border-top: 1px solid #edf2f6;
  }

  .pm-reviewer-table tr:first-child {
    border-top: 0;
  }

  .pm-reviewer-table td {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    border-top: 0;
  }

  .pm-reviewer-table td::before {
    content: attr(data-label);
    color: #73869a;
    font-size: 12px;
    font-weight: 900;
  }

  .pm-reviewer-actions-cell {
    display: flex !important;
    padding-bottom: 10px !important;
  }

  .pm-reviewer-actions-cell::before {
    content: none !important;
  }

  .pm-reviewer-edit-btn {
    width: auto;
    max-width: none;
  }
}

.pm-email-modal-content {
  width: min(1260px, 96vw) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, .92) !important;
  box-shadow:
    0 28px 76px rgba(255, 255, 255, .78),
    inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

.pm-email-modal-head {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 24px 18px;
  background: #ffffff;
  border-bottom: 1px solid #dce6f2;
}

.pm-email-eyebrow {
  color: #1d5fb4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pm-email-subtitle {
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.pm-email-close {
  flex-shrink: 0;
}

.pm-email-head-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.pm-email-head-actions .btn {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 8px;
}

.pm-email-body {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(360px, 440px) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
}

.pm-email-editor-panel {
  min-width: 0;
  overflow-y: auto;
  padding: 18px 20px 20px;
  border-right: 1px solid #dce6f2;
  background: #ffffff;
}

.pm-email-preview-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.pm-email-manuscript-card {
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid #d6e3f2;
  border-radius: 8px;
  background: #ffffff;
  box-shadow:
    0 12px 30px rgba(255, 255, 255, .86),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

.pm-email-card-label {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-email-card-title {
  margin-top: 6px;
  color: #172033;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-email-card-title::first-line {
  font-weight: 950;
}

.pm-email-card-meta {
  margin-top: 8px;
  color: #52708f;
  font-size: 12px;
  font-weight: 750;
}

.pm-email-field .form-input {
  font-weight: 650;
}

#pmEmailSubject,
#pmEmailToName,
#pmEmailDueDate {
  font-weight: 850;
}

.pm-email-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-email-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pm-email-field > .form-label {
  color: #28425e;
  font-size: 12px;
  font-weight: 900;
}

.pm-email-field:has(#pmEmailDueDate) {
  padding: 10px 11px;
  border: 1px solid #efd7a8;
  border-radius: 8px;
  background: #fffaf0;
}

.pm-email-field:has(#pmEmailDueDate) > .form-label {
  color: #9a5a0a;
}

.pm-email-field-wide,
.pm-email-link-box {
  grid-column: 1 / -1;
}

.pm-email-field small {
  color: #6b7d91;
  font-size: 12px;
  line-height: 1.5;
}

.pm-email-cc-field {
  padding: 12px;
  border: 1px solid #d7e5f0;
  border-radius: 8px;
  background: #f8fbfd;
}

.pm-email-cc-select {
  min-height: 92px;
  padding: 8px;
}

.pm-email-cc-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.pm-email-cc-add-row .btn {
  min-height: 38px;
  padding: 0 12px;
  white-space: nowrap;
}

.pm-email-textarea {
  resize: vertical;
  min-height: 230px;
  line-height: 1.7;
}

.pm-email-link-box {
  display: grid;
  gap: 6px;
  padding: 11px 12px;
  border: 1px solid #cfe0f5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow:
    0 8px 22px rgba(255, 255, 255, .72),
    inset 0 1px 0 rgba(255, 255, 255, .95);
}

.pm-email-link-box span {
  color: #526a86;
  font-size: 12px;
  font-weight: 900;
}

.pm-email-link-box a {
  color: #123da9;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  text-decoration: underline;
}

.pm-email-attachment-panel {
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #b9dfd6;
  border-radius: 8px;
  background: #f4fbf8;
}

.pm-email-attachment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.pm-email-attachment-head span {
  color: #17684d;
  font-size: 12px;
  font-weight: 900;
}

.pm-email-attachment-head strong {
  color: #466173;
  font-size: 12px;
  font-weight: 850;
}

.pm-email-attachment-list {
  display: grid;
  gap: 8px;
}

.pm-email-attachment-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid #d7eee8;
  border-radius: 8px;
  background: #ffffff;
}

.pm-email-attachment-item div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pm-email-attachment-item span {
  color: #17684d;
  font-size: 11px;
  font-weight: 900;
}

.pm-email-attachment-item strong {
  min-width: 0;
  color: #17324d;
  font-size: 13px;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-email-attachment-item em {
  color: #6b7d91;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.pm-email-attachment-item button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #b9d6ee;
  border-radius: 8px;
  background: #ffffff;
  color: #0f4f8f;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.pm-email-attachment-item button:hover {
  border-color: #0f4f8f;
  background: #edf6ff;
}

.pm-email-attachment-actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.pm-email-attachment-actions .pm-email-attachment-remove,
.pm-polishing-file-actions .pm-email-attachment-remove {
  border-color: #f0b8b8;
  color: #b42318;
}

.pm-email-attachment-actions .pm-email-attachment-remove:hover,
.pm-polishing-file-actions .pm-email-attachment-remove:hover {
  border-color: #d92d20;
  background: #fff1f1;
}

.pm-email-attachment-actions .pm-email-attachment-auto {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #badfd7;
  border-radius: 999px;
  background: #f0fbf8;
  color: #0d5c63;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.pm-email-attachment-empty {
  padding: 11px 12px;
  border: 1px dashed #c8d7e8;
  border-radius: 8px;
  background: #fbfdff;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

.pm-email-attachment-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #d8eee8;
}

.pm-email-attachment-toolbar .btn {
  min-height: 34px;
  padding: 0 12px;
  font-size: 12px;
}

.pm-email-attachment-toolbar span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.pm-email-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.pm-email-actions .btn {
  min-height: 42px;
}

.pm-email-actions .btn:disabled {
  opacity: .58;
  cursor: not-allowed;
}

.pm-email-status {
  min-height: 22px;
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 750;
  color: #64748b;
}

.pm-email-status-success {
  color: #17684d;
}

.pm-email-status-warning {
  color: #9a5a0a;
}

.pm-email-status-error {
  color: #bc2626;
}

.pm-email-preview-head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  color: #ffffff;
  background: #0f3478;
}

.pm-email-preview-title {
  font-size: 14px;
  font-weight: 900;
}

.pm-email-preview-subtitle {
  margin-top: 3px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
}

.pm-email-preview-frame {
  flex: 1;
  width: 100%;
  min-height: 560px;
  border: 0;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .95);
}

@media (max-width: 1320px) {
  .pm-author-revision-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pm-chief-work-summary {
    grid-template-columns: minmax(250px, .9fr) minmax(360px, 1.2fr);
  }

  .pm-chief-work-author-block {
    grid-column: 1 / -1;
  }

  .pm-chief-work-card .pm-chief-review-modules {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .pm-email-modal-content {
    overflow: auto !important;
  }

  .pm-email-body {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .pm-email-editor-panel {
    border-right: 0;
    border-bottom: 1px solid #dce6f2;
    overflow: visible;
  }

  .pm-email-preview-frame {
    height: 560px;
    min-height: 520px;
  }

  .pm-email-form-grid {
    grid-template-columns: 1fr;
  }

  .pm-email-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .pm-author-revision-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-author-revision-card {
    grid-template-columns: 1fr;
  }

  .pm-author-revision-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pm-email-modal-head {
    flex-direction: column;
    align-items: stretch;
  }

  .pm-email-head-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .pm-library-table {
    font-size: 12px;
  }

  .pm-page .pm-library-table th,
  .pm-page .pm-library-table td {
    padding: 8px 6px !important;
  }

  .pm-detail-grid {
    grid-template-columns: 1fr;
  }

  .pm-title-info-head {
    display: grid;
  }

  .pm-detail-header {
    align-items: flex-start;
    gap: 12px;
  }

  .pm-detail-header-side {
    width: 100%;
    justify-content: space-between;
    gap: 10px;
  }

  .pm-detail-header-actions {
    flex-wrap: wrap;
    border-radius: 12px;
  }

  .pm-title-info-grid {
    grid-template-columns: 1fr;
  }

  .pm-title-info-grid > div {
    border-right: 0;
    border-top: 1px solid #eef3f8;
  }

  .pm-title-info-edit-grid label {
    border-right: 0;
    border-top: 1px solid #eef3f8;
  }

  .pm-detail-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-detail-footer .pm-row-actions {
    justify-content: flex-start;
  }

  .pm-progress-summary-head {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-progress-entry-item {
    grid-template-columns: 22px 28px minmax(0, 1fr);
  }

  .pm-progress-delete-btn {
    grid-column: 3;
    width: 100%;
  }

  .pm-progress-manual-actions {
    justify-content: stretch;
  }

  .pm-progress-manual-actions .btn,
  .pm-progress-summary-head .btn {
    width: 100%;
  }

  .pm-library-view-tabs {
    grid-template-columns: 1fr;
  }

  .pm-library-filter-bar {
    grid-template-columns: 1fr;
  }

  .pm-library-filter-actions {
    justify-content: stretch;
    flex-wrap: wrap;
  }

  .pm-library-filter-actions .btn {
    flex: 1 1 120px;
  }

  .pm-library-search-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-library-search-summary small {
    text-align: left;
  }

  .pm-library-advanced-modal {
    width: calc(100vw - 22px);
    max-height: calc(100vh - 22px);
  }

  .pm-library-advanced-meta,
  .pm-library-advanced-row {
    grid-template-columns: 1fr;
  }

  .pm-library-advanced-remove {
    justify-self: stretch;
  }

  .pm-library-advanced-footer {
    flex-wrap: wrap;
  }

  .pm-library-advanced-footer .btn {
    flex: 1 1 140px;
    justify-content: center;
  }

  .pm-workflow-subtabs,
  .pm-author-revision-metrics,
  .pm-review-tracking-metrics {
    grid-template-columns: 1fr;
  }

  .pm-author-revision-actions {
    grid-template-columns: 1fr;
  }

  .pm-author-revision-file-pill {
    width: 100%;
    justify-content: space-between;
  }

  .pm-overview-hero {
    flex-direction: column;
  }

  .pm-overview-hero-metrics,
  .pm-overview-metric-grid,
  .pm-overview-analysis-grid,
  .pm-overview-modal-summary {
    grid-template-columns: 1fr;
    min-width: 0;
    width: 100%;
  }

  .pm-overview-ms-card {
    grid-template-columns: 1fr;
  }

  .pm-overview-ms-detail {
    width: 100%;
  }

  .pm-review-tracking-hero {
    flex-direction: column;
  }

  .pm-chief-work-card {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 13px;
  }

  .pm-chief-work-view {
    justify-content: flex-start;
  }

  .pm-chief-work-summary {
    grid-template-columns: 1fr;
  }

  .pm-chief-work-author-block {
    grid-column: auto;
  }

  .pm-chief-work-actions {
    justify-content: stretch;
  }

  .pm-chief-work-actions .pm-rt-action-stack {
    width: 100%;
  }

  .pm-review-tracking-table,
  .pm-review-tracking-table colgroup,
  .pm-review-tracking-table thead,
  .pm-review-tracking-table tbody,
  .pm-review-tracking-table tr,
  .pm-review-tracking-table td {
    display: block;
    width: 100%;
  }

  .pm-review-tracking-table thead,
  .pm-review-tracking-table colgroup {
    display: none;
  }

  .pm-review-tracking-table tr {
    padding: 10px 12px;
    border-bottom: 1px solid #e8eef6;
  }

  .pm-review-tracking-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 0;
    border-bottom: 0;
  }

  .pm-review-tracking-table td::before {
    content: attr(data-label);
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
  }

  .pm-rt-actions {
    width: 100%;
    min-width: 0;
  }

  .pm-published-issue-head {
    padding: 14px 14px 8px;
    flex-direction: column;
  }

  .pm-issue-year-groups {
    padding: 14px;
    gap: 16px;
  }

  .pm-issue-year-head,
  .pm-issue-year-head > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-issue-card-grid {
    grid-template-columns: 1fr;
  }

  .pm-issue-card-meta {
    grid-template-columns: 1fr;
  }

  .pm-issue-modal-wrap {
    padding: 10px;
  }

  .pm-issue-modal-hero {
    grid-template-columns: 1fr;
    padding: 20px 48px 18px 18px;
  }

  .pm-issue-modal-metrics {
    grid-template-columns: 1fr;
  }

  .pm-issue-complete-btn {
    justify-self: stretch;
    margin: 0 16px 16px;
  }

  .pm-issue-modal-actions {
    align-items: stretch;
    flex-direction: column-reverse;
    margin: 0 16px 16px;
  }

  .pm-issue-modal-actions .pm-issue-complete-btn {
    margin: 0;
    width: 100%;
  }

  .pm-issue-summary-card,
  .pm-issue-modal-status {
    min-width: 0;
  }

  .pm-issue-toc-wrap {
    padding: 10px;
  }

  .pm-issue-toc-table {
    font-size: 12px;
  }

  .pm-issue-toc-table th,
  .pm-issue-toc-table td {
    padding: 8px 5px !important;
  }

  .pm-file-row {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .pm-file-upload {
    grid-template-columns: 1fr;
  }

  .pm-file-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .pm-file-action-btn {
    min-width: 72px;
  }

  .pm-rejected-modal-wrap {
    padding: 10px;
  }

  .pm-rejected-modal-body {
    padding: 14px;
  }

  .pm-rejected-list-head,
  .pm-rejected-head,
  .pm-rejected-modal-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-rejected-modal-footer .btn {
    width: 100%;
  }

  .pm-rejected-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-rejected-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-word-upload-row,
  .pm-excel-import-row,
  .pm-manual-register-grid,
  .pm-word-review-grid,
  .pm-duplicate-item {
    grid-template-columns: 1fr;
  }

  .pm-word-log-item {
    grid-template-columns: 12px 54px minmax(0, 1fr);
    gap: 7px;
  }

  .pm-word-log-status {
    display: none;
  }

  .pm-word-recognize-btn,
  .pm-excel-import-btn {
    min-height: 48px;
    width: 100%;
  }

  .pm-register-action-btn {
    min-width: 0;
    flex: 1 1 150px;
  }

  .pm-word-register-head,
  .pm-excel-import-head,
  .pm-manual-register-head,
  .pm-word-review-footer,
  .pm-manual-modal-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-word-review-modal-wrap,
  .pm-excel-modal-wrap,
  .pm-manual-modal-wrap {
    padding: 10px;
  }

  .pm-word-review-body,
  .pm-manual-register-form {
    padding: 14px;
  }

  .pm-word-review-footer .btn,
  .pm-manual-modal-footer .btn {
    width: 100%;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .pm-library-view-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pm-library-view-tab {
    min-height: 68px;
  }

  .pm-library-view-tab {
    padding: 10px 11px;
  }

  .pm-library-view-tab span {
    font-size: 14px;
  }

  .pm-library-view-tab small {
    font-size: 11px;
  }
}

/* =====================================================
   Final fit pass: keep PRMEDI workflow pages inside viewport
   ===================================================== */
#mainPage,
#mainPage .main-content,
#mainPage #tabContent {
  width: 100%;
  max-width: 100vw;
  min-width: 0;
  overflow-x: hidden;
}

#mainPage .pm-page,
#mainPage .pm-page-header,
#mainPage .pm-page-header > div,
#mainPage .pm-page-actions,
#mainPage .pm-card,
#mainPage .pm-review-workbench,
#mainPage .pm-review-detail-panel,
#mainPage .pm-review-content-grid,
#mainPage .pm-review-section,
#mainPage .pm-review-paper-panel {
  max-width: 100%;
  min-width: 0;
}

#mainPage .pm-page-header {
  flex-wrap: wrap;
}

#mainPage .pm-page-header > div:first-child {
  flex: 1 1 280px;
}

#mainPage .pm-page-actions {
  flex: 0 1 auto;
}

#mainPage .pm-page-actions .btn {
  min-width: 0;
  white-space: normal;
  line-height: 1.25;
}

#mainPage .pm-page .table-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

#mainPage .pm-page .table-wrapper table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

#mainPage .pm-page .table-wrapper th,
#mainPage .pm-page .table-wrapper td {
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1280px) {
  .tab-nav-content {
    padding-inline: 6px;
    gap: 3px;
  }

  .tab-btn {
    min-height: 40px;
    padding-inline: 3px;
    font-size: 10px;
  }

  .tab-workflow-count {
    min-width: 17px;
    height: 17px;
    padding-inline: 4px;
    font-size: 9px;
  }

  #mainPage .pm-page {
    padding: 18px !important;
  }
}

/* =====================================================
   Top workflow navigation: text tabs
   ===================================================== */
#mainPage .tab-nav {
  top: 64px;
  padding: 0;
  border-bottom: 1px solid #e4eaf1;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 6px 16px rgba(16, 37, 68, .045);
  contain: paint;
  overflow: hidden;
}

#mainPage .tab-nav-content {
  width: 100%;
  max-width: 2040px;
  margin: 0 auto;
  padding: 0 clamp(12px, 1.1vw, 22px);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(6px, .7vw, 18px);
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
}

#mainPage .tab-nav-content::-webkit-scrollbar {
  display: none;
}

#mainPage .tab-btn {
  flex: 1 0 auto;
  width: auto;
  min-width: max-content;
  max-width: none;
  min-height: 52px;
  padding: 0 clamp(4px, .25vw, 8px);
  border: 0;
  border-radius: 10px 10px 0 0;
  background: transparent;
  color: #5f6d7f;
  font-size: clamp(13px, .72vw, 15px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  box-shadow: none;
  position: relative;
  transition: color .14s ease, background-color .14s ease;
}

#mainPage .tab-btn::before {
  content: none !important;
  display: none !important;
}

#mainPage .tab-label {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  line-height: 1;
}

#mainPage .tab-workflow-count {
  flex: 0 0 auto;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #edf5f3;
  color: #15756c;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(18, 112, 100, .12);
}

#mainPage .tab-btn:hover {
  border-color: transparent;
  background: #f8fbfd;
  color: #17315f;
  transform: none;
  box-shadow: none;
}

#mainPage .tab-btn.active {
  min-height: 52px;
  border-color: transparent;
  background: #fff1f5;
  color: #9f1239;
  box-shadow: none;
}

#mainPage .tab-btn.active::after {
  content: '';
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  display: block;
  height: 4px;
  border-radius: 4px 4px 0 0;
  background: #9f1239;
}

#mainPage .tab-btn.active .tab-workflow-count {
  background: #ffffff;
  color: #9f1239;
  box-shadow: inset 0 0 0 1px rgba(159, 18, 57, .12);
}

#mainPage .tab-btn-action {
  border-color: transparent;
  background: transparent;
  color: #5f6d7f;
}

#mainPage .tab-btn-action::before {
  display: none;
}

@media (max-width: 1580px) {
  #mainPage .tab-nav-content {
    justify-content: flex-start;
    gap: 8px;
    padding-inline: 8px;
  }

  #mainPage .tab-btn {
    min-height: 50px;
    padding-inline: 4px;
    font-size: 12.5px;
  }

  #mainPage .tab-btn.active {
    min-height: 50px;
  }

  #mainPage .tab-workflow-count {
    min-width: 22px;
    height: 22px;
    font-size: 11px;
  }
}

@media (max-width: 1180px) {
  #mainPage .tab-nav {
    top: 0;
  }

  #mainPage .tab-nav-content {
    padding-inline: 10px;
  }
}

/* =====================================================
   Manuscript registration standalone page
   ===================================================== */
.pm-registration-page {
  display: grid;
  gap: 18px;
  width: 100%;
  max-width: none;
}

.pm-registration-page .pm-word-register-card,
.pm-registration-utility-panel {
  border: 1px solid #dbe7f1;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 16px 42px rgba(16, 37, 68, .065);
}

.pm-registration-page .pm-word-register-card {
  padding: clamp(20px, 2vw, 30px);
}

.pm-registration-page .pm-word-register-head {
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid #e3edf6;
}

.pm-registration-page .pm-section-title {
  font-size: clamp(20px, 1.4vw, 24px);
}

.pm-registration-page .pm-section-subtitle {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.7;
}

.pm-registration-page .pm-word-upload-row {
  grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
  gap: 18px;
  margin-top: 20px;
}

.pm-registration-page .pm-word-upload-zone {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  min-height: 118px;
  padding: 22px 24px;
  border-radius: 12px;
}

.pm-registration-page .pm-word-upload-icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
}

.pm-registration-page .pm-word-upload-main strong {
  font-size: 18px;
}

.pm-registration-page .pm-word-upload-main small {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.6;
}

.pm-registration-page .pm-word-recognize-btn {
  min-height: 118px;
  border-radius: 14px !important;
}

.pm-registration-page .pm-word-recognize-shell {
  gap: 10px;
  padding: 16px 14px;
}

.pm-registration-page .pm-word-recognize-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
}

.pm-registration-page .pm-word-recognize-icon svg {
  width: 21px;
  height: 21px;
}

.pm-registration-page .pm-word-recognize-copy strong {
  font-size: 16px;
}

.pm-registration-page .pm-word-recognize-copy small {
  font-size: 12.5px;
  line-height: 1.4;
}

.pm-registration-utility-panel {
  padding: 20px;
}

.pm-registration-utility-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e4edf6;
}

.pm-registration-utility-head h3 {
  margin: 0;
  color: #0b2140;
  font-size: 18px;
  font-weight: 950;
}

.pm-registration-utility-head p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
}

.pm-registration-page .pm-register-utility-actions {
  margin-top: 16px;
}

.pm-registration-page .pm-register-action-btn {
  min-height: 72px;
  padding: 16px 18px;
  border-radius: 12px;
}

.pm-registration-page .pm-register-action-btn span {
  font-size: 12px;
}

.pm-registration-page .pm-register-action-btn strong {
  margin-top: 4px;
  font-size: 16px;
}

@media (max-width: 980px) {
  .pm-registration-page .pm-word-upload-row {
    grid-template-columns: 1fr;
  }

  .pm-registration-page .pm-word-recognize-btn {
    min-height: 74px;
  }
}

/* Review workflow refinements */
.pm-review-source-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(184px, 230px));
  align-items: stretch;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 18px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.pm-review-source-filter button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 68px;
  padding: 14px 50px 14px 18px;
  overflow: hidden;
  border: 1px solid #d9e6ee;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(247, 251, 253, .96) 100%);
  color: #2f4862;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
  box-shadow: 0 10px 24px rgba(25, 45, 68, .07);
}

.pm-review-source-filter button::before {
  content: '';
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: linear-gradient(135deg, #18a999, #7dd3c7);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .52), 0 8px 16px rgba(24, 169, 153, .18);
}

.pm-review-source-filter button:nth-child(2)::before {
  background: linear-gradient(135deg, #3a7bd5, #84b8ff);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .52), 0 8px 16px rgba(58, 123, 213, .18);
}

.pm-review-source-filter button span {
  position: relative;
  z-index: 1;
  white-space: nowrap;
}

.pm-review-source-filter button:hover,
.pm-review-source-filter button.active {
  border-color: #80cfc6;
  background: linear-gradient(180deg, #f5fffc 0%, #ecfbf7 100%);
  color: #0c6d64;
  box-shadow: 0 16px 30px rgba(15, 118, 110, .16);
  transform: translateY(-1px);
}

.pm-review-source-filter button:nth-child(2):hover,
.pm-review-source-filter button:nth-child(2).active {
  border-color: #a9c7f3;
  background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
  color: #1d4d8f;
  box-shadow: 0 16px 30px rgba(58, 123, 213, .14);
}

.pm-review-source-filter button strong {
  position: absolute;
  top: 12px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ffffff;
  color: inherit;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(15, 118, 110, .1), 0 6px 14px rgba(17, 39, 63, .08);
}

.pm-associate-context-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 980px);
  margin: 0 auto 14px;
}

.pm-associate-context-filter button {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 78px;
  padding: 14px 54px 14px 16px;
  border: 1px solid #dbe7ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  color: #1f344d;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(23, 44, 69, .07);
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.pm-associate-context-filter button::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 14px 0 0 14px;
  background: #b8c9d8;
}

.pm-associate-context-filter button:nth-child(1)::before {
  background: #0f766e;
}

.pm-associate-context-filter button:nth-child(2)::before {
  background: #2563eb;
}

.pm-associate-context-filter button:nth-child(3)::before {
  background: #7c3aed;
}

.pm-associate-context-filter button span {
  min-width: 0;
  color: #12243a;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.28;
}

.pm-associate-context-filter button em {
  color: #66788d;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
}

.pm-associate-context-filter button strong {
  position: absolute;
  top: 13px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 7px;
  border-radius: 999px;
  background: #ffffff;
  color: #1e4f86;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(30, 79, 134, .12), 0 6px 14px rgba(17, 39, 63, .08);
}

.pm-associate-context-notice-dot,
.pm-tab-notice-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #dc2626;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .14), 0 0 12px rgba(220, 38, 38, .65);
  animation: pm-chief-notice-pulse 1.15s ease-in-out infinite;
}

.pm-associate-context-notice-dot {
  position: absolute;
  top: 11px;
  right: 52px;
}

.pm-tab-notice-dot {
  margin-left: 6px;
  vertical-align: middle;
}

@keyframes pm-chief-notice-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.45); opacity: .58; }
}

.pm-associate-chief-opinion-wrap {
  margin: 16px 0 2px;
  padding-top: 14px;
  border-top: 1px solid #e6edf5;
}

.pm-rt-associate-chief-inline {
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px dashed #ded7eb;
}

.pm-rt-associate-chief-inline .pm-associate-chief-opinion-card {
  min-height: 68px;
}

.pm-associate-chief-opinion-pending {
  padding: 10px 12px;
  border: 1px dashed #c4b5fd;
  border-radius: 10px;
  background: #faf7ff;
  color: #7c3aed;
  font-size: 12px;
  font-weight: 800;
}

.pm-associate-chief-opinion-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #d8c9f5;
  border-radius: 12px;
  background: linear-gradient(135deg, #fbf8ff 0%, #f4edff 100%);
  color: #2e1b55;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(91, 33, 182, .08);
}

.pm-associate-chief-opinion-card:hover {
  border-color: #a78bfa;
  background: #f5efff;
  transform: translateY(-1px);
}

.pm-associate-chief-opinion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #7c3aed;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.pm-associate-chief-opinion-copy { display: grid; gap: 3px; min-width: 0; }
.pm-associate-chief-opinion-copy strong { color: #4c1d95; font-size: 14px; }
.pm-associate-chief-opinion-copy em { color: #6d28d9; font-size: 12px; font-style: normal; font-weight: 800; }
.pm-associate-chief-opinion-copy small { color: #7c6a99; font-size: 11px; }
.pm-associate-chief-opinion-view { color: #6d28d9; font-size: 12px; font-weight: 900; white-space: nowrap; }

.pm-chief-opinion-detail-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.pm-chief-opinion-detail-summary > div {
  display: grid;
  gap: 5px;
  padding: 11px 13px;
  border: 1px solid #e0d5f5;
  border-radius: 10px;
  background: #faf7ff;
}

.pm-chief-opinion-detail-summary span { color: #7c6a99; font-size: 11px; font-weight: 800; }
.pm-chief-opinion-detail-summary strong { color: #4c1d95; font-size: 13px; }

.pm-chief-instruction-notice-wrap {
  position: fixed;
  inset: 0;
  z-index: 3100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .38);
  backdrop-filter: blur(4px);
}

.pm-chief-instruction-notice {
  width: min(560px, calc(100vw - 40px));
  overflow: hidden;
  border: 1px solid #fecaca;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}

.pm-chief-instruction-notice-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid #fee2e2;
  background: #fff8f8;
}

.pm-chief-instruction-kicker { color: #b91c1c; font-size: 12px; font-weight: 900; }
.pm-chief-instruction-title { margin-top: 5px; color: #7f1d1d; font-size: 20px; font-weight: 950; }
.pm-chief-instruction-close { width: 36px; height: 36px; border: 1px solid #fecaca; border-radius: 10px; background: #fff; color: #991b1b; font-size: 22px; cursor: pointer; }
.pm-chief-instruction-body { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; padding: 22px; }
.pm-chief-instruction-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #dc2626; color: #fff; font-size: 18px; font-weight: 950; box-shadow: 0 8px 20px rgba(220, 38, 38, .24); }
.pm-chief-instruction-body strong { color: #1f2937; font-size: 15px; }
.pm-chief-instruction-body p { margin: 7px 0 3px; color: #374151; font-size: 14px; font-weight: 800; }
.pm-chief-instruction-body span { color: #6b7280; font-size: 13px; line-height: 1.55; }
.pm-chief-instruction-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px 20px; border-top: 1px solid #f3f4f6; }

@media (max-width: 640px) {
  .pm-chief-opinion-detail-summary { grid-template-columns: 1fr; }
  .pm-associate-chief-opinion-card { grid-template-columns: 34px minmax(0, 1fr); }
  .pm-associate-chief-opinion-view { grid-column: 2; justify-self: start; }
}

.pm-associate-context-filter button:hover,
.pm-associate-context-filter button.active {
  transform: translateY(-1px);
  border-color: #9bc9dc;
  background: linear-gradient(180deg, #f8fdff 0%, #eef8fb 100%);
  box-shadow: 0 16px 32px rgba(19, 78, 111, .13);
}

.pm-associate-context-filter button.active span {
  color: #0d5f66;
}

.pm-em-pending-panel {
  --pm-em-text: 14px;
  --pm-em-title: 16px;
  --pm-em-small: 14px;
  --pm-em-number: 22px;
  min-width: 0;
  max-width: 100%;
  padding: clamp(16px, 1.3vw, 22px);
  border: 1px solid #dce8ef;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(20, 42, 67, .07);
  color: #142033;
  font-size: var(--pm-em-text);
  line-height: 1.55;
}

.pm-em-pending-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5edf3;
}

.pm-em-pending-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.pm-em-pending-stats > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #e0eaf2;
  border-radius: 10px;
  background: #f8fbfd;
}

.pm-em-pending-stats strong,
.pm-em-pending-stats span {
  display: block;
  text-align: center;
}

.pm-em-pending-stats strong {
  color: #15315d;
  font-size: var(--pm-em-number);
  font-weight: 950;
  line-height: 1.15;
}

.pm-em-pending-stats span {
  margin-top: 4px;
  color: #63778d;
  font-size: var(--pm-em-small);
  font-weight: 850;
  line-height: 1.35;
}

.pm-em-pending-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.pm-em-pending-card {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(210px, .75fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #dfe9f1;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 10px 22px rgba(20, 42, 67, .045);
  font-size: var(--pm-em-text);
  line-height: 1.55;
}

.pm-em-pending-card-main,
.pm-em-pending-status,
.pm-em-pending-actions {
  min-width: 0;
}

.pm-em-pending-no {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

.pm-em-pending-no strong {
  color: #15315d;
  font-size: var(--pm-em-text);
  font-weight: 950;
  line-height: 1.35;
}

.pm-em-pending-no .pm-em-pending-em-no {
  order: 0;
  margin: 0;
  min-height: 24px;
  color: #075f73;
  font-size: var(--pm-em-text);
  font-weight: 950;
  line-height: 1.35;
  text-align: left;
  justify-content: flex-start;
  white-space: nowrap;
}

.pm-em-pending-no .pm-em-pending-pm-no {
  order: 1;
  color: #15315d;
  font-size: var(--pm-em-text);
  font-weight: 900;
}

.pm-em-pending-no span {
  color: #8a9aad;
  font-size: var(--pm-em-small);
  font-weight: 850;
}

.pm-em-pending-title {
  margin-top: 8px;
  color: #142033;
  font-size: var(--pm-em-title);
  font-weight: 900;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.pm-em-pending-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-top: 7px;
  color: #65778b;
  font-size: var(--pm-em-small);
  font-weight: 750;
  line-height: 1.45;
}

.pm-em-pending-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-em-pending-status {
  display: grid;
  gap: 8px;
  justify-items: start;
  font-size: var(--pm-em-text);
  line-height: 1.5;
}

.pm-em-pending-experts {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pm-em-pending-expert {
  width: 100%;
  min-width: 0;
  min-height: 74px;
  padding: 10px 12px;
  text-align: left;
  border: 1px solid #dce8f2;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.pm-em-pending-expert:hover {
  transform: translateY(-1px);
  border-color: #b9d8ee;
  box-shadow: 0 10px 20px rgba(20, 42, 67, .08);
}

.pm-em-pending-expert:focus-visible {
  outline: 3px solid rgba(21, 112, 239, .22);
  outline-offset: 2px;
}

.pm-em-pending-expert strong,
.pm-em-pending-expert span,
.pm-em-pending-expert em {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pm-em-pending-expert strong {
  color: #102b43;
  font-size: var(--pm-em-text);
  font-weight: 950;
  line-height: 1.3;
}

.pm-em-pending-expert span {
  margin-top: 4px;
  color: #61758c;
  font-size: var(--pm-em-small);
  font-weight: 750;
  line-height: 1.35;
}

.pm-em-pending-expert em {
  margin-top: 5px;
  color: #17684d;
  font-size: var(--pm-em-small);
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}

.pm-em-pending-expert.pm-rt-expert-complete {
  border-color: #bfe2d5;
  background: #f6fcf9;
}

.pm-em-pending-expert.pm-rt-expert-active {
  border-color: #b9d8ee;
  background: #f7fbff;
}

.pm-em-pending-expert.pm-rt-expert-warn {
  border-color: #f0d3a8;
  background: #fffaf2;
}

.pm-em-pending-expert.pm-rt-expert-warn em {
  color: #9a4b08;
}

.pm-em-pending-expert.pm-rt-expert-danger {
  border-color: #f2c3be;
  background: #fff7f6;
}

.pm-em-pending-expert.pm-rt-expert-danger em {
  color: #b42318;
}

.pm-em-pending-expert-empty {
  width: 100%;
  padding: 10px 12px;
  border: 1px dashed #d4e0ef;
  border-radius: 10px;
  color: #6b7f95;
  font-size: var(--pm-em-small);
  font-weight: 850;
  text-align: center;
  background: #fbfdff;
}

.pm-em-pending-status > span:not(.pm-review-em-status) {
  color: #526a83;
  font-size: var(--pm-em-small);
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pm-em-pending-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-em-pending-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 108px;
  min-height: 42px;
  padding: 0 15px;
  font-size: var(--pm-em-text);
  font-weight: 850;
  line-height: 1;
}

.pm-em-pending-panel .pm-review-section-title {
  font-size: var(--pm-em-title);
  line-height: 1.45;
}

.pm-em-pending-panel .pm-review-section-subtitle {
  font-size: var(--pm-em-small);
  line-height: 1.55;
}

.pm-em-pending-panel .pm-review-refresh-btn {
  min-height: 42px;
  font-size: var(--pm-em-text);
  font-weight: 850;
}

.pm-em-pending-panel .pm-review-em-status {
  gap: 8px;
  min-height: 28px;
  padding: 3px 10px;
  font-size: var(--pm-em-small);
  line-height: 1.35;
}

.pm-em-pending-panel .pm-review-em-status-summary {
  min-height: 28px;
  padding: 3px 10px;
  font-size: var(--pm-em-small);
}

.pm-em-pending-panel .pm-review-em-status strong,
.pm-em-pending-panel .pm-review-em-status em {
  font-size: var(--pm-em-small);
  line-height: 1.35;
}

.pm-review-request-complete {
  border-color: #d7e5ef;
  background: #fbfdff;
  box-shadow: none;
}

.pm-review-request-item {
  border-color: #e1ebf2;
  background: #fff;
  box-shadow: 0 8px 20px rgba(20, 42, 67, .045);
}

.pm-review-request-actions .btn,
.pm-review-request-complete .btn,
.pm-review-refresh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.pm-review-form-card {
  border-color: #dbe7ef;
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(20, 42, 67, .06);
}

.pm-review-form-card-head {
  background: #fbfdff;
}

.pm-review-form-summary > div,
.pm-review-rating-card,
.pm-review-form-comments > div {
  box-shadow: none;
  background: #fff;
}

.pm-review-form-summary {
  grid-template-columns: minmax(170px, .9fr) minmax(150px, .75fr) minmax(170px, .8fr);
}

.pm-review-choice-pill,
.pm-review-score-empty {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.pm-review-rating-options span {
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}

.pm-review-rating-options span.active {
  transform: translateY(-1px);
}

.pm-review-translation-pending {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 260px;
  padding: 48px 22px;
  border: 1px dashed #cfe0ec;
  border-radius: 14px;
  background: #fff;
  color: #38536f;
  text-align: center;
}

.pm-review-translation-pending strong {
  color: #102744;
  font-size: 18px;
  font-weight: 950;
}

.pm-review-translation-pending span {
  max-width: 520px;
  color: #63758a;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.6;
}

.pm-review-translation-spinner {
  width: 34px;
  height: 34px;
  border: 3px solid #d8eee9;
  border-top-color: #0f766e;
  border-radius: 999px;
  animation: pmReviewSpin .8s linear infinite;
}

@keyframes pmReviewSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 760px) {
  .pm-em-pending-stats {
    grid-template-columns: 1fr;
  }

  .pm-review-source-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    gap: 10px;
    width: min(100%, 360px);
    margin-right: auto;
    margin-left: auto;
  }

  .pm-review-source-filter button {
    width: 100%;
    min-width: 0;
    min-height: 62px;
    padding: 12px 42px 12px 14px;
  }

  .pm-associate-context-filter {
    grid-template-columns: 1fr;
    width: min(100%, 420px);
    gap: 10px;
  }

  .pm-associate-context-filter button {
    min-height: 68px;
    padding: 12px 52px 12px 14px;
  }

  .pm-em-pending-head {
    flex-direction: column;
    align-items: stretch;
  }

  .pm-em-pending-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pm-em-pending-actions .btn {
    width: 100%;
  }

  .pm-em-pending-experts {
    grid-template-columns: 1fr;
  }
}
#mainPage .pm-media-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

#mainPage .pm-media-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 6px 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#mainPage .pm-media-hero > div:first-child {
  min-width: 0;
  display: grid;
  gap: 8px;
}

#mainPage .pm-media-hero span {
  color: #0f766e;
  font-size: 13px;
  font-weight: 800;
}

#mainPage .pm-media-hero h2 {
  margin: 0;
  color: #102a56;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 800;
}

#mainPage .pm-media-hero p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.7;
  max-width: 760px;
}

#mainPage .pm-media-hero-actions {
  flex: 0 0 420px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-content: center;
}

#mainPage .pm-media-hero-actions .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#mainPage .pm-media-control-panel,
#mainPage .pm-media-main-panel,
#mainPage .pm-media-section {
  background: #ffffff;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(31, 49, 88, 0.06);
}

#mainPage .pm-media-control-panel {
  padding: 18px;
  display: grid;
  gap: 14px;
  position: sticky;
  top: 16px;
}

#mainPage .pm-media-main-panel {
  padding: 18px;
  display: grid;
  gap: 16px;
  min-width: 0;
}

#mainPage .pm-media-process-panel {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(360px, 1fr);
  gap: 18px;
  align-items: stretch;
  min-height: 520px;
  padding: 28px;
  border: 1px solid #dbe8f5;
  border-radius: 12px;
  background:
    radial-gradient(circle at 12% 18%, rgba(20, 184, 166, 0.12), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(37, 99, 235, 0.10), transparent 28%),
    #ffffff;
  box-shadow: 0 22px 54px rgba(31, 49, 88, 0.08);
}

#mainPage .pm-media-process-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  padding: 24px;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef8f6 100%);
  border: 1px solid #d7ece8;
}

#mainPage .pm-media-orbit {
  width: 146px;
  height: 146px;
  position: relative;
  border-radius: 50%;
  border: 1px solid rgba(15, 118, 110, 0.20);
  animation: pmMediaOrbit 7s linear infinite;
}

#mainPage .pm-media-orbit::before,
#mainPage .pm-media-orbit::after {
  content: '';
  position: absolute;
  inset: 24px;
  border-radius: 50%;
  border: 1px dashed rgba(37, 99, 235, 0.28);
}

#mainPage .pm-media-orbit::after {
  inset: 52px;
  background: #153b6f;
  border: 0;
  box-shadow: 0 16px 34px rgba(21, 59, 111, 0.24);
}

#mainPage .pm-media-orbit span {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #14b8a6;
  box-shadow: 0 0 0 8px rgba(20, 184, 166, 0.12);
}

#mainPage .pm-media-orbit span:nth-child(1) {
  left: 10px;
  top: 62px;
}

#mainPage .pm-media-orbit span:nth-child(2) {
  right: 22px;
  top: 22px;
  background: #2563eb;
  box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.12);
}

#mainPage .pm-media-orbit span:nth-child(3) {
  right: 34px;
  bottom: 18px;
  background: #0ea5e9;
  box-shadow: 0 0 0 8px rgba(14, 165, 233, 0.12);
}

@keyframes pmMediaOrbit {
  to { transform: rotate(360deg); }
}

#mainPage .pm-media-process-visual strong {
  color: #102a56;
  font-size: 24px;
  line-height: 1.35;
}

#mainPage .pm-media-process-visual p {
  margin: 0;
  max-width: 520px;
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}

#mainPage .pm-media-process-visual em {
  font-style: normal;
  color: #0f766e;
  font-size: 13px;
  font-weight: 800;
}

#mainPage .pm-media-process-steps {
  display: grid;
  gap: 10px;
  align-content: center;
}

#mainPage .pm-media-process-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e5edf6;
  border-radius: 10px;
  background: #f8fafc;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

#mainPage .pm-media-process-step i {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e2e8f0;
  color: #64748b;
  font-style: normal;
  font-weight: 900;
}

#mainPage .pm-media-process-step strong {
  display: block;
  color: #102a56;
  font-size: 15px;
  line-height: 1.4;
}

#mainPage .pm-media-process-step span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

#mainPage .pm-media-process-step.is-active {
  transform: translateX(4px);
  border-color: #93c5fd;
  background: #eff6ff;
  box-shadow: 0 12px 30px rgba(37, 99, 235, 0.10);
  animation: pmMediaStepPulse 1.8s ease-in-out infinite;
}

#mainPage .pm-media-process-step.is-active i {
  background: #2563eb;
  color: #ffffff;
}

#mainPage .pm-media-process-step.is-done {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

#mainPage .pm-media-process-step.is-done i {
  background: #16a34a;
  color: #ffffff;
}

@keyframes pmMediaStepPulse {
  0%, 100% { box-shadow: 0 12px 30px rgba(37, 99, 235, 0.10); }
  50% { box-shadow: 0 18px 42px rgba(37, 99, 235, 0.20); }
}

#mainPage .pm-media-step-head,
#mainPage .pm-media-section-head,
#mainPage .pm-media-log-head,
#mainPage .pm-media-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#mainPage .pm-media-section-title {
  min-width: 0;
  display: grid;
  gap: 4px;
}

#mainPage .pm-media-inline-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

#mainPage .pm-media-inline-actions .btn {
  min-height: 40px;
  padding: 0 15px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#mainPage .pm-media-step-head span,
#mainPage .pm-media-section-head span,
#mainPage .pm-media-log-head span,
#mainPage .pm-media-preview-head span {
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

#mainPage .pm-media-step-head strong,
#mainPage .pm-media-section-head strong,
#mainPage .pm-media-log-head strong,
#mainPage .pm-media-preview-head strong {
  color: #102a56;
  font-size: 16px;
  line-height: 1.4;
}

#mainPage .pm-media-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

#mainPage .pm-media-field > span,
#mainPage .pm-media-draft-grid label > span {
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}

#mainPage .pm-media-form-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  align-items: end;
}

#mainPage .pm-media-check {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 700;
}

#mainPage .pm-media-check input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

#mainPage .pm-media-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

#mainPage .pm-media-actions .btn,
#mainPage .pm-media-wechat-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#mainPage .pm-media-wechat-btn {
  background: #0f766e;
  border-color: #0f766e;
}

#mainPage .pm-media-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 13px;
}

#mainPage .pm-media-loading span {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid #93c5fd;
  border-top-color: #1d4ed8;
  animation: pmMediaSpin 0.8s linear infinite;
}

@keyframes pmMediaSpin {
  to { transform: rotate(360deg); }
}

#mainPage .pm-media-log-card {
  border-top: 1px solid #edf2f7;
  padding-top: 14px;
  display: grid;
  gap: 10px;
}

#mainPage .pm-media-guide-card {
  padding: 14px;
  border: 1px solid #d7ece8;
  border-radius: 8px;
  background: #f0fdfa;
}

#mainPage .pm-media-guide-card strong {
  display: block;
  color: #0f766e;
  font-size: 14px;
  margin-bottom: 6px;
}

#mainPage .pm-media-guide-card p {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.65;
}

#mainPage .pm-media-log-empty {
  color: #94a3b8;
  font-size: 13px;
  text-align: center;
  padding: 18px 8px;
  background: #f8fafc;
  border-radius: 8px;
}

#mainPage .pm-media-log-item {
  display: grid;
  grid-template-columns: 62px 52px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
}

#mainPage .pm-media-log-item strong {
  color: #102a56;
}

#mainPage .pm-media-log-item em {
  font-style: normal;
  overflow-wrap: anywhere;
  line-height: 1.55;
}

#mainPage .pm-media-log-item em small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.5;
}

#mainPage .pm-media-log-done {
  background: #ecfdf5;
  color: #065f46;
}

#mainPage .pm-media-log-error {
  background: #fef2f2;
  color: #991b1b;
}

#mainPage .pm-media-log-warn {
  background: #fffbeb;
  color: #92400e;
}

#mainPage .pm-media-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

#mainPage .pm-media-metrics > div {
  min-height: 76px;
  padding: 14px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #f8fbff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#mainPage .pm-media-metrics strong {
  color: #102a56;
  font-size: 20px;
  line-height: 1.2;
}

#mainPage .pm-media-metrics span {
  margin-top: 4px;
  color: #64748b;
  font-size: 13px;
}

#mainPage .pm-media-section {
  padding: 16px;
  min-width: 0;
}

#mainPage .pm-media-empty-panel {
  margin-top: 12px;
  min-height: 138px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 20px;
  text-align: center;
}

#mainPage .pm-media-empty-panel strong {
  color: #102a56;
  font-size: 16px;
}

#mainPage .pm-media-empty-panel span {
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

#mainPage .pm-media-recommend-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

#mainPage .pm-media-recommend-card {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid #dfe7f2;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(31, 49, 88, 0.05);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

#mainPage .pm-media-recommend-card:hover {
  transform: translateY(-2px);
  border-color: #9ed8cf;
  box-shadow: 0 16px 34px rgba(15, 118, 110, 0.12);
}

#mainPage .pm-media-recommend-card.is-selected {
  border-color: #0f766e;
  box-shadow: 0 16px 34px rgba(15, 118, 110, 0.14);
  background: #fbfffe;
}

#mainPage .pm-media-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#mainPage .pm-media-card-top span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 800;
}

#mainPage .pm-media-card-top strong {
  min-width: 54px;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e0f2fe;
  color: #075985;
  font-size: 13px;
}

#mainPage .pm-media-paper-meta,
#mainPage .pm-media-paper-authors,
#mainPage .pm-media-paper-actions {
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

#mainPage .pm-media-recommend-card h3 {
  margin: 0;
  color: #102a56;
  font-size: 17px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-title-en {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-journal-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

#mainPage .pm-media-journal-metrics span {
  min-height: 42px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 7px 6px;
  border-radius: 8px;
  background: #eff6ff;
  color: #102a56;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

#mainPage .pm-media-journal-metrics span b {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

#mainPage .pm-media-journal-metrics.is-muted span {
  background: #f8fafc;
  color: #94a3b8;
}

#mainPage .pm-media-if-year {
  margin-top: -4px;
  color: #94a3b8;
  font-size: 11px;
  line-height: 1.4;
}

#mainPage .pm-media-abstract-zh {
  margin: 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.75;
  white-space: pre-wrap;
}

#mainPage .pm-media-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#mainPage .pm-media-tag-row span {
  padding: 4px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

#mainPage .pm-media-reason {
  padding: 10px;
  border-radius: 8px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
  line-height: 1.65;
}

#mainPage .pm-media-paper-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#mainPage .pm-media-card-create-btn {
  background: #0f766e;
  border-color: #0f766e;
  box-shadow: 0 10px 20px rgba(15, 118, 110, 0.16);
}

#mainPage .pm-media-draft-editor {
  margin-top: 12px;
  display: grid;
  gap: 14px;
  min-width: 0;
}

#mainPage .pm-media-preview-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
  gap: 12px;
}

#mainPage .pm-media-preview-summary > div {
  padding: 14px 16px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #f8fbff;
}

#mainPage .pm-media-preview-summary span {
  display: block;
  margin-bottom: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

#mainPage .pm-media-preview-summary strong {
  color: #102a56;
  font-size: 18px;
  line-height: 1.45;
}

#mainPage .pm-media-preview-summary p {
  margin: 0;
  color: #334155;
  font-size: 14px;
  line-height: 1.65;
}

#mainPage .pm-media-draft-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, 0.6fr);
  gap: 12px;
}

#mainPage .pm-media-draft-grid label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

#mainPage .pm-media-image-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

#mainPage .pm-media-image-strip figure {
  margin: 0;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  overflow: hidden;
  background: #f8fafc;
}

#mainPage .pm-media-image-strip img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  display: block;
  background: #ffffff;
}

#mainPage .pm-media-image-strip figcaption {
  padding: 8px 10px;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
}

#mainPage .pm-media-cover-warning {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid #fed7aa;
  border-radius: 8px;
  background: #fff7ed;
}

#mainPage .pm-media-cover-warning strong {
  color: #9a3412;
  font-size: 14px;
}

#mainPage .pm-media-cover-warning span {
  color: #9a3412;
  font-size: 13px;
  line-height: 1.65;
}

#mainPage .pm-media-editor-panels {
  display: grid;
  grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr);
  gap: 14px;
  min-width: 0;
}

#mainPage .pm-media-html-textarea {
  min-height: 460px;
  font-family: Consolas, Monaco, monospace;
  font-size: 13px;
  line-height: 1.6;
}

#mainPage .pm-media-preview {
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
  min-width: 0;
}

#mainPage .pm-media-preview-full {
  border-radius: 12px;
  box-shadow: 0 18px 42px rgba(31, 49, 88, 0.08);
}

#mainPage .pm-media-preview-head {
  padding: 12px 14px;
  border-bottom: 1px solid #edf2f7;
  background: #f8fafc;
}

#mainPage .pm-media-preview-body {
  padding: 18px;
  max-height: none;
  overflow: visible;
  overflow-wrap: anywhere;
  color: #1f2937;
  background: #ffffff;
}

#mainPage .pm-media-preview-body img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1100px) {
  #mainPage .pm-media-workbench,
  #mainPage .pm-media-editor-panels,
  #mainPage .pm-media-recommend-grid,
  #mainPage .pm-media-process-panel,
  #mainPage .pm-media-preview-summary {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-media-control-panel {
    position: static;
  }

  #mainPage .pm-media-hero {
    flex-direction: column;
  }

  #mainPage .pm-media-hero-actions {
    flex: 1 1 auto;
  }
}

@media (max-width: 720px) {
  #mainPage .pm-media-form-row,
  #mainPage .pm-media-metrics,
  #mainPage .pm-media-draft-grid,
  #mainPage .pm-media-hero-actions {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-media-hero h2 {
    font-size: 20px;
  }

  #mainPage .pm-media-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  #mainPage .pm-media-inline-actions {
    justify-content: flex-start;
  }

  #mainPage .pm-media-inline-actions .btn {
    flex: 1 1 160px;
  }
}

#mainPage .pm-media-editor-shell {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f5f6f7;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

#mainPage .pm-media-editor-topbar {
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(320px, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 64px;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e7eb;
  background: #ffffff;
}

#mainPage .pm-media-editor-brand {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#mainPage .pm-media-editor-brand span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

#mainPage .pm-media-editor-brand strong {
  color: #111827;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 800;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-editor-toolbar {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

#mainPage .pm-media-editor-toolbar span {
  min-height: 30px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  color: #475569;
  font-size: 13px;
  line-height: 1.2;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

#mainPage .pm-media-editor-actions {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-media-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(15, 23, 42, .36);
  backdrop-filter: blur(8px);
}

.pm-media-modal {
  width: min(920px, calc(100vw - 56px));
  max-height: calc(100vh - 56px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid #dbe7f3;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
}

.pm-media-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #e5edf6;
}

.pm-media-modal-head span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.pm-media-modal-head strong {
  display: block;
  margin-top: 2px;
  color: #102a56;
  font-size: 20px;
  font-weight: 900;
}

.pm-media-modal-head button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #d9e4ef;
  border-radius: 6px;
  background: #f8fafc;
  color: #475569;
  cursor: pointer;
}

.pm-media-history-list {
  overflow-y: auto;
  padding: 16px 20px 20px;
  display: grid;
  gap: 10px;
}

.pm-media-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #e3edf7;
  border-radius: 10px;
  background: #ffffff;
}

.pm-media-history-item span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.pm-media-history-item strong {
  display: block;
  margin: 4px 0 5px;
  color: #102a56;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 900;
}

.pm-media-history-item p,
.pm-media-history-item em {
  display: block;
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.6;
  font-style: normal;
}

.pm-media-history-actions {
  display: inline-flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.pm-media-history-empty {
  padding: 34px;
  border: 1px dashed #d7e3ef;
  border-radius: 10px;
  color: #94a3b8;
  text-align: center;
  font-weight: 800;
}

.pm-media-pdf-body {
  padding: 20px;
  display: grid;
  gap: 14px;
  overflow-y: auto;
}

.pm-media-pdf-body > p {
  margin: 0;
  color: #475569;
  line-height: 1.7;
}

.pm-media-pdf-paper {
  padding: 14px 16px;
  border: 1px solid #e3edf7;
  border-radius: 10px;
  background: #f8fbfd;
}

.pm-media-pdf-paper strong {
  display: block;
  color: #102a56;
  font-size: 15px;
  line-height: 1.55;
}

.pm-media-pdf-paper span {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
}

.pm-media-pdf-upload {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px dashed #b8d7ee;
  border-radius: 10px;
  background: #f8fbff;
  cursor: pointer;
}

.pm-media-pdf-upload input {
  display: none;
}

.pm-media-pdf-upload span {
  color: #0f766e;
  font-size: 15px;
  font-weight: 900;
}

.pm-media-pdf-upload em {
  color: #64748b;
  font-size: 13px;
  font-style: normal;
}

.pm-media-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid #e5edf6;
  background: #fbfdff;
}

#mainPage .pm-media-editor-actions .btn,
#mainPage .pm-media-publish-card .btn,
#mainPage .pm-media-paper-actions .btn {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 6px;
  white-space: normal;
}

#mainPage .pm-media-recommend-btn {
  color: #ffffff;
  border-color: #0f766e;
  background: linear-gradient(135deg, #0f766e, #14a085);
  box-shadow: 0 10px 22px rgba(15, 118, 110, .18);
}

#mainPage .pm-media-recommend-btn:hover:not(:disabled) {
  color: #ffffff;
  border-color: #0d6a62;
  background: linear-gradient(135deg, #0d6a62, #128c77);
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(15, 118, 110, .24);
}

#mainPage .pm-media-recommend-btn:disabled {
  color: #ffffff;
  border-color: #9ccbc4;
  background: #9ccbc4;
  box-shadow: none;
  opacity: .72;
}

#mainPage .pm-media-editor-body {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 16px;
  min-width: 0;
  overflow: hidden;
  background: #f3f4f6;
}

#mainPage .pm-media-draft-sidebar,
#mainPage .pm-media-tools-panel {
  min-width: 0;
  display: grid;
  gap: 12px;
}

#mainPage .pm-media-account-card,
#mainPage .pm-media-sidebar-draft-card,
#mainPage .pm-media-sidebar-list,
#mainPage .pm-media-tools-panel,
#mainPage .pm-media-publish-card,
#mainPage .pm-media-recommend-canvas,
#mainPage .pm-media-wechat-canvas {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
}

#mainPage .pm-media-account-card {
  min-height: 72px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#mainPage .pm-media-account-card span,
#mainPage .pm-media-sidebar-head span,
#mainPage .pm-media-tools-head span,
#mainPage .pm-media-publish-card span,
#mainPage .pm-media-canvas-head span,
#mainPage .pm-media-wechat-title-block label {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 700;
}

#mainPage .pm-media-account-card strong,
#mainPage .pm-media-sidebar-head strong,
#mainPage .pm-media-tools-head strong,
#mainPage .pm-media-canvas-head strong,
#mainPage .pm-media-publish-card strong {
  color: #111827;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 800;
}

#mainPage .pm-media-account-card i {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #ecfdf3;
  color: #07883f;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

#mainPage .pm-media-sidebar-draft-card {
  padding: 12px;
  display: grid;
  gap: 10px;
}

#mainPage .pm-media-sidebar-cover {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 6px;
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 700;
}

#mainPage .pm-media-sidebar-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #ffffff;
}

#mainPage .pm-media-sidebar-draft-card strong {
  color: #111827;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 800;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-sidebar-draft-card p {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-sidebar-draft-card small {
  color: #0f766e;
  font-size: 12px;
  font-weight: 800;
}

#mainPage .pm-media-sidebar-list {
  padding: 12px;
  display: grid;
  gap: 9px;
}

#mainPage .pm-media-sidebar-head,
#mainPage .pm-media-tools-head,
#mainPage .pm-media-canvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

#mainPage .pm-media-sidebar-paper {
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid #eef2f7;
  border-radius: 8px;
  background: #ffffff;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

#mainPage .pm-media-sidebar-paper:hover {
  transform: translateY(-1px);
  border-color: #9ed8cf;
  background: #fbfffe;
}

#mainPage .pm-media-sidebar-paper.is-selected {
  border-color: #07c160;
  background: #f0fdf4;
}

#mainPage .pm-media-sidebar-paper b {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef2f7;
  color: #334155;
  font-size: 12px;
}

#mainPage .pm-media-sidebar-paper span {
  color: #111827;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 700;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-sidebar-paper em {
  grid-column: 2;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}

#mainPage .pm-media-sidebar-empty {
  padding: 16px 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #94a3b8;
  font-size: 13px;
  text-align: center;
}

#mainPage .pm-media-editor-center {
  min-width: 0;
  display: grid;
  gap: 14px;
  overflow: hidden;
  justify-items: center;
}

#mainPage .pm-media-recommend-canvas {
  min-width: 0;
  padding: 16px;
  display: grid;
  gap: 14px;
}

#mainPage .pm-media-recommend-canvas .pm-media-recommend-grid {
  margin-top: 0;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

#mainPage .pm-media-wechat-canvas {
  width: min(100%, 860px);
  min-width: 0;
  justify-self: center;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

#mainPage .pm-media-empty-canvas {
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px;
}

#mainPage .pm-media-empty-canvas div {
  max-width: 420px;
  display: grid;
  gap: 8px;
}

#mainPage .pm-media-empty-canvas span {
  color: #07c160;
  font-size: 13px;
  font-weight: 800;
}

#mainPage .pm-media-empty-canvas strong {
  color: #111827;
  font-size: 24px;
  line-height: 1.35;
}

#mainPage .pm-media-empty-canvas p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.7;
}

#mainPage .pm-media-wechat-title-block {
  padding: 28px 36px 14px;
  display: grid;
  gap: 8px;
  border-bottom: 1px solid #f1f5f9;
}

#mainPage .pm-media-wechat-title-block h1 {
  margin: 0;
  color: #111827;
  font-size: 28px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-wechat-meta-row {
  padding: 14px 36px 18px;
  display: grid;
  grid-template-columns: auto minmax(120px, auto);
  gap: 8px 12px;
  align-items: start;
  color: #64748b;
  font-size: 14px;
  line-height: 1.65;
  border-bottom: 1px solid #f1f5f9;
}

#mainPage .pm-media-wechat-meta-row strong {
  color: #0f766e;
  font-size: 14px;
}

#mainPage .pm-media-wechat-meta-row p {
  margin: 0;
  color: #475569;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-wechat-cover-preview {
  padding: 28px 36px 20px;
  border-bottom: 1px solid #f1f5f9;
  background: #ffffff;
}

#mainPage .pm-media-wechat-cover-preview label {
  display: block;
  margin: 0 0 10px;
  color: #0f766e;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}

#mainPage .pm-media-wechat-cover-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid #e2edf6;
  border-radius: 8px;
  background: #f8fafc;
}

#mainPage .pm-media-wechat-article {
  padding: 28px 42px 36px;
  max-height: none;
  overflow: visible;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.9;
  background: #ffffff;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-wechat-article img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#mainPage .pm-media-wechat-article > section,
#mainPage .pm-media-wechat-article > p,
#mainPage .pm-media-wechat-article > h1,
#mainPage .pm-media-wechat-article > h2,
#mainPage .pm-media-wechat-article > h3 {
  max-width: 100%;
}

#mainPage .pm-media-wechat-article p {
  line-height: 1.9;
}

#mainPage .pm-media-editor-footer {
  min-height: 44px;
  padding: 10px 36px;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  border-top: 1px solid #f1f5f9;
  background: #fafafa;
  color: #64748b;
  font-size: 13px;
}

#mainPage .pm-media-tools-panel {
  padding: 12px;
}

#mainPage .pm-media-tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#mainPage .pm-media-tool-item {
  min-width: 0;
  min-height: 74px;
  padding: 8px 4px;
  border: 1px solid #eef2f7;
  border-radius: 8px;
  background: #ffffff;
  color: #334155;
  display: grid;
  gap: 5px;
  justify-items: center;
  align-content: center;
  cursor: default;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

#mainPage .pm-media-tool-item:hover {
  transform: translateY(-1px);
  border-color: #ccebdc;
  background: #f7fffb;
}

#mainPage .pm-media-tool-item i {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #f0fdf4;
  color: #07883f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
}

#mainPage .pm-media-tool-item span {
  color: #475569;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
}

#mainPage .pm-media-publish-card {
  padding: 14px;
  display: grid;
  gap: 8px;
}

#mainPage .pm-media-publish-card p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}

#mainPage .pm-media-publish-card .btn {
  width: 100%;
}

#mainPage .pm-media-cover-warning {
  margin: 18px 36px 0;
  border-color: #fed7aa;
  background: #fff7ed;
}

#mainPage .pm-media-editor-center .pm-media-process-panel {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  min-height: 560px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: none;
  background: #ffffff;
}

#mainPage .pm-media-editor-center .pm-media-process-visual {
  background: #f8fafc;
  border-color: #eef2f7;
}

#mainPage .pm-media-card-top strong {
  border-radius: 6px;
  background: #f0fdf4;
  color: #07883f;
}

#mainPage .pm-media-recommend-card {
  border-radius: 8px;
  box-shadow: none;
}

#mainPage .pm-media-recommend-card.is-selected {
  border-color: #07c160;
  box-shadow: 0 10px 24px rgba(7, 193, 96, 0.10);
}

#mainPage .pm-media-wechat-btn {
  background: #07c160;
  border-color: #07c160;
}

#mainPage .pm-media-wechat-btn:hover:not(:disabled) {
  background: #06ad56;
  border-color: #06ad56;
}

#mainPage .pm-media-publish-process {
  width: min(100%, 860px);
  justify-self: center;
  overflow: hidden;
}

#mainPage .pm-media-publish-ring {
  width: 124px;
  height: 124px;
  position: relative;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #ffffff 0 42%, transparent 43%),
    conic-gradient(from 0deg, #07c160, #0f766e, #60a5fa, #07c160);
  animation: pmMediaPublishSpin 1.8s linear infinite;
  box-shadow: 0 18px 40px rgba(7, 193, 96, .18);
}

#mainPage .pm-media-publish-ring span {
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 1px solid rgba(7, 193, 96, .18);
  background: rgba(255, 255, 255, .86);
}

#mainPage .pm-media-publish-ring span:nth-child(2) {
  inset: 36px;
  background: #ecfdf3;
}

#mainPage .pm-media-publish-ring span:nth-child(3) {
  inset: 50px;
  background: #07c160;
}

@keyframes pmMediaPublishSpin {
  to { transform: rotate(360deg); }
}

#mainPage .pm-media-publish-success {
  width: min(100%, 860px);
  min-height: 520px;
  padding: 42px;
  border: 1px solid #dbe7f3;
  border-radius: 10px;
  background: #ffffff;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 20px;
  text-align: center;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}

#mainPage .pm-media-success-mark {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: linear-gradient(135deg, #07c160, #0f766e);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 18px 38px rgba(7, 193, 96, .24);
}

#mainPage .pm-media-success-mark span {
  width: 34px;
  height: 18px;
  border-left: 5px solid #ffffff;
  border-bottom: 5px solid #ffffff;
  transform: rotate(-45deg) translate(2px, -3px);
}

#mainPage .pm-media-success-body {
  width: min(100%, 560px);
  display: grid;
  gap: 14px;
}

#mainPage .pm-media-success-body > strong {
  color: #102a56;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 850;
}

#mainPage .pm-media-success-body > p {
  margin: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.75;
}

#mainPage .pm-media-success-meta {
  margin-top: 4px;
  padding: 14px 16px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 12px;
  text-align: left;
}

#mainPage .pm-media-success-meta span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

#mainPage .pm-media-success-meta b {
  color: #0f766e;
  font-size: 13px;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-success-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 1360px) {
  #mainPage .pm-media-editor-topbar {
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  }

  #mainPage .pm-media-editor-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 1180px) {
  #mainPage .pm-media-editor-body {
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  }

  #mainPage .pm-media-editor-center .pm-media-process-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  #mainPage .pm-media-editor-topbar,
  #mainPage .pm-media-editor-body,
  #mainPage .pm-media-wechat-meta-row {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-media-editor-actions {
    justify-content: stretch;
  }

  #mainPage .pm-media-editor-actions .btn {
    flex: 1 1 180px;
  }

  #mainPage .pm-media-tool-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #mainPage .pm-media-wechat-title-block,
  #mainPage .pm-media-wechat-meta-row,
  #mainPage .pm-media-wechat-article,
  #mainPage .pm-media-editor-footer {
    padding-left: 20px;
    padding-right: 20px;
  }

  #mainPage .pm-media-wechat-title-block h1 {
    font-size: 22px;
  }

  #mainPage .pm-media-cover-warning {
    margin-left: 20px;
    margin-right: 20px;
  }
}

/* Media promotion workspace polish */
#mainPage .pm-media-editor-shell {
  border-color: #dce8f2;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 20px 52px rgba(28, 48, 82, .08);
}

#mainPage .pm-media-editor-topbar {
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  min-height: 78px;
  padding: 16px 20px;
  border-bottom-color: #e6edf5;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

#mainPage .pm-media-editor-brand {
  position: relative;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
}

#mainPage .pm-media-account-avatar {
  display: block;
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 14px;
  object-fit: cover;
  background: #0f2f76;
  box-shadow: 0 12px 24px rgba(15, 31, 56, .16);
}

#mainPage .pm-media-editor-brand .pm-media-account-avatar {
  grid-row: 1 / 3;
  grid-column: 1;
}

#mainPage .pm-media-editor-brand span,
#mainPage .pm-media-editor-brand strong {
  grid-column: 2;
}

#mainPage .pm-media-editor-brand strong {
  font-size: 18px;
  letter-spacing: 0;
}

#mainPage .pm-media-editor-actions {
  gap: 10px;
}

#mainPage .pm-media-editor-actions .btn,
#mainPage .pm-media-publish-card .btn,
#mainPage .pm-media-paper-actions .btn {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 850;
  white-space: nowrap;
}

#mainPage .pm-media-editor-actions .btn-secondary {
  border-color: #d9e5ef;
  background: #ffffff;
  color: #183153;
}

#mainPage .pm-media-editor-actions .btn-secondary:hover:not(:disabled) {
  border-color: #b8cadb;
  background: #f8fbff;
  transform: translateY(-1px);
}

#mainPage .pm-media-recommend-btn,
#mainPage .pm-media-wechat-btn {
  border-color: transparent;
  background: linear-gradient(135deg, #0f766e 0%, #147fbd 100%);
  box-shadow: 0 14px 30px rgba(15, 118, 110, .20);
}

#mainPage .pm-media-recommend-btn:hover:not(:disabled),
#mainPage .pm-media-wechat-btn:hover:not(:disabled) {
  border-color: transparent;
  background: linear-gradient(135deg, #0d6f67 0%, #126fa8 100%);
  box-shadow: 0 18px 36px rgba(15, 118, 110, .25);
}

#mainPage .pm-media-recommend-btn:disabled,
#mainPage .pm-media-wechat-btn:disabled {
  border-color: #c8d5e2;
  background: #c8d5e2;
  color: #ffffff;
  box-shadow: none;
  cursor: not-allowed;
  opacity: .78;
}

#mainPage .pm-media-editor-body {
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  min-height: calc(100vh - 260px);
  padding: 22px;
  background: #f7f9fc;
}

#mainPage .pm-media-draft-sidebar {
  align-content: start;
  gap: 16px;
}

#mainPage .pm-media-account-card,
#mainPage .pm-media-sidebar-draft-card,
#mainPage .pm-media-sidebar-list,
#mainPage .pm-media-recommend-canvas,
#mainPage .pm-media-wechat-canvas {
  border-color: #dfe8f2;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(28, 48, 82, .05);
}

#mainPage .pm-media-account-card {
  position: relative;
  min-height: 88px;
  padding: 18px;
  justify-content: flex-start;
  gap: 13px;
}

#mainPage .pm-media-account-card .pm-media-account-avatar {
  width: 46px;
  height: 46px;
  border-radius: 13px;
}

#mainPage .pm-media-account-card > div {
  min-width: 0;
  flex: 1 1 auto;
}

#mainPage .pm-media-account-card strong {
  font-size: 17px;
}

#mainPage .pm-media-account-card i {
  margin-left: auto;
  padding: 7px 11px;
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #047857;
}

#mainPage .pm-media-sidebar-draft-card {
  padding: 16px;
  gap: 12px;
}

#mainPage .pm-media-sidebar-cover {
  aspect-ratio: 4 / 3;
  border: 1px solid #d7e5f2;
  border-radius: 12px;
  background:
    linear-gradient(90deg, transparent 0 14%, rgba(15, 118, 110, .10) 15% 16%, transparent 17%),
    linear-gradient(180deg, #f7fbff 0%, #edf4fa 100%);
  color: #6b7f99;
}

#mainPage .pm-media-sidebar-cover span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #60758f;
}

#mainPage .pm-media-sidebar-draft-card strong {
  font-size: 16px;
}

#mainPage .pm-media-sidebar-draft-card p {
  color: #53677f;
  font-size: 13px;
}

#mainPage .pm-media-sidebar-list {
  padding: 16px;
}

#mainPage .pm-media-sidebar-head {
  padding-bottom: 4px;
}

#mainPage .pm-media-sidebar-empty {
  min-height: 88px;
  display: grid;
  place-items: center;
  border: 1px dashed #d6e2ee;
  border-radius: 12px;
  background: #f8fbff;
}

#mainPage .pm-media-editor-center {
  align-items: stretch;
  justify-items: stretch;
}

#mainPage .pm-media-recommend-canvas {
  width: 100%;
  min-height: 100%;
  padding: 22px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 18px;
}

#mainPage .pm-media-canvas-head {
  padding-bottom: 14px;
  border-bottom: 1px solid #edf2f7;
}

#mainPage .pm-media-canvas-head span {
  color: #0f766e;
  font-weight: 900;
}

#mainPage .pm-media-canvas-head strong {
  font-size: 18px;
}

#mainPage .pm-media-empty-panel {
  position: relative;
  min-height: 360px;
  margin: 0;
  padding: 44px 34px;
  border: 1px solid #d8e5f1;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, .08) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  background-size: 34px 34px, auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}

#mainPage .pm-media-empty-panel::before {
  content: '';
  width: 68px;
  height: 68px;
  margin: 0 auto 6px;
  border: 1px solid #cfe0ec;
  border-radius: 18px;
  background:
    linear-gradient(90deg, #0f766e 0 6px, transparent 6px),
    linear-gradient(180deg, transparent 0 14px, #dce9f3 14px 16px, transparent 16px 28px, #dce9f3 28px 30px, transparent 30px 42px, #dce9f3 42px 44px, transparent 44px),
    #ffffff;
  box-shadow: 0 16px 30px rgba(28, 48, 82, .10);
}

#mainPage .pm-media-empty-panel::after {
  content: '检索  ·  翻译  ·  排版  ·  生成';
  margin: 4px auto 0;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef6ff;
  color: #315c87;
  font-size: 12px;
  font-weight: 850;
}

#mainPage .pm-media-empty-panel strong {
  font-size: 20px;
}

#mainPage .pm-media-empty-panel span {
  max-width: 720px;
  margin: 0 auto;
  color: #58708a;
  font-size: 14px;
}

#mainPage .pm-media-recommend-canvas .pm-media-recommend-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: stretch;
}

#mainPage .pm-media-wechat-canvas {
  width: 100%;
  max-width: 980px;
  justify-self: center;
  border-radius: 16px;
}

.pm-media-progress-backdrop {
  z-index: 10020;
}

.pm-media-progress-modal {
  width: min(1040px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) minmax(120px, .42fr) auto;
  overflow: hidden;
  border: 1px solid #d8e6f2;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 30px 86px rgba(15, 31, 56, .28);
}

.pm-media-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid #e5edf6;
  background:
    radial-gradient(circle at 90% 0%, rgba(20, 127, 189, .12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.pm-media-progress-head span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 950;
}

.pm-media-progress-head strong {
  display: block;
  margin-top: 4px;
  color: #10233f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.pm-media-progress-head p {
  max-width: 720px;
  margin: 5px 0 0;
  color: #5d7188;
  font-size: 13px;
  line-height: 1.6;
}

.pm-media-progress-head-actions {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

.pm-media-progress-body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: 18px;
  padding: 20px 22px;
  overflow: auto;
  background: #f6f9fc;
}

.pm-media-progress-visual {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  min-height: 360px;
  padding: 24px;
  border: 1px solid #d7e7f1;
  border-radius: 16px;
  background:
    radial-gradient(circle at 24% 16%, rgba(15, 118, 110, .14), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f1f8fb 100%);
  text-align: center;
}

.pm-media-progress-visual.is-done {
  border-color: #bbf7d0;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
}

.pm-media-progress-visual.is-error {
  border-color: #fecaca;
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%);
}

.pm-media-progress-ring {
  position: relative;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #ffffff 0 43%, transparent 44%),
    conic-gradient(from 0deg, #0f766e, #147fbd, #7dd3fc, #0f766e);
  box-shadow: 0 18px 42px rgba(15, 118, 110, .18);
  animation: pmMediaPublishSpin 1.8s linear infinite;
}

.pm-media-progress-visual.is-done .pm-media-progress-ring,
.pm-media-progress-visual.is-error .pm-media-progress-ring {
  animation: none;
}

.pm-media-progress-visual.is-error .pm-media-progress-ring {
  background:
    radial-gradient(circle at center, #ffffff 0 43%, transparent 44%),
    conic-gradient(from 0deg, #dc2626, #f97316, #fecaca, #dc2626);
}

.pm-media-progress-ring span {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, .86);
}

.pm-media-progress-ring span:nth-child(1) { inset: 22px; }
.pm-media-progress-ring span:nth-child(2) { inset: 40px; background: #eef8f5; }
.pm-media-progress-ring span:nth-child(3) { inset: 56px; background: #0f766e; }

.pm-media-progress-visual.is-done .pm-media-progress-ring span:nth-child(3) {
  background: #16a34a;
}

.pm-media-progress-visual.is-error .pm-media-progress-ring span:nth-child(3) {
  background: #dc2626;
}

.pm-media-progress-visual strong {
  color: #10233f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.pm-media-progress-visual p {
  max-width: 420px;
  margin: 0;
  color: #5d7188;
  font-size: 14px;
  line-height: 1.7;
}

.pm-media-progress-visual em {
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef6ff;
  color: #215781;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.pm-media-progress-steps {
  min-height: 0;
  display: grid;
  align-content: center;
  gap: 10px;
}

.pm-media-progress-log {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 16px 22px;
  border-top: 1px solid #e5edf6;
  background: #ffffff;
}

.pm-media-progress-log-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #64748b;
  font-size: 12px;
}

.pm-media-progress-log-head strong {
  color: #10233f;
  font-size: 14px;
  font-weight: 950;
}

.pm-media-progress-log-list {
  min-height: 0;
  max-height: 180px;
  overflow: auto;
  display: grid;
  gap: 8px;
}

.pm-media-progress-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 22px;
  border-top: 1px solid #e5edf6;
  background: #fbfdff;
}

.pm-media-pdf-modal {
  width: min(760px, calc(100vw - 48px));
}

.pm-media-pdf-body {
  background:
    radial-gradient(circle at 88% 8%, rgba(20, 127, 189, .10), transparent 34%),
    #ffffff;
}

.pm-media-pdf-paper {
  border-radius: 14px;
  background: #f7fbff;
}

.pm-media-pdf-upload {
  min-height: 148px;
  align-content: center;
  justify-items: center;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, .08) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #fbfdff 0%, #f4f9fd 100%);
  background-size: 30px 30px, auto;
}

.pm-media-pdf-upload.is-dragover {
  border-color: #0f766e;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, .12) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #f3fffb 0%, #eaf8f4 100%);
  box-shadow: 0 14px 34px rgba(15, 118, 110, .12);
}

.pm-media-pdf-upload span {
  position: relative;
  padding-top: 48px;
}

.pm-media-pdf-upload span::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 38px;
  height: 44px;
  border: 2px solid #0f766e;
  border-radius: 10px;
  background:
    linear-gradient(180deg, transparent 0 12px, rgba(15, 118, 110, .14) 12px 14px, transparent 14px 24px, rgba(15, 118, 110, .14) 24px 26px, transparent 26px),
    #ffffff;
  transform: translateX(-50%);
  box-shadow: 0 12px 24px rgba(15, 118, 110, .14);
}

@media (max-width: 1360px) {
  #mainPage .pm-media-editor-topbar {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-media-editor-actions {
    grid-column: auto;
    justify-content: flex-end;
  }
}

@media (max-width: 1180px) {
  #mainPage .pm-media-editor-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  #mainPage .pm-media-editor-topbar,
  #mainPage .pm-media-editor-body {
    padding: 14px;
  }

  #mainPage .pm-media-editor-actions {
    justify-content: stretch;
  }

  #mainPage .pm-media-editor-actions .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  #mainPage .pm-media-recommend-canvas {
    padding: 16px;
  }

  .pm-media-progress-modal {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .pm-media-progress-head,
  .pm-media-progress-body,
  .pm-media-progress-footer {
    padding-left: 14px;
    padding-right: 14px;
  }

  .pm-media-progress-body {
    grid-template-columns: 1fr;
  }
}

#pmEmHistorySyncNoticeModal {
  align-items: center;
  padding: 24px 18px;
}

.pm-em-history-notice-modal {
  display: flex;
  flex-direction: column;
  width: min(640px, 94vw);
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
}

.pm-em-history-notice-head {
  flex: 0 0 auto;
  padding: 22px 24px;
  border-bottom: 1px solid #e5edf7;
  background: linear-gradient(180deg, #f7fbff 0%, #fff 100%);
}

.pm-em-history-notice-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 18px 22px;
  background: #fff;
}

.pm-em-history-notice-card {
  border: 1px solid #dbe7f5;
  border-radius: 12px;
  padding: 16px;
  background: #fbfdff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.pm-em-history-notice-card + .pm-em-history-notice-card {
  margin-top: 12px;
}

.pm-em-history-notice-card strong,
.pm-em-history-notice-card span {
  display: block;
}

.pm-em-history-notice-card strong {
  color: #0f2748;
  font-size: 16px;
  font-weight: 850;
}

.pm-em-history-notice-card span {
  margin-top: 5px;
  color: #5d6f88;
  font-size: 13px;
  line-height: 1.5;
}

.pm-em-history-notice-card dl {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px 12px;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid #e3ebf5;
}

.pm-em-history-notice-card dt,
.pm-em-history-notice-card dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.pm-em-history-notice-card dt {
  color: #6b7d95;
  font-weight: 750;
}

.pm-em-history-notice-card dd {
  color: #10243f;
  font-weight: 800;
  word-break: break-word;
}

.pm-em-history-notice-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px 20px;
  border-top: 1px solid #e5edf7;
  background: #fff;
}

#pmEmSyncConfirmModal {
  align-items: center;
  padding: 24px 18px;
}

.pm-em-confirm-modal {
  display: flex;
  flex-direction: column;
  width: min(980px, 94vw);
  height: min(92vh, 860px);
  height: min(92dvh, 860px);
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
}

.pm-em-confirm-head {
  flex: 0 0 auto;
  padding: 22px 24px;
  border-bottom: 1px solid #e5edf7;
  background: #fff;
}

.pm-em-confirm-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 18px 22px 20px;
  background: #fff;
}

.pm-em-confirm-card {
  border: 1px solid #dbe7f5;
  border-radius: 12px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.pm-em-confirm-card + .pm-em-confirm-card {
  margin-top: 14px;
}

.pm-em-confirm-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.pm-em-confirm-card-head strong,
.pm-em-confirm-card-head span {
  display: block;
}

.pm-em-confirm-card-head strong {
  color: #0f2748;
  font-size: 16px;
  font-weight: 800;
}

.pm-em-confirm-card-head span {
  margin-top: 5px;
  color: #5d6f88;
  font-size: 13px;
  line-height: 1.5;
}

.pm-em-confirm-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-em-confirm-field-grid > div {
  border: 1px solid #e3ebf5;
  border-radius: 10px;
  padding: 12px;
  background: #fbfdff;
}

.pm-em-confirm-field-grid span,
.pm-em-confirm-field-grid strong,
.pm-em-confirm-field-grid em {
  display: block;
}

.pm-em-confirm-field-grid span {
  color: #6b7d95;
  font-size: 12px;
  font-weight: 700;
}

.pm-em-confirm-field-grid strong {
  margin-top: 5px;
  color: #10243f;
  font-size: 14px;
  line-height: 1.45;
}

.pm-em-confirm-field-grid em {
  margin-top: 7px;
  color: #6b7280;
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.pm-em-confirm-reviewers {
  display: grid;
  gap: 10px;
}

.pm-em-confirm-reviewer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid #d8e4f2;
  border-radius: 12px;
  padding: 14px;
  background: #fff;
}

.pm-em-confirm-reviewer.confirmed {
  border-color: #b7dfc2;
  background: #f7fcf8;
}

.pm-em-confirm-reviewer-main span,
.pm-em-confirm-reviewer-main strong,
.pm-em-confirm-reviewer-main em,
.pm-em-confirm-reviewer-main small {
  display: block;
}

.pm-em-confirm-reviewer-main span {
  color: #6b7d95;
  font-size: 12px;
  font-weight: 700;
}

.pm-em-confirm-reviewer-main strong {
  margin-top: 4px;
  color: #10243f;
  font-size: 16px;
  font-weight: 800;
}

.pm-em-confirm-reviewer-main em {
  margin-top: 5px;
  color: #9a4f00;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

.pm-em-confirm-reviewer-main small {
  margin-top: 4px;
  color: #61738b;
  font-size: 12px;
  line-height: 1.5;
}

.pm-em-confirm-reviewer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pm-em-confirm-ok {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  background: #e9f8ee;
  color: #14743a;
  font-size: 13px;
  font-weight: 800;
}

.pm-em-confirm-search {
  grid-column: 1 / -1;
  border-top: 1px solid #e7edf5;
  padding-top: 12px;
}

.pm-em-confirm-search-row {
  display: flex;
  gap: 10px;
}

.pm-em-confirm-search-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.pm-em-confirm-search-results button {
  text-align: left;
  border: 1px solid #dbe6f4;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pm-em-confirm-search-results button:hover {
  border-color: #1d4ed8;
  box-shadow: 0 8px 18px rgba(29, 78, 216, 0.12);
  transform: translateY(-1px);
}

.pm-em-confirm-search-results strong,
.pm-em-confirm-search-results span {
  display: block;
}

.pm-em-confirm-search-results strong {
  color: #10243f;
  font-size: 14px;
}

.pm-em-confirm-search-results span {
  margin-top: 4px;
  color: #66758a;
  font-size: 12px;
  line-height: 1.45;
}

.pm-em-confirm-empty {
  border: 1px dashed #cbd8e7;
  border-radius: 10px;
  padding: 14px;
  color: #66758a;
  text-align: center;
  font-size: 13px;
}

.pm-em-confirm-footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid #e5edf7;
  background: #fff;
}

@media (max-height: 760px) {
  #pmEmSyncConfirmModal {
    padding: 12px;
  }

  .pm-em-confirm-modal {
    height: calc(100vh - 24px);
    height: calc(100dvh - 24px);
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }
}

@media (max-width: 760px) {
  .pm-em-confirm-field-grid,
  .pm-em-confirm-search-results {
    grid-template-columns: 1fr;
  }

  .pm-em-confirm-card-head,
  .pm-em-confirm-reviewer,
  .pm-em-confirm-search-row,
  .pm-em-confirm-footer {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
}

/* Keep dense PRMEDI manuscript tables readable without widening the page. */
#mainPage .pm-page .pm-library-table-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin;
}

#mainPage .pm-page .pm-library-table-wrap .pm-library-table {
  width: max(100%, 1540px) !important;
  min-width: 1540px !important;
  max-width: none !important;
  table-layout: fixed !important;
}

#mainPage .pm-page .pm-library-table .pm-no-cell {
  width: 148px !important;
  min-width: 148px !important;
  max-width: 148px !important;
}

#mainPage .pm-page .pm-library-table .pm-author-cell .pm-cell-content {
  overflow-wrap: break-word;
  word-break: normal;
}

/* Media generation progress modal: clearer motion, state and hierarchy. */
.pm-media-progress-modal {
  width: min(1180px, calc(100vw - 48px));
  grid-template-rows: auto minmax(0, 1fr) minmax(132px, .34fr) auto;
  border-color: #cfddeb;
  border-radius: 20px;
  background: #f8fbfd;
  box-shadow: 0 34px 90px rgba(15, 31, 56, .30);
}

.pm-media-progress-head {
  padding: 22px 26px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, .10) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #ffffff 0%, #eef7fb 100%);
  background-size: 28px 28px, auto;
}

.pm-media-progress-head span {
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pm-media-progress-head strong {
  font-size: 24px;
}

.pm-media-progress-body {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  gap: 22px;
  padding: 24px 26px;
  background: #f4f8fb;
}

.pm-media-progress-visual {
  position: relative;
  min-height: 430px;
  gap: 14px;
  padding: 28px;
  overflow: hidden;
  border-color: #d4e4ee;
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, .08) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, #ffffff 0%, #f0f8fb 100%);
  background-size: 32px 32px, auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), 0 16px 36px rgba(24, 48, 82, .06);
}

.pm-media-progress-dial {
  position: relative;
  width: 168px;
  height: 168px;
  display: grid;
  place-items: center;
}

.pm-media-progress-ring {
  width: 168px;
  height: 168px;
  background:
    radial-gradient(circle at center, #ffffff 0 42%, transparent 43%),
    conic-gradient(from 0deg, #0f766e 0 calc(var(--pm-progress, 0) * 1%), #d9e8f0 0 100%);
  box-shadow: 0 22px 52px rgba(15, 118, 110, .20);
  animation: pmMediaProgressBreathe 2.4s ease-in-out infinite;
}

.pm-media-progress-ring::before {
  content: '';
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  border: 1px solid rgba(20, 127, 189, .18);
  border-top-color: rgba(15, 118, 110, .72);
  animation: pmMediaProgressOrbit 3.2s linear infinite;
}

.pm-media-progress-ring span:nth-child(1) {
  inset: 28px;
  border: 1px solid #d6e8ee;
  background: rgba(255, 255, 255, .92);
}

.pm-media-progress-ring span:nth-child(2) {
  inset: 48px;
  border: 1px solid rgba(15, 118, 110, .14);
  background: #edf8f5;
}

.pm-media-progress-ring span:nth-child(3) {
  inset: 68px;
  background: #0f766e;
  box-shadow: 0 0 0 10px rgba(15, 118, 110, .10);
}

.pm-media-progress-scan {
  position: absolute;
  inset: 16px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  pointer-events: none;
}

.pm-media-progress-scan i {
  position: absolute;
  width: 132px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(20, 127, 189, .42), transparent);
  animation: pmMediaProgressScan 2.1s ease-in-out infinite;
}

.pm-media-progress-scan i:nth-child(2) {
  width: 104px;
  transform: rotate(60deg);
  animation-delay: .26s;
}

.pm-media-progress-scan i:nth-child(3) {
  width: 82px;
  transform: rotate(120deg);
  animation-delay: .52s;
}

.pm-media-progress-percent {
  margin-top: -2px;
  color: #0f766e;
  font-size: 28px;
  line-height: 1;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.pm-media-progress-current {
  width: min(100%, 360px);
  display: grid;
  gap: 6px;
  margin-top: 2px;
  padding: 14px 16px;
  border: 1px solid #d6e5ef;
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  text-align: left;
}

.pm-media-progress-current span {
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
}

.pm-media-progress-current b {
  color: #10233f;
  font-size: 15px;
  line-height: 1.35;
}

.pm-media-progress-current small {
  color: #60758f;
  font-size: 12px;
  line-height: 1.5;
}

.pm-media-progress-steps {
  align-content: stretch;
  gap: 9px;
  padding: 16px;
  border: 1px solid #d8e5ef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(24, 48, 82, .06);
}

.pm-media-progress-steps-head {
  display: grid;
  gap: 10px;
  padding: 2px 0 8px;
}

.pm-media-progress-steps-head > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.pm-media-progress-steps-head strong {
  color: #10233f;
  font-size: 16px;
  font-weight: 950;
}

.pm-media-progress-steps-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.pm-media-progress-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5edf4;
}

.pm-media-progress-bar i {
  display: block;
  width: calc(var(--pm-progress, 0) * 1%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f766e, #147fbd);
  transition: width .35s ease;
}

.pm-media-progress-steps .pm-media-process-step {
  position: relative;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid #e2ebf3;
  border-radius: 13px;
  background: #fbfdff;
}

.pm-media-progress-steps .pm-media-process-step::before {
  content: '';
  position: absolute;
  left: 29px;
  top: 45px;
  bottom: -14px;
  width: 2px;
  background: #d8e5ef;
}

.pm-media-progress-steps .pm-media-process-step:last-child::before {
  display: none;
}

.pm-media-progress-steps .pm-media-process-step i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #eef4f8;
  color: #60758f;
  font-weight: 950;
  font-style: normal;
}

.pm-media-progress-steps .pm-media-process-step strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #10233f;
  font-size: 14px;
}

.pm-media-progress-steps .pm-media-process-step strong small {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef4f8;
  color: #64748b;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
}

.pm-media-progress-steps .pm-media-process-step span {
  margin-top: 5px;
  color: #60758f;
  line-height: 1.45;
}

.pm-media-progress-steps .pm-media-process-step.is-active {
  border-color: #9ed8cf;
  background: linear-gradient(180deg, #f6fffc 0%, #ffffff 100%);
  box-shadow: 0 12px 26px rgba(15, 118, 110, .10);
}

.pm-media-progress-steps .pm-media-process-step.is-active::before,
.pm-media-progress-steps .pm-media-process-step.is-done::before {
  background: #8fd7cb;
}

.pm-media-progress-steps .pm-media-process-step.is-active i {
  background: linear-gradient(135deg, #0f766e, #147fbd);
  color: #ffffff;
  box-shadow: 0 0 0 6px rgba(15, 118, 110, .10);
  animation: pmMediaStepPulse 1.8s ease-in-out infinite;
}

.pm-media-progress-steps .pm-media-process-step.is-active strong small {
  background: #e6f8f3;
  color: #0f766e;
}

.pm-media-progress-steps .pm-media-process-step.is-done {
  border-color: #d7eadf;
  background: #f7fcf9;
}

.pm-media-progress-steps .pm-media-process-step.is-done i {
  background: #0f766e;
  color: #ffffff;
}

.pm-media-progress-steps .pm-media-process-step.is-done strong small {
  background: #e8f7ef;
  color: #14743a;
}

.pm-media-progress-log {
  padding: 18px 26px;
  border-top-color: #dfe8f2;
}

.pm-media-progress-log-head strong {
  font-size: 15px;
}

.pm-media-progress-log-head span {
  color: #64748b;
  font-weight: 850;
}

.pm-media-progress-log-list {
  max-height: 190px;
  gap: 7px;
  padding-right: 0;
}

.pm-media-progress-log .pm-media-log-empty,
.pm-media-progress-log .pm-media-log-item {
  border: 1px solid #e2ebf3;
  border-radius: 12px;
  background: #f8fbfe;
}

.pm-media-progress-log .pm-media-log-item {
  display: grid;
  grid-template-columns: 82px 74px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 46px;
  padding: 9px 14px;
  color: #475569;
  font-size: 13px;
}

.pm-media-progress-log .pm-media-log-item span {
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

.pm-media-progress-log .pm-media-log-item strong {
  color: #10233f;
}

.pm-media-progress-log .pm-media-log-item em {
  min-width: 0;
  color: #334155;
  font-style: normal;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pm-media-progress-log .pm-media-log-item em small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
}

.pm-media-progress-log .pm-media-log-done {
  border-color: #c9ead7;
  background: #f0fdf4;
}

.pm-media-progress-log .pm-media-log-active {
  border-color: #b9e4dd;
  background: #f2fffb;
}

.pm-media-progress-log .pm-media-log-warn {
  border-color: #f0d8a8;
  background: #fffbeb;
}

.pm-media-progress-log .pm-media-log-error {
  border-color: #f4c7c7;
  background: #fff5f5;
}

.pm-media-progress-footer {
  padding: 16px 26px;
  background: #ffffff;
}

.pm-media-progress-visual.is-done .pm-media-progress-ring {
  background:
    radial-gradient(circle at center, #ffffff 0 42%, transparent 43%),
    conic-gradient(from 0deg, #16a34a 0 100%);
}

.pm-media-progress-visual.is-error .pm-media-progress-ring {
  background:
    radial-gradient(circle at center, #ffffff 0 42%, transparent 43%),
    conic-gradient(from 0deg, #dc2626 0 calc(var(--pm-progress, 0) * 1%), #f1d8d8 0 100%);
}

@keyframes pmMediaProgressOrbit {
  to { transform: rotate(360deg); }
}

@keyframes pmMediaProgressBreathe {
  0%, 100% { transform: scale(1); filter: saturate(1); }
  50% { transform: scale(1.025); filter: saturate(1.12); }
}

@keyframes pmMediaProgressScan {
  0%, 100% { opacity: .28; }
  50% { opacity: .88; }
}

@keyframes pmMediaStepPulse {
  0%, 100% { box-shadow: 0 0 0 5px rgba(15, 118, 110, .10); }
  50% { box-shadow: 0 0 0 9px rgba(20, 127, 189, .14); }
}

@media (prefers-reduced-motion: reduce) {
  .pm-media-progress-ring,
  .pm-media-progress-ring::before,
  .pm-media-progress-scan i,
  .pm-media-progress-steps .pm-media-process-step.is-active i {
    animation: none !important;
  }
}

@media (max-width: 900px) {
.pm-media-progress-modal {
    width: calc(100vw - 24px);
  }

  .pm-media-progress-body {
    grid-template-columns: 1fr;
  }

  .pm-media-progress-visual {
    min-height: 360px;
  }

  .pm-media-progress-log .pm-media-log-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .pm-media-progress-log .pm-media-log-item strong {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .pm-media-progress-log .pm-media-log-item em {
    grid-column: 1 / -1;
  }
}

@media (max-height: 760px) {
  .pm-media-progress-modal {
    height: calc(100vh - 40px);
    max-height: calc(100vh - 40px);
    grid-template-rows: auto minmax(0, 1fr) minmax(108px, .2fr) auto;
  }

  .pm-media-progress-head {
    padding: 16px 26px;
  }

  .pm-media-progress-head strong {
    font-size: 22px;
  }

  .pm-media-progress-body {
    padding: 18px 26px;
    gap: 18px;
  }

  .pm-media-progress-visual {
    min-height: 0;
    gap: 8px;
    padding: 16px 18px;
  }

  .pm-media-progress-dial,
  .pm-media-progress-ring {
    width: 128px;
    height: 128px;
  }

  .pm-media-progress-ring span:nth-child(1) { inset: 22px; }
  .pm-media-progress-ring span:nth-child(2) { inset: 38px; }
  .pm-media-progress-ring span:nth-child(3) { inset: 52px; }

  .pm-media-progress-scan i {
    width: 96px;
  }

  .pm-media-progress-percent {
    font-size: 24px;
  }

  .pm-media-progress-visual p {
    max-width: 340px;
    font-size: 13px;
    line-height: 1.5;
  }

  .pm-media-progress-current {
    padding: 10px 12px;
  }

  .pm-media-progress-current small {
    display: none;
  }

  .pm-media-progress-steps {
    gap: 6px;
    padding: 12px;
    overflow: auto;
  }

  .pm-media-progress-steps-head {
    gap: 8px;
    padding-bottom: 5px;
  }

  .pm-media-progress-steps .pm-media-process-step {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 38px;
    padding: 5px 9px;
    align-items: center;
    overflow: hidden;
  }

  .pm-media-progress-steps .pm-media-process-step::before {
    left: 24px;
    top: 33px;
    bottom: -10px;
  }

  .pm-media-progress-steps .pm-media-process-step i {
    width: 28px;
    height: 28px;
    border-radius: 10px;
  }

  .pm-media-progress-steps .pm-media-process-step > div {
    min-width: 0;
    overflow: hidden;
  }

  .pm-media-progress-steps .pm-media-process-step strong {
    font-size: 13px;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .pm-media-progress-steps .pm-media-process-step strong small {
    padding: 3px 7px;
    margin-left: 8px;
  }

  .pm-media-progress-steps .pm-media-process-step span {
    display: none;
  }

  .pm-media-progress-log {
    padding: 12px 26px;
  }

  .pm-media-progress-log-list {
    max-height: 92px;
  }

  .pm-media-progress-footer {
    padding: 12px 26px;
  }
}

/* Issue grouping: keep the workspace single-column and avoid horizontal page drift. */
#mainPage .pm-issue-grouping-page {
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

#mainPage .pm-issue-grouping-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 35, 75, .05);
}

#mainPage .pm-issue-grouping-summary {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: #637083;
  white-space: nowrap;
}

#mainPage .pm-issue-grouping-summary strong {
  color: #17315f;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}

#mainPage .pm-issue-grouping-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}

#mainPage .pm-issue-target-select {
  display: grid;
  grid-template-columns: auto minmax(180px, 260px);
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#mainPage .pm-issue-target-select span,
.pm-issue-create-form label span {
  color: #475569;
  font-size: 13px;
  font-weight: 800;
}

#mainPage .pm-issue-target-select .form-input {
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
}

#mainPage .pm-issue-grouping-table,
#mainPage .pm-issue-grouping-table .pm-library-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table-wrap .pm-library-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table th,
#mainPage .pm-issue-grouping-table .pm-library-table td {
  padding: 10px 9px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-detail-head,
#mainPage .pm-issue-grouping-table .pm-library-table .pm-detail-cell {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-select-cell {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-no-cell {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-title-cell {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-title-text {
  font-size: 13px;
  line-height: 1.5;
}

#mainPage .pm-issue-grouping-table .pm-library-table .pm-status-cell {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-left: 9px !important;
  padding-right: 9px !important;
}

.pm-issue-management-modal {
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.pm-issue-management-dialog {
  width: min(820px, calc(100vw - 48px));
  max-height: calc(100vh - 64px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border-radius: 12px;
}

.pm-issue-management-head {
  background: #fbfcff;
}

.pm-issue-management-body {
  display: grid;
  gap: 16px;
  padding: 18px 20px;
  overflow-y: auto;
  background: #f6f8fb;
}

.pm-issue-create-form {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) minmax(120px, .55fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 14px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #ffffff;
}

.pm-issue-create-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.pm-issue-create-form .form-input {
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
}

.pm-issue-current-list {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #e4e9f2;
  border-radius: 8px;
  background: #ffffff;
}

.pm-issue-current-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pm-issue-current-head strong {
  color: #172033;
  font-size: 15px;
}

.pm-issue-current-head span {
  color: #637083;
  font-size: 13px;
}

.pm-issue-current-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.pm-issue-current-item {
  min-height: 64px;
  display: grid;
  gap: 5px;
  justify-items: start;
  padding: 12px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #f8fafc;
  color: #172033;
  cursor: pointer;
  text-align: left;
}

.pm-issue-current-item:hover {
  border-color: #9ed8cf;
  background: #f4fbf9;
}

.pm-issue-current-item strong {
  color: #17315f;
  font-size: 14px;
}

.pm-issue-current-item span,
.pm-issue-current-empty {
  color: #637083;
  font-size: 13px;
}

.pm-issue-management-footer {
  background: #ffffff;
}

@media (max-width: 1100px) {
  #mainPage .pm-issue-grouping-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  #mainPage .pm-issue-grouping-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  #mainPage .pm-issue-target-select,
  .pm-issue-create-form {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-issue-grouping-actions .btn,
  #mainPage .pm-issue-target-select {
    width: 100%;
  }
}

/* 整期组稿 · 已组稿期次与未组稿稿件分区 */
#mainPage .pm-issue-grouping-overview,
#mainPage .pm-issue-grouping-candidate-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2e9f3;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(18, 42, 74, .06);
}

#mainPage .pm-issue-grouping-subhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  margin-bottom: 12px;
  border: 1px solid #dfe8f3;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(18, 42, 74, .06);
}

#mainPage .pm-issue-grouping-subnav .pm-workflow-subtabs {
  width: auto;
  max-width: 100%;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  grid-template-columns: none;
  margin-bottom: 12px;
}

#mainPage .pm-issue-grouping-subnav .pm-workflow-subtab {
  flex: 0 0 auto;
  min-height: 44px;
  border-radius: 8px;
}

#mainPage .pm-issue-subpage-panel {
  animation: pmIssueSubpageIn .18s ease-out;
}

@keyframes pmIssueSubpageIn {
  from {
    opacity: .72;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #mainPage .pm-issue-subpage-panel {
    animation: none;
  }
}

#mainPage .pm-issue-grouping-overview-head,
#mainPage .pm-issue-grouping-candidate-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid #e7edf6;
  background: linear-gradient(180deg, #fbfdff 0%, #f6f9fd 100%);
}

#mainPage .pm-issue-grouping-overview-copy {
  min-width: 0;
}

#mainPage .pm-issue-grouping-overview-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
}

#mainPage .pm-issue-management-top-btn {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 8px;
  font-weight: 900;
  white-space: nowrap;
}

#mainPage .pm-issue-grouping-overview .pm-issue-year-groups {
  padding: 16px 18px 18px;
}

#mainPage .pm-issue-grouping-candidate-card .pm-issue-grouping-toolbar {
  margin: 0;
  border-width: 0 0 1px 0;
  border-radius: 0;
  box-shadow: none;
  background: #ffffff;
}

#mainPage .pm-issue-grouping-summary {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 3px 7px;
  white-space: normal;
}

#mainPage .pm-issue-grouping-summary em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
}

#mainPage .pm-issue-grouping-table {
  border-radius: 0;
  background: #ffffff;
}

.pm-issue-year-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.pm-issue-year-toggle:focus-visible {
  outline: 2px solid rgba(22, 133, 106, .34);
  outline-offset: 3px;
  border-radius: 999px;
}

.pm-issue-year-caret {
  width: 8px;
  height: 8px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(45deg) translateY(-1px);
  transition: transform .18s ease;
}

.pm-issue-year-body {
  min-width: 0;
}

.pm-issue-year-section.is-collapsed .pm-issue-year-body {
  display: none;
}

.pm-issue-year-section.is-collapsed .pm-issue-year-caret {
  transform: rotate(-45deg);
}

@media (max-width: 900px) {
  #mainPage .pm-issue-grouping-subhead {
    align-items: stretch;
    flex-direction: column;
  }

  #mainPage .pm-issue-grouping-subnav .pm-workflow-subtabs {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-issue-grouping-overview-head,
  #mainPage .pm-issue-grouping-candidate-head {
    align-items: stretch;
    flex-direction: column;
  }

  #mainPage .pm-issue-grouping-overview-actions {
    justify-content: space-between;
  }
}

@media (max-width: 560px) {
  #mainPage .pm-issue-grouping-overview-actions {
    align-items: stretch;
    flex-direction: column;
  }

  #mainPage .pm-issue-management-top-btn {
    width: 100%;
  }
}
/* 媒体推广：PDF 检索、正文翻译与图文生成工具面板 */
#mainPage .pm-media-editor-shell {
  padding: 18px;
  border: 1px solid #d9e6ed;
  border-radius: 12px;
  background: #f5f8f7;
}

#mainPage .pm-media-editor-body {
  grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

#mainPage .pm-media-editor-center,
#mainPage .pm-media-wechat-canvas,
#mainPage .pm-media-recommend-canvas {
  min-width: 0;
}

#mainPage .pm-media-tools-panel {
  padding: 16px;
  border-color: #d9e6ed;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(22, 43, 70, .055);
}

#mainPage .pm-media-tools-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f6;
}

#mainPage .pm-media-tools-head strong {
  display: block;
  margin-top: 3px;
  color: #10233f;
  font-size: 15px;
  line-height: 1.35;
}

#mainPage .pm-media-tools-head small {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef6ff;
  color: #166088;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

#mainPage .pm-media-tool-list {
  display: grid;
  gap: 10px;
}

#mainPage .pm-media-tool-item {
  width: 100%;
  min-height: 72px;
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr) auto;
  grid-template-areas:
    "dot body status"
    "dot body action";
  gap: 4px 11px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e1eaf2;
  border-radius: 8px;
  background: #fbfdff;
  color: #172033;
  cursor: pointer;
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}

#mainPage .pm-media-tool-item:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #9ed8cf;
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 118, 110, .09);
}

#mainPage .pm-media-tool-item:disabled {
  cursor: not-allowed;
  opacity: .62;
}

#mainPage .pm-media-tool-item i {
  grid-area: dot;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #b9c7d7;
  box-shadow: 0 0 0 5px rgba(185, 199, 215, .16);
}

#mainPage .pm-media-tool-item.is-done i {
  background: #0f766e;
  box-shadow: 0 0 0 5px rgba(15, 118, 110, .14);
}

#mainPage .pm-media-tool-item span {
  grid-area: body;
  min-width: 0;
  display: grid;
  gap: 4px;
}

#mainPage .pm-media-tool-item b {
  color: #10233f;
  font-size: 14px;
  line-height: 1.3;
}

#mainPage .pm-media-tool-item em {
  color: #5d7188;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#mainPage .pm-media-tool-item strong {
  grid-area: status;
  justify-self: end;
  max-width: 108px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #496176;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

#mainPage .pm-media-tool-item.is-done strong {
  background: #e7f7ef;
  color: #11653f;
}

#mainPage .pm-media-tool-item small {
  grid-area: action;
  justify-self: end;
  color: #0f766e;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.pm-media-pdf-choice-modal {
  width: min(840px, calc(100vw - 48px));
}

.pm-media-pdf-choice-modal .pm-media-pdf-body {
  background: #fbfdff;
}

.pm-media-pdf-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-media-pdf-status-grid > div {
  min-height: 96px;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border: 1px solid #dfe8f2;
  border-radius: 12px;
  background: #ffffff;
}

.pm-media-pdf-status-grid b {
  color: #10233f;
  font-size: 15px;
}

.pm-media-pdf-status-grid span {
  color: #5d7188;
  font-size: 13px;
  line-height: 1.6;
}

.pm-media-pdf-alert {
  display: grid;
  gap: 5px;
  padding: 13px 15px;
  border: 1px solid #f1c98b;
  border-radius: 12px;
  background: #fff8eb;
}

.pm-media-pdf-alert strong {
  color: #915c12;
  font-size: 14px;
}

.pm-media-pdf-alert span {
  color: #7a5b24;
  font-size: 13px;
  line-height: 1.55;
}

.pm-media-pdf-choice-actions {
  flex-wrap: wrap;
}

.pm-media-pdf-choice-actions .btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

#mainPage .pm-media-sidebar-draft-card strong,
#mainPage .pm-media-sidebar-paper span,
#mainPage .pm-media-recommend-card h3,
#mainPage .pm-media-title-en,
#mainPage .pm-media-abstract-zh,
#mainPage .pm-media-reason {
  overflow-wrap: anywhere;
}

@media (max-width: 1180px) {
  #mainPage .pm-media-editor-shell {
    padding: 14px;
  }

  #mainPage .pm-media-editor-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .pm-media-pdf-status-grid {
    grid-template-columns: 1fr;
  }

  .pm-media-pdf-choice-actions .btn {
    width: 100%;
  }

  #mainPage .pm-media-tool-item {
    grid-template-columns: 13px minmax(0, 1fr);
    grid-template-areas:
      "dot body"
      "dot status"
      "dot action";
  }

  #mainPage .pm-media-tool-item strong,
  #mainPage .pm-media-tool-item small {
    justify-self: start;
  }
}
/* 整期组稿：紧凑型组稿目次工作台 */
#mainPage .pm-issue-grouping-page {
  display: grid;
  gap: 14px;
}

#mainPage .pm-issue-grouping-subhead.pm-issue-compact-head {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  margin: 0;
  border: 1px solid #dce6f1;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(18, 42, 74, .045);
}

#mainPage .pm-issue-title-block {
  min-width: 0;
  display: grid;
  gap: 3px;
}

#mainPage .pm-issue-title-block > span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

#mainPage .pm-issue-title-block .pm-section-title {
  color: #10233f;
  font-size: 21px;
  line-height: 1.25;
}

#mainPage .pm-issue-title-block .pm-section-subtitle {
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

#mainPage .pm-issue-head-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(74px, auto));
  gap: 8px;
  padding: 4px;
  border: 1px solid #e6edf5;
  border-radius: 8px;
  background: #f8fafc;
}

#mainPage .pm-issue-head-stats > div {
  min-width: 74px;
  display: grid;
  gap: 2px;
  justify-items: center;
  padding: 7px 10px;
  border-radius: 7px;
  background: #ffffff;
}

#mainPage .pm-issue-head-stats strong {
  color: #17315f;
  font-size: 17px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

#mainPage .pm-issue-head-stats span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

#mainPage .pm-issue-management-top-btn {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 8px;
  background: #17315f;
  border-color: #17315f;
  box-shadow: 0 8px 18px rgba(23, 49, 95, .16);
}

#mainPage .pm-issue-grouping-subnav {
  margin: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
}

#mainPage .pm-issue-segment-tabs {
  width: min(100%, 860px);
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(210px, 1fr));
  align-items: stretch;
  justify-content: center;
  gap: 16px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
}

#mainPage .pm-issue-segment-tab {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  grid-template-areas:
    "label count"
    "desc count";
  gap: 4px 16px;
  align-items: center;
  overflow: hidden;
  padding: 14px 16px 14px 18px;
  border: 1px solid #dce6f1;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #334155;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 10px 24px rgba(18, 42, 74, .06);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

#mainPage .pm-issue-segment-tab:hover {
  transform: translateY(-1px);
  border-color: #c5d6e8;
  background: #ffffff;
  box-shadow: 0 14px 28px rgba(18, 42, 74, .09);
}

#mainPage .pm-issue-segment-tab.is-active {
  border-color: #85cfc3;
  background: linear-gradient(180deg, #f8fffc 0%, #eefbf6 100%);
  box-shadow: 0 16px 30px rgba(15, 118, 110, .12);
}

#mainPage .pm-issue-segment-tab.is-active::before {
  content: '';
  position: absolute;
  left: 18px;
  bottom: -1px;
  width: 62px;
  height: 3px;
  border-radius: 999px;
  background: #0f766e;
}

#mainPage .pm-issue-segment-tab span {
  grid-area: label;
  min-width: 0;
  color: #10233f;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#mainPage .pm-issue-segment-tab em {
  grid-area: desc;
  min-width: 0;
  color: #64748b;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#mainPage .pm-issue-segment-tab strong {
  grid-area: count;
  min-width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #edf4ff;
  color: #17315f;
  font-size: 20px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  box-shadow: inset 0 0 0 1px rgba(23, 49, 95, .06);
}

#mainPage .pm-issue-segment-tab:nth-child(2) strong {
  background: #eef6ff;
  color: #1d4d8f;
}

#mainPage .pm-issue-segment-tab:nth-child(3) strong {
  background: #fff7ed;
  color: #b45309;
}

#mainPage .pm-issue-segment-tab.is-active strong {
  background: #e4f6f1;
  color: #0f766e;
}

#mainPage .pm-issue-grouping-overview,
#mainPage .pm-issue-grouping-candidate-card {
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(18, 42, 74, .045);
}

@media (max-width: 1100px) {
  #mainPage .pm-issue-grouping-subhead.pm-issue-compact-head {
    grid-template-columns: 1fr auto;
  }

  #mainPage .pm-issue-head-stats {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
}

@media (max-width: 760px) {
  #mainPage .pm-issue-grouping-subhead.pm-issue-compact-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  #mainPage .pm-issue-head-stats {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-issue-grouping-subnav {
    width: 100%;
    overflow-x: visible;
    padding-bottom: 0;
  }

  #mainPage .pm-issue-segment-tabs {
    width: 100%;
    max-width: none;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  #mainPage .pm-issue-segment-tab {
    min-width: 0;
    max-width: none;
  }

  #mainPage .pm-issue-management-top-btn {
    width: 100%;
  }
}

/* Codex media promotion progress modal stabilization */
#pmMediaPdfLookupModal {
  z-index: 10050;
}

#pmMediaPdfUploadModal {
  z-index: 10060;
}

.pm-media-progress-modal {
  width: min(1180px, calc(100vw - 40px));
  height: min(940px, calc(100dvh - 24px));
  max-height: calc(100dvh - 24px);
  grid-template-rows: auto minmax(0, 1fr) 112px auto;
}

.pm-media-progress-body {
  overflow: hidden;
  align-items: stretch;
  grid-template-columns: minmax(300px, 0.92fr) minmax(380px, 1.08fr);
}

.pm-media-progress-visual {
  min-height: 0;
}

.pm-media-progress-steps {
  min-height: 0;
  gap: 7px;
  padding: 14px;
  align-content: start;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.pm-media-progress-steps .pm-media-process-step {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 50px;
  gap: 10px;
  padding: 8px 10px;
  align-items: start;
  overflow: visible;
}

.pm-media-progress-steps .pm-media-process-step i {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pm-media-progress-steps .pm-media-process-step::before {
  left: 25px;
  top: 39px;
  bottom: -11px;
}

.pm-media-progress-steps .pm-media-process-step > div,
.pm-media-progress-steps .pm-media-process-step strong {
  min-width: 0;
}

.pm-media-progress-steps .pm-media-process-step strong {
  font-size: 13px;
  line-height: 1.18;
}

.pm-media-progress-steps .pm-media-process-step span {
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.32;
}

.pm-media-progress-steps .pm-media-process-step strong small {
  padding: 3px 7px;
}

.pm-media-progress-log {
  min-height: 0;
}

.pm-media-progress-log-list {
  max-height: none;
  overflow: hidden;
  overscroll-behavior: contain;
}

.pm-media-pdf-upload-alert {
  border-color: #f0b76d;
  background: linear-gradient(180deg, #fffaf0 0%, #fff7e6 100%);
}

.pm-media-pdf-modal .pm-media-modal-actions {
  align-items: center;
  flex-wrap: wrap;
}

.pm-media-pdf-modal .pm-media-modal-actions .btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 900px) {
  .pm-media-progress-modal {
    width: calc(100vw - 24px);
    height: calc(100dvh - 24px);
  }

  .pm-media-progress-body {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .pm-media-progress-steps {
    max-height: none;
  }
}

@media (max-height: 760px) {
  .pm-media-progress-modal {
    height: calc(100dvh - 40px);
    max-height: calc(100dvh - 40px);
    grid-template-rows: auto minmax(0, 1fr) 96px auto;
  }

  .pm-media-progress-body {
    overflow: hidden;
  }

  .pm-media-progress-steps {
    overflow-y: auto;
  }
}
/* Media progress log compact mode: keep real-time status readable without nested scrollbars. */
.pm-media-progress-log {
  align-content: center;
}

.pm-media-progress-log-head {
  align-items: center;
}

.pm-media-progress-log-head span {
  min-width: 0;
  max-width: 52vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}

.pm-media-progress-log .pm-media-log-item span,
.pm-media-progress-log .pm-media-log-item strong {
  white-space: nowrap;
}

.pm-media-progress-log .pm-media-log-item strong {
  text-align: center;
}
/* Codex: simplify issue assembly header and place revision-review badge under manuscript title. */
#mainPage .pm-issue-grouping-subhead.pm-issue-compact-head {
  grid-template-columns: minmax(260px, 1fr) auto;
}

#mainPage .pm-issue-grouping-subhead .pm-issue-head-stats {
  display: none !important;
}

#mainPage .pm-issue-management-top-btn {
  justify-self: end;
}

.pm-rt-title-stack {
  display: grid;
  justify-items: start;
  gap: 7px;
  min-width: 0;
}

.pm-rt-title-stack > span {
  min-width: 0;
  color: inherit;
  font: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
}

.pm-chief-work-title-block > .pm-rt-revision-badge,
.pm-rt-title-stack .pm-rt-revision-badge {
  margin-top: 0;
}

@media (max-width: 760px) {
  #mainPage .pm-issue-grouping-subhead.pm-issue-compact-head {
    grid-template-columns: 1fr;
  }

  #mainPage .pm-issue-management-top-btn {
    justify-self: stretch;
  }
}
/* Unified segmented entry typography across PRMEDI workflow pages */
#mainPage {
  --pm-segment-entry-label-size: 15px;
  --pm-segment-entry-desc-size: 13px;
  --pm-segment-entry-count-size: 14px;
}

#mainPage .pm-review-source-filter button,
#mainPage .pm-associate-context-filter button,
#mainPage .pm-workflow-subtab,
#mainPage .pm-issue-segment-tab {
  font-family: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  letter-spacing: 0;
}

#mainPage .pm-review-source-filter button span,
#mainPage .pm-associate-context-filter button span,
#mainPage .pm-workflow-subtab span,
#mainPage .pm-issue-segment-tab span {
  font-size: var(--pm-segment-entry-label-size) !important;
  font-weight: 900 !important;
  line-height: 1.25;
  letter-spacing: 0;
}

#mainPage .pm-associate-context-filter button em,
#mainPage .pm-issue-segment-tab em {
  font-size: var(--pm-segment-entry-desc-size) !important;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0;
}

#mainPage .pm-review-source-filter button strong,
#mainPage .pm-associate-context-filter button strong,
#mainPage .pm-workflow-subtab strong,
#mainPage .pm-issue-segment-tab strong {
  font-size: var(--pm-segment-entry-count-size) !important;
  font-weight: 950 !important;
  line-height: 1;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

/* 媒体推广：公众号正文预览框架，参考中国全科医学的成稿画布 */
#mainPage .pm-media-wechat-canvas {
  width: min(100%, 940px);
  max-width: 940px;
  justify-self: center;
  overflow: hidden;
  border: 1px solid #dbe7f3;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(28, 48, 82, .08);
}

#mainPage .pm-media-wechat-title-block {
  padding: 24px 36px 14px;
  border-bottom: 1px solid #edf2f7;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

#mainPage .pm-media-wechat-title-block label {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
}

#mainPage .pm-media-wechat-title-block h1 {
  color: #102a56;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 900;
  letter-spacing: 0;
}

#mainPage .pm-media-wechat-meta-row {
  padding: 12px 36px 14px;
  border-bottom: 1px solid #edf2f7;
  background: #fbfdff;
}

#mainPage .pm-media-wechat-article {
  max-width: 860px;
  margin: 0 auto;
  padding: 30px 42px 38px;
  background: #ffffff;
  color: #303640;
  font-size: 15px;
  line-height: 1.95;
}

#mainPage .pm-media-wechat-article img {
  max-width: 100%;
  height: auto;
}

#mainPage .pm-media-editor-footer {
  padding: 10px 36px;
  border-top: 1px solid #edf2f7;
  background: #fbfdff;
}

@media (max-width: 760px) {
  #mainPage .pm-media-wechat-title-block,
  #mainPage .pm-media-wechat-meta-row,
  #mainPage .pm-media-wechat-article,
  #mainPage .pm-media-editor-footer {
    padding-left: 18px;
    padding-right: 18px;
  }

  #mainPage .pm-media-wechat-title-block h1 {
    font-size: 21px;
  }
}
/* PRMEDI English polishing workflow */
.pm-polishing-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.pm-polishing-metrics > div {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid #e0e8f3;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 12px rgba(15, 35, 75, .04);
}

.pm-polishing-metrics span {
  color: #66758a;
  font-size: 12px;
  font-weight: 700;
}

.pm-polishing-metrics strong {
  margin-top: 4px;
  color: #172033;
  font-size: 24px;
  line-height: 1;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.pm-polishing-list {
  display: grid;
  gap: 12px;
}

.pm-polishing-card {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 168px;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid #e0e8f3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 35, 75, .05);
}

.pm-polishing-card-status,
.pm-polishing-card-main,
.pm-polishing-actions {
  min-width: 0;
}

.pm-polishing-card-status {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.pm-polishing-state {
  border: 1px solid #dce6f2;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbff;
}

.pm-polishing-state span {
  display: block;
  color: #17396c;
  font-size: 15px;
  font-weight: 850;
}

.pm-polishing-state small {
  display: block;
  margin-top: 6px;
  color: #66758a;
  font-size: 12px;
  line-height: 1.55;
}

.pm-polishing-state-done {
  border-color: #bfe9d5;
  background: #eefaf4;
}

.pm-polishing-state-done span {
  color: #147d55;
}

.pm-polishing-state-sent,
.pm-polishing-state-active {
  border-color: #bdd7f5;
  background: #eef6ff;
}

.pm-polishing-state-sent span,
.pm-polishing-state-active span {
  color: #1d5fb4;
}

.pm-polishing-state-warn {
  border-color: #f2d58f;
  background: #fff8e6;
}

.pm-polishing-state-warn span {
  color: #8a5a00;
}

.pm-polishing-card-id {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.pm-polishing-card-id strong {
  color: #172033;
  font-size: 14px;
  font-weight: 850;
}

.pm-polishing-card-id span {
  color: #1d5fb4;
  font-size: 12px;
  font-weight: 750;
}

.pm-polishing-card h3 {
  margin: 0;
  color: #172033;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 850;
  letter-spacing: 0;
}

.pm-polishing-meta,
.pm-polishing-file-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.pm-polishing-meta span {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #5f6f84;
  font-size: 12px;
  background: #f5f8fc;
  border: 1px solid #e5edf6;
  border-radius: 999px;
  padding: 5px 9px;
}

.pm-polishing-file-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: 12px;
}

.pm-polishing-file-pill strong,
.pm-polishing-file-pill em {
  font-style: normal;
  white-space: nowrap;
}

.pm-polishing-file-pill.is-ready {
  background: #eefaf4;
  border-color: #c8ecd8;
  color: #147d55;
}

.pm-polishing-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
}

.pm-polishing-actions .pm-detail-btn,
.pm-polishing-actions .btn,
.pm-polishing-send {
  width: 100%;
}

.pm-polishing-modal-content {
  width: min(1180px, calc(100vw - 34px));
  max-height: calc(100vh - 42px);
  overflow: hidden;
  border-radius: 10px;
  background: #f6f8fb;
}

.pm-polishing-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid #dfe7f2;
  background: #fff;
}

.pm-polishing-eyebrow {
  color: #1d5fb4;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pm-polishing-modal-subtitle {
  margin-top: 5px;
  color: #65758a;
  font-size: 13px;
}

.pm-polishing-modal-grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr) 320px;
  gap: 14px;
  padding: 16px;
  max-height: calc(100vh - 132px);
  overflow: auto;
}

.pm-polishing-context-panel,
.pm-polishing-form-panel,
.pm-polishing-preview-panel {
  min-width: 0;
  border: 1px solid #e0e8f3;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.pm-polishing-manuscript-card {
  border: 1px solid #dce8f8;
  border-radius: 8px;
  background: #f8fbff;
  padding: 12px;
  margin-bottom: 14px;
}

.pm-polishing-manuscript-card span,
.pm-polishing-panel-title {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.pm-polishing-manuscript-card strong {
  display: block;
  margin-top: 4px;
  color: #172033;
  font-size: 16px;
  font-weight: 850;
}

.pm-polishing-manuscript-card p {
  margin: 8px 0 6px;
  color: #24364f;
  font-size: 13px;
  line-height: 1.5;
}

.pm-polishing-manuscript-card small {
  color: #64748b;
}

.pm-polishing-panel-title {
  margin: 12px 0 8px;
  color: #31435b;
}

.pm-polishing-file-chips,
.pm-polishing-task-list {
  display: grid;
  gap: 8px;
}

.pm-polishing-file-chip {
  display: grid;
  gap: 3px;
  border: 1px solid #e2eaf4;
  border-radius: 8px;
  background: #fbfdff;
  padding: 10px;
  min-width: 0;
}

.pm-polishing-file-chip strong {
  color: #1d5fb4;
  font-size: 12px;
}

.pm-polishing-file-chip em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #1f2d42;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

.pm-polishing-file-chip small {
  color: #64748b;
  font-size: 12px;
}

.pm-polishing-attachment-box {
  display: grid;
  gap: 10px;
}

.pm-polishing-file-chip-action {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.pm-polishing-file-chip-action strong,
.pm-polishing-file-chip-action em,
.pm-polishing-file-chip-action small {
  grid-column: 1;
}

.pm-polishing-file-actions {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.pm-polishing-file-actions button {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #bfd7ef;
  border-radius: 8px;
  background: #ffffff;
  color: #135a9e;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-polishing-file-actions button:hover {
  border-color: #135a9e;
  background: #edf6ff;
}

.pm-polishing-empty-line {
  border: 1px dashed #cbd8e8;
  border-radius: 8px;
  background: #f8fbff;
  color: #64748b;
  padding: 12px;
  font-size: 13px;
  line-height: 1.55;
}

.pm-polishing-task-row {
  border: 1px solid #e2eaf4;
  border-radius: 8px;
  padding: 9px 10px;
  background: #fbfdff;
}

.pm-polishing-task-row div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.pm-polishing-task-row strong,
.pm-polishing-task-row span,
.pm-polishing-task-row small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-polishing-task-row strong {
  color: #172033;
  font-size: 13px;
}

.pm-polishing-task-row span {
  color: #1d5fb4;
  font-size: 12px;
  font-weight: 800;
}

.pm-polishing-task-row small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
}

.pm-polishing-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-polishing-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pm-polishing-field span {
  color: #31435b;
  font-size: 13px;
  font-weight: 800;
}

.pm-polishing-field-wide {
  grid-column: 1 / -1;
}

.pm-polishing-textarea {
  resize: vertical;
  line-height: 1.6;
}

.pm-polishing-send-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}

.pm-polishing-send-status {
  min-height: 20px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
}

.pm-polishing-send-status.is-success {
  color: #147d55;
  font-weight: 750;
}

.pm-polishing-send-status.is-warning {
  color: #916300;
  font-weight: 750;
}

.pm-polishing-send-status.is-error {
  color: #b42318;
  font-weight: 750;
}

.pm-polishing-link-result {
  margin-top: 12px;
  border: 1px solid #c9dcf5;
  border-radius: 8px;
  background: #f5f9ff;
  padding: 12px;
}

.pm-polishing-link-result span {
  display: block;
  color: #31435b;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 5px;
}

.pm-polishing-link-result a {
  display: block;
  color: #1d5fb4;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  margin-bottom: 10px;
}

.pm-polishing-email-preview {
  border: 1px solid #e2eaf4;
  border-radius: 8px;
  background: #fbfdff;
  min-height: 360px;
  padding: 14px;
}

.pm-polishing-preview-subject {
  color: #172033;
  font-size: 15px;
  font-weight: 850;
  padding-bottom: 10px;
  border-bottom: 1px solid #e4ebf5;
  margin-bottom: 10px;
}

.pm-polishing-email-preview pre {
  margin: 0;
  color: #334155;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1180px) {
  .pm-polishing-card {
    grid-template-columns: 230px minmax(0, 1fr);
  }
  .pm-polishing-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-end;
  }
  .pm-polishing-actions .pm-detail-btn,
  .pm-polishing-actions .btn {
    width: auto;
  }
  .pm-polishing-modal-grid {
    grid-template-columns: 280px minmax(0, 1fr);
  }
  .pm-polishing-preview-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .pm-polishing-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pm-polishing-card,
  .pm-polishing-modal-grid,
  .pm-polishing-form-grid {
    grid-template-columns: 1fr;
  }
  .pm-polishing-actions,
  .pm-polishing-send-row {
    flex-direction: column;
    align-items: stretch;
  }
  .pm-polishing-actions .pm-detail-btn,
  .pm-polishing-actions .btn,
  .pm-polishing-send-row .btn {
    width: 100%;
  }
}
/* English polishing card redraw */
.pm-polishing-list {
  gap: 14px;
}

.pm-polishing-card {
  position: relative;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) minmax(180px, 210px);
  gap: 18px;
  align-items: center;
  padding: 18px 20px 18px 22px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(248, 251, 255, .98) 0%, #ffffff 30%, #ffffff 100%);
  box-shadow: 0 10px 26px rgba(15, 35, 75, .06);
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pm-polishing-card:hover {
  border-color: #bed1e8;
  box-shadow: 0 16px 34px rgba(15, 35, 75, .10);
  transform: translateY(-1px);
}

.pm-polishing-card::before {
  content: "";
  position: absolute;
  inset: 14px auto 14px 0;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: #1d5fb4;
}

.pm-polishing-card-done::before {
  background: #16815c;
}

.pm-polishing-card-warn::before {
  background: #b87918;
}

.pm-polishing-card-status {
  justify-content: center;
}

.pm-polishing-state {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-color: #d9e5f2;
  background: rgba(248, 251, 255, .92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

.pm-polishing-state span {
  font-size: 15px;
  line-height: 1.35;
}

.pm-polishing-state small {
  margin-top: 7px;
  color: #66758a;
  line-height: 1.55;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}

.pm-polishing-card-main {
  padding-right: 8px;
}

.pm-polishing-card-id {
  margin-bottom: 7px;
}

.pm-polishing-card-id strong {
  font-size: 15px;
  color: #10264d;
}

.pm-polishing-card-id > span:not(.pm-polishing-source-pill) {
  color: #2563eb;
  font-size: 13px;
}

.pm-polishing-source-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid #d8e4f1;
  border-radius: 999px;
  background: #f6f9fc;
  color: #526a86 !important;
  font-size: 12px !important;
  font-weight: 800;
}

.pm-polishing-card h3 {
  max-width: 980px;
  color: #13213a;
  font-size: 17px;
  line-height: 1.48;
  font-weight: 900;
}

.pm-polishing-meta {
  margin-top: 12px;
  gap: 8px;
}

.pm-polishing-meta span {
  max-width: min(360px, 48%);
  padding: 5px 10px;
  border-color: #dfe8f2;
  background: #f8fafc;
  color: #526176;
}

.pm-polishing-file-summary {
  margin-top: 10px;
  gap: 8px;
}

.pm-polishing-file-pill {
  min-height: 32px;
  padding: 6px 10px;
  border-color: #dfe7ef;
  background: #ffffff;
}

.pm-polishing-file-pill strong {
  color: #30455f;
  font-weight: 900;
}

.pm-polishing-file-pill em {
  color: #526176;
  font-weight: 750;
}

.pm-polishing-file-pill.is-ready {
  background: #effaf5;
  border-color: #bfebd4;
}

.pm-polishing-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-self: center;
  justify-content: stretch;
  gap: 8px;
}

.pm-polishing-actions .btn,
.pm-polishing-actions .pm-detail-btn,
.pm-polishing-send {
  width: 100%;
  min-height: 38px !important;
  height: 38px;
  border-radius: 8px !important;
  font-size: 13px;
  font-weight: 900;
  box-shadow: none;
}

.pm-polishing-actions .btn-secondary {
  border-color: #d8e3ef;
  background: #ffffff;
  color: #17315f;
}

.pm-polishing-actions .btn-secondary:hover {
  border-color: #b8cbe0;
  background: #f5f8fc;
}

.pm-polishing-actions .pm-polishing-send {
  border-color: #17315f;
  background: #17315f;
  color: #ffffff;
}

.pm-polishing-actions .pm-polishing-send:hover {
  background: #10264d;
}

.pm-polishing-actions .pm-polishing-next {
  border-color: #0f766e;
  background: #0f766e;
  color: #ffffff;
}

.pm-polishing-actions .pm-polishing-next:hover {
  background: #0b665f;
}

.pm-polishing-actions .pm-detail-btn {
  position: relative;
  gap: 7px;
  padding: 0 12px !important;
  border: 1px solid #cbd9ea !important;
  background: #ffffff !important;
  color: #17315f !important;
  transform: none !important;
}

.pm-polishing-actions .pm-detail-btn:hover {
  border-color: #a8bdd6 !important;
  background: #f4f8fd !important;
  box-shadow: none !important;
}

.pm-polishing-actions .pm-detail-btn::after {
  content: "查看详情";
  position: static;
  opacity: 1;
  transform: none;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.pm-polishing-actions .pm-detail-btn::before {
  content: none;
}

.pm-polishing-actions .pm-detail-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2.1;
}

@media (max-width: 1180px) {
  .pm-polishing-card {
    grid-template-columns: minmax(220px, 250px) minmax(0, 1fr);
  }

  .pm-polishing-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .pm-polishing-card {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .pm-polishing-actions {
    grid-template-columns: 1fr;
  }

  .pm-polishing-meta span {
    max-width: 100%;
  }
}
.pm-polishing-email-body .pm-polishing-inline-section {
  padding: 12px;
  border: 1px solid #dce6f2;
  border-radius: 8px;
  background: #fbfdff;
}

.pm-polishing-email-body .pm-email-form-grid {
  align-items: start;
}

.pm-polishing-email-body .pm-email-field {
  align-self: start;
  align-content: start;
}

.pm-polishing-email-body .pm-polishing-panel-title {
  margin: 0 0 8px;
  color: #31435b;
  font-size: 12px;
  font-weight: 900;
}

.pm-polishing-email-body .pm-polishing-file-chip,
.pm-polishing-email-body .pm-polishing-task-row,
.pm-polishing-email-body .pm-polishing-empty-line {
  background: #ffffff;
}

.pm-polishing-email-body .pm-polishing-task-list {
  max-height: 180px;
  overflow: auto;
}

.pm-polishing-email-body .pm-polishing-link-result {
  margin-top: 12px;
}
/* PRMEDI production cleanup modal */
.pm-file-section-action {
  margin-left: auto;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid #1d6d74;
  border-radius: 8px;
  background: #0d5c63;
  color: #fff;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
  transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pm-file-section-action:hover {
  background: #08494f;
  box-shadow: 0 8px 18px rgba(13, 92, 99, 0.18);
  transform: translateY(-1px);
}

.pm-file-section-title .pm-file-count {
  margin-left: 0;
}

.pm-new-polished-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid #d9e3ef;
  border-radius: 8px;
  background: #fff;
  color: #46576d;
}

.pm-new-polished-banner.is-active {
  border-color: #fecaca;
  background: #fff7f7;
  color: #8f1d1d;
}

.pm-new-polished-banner strong,
.pm-new-polished-banner span {
  display: block;
  line-height: 1.55;
}

.pm-new-polished-banner strong {
  font-size: 14px;
  font-weight: 850;
  color: #172033;
}

.pm-new-polished-banner.is-active strong {
  color: #991b1b;
}

.pm-new-polished-banner span {
  margin-top: 2px;
  font-size: 13px;
}

.pm-new-polished-row {
  background: #fffafa !important;
}

.pm-new-polished-row:hover {
  background: #fff3f3 !important;
}

.pm-new-polished-tip {
  display: inline-flex;
  align-items: center;
  margin-top: 7px;
  padding: 4px 8px;
  border: 1px solid #fecaca;
  border-radius: 999px;
  background: #fff1f2;
  color: #b42318;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.pm-new-polished-dot {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: #dc2626;
  border: 2px solid #fff;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .14);
}

.pm-detail-btn-new {
  border-color: rgba(220, 38, 38, .42);
  box-shadow: 0 8px 20px rgba(220, 38, 38, .20);
}


.pm-production-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 2800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.46);
}

.pm-production-modal {
  width: min(1320px, calc(100vw - 32px));
  max-height: calc(100vh - 36px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #cddbe8;
  border-radius: 8px;
  background: #f7fafc;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);
}

.pm-production-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px 16px;
  border-bottom: 1px solid #dce6ef;
  background: #fff;
}

.pm-production-kicker {
  color: #0d5c63;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pm-production-head h2 {
  margin: 4px 0 6px;
  color: #102744;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
}

.pm-production-head p {
  max-width: 820px;
  margin: 0;
  color: #526a86;
  font-size: 13px;
  line-height: 1.55;
}

.pm-production-close {
  width: 38px;
  height: 38px;
  border: 1px solid #d7e2ed;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.pm-production-close:hover {
  background: #f1f5f9;
}

.pm-production-body {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 12px;
  padding: 14px 20px 10px;
  overflow: visible;
}

.pm-production-panel,
.pm-production-result,
.pm-production-editor-wrap {
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 31, 56, 0.04);
}

.pm-production-panel {
  min-width: 0;
  padding: 14px;
}

.pm-production-panel-head,
.pm-production-result-head,
.pm-production-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.pm-production-panel-head {
  justify-content: flex-start;
  margin-bottom: 10px;
}

.pm-production-panel-head > span {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #0d5c63;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.pm-production-panel-head strong,
.pm-production-result-head strong,
.pm-production-editor-head strong {
  display: block;
  color: #102744;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 900;
}

.pm-production-panel-head small,
.pm-production-result-head span,
.pm-production-editor-head span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 650;
}

.pm-production-file-list {
  display: grid;
  gap: 8px;
}

.pm-production-file-empty,
.pm-production-ok-note {
  padding: 12px;
  border: 1px dashed #c8d8ea;
  border-radius: 8px;
  background: #f8fbff;
  color: #526a86;
  font-size: 13px;
  line-height: 1.55;
}

.pm-production-file-item,
.pm-production-attachment {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #fbfdff;
}

.pm-production-file-copy,
.pm-production-attachment {
  min-width: 0;
}

.pm-production-file-copy strong,
.pm-production-attachment strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #102744;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-production-file-copy span,
.pm-production-attachment span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.pm-production-link-btn,
.pm-production-attachment button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid #b7ccd9;
  border-radius: 8px;
  background: #fff;
  color: #0d5c63;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-production-link-btn:hover,
.pm-production-attachment button:hover {
  background: #edf8f6;
  border-color: #73b9ae;
}

.pm-production-attachment-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.pm-production-attachment .pm-production-attachment-delete {
  border-color: #fecaca;
  background: #fff;
  color: #b42318;
}

.pm-production-attachment .pm-production-attachment-delete:hover {
  border-color: #fca5a5;
  background: #fff1f2;
  color: #991b1b;
}

.pm-production-attachment .pm-production-attachment-delete:disabled {
  cursor: wait;
  opacity: 0.65;
}

.pm-production-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.pm-production-picker {
  min-width: 0;
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px dashed #9fb7cc;
  border-radius: 8px;
  background: #f8fbff;
  color: #23445f;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.pm-production-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.pm-production-picker span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-production-hint {
  margin-top: 9px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #526a86;
  font-size: 12px;
  line-height: 1.6;
}

.pm-production-attachments {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.pm-production-attachment-note {
  padding: 9px 11px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: #fffbeb;
  color: #8a5a04;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

.pm-production-attachment {
  align-items: flex-start;
  background: #fff8f1;
  border-color: #f1cda8;
}

.pm-production-attachments .pm-production-attachment {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.pm-production-attachments .pm-production-attachment span {
  margin-top: 0;
  color: #526a86;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.pm-production-attachments .pm-production-attachment strong {
  min-width: 0;
  line-height: 1.35;
  white-space: nowrap;
}

.pm-production-attachment.ready {
  background: #f2fbf8;
  border-color: #addccd;
}

.pm-production-attachments-locked {
  margin-bottom: 12px;
}

.pm-production-attachment-lock {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px dashed #bccbe0;
  border-radius: 8px;
  background: #f8fafc;
  color: #53677f;
}

.pm-production-attachment-lock strong {
  color: #27384f;
  font-size: 13px;
  font-weight: 900;
}

.pm-production-attachment-lock span {
  color: #64758b;
  font-size: 12px;
  line-height: 1.6;
}

.pm-production-send-btn,
.pm-production-generate-btn {
  min-height: 42px;
  white-space: nowrap;
}

.pm-production-status {
  flex: 0 0 auto;
  margin: 0 20px 10px;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 750;
}

.pm-production-status.is-working {
  border-color: #9ccfc6;
  background: #edf8f6;
  color: #0d5c63;
}

.pm-production-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(13, 92, 99, 0.18);
  border-top-color: #0d5c63;
  border-radius: 50%;
  animation: pmRecognitionSpin 0.8s linear infinite;
}

.pm-production-result,
.pm-production-editor-wrap {
  margin: 0 20px 12px;
  padding: 16px;
}

.pm-production-result-compact {
  flex: 0 0 auto;
  padding: 12px 14px;
}

.pm-production-warnings {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.pm-production-warnings div {
  padding: 10px 12px;
  border: 1px solid #f0d3a2;
  border-radius: 8px;
  background: #fff9ed;
  color: #8a5a13;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 650;
}

.pm-production-result-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.45;
}

.pm-production-result-summary strong {
  color: #102744;
  font-weight: 900;
  white-space: nowrap;
}

.pm-production-result-summary span {
  min-width: 0;
  overflow: hidden;
  color: #526a86;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-production-result-summary.is-ok {
  border: 1px solid #b8ddcf;
  background: #f0fbf7;
}

.pm-production-result-summary.is-warning {
  border: 1px solid #f0d3a2;
  background: #fff8eb;
}

.pm-production-result-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.pm-production-preview-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 3100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15, 23, 42, 0.52);
}

.pm-production-preview-modal {
  width: min(1180px, calc(100vw - 32px)) !important;
  height: calc(100vh - 36px) !important;
  max-height: calc(100vh - 36px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid #d8e4ef !important;
  border-radius: 10px !important;
  background: #f7fafc !important;
  box-shadow: 0 28px 82px rgba(15, 23, 42, 0.32) !important;
}

.pm-production-preview-head {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px 15px;
  border-bottom: 1px solid #dce6ef;
  background: #fff;
}

.pm-production-preview-head-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.pm-production-preview-head-actions .btn {
  min-height: 38px;
  padding: 0 14px;
  border-color: #bfd7ef;
  background: #f8fbff;
  color: #17315f;
  font-size: 13px;
  font-weight: 850;
}

.pm-production-preview-head-actions .btn:hover {
  border-color: #17315f;
  background: #eef6ff;
}

.pm-production-preview-head h3 {
  margin: 4px 0 5px;
  color: #102744;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 900;
}

.pm-production-preview-head p {
  margin: 0;
  color: #526a86;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 650;
}

.pm-production-preview-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 18px 20px;
  overflow: hidden;
}

.pm-production-preview-body.has-comments {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 14px;
}

.pm-production-preview-body .pm-production-editor {
  height: 100%;
  min-height: 0;
  max-height: none;
  padding: 28px 34px;
  font-size: 16px;
  line-height: 1.76;
}

.pm-production-comment-anchor {
  position: relative;
  padding: 1px 2px;
  border-radius: 3px;
  background: #fff3a3;
  box-shadow: inset 0 -2px 0 rgba(190, 132, 18, 0.32);
}

.pm-production-comment-anchor.is-active {
  background: #ffe07a;
  outline: 2px solid rgba(214, 162, 29, .48);
  outline-offset: 2px;
}

.pm-production-comment-anchor::after {
  content: none !important;
  display: none !important;
}

.pm-production-preview-comments {
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d9e4ef;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(15, 31, 56, 0.06);
}

.pm-production-preview-comments-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 13px;
  border-bottom: 1px solid #e3edf5;
  background: #f8fbff;
}

.pm-production-preview-comments-head strong {
  color: #102744;
  font-size: 13px;
  font-weight: 900;
}

.pm-production-preview-comments-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e8f4f2;
  color: #0d5c63;
  font-size: 12px;
  font-weight: 850;
}

.pm-production-preview-comments-list {
  min-height: 0;
  overflow: auto;
  padding: 10px;
}

.pm-production-preview-comment {
  position: relative;
  padding: 10px 11px;
  border: 1px solid #e1e9f2;
  border-radius: 8px;
  background: #fbfdff;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.pm-production-preview-comment:hover,
.pm-production-preview-comment.is-active {
  border-color: #94bfe7;
  background: #f3f8ff;
  box-shadow: 0 8px 18px rgba(29, 78, 137, .08);
}

.pm-production-preview-comment::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: #d6a21d;
}

.pm-production-preview-comment + .pm-production-preview-comment {
  margin-top: 9px;
}

.pm-production-preview-comment > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.pm-production-preview-comment strong {
  min-width: 0;
  overflow: hidden;
  color: #17315f;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-production-preview-comment span {
  flex: 0 0 auto;
  color: #7b8796;
  font-size: 11px;
  font-weight: 750;
}

.pm-production-preview-comment-delete {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid #fecaca;
  border-radius: 7px;
  background: #fff;
  color: #b42318;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.pm-production-preview-comment-delete:hover {
  background: #fff1f2;
  border-color: #fca5a5;
  color: #991b1b;
}

.pm-production-preview-comment small {
  display: block;
  margin-top: 7px;
  padding: 6px 7px;
  border-radius: 6px;
  background: #fff8db;
  color: #6f5410;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 750;
}

.pm-production-preview-comment p {
  margin: 7px 0 0;
  color: #344256;
  font-size: 13px;
  line-height: 1.62;
  white-space: pre-wrap;
}

.pm-production-preview-comment-empty {
  padding: 14px 12px;
  border: 1px dashed #c7d6e8;
  border-radius: 8px;
  background: #fbfdff;
  color: #64748b;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 650;
}

.pm-production-preview-foot {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 20px;
  border-top: 1px solid #dce6ef;
  background: #fff;
}

.pm-production-preview-save-status {
  flex: 1 1 auto;
  min-width: 180px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 750;
}

.pm-production-preview-save-working {
  color: #285a92;
}

.pm-production-preview-save-success {
  color: #116149;
}

.pm-production-preview-save-error {
  color: #b42318;
}

.pm-production-preview-doci-btn {
  border-color: #b9dfd6 !important;
  background: #f4fbf8 !important;
  color: #116149 !important;
  font-weight: 900 !important;
}

.pm-production-preview-doci-btn:hover {
  border-color: #116149 !important;
  background: #e9f7f1 !important;
}

.pm-production-warning-modal-wrap {
  z-index: 3000;
}

.pm-production-warning-modal {
  width: min(720px, calc(100vw - 32px)) !important;
  max-height: min(78vh, 760px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid #d8e4ef !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.pm-production-warning-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #e1ebf4;
  background: #f8fbff;
}

.pm-production-warning-head h3 {
  margin: 4px 0 0;
  color: #102744;
  font-size: 18px;
  font-weight: 900;
}

.pm-production-warning-body {
  max-height: calc(78vh - 86px);
  overflow: auto;
  padding: 16px 18px 18px;
}

.pm-production-editor-head {
  margin-bottom: 12px;
}

.pm-production-editor-wrap {
  flex: 1 1 auto;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pm-production-editor {
  flex: 1 1 auto;
  min-height: 240px;
  max-height: none;
  overflow: auto;
  padding: 22px 24px;
  border: 1px solid #d5e0ea;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-family: "Times New Roman", "Noto Sans SC", serif;
  font-size: 15px;
  line-height: 1.72;
  outline: none;
}

.pm-production-editor:focus {
  border-color: #0d5c63;
  box-shadow: 0 0 0 3px rgba(13, 92, 99, 0.12);
}

.pm-production-editor h1,
.pm-production-editor h2,
.pm-production-editor h3,
.pm-production-editor p {
  margin: 0 0 11px;
}

.pm-production-editor table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
}

.pm-production-editor td,
.pm-production-editor th {
  border: 1px solid #d7dee8;
  padding: 7px 9px;
  vertical-align: top;
}

@media (max-width: 980px) {
  .pm-production-body {
    grid-template-columns: 1fr;
  }

  .pm-production-upload-row {
    grid-template-columns: 1fr;
  }

  .pm-production-modal-wrap {
    padding: 10px;
  }

  .pm-production-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .pm-production-preview-modal-wrap {
    padding: 10px;
  }

  .pm-production-preview-modal {
    width: calc(100vw - 20px) !important;
    height: calc(100vh - 20px) !important;
    max-height: calc(100vh - 20px) !important;
  }

  .pm-production-preview-body {
    padding: 10px;
  }

  .pm-production-preview-body.has-comments {
    grid-template-columns: 1fr;
  }

  .pm-production-preview-comments {
    max-height: 220px;
  }

  .pm-production-preview-body .pm-production-editor {
    padding: 18px;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pm-file-section-action,
  .pm-production-spinner {
    animation: none;
    transition: none;
  }
}

.pm-ai-email-panel {
  margin-top: 14px;
  border: 1px solid #d7e5f3;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  box-shadow: 0 8px 22px rgba(15, 52, 120, 0.06);
  overflow: hidden;
}

.pm-ai-email-panel-detail {
  margin: 0 0 16px;
}

.pm-ai-email-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5eef8;
}

.pm-ai-email-kicker {
  margin-bottom: 3px;
  color: #2867a8;
  font-size: 12px;
  font-weight: 900;
}

.pm-ai-email-panel h4 {
  margin: 0;
  color: #102744;
  font-size: 16px;
  font-weight: 900;
}

.pm-ai-email-panel p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.pm-ai-email-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.pm-ai-email-log-list {
  padding: 10px 12px 12px;
}

.pm-ai-email-log-item {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #e6edf5;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.pm-ai-email-log-item + .pm-ai-email-log-item {
  margin-top: 8px;
}

.pm-ai-email-log-item:hover {
  border-color: #9bc2ed;
  box-shadow: 0 8px 18px rgba(15, 52, 120, 0.08);
  transform: translateY(-1px);
}

.pm-ai-email-log-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pm-ai-email-log-main strong {
  color: #102744;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.35;
}

.pm-ai-email-log-main span,
.pm-ai-email-log-main em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.pm-ai-email-log-main em {
  color: #b42318;
}

.pm-ai-email-log-side {
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
  gap: 4px;
  color: #64748b;
  font-size: 12px;
  white-space: nowrap;
}

.pm-ai-email-log-side span {
  padding: 3px 8px;
  border-radius: 999px;
  background: #eaf8f1;
  color: #17684d;
  font-weight: 850;
}

.pm-ai-email-log-failed .pm-ai-email-log-side span {
  background: #fff1f0;
  color: #b42318;
}

.pm-ai-email-log-skipped .pm-ai-email-log-side span,
.pm-ai-email-log-pending .pm-ai-email-log-side span {
  background: #fff7e6;
  color: #915930;
}

.pm-ai-email-log-empty {
  padding: 14px;
  border: 1px dashed #cbd9ea;
  border-radius: 8px;
  color: #64748b;
  background: #f8fbff;
  font-size: 13px;
  font-weight: 700;
}

.pm-ai-email-log-empty.error {
  border-color: #ffccc7;
  color: #b42318;
  background: #fff7f6;
}

.pm-ai-batch-email-modal {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 42px);
  display: flex;
  flex-direction: column;
}

.pm-ai-batch-email-head {
  border-bottom: 1px solid #e5eef8;
}

.pm-ai-batch-email-body {
  padding: 16px 18px;
  overflow: auto;
}

.pm-ai-batch-email-tools {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 10px;
}

.pm-ai-batch-email-list {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.pm-ai-batch-email-row {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid #dce8f5;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

.pm-ai-batch-email-row span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.pm-ai-batch-email-row strong {
  color: #12315d;
  font-size: 13px;
  font-weight: 900;
}

.pm-ai-batch-email-row em,
.pm-ai-batch-email-row small {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.pm-ai-batch-email-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 18px 16px;
  border-top: 1px solid #e5eef8;
}

.pm-email-records-modal {
  width: min(980px, calc(100vw - 36px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pm-email-records-modal-body {
  overflow: auto;
  padding: 16px;
  background: #f3f7fb;
}

.pm-email-records-modal-body .pm-ai-email-panel {
  margin-top: 0;
}

.pm-email-log-detail-modal {
  width: min(760px, calc(100vw - 36px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pm-email-log-detail-body {
  overflow: auto;
  padding: 16px 18px 20px;
  background: #f8fbff;
}

.pm-email-log-detail-subject {
  margin-bottom: 12px;
  color: #102744;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
}

.pm-email-log-detail-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.pm-email-log-detail-meta > div {
  padding: 10px 12px;
  border: 1px solid #dce8f5;
  border-radius: 8px;
  background: #fff;
}

.pm-email-log-detail-meta span {
  display: block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.pm-email-log-detail-meta strong {
  color: #102744;
  font-size: 13px;
  font-weight: 850;
  word-break: break-word;
}

.pm-email-log-detail-error {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid #ffccc7;
  border-radius: 8px;
  background: #fff7f6;
  color: #b42318;
  font-weight: 750;
}

.pm-email-log-detail-content {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #dce8f5;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  font-family: "Noto Sans SC", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
}

@media (max-width: 760px) {
  .pm-ai-email-panel-head,
  .pm-ai-email-log-item {
    flex-direction: column;
  }

  .pm-ai-email-actions,
  .pm-ai-email-log-side {
    justify-content: flex-start;
    justify-items: start;
  }

  .pm-email-log-detail-meta {
    grid-template-columns: 1fr;
  }
}
