:root {
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  color: #172033;
  background: #f5f7fa;
  font-synthesis: none;
  --blue: #1769f3;
  --blue-dark: #0f57d4;
  --navy: #0a172d;
  --muted: #718096;
  --line: #e3e8ef;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --danger: #e5484d;
  --warning: #e98615;
  --success: #19a974;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f5f7fa; color: #172033; font-size: 14px; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 216px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 12px 18px; overflow-y: auto; color: #dce6f8; background: var(--navy); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 8px 28px; color: #fff; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #3882f9; border-radius: 10px; color: #68a4ff; background: #102c59; font-size: 20px; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: 0; }
.brand small { margin-top: 2px; color: #8ba0c1; font-size: 11px; letter-spacing: 0; }
.sidebar nav { display: grid; gap: 7px; }
.nav-link { min-height: 48px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px; padding: 0 12px; border-radius: 8px; color: #9db0cd; font-size: 14px; font-weight: 600; transition: background .18s, color .18s; }
.nav-link i { font-size: 18px; }
.nav-link b { min-width: 22px; padding: 2px 6px; border-radius: 10px; text-align: center; background: #ffffff18; font-size: 11px; }
.nav-link:hover { color: #fff; background: #12233f; }
.nav-link.active { color: #fff; background: #1556b7; box-shadow: inset 3px 0 #65a3ff; }
.sidebar-help { display: flex; gap: 10px; margin: auto 4px 14px; padding: 13px 10px; border-top: 1px solid #213049; color: #93a7c4; }
.sidebar-help > i { color: #4f8ff7; font-size: 20px; }
.sidebar-help strong, .sidebar-help small { display: block; }
.sidebar-help strong { color: #dce6f7; font-size: 12px; }
.sidebar-help small { margin-top: 4px; font-size: 11px; line-height: 1.5; }
.channel-switcher { padding: 0 4px 12px; }
.channel-switcher > span { display: block; margin-bottom: 7px; color: #8ca0bf; font-size: 11px; }
.channel-switcher details { position: relative; }
.channel-switcher summary { min-height: 44px; display: grid; grid-template-columns: 22px 1fr 16px; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #263d62; border-radius: 8px; color: #fff; background: #101f39; list-style: none; }
.channel-switcher summary::-webkit-details-marker { display: none; }
.channel-switcher summary strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.channel-switcher details > div { position: absolute; right: 0; bottom: 48px; left: 0; z-index: 5; padding: 6px; border: 1px solid #2a4165; border-radius: 8px; background: #10203a; box-shadow: 0 12px 30px #0007; }
.channel-switcher details a { display: block; padding: 8px; border-radius: 6px; color: #c9d6e9; font-size: 11px; }
.channel-switcher details a:hover { background: #1a3155; color: #fff; }
.logout-form { padding: 0 4px; }
.logout-form button { width: 100%; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px; border: 0; color: #9aacc7; background: transparent; font-size: 12px; }

.main-panel { min-width: 0; }
.topbar { min-height: 80px; display: flex; align-items: center; gap: 18px; padding: 14px 28px; border-bottom: 1px solid var(--line); background: #fff; }
.topbar-title { min-width: 0; display: flex; align-items: baseline; gap: 14px; }
.topbar h1 { margin: 0; font-size: 25px; letter-spacing: 0; }
.page-subtitle { margin: 0; color: var(--muted); font-size: 13px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.topbar-actions form { margin: 0; }
.topbar-scan-meta { display: grid; gap: 2px; text-align: right; }
.topbar-scan-meta span { color: #7e8899; font-size: 12px; }
.topbar-scan-meta strong { color: #344054; font-size: 15px; font-weight: 700; }
.admin-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; border-radius: 6px; color: #3267b8; background: #edf4ff; font-size: 12px; font-weight: 600; }
.menu-button { display: none; border: 0; color: #334155; background: transparent; font-size: 22px; }
.page-content { max-width: 1680px; margin: 0 auto; padding: 20px 22px 42px; }

.primary-button, .secondary-button, .success-button, .danger-button, .danger-outline, .ghost-button, .row-review-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 1px solid transparent; border-radius: 6px; font-size: 13px; font-weight: 700; white-space: nowrap; transition: background .18s, border-color .18s, box-shadow .18s; }
.primary-button, .row-review-button { color: #fff; background: var(--blue); }
.primary-button:hover, .row-review-button:hover { background: var(--blue-dark); box-shadow: 0 5px 14px #1769f32b; }
.secondary-button { color: #265fbd; border-color: #b9cff4; background: #fff; }
.success-button { color: #fff; background: var(--success); }
.danger-button { color: #fff; background: var(--danger); }
.danger-outline { color: #d23c43; border-color: #f1b6b9; background: #fff; }
.ghost-button { color: #536176; border-color: #dbe2ea; background: #fff; }
.compact { min-height: 34px; padding: 0 12px; }
.full { width: 100%; }
.scan-button { min-width: 116px; height: 42px; font-size: 13px; white-space: nowrap; }

.scan-strip { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 18px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.scan-stage { min-width: 0; display: flex; align-items: center; gap: 10px; color: #718096; }
.scan-stage > i { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #d7dee8; border-radius: 50%; color: #708096; background: #fff; font-size: 16px; }
.scan-stage.completed > i { color: var(--blue); border-color: #90b8fa; background: #f2f7ff; }
.scan-stage.current > i { color: #fff; border-color: var(--blue); background: var(--blue); }
.scan-stage.attention > i { color: var(--warning); border-color: #f2c78e; background: #fff8ed; }
.scan-stage strong, .scan-stage small { display: block; }
.scan-stage strong { color: #344054; font-size: 13px; white-space: nowrap; }
.scan-stage small { margin-top: 3px; max-width: 130px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.stage-arrow { color: #a7b1c0; font-size: 18px; }
.dashboard-progress, .sync-progress { margin-top: 10px; padding: 13px 16px; border: 1px solid #cfe0fb; border-radius: 8px; background: #f5f9ff; }
.scan-progress[hidden] { display: none; }
.scan-progress-head { display: flex; justify-content: space-between; color: #245ebd; font-size: 11px; }
.scan-progress-track { height: 6px; margin-top: 8px; overflow: hidden; border-radius: 99px; background: #dfe7f2; }
.scan-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--blue); transition: width .35s ease; }
.scan-progress p { margin: 7px 0 0; color: #65758b; font-size: 12px; }
.scan-progress a { display: inline-block; margin-top: 7px; color: var(--blue); font-size: 11px; font-weight: 700; }
.scan-progress.scan-failed { border-color: #f3c6c8; background: #fff6f6; }
.scan-progress.scan-failed .scan-progress-track i { background: var(--danger); }

.manual-scan-summary { min-height: 88px; display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid #cfe0fb; border-radius: 8px; background: #f7faff; }
.manual-scan-copy { min-width: 0; display: flex; align-items: center; gap: 12px; }
.manual-scan-copy > i { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: var(--blue); font-size: 20px; }
.manual-scan-copy strong, .manual-scan-copy small { display: block; }
.manual-scan-copy strong { color: #234b86; font-size: 15px; }
.manual-scan-copy small { margin-top: 4px; color: #65758b; font-size: 12px; line-height: 1.5; }
.manual-scan-summary dl { display: grid; grid-template-columns: repeat(4, minmax(70px, 1fr)); gap: 8px; margin: 0; }
.manual-scan-summary dl div { min-width: 76px; padding: 7px 12px; border-left: 1px solid #d9e5f6; text-align: center; }
.manual-scan-summary dt, .manual-scan-summary dd { margin: 0; }
.manual-scan-summary dt { color: #718096; font-size: 11px; }
.manual-scan-summary dd { margin-top: 4px; color: #245ebd; font-size: 20px; font-weight: 800; }
.manual-scan-summary > a { color: var(--blue); font-size: 12px; font-weight: 700; white-space: nowrap; }
.content-sync-summary { margin-bottom: 14px; }
.content-sync-summary dl { grid-template-columns: repeat(2, minmax(110px, 1fr)); }
.content-sync-summary dd { font-size: 15px; white-space: nowrap; }

.task-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.task-metric { min-height: 118px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; transition: border-color .16s, box-shadow .16s, transform .16s; }
.task-metric:hover { transform: translateY(-1px); border-color: #a9c5ef; box-shadow: 0 8px 22px #1b5daa10; }
.task-metric.selected { border-color: #8db6f6; box-shadow: inset 0 0 0 1px #8db6f6; background: #f7faff; }
.task-metric > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: #eaf2ff; font-size: 18px; }
.task-metric > span { min-width: 0; }
.task-metric b, .task-metric small { display: block; }
.task-metric b { color: #344054; font-size: 14px; }
.task-metric strong { color: var(--blue); font-size: 27px; line-height: 1; }
.task-metric small { margin-top: 7px; color: #718096; font-size: 11px; font-weight: 400; line-height: 1.55; }
.task-metric.danger > i, .task-metric.danger strong { color: var(--danger); }.task-metric.danger > i { background: #fff0f1; }
.task-metric.warning > i, .task-metric.warning strong { color: var(--warning); }.task-metric.warning > i { background: #fff4e5; }
.task-metric.info > i, .task-metric.info strong { color: #5d6ee8; }.task-metric.info > i { background: #eff0ff; }
.task-metric.success > i, .task-metric.success strong { color: var(--success); }.task-metric.success > i { background: #eaf8f2; }

.review-list-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 22px 2px 12px; }
.review-list-heading h2 { margin: 0; color: #283548; font-size: 18px; }
.review-list-heading p { margin: 5px 0 0; color: #65758b; font-size: 12px; line-height: 1.6; }
.review-list-heading > span { flex: 0 0 auto; color: #53657c; font-size: 12px; font-weight: 700; }
.review-catalog { display: grid; gap: 12px; }
.review-content-item { position: relative; overflow: hidden; border-left: 4px solid #8a97a8; }
.review-content-item.decision-delete { border-left-color: var(--danger); }
.review-content-item.decision-placement { border-left-color: var(--blue); }
.review-content-item.decision-review, .review-content-item.decision-incomplete { border-left-color: var(--warning); }
.review-content-item.decision-allow { border-left-color: var(--success); }
.review-content-item.conflict { background: #fffdf9; }
.review-state { flex: 0 0 auto; display: grid; justify-items: end; gap: 7px; }
.review-state strong { color: #42526a; font-size: 13px; }
.review-guidance { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr); gap: 20px; margin: 15px 0 2px; padding: 14px 0; border-top: 1px solid #e7ebf1; border-bottom: 1px solid #e7ebf1; }
.review-guidance span { display: block; color: #718096; font-size: 11px; font-weight: 700; }
.review-guidance strong { display: block; margin-top: 6px; color: #334155; font-size: 15px; line-height: 1.45; }
.review-guidance p { margin: 5px 0 0; color: #536176; font-size: 13px; line-height: 1.65; }
.review-next-step { padding-left: 18px; border-left: 3px solid #9fc0f4; }
.review-next-step strong { color: #175fc4; font-size: 16px; }
.decision-delete .review-next-step { border-color: #f0a4a8; }.decision-delete .review-next-step strong { color: #c8333b; }
.decision-allow .review-next-step { border-color: #88d6b9; }.decision-allow .review-next-step strong { color: #087453; }
.decision-review .review-next-step, .decision-incomplete .review-next-step { border-color: #efc17f; }.decision-review .review-next-step strong, .decision-incomplete .review-next-step strong { color: #a65d13; }
.review-card-warning { display: flex; gap: 9px; margin-top: 12px; padding: 10px 12px; border: 1px solid #f2c289; border-radius: 6px; color: #a65d13; background: #fff8ed; }
.review-card-warning > i { flex: 0 0 auto; font-size: 16px; }
.review-card-warning strong, .review-card-warning small { display: block; }
.review-card-warning strong { font-size: 12px; }.review-card-warning small { margin-top: 3px; font-size: 11px; line-height: 1.5; }
.review-evidence { margin-top: 3px; border-bottom: 1px solid #edf0f4; }
.review-evidence > summary { width: max-content; padding: 11px 0; color: #52657d; font-size: 12px; font-weight: 700; cursor: pointer; }
.review-evidence dl { display: grid; gap: 9px; margin: 0; padding: 0 0 13px; }
.review-evidence dl > div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px; }
.review-evidence dt, .review-evidence dd { margin: 0; font-size: 12px; line-height: 1.6; }
.review-evidence dt { color: #8995a6; }.review-evidence dd { color: #405069; overflow-wrap: anywhere; }
.review-card-actions { border-top: 0 !important; }
.review-card-actions .review-action { margin: 0; }
.review-card-actions .review-action.recommended { order: -1; }
.review-card-actions .review-action button { min-height: 36px; }
.review-move-form { display: flex; align-items: center; gap: 6px; }
.review-move-form select { min-width: 178px; height: 36px; }
.review-delete-form { margin-left: auto !important; }
.review-catalog-empty { min-height: 290px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 8px; color: #91a0b3; background: #fff; text-align: center; }
.review-catalog-empty i { color: #4a8af1; font-size: 34px; }.review-catalog-empty strong { color: #4d5b70; font-size: 13px; }.review-catalog-empty p { margin: 0; font-size: 12px; }
.queue-empty { min-height: 290px; display: grid; place-items: center; align-content: center; gap: 6px; color: #91a0b3; text-align: center; }
.queue-empty i { color: #4a8af1; font-size: 34px; }
.queue-empty strong { color: #4d5b70; font-size: 13px; }
.queue-empty p { margin: 0; font-size: 12px; }

.consistency-warning { display: flex; gap: 9px; margin: 12px 0 0; padding: 10px; border: 1px solid #f2c289; border-radius: 6px; color: #b45309; background: #fff8ed; }
.consistency-warning > i { font-size: 16px; }
.consistency-warning strong, .consistency-warning small { display: block; }
.consistency-warning strong { font-size: 12px; }
.consistency-warning small { margin-top: 3px; font-size: 11px; line-height: 1.5; }

.panel, .info-banner, .hero-card, .action-card, .metric { border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.panel { padding: 20px; margin-bottom: 16px; }
.info-banner { margin-bottom: 16px; padding: 14px 16px; border-left: 3px solid var(--blue); background: #f6f9ff; }
.info-banner strong { font-size: 14px; }
.info-banner p { margin: 5px 0 0; color: #66758a; font-size: 12px; line-height: 1.65; }
.warning-banner { border-left-color: var(--warning); background: #fff9ef; }
.panel-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.panel-title h2 { margin: 0; font-size: 18px; }
.panel-title p { margin: 5px 0 0; color: #748197; font-size: 12px; }
.panel-title a { color: var(--blue); font-size: 12px; font-weight: 700; }
.official-exemption-panel { border-color: #bcd5f4; }
.official-exemption-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.official-exemption-rules > div { display: flex; gap: 11px; min-height: 110px; padding: 15px; border: 1px solid #dbe5ef; border-radius: 7px; background: #f8fbff; }
.official-exemption-rules i { flex: 0 0 auto; color: #1769d2; font-size: 22px; }
.official-exemption-rules strong { color: #263b53; font-size: 14px; }
.official-exemption-rules p { margin: 7px 0 0; color: #5e7086; font-size: 13px; line-height: 1.65; }
.official-exemption-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 14px; }
.official-exemption-form label { color: #52647a; font-size: 13px; font-weight: 700; }
.official-exemption-form textarea { margin-top: 7px; resize: vertical; }
.official-section-fixed { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 12px 14px; border-left: 3px solid #19a974; background: #f2faf7; }
.official-section-fixed span { color: #63758a; font-size: 13px; }
.official-section-fixed strong { color: #087453; font-size: 14px; }
.official-section-fixed p { margin: 0 0 0 auto; color: #536d63; font-size: 13px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.scan-metric-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.scan-metric-grid article { padding: 13px 15px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.scan-metric-grid span, .scan-metric-grid small, .scan-metric-grid strong { display: block; }
.scan-metric-grid span, .scan-metric-grid small { color: #6f7f95; font-size: 11px; }
.scan-metric-grid strong { margin: 6px 0 4px; color: var(--blue); font-size: 23px; }
.metric { padding: 16px; }
.metric span, .metric small, .metric strong { display: block; }
.metric span, .metric small { color: #748197; font-size: 12px; }
.metric strong { margin: 7px 0 5px; color: var(--blue); font-size: 26px; }
.metric.warning strong { color: var(--warning); }.metric.success strong { color: var(--success); }.metric.danger strong { color: var(--danger); }.metric.purple strong { color: #7667d9; }
.two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.align-start { align-items: start; }
.hero-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 14px; }.hero-card, .action-card { padding: 24px; }.hero-card h2 { margin: 10px 0; }.hero-card p, .action-card p { color: #66758a; font-size: 11px; line-height: 1.6; }
.mode-badge, .pill, .risk-pill, .analysis-badge { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 5px; background: #eef2f7; color: #58667a; font-size: 11px; white-space: nowrap; }
.mode-badge { color: #0f7a57; background: #e9f7f1; font-weight: 700; }.mode-badge i { width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--success); }.mode-badge.warning { color: #a65d13; background: #fff4e5; }.mode-badge.warning i { background: var(--warning); }.mode-badge.disabled { color: #65758a; background: #eef2f7; }.mode-badge.disabled i { background: #8a97a8; }
.risk-pill { font-weight: 700; }.risk-pill.risk-critical, .risk-pill.risk-high { color: #c4373f; background: #fff0f1; }.risk-pill.risk-medium { color: #ae6909; background: #fff5df; }.risk-pill.risk-low { color: #0a7b58; background: #eaf8f2; }
.decision-pill { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 5px; font-size: 12px; font-weight: 700; white-space: nowrap; }.decision-pill.decision-delete { color: #c4373f; background: #fff0f1; }.decision-pill.decision-placement { color: #245eb2; background: #edf4ff; }.decision-pill.decision-review, .decision-pill.decision-incomplete { color: #a65d13; background: #fff4e5; }.decision-pill.decision-allow { color: #087453; background: #eaf8f2; }
.analysis-ai { color: #0a7656; background: #e9f7f1; }.analysis-rules { color: #a65d13; background: #fff3e4; }
.table-wrap { overflow: auto; }table { width: 100%; border-collapse: collapse; font-size: 13px; }th { padding: 12px 10px; color: #68778c; background: #fafbfc; font-size: 12px; font-weight: 700; text-align: left; white-space: nowrap; }td { padding: 14px 10px; border-bottom: 1px solid #edf0f4; vertical-align: top; }.title-link { color: #245eb2; font-weight: 700; }.subline, .analysis-summary { display: block; margin-top: 5px; color: #748197; font-size: 11px; line-height: 1.5; }.table-decision { display: block; color: #245eb2; font-size: 13px; }.table-decision-danger { color: #c4373f; }.table-decision-warning { color: #a65d13; }.table-decision-success { color: #087453; }.empty { padding: 28px !important; color: #8190a5; text-align: center; }.empty.tall { padding: 70px 20px !important; }
.filter-panel { padding: 14px 16px; }.filter-form, .inline-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; }.filter-form label, .inline-form label, .stack-form label { display: grid; gap: 6px; color: #536176; font-size: 12px; }.stack-form label small { color: #7b8798; font-size: 11px; line-height: 1.5; }
input, select, textarea { width: 100%; padding: 9px 10px; border: 1px solid #d8e0e9; border-radius: 6px; color: #273548; background: #fff; outline: none; }input:focus, select:focus, textarea:focus { border-color: #7eacf5; box-shadow: 0 0 0 3px #1769f315; }
.stack-form { display: grid; gap: 14px; }.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.check-grid { display: flex; flex-wrap: wrap; gap: 10px; }.check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px !important; }.check input { width: auto; }
.policy-count { flex: 0 0 auto; padding: 5px 8px; border-radius: 5px; color: #245eb2; background: #edf4ff; font-size: 11px; font-weight: 700; }
.policy-editor-list { display: grid; gap: 10px; }.policy-editor-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: #fafbfc; }.policy-editor-form { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(260px, 1.5fr) auto auto; align-items: end; gap: 10px; }.policy-editor-form label { min-width: 0; display: grid; gap: 6px; color: #536176; font-size: 12px; }.policy-editor-form .policy-wide { min-width: 0; }.policy-editor-form .policy-guidance { grid-column: 1 / 3; }.content-policy-form { grid-template-columns: minmax(155px, .75fr) minmax(260px, 1.5fr) minmax(160px, .7fr) auto auto; }.policy-toggle { min-height: 36px; align-self: end; padding: 0 2px; white-space: nowrap; }.policy-delete-form { padding-bottom: 8px; }.policy-delete-form button { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: transparent; font-size: 12px; }.policy-add { margin-top: 12px; border: 1px dashed #b9c9dd; border-radius: 7px; background: #fff; }.policy-add > summary { width: max-content; display: flex; align-items: center; gap: 6px; padding: 12px 14px; color: #245eb2; font-size: 12px; font-weight: 700; list-style: none; cursor: pointer; }.policy-add > summary::-webkit-details-marker { display: none; }.policy-add[open] > summary { border-bottom: 1px solid var(--line); }.policy-add .policy-editor-form { padding: 14px; }.policy-empty { min-height: 82px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #7b899d; text-align: left; }.policy-empty > i { color: #5289dd; font-size: 25px; }.policy-empty strong, .policy-empty small { display: block; }.policy-empty strong { color: #4b5c73; font-size: 13px; }.policy-empty small { margin-top: 4px; font-size: 11px; }
.confirm-check { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: 8px !important; padding: 10px; border: 1px solid var(--line); border-radius: 7px; background: #fafbfc; line-height: 1.5; }.confirm-check input { width: auto; margin-top: 2px; }
fieldset { border: 1px solid var(--line); border-radius: 7px; }legend { color: #65758a; font-size: 12px; }
.bulk-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fafbfc; color: #536176; font-size: 12px; }.bulk-toolbar small { margin-left: auto; }.bulk-select-all { display: flex; align-items: center; gap: 6px; }.bulk-select-all input, .selection-column input { width: auto; }.bulk-move-controls { display: flex; gap: 6px; }.selection-column { width: 48px; text-align: center; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 16px; align-items: start; }.decision-panel { position: sticky; top: 12px; }.detail-heading { display: flex; justify-content: space-between; gap: 14px; }.detail-heading h2 { margin: 10px 0; }.meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.meta-grid div { padding: 12px; background: #f8fafc; }.meta-grid dt { color: #7d899b; font-size: 11px; }.meta-grid dd { margin: 5px 0 0; font-size: 13px; }.content-box { padding: 15px; border: 1px solid var(--line); border-radius: 7px; color: #46566b; background: #fafbfc; font-size: 13px; line-height: 1.75; white-space: pre-wrap; }.reason-list { display: grid; gap: 8px; }.reason-list article { padding: 14px; border: 1px solid var(--line); border-radius: 7px; }.reason-list span { display: block; margin-top: 5px; color: #748197; font-size: 11px; }.reason-list p { color: #536176; font-size: 12px; }.button-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }.action-effect { margin: 0; color: #65758a; font-size: 12px; line-height: 1.6; }.action-block, .danger-zone { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }.action-block p, .danger-zone p { color: #65758a; font-size: 12px; line-height: 1.65; }.recommendation-action { margin: -5px 0 14px; color: #536176; font-size: 14px; font-weight: 700; }
.decision-overview { margin: 18px 0 0; padding: 17px 0; border-top: 1px solid #dbe6f4; border-bottom: 1px solid #dbe6f4; background: #f7faff; }.decision-overview-heading span, .decision-overview-grid span, .analysis-evidence-line span { display: block; color: #718096; font-size: 11px; font-weight: 700; }.decision-overview-heading h3 { margin: 6px 0 0; color: #244f93; font-size: 20px; }.decision-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(180px, .8fr); gap: 20px; margin-top: 16px; }.decision-overview-grid p { margin: 6px 0 0; color: #334155; font-size: 14px; line-height: 1.65; }.decision-overview-grid strong { display: block; margin-top: 6px; color: #175fc4; font-size: 17px; line-height: 1.45; }.analysis-section { margin-top: 19px; padding-bottom: 18px; border-bottom: 1px solid #edf0f4; }.analysis-section h3 { margin: 0 0 8px; color: #29384d; font-size: 16px; }.analysis-section > p { margin: 0; color: #46566b; font-size: 14px; line-height: 1.75; white-space: pre-line; }.analysis-evidence-line { margin-top: 13px !important; padding-top: 12px; border-top: 1px solid #edf0f4; }.analysis-evidence-line span { margin-bottom: 5px; }.analysis-status-warning { padding: 12px 13px 15px; border-left: 3px solid var(--warning); background: #fff9ef; }.analysis-section .content-box { margin-top: 0; }
.external-link-section > p { margin-top: 9px; }.external-link-status { display: inline-block; padding: 5px 8px; border-radius: 5px; color: #315170; background: #edf3f8; font-size: 12px; }.external-link-normal, .external-link-not_found { color: #176b4d; background: #e9f7f0; }.external-link-suspicious, .external-link-prohibited { color: #9b3b31; background: #fff0ed; }.external-link-uncertain, .external-link-not_checked { color: #8a5a14; background: #fff6e5; }.external-link-values { display: grid; gap: 6px; margin-top: 12px; }.external-link-values span { color: #718096; font-size: 11px; font-weight: 700; }.external-link-values code { display: block; padding: 7px 9px; overflow-wrap: anywhere; color: #42556e; background: #f4f6f8; font-size: 12px; }.external-link-domains { margin-top: 10px !important; color: #65758a !important; font-size: 12px !important; }
.media-list { display: grid; gap: 8px; }.media-list a { color: var(--blue); font-weight: 700; }
.analysis-trace, .analysis-record-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }.analysis-trace article, .analysis-record-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: #fafbfc; }.analysis-trace article { display: flex; gap: 8px; }.analysis-trace article > span { color: var(--blue); font-size: 11px; font-weight: 800; }.analysis-trace strong, .analysis-trace small, .analysis-record-grid span, .analysis-record-grid strong { display: block; }.analysis-trace small, .analysis-record-grid span { margin-top: 4px; color: #748197; font-size: 11px; line-height: 1.45; }.analysis-records { display: grid; gap: 12px; }.analysis-record-head { display: flex; justify-content: space-between; gap: 12px; }.analysis-record-head h2 { margin: 8px 0 4px; font-size: 16px; }.analysis-record-head p, .analysis-record-grid p { color: #65758a; font-size: 12px; line-height: 1.55; }.record-reasons, .tag-cloud { display: flex; flex-wrap: wrap; gap: 7px; }.record-reasons span, .tag-cloud span { padding: 6px 8px; border-radius: 5px; color: #5f6f85; background: #f0f3f7; font-size: 11px; }.record-detail-link, .placement-target { color: var(--blue); font-size: 12px; font-weight: 700; }.channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.channel-grid article { padding: 15px; border: 1px solid var(--line); border-radius: 7px; }.channel-grid p { color: #65758a; font-size: 12px; }
.section-intro { margin: 20px 0 10px; }.section-intro h2 { margin: 0; font-size: 19px; }.section-intro p { margin: 5px 0 0; color: #6c7a8f; font-size: 12px; }
.analysis-guidance { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.8fr) minmax(170px, .9fr); gap: 12px; margin-top: 15px; padding: 15px; border-left: 4px solid var(--blue); background: #f6f9ff; }.analysis-guidance span { display: block; color: #748197; font-size: 11px; }.analysis-guidance strong { display: block; margin-top: 6px; color: #244f93; font-size: 14px; line-height: 1.5; }.analysis-guidance p { margin: 6px 0 0; color: #46566b; font-size: 13px; line-height: 1.65; }
.analysis-evidence { margin-top: 12px; border: 1px solid var(--line); border-radius: 7px; }.analysis-evidence > summary { padding: 12px 14px; color: #52657d; font-size: 12px; font-weight: 700; cursor: pointer; }.analysis-evidence .analysis-record-grid { padding: 0 14px 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }.analysis-evidence .record-reasons { padding: 0 14px 14px; }.analysis-record .record-detail-link { display: inline-flex; margin-top: 13px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }.pagination span { color: #65758a; font-size: 12px; }
.content-catalog-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 20px 2px 12px; }.content-catalog-heading h2 { margin: 0; font-size: 18px; }.content-catalog-heading p { margin: 5px 0 0; color: #748197; font-size: 12px; }.content-catalog-heading a { color: var(--blue); font-size: 12px; font-weight: 700; }.content-catalog { display: grid; gap: 10px; }.content-item { padding: 17px 18px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.content-item > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }.content-title { min-width: 0; display: flex; align-items: flex-start; gap: 9px; }.content-title h2 { min-width: 0; margin: 0; color: #283548; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }.content-type { flex: 0 0 auto; margin-top: 1px; padding: 3px 6px; border-radius: 4px; color: #53657c; background: #edf1f6; font-size: 10px; font-weight: 700; }.content-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 11px; color: #718096; font-size: 11px; }.content-meta span { display: inline-flex; align-items: center; gap: 5px; }.content-meta i { color: #8d99aa; font-size: 13px; }.content-meta .sync-state, .content-meta .sync-state i { color: #15845f; }.content-preview { margin: 13px 0 15px; color: #4f5f73; font-size: 13px; line-height: 1.7; white-space: pre-line; }.content-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding-top: 13px; border-top: 1px solid #edf0f4; }.content-actions form { margin: 0; }.content-edit { position: relative; }.content-edit > summary { list-style: none; cursor: pointer; }.content-edit > summary::-webkit-details-marker { display: none; }.content-edit[open] { flex: 1 0 100%; order: 2; margin-top: 4px; padding: 15px; border: 1px solid #d9e2ef; border-radius: 7px; background: #f8fafc; }.content-edit[open] > summary { width: max-content; margin-bottom: 13px; }.content-edit .stack-form { display: grid; gap: 12px; }.content-edit textarea { resize: vertical; }.content-move-form { display: flex; align-items: center; gap: 6px; }.content-move-form select { min-width: 150px; height: 34px; }.content-delete-form { margin-left: auto !important; }
.record-tabs { min-height: 52px; display: flex; align-items: stretch; gap: 4px; margin-bottom: 12px; padding: 0 10px; overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.record-tabs a { display: flex; align-items: center; gap: 6px; padding: 0 13px; border-bottom: 3px solid transparent; color: #66758a; font-size: 13px; font-weight: 700; white-space: nowrap; }.record-tabs a.active { color: var(--blue); border-color: var(--blue); }.record-tabs b { min-width: 20px; padding: 2px 6px; border-radius: 10px; color: #6d7b90; background: #eef2f7; font-size: 10px; text-align: center; }
.audit-list { display: grid; gap: 8px; }.audit-item { min-height: 82px; display: grid; grid-template-columns: 110px minmax(0, 1fr) 86px; align-items: center; gap: 18px; padding: 14px 17px; border: 1px solid var(--line); border-left: 4px solid #9aa7b7; border-radius: 7px; background: #fff; }.audit-item.tone-success { border-left-color: var(--success); }.audit-item.tone-warning { border-left-color: var(--warning); }.audit-item.tone-danger { border-left-color: var(--danger); }.audit-time strong, .audit-time span { display: block; }.audit-time strong { color: #405069; font-size: 12px; }.audit-time span { margin-top: 5px; color: #8591a2; font-size: 11px; }.audit-copy h2 { margin: 0; color: #2e3c50; font-size: 15px; }.audit-copy p { margin: 6px 0 0; color: #627188; font-size: 12px; line-height: 1.55; }.audit-result { justify-self: end; padding: 6px 8px; border-radius: 5px; color: #536176; background: #eef2f7; font-size: 11px; font-weight: 700; }.tone-success .audit-result { color: #087453; background: #eaf8f2; }.tone-warning .audit-result { color: #a65d13; background: #fff4e5; }.tone-danger .audit-result { color: #c4373f; background: #fff0f1; }
.flash-stack { display: grid; gap: 8px; margin-bottom: 12px; }.flash { display: flex; align-items: center; gap: 8px; padding: 11px 13px; border: 1px solid #c6daf9; border-radius: 7px; color: #225aaa; background: #f3f7ff; font-size: 12px; transition: opacity .2s; }.flash.success { color: #087453; border-color: #b8e1d2; background: #f0faf6; }.flash.error { color: #b6343b; border-color: #efc2c4; background: #fff4f4; }.flash.fade { opacity: 0; }.error-text, .link-danger { color: #c43d45 !important; }.mono, .small-json, .break-all { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }.selected-delete-list { max-height: 320px; overflow: auto; }.selected-delete-list article { display: flex; justify-content: space-between; padding: 10px; border-bottom: 1px solid var(--line); }
.sidebar-backdrop { display: none; }
.official-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 20px; margin-bottom: 14px; padding: 24px; border: 1px solid #cfe0fb; border-radius: 8px; background: #f5f9ff; }
.official-hero h2 { margin: 12px 0 8px; font-size: 24px; }.official-hero p { margin: 0; color: #536176; font-size: 13px; line-height: 1.7; }
.official-hero dl { display: grid; gap: 8px; margin: 0; }.official-hero dl div { display: grid; grid-template-columns: 90px 1fr; gap: 10px; padding: 11px 12px; border-radius: 7px; background: #fff; }.official-hero dt, .official-hero dd { margin: 0; font-size: 12px; }.official-hero dt { color: #748197; }.official-hero dd { color: #34455c; font-weight: 700; }.status-ok { color: var(--success) !important; }.status-error { color: var(--danger) !important; }
.sync-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }.sync-summary span { padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; color: #66758a; background: #fff; font-size: 12px; }.sync-summary strong { margin-right: 4px; color: #245eb2; font-size: 18px; }
.official-workflows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.official-workflow { display: grid; gap: 12px; align-content: space-between; min-height: 150px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.official-workflow strong { color: #29384d; font-size: 15px; }
.official-workflow p { margin: 6px 0 0; color: #5f6f85; font-size: 12px; line-height: 1.6; }
.official-workflow > div:last-child { display: flex; flex-wrap: wrap; gap: 7px; }
.capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }.capability-card { min-height: 116px; display: flex; flex-direction: column; justify-content: flex-end; padding: 15px; border: 1px solid #dbe4f0; border-radius: 8px; background: #fbfcfe; transition: transform .15s, border-color .15s, box-shadow .15s; }.capability-card:hover { transform: translateY(-2px); border-color: #91b8f5; box-shadow: 0 8px 22px #1b5daa12; }.capability-card strong { margin: 8px 0 5px; color: #34455c; font-size: 14px; }.capability-card small { color: #748197; font-size: 11px; line-height: 1.45; }.capability-risk { align-self: flex-start; padding: 4px 6px; border-radius: 4px; color: #087453; background: #eaf8f2; font-size: 10px; font-weight: 700; }.capability-card.write .capability-risk { color: #a65d13; background: #fff4e5; }.capability-card.high-risk .capability-risk { color: #c4373f; background: #fff0f1; }
.official-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.official-fields label b { margin-left: 5px; color: var(--danger); font-size: 10px; }.official-fields label small { color: #748197; font-size: 11px; }.advanced-parameters { padding: 12px; border: 1px solid var(--line); border-radius: 7px; }.advanced-parameters summary { color: #53657d; font-size: 12px; font-weight: 700; cursor: pointer; }.advanced-parameters p { color: #748197; font-size: 11px; }.advanced-parameters textarea { margin-top: 8px; }
.official-result pre { max-height: 600px; overflow: auto; margin: 0; padding: 15px; border-radius: 7px; color: #d9e6f5; background: #172235; font-size: 12px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.official-result-summary { display: grid; gap: 9px; margin-bottom: 14px; padding: 15px; border-left: 4px solid var(--success); background: #f3fbf7; }.official-result-summary > strong { color: #275445; font-size: 16px; }.official-result-summary > p { margin: 0; color: #5e716a; font-size: 12px; }.official-result-summary dl { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; margin: 0; padding-top: 9px; border-top: 1px solid #d9ebe3; }.official-result-summary dt, .official-result-summary dd { margin: 0; font-size: 12px; line-height: 1.55; }.official-result-summary dt { color: #75857f; }.official-result-summary dd { color: #354b43; font-weight: 600; overflow-wrap: anywhere; }
.capability-catalog, .operation-note { border: 1px solid var(--line); border-radius: 8px; background: #fff; }.capability-catalog > summary { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 17px; list-style: none; cursor: pointer; }.capability-catalog > summary::-webkit-details-marker { display: none; }.capability-catalog > summary strong, .capability-catalog > summary small { display: block; }.capability-catalog > summary strong { color: #34455c; font-size: 15px; }.capability-catalog > summary small { margin-top: 5px; color: #748197; font-size: 11px; }.capability-catalog > summary i { color: #6f7f95; font-size: 20px; }.capability-catalog[open] > summary { border-bottom: 1px solid var(--line); }.capability-catalog-body { padding: 4px 18px 18px; }.catalog-group { padding-top: 18px; }.catalog-group + .catalog-group { margin-top: 4px; border-top: 1px solid var(--line); }.catalog-group .panel-title { margin-bottom: 10px; }.operation-note { margin-bottom: 16px; padding: 0 15px; background: #fffaf2; }.operation-note summary { padding: 13px 0; color: #8b5a1d; font-size: 12px; font-weight: 700; cursor: pointer; }.operation-note p { margin: 0; padding: 0 0 14px; color: #6f604d; font-size: 12px; line-height: 1.65; }

@media (max-width: 1360px) {
  .capability-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1100px) {
  .task-metrics { grid-template-columns: repeat(2, 1fr); }
  .manual-scan-summary { grid-template-columns: minmax(260px, 1fr) auto; }.manual-scan-summary > a { grid-column: 2; }
  .detail-grid { grid-template-columns: 1fr; }.decision-panel { position: static; }
  .scan-metric-grid { grid-template-columns: repeat(3, 1fr); }
  .official-hero { grid-template-columns: 1fr; }.official-workflows { grid-template-columns: repeat(2, 1fr); }.capability-grid { grid-template-columns: repeat(2, 1fr); }.sync-summary { grid-template-columns: repeat(2, 1fr); }.analysis-guidance { grid-template-columns: 1fr 1fr; }.analysis-guidance > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .policy-editor-form, .content-policy-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.policy-editor-form .policy-guidance { grid-column: 1 / -1; }.official-exemption-rules { grid-template-columns: 1fr; }.official-exemption-rules > div { min-height: 0; }
}
@media (max-width: 760px) {
  body.sidebar-open { overflow: hidden; }.app-shell { grid-template-columns: 1fr; }.sidebar { position: fixed; left: -230px; z-index: 30; width: 216px; transition: left .2s; }.sidebar-open .sidebar { left: 0; }.sidebar-open .sidebar-backdrop { position: fixed; inset: 0; z-index: 20; display: block; border: 0; background: #08132699; }
  .menu-button { display: block; }.topbar { padding: 12px 16px; }.topbar-title { display: block; }.topbar h1 { font-size: 20px; }.page-subtitle { margin-top: 3px; font-size: 11px; }.topbar-scan-meta { display: none; }.page-content { padding: 14px; }
  .topbar { flex-wrap: wrap; }.topbar-actions-wrap { flex: 1 0 calc(100% - 40px); margin-left: 40px; }.topbar-actions-wrap .secondary-button { flex: 1; min-width: 0; padding: 0 10px; white-space: nowrap; }
  .manual-scan-summary { grid-template-columns: 1fr; gap: 13px; }.manual-scan-summary dl { width: 100%; }.manual-scan-summary dl div:first-child { border-left: 0; }.manual-scan-summary > a { grid-column: 1; width: max-content; }
  .review-list-heading { display: grid; align-items: flex-start; }.review-guidance { grid-template-columns: 1fr; gap: 14px; }.review-next-step { padding: 12px 0 0; border-top: 1px solid #dce5f1; border-left: 0; }
  .two-column, .form-grid, .metric-grid, .channel-grid, .analysis-trace, .analysis-record-grid, .scan-metric-grid, .official-workflows, .capability-grid, .official-fields, .analysis-evidence .analysis-record-grid, .decision-overview-grid { grid-template-columns: 1fr; }
  .ai-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.board-rules-table th:last-child, .board-rules-table td:last-child { min-width: 84px; }.board-rules-table .link-danger { white-space: nowrap; }
  .analysis-guidance { grid-template-columns: 1fr; }.analysis-guidance > div:nth-child(2) { grid-column: 1; grid-row: auto; }.audit-item { grid-template-columns: 82px minmax(0, 1fr); gap: 12px; }.audit-result { grid-column: 2; justify-self: start; }.capability-catalog-body { padding: 4px 12px 12px; }
  .content-catalog-heading { display: grid; align-items: flex-start; }.content-catalog-heading a { width: max-content; }.content-item > header { display: grid; }.content-title { display: grid; }.review-state { justify-items: start; }.content-actions, .content-move-form, .review-move-form { align-items: stretch; }.content-move-form, .review-move-form { width: 100%; }.content-move-form select, .review-move-form select { min-width: 0; flex: 1; }.content-delete-form, .review-delete-form { margin-left: 0 !important; }.content-edit { width: 100%; }.content-edit > summary { width: 100%; }.review-card-actions > .review-action { width: 100%; }.review-card-actions > a, .review-card-actions button { width: 100%; }.review-card-actions .review-move-form { display: grid; grid-template-columns: minmax(0, 1fr) 92px; }.review-card-actions .review-move-form button { width: auto; }
  .policy-editor-row { grid-template-columns: 1fr; }.policy-editor-form, .content-policy-form, .official-exemption-form { grid-template-columns: 1fr; }.policy-editor-form .policy-guidance { grid-column: 1; }.policy-editor-form .primary-button, .official-exemption-form .primary-button { width: 100%; }.policy-toggle { min-height: auto; padding: 4px 0; }.policy-delete-form { padding: 0; }.policy-add > summary { width: auto; }.policy-section .panel-title { align-items: flex-start; }.official-section-fixed { align-items: flex-start; flex-wrap: wrap; }.official-section-fixed p { flex: 1 0 100%; margin-left: 0; }
}
@media (max-width: 480px) { .task-metrics, .scan-metric-grid, .sync-summary { grid-template-columns: 1fr; }.topbar-actions { gap: 6px; }.scan-button { min-width: auto; padding: 0 10px; }.task-metric { min-height: 104px; }.review-evidence dl > div, .meta-grid { grid-template-columns: 1fr; }.detail-heading { display: grid; }.button-grid { grid-template-columns: 1fr; } }

/* Knowledge answers */
.knowledge-connection { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 13px; border: 1px solid #cbd9e7; background: #fff; color: #44566c; font-weight: 700; border-radius: 6px; }
.knowledge-connection.connected { border-color: #9fd8bf; color: #176a4a; background: #f3fbf7; }
.knowledge-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr) 20px); align-items: center; margin-bottom: 18px; padding: 18px 20px; border: 1px solid #dbe5ef; background: #fff; border-radius: 8px; }
.knowledge-flow > div { display: flex; align-items: center; gap: 11px; min-width: 0; }
.knowledge-flow > div > i { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 6px; background: #edf5ff; color: #1768d0; font-size: 20px; }
.knowledge-flow span { display: grid; gap: 3px; min-width: 0; }
.knowledge-flow strong { color: #1d2d40; font-size: 15px; }
.knowledge-flow small { color: #6c7d91; font-size: 12px; line-height: 1.45; }
.knowledge-flow > i { color: #95a5b8; }
.knowledge-flow > div:last-child { grid-column: 7; }
.knowledge-notice { display: flex; gap: 12px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #e7c77a; background: #fff9e9; color: #624b17; border-radius: 6px; }
.knowledge-notice > i { font-size: 22px; }.knowledge-notice p { margin: 4px 0 0; }
.knowledge-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #d6e1eb; background: #fff; border-radius: 8px; overflow: hidden; }
.knowledge-tabs a { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; border-right: 1px solid #e4ebf2; color: #56677b; font-weight: 700; text-decoration: none; }
.knowledge-tabs a:last-child { border-right: 0; }.knowledge-tabs a:hover { background: #f6f9fc; }.knowledge-tabs a.active { color: #1768d0; background: #edf5ff; box-shadow: inset 0 -3px #1768d0; }
.knowledge-tabs b { min-width: 25px; padding: 2px 7px; border-radius: 10px; background: #e8eef5; color: #46576b; font-size: 12px; text-align: center; }
.knowledge-tabs a.active b { background: #1768d0; color: #fff; }
.knowledge-search { display: flex; justify-content: flex-end; gap: 8px; margin: 14px 0; }.knowledge-search label { display: flex; align-items: center; gap: 8px; width: min(380px, 100%); height: 40px; padding: 0 12px; border: 1px solid #cbd7e3; background: #fff; border-radius: 6px; }.knowledge-search input { width: 100%; border: 0; outline: 0; font: inherit; color: #26384c; }
.knowledge-list { display: grid; gap: 14px; }.knowledge-item { padding: 20px; border: 1px solid #d9e3ed; background: #fff; border-radius: 8px; }.knowledge-item > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }.knowledge-item h2 { margin: 7px 0 0; color: #172b40; font-size: 20px; line-height: 1.4; }.knowledge-times { display: grid; flex: 0 0 auto; gap: 4px; color: #758599; font-size: 12px; text-align: right; }.knowledge-times span { white-space: nowrap; }.knowledge-times time { color: #42566d; font-size: 13px; font-weight: 700; }.knowledge-status { color: #176a4a; font-size: 13px; font-weight: 800; }.status-review .knowledge-status, .status-error .knowledge-status { color: #9a6213; }.status-unavailable .knowledge-status { color: #657487; }
.knowledge-meta { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 11px; color: #65778b; font-size: 13px; }.knowledge-meta span, .knowledge-meta a { display: inline-flex; align-items: center; gap: 5px; }.knowledge-meta a { color: #1768d0; text-decoration: none; }
.knowledge-question { margin: 18px 0; padding: 14px 16px; border-left: 3px solid #8fb6e7; background: #f5f8fc; }.knowledge-question span, .knowledge-reply-form > label { display: block; margin-bottom: 7px; color: #53677d; font-size: 13px; font-weight: 800; }.knowledge-question p { margin: 0; color: #263a50; font-size: 15px; line-height: 1.7; white-space: pre-wrap; }
.knowledge-original { margin-top: 18px; padding: 14px 16px; border: 1px solid #dce5ee; background: #fff; border-radius: 6px; }.knowledge-original span { display: block; margin-bottom: 6px; color: #607287; font-size: 12px; font-weight: 800; }.knowledge-original strong { color: #24384e; }.knowledge-original p { margin: 7px 0 0; color: #607287; line-height: 1.6; }
.knowledge-conversation-note { display: flex; gap: 11px; margin: 0 0 18px; padding: 13px 15px; border-left: 3px solid #2e8b68; background: #f2f8f5; }.knowledge-conversation-note > i { flex: 0 0 auto; color: #237357; font-size: 20px; }.knowledge-conversation-note strong { color: #1e5946; }.knowledge-conversation-note p { margin: 4px 0 0; color: #526b61; line-height: 1.6; }.knowledge-conversation-note.needs_supplement { border-left-color: #c48624; background: #fff9ee; }.knowledge-conversation-note.needs_supplement > i, .knowledge-conversation-note.needs_supplement strong { color: #8d5a0c; }.knowledge-conversation-note.needs_supplement p { color: #705f42; }
.knowledge-thread { margin: 0 0 18px; padding: 15px 0 4px; border-top: 1px solid #dce5ee; border-bottom: 1px solid #dce5ee; }.knowledge-thread > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }.knowledge-thread > header strong { color: #30465d; }.knowledge-thread > header span { color: #718196; font-size: 12px; }.knowledge-thread ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.knowledge-thread li { position: relative; min-height: 62px; padding: 0 0 15px 31px; }.knowledge-thread li::before { position: absolute; top: 5px; left: 5px; width: 10px; height: 10px; border: 2px solid #9aabba; border-radius: 50%; background: #fff; content: ""; }.knowledge-thread li::after { position: absolute; top: 18px; bottom: 0; left: 10px; width: 1px; background: #d6e0e9; content: ""; }.knowledge-thread li:last-child::after { display: none; }.knowledge-thread li.current::before { border-color: #1768d0; background: #1768d0; }.knowledge-thread li > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 9px; }.knowledge-thread li strong { color: #30465d; font-size: 13px; }.knowledge-thread li b { padding: 2px 6px; border-radius: 4px; background: #e7f1ff; color: #1768d0; font-size: 11px; }.knowledge-thread li time { margin-left: auto; color: #7b8999; font-size: 12px; }.knowledge-thread li p { margin: 5px 0 0; color: #33495f; line-height: 1.65; white-space: pre-wrap; }
.reply-candidates { display: grid; gap: 8px; margin: 0 0 16px; padding: 0; border: 0; }.reply-candidates legend { margin-bottom: 8px; color: #53677d; font-size: 13px; font-weight: 800; }.reply-candidates label { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 12px 14px; border: 1px solid #cfdae5; border-radius: 6px; background: #fff; cursor: pointer; }.reply-candidates label:has(input:checked) { border-color: #2777d7; background: #f2f7ff; }.reply-candidates input { margin-top: 4px; accent-color: #1768d0; }.reply-candidates span { color: #2d4258; line-height: 1.65; white-space: pre-wrap; }.reply-candidates b { display: block; margin-bottom: 3px; color: #1768d0; font-size: 12px; }
.review-confirmation { margin: 10px 0 0; padding: 12px 14px; border-left: 3px solid #2777d7; background: #f2f7ff; }.review-confirmation span { color: #1768d0; font-size: 12px; font-weight: 800; }.review-confirmation p { margin: 4px 0 0; color: #30475f; line-height: 1.6; }
.knowledge-reply-form textarea { display: block; width: 100%; min-height: 168px; resize: vertical; padding: 13px 14px; border: 1px solid #b9c9d9; border-radius: 6px; color: #1f344a; background: #fff; font: inherit; font-size: 15px; line-height: 1.7; }.knowledge-reply-form textarea:focus { border-color: #2777d7; outline: 3px solid #e3efff; }
.knowledge-publish-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }.knowledge-publish-row > span { color: #607287; font-size: 13px; }.knowledge-publish-row button { min-width: 136px; }.knowledge-publish-row button:disabled { cursor: not-allowed; opacity: .48; }.published-label { color: #176a4a; }
.knowledge-decision { display: flex; gap: 12px; padding: 15px; border: 1px solid #d8e2ec; background: #f7f9fb; border-radius: 6px; }.knowledge-decision > i { font-size: 23px; color: #66798e; }.knowledge-decision.review { border-color: #ead29b; background: #fffaf0; }.knowledge-decision.review > i { color: #a36a16; }.knowledge-decision p { margin: 5px 0 0; color: #5f7083; line-height: 1.6; }
.knowledge-inline-error { margin: 10px 0 0; color: #a44040; font-size: 13px; }.knowledge-sources { margin-top: 17px; padding-top: 14px; border-top: 1px solid #e3e9f0; }.knowledge-sources summary { display: flex; align-items: center; gap: 7px; color: #486079; font-weight: 750; cursor: pointer; list-style: none; }.knowledge-sources summary i:last-child { margin-left: auto; }.knowledge-sources ul { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 0; list-style: none; }.knowledge-sources a { color: #1768d0; text-decoration: none; }.knowledge-evidence { margin-top: 10px; padding: 13px 15px; background: #f7f9fc; border-radius: 6px; }.knowledge-evidence p { margin: 9px 0 0; color: #52657a; line-height: 1.65; }.knowledge-evidence p span { display: block; color: #253b52; font-weight: 750; }.knowledge-empty { padding: 70px 20px; border: 1px dashed #cbd8e5; background: #fff; text-align: center; border-radius: 8px; }.knowledge-empty > i { color: #8fa0b3; font-size: 38px; }.knowledge-empty h2 { margin: 12px 0 5px; font-size: 19px; }.knowledge-empty p { margin: 0; color: #718196; }
@media (max-width: 900px) { .knowledge-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.knowledge-flow > i { display: none; }.knowledge-flow > div:last-child { grid-column: auto; }.knowledge-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }.knowledge-tabs a { border-bottom: 1px solid #e4ebf2; }.knowledge-tabs a:last-child { grid-column: 1 / -1; }.knowledge-tabs a.active { box-shadow: inset 3px 0 #1768d0; }.knowledge-publish-row { align-items: stretch; flex-direction: column; }.knowledge-publish-row button { width: 100%; } }
@media (max-width: 560px) { .knowledge-flow { grid-template-columns: 1fr; }.knowledge-search { display: grid; }.knowledge-search label { width: 100%; }.knowledge-item { padding: 16px; }.knowledge-item > header { display: grid; }.knowledge-times { text-align: left; }.knowledge-item h2 { font-size: 18px; }.knowledge-thread > header { align-items: flex-start; flex-direction: column; gap: 3px; }.knowledge-thread li time { width: 100%; margin-left: 0; }.knowledge-thread li { padding-left: 27px; } }
