:root {
  --ink: #202824;
  --ink-2: #34413b;
  --ink-3: #53615a;
  --muted: #6f7a74;
  --line: #d9ded9;
  --line-strong: #bdc6c0;
  --paper: #ffffff;
  --canvas: #f2f4f1;
  --warm: #f7f5ef;
  --gold: #d9b85f;
  --gold-dark: #9d7923;
  --gold-soft: #fff7dc;
  --teal: #176b61;
  --teal-soft: #e8f3f0;
  --blue: #355f8a;
  --blue-soft: #edf3f8;
  --red: #a9433e;
  --red-soft: #fbefed;
  --orange: #a6661a;
  --orange-soft: #fff5e6;
  --green: #347153;
  --green-soft: #eaf4ee;
  --sidebar: 260px;
  --radius: 6px;
  --shadow: 0 10px 28px rgba(32, 40, 36, .07);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--canvas); font-family: Inter, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif; font-size: 14px; letter-spacing: 0; }
button, input, textarea, select { font: inherit; letter-spacing: 0; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(217, 184, 95, .36); outline-offset: 1px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: var(--sidebar); height: 100vh; padding: 22px 16px 16px; color: #f7faf8; background: var(--ink); display: flex; flex-direction: column; overflow: hidden; }
.brand { height: 50px; padding: 0 7px 18px; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; gap: 11px; }
.brand-mark { width: 36px; height: 36px; flex: 0 0 auto; color: var(--ink); background: var(--gold); border-radius: 5px; display: grid; place-items: center; }
.brand-mark svg { width: 21px; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 18px; line-height: 1; }
.brand small { margin-top: 5px; color: #909b95; font: 8px ui-monospace, SFMono-Regular, monospace; }

.audience-switch { margin: 18px 0 10px; padding: 3px; border: 1px solid rgba(255,255,255,.13); background: rgba(0,0,0,.12); border-radius: 5px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.audience-switch button { height: 34px; padding: 0 5px; border: 0; border-radius: 3px; color: #8e9992; background: transparent; font-size: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap; }
.audience-switch button svg { width: 14px; }
.audience-switch button.selected { color: var(--ink); background: var(--gold); font-weight: 700; }
.new-case { width: 100%; height: 40px; margin-bottom: 12px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); color: #fff; background: rgba(255,255,255,.055); display: flex; justify-content: center; align-items: center; gap: 7px; cursor: pointer; }
.new-case:hover { background: rgba(255,255,255,.1); }
.new-case svg { width: 16px; }
.primary-nav { display: grid; gap: 2px; }
.nav-item { width: 100%; height: 40px; padding: 0 9px; border: 0; border-radius: 4px; color: #a9b3ad; background: transparent; display: grid; grid-template-columns: 25px 1fr 22px; align-items: center; text-align: left; cursor: pointer; }
.nav-item > svg { width: 16px; color: #748079; }
.nav-item > span { font-size: 11px; }
.nav-item > small { color: #66726b; font: 9px ui-monospace, SFMono-Regular, monospace; text-align: right; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item.active { color: #fff; background: rgba(217,184,95,.13); box-shadow: inset 2px 0 var(--gold); }
.nav-item.active > svg, .nav-item.active > small { color: var(--gold); }
.recent-cases { min-height: 0; margin-top: 18px; overflow: hidden; }
.side-label { padding: 0 9px 7px; color: #6f7b74; font-size: 9px; display: flex; justify-content: space-between; }
.side-label span:last-child { color: var(--gold); }
.case-list { display: grid; gap: 2px; }
.case-list-item { min-width: 0; padding: 8px 9px; border: 0; border-left: 2px solid transparent; color: #9da8a2; background: transparent; text-align: left; cursor: pointer; }
.case-list-item span, .case-list-item small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.case-list-item span { font-size: 10px; }
.case-list-item small { margin-top: 4px; color: #626e67; font: 8px ui-monospace, SFMono-Regular, monospace; }
.case-list-item.active { color: #fff; border-color: var(--gold); background: rgba(255,255,255,.045); }
.privacy-note { width: 100%; margin-top: auto; padding: 11px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); color: #b2bbb5; background: transparent; display: flex; align-items: center; gap: 9px; text-align: left; cursor: pointer; }
.privacy-note > svg { width: 18px; color: var(--gold); flex: 0 0 auto; }
.privacy-note strong, .privacy-note small { display: block; }
.privacy-note strong { font-size: 10px; }
.privacy-note small { margin-top: 3px; color: #6d7972; font-size: 8px; }

.workspace { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { position: sticky; top: 0; z-index: 30; height: 62px; padding: 0 24px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.topbar-left, .breadcrumb, .top-actions, .heading-actions { display: flex; align-items: center; }
.topbar-left { min-width: 0; }
.breadcrumb { min-width: 0; gap: 7px; color: var(--muted); font-size: 11px; }
.breadcrumb svg { width: 13px; }
.breadcrumb strong { max-width: 320px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-actions { gap: 7px; }
.save-state { margin-right: 4px; color: var(--muted); font-size: 9px; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.save-state svg { width: 14px; }
.button, .icon-button { min-height: 40px; padding: 0 16px; border: 0; border-radius: var(--radius); font-weight: 650; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; white-space: nowrap; }
.button svg { width: 16px; }
.button.compact { min-height: 34px; padding: 0 11px; font-size: 10px; }
.button.ghost { border: 1px solid var(--line); background: var(--paper); }
.button.ghost:hover { border-color: var(--line-strong); background: #f9faf9; }
.button.dark { color: #fff; background: var(--ink); }
.button.dark:hover { background: #303b36; }
.button.primary { color: #181e1b; background: var(--gold); }
.button.primary:hover { background: #cda94a; }
.button.light { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }
.button.full { width: 100%; }
.button.danger-ghost { color: var(--red); border: 1px solid #e3c6c3; background: #fff; }
.icon-button { width: 36px; min-height: 36px; padding: 0; background: transparent; }
.icon-button svg { width: 17px; }
.icon-button.danger { color: #9a6d69; }
.icon-button.danger:hover { color: var(--red); background: var(--red-soft); }
.mobile-only { display: none; }

.main-content { width: min(1480px, 100%); min-height: calc(100vh - 62px); margin: 0 auto; padding: 34px 38px 60px; }
.view { display: none; }
.view.active { display: block; animation: view-in .16s ease; }
@keyframes view-in { from { opacity: 0; transform: translateY(3px); } }
.page-heading, .creator-heading { min-height: 70px; margin-bottom: 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.eyebrow, .section-kicker { color: var(--teal); font: 700 9px ui-monospace, SFMono-Regular, monospace; }
.page-heading h1, .creator-heading h1 { margin: 7px 0 6px; font-size: 31px; line-height: 1.14; font-weight: 760; }
.page-heading p, .creator-heading p { margin: 0; color: var(--muted); line-height: 1.55; }
.legal-boundary { font-size: 11px; }
.heading-meta { min-width: 230px; padding-left: 16px; border-left: 3px solid var(--gold); display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.heading-meta > div { color: var(--muted); font-size: 8px; }
.heading-meta strong { display: block; margin-top: 5px; color: var(--ink); font: 700 10px ui-monospace, SFMono-Regular, monospace; }
.status-badge, .metric-chip { min-height: 26px; padding: 0 8px; border: 1px solid var(--line); border-radius: 3px; background: #fff; font-size: 9px; display: inline-flex; align-items: center; }
.status-badge.priority-紧急 { color: var(--orange); border-color: #e5c89d; background: var(--orange-soft); }
.status-badge.priority-重大 { color: var(--red); border-color: #e0b4b0; background: var(--red-soft); }
.heading-actions { gap: 8px; }
.metric-chip { gap: 4px; color: var(--muted); }
.metric-chip strong { color: var(--ink); font-size: 15px; }

.field { min-width: 0; display: grid; gap: 6px; }
.field > span { color: var(--ink-2); font-size: 10px; font-weight: 650; }
.field > span b { color: var(--red); }
input, textarea, select { width: 100%; border: 1px solid #cbd2cd; border-radius: 4px; color: var(--ink); background: #fff; }
input, select { height: 38px; padding: 0 10px; }
textarea { min-height: 78px; padding: 9px 10px; resize: vertical; line-height: 1.5; }
select { appearance: auto; padding-right: 24px; }
input::placeholder, textarea::placeholder { color: #a2aaa5; }
input:hover, textarea:hover, select:hover { border-color: #aeb8b1; }
.form-grid { display: grid; gap: 14px; }
.two-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.four-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.span-2 { grid-column: span 2; }
.span-3 { grid-column: span 3; }
.span-4 { grid-column: span 4; }
.panel { border: 1px solid var(--line); background: var(--paper); }
.panel-header { min-height: 61px; padding: 13px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.panel-header h2 { margin: 4px 0 0; font-size: 14px; }
.panel-header > svg { width: 19px; color: var(--teal); }
.form-panel { padding-bottom: 19px; }
.form-panel > .form-grid { padding: 18px; }

.dashboard-strip { margin-bottom: 18px; border: 1px solid var(--line); border-top: 3px solid var(--ink); background: var(--paper); display: grid; grid-template-columns: repeat(4, 1fr); }
.dashboard-strip > div { min-width: 0; padding: 13px 16px; }
.dashboard-strip > div + div { border-left: 1px solid var(--line); }
.dashboard-strip span, .dashboard-strip strong, .dashboard-strip small { display: block; }
.dashboard-strip span { color: var(--muted); font-size: 8px; }
.dashboard-strip strong { margin: 5px 0 3px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dashboard-strip small { color: var(--muted); font-size: 8px; }
.level-high { color: var(--red) !important; }
.level-medium { color: var(--orange) !important; }
.level-low { color: var(--green) !important; }
.level-insufficient { color: var(--muted) !important; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: start; gap: 18px; }
.overview-main { display: grid; gap: 18px; }
.overview-rail { position: sticky; top: 80px; display: grid; gap: 12px; }
.rail-panel { padding: 17px; border: 1px solid var(--line); background: var(--paper); }
.rail-panel header { margin-bottom: 13px; display: flex; justify-content: space-between; align-items: center; }
.rail-panel header span { color: var(--muted); font-size: 9px; }
.rail-panel header strong { font-size: 18px; }
.rail-panel header svg { width: 17px; color: var(--teal); }
.progress-track { height: 6px; margin-bottom: 14px; background: #e9ece9; overflow: hidden; }
.progress-track i { display: block; height: 100%; width: 0; background: var(--teal); transition: width .2s; }
.health-list { display: grid; gap: 9px; }
.health-list > div { color: var(--muted); font-size: 9px; display: grid; grid-template-columns: 16px 1fr; align-items: center; gap: 5px; }
.health-list svg { width: 14px; }
.health-list .done { color: var(--green); }
.deadline-panel { border-left: 3px solid var(--gold); }
.deadline-panel.urgent { border-left-color: var(--red); background: var(--red-soft); }
.deadline-panel > strong, .deadline-panel > small { display: block; }
.deadline-panel > strong { margin-bottom: 5px; font-size: 17px; }
.deadline-panel > small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.rule-panel { background: var(--warm); }
.rule-panel p { margin: 0; color: var(--ink-3); font-size: 9px; line-height: 1.7; }
.work-compare { display: grid; grid-template-columns: 1fr 54px 1fr; align-items: stretch; }
.work-card { padding: 18px; border: 1px solid var(--line); background: var(--paper); display: grid; gap: 13px; }
.work-card header { padding-bottom: 12px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: baseline; }
.work-card header small { color: var(--muted); font: 8px ui-monospace, SFMono-Regular, monospace; }
.work-role { font-size: 15px; font-weight: 740; }
.source-work { border-top: 3px solid var(--ink); }
.target-work { border-top: 3px solid var(--gold); }
.compare-axis { color: var(--muted); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; }
.compare-axis::before, .compare-axis::after { content: ""; width: 1px; height: 56px; background: var(--line-strong); }
.compare-axis span { width: 22px; height: 22px; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--canvas); font: 700 8px ui-monospace, SFMono-Regular, monospace; display: grid; place-items: center; }
.compare-axis svg { width: 16px; }
.page-footer-actions { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.footnote { color: var(--muted); font-size: 9px; display: inline-flex; align-items: center; gap: 6px; }
.footnote svg { width: 14px; }

.creator-heading { align-items: center; margin-bottom: 20px; }
.creator-heading h1 { font-size: 33px; }
.creator-heading p { font-size: 12px; }
.creator-risk-banner { min-height: 78px; margin-bottom: 18px; padding: 13px 17px; border-left: 4px solid var(--line-strong); background: #fff; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 13px; box-shadow: var(--shadow); }
.creator-risk-banner > svg { width: 25px; color: var(--muted); }
.creator-risk-banner > div span, .creator-risk-banner > div strong, .creator-risk-banner > div small { display: block; }
.creator-risk-banner > div span { color: var(--muted); font-size: 8px; }
.creator-risk-banner > div strong { margin: 4px 0 3px; font-size: 15px; }
.creator-risk-banner > div small { color: var(--muted); font-size: 9px; }
.creator-risk-banner.high { border-color: var(--red); background: var(--red-soft); }
.creator-risk-banner.high > svg { color: var(--red); }
.creator-risk-banner.medium { border-color: var(--orange); background: var(--orange-soft); }
.creator-risk-banner.medium > svg { color: var(--orange); }
.creator-risk-banner.low { border-color: var(--green); background: var(--green-soft); }
.creator-risk-banner.low > svg { color: var(--green); }
.creator-risk-banner .button.light { color: var(--ink); background: rgba(255,255,255,.7); border-color: var(--line); }
.creator-step { margin-bottom: 18px; border: 1px solid var(--line); background: var(--paper); }
.creator-step > header { min-height: 65px; padding: 13px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; }
.creator-step > header > span { width: 30px; height: 30px; flex: 0 0 auto; color: var(--ink); border: 1px solid var(--ink); border-radius: 50%; font: 700 9px ui-monospace, SFMono-Regular, monospace; display: grid; place-items: center; }
.creator-step h2 { margin: 0; font-size: 16px; }
.creator-step header p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.creator-step > .form-grid { padding: 18px; }
.creator-work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.creator-work { padding: 18px; background: #fff; display: grid; gap: 13px; }
.creator-work > strong { font-size: 13px; }
.creator-questions { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--line); gap: 1px; }
.creator-questions > section { background: #fff; }
.creator-questions h3 { margin: 0; padding: 13px 15px; border-bottom: 1px solid var(--line); background: var(--warm); font-size: 11px; }
.creator-question { min-height: 103px; padding: 13px 15px; }
.creator-question + .creator-question { border-top: 1px solid var(--line); }
.creator-question > div:first-child { min-height: 33px; display: flex; align-items: flex-start; gap: 5px; }
.creator-question strong { font-size: 10px; line-height: 1.5; }
.tip-button { width: 20px; height: 20px; flex: 0 0 auto; padding: 0; border: 0; color: var(--muted); background: transparent; cursor: help; }
.tip-button svg { width: 13px; }
.creator-scale, .scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #c9d0cb; border-radius: 4px; overflow: hidden; }
.creator-scale button, .scale button { min-width: 0; height: 30px; padding: 0 2px; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: #fff; font-size: 8px; cursor: pointer; }
.creator-scale button:last-child, .scale button:last-child { border-right: 0; }
.creator-scale button:hover, .scale button:hover { background: #f5f7f5; }
.creator-scale button.selected, .scale button.selected { color: #fff; background: var(--ink); }
.creator-question:has(.creator-scale button.selected) { background: #fbfcfb; }

.analysis-heading { align-items: center; }
.score-console { min-width: 420px; color: #fff; background: var(--ink); border-radius: var(--radius); display: grid; grid-template-columns: repeat(3, 1fr); }
.score-console > div { min-width: 0; padding: 10px 14px; }
.score-console > div + div { border-left: 1px solid rgba(255,255,255,.13); }
.score-console small, .score-console strong { display: block; }
.score-console small { color: #9ca7a0; font-size: 8px; }
.score-console strong { margin-top: 3px; font-size: 23px; line-height: 1; }
.score-console span { color: #7a877f; font-size: 8px; }
.issue-tree-panel { margin-bottom: 18px; border: 1px solid var(--line); background: #fff; }
.issue-tree-panel > header { padding: 13px 17px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.issue-tree-panel h2 { margin: 4px 0 0; font-size: 14px; }
.legend { color: var(--muted); font-size: 8px; display: flex; align-items: center; gap: 5px; }
.dot { width: 6px; height: 6px; margin-left: 5px; border-radius: 50%; background: var(--line-strong); }
.dot.pass { background: var(--green); }
.dot.review { background: var(--orange); }
.dot.fail { background: var(--red); }
.issue-tree { padding: 17px; display: flex; align-items: stretch; }
.issue-node { min-width: 0; flex: 1; min-height: 65px; padding: 9px; border: 1px solid var(--line); border-top: 3px solid var(--line-strong); display: grid; grid-template-columns: 19px 17px 1fr; align-content: start; gap: 5px; }
.issue-node > span { color: var(--muted); font: 8px ui-monospace, SFMono-Regular, monospace; }
.issue-node svg { width: 13px; }
.issue-node strong { font-size: 9px; }
.issue-node small { grid-column: 2 / -1; color: var(--muted); font-size: 8px; }
.issue-node.pass { border-top-color: var(--green); }
.issue-node.pass svg { color: var(--green); }
.issue-node.review { border-top-color: var(--orange); }
.issue-node.review svg { color: var(--orange); }
.issue-node.fail { border-top-color: var(--red); }
.issue-node.fail svg { color: var(--red); }
.issue-arrow { width: 22px; flex: 0 0 auto; color: var(--line-strong); display: grid; place-items: center; }
.issue-arrow svg { width: 14px; }
.gate-alert { min-height: 57px; padding: 10px 15px; border-top: 1px solid var(--line); background: #f6f7f6; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; }
.gate-alert > svg { width: 18px; }
.gate-alert strong, .gate-alert span { display: block; }
.gate-alert strong { font-size: 11px; }
.gate-alert span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.gate-alert em { color: var(--muted); font-size: 8px; font-style: normal; }
.gate-alert.high { color: var(--red); background: var(--red-soft); }
.gate-alert.medium { color: var(--orange); background: var(--orange-soft); }
.gate-alert.low { color: var(--green); background: var(--green-soft); }
.criteria-groups { display: grid; gap: 15px; }
.criteria-group { border: 1px solid var(--line); background: #fff; }
.criteria-group > header { min-height: 60px; padding: 12px 17px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; }
.roman { color: var(--teal); font: 700 10px ui-monospace, SFMono-Regular, monospace; }
.criteria-group h2 { margin: 0; font-size: 13px; }
.criteria-group header p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }
.criteria-group > header > strong { color: var(--muted); font-size: 10px; }
.criterion { padding: 13px 17px; display: grid; grid-template-columns: minmax(280px, .85fr) minmax(510px, 1.15fr); align-items: center; gap: 22px; }
.criterion + .criterion { border-top: 1px solid var(--line); }
.criterion-title { display: flex; align-items: center; gap: 7px; }
.criterion-title > strong { font-size: 10px; }
.criterion-copy p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.required-dot { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--red); }
.factor-tag { padding: 2px 5px; border-radius: 2px; font-size: 7px; }
.factor-tag.reduce { color: var(--teal); background: var(--teal-soft); }
.factor-tag.ethics { color: var(--blue); background: var(--blue-soft); }
.criterion-input { display: grid; grid-template-columns: minmax(300px, 1fr) minmax(180px, .7fr); gap: 9px; }
.criterion-input input { height: 32px; font-size: 8px; }
.authority-panel { margin-top: 15px; border: 1px solid #d9d2ba; background: var(--warm); }
.authority-panel > header { padding: 13px 17px; border-bottom: 1px solid #ded8c7; display: flex; align-items: center; gap: 10px; }
.authority-panel > header svg { width: 18px; color: var(--gold-dark); }
.authority-panel > header strong, .authority-panel > header span { display: block; }
.authority-panel > header strong { font-size: 10px; }
.authority-panel > header span { margin-top: 3px; color: var(--muted); font-size: 8px; }
.authority-list { display: grid; grid-template-columns: repeat(3, 1fr); }
.authority-list > div { padding: 11px 15px; }
.authority-list > div:nth-child(n+4) { border-top: 1px solid #ded8c7; }
.authority-list > div:not(:nth-child(3n+1)) { border-left: 1px solid #ded8c7; }
.authority-list strong, .authority-list span { display: block; }
.authority-list strong { color: var(--gold-dark); font-size: 8px; }
.authority-list span { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.5; }

.matrix-summary { margin-bottom: 12px; border: 1px solid var(--line); background: #fff; display: grid; grid-template-columns: repeat(4, 1fr); }
.matrix-summary > div { padding: 10px 14px; display: flex; justify-content: space-between; align-items: center; }
.matrix-summary > div + div { border-left: 1px solid var(--line); }
.matrix-summary span { color: var(--muted); font-size: 8px; }
.matrix-summary strong { font-size: 14px; }
.data-table-wrap { position: relative; border: 1px solid var(--line); background: #fff; overflow: auto; }
.data-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.data-table th { height: 40px; padding: 8px 9px; color: var(--muted); background: #f6f7f5; border-bottom: 1px solid var(--line); font-size: 8px; text-align: left; vertical-align: middle; }
.data-table td { padding: 9px; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td + td, .data-table th + th { border-left: 1px solid #e8ebe8; }
.data-table input, .data-table select { height: 32px; font-size: 8px; }
.data-table textarea { min-height: 50px; padding: 7px 8px; font-size: 8px; }
.data-table textarea + textarea, .data-table input + input, .data-table input + select, .data-table select + input { margin-top: 6px; }
.comparison-wrap { min-height: 180px; }
.comparison-table { min-width: 1120px; }
.comparison-table th:nth-child(1) { width: 45px; }
.comparison-table th:nth-child(2), .comparison-table th:nth-child(3) { width: 140px; }
.comparison-table th:nth-child(4) { width: 115px; }
.comparison-table th:nth-child(5) { width: 245px; }
.comparison-table th:nth-child(6) { width: 220px; }
.comparison-table th:nth-child(7) { width: 120px; }
.comparison-table th:nth-child(8) { width: 44px; }
.row-index { color: var(--teal); font: 700 9px ui-monospace, SFMono-Regular, monospace; }
.sub-input { background: #f8f9f8; }
.inline-check { margin-top: 7px; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 8px; }
.inline-check input { width: 14px; height: 14px; margin: 0; accent-color: var(--teal); }
.panel-note { margin-top: 13px; padding: 16px; border: 1px solid var(--line); background: #fff; }
.empty-state { min-height: 140px; padding: 25px; color: var(--muted); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state[hidden] { display: none; }
.empty-state > svg { width: 25px; margin-bottom: 9px; color: #9ba59f; }
.empty-state strong, .empty-state span { display: block; }
.empty-state strong { color: var(--ink); font-size: 11px; }
.empty-state span { margin: 4px 0 12px; font-size: 8px; }
.empty-state.small { min-height: 160px; }

.evidence-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 14px; }
.evidence-table { min-width: 960px; }
.evidence-table th:nth-child(1) { width: 125px; }
.evidence-table th:nth-child(2) { width: 220px; }
.evidence-table th:nth-child(3) { width: 190px; }
.evidence-table th:nth-child(4) { width: 110px; }
.evidence-table th:nth-child(5) { width: 230px; }
.evidence-table th:nth-child(6) { width: 44px; }
.code-input { color: var(--teal); font-family: ui-monospace, SFMono-Regular, monospace; font-weight: 700; }
.status-select { font-weight: 650; }
.hash-panel { position: sticky; top: 80px; padding: 18px; color: #fff; background: var(--ink); border-radius: var(--radius); }
.hash-icon { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.16); border-radius: 4px; color: var(--gold); display: grid; place-items: center; }
.hash-icon svg { width: 19px; }
.hash-panel h2 { margin: 13px 0 6px; font-size: 14px; }
.hash-panel > p { margin: 0 0 13px; color: #a8b2ac; font-size: 8px; line-height: 1.6; }
.file-hashes { max-height: 380px; margin-bottom: 13px; border-top: 1px solid rgba(255,255,255,.12); overflow: auto; }
.hash-item { min-width: 0; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: 18px 1fr 20px; gap: 7px; }
.hash-item > svg { width: 15px; color: var(--gold); }
.hash-item > div { min-width: 0; }
.hash-item strong, .hash-item small, .hash-item code { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hash-item strong { font-size: 8px; }
.hash-item small { margin: 3px 0; color: #7e8a83; font-size: 7px; }
.hash-item code { color: #9da8a1; font-size: 7px; }
.hash-item button { width: 20px; height: 20px; padding: 0; border: 0; color: #77827b; background: transparent; cursor: pointer; }
.hash-item button svg { width: 13px; }
.hash-empty { padding: 22px 0; color: #79857e; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 8px; }
.hash-empty svg { width: 22px; }

.timeline-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 18px; }
.timeline-list { position: relative; display: grid; gap: 12px; }
.timeline-list::before { content: ""; position: absolute; left: 20px; top: 17px; bottom: 17px; width: 1px; background: var(--line-strong); }
.timeline-item { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 11px; }
.timeline-marker { z-index: 1; padding-top: 13px; }
.timeline-marker span { width: 42px; height: 24px; color: var(--teal); border: 1px solid var(--line-strong); border-radius: 12px; background: var(--canvas); font: 700 8px ui-monospace, SFMono-Regular, monospace; display: grid; place-items: center; }
.timeline-card { padding: 14px; border: 1px solid var(--line); background: #fff; }
.timeline-card header { display: grid; grid-template-columns: 230px 140px 36px; justify-content: space-between; gap: 8px; }
.timeline-date { display: grid; grid-template-columns: 1fr 90px; gap: 6px; }
.timeline-event { min-height: 55px; margin: 9px 0; font-weight: 600; }
.timeline-card .proved { align-self: end; height: 38px; }
.timeline-aside { position: sticky; top: 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.mini-stat { padding: 14px; border: 1px solid var(--line); background: #fff; }
.mini-stat span, .mini-stat strong { display: block; }
.mini-stat span { color: var(--muted); font-size: 8px; }
.mini-stat strong { margin-top: 5px; font-size: 21px; }
.timeline-aside .field { grid-column: 1 / -1; padding: 15px; border: 1px solid var(--line); background: #fff; }
.timeline-empty { border: 1px solid var(--line); background: #fff; }

.amount-total { min-width: 210px; padding-left: 16px; border-left: 3px solid var(--gold); }
.amount-total span, .amount-total strong { display: block; }
.amount-total span { color: var(--muted); font-size: 8px; }
.amount-total strong { margin-top: 5px; font-size: 20px; }
.remedy-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 18px; }
.remedy-checklist { padding: 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.remedy-option { min-height: 39px; padding: 7px 8px; border: 1px solid var(--line); cursor: pointer; display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 6px; }
.remedy-option > input { position: absolute; opacity: 0; pointer-events: none; }
.remedy-option > span { width: 20px; height: 20px; border: 1px solid var(--line-strong); border-radius: 3px; color: transparent; display: grid; place-items: center; }
.remedy-option > span svg { width: 13px; }
.remedy-option > strong { font-size: 8px; }
.remedy-option:has(input:checked) { border-color: #8faaa0; background: var(--teal-soft); }
.remedy-option input:checked + span { color: #fff; border-color: var(--teal); background: var(--teal); }
.remedy-checklist + .field { margin: 0 15px 15px; }
.damage-list { padding: 14px; display: grid; gap: 9px; }
.damage-item { padding: 11px; border: 1px solid var(--line); background: #fafbfa; display: grid; gap: 7px; }
.damage-item header { display: grid; grid-template-columns: 1fr 150px 36px; gap: 7px; }
.currency-input { position: relative; }
.currency-input span { position: absolute; left: 9px; top: 10px; color: var(--muted); font-size: 9px; }
.currency-input input { padding-left: 22px; }
.strategy-panel { margin-top: 18px; }

.creator-result { display: grid; gap: 16px; }
.creator-verdict { min-height: 150px; padding: 24px; border-left: 5px solid var(--line-strong); background: #fff; box-shadow: var(--shadow); display: grid; grid-template-columns: 58px 1fr 100px; align-items: center; gap: 17px; }
.creator-verdict.high { border-color: var(--red); background: var(--red-soft); }
.creator-verdict.medium { border-color: var(--orange); background: var(--orange-soft); }
.creator-verdict.low { border-color: var(--green); background: var(--green-soft); }
.verdict-icon { width: 52px; height: 52px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; }
.verdict-icon svg { width: 25px; }
.creator-verdict > div:nth-child(2) > span { color: var(--muted); font-size: 9px; }
.creator-verdict h2 { margin: 6px 0; font-size: 22px; }
.creator-verdict p { margin: 0; color: var(--muted); font-size: 10px; }
.creator-score { text-align: right; }
.creator-score strong { font-size: 44px; }
.creator-score span { color: var(--muted); font-size: 10px; }
.creator-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.creator-result-grid > section, .creator-actions { padding: 19px; border: 1px solid var(--line); background: #fff; }
.creator-result-grid header { display: flex; align-items: center; gap: 8px; }
.creator-result-grid header svg { width: 17px; color: var(--teal); }
.creator-result-grid h3 { margin: 0; font-size: 13px; }
.creator-result-grid ul, .creator-actions ol { margin: 14px 0 0; padding-left: 20px; }
.creator-result-grid li, .creator-actions li { margin-bottom: 7px; color: var(--ink-3); font-size: 10px; line-height: 1.6; }
.creator-actions header span { color: var(--teal); font-size: 8px; }
.creator-actions header h3 { margin: 4px 0 0; font-size: 15px; }
.plain-legal-note { padding: 16px 18px; border: 1px solid #d8d3c2; background: var(--warm); display: flex; gap: 11px; }
.plain-legal-note svg { width: 19px; color: var(--gold-dark); flex: 0 0 auto; }
.plain-legal-note p { margin: 0; color: var(--ink-3); font-size: 10px; line-height: 1.7; }
.creator-help-band { margin-top: 16px; padding: 18px; color: #fff; background: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.creator-help-band > div { display: flex; align-items: center; gap: 11px; }
.creator-help-band > div > svg { width: 23px; color: var(--gold); }
.creator-help-band strong, .creator-help-band small { display: block; }
.creator-help-band strong { font-size: 11px; }
.creator-help-band small { margin-top: 4px; color: #a9b3ad; font-size: 9px; }

.memo-document { border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 55px rgba(32,40,36,.08); }
.memo-confidential { min-height: 51px; padding: 10px 32px; color: #fff; background: var(--ink); display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px; }
.memo-confidential > svg { width: 18px; color: var(--gold); }
.memo-confidential strong, .memo-confidential small { display: block; }
.memo-confidential strong { font-size: 9px; }
.memo-confidential small { margin-top: 3px; color: #98a39c; font-size: 7px; }
.memo-confidential b { color: #aeb7b1; font: 8px ui-monospace, SFMono-Regular, monospace; }
.memo-header { padding: 38px 42px 27px; border-bottom: 2px solid var(--ink); display: grid; grid-template-columns: 1fr 310px; gap: 35px; }
.memo-header > div > span { color: var(--teal); font: 700 9px ui-monospace, SFMono-Regular, monospace; }
.memo-header h2 { margin: 11px 0 0; font-family: "Songti SC", SimSun, serif; font-size: 27px; line-height: 1.35; }
.memo-header dl { margin: 0; align-content: start; display: grid; grid-template-columns: 1fr 1fr; }
.memo-header dl div { min-width: 0; padding: 8px 10px; border: 1px solid var(--line); margin: 0 -1px -1px 0; }
.memo-header dt { color: var(--muted); font-size: 7px; }
.memo-header dd { margin: 4px 0 0; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.memo-executive { margin: 24px 42px; border: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.memo-executive > div { padding: 13px 14px; }
.memo-executive > div + div { border-left: 1px solid var(--line); }
.memo-executive span, .memo-executive strong, .memo-executive small { display: block; }
.memo-executive span { color: var(--muted); font-size: 7px; }
.memo-executive strong { margin: 5px 0 3px; font-size: 10px; }
.memo-executive small { color: var(--muted); font-size: 7px; }
.memo-section { margin: 0 42px; padding: 24px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 145px 1fr; gap: 25px; }
.memo-section-title { display: flex; align-items: baseline; gap: 9px; }
.memo-section-title, .memo-body { min-width: 0; }
.memo-section-title span { color: var(--teal); font: 700 8px ui-monospace, SFMono-Regular, monospace; }
.memo-section-title h3 { margin: 0; font-family: "Songti SC", SimSun, serif; font-size: 13px; }
.memo-body h4 { margin: 18px 0 7px; font-size: 9px; }
.memo-body h4:first-child { margin-top: 0; }
.memo-body p { margin: 0 0 9px; color: var(--ink-3); font-size: 9px; line-height: 1.7; }
.brief-answer { padding: 12px 14px; border-left: 3px solid var(--gold); color: var(--ink) !important; background: var(--gold-soft); font-weight: 650; }
.fact-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fact-pair > div { padding: 13px; border: 1px solid var(--line); }
.fact-pair small, .fact-pair strong, .fact-pair span { display: block; }
.fact-pair small { color: var(--teal); font-size: 7px; }
.fact-pair strong { margin: 5px 0 4px; font-size: 10px; }
.fact-pair span { color: var(--muted); font-size: 7px; }
.fact-pair p { margin: 8px 0 0; }
.memo-alert-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.memo-alert-grid > div { padding: 11px 13px; border: 1px solid #e0c7c4; background: #fff9f8; }
.memo-alert-grid strong { font-size: 8px; }
.memo-alert-grid p { margin: 5px 0 0; }
.memo-authorities { border: 1px solid var(--line); }
.memo-authorities > div { padding: 8px 10px; display: grid; grid-template-columns: 260px 1fr; gap: 10px; }
.memo-authorities > div + div { border-top: 1px solid var(--line); }
.memo-authorities strong { color: var(--gold-dark); font-size: 8px; }
.memo-authorities span { color: var(--muted); font-size: 8px; }
.memo-gates { margin-bottom: 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.memo-gates > div { min-height: 35px; padding: 7px 9px; border: 1px solid var(--line); display: grid; grid-template-columns: 16px 1fr auto; align-items: center; gap: 4px; }
.memo-gates svg { width: 12px; }
.memo-gates span, .memo-gates strong { font-size: 7px; }
.memo-gates .pass { color: var(--green); border-color: #bad1c3; }
.memo-gates .fail { color: var(--red); border-color: #dfc2bf; }
.memo-gates .review { color: var(--orange); border-color: #e4cfaa; }
.memo-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.memo-table th, .memo-table td { padding: 7px 8px; border: 1px solid var(--line); text-align: left; vertical-align: top; font-size: 7px; line-height: 1.5; }
.memo-table th { color: var(--muted); background: #f6f7f5; }
.memo-table th:nth-child(1) { width: 31%; }
.memo-table th:nth-child(2) { width: 16%; }
.comparison-memo th:nth-child(1) { width: 16%; }
.comparison-memo th:nth-child(2) { width: 14%; }
.comparison-memo th:nth-child(3) { width: 31%; }
.comparison-memo th:nth-child(4) { width: 27%; }
.comparison-memo th:nth-child(5) { width: 12%; }
.memo-rating { display: inline-block; padding: 2px 5px; border-radius: 2px; background: #eef0ee; }
.rating-strong { color: var(--red); background: var(--red-soft); }
.rating-weak { color: var(--green); background: var(--green-soft); }
.rating-review { color: var(--orange); background: var(--orange-soft); }
.memo-missing { padding: 12px; border: 1px dashed var(--line-strong); text-align: center; }
.memo-timeline { margin: 0; padding: 0; list-style: none; }
.memo-timeline li { padding: 8px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 125px 1fr; gap: 12px; }
.memo-timeline time { color: var(--teal); font: 7px ui-monospace, SFMono-Regular, monospace; }
.memo-timeline strong, .memo-timeline span { display: block; font-size: 8px; }
.memo-timeline span { margin-top: 3px; color: var(--muted); }
.recommendations { margin: 0; padding-left: 17px; }
.recommendations li { margin-bottom: 6px; color: var(--ink-3); font-size: 9px; line-height: 1.65; }
.memo-footer { margin: 6px 42px 36px; padding: 14px; border: 1px solid #d9d3bd; background: var(--warm); display: flex; gap: 10px; }
.memo-footer svg { width: 18px; flex: 0 0 auto; color: var(--gold-dark); }
.memo-footer p { margin: 0; color: var(--muted); font-size: 7px; line-height: 1.65; }
.memo-footer strong { color: var(--ink); }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; padding: 20px; background: rgba(14,19,16,.6); display: grid; place-items: center; }
.modal { position: relative; width: min(440px, 100%); padding: 28px; border-radius: var(--radius); background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.24); }
.modal-close { position: absolute; top: 10px; right: 10px; }
.modal-icon { width: 44px; height: 44px; color: var(--teal); border-radius: 50%; background: var(--teal-soft); display: grid; place-items: center; }
.modal-icon svg { width: 21px; }
.modal h2 { margin: 16px 0 9px; font-size: 19px; }
.modal p { color: var(--muted); font-size: 10px; line-height: 1.7; }
.modal-warning { margin: 14px 0 18px !important; padding-left: 10px; border-left: 3px solid var(--gold); }
.sidebar-scrim { position: fixed; inset: 0; z-index: 35; background: rgba(14,19,16,.52); }
.toast { position: fixed; left: calc(var(--sidebar) + (100vw - var(--sidebar)) / 2); bottom: 22px; z-index: 120; padding: 10px 14px; border-radius: var(--radius); color: #fff; background: var(--ink); box-shadow: 0 9px 30px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: .18s; font-size: 9px; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.spin { animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1180px) {
  .main-content { padding: 30px 24px 50px; }
  .overview-grid { grid-template-columns: 1fr; }
  .overview-rail { position: static; grid-template-columns: repeat(3, 1fr); }
  .criterion { grid-template-columns: 1fr; gap: 9px; }
  .evidence-workspace { grid-template-columns: 1fr; }
  .hash-panel { position: static; }
  .file-hashes { max-height: 220px; }
  .timeline-layout { grid-template-columns: 1fr; }
  .timeline-aside { position: static; grid-template-columns: 130px 130px 1fr; }
  .timeline-aside .field { grid-column: auto; }
  .creator-questions { grid-template-columns: 1fr 1fr; }
  .creator-questions > section:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .creator-questions > section:last-child h3 { grid-column: 1 / -1; }
  .creator-questions > section:last-child .creator-question:nth-child(even) { border-left: 1px solid var(--line); }
}

@media (max-width: 900px) {
  :root { --sidebar: 0px; }
  .sidebar { width: 260px; transform: translateX(-100%); transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); }
  .workspace { margin-left: 0; }
  .mobile-only { display: inline-flex; }
  .topbar { padding: 0 14px; }
  .breadcrumb > span, .breadcrumb > svg, .save-state, .top-secondary { display: none; }
  .top-actions .button span { display: none; }
  .top-actions .button { width: 36px; padding: 0; }
  .toast { left: 50%; }
  .analysis-heading { display: grid; }
  .score-console { width: 100%; min-width: 0; }
  .issue-tree { overflow-x: auto; }
  .issue-node { min-width: 115px; }
  .authority-list { grid-template-columns: 1fr 1fr; }
  .authority-list > div:not(:nth-child(3n+1)) { border-left: 0; }
  .authority-list > div:nth-child(n+4) { border-top: 0; }
  .authority-list > div:nth-child(n+3) { border-top: 1px solid #ded8c7; }
  .authority-list > div:nth-child(even) { border-left: 1px solid #ded8c7; }
  .remedy-grid { grid-template-columns: 1fr; }
  .memo-header { grid-template-columns: 1fr; }
  .memo-executive { grid-template-columns: 1fr 1fr; }
  .memo-executive > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .memo-executive > div:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 680px) {
  .main-content { padding: 24px 13px 42px; }
  .page-heading, .creator-heading { min-height: 0; margin-bottom: 18px; align-items: flex-start; flex-direction: column; gap: 13px; }
  .page-heading h1, .creator-heading h1 { font-size: 26px; }
  .heading-meta, .amount-total { width: 100%; min-width: 0; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; padding: 0 9px; }
  .dashboard-strip { grid-template-columns: 1fr 1fr; }
  .dashboard-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .dashboard-strip > div:nth-child(4) { border-top: 1px solid var(--line); }
  .overview-rail { grid-template-columns: 1fr; }
  .four-cols, .three-cols, .two-cols { grid-template-columns: 1fr; }
  .span-2, .span-3, .span-4 { grid-column: auto; }
  .work-compare { grid-template-columns: 1fr; gap: 10px; }
  .compare-axis { height: 42px; flex-direction: row; }
  .compare-axis::before, .compare-axis::after { width: 45px; height: 1px; }
  .creator-risk-banner { grid-template-columns: 30px 1fr; }
  .creator-risk-banner .button { grid-column: 1 / -1; width: 100%; }
  .creator-work-grid, .creator-questions { grid-template-columns: 1fr; }
  .creator-questions > section:last-child { grid-column: auto; display: block; }
  .creator-questions > section:last-child h3 { grid-column: auto; }
  .creator-questions > section:last-child .creator-question:nth-child(even) { border-left: 0; }
  .creator-question { min-height: 96px; }
  .creator-scale button, .scale button { font-size: 7px; }
  .score-console strong { font-size: 19px; }
  .issue-tree-panel > header { align-items: flex-start; }
  .legend { display: none; }
  .issue-tree { padding: 12px; }
  .gate-alert { grid-template-columns: 20px 1fr; }
  .gate-alert em { grid-column: 2; }
  .criterion { padding: 13px; }
  .criterion-input { grid-template-columns: 1fr; }
  .authority-list { grid-template-columns: 1fr; }
  .authority-list > div:nth-child(even) { border-left: 0; }
  .authority-list > div:nth-child(n+2) { border-top: 1px solid #ded8c7; }
  .matrix-summary { grid-template-columns: 1fr 1fr; }
  .matrix-summary > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .matrix-summary > div:nth-child(4) { border-top: 1px solid var(--line); }
  .data-table-wrap { overflow: visible; border: 0; background: transparent; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; min-width: 0; }
  .data-table thead { display: none; }
  .data-table tbody { display: grid; gap: 12px; }
  .data-table tr { padding: 11px; border: 1px solid var(--line); background: #fff; }
  .data-table td { position: relative; padding: 8px 0; border: 0 !important; }
  .data-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 650; }
  .comparison-table td:first-child { padding: 0 0 3px; }
  .comparison-table td:last-child, .evidence-table td:last-child { padding: 3px 0 0; display: flex; justify-content: flex-end; }
  .evidence-workspace { gap: 12px; }
  .timeline-card header { grid-template-columns: 1fr 36px; }
  .timeline-date { grid-column: 1 / -1; grid-template-columns: 1fr 100px; }
  .timeline-card header select { grid-column: 1; }
  .timeline-aside { grid-template-columns: 1fr 1fr; }
  .timeline-aside .field { grid-column: 1 / -1; }
  .remedy-checklist { grid-template-columns: 1fr; }
  .damage-item header { grid-template-columns: 1fr 36px; }
  .currency-input { grid-column: 1 / -1; grid-row: 2; }
  .creator-verdict { padding: 18px; grid-template-columns: 44px 1fr; }
  .verdict-icon { width: 42px; height: 42px; }
  .creator-score { grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid rgba(0,0,0,.1); text-align: left; }
  .creator-score strong { font-size: 32px; }
  .creator-result-grid { grid-template-columns: 1fr; }
  .creator-help-band { align-items: stretch; flex-direction: column; }
  .creator-help-band .button { width: 100%; }
  .page-footer-actions { align-items: stretch; flex-direction: column-reverse; }
  .page-footer-actions .button { width: 100%; }
  .footnote { justify-content: center; }
  .memo-document { margin: 0 -3px; }
  .memo-confidential { padding: 10px 16px; }
  .memo-header { padding: 25px 18px 20px; }
  .memo-header h2 { font-size: 22px; }
  .memo-executive { margin: 18px; }
  .memo-section { margin: 0 18px; grid-template-columns: 1fr; gap: 11px; }
  .memo-body { overflow-x: auto; }
  .fact-pair, .memo-alert-grid { grid-template-columns: 1fr; }
  .memo-authorities > div { grid-template-columns: 1fr; gap: 4px; }
  .memo-gates { grid-template-columns: 1fr 1fr; }
  .memo-table { display: block; width: 100%; max-width: 100%; overflow-x: auto; white-space: normal; }
  .memo-table tbody { display: table-row-group; }
  .memo-table tr { display: table-row; padding: 0; border: 0; }
  .memo-table th, .memo-table td { display: table-cell; min-width: 100px; }
  .memo-footer { margin: 5px 18px 25px; }
}

@media print {
  body { background: #fff; }
  .sidebar, .topbar, .no-print, .page-footer-actions, .toast, .sidebar-scrim { display: none !important; }
  .workspace { margin: 0; }
  .main-content { width: 100%; min-height: 0; padding: 0; }
  .view { display: none !important; }
  body[data-print-target="creator"] #view-creator-result { display: block !important; }
  body[data-print-target="memo"] #view-memo, body:not([data-print-target]) #view-memo { display: block !important; }
  .creator-heading, .creator-help-band { display: none; }
  .creator-result { gap: 10px; }
  .creator-verdict, .creator-result-grid > section, .creator-actions, .plain-legal-note { box-shadow: none; break-inside: avoid; }
  .memo-document { border: 0; box-shadow: none; }
  .memo-section, .memo-table tr, .memo-alert-grid, .memo-executive { break-inside: avoid; }
  .memo-confidential { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  @page { size: A4; margin: 12mm; }
}
