:root {
  color-scheme: light;
  --bg: #f4f6f9;
  --surface: #ffffff;
  --ink: #182230;
  --muted: #697386;
  --line: #e3e7ed;
  --coral: #e5484d;
  --coral-dark: #ce363c;
  --coral-soft: #fff1f2;
  --blue: #4778d8;
  --blue-soft: #edf4ff;
  --green: #218a65;
  --green-soft: #eaf8f2;
  --amber: #c98218;
  --amber-soft: #fff6e5;
  --navy: #171d2b;
  --shadow: 0 16px 40px rgb(24 34 48 / 9%);
  --soft-shadow: 0 5px 18px rgb(24 34 48 / 5%);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body { min-height: 100vh; margin: 0; color: var(--ink); background: var(--bg); font: 14px/1.65 "Inter", "SF Pro Text", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
a { color: var(--coral); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--coral-dark); }
:focus-visible { outline: 3px solid rgb(229 72 77 / 20%); outline-offset: 2px; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0 0 10px; font-size: clamp(28px, 4vw, 38px); line-height: 1.2; letter-spacing: -.02em; }
h2 { margin: 0 0 10px; font-size: 20px; line-height: 1.35; }
h3 { margin: 0 0 8px; }
code, pre { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.muted { color: var(--muted); }
.eyebrow { display: block; margin: 0 0 9px; color: var(--coral); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }
.eyebrow.light { color: #ffc4bf; }

/* 登录页 */
.guest-shell { min-height: 100vh; }
.guest-flash { position: fixed; z-index: 20; top: 20px; left: 50%; width: min(520px, calc(100% - 32px)); transform: translateX(-50%); box-shadow: var(--shadow); }
.login-view { min-height: 100vh; display: grid; grid-template-columns: 1.08fr .92fr; background: white; }
.login-brand { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 64px 8vw; color: white; background: linear-gradient(142deg, #20283b 0%, #28334a 55%, #3a344b 100%); }
.brand-mark { width: 38px; height: 38px; display: inline-grid; flex: none; place-items: center; border-radius: 11px; color: white; background: linear-gradient(135deg, #ff7b72, var(--coral)); box-shadow: 0 8px 20px rgb(239 91 91 / 28%); font-weight: 900; }
.brand-mark.large { width: 50px; height: 50px; border-radius: 14px; font-size: 21px; }
.brand-copy { position: relative; z-index: 2; max-width: 610px; }
.brand-copy h1 { margin: 0 0 22px; color: white; font-size: clamp(38px, 4vw, 52px); line-height: 1.25; letter-spacing: -1px; }
.brand-copy p { max-width: 560px; margin: 0; color: #c8ccda; font-size: 17px; line-height: 1.9; }
.login-features { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.login-features div { display: flex; flex-direction: column; gap: 7px; }
.login-features strong { font-size: 15px; }
.login-features span { color: #aeb5c7; font-size: 11px; line-height: 1.6; }
.orb { position: absolute; border-radius: 50%; opacity: .35; }
.orb-one { width: 380px; height: 380px; top: -90px; right: -130px; background: radial-gradient(circle at 30% 30%, #ff7b72, transparent 68%); }
.orb-two { width: 300px; height: 300px; bottom: -130px; left: -90px; border: 1px solid rgb(255 255 255 / 20%); }
.login-panel { display: grid; place-items: center; padding: 48px; }
.login-card { width: min(420px, 100%); }
.login-card h2 { margin: 0 0 8px; font-size: 34px; }
.login-card > p { margin: 0 0 34px; }
.mobile-brand { display: none; }
.login-card label { display: block; margin: 19px 0 8px; color: var(--ink); font-size: 13px; font-weight: 700; }
.login-card input:not([type="submit"]) { width: 100%; margin-top: 7px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: #fbfcfd; transition: .2s ease; }
.login-card input:not([type="submit"]):focus { border-color: var(--coral); box-shadow: 0 0 0 3px var(--coral-soft); }
.login-submit { width: 100%; margin-top: 26px !important; padding: 14px 18px !important; color: white; border: 0; background: var(--coral); }
.login-submit:hover { color: white; background: var(--coral-dark); }
.security-note { margin: 24px 0 0 !important; color: #9aa1af !important; font-size: 11px; text-align: center; }

/* 应用壳层 */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 224px; display: flex; flex-direction: column; padding: 24px 15px 18px; color: white; background: var(--navy); }
.logo { display: flex; align-items: center; gap: 11px; padding: 0 10px 24px; color: white; font-size: 15px; font-weight: 800; line-height: 1.1; text-decoration: none; }
.logo > span:last-child { display: flex; flex-direction: column; gap: 5px; }
.logo small { color: #aeb5c7; font-size: 9px; font-weight: 500; letter-spacing: 2px; }
.side-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-group { padding: 18px 13px 7px; color: #788196; font-size: 10px; letter-spacing: 1.7px; }
.nav-item { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border-radius: 9px; color: #aeb5c7; font-size: 13px; text-decoration: none; transition: .2s ease; }
.nav-item i { width: 18px; font-size: 17px; font-style: normal; text-align: center; }
.nav-item:hover, .nav-item.active { color: white; background: linear-gradient(90deg, rgb(239 91 91 / 22%), rgb(239 91 91 / 8%)); }
.nav-item.active { box-shadow: inset 3px 0 var(--coral); }
.side-help { position: relative; margin-top: auto; padding: 15px; border-radius: 12px; background: #2a3449; }
.side-help > span { position: absolute; top: 12px; right: 13px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #aeb5c7; background: #3a455b; }
.side-help strong { font-size: 12px; }
.side-help p { margin: 8px 26px 0 0; color: #9099ac; font-size: 10px; line-height: 1.55; }
.side-user { display: flex; align-items: center; gap: 9px; margin-top: 15px; padding: 16px 7px 0; border-top: 1px solid #343d52; }
.avatar { width: 36px; height: 36px; display: grid; flex: none; place-items: center; border-radius: 10px; color: #8b302b; background: linear-gradient(135deg, #ffd1cb, #f58d83); font-weight: 800; }
.side-user > div:nth-child(2), .top-profile > div:nth-child(2) { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.side-user strong, .top-profile strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.side-user span, .top-profile span { margin-top: 2px; color: #8f98aa; font-size: 9px; }
.side-user > a { color: #8992a5; text-decoration: none; }
.workspace { min-width: 0; grid-column: 2; }
.topbar { position: sticky; z-index: 20; top: 0; height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 0 30px; border-bottom: 1px solid var(--line); background: rgb(255 255 255 / 96%); backdrop-filter: blur(10px); }
.topbar-heading { display: flex; align-items: center; gap: 12px; }
.topbar h2 { margin: 0 0 3px; font-size: 18px; }
.topbar p { margin: 0; color: var(--muted); font-size: 11px; }
.top-actions { display: flex; align-items: center; gap: 12px; }
.top-profile { display: flex; align-items: center; gap: 9px; }
.top-profile span { color: var(--muted); }
.top-logout { padding: 7px 11px; border: 1px solid var(--line); border-radius: 8px; color: #687186; background: white; font-size: 11px; }
.top-logout:hover { color: var(--coral); border-color: #f4b5b2; background: var(--coral-soft); }
.inline-form { display: inline; margin: 0; }
.menu-toggle { display: none; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; }
.sidebar-backdrop { display: none; }
.page-shell { width: 100%; max-width: 1680px; margin: 0 auto; padding: 26px 30px 48px; }

/* 通用组件 */
.page-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin: 2px 0 24px; }
.page-heading h1 { font-size: clamp(28px, 4vw, 36px); }
.page-heading p:last-child { margin-bottom: 0; }
.hero { margin-bottom: 22px; padding: 12px 0; }
.hero p:last-child { max-width: 760px; color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.card, .analytics-panel, .edit-panel { border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: var(--soft-shadow); }
.card { padding: 22px; }
.card p { color: #5d6678; }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.auth-card, .error-card { max-width: 520px; margin: 5vh auto; }
label { display: block; margin: 16px 0 6px; color: #3f485b; font-size: 12px; font-weight: 700; }
input, select, textarea { width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid #d9dde5; border-radius: 9px; outline: 0; color: var(--ink); background: #fbfcfd; transition: .18s ease; }
input:focus, select:focus, textarea:focus { border-color: var(--coral); background: white; box-shadow: 0 0 0 3px var(--coral-soft); }
textarea { resize: vertical; }
input[type="checkbox"] { accent-color: var(--coral); }
.primary-button, .secondary-button, .danger-button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 9px; font-size: 12px; font-weight: 700; text-decoration: none; }
.primary-button { width: 100%; margin-top: 22px; border: 0; color: white; background: var(--coral); box-shadow: 0 5px 15px rgb(239 91 91 / 18%); }
.primary-button:hover { background: var(--coral-dark); }
.secondary-button { margin: 7px 7px 7px 0; border: 1px solid var(--line); color: #4d5669; background: white; }
.secondary-button:hover { color: var(--coral); border-color: #f3b5b1; background: #fffafa; }
.danger-button { border: 0; color: white; background: #b42318; }
.field-error { margin: 5px 0; color: #b42318; font-size: 12px; }
.warning-text { color: #a15c12; font-size: 12px; }
.flash { margin: 0 0 18px; padding: 12px 16px; border: 1px solid transparent; border-radius: 10px; box-shadow: var(--soft-shadow); }
.flash-error { color: #912018; border-color: #fecdca; background: #fee4e2; }
.flash-success { color: #08754e; border-color: #a9e7ce; background: #eaf9f2; }
.flash-warning { color: #8c4c0d; border-color: #f8d99e; background: #fff6e8; }
.status { display: inline-flex; align-items: center; width: fit-content; padding: 3px 8px; border-radius: 999px; color: #687186; background: #f0f1f4; font-size: 10px; font-weight: 700; }
.status-succeeded, .status-inserted, .status-updated { color: #16835f; background: var(--green-soft); }
.status-failed, .status-invalid { color: #b42318; background: var(--coral-soft); }
.status-running, .status-partial { color: #b36e13; background: var(--amber-soft); }
.empty-state { padding: 42px 20px !important; color: var(--muted) !important; text-align: center; }

/* 首页 */
.welcome-banner { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 28px 30px; border-radius: 15px; color: white; background: linear-gradient(110deg, #242d42, #333d55 65%, #4a3a4c); box-shadow: var(--shadow); }
.welcome-banner::after { position: absolute; top: -110px; right: 80px; width: 220px; height: 220px; border: 40px solid rgb(255 255 255 / 2.5%); border-radius: 50%; content: ""; }
.welcome-banner h1 { margin-bottom: 8px; color: white; font-size: 25px; }
.welcome-banner p { margin: 0; color: #b8c0d1; font-size: 12px; }
.banner-status { z-index: 1; display: flex; flex-direction: column; align-items: flex-end; color: #9fa8ba; font-size: 10px; }
.banner-status strong { margin-top: 4px; color: #f4f6fa; font-size: 12px; }
.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
.quick-card { display: grid; grid-template-columns: 44px 1fr auto; gap: 13px; align-items: center; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--soft-shadow); }
.quick-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; font-size: 18px; }
.quick-icon.coral { color: var(--coral); background: var(--coral-soft); }
.quick-icon.blue { color: var(--blue); background: var(--blue-soft); }
.quick-icon.green { color: var(--green); background: var(--green-soft); }
.quick-icon.amber { color: var(--amber); background: var(--amber-soft); }
.quick-card p { margin: 0 0 3px; color: var(--muted); font-size: 9px; }
.quick-card h2 { margin: 0 0 3px; font-size: 15px; }
.quick-card div > span { color: var(--muted); font-size: 10px; }
.quick-card > a { font-size: 11px; font-weight: 700; white-space: nowrap; }
.overview-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
.overview-card { padding: 22px; }
.overview-card .card-heading p { margin: 2px 0 0; color: var(--muted); font-size: 10px; }
.feature-list { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.feature-list li { display: grid; grid-template-columns: 28px 1fr; gap: 11px; align-items: center; padding: 13px 0; border-top: 1px solid #f0f1f4; }
.feature-list i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: var(--green); background: var(--green-soft); font-style: normal; font-weight: 800; }
.feature-list.neutral i { color: var(--coral); background: var(--coral-soft); }
.feature-list span { color: var(--muted); font-size: 11px; }
.feature-list strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: 12px; }

/* 表格、任务与指标 */
.task-actions { align-items: start; }
.task-actions .card { height: 100%; }
.table-section { margin-top: 30px; }
.table-section > h2 { font-size: 18px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; background: white; box-shadow: 0 3px 14px rgb(33 42 64 / 3%); }
table { width: 100%; border-collapse: collapse; }
th { padding: 11px 12px; border-bottom: 1px solid var(--line); color: #7a8497; background: #fafbfc; font-size: 10px; font-weight: 700; text-align: left; white-space: nowrap; }
td { padding: 12px; border-bottom: 1px solid #f0f1f4; color: #4b5568; font-size: 11px; text-align: left; vertical-align: top; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fffafa; }
.metric-grid, .analytics-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 13px; margin: 20px 0; }
.metric { position: relative; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--soft-shadow); }
.metric::before { position: absolute; top: 0; left: 18px; width: 30px; height: 3px; border-radius: 0 0 4px 4px; background: var(--coral); content: ""; }
.metric:nth-child(2n)::before { background: var(--blue); }
.metric:nth-child(3n)::before { background: var(--green); }
.metric span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; }
.metric strong { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 22px; line-height: 1.25; }

/* 测试版操作引导 */
.release-guide { margin: 0 0 20px; border-color: #cfe2ff; background: #f7fbff; }
.release-guide.compact { margin: 0 0 20px; padding: 12px 15px; border: 1px solid #cfe2ff; border-radius: 11px; color: #385876; background: #f7fbff; font-size: 11px; line-height: 1.65; }
.release-guide-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; counter-reset: release-step; }
.release-guide-steps li { display: grid; grid-template-columns: 28px 1fr; gap: 3px 9px; min-width: 0; padding: 12px; border: 1px solid #dbe8f5; border-radius: 10px; background: #fff; }
.release-guide-steps li::before { width: 28px; height: 28px; display: grid; grid-row: span 2; place-items: center; border-radius: 50%; color: #315f7d; background: #e8f3fc; content: counter(release-step); counter-increment: release-step; font-size: 11px; font-weight: 800; }
.release-guide-steps strong { color: #35475d; font-size: 11px; }
.release-guide-steps span { color: #647084; font-size: 10px; line-height: 1.5; }
.release-guide-steps a { grid-column: 2; margin-top: 4px; color: #315f7d; font-size: 10px; font-weight: 750; text-decoration: none; }

/* 内容库 */
.library-heading, .analytics-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; }
.library-actions { display: grid; gap: 10px; justify-items: end; }
.library-actions form { margin: 0; }
.export-library-button { margin: 0; }
.view-switch, .crop-switch, .pagination { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.view-switch { padding: 3px; border-radius: 10px; background: #e9ebf0; }
.view-switch a { padding: 7px 11px; border-radius: 8px; color: #687186; font-size: 11px; text-decoration: none; }
.view-switch a.active { color: var(--ink); background: white; box-shadow: 0 2px 8px rgb(31 40 61 / 8%); font-weight: 700; }
.crop-switch a, .pagination a { padding: 6px 10px; border: 1px solid var(--line); border-radius: 7px; color: #687186; background: white; font-size: 10px; text-decoration: none; }
.crop-switch a.active { color: var(--coral); border-color: #f4b5b2; background: var(--coral-soft); }
.filter-panel { overflow: hidden; margin: 0 0 20px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--soft-shadow); }
.filter-panel summary { padding: 14px 18px; color: #3f485b; cursor: pointer; font-size: 12px; font-weight: 750; }
.filter-panel[open] summary { border-bottom: 1px solid var(--line); }
.filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 14px; padding: 17px 18px 19px; }
.filter-grid label { margin: 0; font-size: 10px; }
.filter-grid input, .filter-grid select { padding: 8px 9px; font-size: 11px; }
.filter-wide { grid-column: span 2; }
.range-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.filter-actions { display: flex; align-items: end; gap: 7px; }
.filter-actions .primary-button, .filter-actions .secondary-button { width: auto; margin: 0; padding: 9px 13px; }
.bulk-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px 18px; align-items: center; margin: 0 0 12px; padding: 12px 15px; border: 1px solid #dfe4eb; border-radius: 13px; background: linear-gradient(100deg, #fff 0%, #fafbfe 100%); box-shadow: 0 4px 16px rgb(24 34 48 / 5%); }
.bulk-toolbar-heading { display: flex; align-items: center; gap: 8px; }
.bulk-toolbar strong { font-size: 12px; }
.selection-count { padding: 4px 8px; border-radius: 999px; color: #556070; background: #edf0f5; font-size: 10px; font-weight: 700; white-space: nowrap; }
.bulk-toolbar-primary { display: flex; min-width: 0; align-items: center; gap: 10px; }
.bulk-toolbar-primary .primary-button { flex: none; width: auto; min-height: 34px; margin: 0; padding: 7px 12px; white-space: nowrap; }
.bulk-help { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.bulk-more-actions { position: relative; }
.bulk-more-actions summary { list-style: none; padding: 7px 2px; color: #596579; cursor: pointer; font-size: 11px; font-weight: 650; white-space: nowrap; }
.bulk-more-actions summary::-webkit-details-marker { display: none; }
.bulk-more-actions summary::after { margin-left: 5px; color: #98a2b3; content: "⌄"; }
.bulk-more-actions[open] summary::after { content: "⌃"; }
.bulk-more-content { position: absolute; z-index: 5; top: calc(100% + 6px); right: 0; display: grid; gap: 9px; width: max-content; min-width: 390px; padding: 11px; border: 1px solid #dfe4eb; border-radius: 10px; background: #fff; box-shadow: 0 12px 30px rgb(24 34 48 / 14%); }
.bulk-tag-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.bulk-toolbar .secondary-button { margin: 0; padding: 7px 10px; }
.bulk-toolbar select { width: auto; min-width: 116px; margin: 0; padding: 7px 9px; font-size: 10px; }
.bulk-toolbar button:disabled { cursor: not-allowed; opacity: .45; }
.check-column { width: 42px; text-align: center; }
.check-column input { width: 17px; height: 17px; margin: 0; }
.library-table { border-radius: 11px; }
.library-table small, .content-cell small, .stack-line { display: block; color: var(--muted); font-size: 9px; }
.content-cell { min-width: 230px; }
.content-cell strong { display: block; max-width: 320px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.metric-inline { display: inline-block; margin-right: 6px; white-space: nowrap; }
.tag { display: inline-block; margin: 5px 5px 0 0; padding: 2px 7px; border: 0; border-radius: 999px; color: var(--tag-color, #7659c7); background: #f4f0ff; font-size: 9px; font-weight: 700; }
.tag-viral { --tag-color: #b42318; background: #fff0ed; }
.content-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.content-card { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--soft-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.content-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.cover { display: grid; place-items: center; overflow: hidden; color: var(--muted); background: #eef0f4; }
.cover img { width: 100%; height: 100%; object-fit: cover; }
.crop-portrait .cover { aspect-ratio: 3 / 4; }
.crop-square .cover { aspect-ratio: 1; }
.crop-original .cover { min-height: 180px; }
.crop-original .cover img { height: auto; max-height: 360px; object-fit: contain; }
.content-card-body { padding: 15px; }
.content-card-body h2 { margin: 0; font-size: 14px; line-height: 1.45; }
.content-card-body p { margin: 7px 0; font-size: 10px; }
.card-metrics { display: flex; gap: 11px; color: #525c70; font-size: 10px; }
.crop-switch { justify-content: flex-end; margin-top: 14px; }
.evidence-grid { display: grid; gap: 14px; }
.evidence-card { display: grid; grid-template-columns: 210px 1fr; gap: 20px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--soft-shadow); }
.evidence-card h2 { margin-bottom: 6px; font-size: 17px; }
.evidence-preview { min-height: 145px; display: grid; overflow: hidden; place-items: center; border-radius: 9px; color: var(--muted); background: #e8ebf0; }
.evidence-preview img { width: 100%; height: 175px; display: block; object-fit: contain; background: #20283b; }
.pagination { justify-content: flex-end; margin-top: 18px; color: var(--muted); font-size: 10px; }
.pagination-control { justify-content: space-between; gap: 10px 16px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--soft-shadow); }
.pagination-summary { color: #5c6678; font-weight: 650; white-space: nowrap; }
.pagination-links { display: flex; gap: 6px; }
.pagination-links a.disabled { pointer-events: none; color: #b8bec8; background: #f7f8fa; }
.pagination-jump { display: flex; gap: 8px; align-items: center; margin: 0; }
.pagination-jump label { display: flex; gap: 6px; align-items: center; margin: 0; color: #697386; font-size: 10px; white-space: nowrap; }
.pagination-jump input, .pagination-jump select { width: auto; min-width: 76px; min-height: 32px; padding: 5px 8px; font-size: 10px; }
.pagination-jump select { padding-right: 25px; }
.pagination-go { min-height: 32px; margin: 0; padding: 5px 10px; font-size: 10px; }

/* 内容录入 */
.entry-heading { margin-bottom: 18px; }
.entry-workspace { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(520px, 1.2fr); gap: 18px; align-items: start; }
.entry-card { min-width: 0; height: auto; padding: 24px; }
.entry-card-heading { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: start; margin-bottom: 20px; }
.entry-card-heading h2 { margin: 0 0 5px; font-size: 18px; }
.entry-card-heading p { margin: 0; font-size: 11px; line-height: 1.65; }
.entry-card-heading .card-kicker { margin-bottom: 3px; }
.entry-step { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #b73238; background: var(--coral-soft); font-size: 12px; font-weight: 800; }
.batch-upload-form, .quick-entry-form { margin: 0; }
.file-drop { min-height: 190px; display: grid; place-items: center; align-content: center; gap: 7px; margin: 0; padding: 22px; border: 1.5px dashed #cfd5de; border-radius: 13px; cursor: pointer; background: #fafbfc; text-align: center; transition: .18s ease; }
.file-drop:hover { border-color: #e88f93; background: #fff9f9; }
.file-drop-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--coral); background: var(--coral-soft); font-size: 20px; }
.file-drop strong { color: #313b4d; font-size: 13px; }
.file-drop small { max-width: 310px; color: #8a93a3; font-size: 10px; font-weight: 500; line-height: 1.55; }
#selected-file-name { max-width: 100%; overflow: hidden; margin-top: 5px; padding: 5px 9px; border-radius: 7px; color: #647084; background: #eef1f5; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.visually-hidden-file { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.entry-submit { width: auto; margin: 14px 0 0; }
.batch-entry-card .entry-submit { width: 100%; }
.entry-tips { display: grid; gap: 7px; margin: 16px 0 0; padding: 14px 14px 14px 30px; border-radius: 10px; color: #6f798b; background: #f7f8fa; font-size: 10px; line-height: 1.5; }
.quick-entry-primary { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 12px; }
.quick-entry-primary label, .entry-more-grid label { display: grid; gap: 6px; margin: 0; }
.quick-entry-url { min-width: 0; }
.entry-more { margin-top: 14px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfd; }
.entry-more summary { padding: 11px 13px; color: #4f5a6d; cursor: pointer; font-size: 11px; font-weight: 700; }
.entry-more summary span { margin-left: 5px; color: #9aa2b0; font-size: 9px; font-weight: 500; }
.entry-more[open] summary { border-bottom: 1px solid var(--line); }
.entry-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.entry-wide { grid-column: 1 / -1; }
.entry-form-footer { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-top: 14px; }
.entry-form-footer .muted { max-width: 420px; font-size: 10px; }
.entry-form-footer .entry-submit { flex: none; margin: 0; }
.section-heading-inline { display: flex; align-items: end; justify-content: space-between; margin-bottom: 12px; }
.section-heading-inline h2, .section-heading-inline p { margin: 0; }
.section-heading-inline p { margin-top: 3px; font-size: 10px; }

/* 内容详情和编辑 */
.detail-hero { display: grid; grid-template-columns: 220px minmax(0, 1.7fr) minmax(260px, .8fr); gap: 28px; align-items: start; padding: 26px; }
.detail-hero h1 { font-size: clamp(26px, 4vw, 38px); }
.detail-hero p { line-height: 1.8; }
.detail-cover { min-width: 0; margin: 0; }
.detail-cover-media { position: relative; overflow: hidden; aspect-ratio: 3 / 4; border: 1px solid var(--line); border-radius: 14px; background: #eef1f5; box-shadow: 0 8px 24px rgb(24 34 48 / 8%); }
.detail-cover-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.detail-cover-placeholder { width: 100%; height: 100%; display: grid; place-content: center; gap: 7px; padding: 18px; color: #7b8493; background: linear-gradient(145deg, #f3f5f8, #e8ecf1); text-align: center; }
.detail-cover-placeholder::before { width: 42px; height: 42px; display: grid; place-items: center; justify-self: center; border: 1px solid #d4d9e1; border-radius: 12px; color: #9ba3b1; background: rgb(255 255 255 / 65%); content: "图"; font-size: 13px; font-weight: 800; }
.detail-cover-placeholder span { font-size: 12px; font-weight: 750; }
.detail-cover-placeholder small { color: #9ba3b1; font-size: 9px; line-height: 1.6; }
.detail-cover figcaption { margin-top: 9px; color: var(--muted); font-size: 10px; text-align: center; }
.detail-copy { min-width: 0; }
.detail-facts { margin: 0; padding-left: 8px; border-left: 1px solid var(--line); }
.detail-facts div { padding: 9px 12px; border-bottom: 1px solid var(--line); }
.detail-facts dt { color: var(--muted); font-size: 9px; }
.detail-facts dd { margin: 2px 0 0; color: #3f485b; font-size: 11px; }
.detail-section { margin-top: 28px; }
.edit-panel { padding: 21px; }
.edit-panel > p { margin-top: -3px; font-size: 11px; }
.edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.edit-grid label, .inline-edit-form label { margin: 0; }
.edit-wide { grid-column: 1 / -1; }
.edit-actions { display: flex; align-items: end; }
.edit-actions .primary-button { width: auto; margin: 0; }
.screenshot-upload-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 16px 0 18px; }
.screenshot-upload-card { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfd; }
.screenshot-upload-card > strong { display: block; color: var(--ink); font-size: 14px; }
.screenshot-upload-card > span { display: block; min-height: 36px; margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 400; line-height: 1.7; }
.screenshot-upload-card input[type="file"] { background: white; cursor: pointer; }
.screenshot-upload-help { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.inline-edit-form { display: grid; grid-template-columns: 1fr 2fr auto; gap: 14px; align-items: end; }
.inline-edit-form .secondary-button { margin: 0; }
.check-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.check-list label { display: flex; align-items: center; gap: 4px; margin: 0; cursor: pointer; }
.check-list input { width: 17px; height: 17px; margin: 0; }
.evidence-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.evidence-item { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--soft-shadow); }
.evidence-item img { width: 100%; height: 230px; display: block; object-fit: contain; background: #20283b; }
.evidence-item > div { padding: 13px; }
.evidence-item p { margin: 5px 0; font-size: 10px; }
.danger-form { display: inline; margin-left: 10px; }
.danger-link { padding: 0; border: 0; color: #b42318; background: transparent; font-size: 10px; text-decoration: underline; }
.detail-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.detail-columns article { padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--soft-shadow); }
.detail-columns h2 { font-size: 16px; }
.history-row { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.history-row span { color: var(--muted); font-size: 9px; }
.danger-zone { padding: 20px; border: 1px solid #fda29b; border-radius: 13px; background: #fff6f5; }

/* 统计页 */
.export-action { min-width: 260px; text-align: right; }
.export-action .primary-button { margin: 0; }
.export-action small { display: block; max-width: 340px; margin-top: 7px; color: var(--muted); font-size: 9px; }
.metric-note { margin: 8px 0 22px; color: var(--muted); font-size: 10px; }
.analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.analytics-panel { min-width: 0; padding: 20px; }
.analytics-panel h2 { margin-bottom: 13px; font-size: 16px; }
.analytics-panel small { display: block; color: var(--muted); }
.analytics-wide { grid-column: 1 / -1; }
.download-button { width: auto; margin: 0 7px 0 0; }
.metric-date { font-size: 12px !important; }

/* 管理与审计 */
.subnav { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; padding: 3px; border-radius: 10px; background: #e9ebf0; }
.subnav a { padding: 7px 11px; border-radius: 8px; color: #687186; font-size: 10px; text-decoration: none; }
.subnav a:hover { color: var(--ink); background: white; box-shadow: 0 2px 8px rgb(31 40 61 / 8%); }
.audit-list, .change-list { display: grid; gap: 11px; }
.audit-row { display: block; margin: 7px 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--soft-shadow); }
.audit-row summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; cursor: pointer; font-size: 10px; }
.audit-row pre, .change-card pre { overflow: auto; padding: 10px; border-radius: 8px; color: #4e586b; background: #f5f6f8; font-size: 9px; white-space: pre-wrap; overflow-wrap: anywhere; }
.audit-action { color: var(--coral); font-weight: 750; }
.change-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 22px; }
.change-card h2 { margin: 10px 0 6px; font-size: 17px; }
.review-form label { margin-top: 0; }
.compact-button { margin: 0; padding: 6px 10px; font-size: 10px; }
.tag-edit { margin-top: 6px; }
.tag-edit summary { color: var(--coral); cursor: pointer; font-size: 10px; }
.tag-edit form { min-width: 230px; padding: 10px 0; }
.tag-edit label { margin: 6px 0; font-size: 10px; }

/* 产品化视觉 */
.login-view { grid-template-columns: minmax(520px, 1.08fr) minmax(440px, .92fr); }
.login-brand { padding: 58px 7vw; background: linear-gradient(145deg, #161d2b 0%, #20293a 58%, #382832 100%); }
.login-panel { padding: 44px; background: #f5f7fa; }
.login-card { padding: 38px; border: 1px solid #e5e8ed; border-radius: 18px; background: white; box-shadow: 0 22px 55px rgb(24 34 48 / 10%); }
.login-card h2 { font-size: 32px; letter-spacing: -.6px; }
.login-card input:not([type="submit"]) { min-height: 48px; border-color: #dfe3e9; background: white; }
.login-submit { min-height: 48px; border-radius: 10px; font-size: 13px; font-weight: 750; box-shadow: 0 8px 18px rgb(229 72 77 / 20%); }
.app-shell { grid-template-columns: 248px minmax(0, 1fr); }
.sidebar {
  width: 248px;
  padding: 22px 16px 18px;
  border-right: 1px solid rgb(255 255 255 / 5%);
  background:
    radial-gradient(circle at 12% 0, rgb(229 72 77 / 13%), transparent 28%),
    linear-gradient(180deg, #151b29 0%, #1a2232 100%);
  box-shadow: 10px 0 30px rgb(17 24 39 / 5%);
}
.logo { gap: 12px; padding: 0 10px 27px; font-size: 15px; letter-spacing: .2px; }
.logo small { color: #7f899b; font-size: 8px; font-weight: 650; letter-spacing: 1.6px; }
.brand-mark { border-radius: 12px; background: linear-gradient(145deg, #f06569, #d83b42); box-shadow: 0 8px 20px rgb(216 59 66 / 25%); }
.nav-group { padding: 22px 13px 8px; color: #667084; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }
.nav-item { gap: 12px; min-height: 44px; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; color: #aab2c1; font-size: 13px; font-weight: 600; }
.nav-item i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: #8d96a8; background: rgb(255 255 255 / 4%); font-size: 13px; }
.nav-item:hover { color: white; border-color: rgb(255 255 255 / 5%); background: rgb(255 255 255 / 5%); }
.nav-item.active { color: white; border-color: rgb(229 72 77 / 18%); background: linear-gradient(90deg, rgb(229 72 77 / 18%), rgb(229 72 77 / 6%)); box-shadow: none; }
.nav-item.active i { color: #fff; background: var(--coral); box-shadow: 0 5px 12px rgb(229 72 77 / 24%); }
.side-help { padding: 16px; border: 1px solid rgb(255 255 255 / 6%); border-radius: 13px; background: rgb(255 255 255 / 4%); }
.side-help > span { color: #81d6b4; background: rgb(33 138 101 / 16%); }
.side-help p { color: #838da0; font-size: 10px; }
.side-user { margin-top: 16px; padding: 17px 8px 0; border-color: rgb(255 255 255 / 7%); }
.side-user > a { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; }
.side-user > a:hover { color: white; background: rgb(255 255 255 / 6%); }
.avatar { width: 38px; height: 38px; border-radius: 11px; color: #8f2e34; background: linear-gradient(145deg, #ffe0df, #f49a9c); box-shadow: inset 0 0 0 1px rgb(255 255 255 / 45%); }
.side-user strong, .top-profile strong { font-size: 12px; }
.side-user span, .top-profile span { font-size: 10px; }

.topbar { height: 72px; padding: 0 36px; border-color: #e8ebf0; background: rgb(255 255 255 / 92%); box-shadow: 0 1px 10px rgb(24 34 48 / 3%); }
.topbar h2 { font-size: 17px; font-weight: 750; letter-spacing: -.2px; }
.topbar p { color: #8a93a3; font-size: 11px; }
.top-profile { padding-right: 4px; }
.top-profile .avatar { width: 34px; height: 34px; border-radius: 10px; }
.top-logout { padding: 8px 13px; border-radius: 9px; color: #586174; font-size: 11px; font-weight: 650; }
.page-shell { max-width: 1540px; padding: 32px 36px 58px; }

.page-heading { min-height: 72px; align-items: end; margin: 0 0 25px; }
.page-heading > div:first-child { max-width: 820px; }
.page-heading h1 { margin-bottom: 7px; font-size: clamp(27px, 3vw, 34px); font-weight: 760; letter-spacing: -.6px; }
.page-heading .muted { margin-top: 0; color: #737d8f; font-size: 13px; line-height: 1.7; }
.page-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.page-actions .secondary-button { margin: 0; }
.card, .analytics-panel, .edit-panel { border-color: var(--line); border-radius: 15px; box-shadow: var(--soft-shadow); }
.card { padding: 24px; }
.card h2, .analytics-panel h2, .edit-panel h2 { color: #202a3a; font-weight: 730; letter-spacing: -.2px; }
.card p { color: #697386; }
.card-kicker { display: inline-block; margin-bottom: 7px; color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: 1px; }

label { color: #384254; font-size: 12px; font-weight: 700; }
input, select, textarea { min-height: 42px; padding: 10px 12px; border-color: #dfe3e9; border-radius: 9px; color: #263244; background: #fff; font-size: 13px; }
textarea { min-height: 84px; }
input::placeholder, textarea::placeholder { color: #a4acb9; }
input:hover, select:hover, textarea:hover { border-color: #cfd5dd; }
input:focus, select:focus, textarea:focus { border-color: #ef8d90; box-shadow: 0 0 0 3px rgb(229 72 77 / 10%); }
input[type="checkbox"] { min-height: auto; }
.primary-button, .secondary-button, .danger-button { min-height: 40px; padding: 9px 16px; border-radius: 9px; font-size: 12px; font-weight: 720; }
.primary-button { background: linear-gradient(180deg, #eb555a, #df4147); box-shadow: 0 7px 16px rgb(229 72 77 / 18%); }
.primary-button:hover { color: white; background: linear-gradient(180deg, #dc4147, #c9343a); box-shadow: 0 9px 20px rgb(229 72 77 / 23%); transform: translateY(-1px); }
.secondary-button { border-color: #dce1e8; color: #465166; background: #fff; box-shadow: 0 1px 2px rgb(24 34 48 / 3%); }
.secondary-button:hover { color: #c8373d; border-color: #efb6b8; background: #fff8f8; }
.danger-button:hover { background: #912018; }
.flash { padding: 13px 16px; border-radius: 11px; box-shadow: none; font-size: 12px; }

.welcome-banner { min-height: 168px; align-items: center; padding: 32px 34px; border: 1px solid rgb(255 255 255 / 6%); border-radius: 18px; background: linear-gradient(118deg, #192131 0%, #252e40 62%, #3a2933 100%); box-shadow: 0 18px 44px rgb(18 26 39 / 14%); }
.welcome-banner::before { position: absolute; inset: auto -40px -100px auto; width: 300px; height: 300px; border: 1px solid rgb(255 255 255 / 7%); border-radius: 50%; content: ""; }
.welcome-banner::after { top: -135px; right: 180px; border-color: rgb(229 72 77 / 8%); }
.welcome-banner h1 { margin-bottom: 10px; font-size: 30px; letter-spacing: -.5px; }
.welcome-banner p { max-width: 700px; color: #bdc5d2; font-size: 13px; }
.banner-status { padding: 9px 12px; border: 1px solid rgb(255 255 255 / 8%); border-radius: 10px; background: rgb(255 255 255 / 4%); }
.banner-status strong { font-size: 13px; }
.quick-grid { gap: 14px; margin: 18px 0; }
.quick-card { min-height: 112px; padding: 20px; border-radius: 15px; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.quick-card:hover { border-color: #d8dde5; box-shadow: var(--shadow); transform: translateY(-2px); }
.quick-icon { width: 46px; height: 46px; border-radius: 12px; font-size: 17px; }
.quick-card p { font-size: 10px; font-weight: 650; }
.quick-card h2 { font-size: 15px; }
.quick-card div > span { font-size: 11px; line-height: 1.55; }
.quick-card > a { font-size: 11px; text-decoration: none; }
.overview-grid { gap: 18px; }
.overview-card { padding: 24px; }
.overview-card .card-heading p { font-size: 11px; }
.feature-list li { padding: 14px 0; }
.feature-list i { border-radius: 9px; }
.feature-list span { font-size: 11px; }
.feature-list strong { font-size: 12px; }

.service-state { margin-top: 16px; padding: 16px; border: 1px solid #f1d5a7; border-radius: 11px; color: #80520f; background: #fff9ed; }
.service-state strong { display: block; }
.service-state p { margin: 4px 0 0; color: #946823; font-size: 11px; }
.processing-card { display: flex; gap: 13px; align-items: center; margin-top: 18px; }
.processing-card p { margin: 3px 0 0; }
.processing-dot { width: 11px; height: 11px; flex: none; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 6px var(--amber-soft); animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 10px rgb(201 130 24 / 5%); } }

.table-section { margin-top: 32px; }
.table-section > h2 { margin-bottom: 13px; font-size: 18px; }
.table-wrap { border-radius: 13px; box-shadow: 0 4px 16px rgb(24 34 48 / 4%); }
th { padding: 12px 14px; color: #697386; background: #f8f9fb; font-size: 11px; font-weight: 750; letter-spacing: .1px; }
td { padding: 14px; color: #455166; font-size: 12px; }
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: #fff9f9; }
.status { min-height: 24px; padding: 3px 9px; font-size: 10px; font-weight: 750; }
.status-pending, .status-pending_review { color: #80520f; background: var(--amber-soft); }
.status-authorized { color: #176b50; background: var(--green-soft); }
.status-rejected, .status-unavailable { color: #a12b31; background: var(--coral-soft); }
.source-link-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.source-link-actions a { font-size: 12px; }
.copy-link-button { width: auto; min-height: 30px; margin: 0; padding: 5px 10px; border: 1px solid #d6dbe4; border-radius: 7px; color: #475467; background: #fff; font: inherit; font-size: 11px; font-weight: 650; cursor: pointer; }
.copy-link-button:hover { border-color: #9da8b8; background: #f8fafc; }
.copy-link-status { min-width: 44px; color: #16835f; font-size: 10px; }
.access-link-panel { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(360px, 1.25fr); gap: 14px 24px; align-items: end; padding: 20px 22px; }
.access-link-panel h2 { margin: 3px 0 5px; font-size: 16px; }
.access-link-panel .muted { margin: 0; font-size: 11px; line-height: 1.65; }
.access-link-form { display: flex; gap: 8px; align-items: end; margin: 0; }
.access-link-form label { display: grid; flex: 1; gap: 5px; margin: 0; color: #5d6878; font-size: 10px; font-weight: 700; }
.access-link-form input { min-height: 36px; margin: 0; padding: 7px 9px; font-size: 11px; }
.access-link-form .primary-button { flex: none; width: auto; min-height: 36px; margin: 0; padding: 7px 11px; white-space: nowrap; }
.access-link-state { grid-column: 1 / -1; color: #7d8797; font-size: 10px; }

.metric-grid, .analytics-kpis { gap: 14px; }
.metric { min-height: 104px; padding: 20px; border-radius: 14px; box-shadow: 0 4px 16px rgb(24 34 48 / 4%); }
.metric::before { left: 20px; width: 34px; }
.metric span { margin-bottom: 8px; font-size: 11px; }
.metric strong { font-size: 24px; font-weight: 760; letter-spacing: -.4px; }

.view-switch, .subnav { border: 1px solid #e1e5eb; background: #eceff3; }
.view-switch { border-radius: 11px; }
.view-switch a { min-width: 76px; padding: 8px 12px; text-align: center; }
.view-switch a.active { color: #242e3d; box-shadow: 0 2px 7px rgb(24 34 48 / 8%); }
.filter-panel { border-radius: 15px; box-shadow: 0 4px 18px rgb(24 34 48 / 4%); }
.filter-panel summary { position: relative; display: flex; align-items: center; gap: 9px; padding: 16px 20px; font-size: 13px; }
.filter-panel summary small { color: #8a94a4; font-size: 10px; font-weight: 500; }
.filter-panel summary::after { float: right; color: #9ba3b1; content: "展开 / 收起"; font-size: 10px; font-weight: 500; }
.filter-grid { gap: 13px 16px; padding: 20px; }
.filter-grid label { font-size: 11px; }
.filter-grid input, .filter-grid select { min-height: 38px; padding: 8px 10px; font-size: 12px; }
.bulk-toolbar { padding: 12px 14px; border-radius: 12px; }
.bulk-toolbar strong { font-size: 12px; }
.bulk-toolbar .muted { margin-left: auto; font-size: 10px; }
.content-cell strong { font-size: 12px; }
.library-table small, .content-cell small, .stack-line { margin-top: 3px; font-size: 10px; }
.metric-inline { font-size: 11px; }
.tag { padding: 3px 8px; font-size: 10px; }
.content-card { border-radius: 15px; }
.content-card-body { padding: 17px; }
.content-card-body h2 { font-size: 15px; }
.content-card-body p, .card-metrics { font-size: 11px; }
.evidence-card { padding: 17px; border-radius: 15px; }
.pagination { font-size: 11px; }

.detail-hero { padding: 28px; border-radius: 17px; }
.detail-body { max-height: 210px; overflow: auto; padding-right: 8px; color: #566176; }
.detail-facts dt { font-size: 10px; }
.detail-facts dd { color: #344054; font-size: 12px; font-weight: 600; }
.detail-section { margin-top: 30px; }
.edit-panel { padding: 24px; }
.edit-panel > p { font-size: 12px; }
.screenshot-upload-card { border-style: dashed; border-color: #d8dde5; background: #fafbfc; transition: border-color .18s ease, background .18s ease; }
.screenshot-upload-card:hover { border-color: #eba3a6; background: #fff9f9; }
.screenshot-upload-card > span, .screenshot-upload-help { font-size: 11px; }
.evidence-item { border-radius: 14px; }
.evidence-item > div { padding: 15px; }
.evidence-item p { font-size: 11px; }
.detail-columns article { border-radius: 14px; }
.history-row { padding: 12px 0; font-size: 12px; }
.history-row span { font-size: 10px; }

.analytics-grid { gap: 18px; }
.analytics-panel { overflow: hidden; padding: 18px; }
.analytics-panel h2 { margin: 0; font-size: 15px; }
.analytics-panel small { font-size: 10px; }
.metric-note, .export-action small { font-size: 10px; }
.analytics-filter summary span { margin-left: 7px; color: #9aa2b0; font-size: 9px; font-weight: 500; }
.analytics-kpis-compact { gap: 10px; margin: 14px 0 10px; }
.analytics-kpis-compact .metric { min-height: 82px; padding: 15px 17px; }
.analytics-kpis-compact .metric strong { font-size: 20px; }
.analytics-panel-heading { display: flex; gap: 12px; align-items: start; justify-content: space-between; margin-bottom: 11px; }
.analytics-panel-heading h2, .analytics-panel-heading p { margin: 0; }
.analytics-panel-heading p, .analytics-collapsible summary p, .analytics-export-history summary p { margin-top: 3px; color: #8a93a3; font-size: 9px; }
.analytics-panel-heading > span, .analytics-collapsible summary > span, .analytics-export-history summary > span { flex: none; padding: 4px 7px; border-radius: 999px; color: #6d7789; background: #f1f3f6; font-size: 9px; font-weight: 650; }
.analytics-table-scroll { overflow: auto; overscroll-behavior: contain; }
.analytics-table-scroll thead { position: sticky; z-index: 1; top: 0; }
.trend-scroll { max-height: 300px; }
.compact-scroll { max-height: 270px; }
.session-scroll { max-height: 360px; }
.analytics-table-scroll th, .analytics-table-scroll td { padding-top: 9px; padding-bottom: 9px; }
.analytics-breakdown-panel .table-wrap { box-shadow: none; }
.analytics-collapsible { padding: 0; }
.analytics-collapsible > summary { display: flex; gap: 15px; align-items: center; justify-content: space-between; padding: 16px 18px; cursor: pointer; list-style: none; }
.analytics-collapsible > summary::-webkit-details-marker { display: none; }
.analytics-collapsible[open] > summary { border-bottom: 1px solid var(--line); }
.analytics-collapsible > .table-wrap { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.analytics-export-history { overflow: hidden; margin-top: 18px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--soft-shadow); }
.analytics-export-history > summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; cursor: pointer; list-style: none; }
.analytics-export-history > summary::-webkit-details-marker { display: none; }
.analytics-export-history h2, .analytics-export-history p { margin: 0; }
.analytics-export-history h2 { font-size: 14px; }
.analytics-export-history > .table-wrap { border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.analytics-tabs { display: flex; gap: 5px; width: fit-content; margin: 18px 0 12px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #f4f6f8; }
.analytics-tabs a { padding: 9px 18px; border-radius: 8px; color: #697386; font-size: 12px; font-weight: 750; }
.analytics-tabs a.active { color: #fff; background: #26364a; box-shadow: 0 3px 9px rgb(21 34 51 / 18%); }
.report-toolbar { display: flex; align-items: center; justify-content: space-between; margin: 13px 0 0; padding: 14px 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.report-toolbar > div { display: flex; gap: 10px; align-items: baseline; }
.report-toolbar strong { font-size: 13px; }
.report-toolbar span { color: #334155; font-size: 13px; font-weight: 700; }
.report-toolbar small { color: var(--muted); font-size: 10px; }
.report-toolbar form { display: flex; gap: 8px; align-items: end; }
.report-toolbar label { display: grid; gap: 4px; color: var(--muted); font-size: 9px; font-weight: 700; }
.report-toolbar input { min-height: 34px; padding: 6px 9px; }
.report-toolbar button { min-height: 34px; padding: 7px 13px; }
.report-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.report-kpis:has(.metric:nth-child(6)) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.report-kpis .metric { min-height: 93px; padding: 14px 16px; }
.report-kpis .metric strong { font-size: 21px; }
.report-kpis .metric small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.change-badge { display: inline-flex; width: fit-content; margin-top: 5px; padding: 2px 6px; border-radius: 999px; color: #7b8493; background: #f0f2f5; font-size: 9px; font-weight: 750; white-space: nowrap; }
.change-up { color: #08785d; background: #e8f7f2; }
.change-down { color: #bc4448; background: #fff0f0; }
.change-new { color: #8a5a13; background: #fff5dc; }
.insight-strip { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: start; margin: 12px 0; padding: 12px 15px; border: 1px solid #cddce9; border-radius: 11px; color: #3d5266; background: #f4f8fb; }
.insight-strip strong { font-size: 11px; }
.insight-strip div { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.insight-strip span { font-size: 10px; }
.report-grid { gap: 13px; }
.horizontal-chart { display: grid; gap: 13px; padding: 4px 2px; }
.chart-scroll { overflow: auto; max-height: 260px; }
.bar-row { display: grid; grid-template-columns: minmax(70px, 105px) 1fr 56px; gap: 10px; align-items: center; }
.bar-row strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.bar-row > span { color: #4b596b; font-size: 10px; font-weight: 750; text-align: right; }
.bar-track { overflow: hidden; height: 9px; border-radius: 99px; background: #eef1f5; }
.bar-track i { display: block; min-width: 3px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #305f7e, #70a7a1); }
.daily-chart, .monthly-chart { display: flex; gap: 8px; align-items: stretch; min-height: 205px; padding: 8px 3px 0; }
.daily-column, .month-column { position: relative; display: grid; flex: 1; grid-template-rows: 18px 1fr 17px 15px; min-width: 34px; text-align: center; }
.daily-column > span { color: #657285; font-size: 8px; }
.daily-column > div, .month-column > div { position: relative; display: flex; align-items: end; justify-content: center; border-bottom: 1px solid #dce1e8; }
.daily-column i, .month-column i { display: block; width: min(28px, 70%); min-height: 3px; border-radius: 5px 5px 0 0; background: linear-gradient(#5a8c98, #2e5d78); }
.daily-column strong, .month-column strong { margin-top: 5px; color: #4b5869; font-size: 9px; }
.daily-column small, .month-column small { color: #9aa3af; font-size: 8px; }
.staff-detail-scroll { max-height: 330px; }
.staff-detail-scroll table { min-width: 1080px; }
.sample-warning { margin-top: 3px; color: #ae7018 !important; }
.mix-values { color: #607083; font-size: 10px; white-space: nowrap; }
.content-link { display: block; overflow: hidden; max-width: 180px; color: #315f7d; text-overflow: ellipsis; white-space: nowrap; }
.monthly-chart { position: relative; gap: 10px; min-height: 220px; }
.month-column { grid-template-rows: 1fr 17px 15px; }
.month-dot { position: absolute; z-index: 2; left: 50%; width: 8px; height: 8px; margin: 0 0 30px -4px; border: 2px solid #fff; border-radius: 50%; background: #d66b5d; box-shadow: 0 0 0 1px #d66b5d; }
.month-column i { background: linear-gradient(#86aeb4, #416f86); }
.distribution-list { display: grid; gap: 15px; max-height: 255px; overflow: auto; padding: 3px 2px; }
.distribution-list > div, .distribution-list > a { display: grid; gap: 5px; color: inherit; }
.distribution-list > a:hover strong { color: #315f7d; }
.distribution-list header { display: flex; justify-content: space-between; font-size: 10px; }
.distribution-list header span, .distribution-list small { color: var(--muted); font-size: 9px; }
.distribution-list > div > div, .distribution-list > a > div { overflow: hidden; height: 8px; border-radius: 99px; background: #edf0f4; }
.distribution-list i { display: block; height: 100%; border-radius: inherit; background: #557f91; }
.traffic-list i { background: #6d9680; }
.overall-monthly-chart { overflow-x: auto; padding-bottom: 8px; }
.overall-monthly-chart .month-column { flex: 0 0 48px; color: inherit; }
.quality-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.quality-grid > div { display: grid; gap: 5px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafb; }
.quality-grid span, .quality-grid small { color: var(--muted); font-size: 9px; }
.quality-grid strong { color: #26364a; font-size: 18px; }
.report-grid + .analytics-collapsible { margin-top: 14px; }
.analytics-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 14px; }
.analytics-detail-grid .table-wrap { margin: 0; }
.subnav { gap: 4px; width: fit-content; margin-bottom: 25px; padding: 4px; border-radius: 11px; }
.subnav a { padding: 8px 13px; font-size: 11px; font-weight: 650; }
.subnav a:hover, .subnav a.active { color: #202a3a; background: white; box-shadow: 0 2px 8px rgb(24 34 48 / 8%); }
.audit-list, .change-list { gap: 13px; }
.audit-row { padding: 15px 17px; border-radius: 12px; }
.audit-row summary { font-size: 11px; }
.audit-row pre, .change-card pre { padding: 12px; font-size: 10px; }
.change-card { gap: 25px; }

@media (max-width: 1200px) {
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid, .analytics-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-kpis, .report-kpis:has(.metric:nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quality-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .content-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns: 190px minmax(0, 1fr); }
  .detail-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .detail-facts div { border-right: 1px solid var(--line); }
  .detail-facts div:nth-child(3n) { border-right: 0; }
}

@media (max-width: 1000px) {
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-columns { grid-template-columns: 1fr; }
  .evidence-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid { grid-template-columns: 1fr; }
  .entry-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); transition: transform .25s ease; }
  .sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; z-index: 25; inset: 0; border: 0; background: rgb(20 28 44 / 42%); }
  .sidebar-open .sidebar-backdrop { display: block; }
  .workspace { width: 100%; }
  .menu-toggle { display: grid; place-items: center; }
  .topbar { padding: 0 18px; }
  .page-shell { padding: 20px 18px 38px; }
}

@media (max-width: 700px) {
  .login-view { grid-template-columns: 1fr; }
  .login-brand { display: none; }
  .login-panel { min-height: 100vh; padding: 32px 22px; }
  .mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 44px; font-weight: 800; }
  .topbar-heading p, .top-profile > div:nth-child(2) { display: none; }
  .topbar { height: 66px; }
  .page-heading, .library-heading, .analytics-heading, .detail-hero, .evidence-card { display: grid; grid-template-columns: 1fr; align-items: start; }
  .library-actions { justify-items: start; }
  .export-action { width: 100%; text-align: left; }
  .overview-grid, .analytics-grid, .filter-grid, .content-grid, .evidence-timeline, .edit-grid, .inline-edit-form, .change-card, .screenshot-upload-grid { grid-template-columns: 1fr; }
  .quick-grid, .metric-grid, .analytics-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-toolbar, .report-toolbar > div { display: grid; }
  .report-toolbar { gap: 12px; }
  .report-toolbar form { justify-content: start; }
  .analytics-detail-grid { grid-template-columns: 1fr; }
  .quality-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .monthly-chart { overflow-x: auto; }
  .month-column { flex: 0 0 42px; }
  .filter-wide, .edit-wide, .analytics-wide { grid-column: auto; }
  .filter-actions { grid-column: 1 / -1; }
  .pagination-control { justify-content: flex-start; }
  .pagination-summary { width: 100%; }
  .quick-entry-primary, .entry-more-grid { grid-template-columns: 1fr; }
  .entry-wide { grid-column: auto; }
  .evidence-preview img { height: auto; max-height: 420px; }
  .detail-cover { width: min(260px, 100%); justify-self: center; }
  .detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-facts div:nth-child(3n) { border-right: 1px solid var(--line); }
  .detail-facts div:nth-child(2n) { border-right: 0; }
  .welcome-banner { align-items: start; }
  .banner-status { display: none; }
}

@media (max-width: 480px) {
  .login-card { padding: 28px 22px; border-radius: 15px; }
  .detail-facts { grid-template-columns: 1fr; }
  .detail-facts div, .detail-facts div:nth-child(2n), .detail-facts div:nth-child(3n) { border-right: 0; }
  .quick-grid, .metric-grid, .analytics-kpis { grid-template-columns: 1fr; }
  .quality-grid { grid-template-columns: 1fr; }
  .quick-card { grid-template-columns: 42px 1fr; }
  .quick-card > a { grid-column: 2; }
  .top-actions .top-profile { display: none; }
  .page-shell { padding: 18px 13px 34px; }
  .pagination-jump { width: 100%; }
  .pagination-jump label { flex: 1; }
  .pagination-jump input, .pagination-jump select { width: 100%; }
  .entry-form-footer { align-items: stretch; flex-direction: column; }
  .entry-form-footer .entry-submit { width: 100%; }
  .card, .analytics-panel, .edit-panel { padding: 17px; }
  .filter-grid { padding: 14px; }
}

@media print {
  .sidebar, .topbar, .sidebar-backdrop, .subnav, button { display: none !important; }
  .app-shell, .workspace { display: block; }
  .page-shell { max-width: none; padding: 0; }
  .card, .table-wrap, .analytics-panel { box-shadow: none; }
}

/* 评论监控工作台 */
.comment-heading { align-items: center; }
.compliance-note { max-width: 360px; padding: 12px 15px; border: 1px solid #cce8dc; border-radius: 11px; color: #176b50; background: #f2fbf7; font-size: 11px; font-weight: 700; }
.comment-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 24px; }
.comment-metrics small { display: block; margin-top: 5px; color: #8a93a3; font-size: 10px; }
.comment-guide { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; margin-bottom: 20px; border-color: #cfe2ff; background: #fbfdff; }
.comment-guide h2 { margin: 3px 0 7px; color: #35475d; font-size: 17px; }
.comment-guide-copy p, .comment-guide-footnote { margin: 0; color: #657084; font-size: 11px; line-height: 1.65; }
.comment-guide-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.comment-guide-steps span { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #dbe7f5; border-radius: 999px; color: #4a607b; background: #fff; font-size: 10px; font-weight: 700; }
.comment-guide-steps b { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: #fff; background: #4176a8; font-size: 9px; }
.comment-guide-footnote { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #e2ebf5; }
.comment-work-section { margin: 26px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.section-heading h2 { margin: 3px 0 0; font-size: 17px; }
.section-heading p { max-width: 510px; margin: 0; color: #7b8596; font-size: 10px; line-height: 1.55; text-align: right; }
.comment-empty { display: grid; gap: 5px; padding: 20px; color: #7a8494; font-size: 11px; }
.comment-empty strong { color: #435064; font-size: 13px; }
.comment-advanced, .comment-history { margin-top: 18px; overflow: hidden; }
.comment-advanced > summary, .comment-history > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; color: #3e4b5c; cursor: pointer; font-size: 12px; }
.comment-advanced > summary small { display: block; margin-top: 4px; color: #8791a1; font-size: 10px; font-weight: 500; }
.comment-advanced[open] > summary, .comment-history[open] > summary { border-bottom: 1px solid var(--line); }
.comment-advanced-body { padding: 18px; }
.comment-advanced .filter-panel { margin: 0 0 18px; }
.comment-advanced .filter-panel summary { padding: 0; }
.comment-method-note { margin: -5px 0 14px; color: #7a5b22; font-size: 10px; line-height: 1.55; }
.comment-plan-table { margin: 24px 0 0; }
.comment-history { padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.comment-history .table-wrap { padding: 0 18px 18px; }
.risk-case-actions > .secondary-button { width: max-content; margin-bottom: 7px; }
.risk-case-actions .text-action { border: 0; background: transparent; cursor: pointer; }
.template-maintenance-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; border-color: #dbe7f5; background: #fbfdff; }
.template-maintenance-card h2 { margin: 4px 0 7px; font-size: 16px; }
.template-maintenance-card p { max-width: 780px; margin: 0; color: #667285; font-size: 11px; line-height: 1.65; }
.template-maintenance-card button { width: auto; flex: none; margin: 0; }
.template-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.template-card .card-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.template-card .card-heading h2 { margin: 3px 0 0; font-size: 17px; }
.template-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.template-meta div { padding: 10px; border-radius: 9px; background: #f7f9fb; }
.template-meta dt { color: #8993a2; font-size: 9px; }
.template-meta dd { margin: 5px 0 0; color: #475468; font-size: 10px; font-weight: 700; overflow-wrap: anywhere; }
.template-card details > summary { color: #526174; cursor: pointer; font-size: 11px; font-weight: 700; }
.template-description { margin: 0 0 16px; color: #657084; font-size: 11px; line-height: 1.65; }
.template-handling { display: grid; gap: 7px; margin: 0 0 16px; }
.template-handling article { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 9px; padding: 9px 10px; border-left: 3px solid #d49b35; border-radius: 7px; background: #fafbfc; }
.template-handling article:first-child { border-left-color: #a12b31; }
.template-handling strong { color: #4e5c6e; font-size: 10px; }
.template-handling span, .template-handling small { display: block; font-size: 10px; line-height: 1.5; }
.template-handling span { color: #4d596b; font-weight: 700; }.template-handling small { margin-top: 2px; color: #798496; }
.template-rule-list { display: grid; gap: 8px; margin-top: 12px; }
.template-rule-list article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 11px; border: 1px solid #e7ebf0; border-radius: 9px; background: #fff; }
.template-rule-list strong { color: #465267; font-size: 11px; overflow-wrap: anywhere; }
.template-rule-list p { margin: 4px 0; color: #727d8e; font-size: 10px; line-height: 1.55; }
.template-rule-list small { color: #5d6b7c; font-size: 9px; line-height: 1.45; }
.risk-template-level { display: grid; width: 36px; height: 24px; place-items: center; border-radius: 999px; color: #82600e; background: var(--amber-soft); font-size: 9px; font-weight: 800; }
.risk-template-level.p0 { color: #fff; background: #a12b31; }.risk-template-level.p1 { color: #9f1d25; background: #fff0ed; }.risk-template-level.p3 { color: #4c6785; background: #edf4fb; }
.template-roadmap { margin-top: 20px; }.template-roadmap h2 { margin: 4px 0 12px; font-size: 16px; }.template-roadmap ol { display: grid; gap: 8px; margin: 0; padding-left: 19px; color: #586579; font-size: 11px; line-height: 1.6; }
.taboo-management { margin-top: 20px; }.taboo-management .card-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }.taboo-management .card-heading h2 { margin: 3px 0 6px; font-size: 17px; }.taboo-management .card-heading p { margin: 0; color: #738093; font-size: 11px; line-height: 1.6; }
.taboo-create-form { display: grid; grid-template-columns: 130px 140px 170px minmax(180px, 1fr) auto; gap: 10px; align-items: end; margin: 18px 0; }.taboo-create-form label { display: grid; gap: 5px; color: #667286; font-size: 10px; font-weight: 700; }.taboo-create-form input, .taboo-create-form select { min-height: 34px; margin: 0; padding: 6px 8px; font-size: 11px; }.taboo-create-form .primary-button { width: auto; min-height: 34px; margin: 0; white-space: nowrap; }
.taboo-room-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }.taboo-room-grid > article { padding: 14px; border: 1px solid #e4e9ef; border-radius: 10px; background: #fbfcfd; }.taboo-room-grid h3 { margin: 0; color: #475468; font-size: 13px; }.taboo-room-grid > article > p { margin: 4px 0 12px; color: #8490a0; font-size: 10px; }.taboo-term-list { display: grid; gap: 6px; }.taboo-term-list form { display: grid; grid-template-columns: 100px 1fr minmax(100px, 1.4fr) 62px auto; gap: 6px; align-items: center; }.taboo-term-list input, .taboo-term-list select { min-width: 0; min-height: 31px; margin: 0; padding: 5px 6px; font-size: 10px; }.taboo-term-list .secondary-button { width: auto; min-height: 31px; margin: 0; padding: 5px 8px; font-size: 10px; }

@media (max-width: 900px) {
  .comment-guide, .template-grid { grid-template-columns: 1fr; }
  .section-heading, .template-maintenance-card { align-items: flex-start; flex-direction: column; }
  .section-heading p { text-align: left; }
  .template-meta { grid-template-columns: 1fr; }
  .taboo-create-form, .taboo-room-grid { grid-template-columns: 1fr; }
  .taboo-term-list form { grid-template-columns: 1fr 1fr; }.taboo-term-list form input[name="note"] { grid-column: 1 / -1; }
}
.comment-create { margin-top: 22px; }
.comment-create .card-heading { display: flex; gap: 20px; align-items: end; justify-content: space-between; margin-bottom: 18px; }
.comment-create .card-heading p { margin: 0; font-size: 11px; }
.comment-plan-fields { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.comment-plan-fields label { display: grid; gap: 6px; }
.warning-text { color: #a12b31; font-size: 10px; font-weight: 700; }
.comment-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.comment-actions form { margin: 0; }
.comment-actions button { min-height: 34px; padding: 6px 10px; }
.case-list { display: grid; gap: 12px; }
.risk-case { display: grid; grid-template-columns: 76px minmax(0, 1fr) 280px; gap: 18px; align-items: center; padding: 18px; border: 1px solid var(--line); border-left: 4px solid #d49b35; border-radius: 13px; background: #fff; box-shadow: var(--soft-shadow); }
.risk-case.risk-p0 { border-left-color: #991b1b; }
.risk-case.risk-p1 { border-left-color: #dc4147; }
.risk-case.risk-p2 { border-left-color: #d49b35; }
.risk-case-level { display: grid; justify-items: center; }
.risk-case-level strong { font-size: 24px; }
.risk-case-level span { color: #7c8798; font-size: 10px; }
.risk-case-body h3 { margin: 0 0 7px; font-size: 14px; }
.risk-case-body blockquote { margin: 0 0 7px; padding-left: 10px; border-left: 2px solid #e4e7ec; color: #384254; font-size: 12px; }
.risk-case-body p, .risk-case-body small { margin: 0; color: #778194; font-size: 10px; }
.risk-case-actions { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.risk-case-actions input { grid-column: 1 / -1; min-height: 36px; }
.risk-case-actions button { min-height: 34px; padding: 6px 10px; }
.status-active, .status-succeeded, .status-verified { color: #176b50; background: var(--green-soft); }
.status-paused, .status-awaiting_human, .status-created, .status-claimed { color: #80520f; background: var(--amber-soft); }
.status-failed, .status-human_required, .status-cancelled { color: #a12b31; background: var(--coral-soft); }

@media (max-width: 1000px) {
  .bulk-toolbar { grid-template-columns: auto minmax(0, 1fr); }
  .bulk-more-actions { grid-column: 1 / -1; }
  .bulk-more-content { right: auto; left: 0; }
  .comment-plan-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .risk-case { grid-template-columns: 64px minmax(0, 1fr); }
  .risk-case-actions { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .bulk-toolbar { grid-template-columns: 1fr; gap: 8px; }
  .bulk-toolbar-primary { align-items: flex-start; flex-direction: column; gap: 6px; }
  .bulk-toolbar-primary .primary-button { width: 100%; }
  .bulk-help { overflow: visible; white-space: normal; }
  .bulk-more-actions { grid-column: auto; }
  .bulk-more-content { position: static; width: auto; min-width: 0; margin-top: 2px; box-shadow: none; }
  .bulk-tag-controls { align-items: stretch; }
  .access-link-panel { grid-template-columns: 1fr; padding: 17px; }
  .access-link-form { align-items: stretch; flex-direction: column; }
  .access-link-form .primary-button { width: 100%; }
  .comment-metrics, .comment-plan-fields { grid-template-columns: 1fr; }
  .comment-create .card-heading, .risk-case { display: grid; grid-template-columns: 1fr; }
  .risk-case-level { justify-items: start; }
}

/* 内容方向金标复核 */
.direction-heading, .direction-review-heading { align-items: center; }
.direction-heading form { margin: 0; }
.direction-claim, .compact-primary { width: auto; margin: 0; }
.direction-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.direction-metrics small { display: block; margin-top: 5px; color: #8a93a3; font-size: 10px; }
.blind-review-note { display: flex; gap: 12px; align-items: center; margin: 18px 0 24px; padding: 14px 16px; border: 1px solid #cfe2ff; border-radius: 12px; color: #2c5b9d; background: #f3f7ff; font-size: 11px; }
.blind-review-note strong { flex: none; color: #214b86; }
.expression-guidance { align-items: flex-start; }
.expression-media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 18px; }
.expression-media-grid img, .expression-media-grid video { width: 100%; max-height: 420px; object-fit: contain; border-radius: 10px; border: 1px solid #e4e8ef; background: #f8fafc; }
.expression-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.expression-form-grid label { margin: 0; }
.direction-section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 12px; }
.direction-section-heading h2, .direction-section-heading p { margin: 0; }
.compact-button, .compact-primary { min-height: 32px; padding: 6px 10px; }
.direction-review-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); gap: 20px; align-items: start; }
.direction-content-card, .direction-form-card { min-width: 0; }
.direction-content-card h2 { margin: 3px 0 12px; font-size: 22px; }
.direction-content-meta { display: flex; flex-wrap: wrap; gap: 7px; color: #7a8497; font-size: 10px; }
.direction-content-meta span { padding: 4px 8px; border-radius: 999px; background: #f2f4f7; }
.direction-cover { width: min(360px, 100%); max-height: 420px; display: block; margin: 18px auto 4px; border-radius: 12px; object-fit: contain; background: #f4f5f7; }
.direction-topics { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0; }
.direction-topics span { padding: 4px 9px; border-radius: 999px; color: #6d54bb; background: #f4f0ff; font-size: 10px; }
.direction-body { max-height: 58vh; overflow: auto; margin-top: 20px; padding: 18px; border: 1px solid #edf0f4; border-radius: 11px; color: #3e495c; background: #fbfcfd; font-size: 13px; line-height: 1.9; white-space: pre-wrap; }
.direction-options { display: grid; gap: 8px; max-height: 52vh; overflow: auto; margin: 15px 0; padding-right: 5px; }
.direction-option { display: grid; grid-template-columns: 20px 1fr; gap: 9px; align-items: start; margin: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: white; }
.direction-option:hover { border-color: #efb6b8; background: #fffafa; }
.direction-option:has(input:checked) { border-color: #e46f73; background: var(--coral-soft); box-shadow: 0 0 0 2px rgb(229 72 77 / 8%); }
.direction-option input { width: 16px; height: 16px; min-height: auto; margin: 3px 0 0; }
.direction-option strong, .direction-option small { display: block; }
.direction-option strong { color: #263244; font-size: 12px; }
.direction-option small { margin-top: 3px; color: #737d8f; font-size: 10px; font-weight: 500; line-height: 1.55; }
.direction-submit-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 16px; }
.direction-submit-actions button { width: auto; margin: 0; }
.submitted-review { padding: 17px; border: 1px solid #cce8dc; border-radius: 11px; background: #f2fbf7; }
.submitted-review strong, .submitted-review span { display: block; }
.submitted-review span { margin-top: 4px; color: #667085; font-size: 11px; }
.submitted-review p { margin: 10px 0 0; }
.review-comparison { display: grid; gap: 9px; margin: 15px 0 20px; }
.review-comparison article { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfc; }
.review-comparison strong, .review-comparison span { display: block; }
.review-comparison span { margin-top: 4px; color: #a12b31; font-weight: 700; }
.review-comparison p { margin: 7px 0 0; font-size: 11px; }
.review-comparison .comparison-reference { border-style: dashed; color: #7a8497; background: #fff; }
.review-comparison .comparison-reference span { color: #7a8497; font-weight: 500; }
.direction-guidance { margin-top: 20px; }
.direction-guidance h2 { font-size: 15px; }
.direction-guidance p { margin: 0; font-size: 11px; }
.status-assigned, .status-in_review { color: #80520f; background: var(--amber-soft); }
.status-submitted, .status-agreed, .status-adjudicated { color: #176b50; background: var(--green-soft); }
.status-conflict { color: #a12b31; background: var(--coral-soft); }

/* T3-1 live replay ingestion */
.status-ready, .status-completed, .status-skipped { color: #176b50; background: var(--green-soft); }
.status-initialized, .status-uploading, .status-assembling, .status-uploaded, .status-validating { color: #80520f; background: var(--amber-soft); }
.status-expired { color: #a12b31; background: var(--coral-soft); }
.live-heading { align-items: end; }
.live-upload-card { margin-bottom: 34px; }
.live-source-badge { padding: 6px 10px; border: 1px solid #f0c8b6; border-radius: 999px; color: #a7482f; background: #fff5ef; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.live-upload-form { margin-top: 20px; }
.live-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.live-form-grid label { display: grid; gap: 7px; color: #424d60; font-size: 11px; font-weight: 700; }
.live-form-grid input[type="text"], .live-form-grid input[type="url"], .live-form-grid input[type="date"], .live-form-grid input:not([type]) { width: 100%; }
.live-form-wide { grid-column: 1 / -1; }
.live-file-picker { padding: 18px; border: 1px dashed #b9c4d4; border-radius: 12px; background: #f8fafc; }
.live-file-picker input { padding: 9px; background: white; }
.live-file-picker small { color: var(--muted); font-weight: 500; }
.live-authorization { display: flex !important; grid-template-columns: auto 1fr; align-items: start; padding: 12px 14px; border-radius: 10px; background: #fff8f3; }
.live-authorization input { margin-top: 2px; }
.live-upload-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; margin-top: 20px; }
.live-upload-progress div { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 7px; color: #586377; font-size: 11px; }
.live-upload-progress progress, .live-stage-progress progress { width: 100%; height: 9px; accent-color: var(--coral); }
.live-stage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0; }
.live-stage-card .card-heading { align-items: center; }
.live-stage-progress { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin: 22px 0 12px; }
.live-stage-progress strong { color: #465166; font-size: 12px; }
.live-meta-list { display: grid; gap: 0; margin: 15px 0 0; }
.live-meta-list div { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.live-meta-list dt { color: var(--muted); font-size: 10px; }
.live-meta-list dd { margin: 0; overflow-wrap: anywhere; color: #303b4e; font-size: 11px; font-weight: 650; }
.live-validation-card { margin-top: 20px; }
.live-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.live-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.live-validation-card code, .table-wrap code { overflow-wrap: anywhere; font-size: 10px; }

@media (max-width: 900px) {
  .release-guide-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-form-grid, .live-stage-grid, .live-meta-grid { grid-template-columns: 1fr; }
  .live-form-wide { grid-column: auto; }
  .live-upload-actions { grid-template-columns: 1fr; }
  .live-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1200px) {
  .direction-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .direction-review-layout { grid-template-columns: 1fr; }
  .expression-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .direction-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blind-review-note, .direction-submit-actions { align-items: stretch; flex-direction: column; }
  .direction-submit-actions button { width: 100%; }
}

@media (max-width: 480px) {
  .release-guide-steps { grid-template-columns: 1fr; }
  .direction-metrics { grid-template-columns: 1fr; }
}

/* 内容生产任务卡 */
.production-heading { align-items: end; }
.production-create, .production-list-card { margin-bottom: 24px; }
.production-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; }
.production-form label, .production-inline label { display: grid; gap: 6px; color: #424d60; font-size: 11px; font-weight: 700; }
.production-wide { grid-column: 1 / -1; }
.strategy-options { padding: 16px; border: 1px solid #dbe4f0; border-radius: 12px; background: #fbfcfe; }
.strategy-options h3 { margin: 0 0 5px; font-size: 14px; }
.strategy-options > p { margin: 0 0 12px; }
.strategy-options .entry-more-grid { padding: 0; }
.strategy-options [hidden] { display: none !important; }
.strategy-response { display: grid; grid-column: 1 / -1; gap: 8px; margin: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; }
.strategy-response legend { padding: 0 4px; color: #424d60; font-size: 11px; font-weight: 700; }
.strategy-checkboxes { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.strategy-checkboxes label { display: flex !important; align-items: center; gap: 5px; color: #4f5a6d !important; font-weight: 500 !important; }
.strategy-checkboxes input { min-height: auto; margin: 0; }
.production-consent { grid-template-columns: 18px 1fr; align-items: start; padding: 12px 14px; border: 1px solid #cfe2ff; border-radius: 10px; color: #315f7d !important; background: #f6f9ff; font-weight: 600 !important; line-height: 1.55; }
.production-consent input { min-height: auto; margin-top: 2px; }
.production-source-placeholder { display: grid; gap: 5px; padding: 14px 16px; border: 1px dashed #afbac9; border-radius: 10px; color: #526174; background: #f8fafc; font-size: 11px; line-height: 1.6; }
.production-source-placeholder strong { color: #35475d; font-size: 12px; }
.production-demo-guide { margin-bottom: 24px; border-color: #cfe2ff; background: #f7fbff; }
.production-demo-guide ol { display: grid; gap: 6px; margin: 14px 0 0; padding-left: 20px; color: #475366; font-size: 12px; line-height: 1.6; }
.production-mock-card { border-color: #cfe2ff; background: #fbfdff; }
.production-mock-card > p { color: #475366; font-size: 12px; line-height: 1.65; }
.production-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.production-actions form { margin: 0; }
.production-actions .primary-button, .production-actions .secondary-button, .production-actions .danger-button { width: auto; margin: 0; }
.production-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.text-action { color: #315f7d; font-size: 11px; font-weight: 750; white-space: nowrap; }
.production-task-hero { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 24px; align-items: start; }
.production-task-hero h1 { margin: 3px 0 7px; }
.production-task-hero p { margin: 0; color: #576174; line-height: 1.7; }
.production-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.production-meta span { padding: 5px 8px; border-radius: 999px; color: #566277; background: #f1f4f7; font-size: 10px; }
.production-next { display: grid; gap: 9px; justify-items: start; padding: 15px; border: 1px solid #eed4c5; border-radius: 12px; background: #fff9f6; }
.production-next strong { color: #8e432b; font-size: 13px; line-height: 1.45; }
.production-next small { color: #8c6a5f; font-size: 10px; }
.production-flow { display: flex; align-items: center; gap: 8px; margin: 19px 0 24px; color: #9aa3af; font-size: 10px; font-weight: 750; }
.production-flow span { padding: 6px 9px; border: 1px solid #e2e6eb; border-radius: 999px; background: #fff; }
.production-flow span.done { border-color: #b6ddca; color: #176b50; background: #f2fbf7; }
.production-flow span.current { border-color: #f0c8b6; color: #a7482f; background: #fff5ef; }
.production-flow i { width: 22px; height: 1px; background: #d9dfe6; }
.production-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 20px; align-items: start; }
.production-main { display: grid; gap: 18px; }
.production-side { display: grid; gap: 15px; position: sticky; top: 16px; }
.production-side .card { padding: 16px; }
.production-side h2 { margin: 0 0 12px; font-size: 14px; }
.production-brief dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; margin: 16px 0 0; }
.production-brief dl > div { padding: 11px 0; border-top: 1px solid var(--line); }
.production-brief dt { color: var(--muted); font-size: 10px; }
.production-brief dd { margin: 5px 0 0; color: #374255; font-size: 12px; line-height: 1.65; white-space: pre-wrap; }
.production-submit { margin-top: 12px; text-align: right; }
.production-submit .primary-button { width: auto; margin: 0; }
.production-copy pre { overflow: auto; margin: 15px 0; padding: 14px; border: 1px solid #edf0f4; border-radius: 10px; color: #394558; background: #fafbfc; font: inherit; font-size: 12px; line-height: 1.8; white-space: pre-wrap; }
.production-taboo-warning { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #f1c9bd; border-radius: 9px; color: #933c29; background: #fff6f2; font-size: 11px; line-height: 1.55; }
.production-copy small { color: var(--muted); font-size: 10px; }
.production-decision textarea { margin-top: 8px; }
.production-delivery .production-actions { margin-top: 16px; }
.production-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-top: 15px; }
.production-inline .primary-button { width: auto; margin: 0; }
.production-history { display: grid; gap: 10px; }
.production-history > div { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.production-history > div:last-child { padding-bottom: 0; border-bottom: 0; }
.production-history strong, .production-history span { display: block; }
.production-history strong { color: #3c4759; font-size: 11px; }
.production-history span, .production-history p { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.production-source-assets img { display: block; width: min(180px, 100%); max-height: 180px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 8px; object-fit: cover; }
.production-analysis-placeholder ol { display: grid; gap: 9px; margin: 18px 0; padding-left: 21px; color: #475366; font-size: 12px; line-height: 1.65; }
.production-analysis-placeholder .muted { margin-bottom: 0; }
.status-awaiting_material, .status-awaiting_analysis, .status-awaiting_strategy, .status-drafting, .status-revision, .status-pending_approval, .status-waiting_link { color: #80520f; background: var(--amber-soft); }
.status-ready_to_send, .status-monitoring, .status-completed { color: #176b50; background: var(--green-soft); }

@media (max-width: 1000px) {
  .production-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-layout { grid-template-columns: 1fr; }
  .production-side { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .production-form, .production-brief dl, .production-inline, .production-task-hero { grid-template-columns: 1fr; }
  .production-side { grid-template-columns: 1fr; }
  .production-flow { overflow-x: auto; padding-bottom: 4px; }
  .production-flow i { min-width: 12px; }
  .production-inline .primary-button { width: 100%; }
}

.operations-workspace > .card { margin-bottom: 20px; }
.operations-workspace input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; margin: 0 8px 0 0; vertical-align: middle; }
.operations-workspace .filter-grid label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 6px; }
.operations-workspace .detail-section { border-top: 1px solid #ececf0; padding: 18px 0; }
.operations-workspace summary { cursor: pointer; }

/* 日常运营：只突出员工必须处理的动作，配置与明细默认收起。 */
.operations-heading { margin-bottom: 18px; }
.operations-archive-card, .operations-action-card { padding: 20px; }
.operations-card-heading h2 { margin: 3px 0 5px; font-size: 17px; }
.operations-card-heading p { margin: 0; color: #737d8f; font-size: 11px; line-height: 1.6; }
.operations-archive-form { display: grid; grid-template-columns: minmax(260px, 1.7fr) minmax(130px, .8fr) minmax(130px, .7fr) auto auto; gap: 10px; align-items: end; margin-top: 16px; }
.operations-archive-form label { display: grid; gap: 5px; margin: 0; color: #596579; font-size: 10px; font-weight: 700; }
.operations-archive-form input, .operations-archive-form select { min-height: 36px; margin: 0; padding: 7px 9px; font-size: 11px; }
.operations-archive-form textarea { min-height: 82px; margin: 0; padding: 8px 9px; resize: vertical; font-size: 11px; line-height: 1.55; }
.operation-link-field-wide, .archive-link-preview { grid-column: 1 / -1; }
.operations-archive-form label small { color: #8a94a4; font-size: 9px; font-weight: 500; line-height: 1.4; }
.archive-link-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #e5e9ef; border-radius: 8px; color: #6e7889; background: #fbfcfd; font-size: 10px; }
.archive-link-preview a { padding: 3px 7px; border-radius: 999px; color: #176b50; background: var(--green-soft); font-weight: 700; text-decoration: none; }
.archive-link-preview a:hover { background: #d9f2e7; }
.operations-archive-form .operation-confirm { display: flex; align-items: center; min-height: 36px; gap: 0; white-space: nowrap; }
.operations-archive-form .operation-confirm input { flex: none; }
.operations-archive-form .primary-button { width: auto; min-height: 36px; margin: 0; padding: 7px 13px; white-space: nowrap; }
.operations-footnote { margin: 10px 0 0; color: #8a94a4; font-size: 10px; }
.operations-action-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.operation-summary-card { display: flex; align-items: center; gap: 12px; min-height: 82px; padding: 15px 17px; }
.operation-summary-card h2 { margin: 0 0 3px; font-size: 13px; }
.operation-summary-card p { margin: 0; color: #7b8596; font-size: 10px; }
.operation-summary-count { display: grid; flex: none; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #4b5565; background: #edf0f5; font-size: 16px; font-weight: 800; }
.operation-summary-count.has-work { color: #b42318; background: #fff0ed; }
.muted-summary .operation-summary-count { color: #176b50; background: var(--green-soft); }
.operations-action-list { margin-top: 15px; border-top: 1px solid #edf0f4; }
.operations-action-row { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto; gap: 12px; align-items: center; padding: 13px 2px; border-bottom: 1px solid #edf0f4; }
.operations-action-copy { min-width: 0; }
.operations-action-copy strong { display: block; overflow: hidden; color: #394454; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.operations-action-copy p { display: -webkit-box; overflow: hidden; margin: 3px 0 0; color: #778194; font-size: 10px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.operations-action-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.operations-action-buttons form { margin: 0; }
.operations-action-buttons .secondary-button { width: auto; min-height: 30px; margin: 0; padding: 5px 8px; font-size: 10px; white-space: nowrap; }
.risk-pill { display: inline-grid; min-width: 34px; min-height: 24px; place-items: center; border-radius: 999px; color: #9f1d25; background: #fff0ed; font-size: 10px; font-weight: 800; }
.risk-pill.risk-p0 { color: #fff; background: #a12b31; }
.risk-pill.risk-p2 { color: #81500c; background: var(--amber-soft); }
.operations-empty { display: grid; gap: 3px; padding: 22px 2px; color: #778194; font-size: 11px; }
.operations-empty strong { color: #445064; font-size: 12px; }
.operations-tracking, .operations-admin-settings { margin-bottom: 18px; overflow: hidden; }
.operations-tracking > summary, .operations-admin-settings > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; color: #414c5e; cursor: pointer; font-size: 12px; font-weight: 750; }
.operations-tracking > summary small, .operations-admin-settings > summary small { color: #8b95a5; font-size: 10px; font-weight: 500; }
.operations-tracking[open] > summary, .operations-admin-settings[open] > summary { border-bottom: 1px solid #edf0f4; }
.operations-tracking-body, .operations-admin-body { padding: 0 18px 18px; }
.operations-tracking table small { display: block; margin-top: 3px; color: #8a94a4; font-size: 9px; }
.operations-tracking .status { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operations-settings-row td { padding-top: 0; background: #fbfcfd; }
.operations-settings-row details { padding: 8px 0; }
.operations-settings-row summary { color: #697586; font-size: 10px; }
.operations-policy-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin: 10px 0 2px; }
.operations-policy-form label { display: grid; gap: 4px; margin: 0; color: #687385; font-size: 9px; }
.operations-policy-form select { width: auto; min-width: 104px; min-height: 32px; margin: 0; padding: 5px 8px; font-size: 10px; }
.operations-policy-form .secondary-button { width: auto; min-height: 32px; margin: 0; padding: 5px 10px; font-size: 10px; }
.operations-admin-body > p { color: #737d8f; font-size: 11px; }
.operations-budget-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.operations-budget-form label { display: grid; gap: 5px; margin: 0; color: #5f6b7b; font-size: 10px; }
.operations-budget-form label:first-of-type { display: flex; align-items: center; min-height: 36px; }
.operations-budget-form input[type="number"] { width: 150px; min-height: 36px; margin: 0; padding: 7px 9px; }
.operations-budget-form .primary-button { width: auto; min-height: 36px; margin: 0; padding: 7px 12px; }
.operations-charge-log { margin-top: 15px; }
.operations-charge-log summary { color: #667286; cursor: pointer; font-size: 10px; }
.operations-charge-log ul { display: grid; gap: 4px; margin: 8px 0 0; padding-left: 18px; color: #7a8595; font-size: 10px; }

/* 内容录入：链接输入优先，批量共用同一套可选字段。 */
.quick-entry-primary { grid-template-columns: minmax(0, 1fr) 170px; align-items: start; }
.quick-entry-url textarea { min-height: 132px; resize: vertical; line-height: 1.55; }
.quick-entry-url small { color: #8a94a4; font-size: 10px; line-height: 1.45; }
.quick-entry-settings { display: grid; gap: 12px; }

@media (max-width: 1100px) {
  .operations-archive-form { grid-template-columns: minmax(230px, 1fr) 150px 150px; }
  .operations-archive-form .operation-confirm, .operations-archive-form .primary-button { grid-column: auto; }
}

@media (max-width: 760px) {
  .operations-archive-form, .operations-action-summary { grid-template-columns: 1fr; }
  .operations-archive-form .operation-confirm, .operations-archive-form .primary-button { grid-column: auto; }
  .operations-archive-form .primary-button { width: 100%; }
  .operations-action-row { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .operations-action-buttons { grid-column: 1 / -1; justify-content: flex-start; }
  .operations-tracking > summary, .operations-admin-settings > summary { align-items: flex-start; flex-direction: column; gap: 3px; }
  .operations-tracking-body, .operations-admin-body { padding-inline: 12px; }
  .operations-policy-form { display: grid; grid-template-columns: 1fr 1fr; }
  .operations-policy-form .secondary-button { width: 100%; }
  .operations-budget-form { display: grid; grid-template-columns: 1fr; }
  .operations-budget-form input[type="number"], .operations-budget-form .primary-button { width: 100%; }
}
