:root {
  --bg: #f4efe7;
  --panel: #fffaf2;
  --panel-soft: #eee6da;
  --text: #191714;
  --muted: #72695d;
  --line: #ded2c2;
  --strong-line: #c7b7a4;
  --accent: #b45f34;
  --accent-ink: #ffffff;
  --accent-soft: #f3dfd1;
  --ink: #191714;
  --warn: #9a6a16;
  --danger: #a13d2d;
  --ok: #5f744c;
  --shadow: 0 10px 26px rgba(58, 44, 31, 0.07);
  --grid: rgba(77, 57, 38, 0.07);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  background-image:
    linear-gradient(to right, var(--grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid) 1px, transparent 1px);
  background-size: 32px 32px;
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
  font-size: 15px;
}

.data-center-nav {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line, #e6e8ef);
  padding: 0 4px;
}
.data-center-nav button {
  border: 0;
  background: transparent;
  color: var(--muted, #7b8190);
  padding: 12px 16px;
  font-weight: 700;
  cursor: pointer;
  border-bottom: 3px solid transparent;
}
.data-center-nav button.active { color: var(--primary, #5148e5); border-bottom-color: var(--primary, #5148e5); }
.data-period-controls { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 20px; }
.data-center-heading { display: flex; justify-content: space-between; align-items: center; margin: 8px 0 20px; }
.data-metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.data-metric { background: linear-gradient(145deg, #f6f8ff, #fff); border: 1px solid #edf0f8; border-radius: 16px; padding: 18px; min-height: 108px; }
.data-metric span, .data-metric em { display: block; color: var(--muted, #7b8190); font-size: 12px; font-style: normal; }
.data-metric strong { display: block; font-size: 28px; margin: 12px 0 8px; color: #1f2635; }
.data-panel { overflow-x: auto; }
.data-mapping-preview { background: #f7f8fc; border: 1px solid #e9ebf3; border-radius: 12px; padding: 12px; margin: 12px 0; }
.data-mapping-preview div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.data-mapping-preview span { background: #fff; border-radius: 999px; padding: 5px 9px; color: #555d70; font-size: 12px; }
.import-start-panel { padding: 12px 0 4px; }
@media (max-width: 1100px) { .data-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .data-period-controls, .data-center-heading { align-items: stretch; flex-direction: column; } .data-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .data-center-nav { overflow-x: auto; } }

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.hidden {
  display: none !important;
}

.shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px 1fr;
}

.sidebar {
  background: rgba(255, 250, 242, 0.88);
  backdrop-filter: blur(10px);
  color: var(--text);
  padding: 24px 18px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-right: 1px solid var(--line);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: #fff;
  border-radius: 6px;
  font-weight: 800;
  font-size: 18px;
}

.brand h1 {
  margin: 0;
  font-size: 19px;
  letter-spacing: 0;
}

.brand p,
.eyebrow,
.side-label,
.muted {
  color: var(--muted);
}

.brand p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.nav {
  display: grid;
  gap: 8px;
}

.nav-sub {
  display: grid;
  gap: 6px;
  margin: -2px 0 4px 12px;
  padding-left: 12px;
  border-left: 1px solid var(--line);
}

.nav-sub button {
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  padding: 4px 8px;
  font-size: 13px;
  font-weight: 650;
}

.nav-sub button:hover {
  background: var(--accent-soft);
  color: #6f351c;
}

.nav-sub span {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  flex: 0 0 auto;
}

.nav-item {
  border: 1px solid transparent;
  background: transparent;
  color: #3c4642;
  text-align: left;
  padding: 12px 13px;
  border-radius: 6px;
  font-weight: 650;
}

.nav-item.active,
.nav-item:hover {
  background: var(--accent-soft);
  color: #6f351c;
  border-color: #e3bea7;
}

.side-block {
  margin-top: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 250, 242, 0.72);
}

.side-label {
  font-size: 12px;
  margin-bottom: 10px;
  color: var(--muted);
}

.side-block ol {
  margin: 0;
  padding-left: 20px;
  line-height: 1.9;
  color: #3d352d;
  font-size: 13px;
}

.main {
  min-width: 0;
  padding: 30px;
}

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

.eyebrow {
  margin: 0 0 4px;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 750;
  color: var(--accent);
}

.topbar h2 {
  margin: 0;
  font-size: 31px;
  line-height: 1.12;
  font-weight: 760;
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.workspace-button { min-height:34px; padding:0 10px; color:var(--brand-pencil); font-size:9px; }
.workspace-sync-status { display:inline-flex; align-items:center; gap:5px; color:var(--brand-pencil); font-size:8px; white-space:nowrap; }.workspace-sync-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#aaa398; }.workspace-sync-status.synced::before { background:var(--brand-moss); }.workspace-sync-status.pending::before,.workspace-sync-status.syncing::before { background:var(--brand-wheat); }.workspace-sync-status.offline::before,.workspace-sync-status.conflict::before { background:var(--brand-tide-600); }.workspace-sync-status.syncing::before { animation:pulse 1s ease-in-out infinite; }
.workspace-conflict-dialog > header span { color:var(--brand-tide-600); font-size:8px; font-weight:700; letter-spacing:.12em; }.workspace-conflict-dialog > header h3 { margin:6px 0; font-size:20px; }.workspace-conflict-dialog > header p { margin:0; color:var(--brand-pencil); font-size:9px; }.workspace-conflict-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:14px; }.workspace-conflict-options article { display:grid; align-content:start; gap:7px; padding:13px; border:1px solid var(--brand-binding); border-radius:10px; background:#f7f3eb; }.workspace-conflict-options strong { font-size:11px; }.workspace-conflict-options p { min-height:38px; margin:0; color:var(--brand-pencil); font-size:8px; line-height:1.55; }.workspace-conflict-dialog > footer { display:flex; justify-content:flex-end; margin-top:11px; }

.primary-button,
.secondary-button,
.ghost-button,
.icon-button,
.danger-button {
  min-height: 38px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  padding: 0 13px;
  font-weight: 650;
}

.primary-button {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.primary-button:hover {
  background: #944c2a;
}

.danger-button {
  border-color: #ffd1cc;
  color: var(--danger);
}

.icon-button {
  width: 38px;
  padding: 0;
  display: inline-grid;
  place-items: center;
}

.file-button input {
  display: none;
}

.view {
  display: none;
}

.view.active {
  display: block;
}

.grid {
  display: grid;
  gap: 14px;
}

.grid.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.track-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(210px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
}

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

.startup-map-grid.compact-maps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.startup-map-card {
  background: rgba(255, 250, 242, 0.9);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: var(--shadow);
}

.startup-map-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.startup-map-head h4 {
  margin: 10px 0 0;
  font-size: 20px;
}

.startup-map-head button {
  min-height: 32px;
  border: 1px solid var(--accent);
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  padding: 0 10px;
  font-weight: 700;
}

.startup-promise {
  color: var(--muted);
  line-height: 1.6;
}

.startup-idea-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.startup-idea-grid section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
  padding: 10px;
}

.startup-idea-grid strong {
  display: block;
  margin-bottom: 6px;
  color: var(--accent);
  font-size: 13px;
}

.startup-idea-grid ul {
  margin: 0;
  padding-left: 18px;
  color: #4f463d;
  font-size: 12px;
  line-height: 1.6;
}

.startup-map-card dl {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 7px 10px;
  margin: 12px 0;
  font-size: 13px;
}

.startup-map-card dt {
  color: var(--muted);
}

.startup-map-card dd {
  margin: 0;
}

.startup-section {
  margin-top: 12px;
}

.startup-section strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

.startup-section div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.startup-direction-picker select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fffaf2;
  padding: 0 10px;
}

.direction-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.direction-card-grid button {
  min-height: 76px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  color: var(--text);
  padding: 10px;
  text-align: left;
}

.direction-card-grid button:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.direction-card-grid b,
.direction-card-grid small {
  display: block;
}

.direction-card-grid b {
  font-size: 13px;
  margin-bottom: 6px;
}

.direction-card-grid small {
  color: var(--muted);
  line-height: 1.45;
}

.startup-section span {
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f3ece2;
  color: #584c40;
  font-size: 12px;
}

.startup-section ul,
.startup-section ol {
  margin: 0;
  padding-left: 20px;
  color: #4f463d;
  font-size: 13px;
  line-height: 1.7;
}

.startup-sidebar .startup-map-card {
  padding: 12px;
}

.startup-sidebar .startup-map-head h4 {
  font-size: 15px;
}

.startup-sidebar .startup-promise,
.startup-sidebar .startup-idea-grid ul,
.startup-sidebar .startup-section ul,
.startup-sidebar .startup-section ol,
.startup-sidebar .startup-map-card dl {
  font-size: 12px;
}

.startup-sidebar .startup-idea-grid {
  grid-template-columns: 1fr;
}

.compact-maps .startup-map-card {
  padding: 12px;
}

.compact-maps .startup-map-head h4 {
  font-size: 17px;
}

.compact-maps .startup-promise,
.compact-maps .startup-map-card dl,
.compact-maps .startup-section ul,
.compact-maps .startup-section ol {
  font-size: 12px;
}

.compact-maps .startup-idea-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.track-card {
  min-height: 250px;
  background: rgba(255, 250, 242, 0.88);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: var(--shadow);
}

.track-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.track-head h4 {
  margin: 0;
  font-size: 17px;
}

.track-meta {
  margin: 12px 0;
  color: var(--muted);
  font-size: 13px;
}

.subtrack-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 14px;
}

.subtrack-list span {
  padding: 5px 7px;
  background: #f3ece2;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #584c40;
  font-size: 12px;
}

.track-ip-list {
  display: grid;
  gap: 7px;
}

.track-ip-list button {
  min-height: 32px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fffaf2;
  color: var(--text);
  padding: 0 9px;
}

.panel,
.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.panel {
  padding: 16px;
}

.card {
  padding: 14px;
}

.production-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 18px;
  margin-bottom: 14px;
}

.production-selectors {
  display: flex;
  align-items: flex-end;
  gap: 9px;
  width: 100%;
}

.production-selectors label {
  display: grid;
  gap: 5px;
}

.production-selectors label:first-child {
  min-width: 170px;
}

.production-selectors label:nth-child(2) {
  flex: 1;
}

.production-selectors span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.production-selectors select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
}

.current-ip-strip {
  display: grid;
  grid-template-columns: 72px minmax(150px, auto) 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
}

.current-ip-strip span,
.current-ip-strip em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.current-ip-strip strong {
  font-size: 14px;
}

.current-map-strip {
  display: grid;
  grid-template-columns: 96px minmax(180px, auto) 1fr;
  align-items: center;
  gap: 10px;
  margin: -2px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(168, 117, 72, 0.28);
  border-radius: 8px;
  background: rgba(244, 238, 229, 0.72);
}

.current-map-strip span,
.current-map-strip em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.current-map-strip strong {
  font-size: 14px;
}

.flow-nav {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.88);
  padding: 12px;
  box-shadow: var(--shadow);
}

.flow-nav-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  margin-bottom: 2px;
}

.flow-nav button {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fffaf2;
  color: var(--text);
  text-align: left;
  padding: 6px 8px;
}

.flow-nav button:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.flow-nav button span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.flow-nav button strong {
  font-size: 13px;
}

.workflow-panel {
  display: grid;
  gap: 14px;
}

.production-map-row {
  display: grid;
  gap: 10px;
}

.inline-head {
  margin: 0;
}

.workflow-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.workflow-header h3 {
  margin: 0;
  font-size: 23px;
}

.workflow-gate {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
}

.workflow-gate.passed {
  color: var(--ok);
  border-color: #c7d2b8;
  background: #f1f4eb;
}

.workflow-gate.blocked {
  color: var(--warn);
  border-color: #e4c988;
  background: #fbf2d8;
}

.workflow-step {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
}

.step-index {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
}

.step-body {
  background: rgba(255, 250, 242, 0.9);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 16px;
}

.step-body h3 {
  margin: 0 0 12px;
  font-size: 18px;
}

.step-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.step-title-row h3 {
  margin-bottom: 4px;
}

.step-title-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.analysis-disclaimer {
  margin-bottom: 12px;
  padding: 9px 11px;
  border-left: 3px solid var(--warn);
  background: #fbf2d8;
  color: #6e541f;
  font-size: 12px;
  line-height: 1.5;
}

.ai-service-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
}

.ai-service-banner strong {
  flex: 0 0 auto;
}

.ai-service-banner span {
  color: var(--muted);
}

.ai-service-banner.online {
  border-color: #c7d2b8;
  background: #f1f4eb;
}

.ai-service-banner.fallback {
  border-color: #e4c988;
  background: #fbf2d8;
}

.ai-service-banner.checking {
  color: var(--muted);
  background: var(--panel-soft);
}

.ai-run-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: 11px;
}

.ai-run-status.ai {
  border-color: #c7d2b8;
  background: #f1f4eb;
  color: var(--ok);
}

.ai-run-status.local {
  border-color: #e4c988;
  background: #fbf2d8;
  color: #6e541f;
}
.method-recipe-usage { margin: 9px 0; padding: 10px 12px; border: 1px solid #b7c5b1; border-radius: 9px; background: #f1f5ed; }
.method-recipe-usage.inactive { border-color: var(--brand-binding); background: #f1ebe1; }.method-recipe-usage.pending { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.method-recipe-usage summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; cursor: pointer; }.method-recipe-usage summary span, .method-recipe-usage > div span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }.method-recipe-usage summary strong, .method-recipe-usage > div strong { font-size: 9px; }.method-recipe-usage summary em { color: #6f826a; font-size: 7px; font-style: normal; }.method-recipe-usage.inactive summary em { color: var(--brand-pencil); }
.method-recipe-usage.pending p, .method-recipe-usage.inactive > p { margin: 0; color: var(--brand-pencil); font-size: 8px; }
.method-recipe-audit { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-top: 10px; padding-top: 9px; border-top: 1px dashed var(--brand-binding); }.method-recipe-audit section { padding: 9px; border-radius: 7px; background: rgba(255,253,248,.72); }.method-recipe-audit strong { font-size: 8px; }.method-recipe-audit section > div { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }.method-recipe-audit section > div span { padding: 3px 5px; border-radius: 999px; background: #e7dfd3; color: #625b52; font-size: 7px; }.method-recipe-audit ul { margin: 6px 0 0; padding-left: 14px; color: #625b52; font-size: 7px; line-height: 1.55; }
.method-usage-report { margin-top: 8px; padding-top: 9px; border-top: 1px dashed var(--brand-binding); }.method-usage-report > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.method-usage-report > header strong { font-size: 8px; }.method-usage-report > header span { color: #6f826a; font-size: 7px; }.method-usage-report.partial > header span, .method-usage-report.missing > header span { color: var(--brand-tide-600); }.method-usage-report.missing p { margin: 6px 0 0; color: var(--brand-pencil); font-size: 8px; }
.method-usage-report > div { display: grid; gap: 5px; margin-top: 7px; }.method-usage-report article { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 7px; padding: 8px; border-radius: 7px; background: rgba(255,253,248,.72); }.method-usage-report article i { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #dfe9db; color: #64785f; font-size: 8px; font-style: normal; }.method-usage-report article.unsupported i { background: #f1ddd6; color: var(--brand-tide-700); }.method-usage-report article strong { font-size: 8px; }.method-usage-report article p { margin: 3px 0; color: #625b52; font-size: 8px; }.method-usage-report article code { color: var(--brand-pencil); font-size: 7px; }.method-usage-report article em { display: block; margin-top: 3px; color: var(--brand-tide-600); font-size: 7px; font-style: normal; }.method-usage-report footer { display: grid; gap: 3px; margin-top: 7px; color: var(--brand-pencil); font-size: 7px; }.method-usage-report footer strong { color: var(--brand-ink); }
.method-effectiveness { margin: 16px 0 22px; padding: 20px; border: 1px solid var(--brand-binding); border-radius: 16px; background: var(--brand-paper-float); }.method-effectiveness > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }.method-effectiveness > header h3 { margin: 5px 0 3px; }.method-effectiveness > header p:last-child { margin: 0; color: var(--brand-pencil); font-size: 9px; }.method-effectiveness > header > div:last-child { display: grid; text-align: right; }.method-effectiveness > header > div:last-child strong { color: var(--brand-tide-600); font-size: 27px; }.method-effectiveness > header > div:last-child span { color: var(--brand-pencil); font-size: 8px; }
.method-effectiveness-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 13px; overflow: hidden; border-radius: 9px; background: var(--brand-binding); }.method-effectiveness-kpis article { display: grid; gap: 4px; padding: 11px; background: #f3ede3; }.method-effectiveness-kpis span { color: var(--brand-pencil); font-size: 8px; }.method-effectiveness-kpis strong { font-size: 18px; }
.method-effectiveness-tables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }.method-effectiveness-tables section { min-width: 0; overflow: auto; }.method-effectiveness-tables h4 { margin: 0 0 7px; font-size: 12px; }.method-effectiveness-tables table { min-width: 560px; font-size: 8px; }.method-effectiveness-tables th, .method-effectiveness-tables td { padding: 8px; }
.method-experiment-studio { margin: 0 0 22px; padding: 20px; border: 1px solid var(--brand-binding); border-radius: 16px; background: #efe9dd; }.method-experiment-studio > header h3 { margin: 5px 0 3px; }.method-experiment-studio > header p:last-child { margin: 0; color: var(--brand-pencil); font-size: 9px; }.method-experiment-studio > form { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)) auto; gap: 6px; margin-top: 12px; }.method-experiment-studio input, .method-experiment-studio select { min-width: 0; padding: 8px; border: 1px solid var(--brand-binding); border-radius: 7px; background: #fffdf8; font-size: 8px; }.experiment-warning { color: var(--brand-tide-600); font-size: 8px; }
.method-experiment-list > article { margin-top: 10px; padding: 13px; border: 1px solid var(--brand-binding); border-radius: 10px; background: #fbf8f1; }.method-experiment-list article > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.method-experiment-list article > header div { display: grid; }.method-experiment-list article > header strong { font-size: 12px; }.method-experiment-list article > header span { color: var(--brand-pencil); font-size: 8px; }.experiment-quality { display: grid; margin-left: auto; text-align: right; }.experiment-quality strong { color: var(--brand-tide-600); font-size: 18px !important; }.experiment-quality span { font-size: 7px !important; }.experiment-quality-issues { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }.experiment-quality-issues span { padding: 4px 6px; border-radius: 999px; background: #f1ddd6; color: var(--brand-tide-700); font-size: 7px; }.experiment-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 9px; }.experiment-groups > section { padding: 10px; border-radius: 8px; background: #f1ebe1; }.experiment-groups > section > span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; }.experiment-groups > section > strong { display: block; margin: 3px 0 7px; font-size: 10px; }.experiment-groups dl { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; margin: 0; background: var(--brand-binding); }.experiment-groups dl div { padding: 7px; background: #fffdf8; }.experiment-groups dt { color: var(--brand-pencil); font-size: 7px; }.experiment-groups dd { margin: 3px 0 0; font-size: 10px; font-weight: 700; }.method-experiment-list article > footer { margin-top: 8px; padding: 8px; border-radius: 7px; font-size: 8px; }.method-experiment-list footer.waiting { background: #eee7dc; color: var(--brand-pencil); }.method-experiment-list footer.ready { background: #e7eee3; color: #64785f; }
.experiment-freeze { width: max-content; margin-top: 5px; padding: 3px 6px; border-radius: 999px; font-weight: 700; }.experiment-freeze.is-frozen { background: #e7eee3; color: #64785f !important; }.experiment-freeze.is-legacy { background: #eee7dc; color: var(--brand-pencil) !important; }.experiment-protocol { display: flex; align-items: baseline; gap: 8px; margin-top: 9px; padding: 8px 10px; border: 1px dashed var(--brand-binding); border-radius: 8px; background: #f7f3eb; }.experiment-protocol strong { flex: none; color: var(--brand-tide-700); font-size: 8px; }.experiment-protocol span { color: var(--brand-pencil); font-size: 8px; line-height: 1.5; }
.experiment-stop { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding: 9px 10px; border-radius: 8px; }.experiment-stop > div { display: grid; gap: 2px; }.experiment-stop strong { font-size: 9px; }.experiment-stop span { color: var(--brand-pencil); font-size: 8px; }.experiment-stop.is-running { background: #eee9df; }.experiment-stop.is-waiting { background: #f3e7d6; }.experiment-stop.is-ready { border: 1px solid #b7c5b1; background: #e7eee3; }.experiment-stop .primary-button { flex: none; padding: 7px 10px; font-size: 8px; }
.experiment-conclusion { margin-top: 9px; padding: 12px; border: 1px solid var(--brand-binding); border-radius: 10px; background: #f7f3eb; }.experiment-conclusion.has-winner { border-color: #aebda8; background: #edf2e9; }.experiment-conclusion > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.experiment-conclusion > header div { display: grid; gap: 2px; }.experiment-conclusion > header span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }.experiment-conclusion > header strong { font-size: 13px; }.experiment-conclusion > p { margin: 7px 0; color: var(--brand-pencil); font-size: 8px; }.experiment-conclusion > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }.experiment-conclusion article { padding: 9px; border-radius: 8px; background: #fffdf8; }.experiment-conclusion article > strong { font-size: 9px; }.experiment-conclusion article > span, .experiment-conclusion li { color: var(--brand-pencil); font-size: 8px; line-height: 1.5; }.experiment-conclusion ul { margin: 5px 0 0; padding-left: 15px; }
.method-rollback-preview > header span { color: var(--brand-tide-600); font-size: 8px; font-weight: 700; letter-spacing: .12em; }.method-rollback-preview > header h3 { margin: 5px 0; font-size: 19px; }.method-rollback-preview > header p { margin: 0; color: var(--brand-pencil); font-size: 9px; }.rollback-diff-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 13px; }.rollback-diff-grid article { min-height: 90px; padding: 10px; border-radius: 8px; background: #f1ebe1; }.rollback-diff-grid strong { font-size: 9px; }.rollback-diff-grid ul { margin: 6px 0 0; padding-left: 16px; }.rollback-diff-grid li, .rollback-diff-grid span { color: var(--brand-pencil); font-size: 8px; line-height: 1.5; }.method-rollback-preview > aside { margin-top: 8px; padding: 10px; border: 1px solid #d9c9b7; border-radius: 8px; background: #f7f3eb; }.method-rollback-preview > aside strong { font-size: 9px; }.method-rollback-preview > aside p { margin: 4px 0; color: var(--brand-pencil); font-size: 8px; }.method-rollback-preview > aside div { display: flex; flex-wrap: wrap; gap: 4px; }.method-rollback-preview > aside span { padding: 4px 6px; border-radius: 999px; background: #fffdf8; color: var(--brand-pencil); font-size: 7px; }.method-rollback-preview > footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.production-experiment-assignment { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 6px; }.production-experiment-assignment select { min-height: 31px; padding: 0 7px; border: 1px solid var(--brand-binding); border-radius: 7px; background: #fffdf8; font-size: 8px; }
.experiment-assignment-suggestion { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(180px,.8fr) minmax(0,1.5fr) auto auto; align-items: center; gap: 10px; padding: 11px; border: 1px solid #b7c5b1; border-radius: 9px; background: #f1f5ed; }.experiment-assignment-suggestion > div:first-child { display: grid; }.experiment-assignment-suggestion > div:first-child span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }.experiment-assignment-suggestion > div:first-child strong { margin-top: 3px; font-size: 11px; }.experiment-assignment-suggestion p { margin: 3px 0 0; color: var(--brand-pencil); font-size: 7px; }.experiment-assignment-suggestion dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; }.experiment-assignment-suggestion dl div { padding: 6px; background: #fffdf8; }.experiment-assignment-suggestion dt { color: var(--brand-pencil); font-size: 7px; }.experiment-assignment-suggestion dd { overflow: hidden; margin: 3px 0 0; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.assignment-warnings { display: grid; gap: 3px; }.assignment-warnings span { color: var(--brand-tide-600); font-size: 7px; }

.analysis-empty {
  margin-top: 12px;
  padding: 18px;
  border: 1px dashed var(--strong-line);
  border-radius: 8px;
  background: var(--panel-soft);
  color: var(--muted);
  text-align: center;
  font-size: 13px;
}

.research-panel {
  margin: 12px 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
}

.intel-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  padding: 26px 28px;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(135deg, #fffaf1 0%, #f8efe4 100%);
  box-shadow: 0 8px 22px rgba(91, 65, 39, .06);
}
.intel-hero h3 { margin: 4px 0 6px; font-size: 27px; }
.intel-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.intel-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.research-source-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
.research-source-panel { min-width: 0; background: rgba(255, 252, 246, .92); border: 1px solid #e7d8c4; border-radius: 12px; padding: 18px; box-shadow: 0 8px 24px rgba(90, 55, 25, .06); }
.research-source-panel.featured { border-color: #c46a38; }
.research-source-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.research-source-panel-head h3 { margin: 4px 0; }
.research-source-panel-head p { margin: 0; color: #8c8176; font-size: 13px; }
.research-source-panel-buttons { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.research-source-panel-buttons button { white-space: nowrap; }
.research-source-scroll { max-height: 300px; overflow-y: auto; padding-right: 6px; }
.research-source-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid #eee4d7; }
.research-source-main { flex: 1 1 auto; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.research-source-main:hover strong { color: #b6572f; text-decoration: underline; text-underline-offset: 3px; }
.research-source-item strong { display: block; line-height: 1.45; }
.research-source-item p { margin: 4px 0 0; color: #8c8176; font-size: 12px; line-height: 1.4; }
.research-source-item .tag { flex: 0 0 auto; }
.research-source-actions { flex: 0 0 auto; display: flex; align-items: flex-end; gap: 6px; flex-direction: column; }
.research-source-actions a, .research-source-actions button { padding: 3px 7px; border: 1px solid #dfcfbb; border-radius: 6px; background: #fffaf2; color: #88512f; font: inherit; font-size: 11px; line-height: 1.3; text-decoration: none; cursor: pointer; }
.research-source-actions a:hover, .research-source-actions button:hover { border-color: #c46a38; background: #fff3e6; }
.research-item-detail h3 { margin: 6px 0 12px; line-height: 1.45; }
.research-item-detail > p { line-height: 1.65; }
.research-progress { position: sticky; top: 12px; z-index: 20; margin: 14px 0 4px; padding: 12px 16px; background: rgba(255, 252, 246, .97); border: 1px solid #e7d8c4; border-radius: 10px; box-shadow: 0 8px 24px rgba(91, 64, 42, .1); backdrop-filter: blur(10px); }
.research-progress-head { display: flex; justify-content: space-between; color: #765f4c; font-size: 13px; margin-bottom: 8px; }
.research-progress-track { height: 8px; overflow: hidden; background: #eadfce; border-radius: 999px; }
.research-progress-track span { display: block; height: 100%; background: linear-gradient(90deg, #bd6335, #e5a24e); border-radius: inherit; transition: width .25s ease; }
.research-progress small { display: block; margin-top: 7px; color: #8c8176; font-size: 12px; }
.research-progress.complete .research-progress-track span { background: linear-gradient(90deg, #3e8f68, #72b68f); }
@media (max-width: 900px) { .research-source-panels { grid-template-columns: 1fr; } }
.intel-source-card { display: flex; align-items: center; gap: 11px; min-height: 92px; padding: 16px; text-align: left; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.intel-source-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(60, 45, 30, .10); border-color: #c77a4a; }
.intel-source-icon { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 10px; color: #fff; font-weight: 800; background: #7657c9; }
.intel-source-card.orange .intel-source-icon { background: #bd6433; }
.intel-source-card.blue .intel-source-icon { background: #3979b7; }
.intel-source-card.green .intel-source-icon { background: #4b8b70; }
.intel-source-card.teal .intel-source-icon { background: #268b88; }
.intel-source-card strong, .intel-source-card small { display: block; }
.intel-source-links { display: block; margin-top: 7px; font-size: 11px; }
.intel-source-links a { color: #6d4bd7; text-decoration: none; }
.intel-source-links a:hover { text-decoration: underline; }
.intel-source-card small { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.intel-source-arrow { margin-left: auto; color: var(--muted); font-size: 20px; }
.intel-filterbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 8px 0 16px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.72); }
.intel-tabs { display: flex; gap: 5px; }
.intel-tab { border: 0; border-radius: 8px; padding: 8px 12px; background: transparent; color: var(--muted); cursor: pointer; }
.intel-tab.active { color: #6d4bd7; background: #eeeaff; font-weight: 700; }
.intel-filter-hint { color: var(--muted); font-size: 12px; }
@media (max-width: 980px) { .intel-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .intel-hero { align-items: flex-start; flex-direction: column; } .intel-source-grid { grid-template-columns: 1fr; } .intel-filterbar { align-items: flex-start; flex-direction: column; } }

.research-panel h4 {
  margin: 0;
}

.research-panel .section-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.research-source-list {
  display: grid;
  gap: 8px;
}

.research-source-list article {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fffaf2;
}

.research-source-list strong,
.research-source-list p {
  display: block;
}

.research-source-list p {
  margin: 4px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.research-source-list a {
  color: var(--accent);
  font-size: 12px;
}

.research-errors {
  margin-top: 8px;
  padding: 8px 10px;
  border-left: 3px solid var(--warn);
  background: #fbf2d8;
  color: #6e541f;
  font-size: 11px;
}

.research-errors p {
  margin: 3px 0;
}

.generation-gate-note {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #e5b6aa;
  border-radius: 7px;
  background: #f9e8e3;
  color: #8b3326;
  font-size: 12px;
}

.generation-gate-note span {
  color: #6c514b;
}

.analysis-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.analysis-board > article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 12px;
}

.analysis-board .grade-card {
  grid-column: 1 / -1;
}

.analysis-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.analysis-card-head h4 {
  margin: 0;
  font-size: 15px;
}

.analysis-board dl {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 7px 10px;
  margin: 0;
  font-size: 12px;
}

.analysis-board dt {
  color: var(--muted);
}

.analysis-board dd {
  margin: 0;
  line-height: 1.5;
}

.grade-badge {
  min-width: 74px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.grade-badge.ok {
  color: var(--ok);
  background: #f1f4eb;
}

.grade-badge.warn {
  color: var(--warn);
  background: #fbf2d8;
}

.grade-badge.danger {
  color: var(--danger);
  background: #f9e8e3;
}

.score-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.score-grid div {
  min-height: 72px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8f0e5;
}

.score-grid span,
.score-grid em {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.score-grid strong {
  display: inline-block;
  margin-top: 8px;
  font-size: 21px;
}

.grade-card > p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.route-ranking {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 10px;
  margin: 12px 0;
}

.route-summary,
.route-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
  padding: 12px;
}

.route-summary span,
.route-summary strong,
.route-summary em {
  display: block;
}

.route-summary span,
.route-summary em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.route-summary strong {
  margin: 10px 0;
  color: var(--accent);
  font-size: 20px;
}

.route-list {
  display: grid;
  gap: 7px;
}

.route-list article {
  display: grid;
  grid-template-columns: 26px 1fr 42px;
  align-items: center;
  gap: 8px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--line);
}

.route-list article:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.route-list article > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.route-list strong,
.route-list p {
  display: block;
}

.route-list p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.route-list b {
  color: var(--accent);
  text-align: right;
}

.option-card-labels {
  display: flex;
  gap: 6px;
  margin-bottom: 9px;
}

.option-card-labels .tag {
  margin: 0;
}

.deep-check-gate {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e4c988;
  border-radius: 8px;
  background: #fbf2d8;
}

.deep-check-gate p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.deep-check-gate button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
}

.form-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 12px;
}

.option-card {
  min-height: 150px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 12px;
  color: var(--text);
}

.option-card.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.option-card strong,
.option-card span,
.option-card p {
  display: block;
}

.option-card span {
  margin: 8px 0;
  color: var(--accent);
  font-weight: 700;
  font-size: 13px;
}

.option-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

.option-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #4f463d;
  font-size: 12px;
  line-height: 1.55;
}

.generation-progress {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
}

.generation-progress > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: var(--muted);
}

.progress-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.progress-spinner {
  display: none;
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border: 2px solid #dbc7b3;
  border-top-color: var(--accent);
  border-radius: 50%;
}

.generation-progress.running .progress-spinner {
  display: inline-block;
  animation: progress-spin 760ms linear infinite;
}

.generation-progress.running {
  border-color: #d2a17f;
  background: #fbefe4;
}

.generation-progress strong {
  color: var(--accent);
  font-size: 15px;
}

.progress-track {
  height: 8px;
  margin: 9px 0 7px;
  overflow: hidden;
  border-radius: 6px;
  background: #e5dacb;
}

.progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width 180ms ease;
}

.generation-progress p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.audit-dimensions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.audit-dimensions span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fffaf2;
  font-size: 12px;
}

.audit-dimensions em,
.audit-score em {
  color: var(--accent);
  font-style: normal;
  font-weight: 750;
}

.audit-auto-fixes,
.audit-blocking,
.audit-revision-draft {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #b9c9ad;
  border-radius: 8px;
  background: #f3f7ef;
}

.audit-blocking {
  border-color: #d8a69a;
  background: #fff0ec;
  color: #7d3028;
}

.audit-blocking ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.audit-auto-fixes ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.audit-revision-draft {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.audit-revision-draft button { flex: 0 0 auto; max-width: 240px; white-space: normal; }

.audit-compare-intro { padding: 4px 2px 16px; }
.audit-compare-intro > span { color: var(--brand-tide-600); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.audit-compare-intro strong { display: block; margin-top: 5px; color: var(--brand-ink); font-size: 20px; letter-spacing: -.025em; }
.audit-compare-intro p { margin: 7px 0 0; color: var(--brand-pencil); font-size: 11px; line-height: 1.6; }
.audit-compare-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.audit-compare-grid section { min-width: 0; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 12px; background: #f6f1e8; }
.audit-compare-grid section.suggested { border-color: #bfcdbb; background: #f2f6ef; }
.audit-compare-grid section > div { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid var(--brand-binding); }
.audit-compare-grid section > div span { font-size: 11px; font-weight: 700; }
.audit-compare-grid section > div em { color: var(--brand-pencil); font-size: 9px; font-style: normal; }
.audit-compare-grid pre { min-height: 390px; max-height: 55vh; margin: 0; padding: 14px; overflow: auto; color: var(--brand-ink); font-family: inherit; font-size: 11px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.audit-compare-actions { position: sticky; bottom: -16px; margin: 14px -16px -16px; padding: 12px 16px; border-top: 1px solid var(--brand-binding); background: rgba(255,253,248,.96); backdrop-filter: blur(8px); }

.audit-revision-draft span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

@keyframes progress-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .generation-progress.running .progress-spinner {
    animation: none;
  }
}

.script-version-grid {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.script-version-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 14px;
}

.script-version-card.active {
  border-color: var(--accent);
  box-shadow: inset 3px 0 0 var(--accent);
}

.script-version-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.script-version-head span {
  color: var(--muted);
  font-size: 11px;
}

.script-version-head h4 {
  margin: 4px 0 0;
  font-size: 17px;
}

.script-version-head button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
}

.script-hook {
  margin: 12px 0 7px;
  color: var(--accent);
  font-weight: 750;
}

.script-meta {
  color: var(--muted);
  font-size: 12px;
}

.production-brief,
.hook-check-panel,
.execution-checklists {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
}

.production-brief .section-head,
.hook-check-panel .section-head,
.execution-checklists .section-head {
  margin-bottom: 12px;
}

.production-brief h4,
.hook-check-panel h4,
.execution-checklists h4 {
  margin: 0;
  font-size: 16px;
}

.production-brief .section-head p,
.hook-check-panel .section-head p,
.execution-checklists .section-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.production-brief { padding: 0; overflow: hidden; border-radius: 14px; background: var(--brand-paper-float); }
.production-brief-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 17px; border-bottom: 1px solid var(--brand-binding); background: #f3ede3; }
.production-brief-head > div > span { color: var(--brand-tide-600); font-size: 8px; font-weight: 750; letter-spacing: .12em; }
.production-brief-head h4 { margin: 3px 0 0; font-size: 17px; letter-spacing: -.015em; }
.production-brief-head p { margin: 3px 0 0; color: var(--brand-pencil); font-size: 9px; }
.production-brief-core, .production-brief-voice, .production-brief-parameters > div { position: relative; min-width: 0; }
.production-brief-core { padding: 16px 17px 14px 52px; border-bottom: 1px solid var(--brand-binding); }
.production-brief-core::before { content: "核心判断"; position: absolute; top: 16px; right: 17px; color: rgba(184,95,74,.2); font-family: serif; font-size: 27px; font-weight: 700; pointer-events: none; }
.brief-index { position: absolute; top: 18px; left: 17px; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; background: var(--brand-tide-50); color: var(--brand-tide-700); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 8px; font-weight: 750; }
.production-brief .field { position: relative; z-index: 1; }
.production-brief .field > span { color: #53616e; font-size: 10px; letter-spacing: .015em; }
.production-brief-core textarea { min-height: 82px; padding: 12px 13px; font-size: 14px; line-height: 1.65; }
.production-brief-parameters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--brand-binding); }
.production-brief-parameters > div { min-height: 150px; padding: 14px 13px 13px 48px; background: var(--brand-paper-float); }
.production-brief-parameters .brief-index { top: 15px; left: 13px; }
.production-brief-parameters textarea { min-height: 82px; height: 82px; padding: 10px 11px; font-size: 11px; line-height: 1.55; }
.production-brief-parameters input { min-height: 42px; font-size: 13px; }
.production-brief-parameters .duration::after { content: "建议以平台完播表现为准"; display: block; margin-top: 8px; color: var(--brand-pencil); font-size: 8px; }
.production-brief-voice { padding: 14px 17px 14px 52px; border-top: 1px solid var(--brand-binding); background: #faf6ef; }
.production-brief-voice .brief-index { top: 16px; }
.production-brief-voice textarea { min-height: 62px; height: 62px; padding: 10px 11px; font-size: 11px; line-height: 1.55; }

.script-version-card { overflow: hidden; border-radius: 12px; background: var(--brand-paper-float); }
.script-version-card.active { border-color: #d0aa98; box-shadow: inset 3px 0 0 var(--brand-tide-600), 0 8px 24px rgba(37,36,31,.04); }
.script-version-card pre { border-radius: 9px; background: #f4eee4; }
.full-deliverable { padding: 16px; border: 1px solid var(--brand-binding); border-radius: 13px; background: var(--brand-paper-float); }
.deliverable-head { padding-bottom: 10px; border-bottom: 1px solid var(--brand-binding); }
@media (max-width: 900px) {
  .production-brief-parameters { grid-template-columns: 1fr; }
  .production-brief-parameters > div { min-height: 0; }
}
@media (max-width: 640px) {
  .production-brief-head { align-items: flex-start; flex-direction: column; }
  .production-brief-core::before { display: none; }
}

.script-hook-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.script-hook-summary span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  color: var(--muted);
  font-size: 11px;
}

.script-hook-summary strong {
  color: var(--accent);
}

.script-version-card pre {
  max-height: 420px;
  overflow: auto;
  margin: 12px 0 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8f0e5;
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
  font-size: 13px;
  line-height: 1.7;
}

.full-deliverable {
  margin-top: 14px;
}

.deliverable-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.deliverable-head span,
.deliverable-head strong {
  display: block;
}

.deliverable-head span {
  color: var(--muted);
  font-size: 12px;
}

.deliverable-head strong {
  margin-top: 3px;
  font-size: 14px;
}

.deliverable-head em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.field textarea.long-editor {
  min-height: 420px;
  line-height: 1.7;
}

.hook-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.hook-check-grid article {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fffaf2;
}

.hook-check-grid article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--accent);
}

.hook-check-grid article > div span {
  color: var(--muted);
  font-size: 11px;
}

.hook-check-grid dl {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 7px;
  margin: 10px 0 0;
  font-size: 12px;
}

.hook-check-grid dt {
  color: var(--muted);
}

.hook-check-grid dd {
  margin: 0;
  line-height: 1.55;
}

.auto-audit-report {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
}

.audit-score {
  display: grid;
  place-content: center;
  min-height: 130px;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: center;
}

.audit-score.pass {
  background: #f1f4eb;
  color: var(--ok);
}

.audit-score.revise {
  background: #fbf2d8;
  color: var(--warn);
}

.audit-score strong {
  font-size: 42px;
  line-height: 1;
}

.audit-score span {
  margin-top: 8px;
  font-size: 12px;
}

.audit-checks {
  display: grid;
  gap: 7px;
}

.audit-checks article {
  display: grid;
  grid-template-columns: 64px 1fr;
  align-items: start;
  gap: 8px;
}

.audit-checks p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.audit-check-framework { grid-column: 1 / -1; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 12px; background: var(--brand-paper-float); }
.audit-check-framework-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; border-bottom: 1px solid var(--brand-binding); background: #f3ede3; }
.audit-check-framework-head > div span, .audit-check-framework-head > div strong { display: block; }
.audit-check-framework-head > div span { color: var(--brand-pencil); font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.audit-check-framework-head > div strong { margin-top: 3px; color: var(--brand-ink); font-size: 14px; }
.audit-check-framework-head > em { padding: 5px 8px; border-radius: 999px; background: rgba(127,146,125,.14); color: #627461; font-size: 9px; font-style: normal; font-weight: 700; }
.audit-check-framework .audit-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--brand-binding); }
.audit-check-framework .audit-checks article { position: relative; display: block; min-width: 0; min-height: 138px; padding: 13px 14px 15px; background: var(--brand-paper-float); }
.audit-check-framework .audit-checks article::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--brand-moss); }
.audit-check-framework .audit-checks article.needs-work::before { background: var(--brand-wheat); }
.audit-check-framework .audit-checks article.blocked::before { background: var(--brand-tide-600); }
.audit-check-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 13px; }
.audit-check-card-head i { color: #aaa297; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 8px; font-style: normal; }
.audit-check-framework .audit-checks article > strong { display: block; color: var(--brand-ink); font-size: 13px; line-height: 1.35; }
.audit-check-framework .audit-checks article > p { margin: 7px 0 0; color: var(--brand-pencil); font-size: 10px; line-height: 1.65; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .audit-check-framework .audit-checks { grid-template-columns: 1fr; }
  .audit-check-framework-head { align-items: flex-start; flex-direction: column; }
}

.audit-revisions,
.audit-note {
  grid-column: 1 / -1;
}

.audit-revisions {
  padding: 10px;
  border: 1px solid #e4c988;
  border-radius: 6px;
  background: #fffaf2;
}

.audit-revisions ol {
  margin: 7px 0 0;
  padding-left: 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.audit-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.review-save-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--brand-binding);
  border-radius: 10px;
  background: var(--brand-paper-float);
}

.review-save-state strong,
.review-save-state span { display: block; }
.review-save-state strong { color: var(--brand-ink); font-size: 13px; }
.review-save-state span { color: var(--brand-pencil); font-size: 11px; }
.review-save-state.success { border-color: rgba(127, 146, 125, .48); background: #f1f4eb; }
.review-save-state.success strong { color: #627461; }
.review-save-state.pending { border-color: rgba(198, 157, 76, .45); background: #fbf2d8; }
.review-save-state.pending strong { color: #8d6c2d; }

@media (max-width: 640px) {
  .review-save-state { align-items: flex-start; flex-direction: column; gap: 4px; }
}

.storyboard-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.storyboard-card-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 12px;
}

.storyboard-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--accent);
}

.storyboard-card-grid dl {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 7px 9px;
  margin: 0;
  font-size: 12px;
}

.storyboard-card-grid dt {
  color: var(--muted);
}

.storyboard-card-grid dd {
  margin: 0;
  line-height: 1.55;
}

.execution-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.execution-checklist-grid > div {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fffaf2;
}

.execution-checklist-grid h5 {
  margin: 0 0 3px;
  color: var(--accent);
  font-size: 13px;
}

.execution-checklist-grid label {
  display: grid;
  grid-template-columns: 18px 1fr;
  align-items: start;
  gap: 8px;
  color: #4f463d;
  font-size: 12px;
  line-height: 1.5;
}

.execution-checklist-grid input {
  margin-top: 2px;
}

.checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
  margin-top: 12px;
  color: #4f463d;
  font-size: 13px;
}

.publish-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 14px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8f0e5;
  color: #4f463d;
  font-size: 13px;
}

.publish-checklist h4 {
  grid-column: 1 / -1;
  margin: 0 0 3px;
}

.review-link-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.review-link-status.draft {
  border-color: #e4c988;
  background: #fbf2d8;
}

.review-link-status.published {
  border-color: #c7d2b8;
  background: #f1f4eb;
}

.review-link-status strong,
.review-link-status span {
  display: block;
}

.review-link-status span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.review-link-status button {
  min-height: 34px;
  flex: 0 0 auto;
  border: 1px solid var(--accent);
  border-radius: 6px;
  background: #fff;
  color: var(--accent);
  padding: 0 11px;
  font-weight: 700;
}

.operation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 11px; }
.operation-cluster { min-width: 0; padding: 10px; border: 1px solid var(--brand-binding); border-radius: 14px; background: #f4eee4; }
.operation-cluster-head { display: grid; grid-template-columns: 31px 1fr; align-items: center; gap: 8px; padding: 3px 3px 11px; }
.operation-cluster-head > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: var(--brand-tide-50); color: var(--brand-tide-700); font-size: 9px; font-weight: 750; }
.operation-cluster.engagement .operation-cluster-head > span { background: rgba(127,146,125,.16); color: #60725e; }
.operation-cluster.handoff .operation-cluster-head > span { background: rgba(124,143,160,.16); color: #5c7182; }
.operation-cluster-head strong, .operation-cluster-head small { display: block; }
.operation-cluster-head strong { font-size: 13px; }
.operation-cluster-head small { margin-top: 2px; color: var(--brand-pencil); font-size: 8px; }
.operation-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 12px;
}
.operation-card + .operation-card { margin-top: 9px; }

.operation-grid h4 {
  margin: 0;
  font-size: 15px;
}

.operation-grid .field {
  gap: 5px;
}

.operation-grid .field textarea {
  min-height: 76px;
}

.period-panel {
  display: grid;
  gap: 16px;
}

.period-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.mini-metric {
  min-height: 96px;
  background: #f8f0e5;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.mini-metric span,
.mini-metric em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.mini-metric strong {
  display: block;
  margin: 10px 0 8px;
  font-size: 24px;
  line-height: 1;
}

.diagnosis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.diagnosis-grid article {
  background: #fffaf2;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.diagnosis-grid h4 {
  margin: 0 0 8px;
}

.diagnosis-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.stat {
  min-height: 118px;
}

.stat .label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.stat .value {
  margin-top: 12px;
  font-size: 34px;
  font-weight: 780;
  line-height: 1;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 10px;
}

.section-head h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 760;
}

.filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.automation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.model-gateway-card {
  grid-column: 1 / -1;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.92);
  box-shadow: var(--shadow);
}

.model-gateway-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.model-gateway-head h3 {
  margin: 8px 0 5px;
}

.model-gateway-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.gateway-state {
  min-width: 150px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  text-align: right;
}

.gateway-state strong,
.gateway-state span {
  display: block;
}

.gateway-state span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.gateway-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: #4f463d;
  font-size: 13px;
}

.gateway-feedback {
  align-self: center;
  color: var(--muted);
  font-size: 12px;
}

.filter-field {
  display: grid;
  gap: 4px;
}

.filter-field span,
.shared-filter-note {
  color: var(--muted);
  font-size: 11px;
}

.period-scope {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
}

.period-scope span,
.period-scope strong {
  display: block;
}

.period-scope span {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
}

.period-scope strong {
  font-size: 13px;
}

.period-scope button {
  min-height: 32px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
}

.period-content-list {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.period-content-list h4 {
  margin: 0 0 8px;
}

.period-content-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid rgba(213, 199, 181, 0.65);
}

.period-content-list article:first-of-type {
  border-top: 0;
}

.period-content-list strong,
.period-content-list span {
  display: block;
}

.period-content-list span,
.period-content-list time {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.source-note {
  margin: -2px 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.68);
  color: var(--muted);
  font-size: 13px;
}

.chart-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.activity-list {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.88);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.activity-item {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) 130px;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
}

.activity-item:last-child {
  border-bottom: 0;
}

.activity-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
}

.activity-item strong {
  font-size: 14px;
}

.activity-item p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.activity-meta {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

.chart-card {
  min-height: 260px;
  background: rgba(255, 250, 242, 0.88);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: var(--shadow);
}

.chart-card h4 {
  margin: 0 0 12px;
}

.line-chart,
.donut-chart {
  width: 100%;
  min-height: 190px;
}

.line-chart text,
.donut-chart text {
  fill: var(--muted);
  font-size: 10px;
}

.donut-wrap {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  align-items: center;
}

.chart-legend {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
}

.bar-chart {
  display: grid;
  gap: 12px;
}

.bar-chart div {
  display: grid;
  grid-template-columns: 78px 1fr 58px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
}

.bar-chart strong {
  height: 12px;
  display: block;
  border-radius: 999px;
  background: var(--accent);
}

.bar-chart em {
  font-style: normal;
  text-align: right;
}

.filters select,
.filters input {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 10px;
  background: #fff;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

th,
td {
  padding: 11px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

th {
  background: #eee4d6;
  color: #584c40;
  font-weight: 700;
}

tr:last-child td {
  border-bottom: 0;
}

.tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.tag.ok {
  color: var(--ok);
  border-color: #c7d2b8;
  background: #f1f4eb;
}

.tag.warn {
  color: var(--warn);
  border-color: #e4c988;
  background: #fbf2d8;
}

.tag.danger {
  color: var(--danger);
  border-color: #e8b2a8;
  background: #f9e8e3;
}

.tag.neutral {
  color: #5c544b;
  background: #f3ece2;
}

.kanban {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.lane {
  min-height: 420px;
  background: rgba(238, 228, 214, 0.78);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
}

.lane h3 {
  margin: 0 0 10px;
  font-size: 14px;
  color: #584c40;
  font-weight: 760;
}

.content-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
}

.content-card h4 {
  margin: 8px 0;
  font-size: 16px;
  line-height: 1.35;
}

.content-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.card-actions button {
  min-height: 30px;
  padding: 0 9px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  font-size: 12px;
}

.card-actions button.primary-button {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
}

.card-actions button.primary-button:hover {
  background: #944c2a;
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(17, 24, 32, 0.48);
  padding: 20px;
  z-index: 20;
}

.modal.active {
  display: flex;
}

.modal-panel {
  width: min(860px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: var(--shadow);
  border: 1px solid var(--strong-line);
}

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

.modal-head h3 {
  margin: 0;
}

#modalBody {
  padding: 16px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.field {
  display: grid;
  gap: 6px;
}

.field.full {
  grid-column: 1 / -1;
}

.field span {
  color: #475467;
  font-size: 13px;
  font-weight: 650;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px 10px;
  background: #fff;
}

.field textarea {
  min-height: 96px;
  resize: vertical;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

.empty {
  padding: 30px;
  text-align: center;
  color: var(--muted);
  border: 1px dashed var(--strong-line);
  border-radius: 8px;
  background: var(--panel-soft);
}

.detail-list {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 10px 14px;
}

.detail-list dt {
  color: var(--muted);
}

.detail-list dd {
  margin: 0;
}

.config-sheet {
  display: grid;
  gap: 14px;
}

.config-sheet section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf2;
  padding: 14px;
}

.config-sheet h4 {
  margin: 0 0 12px;
  font-size: 16px;
}

.checkbox-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  margin: 0;
}

.checkbox-group legend {
  padding: 0 6px;
  color: #475467;
  font-size: 13px;
  font-weight: 650;
}

.checkbox-group div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.checkbox-group label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4f463d;
  font-size: 13px;
}

@media (max-width: 980px) {
  .shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
  }

  .grid.cols-4,
  .grid.cols-3,
  .grid.cols-2,
  .form-grid,
  .form-grid.compact,
  .option-grid,
  .analysis-board,
  .score-grid,
  .route-ranking,
  .auto-audit-report,
  .storyboard-card-grid,
  .hook-check-grid,
  .execution-checklist-grid,
  .startup-map-grid,
  .startup-idea-grid,
  .direction-card-grid,
  .chart-grid,
  .donut-wrap,
  .operation-grid,
  .audit-compare-grid,
  .checklist,
  .publish-checklist,
  .period-summary,
  .diagnosis-grid {
    grid-template-columns: 1fr;
  }

  .activity-item {
    grid-template-columns: 12px minmax(0, 1fr);
  }

  .activity-meta {
    grid-column: 2;
    text-align: left;
  }

  .production-brief .section-head,
  .hook-check-panel .section-head,
  .execution-checklists .section-head,
  .research-panel .section-head,
  .review-link-status,
  .period-scope,
  .model-gateway-head,
  .ai-service-banner {
    align-items: flex-start;
    flex-direction: column;
  }

  .audit-revision-draft { align-items: flex-start; flex-direction: column; }
  .audit-revision-draft button { max-width: none; }
  .audit-check-framework .audit-checks { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .automation-grid {
    grid-template-columns: 1fr;
  }

  .audit-dimensions {
    grid-template-columns: 1fr 1fr;
  }

  .audit-revision-draft {
    align-items: stretch;
    flex-direction: column;
  }

  .gateway-state {
    width: 100%;
    text-align: left;
  }

  .research-source-list article {
    grid-template-columns: 1fr;
  }

  .generation-gate-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .production-toolbar,
  .production-selectors {
    align-items: stretch;
    flex-direction: column;
  }

  .production-selectors label:first-child,
  .production-selectors label:nth-child(2) {
    width: 100%;
  }

  .current-ip-strip {
    grid-template-columns: 1fr;
  }

  .analysis-board .grade-card {
    grid-column: auto;
  }

  .deep-check-gate {
    grid-template-columns: 1fr;
  }

  .audit-revisions,
  .audit-note {
    grid-column: auto;
  }
}

/* Visual system v2 — quiet workspace, high-signal hierarchy */
:root {
  /* Chaijian fixed brand palette */
  --brand-tide-50: #f0ddd5;
  --brand-tide-100: #e8c9be;
  --brand-tide-300: #cf8a78;
  --brand-tide-500: #b85f4a;
  --brand-tide-600: #9f4e3c;
  --brand-tide-700: #7f3e30;
  --brand-paper: #f7f3eb;
  --brand-paper-float: #fffdf8;
  --brand-ink: #25241f;
  --brand-pencil: #8a8378;
  --brand-binding: #ded6c8;
  --brand-moss: #7f927d;
  --brand-moss-soft: #e3e9df;
  --brand-mist: #7c8fa0;
  --brand-mist-soft: #e1e7ea;
  --brand-violet: #91879a;
  --brand-violet-soft: #e8e3e9;
  --brand-wheat: #b49a68;
  --brand-wheat-soft: #eee6d5;

  --bg: var(--brand-paper);
  --panel: var(--brand-paper-float);
  --panel-soft: #eee8dc;
  --text: var(--brand-ink);
  --muted: var(--brand-pencil);
  --line: var(--brand-binding);
  --strong-line: #c7bdad;
  --accent: var(--brand-tide-500);
  --accent-ink: #ffffff;
  --accent-soft: var(--brand-tide-50);
  --ink: var(--brand-ink);
  --warn: var(--brand-wheat);
  --danger: var(--brand-tide-600);
  --ok: var(--brand-moss);
  --shadow: 0 1px 2px rgba(16, 24, 40, .035), 0 8px 24px rgba(16, 24, 40, .04);
  --grid: transparent;
}

html { background: var(--brand-paper); }

body {
  background: var(--bg);
  background-image: none;
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--brand-tide-100); color: var(--brand-tide-700); }

button, input, textarea, select { transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(184, 92, 50, .16); outline-offset: 2px; }

.shell { grid-template-columns: 232px minmax(0, 1fr); }

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 22px 14px 18px;
  gap: 24px;
  background: rgba(240, 234, 223, .94);
  border-right-color: var(--brand-binding);
  backdrop-filter: blur(18px) saturate(1.25);
}

.brand { padding: 0 8px; gap: 11px; }
.brand-mark { width: 36px; height: 36px; border-radius: 10px; font-size: 15px; box-shadow: 0 5px 14px rgba(184, 92, 50, .18); }
.brand h1 { font-size: 15px; font-weight: 730; letter-spacing: -.01em; }
.brand p { margin-top: 1px; font-size: 11px; }

.nav { gap: 3px; }
.nav-item {
  position: relative;
  min-height: 40px;
  padding: 9px 12px 9px 38px;
  border: 0;
  border-radius: 9px;
  color: #515864;
  font-size: 13px;
  font-weight: 620;
}
.nav-item::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 1.5px solid #939aa4;
  border-radius: 2px;
  transform: translateY(-50%) rotate(45deg);
}
.nav-item.active, .nav-item:hover { border-color: transparent; background: #e8e0d4; color: var(--brand-ink); }
.nav-item.active { font-weight: 700; box-shadow: inset 3px 0 0 var(--accent); }
.nav-item.active::before { border-color: var(--accent); background: var(--accent); }

.nav-sub { gap: 2px; margin: 2px 0 8px 26px; padding: 3px 0 3px 11px; border-left-color: #dfe2e6; }
.nav-sub button { min-height: 29px; border-radius: 7px; padding: 4px 7px; color: #777e88; font-size: 11px; font-weight: 580; }
.nav-sub button:hover { background: #e8e0d4; color: var(--brand-ink); }
.nav-sub span { width: 18px; height: 18px; background: #e4dccf; color: #716a60; font-size: 9px; }
.nav-sub button:hover span { background: #d8c5bb; color: #6b321b; }

.side-block { padding: 13px; border-color: var(--brand-binding); border-radius: 10px; background: rgba(255,253,248,.58); box-shadow: none; }
.side-block ol { color: #6d737c; font-size: 11px; line-height: 1.8; }
.side-label { margin-bottom: 7px; color: #9298a1; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.main { min-width: 0; padding: 26px clamp(24px, 3vw, 52px) 56px; }
.main > .view, .topbar { width: min(100%, 1560px); margin-left: auto; margin-right: auto; }

.topbar { min-height: 58px; margin-bottom: 24px; }
.topbar h2 { font-size: clamp(25px, 2vw, 32px); font-weight: 720; letter-spacing: -.035em; }
.topbar .eyebrow { color: #9298a1; font-size: 10px; letter-spacing: .11em; }
.top-actions { gap: 7px; }

.primary-button, .secondary-button, .ghost-button, .icon-button, .danger-button,
.card-actions button, .section-head button, .workflow-step button {
  min-height: 36px;
  border-radius: 8px;
  border-color: var(--brand-binding);
  background: var(--brand-paper-float);
  color: var(--brand-ink);
  font-size: 13px;
  font-weight: 620;
  box-shadow: 0 1px 1px rgba(16,24,40,.025);
}
.primary-button { border-color: var(--accent); background: var(--accent); color: #fff; box-shadow: 0 4px 10px rgba(184,92,50,.14); }
.primary-button:hover { background: #a64f29; border-color: #a64f29; transform: translateY(-1px); }
.secondary-button:hover, .ghost-button:hover, .icon-button:hover, .card-actions button:hover, .section-head button:hover, .workflow-step button:hover { border-color: #c9bdac; background: #f1eadf; }
.icon-button { width: 36px; }

.panel, .card, .step-body, .startup-map-card, .track-card, .flow-nav {
  border-color: var(--line);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.panel { padding: 18px; }
.card { padding: 16px; }

.data-metric-grid { gap: 10px; margin-bottom: 18px; }
.metric-card, .data-metric { min-height: 94px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--brand-paper-float); box-shadow: 0 1px 2px rgba(37,36,31,.025); }
.metric-card span, .data-metric span, .data-metric em { color: #858b94; font-size: 11px; font-weight: 600; }
.metric-card strong, .data-metric strong { margin-top: 10px; color: #252a31; font-size: 25px; font-weight: 680; letter-spacing: -.03em; }

.data-center-nav { padding: 0; gap: 2px; border-bottom-color: #e3e6ea; }
.data-center-nav button { padding: 10px 12px; color: #7b818b; font-size: 12px; border-bottom-width: 2px; }
.data-center-nav button.active { color: var(--accent); border-bottom-color: var(--accent); }

.research-inbox-head { margin-bottom: 18px; }
.research-inbox-head h3 { letter-spacing: -.02em; }
.research-inbox-head .button-row { gap: 7px; }

.research-source-panels { gap: 14px; margin: 16px 0 22px; }
.research-source-panel { position: relative; padding: 17px; border-color: var(--brand-binding); border-radius: 13px; background: var(--brand-paper-float); box-shadow: 0 1px 2px rgba(37,36,31,.025), 0 10px 28px rgba(37,36,31,.035); overflow: hidden; }
.research-source-panel.featured { border-color: var(--brand-binding); }
.research-source-panel.featured::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--accent); }
.research-source-panel-head { margin-bottom: 8px; }
.research-source-panel-head h3 { margin: 3px 0; font-size: 18px; letter-spacing: -.02em; }
.research-source-panel-head p { color: #8b919a; font-size: 11px; }
.research-source-panel .eyebrow { color: #9a7360; font-size: 9px; letter-spacing: .1em; }
.research-source-panel-buttons button { min-height: 31px; padding: 0 9px; border-radius: 7px; font-size: 11px; }
.research-source-health { margin: 9px 0 3px; padding: 9px 10px; border: 1px solid #cbd8c7; border-radius: 9px; background: rgba(127,146,125,.08); }
.research-source-health > div:first-child { display: flex; align-items: center; gap: 7px; }
.research-source-health i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--brand-moss); box-shadow: 0 0 0 3px rgba(127,146,125,.13); }
.research-source-health strong { color: #617160; font-size: 10px; }
.research-source-health > div:first-child span { margin-left: auto; color: var(--brand-pencil); font-size: 9px; }
.research-source-health.warning { border-color: #dfc78f; background: rgba(180,154,104,.09); }
.research-source-health.warning i { background: var(--brand-wheat); box-shadow: 0 0 0 3px rgba(180,154,104,.13); }
.research-source-health.warning strong { color: #806e45; }
.research-source-health.idle { border-style: dashed; border-color: var(--brand-binding); background: rgba(247,243,235,.4); }
.research-source-health.idle i { background: #b6aea2; box-shadow: none; }
.research-source-health.idle strong { color: var(--brand-pencil); }
.research-refresh-numbers { display: flex; gap: 13px; margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(127,146,125,.18); }
.research-refresh-numbers span { color: var(--brand-pencil); font-size: 9px; }
.research-refresh-numbers b { color: var(--brand-ink); font-weight: 700; }
.research-source-health details { margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(180,154,104,.22); }
.research-source-health summary { color: #826f43; font-size: 9px; cursor: pointer; }
.research-source-health ul { margin: 6px 0 0; padding-left: 17px; color: #866e60; font-size: 9px; line-height: 1.55; }
.research-source-scroll { max-height: 380px; padding-right: 4px; scrollbar-width: thin; scrollbar-color: #d7dbe0 transparent; }
.research-source-item { gap: 14px; padding: 13px 2px; border-top-color: #eceef1; }
.research-source-item:hover { margin: 0 -8px; padding-left: 10px; padding-right: 10px; border-radius: 8px; background: #f3ede3; }
.research-source-main strong { color: #292e35; font-size: 13px; font-weight: 650; }
.research-source-main:hover strong { color: #292e35; text-decoration: none; }
.research-source-item p { color: #8a9099; font-size: 10px; }
.research-source-actions { gap: 5px; }
.research-source-actions a, .research-source-actions button { padding: 2px 6px; border-color: #e2e5e8; border-radius: 6px; background: transparent; color: #6e747d; font-size: 10px; }
.research-source-actions a:hover, .research-source-actions button:hover { border-color: #d0b5a8; background: var(--accent-soft); color: #7d3b20; }

.tag { border-radius: 6px; font-size: 10px; font-weight: 700; }
.research-progress { top: 10px; padding: 12px 14px; border-color: var(--brand-binding); border-radius: 11px; background: rgba(255,253,248,.95); box-shadow: 0 8px 28px rgba(37,36,31,.08); }
.research-progress-head { color: #565d67; }
.research-progress-track { height: 5px; background: #e9ecef; }
.research-progress-track span { background: var(--accent); }
.research-progress small { color: #858b94; }

.intel-grade-tabs { border-bottom: 1px solid #e4e7ea; }
.intel-tab { border-radius: 7px 7px 0 0; font-size: 12px; }
.intel-tab.active { color: #7d3b20; background: var(--accent-soft); }

table { border-collapse: separate; border-spacing: 0; }
th { color: var(--brand-pencil); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: #f4efe6; }
th, td { border-bottom-color: #e9ebee; }
tbody tr:hover td { background: #f5efe5; }

.production-toolbar { margin-bottom: 12px; padding: 14px; }
.production-selectors select, .field input, .field select, .field textarea, .startup-direction-picker select { border-color: var(--brand-binding); border-radius: 8px; background: var(--brand-paper-float); }
.production-selectors select:hover, .field input:hover, .field select:hover, .field textarea:hover { border-color: #c8cdd3; }
.production-selectors select:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: #bc8a73; box-shadow: 0 0 0 3px rgba(184,92,50,.1); outline: 0; }

.workflow-panel { gap: 12px; }
.workflow-header h3 { font-size: 21px; letter-spacing: -.025em; }
.workflow-step { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
.step-index { width: 28px; height: 28px; margin-top: 5px; border-radius: 8px; background: #e8dbd4; color: #74371d; font-size: 11px; }
.step-body { padding: 18px; }
.step-title-row { margin-bottom: 16px; }
.step-title-row h3 { font-size: 17px; letter-spacing: -.015em; }
.current-ip-strip, .current-map-strip { border-color: var(--brand-binding); border-radius: 9px; background: #f1ebe0; }
.analysis-disclaimer { border-left-width: 2px; border-radius: 0 7px 7px 0; background: #fbf7ea; }

.modal { backdrop-filter: blur(5px); background: rgba(24, 28, 34, .36); }
.modal-card { border: 1px solid rgba(255,253,248,.72); border-radius: 16px; background: var(--brand-paper-float); box-shadow: 0 24px 80px rgba(37,36,31,.2); }
.modal-head { border-bottom-color: #e8eaed; }

.analysis-empty, .empty { border-color: var(--brand-binding); border-radius: 10px; background: #f1ebe0; color: var(--brand-pencil); }

@media (max-width: 980px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; overflow: visible; }
  .main { padding: 22px 18px 44px; }
  .nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-sub { grid-column: 1 / -1; }
  .side-block { display: none; }
}

@media (max-width: 640px) {
  .nav { grid-template-columns: 1fr; }
  .top-actions { width: 100%; flex-wrap: wrap; }
  .research-source-panel-head { align-items: stretch; flex-direction: column; }
  .research-source-panel-buttons { justify-content: flex-start; }
}

/* IP design — global content atlas */
.ip-design-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 190px; margin-bottom: 30px; padding: 32px 36px; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 19px; background: var(--brand-paper-float); box-shadow: 0 14px 42px rgba(37,36,31,.045); }
.ip-design-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(var(--brand-pencil) .55px, transparent .55px); background-size: 16px 16px; pointer-events: none; }
.ip-design-hero > div:first-child { position: relative; z-index: 1; max-width: 760px; }
.ip-design-hero h3 { margin: 5px 0 10px; font-size: clamp(30px, 4vw, 51px); font-weight: 610; line-height: 1.05; letter-spacing: -.055em; }
.ip-design-hero p:last-child { max-width: 650px; margin: 0; color: var(--brand-pencil); font-size: 13px; line-height: 1.7; }
.ip-design-stamp { position: relative; z-index: 1; display: grid; place-items: center; flex: 0 0 122px; height: 122px; border: 2px solid var(--brand-tide-600); border-radius: 50%; color: var(--brand-tide-700); transform: rotate(-5deg); }
.ip-design-stamp::before, .ip-design-stamp::after { content: ""; position: absolute; inset: 7px; border: 1px dashed rgba(184,95,74,.5); border-radius: 50%; }
.ip-design-stamp::after { inset: 15px; border-style: solid; opacity: .25; }
.ip-design-stamp span { font-family: serif; font-size: 28px; font-weight: 700; }
.ip-design-stamp small { margin-top: -26px; font-size: 7px; letter-spacing: .12em; }
.matrix-generator { display: grid; grid-template-columns: minmax(300px,.68fr) minmax(0,1.32fr); gap: 14px; }
.matrix-brief-form, .matrix-result, .matrix-empty { border: 1px solid var(--brand-binding); border-radius: 17px; background: var(--brand-paper-float); box-shadow: 0 10px 30px rgba(37,36,31,.04); }
.matrix-brief-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 12px; padding: 22px; }
.matrix-form-intro, .matrix-brief-form .wide, .matrix-form-actions { grid-column: 1 / -1; }
.matrix-form-intro { padding-bottom: 14px; border-bottom: 1px solid var(--brand-binding); }
.matrix-form-intro span, .matrix-result header span:first-child { color: var(--brand-tide-600); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.matrix-form-intro strong { display: block; margin: 7px 0 4px; font-size: 16px; }
.matrix-form-intro p { margin: 0; color: var(--brand-pencil); font-size: 9px; line-height: 1.6; }
.matrix-brief-form label { display: grid; gap: 6px; color: #60584f; font-size: 9px; font-weight: 650; }
.matrix-brief-form input, .matrix-brief-form select { width: 100%; min-height: 37px; padding: 0 10px; border: 1px solid var(--brand-binding); border-radius: 8px; background: #fffdf8; color: var(--brand-ink); font: inherit; font-weight: 500; }
.matrix-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; }
.matrix-form-actions small { color: var(--brand-pencil); font-size: 8px; }
.matrix-empty { display: grid; place-content: center; min-height: 360px; padding: 30px; text-align: center; }
.matrix-empty strong { font-size: 18px; }
.matrix-empty span { max-width: 300px; margin-top: 7px; color: var(--brand-pencil); font-size: 10px; line-height: 1.6; }
.matrix-result { min-width: 0; padding: 19px; }
.matrix-result > header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 2px 2px 14px; border-bottom: 1px solid var(--brand-binding); }
.matrix-result h4 { margin: 5px 0 3px; font-size: 20px; letter-spacing: -.03em; }
.matrix-result header p { margin: 0; color: var(--brand-pencil); font-size: 9px; }
.matrix-overlap-report { display: grid; grid-template-columns: minmax(190px,.55fr) minmax(0,1.45fr); gap: 12px; margin-bottom: 12px; padding: 12px; border: 1px solid #b7c5b1; border-radius: 10px; background: #f1f5ed; }
.matrix-overlap-report.has-high-risk { border-color: #dfb1a4; background: #f8ece7; }
.matrix-overlap-report > div:first-child span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.matrix-overlap-report > div:first-child strong { display: block; margin: 5px 0 3px; font-size: 11px; }
.matrix-overlap-report > div:first-child p { margin: 0; color: var(--brand-pencil); font-size: 8px; line-height: 1.55; }
.overlap-pairs { display: grid; gap: 5px; }
.overlap-pairs article { display: grid; grid-template-columns: minmax(0,1fr) 35px minmax(130px,.8fr); align-items: center; gap: 8px; padding: 7px 8px; border-radius: 7px; background: rgba(255,253,248,.75); }
.overlap-pairs span { overflow: hidden; color: #5c554d; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.overlap-pairs strong { color: #7f927b; font-size: 10px; text-align: right; }
.overlap-pairs em { color: var(--brand-pencil); font-size: 7px; font-style: normal; }
.overlap-pairs .level-high strong { color: var(--brand-tide-600); }
.overlap-pairs .level-medium strong { color: #a4834c; }
.positioning-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.positioning-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 15px; border: 1px solid var(--brand-binding); border-radius: 13px; background: #fbf8f1; }
.positioning-card.status-保留 { border-color: #aebfa9; box-shadow: inset 3px 0 #8da086; }
.positioning-card.status-淘汰 { opacity: .55; }
.positioning-card-index { position: absolute; top: 13px; right: 14px; color: #c7beb1; font-family: serif; font-size: 17px; }
.positioning-card-title span { color: var(--brand-tide-600); font-size: 8px; }
.positioning-card-title h5 { margin: 4px 32px 8px 0; font-size: 17px; }
.overlap-badge { display: inline-block; margin: -2px 0 8px; padding: 3px 5px; border-radius: 999px; background: #e8eee4; color: #74846e; font-size: 7px; font-style: normal; }
.overlap-badge.level-high { background: #f2ddd6; color: var(--brand-tide-700); }
.overlap-badge.level-medium { background: #eee4d1; color: #8f6f3d; }
.positioning-promise { min-height: 36px; margin: 0 0 8px; color: #4a443e; font-size: 10px; font-weight: 600; line-height: 1.55; }
.positioning-difference { margin: 0 0 12px; color: var(--brand-pencil); font-size: 9px; line-height: 1.55; }
.positioning-block { margin-top: 8px; }
.positioning-block strong, .positioning-questions strong { display: block; margin-bottom: 6px; color: #665e55; font-size: 8px; letter-spacing: .05em; }
.positioning-block > div { display: flex; flex-wrap: wrap; gap: 5px; }
.positioning-block span { padding: 4px 6px; border-radius: 999px; background: #eee7dc; color: #625b52; font-size: 8px; }
.positioning-questions { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--brand-binding); }
.positioning-questions ol { margin: 0; padding-left: 17px; color: #625b52; font-size: 8px; line-height: 1.7; }
.positioning-topics { margin-top: 10px; border: 1px solid var(--brand-binding); border-radius: 8px; background: rgba(247,243,235,.72); }
.positioning-topics summary { padding: 8px 10px; color: #665e55; font-size: 8px; font-weight: 700; cursor: pointer; }
.positioning-topics ol { max-height: 190px; margin: 0; padding: 0 12px 10px 28px; overflow: auto; color: var(--brand-pencil); font-size: 8px; line-height: 1.65; }
.positioning-topics li + li { margin-top: 4px; }
.positioning-card footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 13px; }
.positioning-card footer select { min-width: 72px; min-height: 31px; padding: 0 6px; border: 1px solid var(--brand-binding); border-radius: 7px; background: transparent; color: var(--brand-ink); font-size: 8px; }
.positioning-card footer button { min-height: 31px; padding: 0 8px; font-size: 8px; }
.positioning-card footer .primary-button { margin-left: auto; }
.matrix-generation-state { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.creator-dna-studio { display: grid; grid-template-columns: minmax(300px,.68fr) minmax(0,1.32fr); gap: 14px; }
.creator-dna-form, .creator-dna-library { border: 1px solid var(--brand-binding); border-radius: 17px; background: var(--brand-paper-float); box-shadow: 0 10px 30px rgba(37,36,31,.04); }
.creator-dna-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: start; gap: 12px; padding: 22px; }
.creator-dna-intro, .creator-dna-form .wide, .creator-dna-actions { grid-column: 1 / -1; }
.creator-dna-intro { padding-bottom: 14px; border-bottom: 1px solid var(--brand-binding); }
.creator-dna-intro span, .creator-dna-library > header span:first-child { color: var(--brand-tide-600); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.creator-dna-intro strong { display: block; margin: 7px 0 4px; font-size: 16px; }
.creator-dna-intro p, .creator-dna-actions small { margin: 0; color: var(--brand-pencil); font-size: 8px; line-height: 1.6; }
.creator-dna-form label { display: grid; gap: 6px; color: #60584f; font-size: 9px; font-weight: 650; }
.creator-dna-form input, .creator-dna-form select, .creator-dna-form textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--brand-binding); border-radius: 8px; background: #fffdf8; color: var(--brand-ink); font: inherit; font-weight: 500; line-height: 1.55; resize: vertical; }
.creator-dna-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.creator-dna-library { min-width: 0; padding: 19px; }
.creator-dna-library > header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; padding: 2px 2px 14px; border-bottom: 1px solid var(--brand-binding); }
.creator-dna-library h4 { margin: 5px 0 0; font-size: 20px; }
.creator-dna-empty { display: grid; place-content: center; min-height: 390px; text-align: center; }
.creator-dna-empty span { max-width: 330px; margin-top: 7px; color: var(--brand-pencil); font-size: 10px; }
.creator-profile-card { margin-top: 10px; padding: 16px; border: 1px solid var(--brand-binding); border-radius: 13px; background: #fbf8f1; }
.creator-profile-card > header, .creator-profile-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.creator-profile-card > header span { color: var(--brand-tide-600); font-size: 8px; }
.creator-profile-card h5 { margin: 4px 0 0; font-size: 18px; }
.creator-profile-card select { min-height: 31px; padding: 0 7px; border: 1px solid var(--brand-binding); border-radius: 7px; background: transparent; font-size: 8px; }
.creator-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.creator-profile-grid section { min-width: 0; padding: 11px; border-radius: 9px; background: #f1ebe1; }
.creator-profile-grid strong { font-size: 9px; }
.creator-profile-grid ul, .creator-method-split ul { margin: 7px 0 0; padding-left: 16px; color: #625b52; font-size: 8px; line-height: 1.7; }
.creator-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.creator-tags span { padding: 4px 6px; border-radius: 999px; background: #fffdf8; color: #625b52; font-size: 8px; }
.creator-method-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.creator-method-split section { padding: 11px; border: 1px solid #b9c9b2; border-radius: 9px; background: #f1f5ed; }
.creator-method-split section:last-child { border-color: #dfb5a8; background: #f8eeea; }
.creator-method-split span { font-size: 9px; font-weight: 700; }
.creator-profile-notes { margin-top: 8px; padding: 10px 11px; border-left: 3px solid var(--brand-pencil); background: #eee8dd; }
.creator-profile-notes p { margin: 3px 0; color: #625b52; font-size: 8px; line-height: 1.6; }
.creator-profile-notes strong { margin-right: 7px; color: var(--brand-ink); }
.creator-profile-card > footer { margin-top: 10px; color: var(--brand-pencil); font-size: 8px; }
.creator-blend-studio { margin-top: 15px; padding: 21px; border: 1px solid var(--brand-binding); border-radius: 17px; background: #efe9dd; }
.creator-blend-studio > header, .creator-blend-card > header, .creator-blend-card > footer { display: flex; justify-content: space-between; gap: 16px; }
.creator-blend-studio > header { align-items: flex-end; padding-bottom: 14px; border-bottom: 1px solid var(--brand-binding); }
.creator-blend-studio > header span:first-child { color: var(--brand-tide-600); font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.creator-blend-studio h4 { margin: 5px 0 3px; font-size: 20px; }
.creator-blend-studio > header p, .creator-blend-card header p { margin: 0; color: var(--brand-pencil); font-size: 8px; }
.creator-blend-layout { display: grid; grid-template-columns: minmax(270px,.6fr) minmax(0,1.4fr); gap: 12px; margin-top: 14px; }
.creator-blend-form, .creator-blend-card { padding: 15px; border: 1px solid var(--brand-binding); border-radius: 12px; background: #fbf8f1; }
.creator-blend-form { display: grid; align-content: start; gap: 11px; }
.creator-blend-form > label { display: grid; gap: 5px; font-size: 8px; font-weight: 700; }
.creator-blend-form input, .creator-blend-form textarea, .creator-blend-card select { padding: 8px 9px; border: 1px solid var(--brand-binding); border-radius: 7px; background: #fffdf8; font: inherit; }
.creator-blend-form fieldset { display: grid; gap: 6px; margin: 0; padding: 10px; border: 1px dashed var(--brand-binding); border-radius: 9px; }
.creator-blend-form legend { padding: 0 5px; color: #60584f; font-size: 8px; font-weight: 700; }
.blend-source { display: grid; grid-template-columns: auto minmax(0,1fr) 50px; align-items: center; gap: 7px; padding: 7px; border-radius: 7px; background: #f1ebe1; }
.blend-source span { display: grid; font-size: 8px; }.blend-source em { color: var(--brand-pencil); font-size: 7px; font-style: normal; }.blend-source input[type="number"] { width: 50px; }
.blend-source-empty { color: var(--brand-pencil); font-size: 8px; line-height: 1.5; }
.creator-blend-card + .creator-blend-card { margin-top: 9px; }
.creator-blend-card h5 { margin: 4px 0; font-size: 17px; }.creator-blend-card header span { color: var(--brand-tide-600); font-size: 7px; }
.creator-blend-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 11px; }
.creator-blend-grid section { padding: 10px; border-radius: 8px; background: #f1ebe1; }.creator-blend-grid strong { font-size: 8px; }.creator-blend-grid ol { margin: 6px 0 0; padding-left: 15px; color: #625b52; font-size: 8px; line-height: 1.6; }
.creator-blend-card aside { margin-top: 8px; padding: 11px; border: 1px solid #d9a99a; border-radius: 8px; background: #f8eeea; }.creator-blend-card aside strong { font-size: 9px; }.creator-blend-card aside p, .creator-blend-card aside ul { color: #625b52; font-size: 8px; line-height: 1.6; }.creator-blend-card aside ul { margin-bottom: 0; padding-left: 16px; }
.creator-blend-card > footer { align-items: center; margin-top: 9px; color: var(--brand-pencil); font-size: 7px; }
.creator-blend-bindings { margin-top: 12px; padding: 14px; border: 1px solid var(--brand-binding); border-radius: 11px; background: #fbf8f1; }
.creator-blend-bindings > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }.creator-blend-bindings > header span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }.creator-blend-bindings > header strong { display: block; margin-top: 4px; font-size: 13px; }.creator-blend-bindings > header p { margin: 0; color: var(--brand-pencil); font-size: 8px; }
.creator-blend-bindings > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }.creator-blend-bindings label { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border-radius: 8px; background: #f1ebe1; }.creator-blend-bindings label > span { display: grid; min-width: 0; }.creator-blend-bindings label strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.creator-blend-bindings label em { color: var(--brand-pencil); font-size: 7px; font-style: normal; }.creator-blend-bindings select { max-width: 190px; min-height: 31px; padding: 0 7px; border: 1px solid var(--brand-binding); border-radius: 7px; background: #fffdf8; font-size: 8px; }
.method-version-history { margin-top: 12px; padding: 14px; border: 1px solid var(--brand-binding); border-radius: 11px; background: #fbf8f1; }.method-version-history > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }.method-version-history > header span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }.method-version-history > header strong { display: block; margin-top: 4px; font-size: 13px; }.method-version-history > header p { margin: 0; color: var(--brand-pencil); font-size: 8px; }.method-version-ip-list { display: grid; gap: 8px; }.method-version-ip-list > article { padding: 11px; border-radius: 9px; background: #f1ebe1; }.method-version-ip-list > article > header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; }.method-version-ip-list > article > header strong { font-size: 11px; }.method-version-ip-list > article > header span { color: var(--brand-pencil); font-size: 8px; }.method-version-timeline { display: grid; gap: 6px; }.method-version-timeline > section { display: grid; grid-template-columns: 9px minmax(180px,.7fr) minmax(300px,1.3fr); align-items: center; gap: 9px; padding: 9px; border: 1px solid transparent; border-radius: 8px; background: #fffdf8; }.method-version-timeline > section.is-current { border-color: #aebda8; }.method-version-timeline > section > i { width: 8px; height: 8px; border: 2px solid #fffdf8; border-radius: 50%; background: var(--brand-pencil); box-shadow: 0 0 0 1px var(--brand-binding); }.method-version-timeline > section.is-current > i { background: #71816c; }.method-version-copy { display: grid; gap: 2px; }.method-version-copy span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; }.method-version-copy strong { font-size: 10px; }.method-version-copy em, .method-version-copy small { color: var(--brand-pencil); font-size: 7px; font-style: normal; }.method-version-performance { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 7px; }.method-version-performance > div { display: grid; gap: 2px; padding: 7px; border-radius: 7px; background: #f5f0e7; }.method-version-performance span, .method-version-performance em { color: var(--brand-pencil); font-size: 7px; font-style: normal; }.method-version-performance strong { font-size: 8px; }.method-version-performance b { color: var(--brand-tide-600); font-size: 11px; }.method-rollback-button { width: max-content; margin-top: 5px; padding: 5px 7px; font-size: 7px; }.rollback-unavailable { margin-top: 4px; color: var(--brand-tide-600) !important; }
.editorial-role-studio { padding: 21px; border: 1px solid var(--brand-binding); border-radius: 17px; background: var(--brand-ink); color: #fffdf8; box-shadow: 0 14px 38px rgba(37,36,31,.09); }
.editorial-role-studio > header, .editorial-role-studio > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.editorial-role-studio > header { padding: 2px 3px 18px; border-bottom: 1px solid rgba(255,255,255,.11); }
.editorial-role-studio > header span:first-child { color: #d79a82; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.editorial-role-studio h4 { margin: 6px 0 4px; font-size: 21px; }
.editorial-role-studio > header p { margin: 0; color: rgba(255,255,255,.48); font-size: 9px; }
.editorial-role-summary { display: grid; min-width: 82px; text-align: right; }
.editorial-role-summary strong { font-size: 25px; }
.editorial-role-summary span { color: rgba(255,255,255,.46); font-size: 8px; }
.editorial-usage-monitor { margin-top: 14px; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.035); }
.editorial-usage-monitor > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.editorial-usage-monitor > header div { display: grid; gap: 4px; }
.editorial-usage-monitor > header span { color: #d79a82; font-size: 7px; font-weight: 700; letter-spacing: .12em; }
.editorial-usage-monitor > header strong { font-size: 12px; }
.editorial-usage-monitor > header em { color: rgba(255,255,255,.34); font-size: 7px; font-style: normal; }
.editorial-usage-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.09); }
.editorial-usage-kpis article { display: grid; gap: 4px; padding: 11px; background: #312e29; }
.editorial-usage-kpis span { color: rgba(255,255,255,.42); font-size: 7px; }
.editorial-usage-kpis strong { font-size: 18px; }
.editorial-usage-kpis em { color: rgba(255,255,255,.35); font-size: 7px; font-style: normal; }
.editorial-usage-log { margin-top: 8px; overflow: hidden; border-radius: 7px; background: rgba(255,255,255,.07); }
.editorial-usage-log > div { display: grid; grid-template-columns: 7px 110px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 7px 9px; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 7px; }
.editorial-usage-log > div:last-child { border-bottom: 0; }
.editorial-usage-log i { width: 6px; height: 6px; border-radius: 50%; background: #7f927b; }
.editorial-usage-log .status-failed i { background: var(--brand-tide-600); }
.editorial-usage-log .status-fallback i { background: #b89a64; }
.editorial-usage-log span { color: rgba(255,255,255,.72); font-weight: 650; }
.editorial-usage-log em { overflow: hidden; color: rgba(255,255,255,.4); font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.editorial-usage-log b { color: rgba(255,255,255,.55); font-weight: 500; }
.editorial-usage-empty { padding: 12px 0 0; color: rgba(255,255,255,.32); font-size: 7px; text-align: center; }
.editorial-budget-alert { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 9px; padding: 9px 11px; border-radius: 7px; background: rgba(180,154,104,.16); color: #eadbb9; font-size: 8px; }
.editorial-budget-alert.status-warning { box-shadow: inset 3px 0 #b89a64; }
.editorial-budget-alert.status-exceeded { background: rgba(184,95,74,.18); box-shadow: inset 3px 0 #c76b53; color: #ffd6ca; }
.editorial-budget-alert span { color: rgba(255,255,255,.5); }
.editorial-pricing { margin-top: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 7px; }
.editorial-pricing summary { padding: 9px 11px; color: rgba(255,255,255,.55); font-size: 8px; cursor: pointer; }
.editorial-pricing form { display: grid; grid-template-columns: 180px 140px minmax(0,1fr) auto; align-items: end; gap: 9px; padding: 0 11px 11px; }
.editorial-pricing label { display: grid; gap: 5px; color: rgba(255,255,255,.4); font-size: 7px; }
.editorial-pricing input, .editorial-pricing select { min-height: 31px; padding: 0 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; background: #302d29; color: #fff; font-size: 8px; }
.pricing-table { display: grid; gap: 4px; }
.pricing-head, .model-price-row { display: grid; grid-template-columns: minmax(120px,1.5fr) minmax(100px,1fr) minmax(100px,1fr); gap: 5px; }
.pricing-head span { color: rgba(255,255,255,.32); font-size: 7px; }
.editorial-pricing button { min-height: 31px; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); color: #fff; font-size: 8px; }
.editorial-role-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin: 14px 0; }
.editorial-role-card { display: flex; flex-direction: column; min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.055); transition: opacity .18s ease, border-color .18s ease; }
.editorial-role-card.is-disabled { opacity: .45; }
.editorial-role-card.is-enabled { border-color: rgba(215,154,130,.38); }
.editorial-role-card > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.editorial-role-code { color: #d79a82; font-size: 7px; font-weight: 750; letter-spacing: .12em; }
.role-switch { display: inline-flex; align-items: center; gap: 4px; color: rgba(255,255,255,.55); font-size: 7px; }
.role-switch input { accent-color: #c56f56; }
.editorial-role-card h5 { margin: 12px 0 5px; font-size: 16px; }
.editorial-role-mission { min-height: 44px; margin: 0; color: rgba(255,255,255,.63); font-size: 8px; line-height: 1.65; }
.editorial-role-meta { display: flex; flex-wrap: wrap; gap: 4px; margin: 11px 0; }
.editorial-role-meta span { padding: 4px 5px; border-radius: 999px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.65); font-size: 7px; }
.editorial-role-meta .permission-建议 { background: rgba(124,143,160,.28); color: #dce8f0; }
.editorial-role-meta .permission-检查 { background: rgba(180,154,104,.25); color: #eee1bd; }
.editorial-role-meta .permission-阻断 { background: rgba(184,95,74,.32); color: #ffd9ce; }
.editorial-role-rules, .editorial-role-workflows { padding-top: 10px; border-top: 1px solid rgba(255,255,255,.09); }
.editorial-role-rules strong, .editorial-role-workflows strong, .editorial-role-boundary strong { color: rgba(255,255,255,.45); font-size: 7px; letter-spacing: .06em; }
.editorial-role-rules ul { margin: 6px 0 10px; padding-left: 14px; color: rgba(255,255,255,.68); font-size: 7px; line-height: 1.75; }
.editorial-role-workflows > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.editorial-role-workflows label { position: relative; }
.editorial-role-workflows input { position: absolute; opacity: 0; pointer-events: none; }
.editorial-role-workflows span { display: block; padding: 4px 5px; border: 1px solid rgba(255,255,255,.1); border-radius: 5px; color: rgba(255,255,255,.35); font-size: 7px; cursor: pointer; }
.editorial-role-workflows input:checked + span { border-color: rgba(215,154,130,.55); background: rgba(197,111,86,.22); color: #ffe6dc; }
.editorial-role-boundary { margin-top: auto; padding-top: 11px; }
.editorial-role-boundary span { display: block; margin-top: 5px; color: rgba(255,255,255,.38); font-size: 7px; line-height: 1.55; }
.editorial-role-studio > footer { padding: 13px 3px 0; border-top: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.42); font-size: 8px; }
.editorial-role-studio > footer strong { color: #e8c1b1; font-weight: 600; }
.editorial-ip-preset { display: grid; grid-template-columns: 220px minmax(0,1fr); align-items: center; gap: 14px 20px; margin: 15px 0; padding: 15px; border: 1px solid rgba(255,255,255,.11); border-radius: 11px; background: rgba(255,255,255,.045); }
.editorial-ip-preset > div:first-child { display: grid; gap: 5px; }
.editorial-ip-preset > div:first-child span { color: #d79a82; font-size: 7px; letter-spacing: .12em; }
.editorial-ip-preset > div:first-child strong { font-size: 13px; }
.editorial-ip-preset select { min-height: 31px; padding: 0 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; background: #36322d; color: #fff; font-size: 8px; }
.editorial-preset-checks { display: flex; flex-wrap: wrap; gap: 6px; }
.editorial-preset-checks label { position: relative; }
.editorial-preset-checks input { position: absolute; opacity: 0; }
.editorial-preset-checks span { display: block; padding: 7px 9px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.4); font-size: 8px; cursor: pointer; }
.editorial-preset-checks input:checked + span { border-color: rgba(215,154,130,.55); background: rgba(197,111,86,.22); color: #ffe5da; }
.editorial-ip-preset p { grid-column: 2; margin: -8px 0 0; color: rgba(255,255,255,.35); font-size: 7px; }
.editorial-committee { margin: 10px 0 14px; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 12px; background: #f2ece2; }
.editorial-committee > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 13px; border-bottom: 1px solid var(--brand-binding); }
.editorial-committee > header div { display: grid; gap: 3px; }
.editorial-committee > header span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.editorial-committee > header strong { font-size: 11px; }
.editorial-committee > header em { color: var(--brand-pencil); font-size: 8px; font-style: normal; }
.committee-run-actions { display: flex; align-items: center; gap: 8px; }
.committee-run-actions button { min-height: 29px; padding: 0 8px; border-color: #d5a997; background: #f8e9e3; color: var(--brand-tide-700); font-size: 8px; }
.editorial-committee > div { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 1px; background: var(--brand-binding); }
.committee-opinion { min-width: 0; padding: 11px 12px; background: #fbf8f1; }
.committee-role { display: flex; align-items: center; gap: 5px; margin-bottom: 8px; }
.committee-role i { width: 6px; height: 6px; border-radius: 50%; background: #aaa095; }
.committee-role span { font-size: 8px; font-weight: 700; }
.committee-role em { margin-left: auto; color: var(--brand-pencil); font-size: 7px; font-style: normal; }
.committee-opinion > strong { display: block; color: var(--brand-ink); font-size: 10px; line-height: 1.4; }
.committee-opinion p { margin: 5px 0 0; color: var(--brand-pencil); font-size: 8px; line-height: 1.55; }
.committee-opinion ul { margin: 7px 0 0; padding-left: 15px; color: #675f56; font-size: 7px; line-height: 1.65; }
.committee-opinion.status-pass .committee-role i { background: #7f927b; }
.committee-opinion.status-warn .committee-role i { background: #b89a64; }
.committee-opinion.status-block .committee-role i { background: var(--brand-tide-600); box-shadow: 0 0 0 3px rgba(184,95,74,.12); }
.editorial-committee > footer { padding: 8px 13px; color: var(--brand-pencil); font-size: 7px; }
.committee-arbitration { display: grid; grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr); gap: 10px 18px; padding: 11px 13px; border-top: 1px solid var(--brand-binding); background: #ede7dc; }
.committee-arbitration > div { display: grid; gap: 4px; }
.committee-arbitration span { color: var(--brand-tide-600); font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.committee-arbitration strong { font-size: 10px; }
.committee-arbitration p { margin: 0; color: var(--brand-pencil); font-size: 8px; line-height: 1.55; }
.committee-arbitration ul { grid-column: 1 / -1; margin: 0; padding-left: 16px; color: #625b52; font-size: 8px; line-height: 1.6; }
.committee-arbitration.status-block { box-shadow: inset 3px 0 var(--brand-tide-600); background: #f5e8e3; }
.committee-arbitration.status-warn { box-shadow: inset 3px 0 #b89a64; }
.committee-arbitration.status-pass { box-shadow: inset 3px 0 #7f927b; }
.ip-design-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 27px 0 11px; scroll-margin-top: 18px; }
.ip-design-section-head h3 { margin: 2px 0 0; font-size: 21px; letter-spacing: -.03em; }
.ip-design-section-head > p { max-width: 460px; margin: 0 0 2px; color: var(--brand-pencil); font-size: 10px; text-align: right; }
.ip-editorial-illustration { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 18px; background: var(--brand-paper-float); box-shadow: 0 12px 36px rgba(37,36,31,.045); }
.ip-editorial-illustration img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; mix-blend-mode: multiply; }
.ip-editorial-illustration::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 70px rgba(101,83,60,.08); pointer-events: none; }
.ip-editorial-illustration figcaption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 12px 15px; border: 1px solid rgba(222,214,200,.78); border-radius: 10px; background: rgba(255,253,248,.88); box-shadow: 0 6px 20px rgba(37,36,31,.06); backdrop-filter: blur(8px); }
.ip-editorial-illustration figcaption strong { color: var(--brand-ink); font-family: serif; font-size: 14px; font-weight: 650; }
.ip-editorial-illustration figcaption span { color: var(--brand-pencil); font-size: 9px; text-align: right; }
.tree-illustration img { object-position: center 48%; }

.global-content-atlas { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.55fr); gap: 13px; }
.world-map-panel, .language-market-card { border: 1px solid var(--brand-binding); border-radius: 17px; background: var(--brand-paper-float); box-shadow: 0 1px 2px rgba(37,36,31,.025); }
.world-map-panel { min-width: 0; padding: 18px 20px 14px; overflow: hidden; }
.world-map-caption { display: flex; align-items: center; justify-content: space-between; color: var(--brand-pencil); font-size: 9px; letter-spacing: .1em; }
.world-map-caption strong { color: var(--brand-ink); font-size: 10px; letter-spacing: 0; }
.content-world-map { display: block; width: 100%; height: auto; margin: 5px 0 -3px; }
.world-grid path { fill: none; stroke: #e8e0d4; stroke-width: .7; stroke-dasharray: 3 7; }
.world-land path { fill: #e6dfd3; stroke: #bdb5a8; stroke-width: 1.2; }
.world-routes path { fill: none; stroke: rgba(124,143,160,.42); stroke-width: 1.1; stroke-dasharray: 5 7; }
.map-language-node circle:first-child { fill: rgba(255,253,248,.88); stroke: var(--brand-pencil); stroke-width: 1.2; }
.map-language-node circle:nth-child(2) { fill: var(--brand-pencil); stroke: none; }
.map-language-node text { fill: var(--brand-ink); font-size: 14px; font-weight: 650; text-anchor: middle; }
.map-language-node.active circle:first-child { fill: rgba(184,95,74,.12); stroke: var(--brand-tide-600); stroke-width: 2; }
.map-language-node.active circle:nth-child(2) { fill: var(--brand-tide-600); }
.language-map-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.language-map-tabs button { display: inline-flex; align-items: center; gap: 6px; min-height: 29px; padding: 0 9px; border: 1px solid var(--brand-binding); border-radius: 999px; background: transparent; color: var(--brand-pencil); font-size: 9px; }
.language-map-tabs i { width: 6px; height: 6px; border-radius: 50%; background: var(--brand-pencil); }
.language-map-tabs button.active { border-color: #d4a996; background: var(--brand-tide-50); color: var(--brand-tide-700); }
.language-map-tabs button.active i { background: var(--brand-tide-600); }
.language-market-card { position: relative; display: flex; flex-direction: column; padding: 22px; overflow: hidden; background: var(--brand-ink); color: #fff; }
.language-market-card::after { content: attr(class); position: absolute; right: -20px; bottom: -26px; color: rgba(255,255,255,.035); font-size: 100px; font-weight: 800; text-transform: uppercase; pointer-events: none; }
.language-sequence { color: rgba(255,255,255,.42); font-size: 8px; letter-spacing: .12em; }
.language-market-card h3 { margin: 9px 0 22px; font-size: 31px; font-weight: 560; letter-spacing: -.04em; }
.language-market-card dl { position: relative; z-index: 1; display: grid; gap: 0; margin: 0 0 24px; }
.language-market-card dl div { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.09); }
.language-market-card dt { color: rgba(255,255,255,.4); font-size: 8px; }
.language-market-card dd { margin: 4px 0 0; color: rgba(255,255,255,.82); font-size: 10px; line-height: 1.5; }
.language-market-card .primary-button { position: relative; z-index: 1; margin-top: auto; border-color: #fffdf8; background: #fffdf8; color: var(--brand-ink); }

.content-tree-panel { position: relative; min-height: 460px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 32px 24px 20px; overflow: hidden; border: 1px solid var(--brand-binding); border-radius: 17px; background: #f2ede3; box-shadow: inset 0 -80px 90px rgba(180,154,104,.08); }
.content-tree-panel::before { content: ""; position: absolute; inset: 20px; border: 1px dashed rgba(138,131,120,.22); border-radius: 12px; }
.tree-crown { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 12px; width: min(100%,1050px); margin-bottom: -14px; }
.tree-branch { position: relative; min-height: 180px; display: flex; align-content: center; justify-content: center; flex-wrap: wrap; gap: 7px; padding: 25px 16px; border-radius: 48% 52% 46% 54% / 56% 44% 56% 44%; background: rgba(127,146,125,.2); text-align: center; }
.tree-branch::after { content: ""; position: absolute; left: 50%; top: 83%; width: 2px; height: 60px; background: #4b433b; transform: rotate(var(--branch-angle,0deg)); transform-origin: top; }
.tree-branch.en { --branch-angle:-12deg; background: rgba(124,143,160,.23); }
.tree-branch.vi { --branch-angle:12deg; background: rgba(127,146,125,.25); }
.tree-branch.pt { --branch-angle:20deg; background: rgba(180,154,104,.25); }
.tree-branch.zh { --branch-angle:-20deg; background: rgba(184,95,74,.16); }
.tree-branch strong { flex-basis: 100%; align-self: flex-end; color: var(--brand-ink); font-size: 16px; }
.tree-branch span { align-self: flex-start; padding: 4px 7px; border: 1px solid rgba(37,36,31,.12); border-radius: 999px; background: rgba(255,253,248,.64); color: #686158; font-size: 8px; }
.tree-trunk { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 9px; width: 360px; height: 132px; clip-path: polygon(38% 0,62% 0,75% 100%,25% 100%); background: #39352f; color: #fff; }
.tree-trunk strong { font-family: serif; font-size: 19px; }
.tree-trunk span { color: rgba(255,255,255,.52); font-size: 8px; }
.tree-roots { position: relative; z-index: 1; display: flex; justify-content: center; gap: 36px; width: min(100%,720px); padding: 15px 30px 10px; border-top: 3px solid #39352f; }
.tree-roots::before, .tree-roots::after { content: ""; position: absolute; top: -3px; width: 33%; border-top: 2px solid #39352f; transform-origin: center; }
.tree-roots::before { left: 3%; transform: rotate(-8deg); }
.tree-roots::after { right: 3%; transform: rotate(8deg); }
.tree-roots span { color: #736b61; font-size: 9px; }
.content-tree-panel > p { position: relative; z-index: 2; margin: 7px 0 0; color: var(--brand-pencil); font-size: 9px; }
.ip-design-maps { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ip-design-maps .startup-map-card { border-radius: 15px; background: var(--brand-paper-float); }

.production-strategy-card { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 15px 17px; border: 1px solid var(--brand-binding); border-radius: 14px; background: #f1ebe0; }
.production-strategy-card > div:first-child { display: grid; gap: 4px; }
.production-strategy-card .eyebrow { color: var(--brand-tide-600); font-size: 8px; }
.production-strategy-card > div strong { font-size: 15px; }
.production-strategy-card dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 0; overflow: hidden; border-radius: 8px; background: var(--brand-binding); }
.production-strategy-card dl div { min-width: 0; padding: 8px 10px; background: rgba(255,253,248,.82); }
.production-strategy-card dt { color: var(--brand-pencil); font-size: 8px; }
.production-strategy-card dd { overflow: hidden; margin: 4px 0 0; color: var(--brand-ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 1050px) {
  .matrix-generator { grid-template-columns: 1fr; }
  .creator-dna-studio { grid-template-columns: 1fr; }
  .editorial-role-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .global-content-atlas { grid-template-columns: 1fr; }
  .tree-crown { grid-template-columns: repeat(2,minmax(180px,1fr)); }
  .production-strategy-card { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .ip-design-hero { min-height: 0; padding: 25px 21px; }
  .ip-design-stamp { display: none; }
  .ip-design-section-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ip-design-section-head > p { text-align: left; }
  .world-map-panel { padding: 14px 10px; }
  .tree-crown { grid-template-columns: 1fr 1fr; }
  .tree-branch { min-height: 150px; }
  .tree-trunk { width: 260px; }
  .tree-roots { gap: 10px; padding-left: 5px; padding-right: 5px; }
  .ip-design-maps { grid-template-columns: 1fr; }
  .matrix-brief-form, .positioning-card-grid { grid-template-columns: 1fr; }
  .matrix-overlap-report { grid-template-columns: 1fr; }
  .overlap-pairs article { grid-template-columns: 1fr auto; }
  .overlap-pairs em { grid-column: 1 / -1; }
  .matrix-brief-form label { grid-column: 1 / -1; }
  .creator-dna-form, .creator-profile-grid, .creator-method-split, .creator-blend-layout, .creator-blend-grid, .creator-blend-bindings > div { grid-template-columns: 1fr; }
  .method-version-history > header { align-items: flex-start; flex-direction: column; }
  .method-version-timeline > section { grid-template-columns: 9px 1fr; }
  .method-version-performance { grid-column: 2; }
  .rollback-diff-grid { grid-template-columns: 1fr; }
  .creator-dna-form label { grid-column: 1 / -1; }
  .editorial-role-grid { grid-template-columns: 1fr; }
  .editorial-usage-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-usage-monitor > header { align-items: flex-start; flex-direction: column; }
  .editorial-usage-log > div { grid-template-columns: 7px 90px minmax(0,1fr); }
  .editorial-usage-log b { display: none; }
  .editorial-pricing form { grid-template-columns: 1fr; }
  .pricing-head, .model-price-row { grid-template-columns: 1fr; }
  .pricing-head { display: none; }
  .editorial-role-studio > header, .editorial-role-studio > footer { align-items: flex-start; flex-direction: column; }
  .editorial-ip-preset { grid-template-columns: 1fr; }
  .editorial-ip-preset p { grid-column: 1; margin-top: 0; }
  .editorial-committee > header, .committee-run-actions { align-items: flex-start; flex-direction: column; }
  .committee-arbitration { grid-template-columns: 1fr; }
  .ip-editorial-illustration img { aspect-ratio: 4 / 3; }
  .ip-editorial-illustration figcaption { position: relative; left: auto; right: auto; bottom: auto; align-items: flex-start; flex-direction: column; gap: 4px; margin: -1px; border-radius: 0; }
  .ip-editorial-illustration figcaption span { text-align: left; }
  .production-strategy-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Content production — editorial studio */
.production-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr);
  align-items: stretch;
  gap: 14px;
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid var(--brand-binding);
  border-radius: 18px;
  background: var(--brand-ink);
  color: #fffdf8;
  box-shadow: 0 14px 40px rgba(37,36,31,.08);
}
.production-hero-copy { padding: 28px 30px 24px; }
.production-hero .eyebrow { margin: 0 0 7px; color: #dba38e; font-size: 9px; letter-spacing: .14em; }
.production-hero h3 { max-width: 680px; margin: 0; font-size: clamp(27px, 3vw, 42px); font-weight: 620; line-height: 1.08; letter-spacing: -.045em; }
.production-hero-copy > p:not(.eyebrow) { max-width: 620px; margin: 11px 0 0; color: rgba(255,253,248,.58); font-size: 12px; line-height: 1.7; }
.production-hero-metrics { display: flex; flex-wrap: wrap; gap: 7px 22px; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(255,253,248,.11); }
.production-hero-metrics span { display: flex; align-items: baseline; gap: 6px; color: rgba(255,253,248,.48); font-size: 10px; }
.production-hero-metrics b { color: #fffdf8; font-size: 19px; font-weight: 560; font-variant-numeric: tabular-nums; }
.production-sketch { position: relative; display: grid; place-content: center; min-height: 205px; padding: 18px 24px; background: var(--brand-tide-600); }
.production-sketch::before { content: ""; position: absolute; inset: 13px; border: 1px dashed rgba(255,253,248,.2); border-radius: 12px; }
.production-sketch svg { position: relative; width: min(100%, 260px); overflow: visible; fill: none; stroke: rgba(255,253,248,.72); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.production-sketch .sketch-paper { fill: rgba(255,253,248,.08); }
.production-sketch .sketch-signal { fill: var(--brand-wheat); stroke: #fff7e6; }
.production-sketch .sketch-accent { stroke: #e5cdbf; stroke-width: 2.2; }
.production-sketch > span { position: relative; margin-top: -8px; color: rgba(255,253,248,.62); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; letter-spacing: .08em; text-align: center; }

.production-toolbar { position: relative; padding: 14px 16px; border-radius: 14px; }
.production-toolbar::before { content: "当前工作台"; position: absolute; top: -7px; left: 16px; padding: 0 6px; background: var(--brand-paper-float); color: var(--brand-pencil); font-size: 9px; letter-spacing: .08em; }
.production-selectors span { color: var(--brand-pencil); font-size: 10px; letter-spacing: .04em; }
.production-selectors select { min-height: 40px; }

.production-stage-rail { position: sticky; top: 10px; z-index: 8; display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 14px; padding: 10px 13px; border: 1px solid var(--brand-binding); border-radius: 14px; background: rgba(255,253,248,.94); box-shadow: 0 8px 28px rgba(37,36,31,.07); backdrop-filter: blur(9px); }
.production-stage-summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-right: 13px; border-right: 1px solid var(--brand-binding); }
.production-stage-summary span { color: var(--brand-pencil); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.production-stage-summary strong { color: var(--brand-ink); font-size: 12px; font-weight: 650; }
.production-stage-list { position: relative; display: grid; grid-template-columns: repeat(6, minmax(70px, 1fr)); }
.production-stage-list::before { content: ""; position: absolute; top: 13px; left: 8.5%; right: 8.5%; height: 1px; background: var(--brand-binding); }
.production-stage { position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--brand-pencil); }
.production-stage i { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid var(--brand-binding); border-radius: 50%; background: var(--brand-paper-float); color: var(--brand-pencil); font-size: 9px; font-style: normal; font-weight: 700; transition: .2s ease; }
.production-stage span { font-size: 9px; font-weight: 650; }
.production-stage:hover i { border-color: var(--brand-tide-600); color: var(--brand-tide-700); transform: translateY(-1px); }
.production-stage.done i { border-color: var(--brand-moss); background: var(--brand-moss); color: #fff; }
.production-stage.done span { color: #617360; }

.production-map-row { position: relative; padding: 17px; border: 1px solid var(--brand-binding); border-radius: 15px; background: rgba(255,253,248,.64); }
.production-map-row > .section-head { padding-bottom: 10px; border-bottom: 1px solid var(--brand-binding); }
.production-map-row > .section-head h3 { font-size: 15px; letter-spacing: -.01em; }
.workflow-header { position: relative; overflow: hidden; padding: 21px 22px; border-radius: 15px; }
.workflow-header::after { content: "制作中"; position: absolute; right: -22px; bottom: -19px; color: rgba(184,95,74,.06); font-size: 58px; font-weight: 800; letter-spacing: -.08em; pointer-events: none; }
.workflow-header h3 { position: relative; z-index: 1; font-size: 23px; }
.workflow-header .card-actions { position: relative; z-index: 1; }

.workflow-step { position: relative; scroll-margin-top: 86px; }
.workflow-step::before { content: ""; position: absolute; top: 38px; bottom: -16px; left: 14px; width: 1px; background: var(--brand-binding); }
.workflow-step:last-child::before { display: none; }
.workflow-step .step-index { position: relative; z-index: 2; width: 30px; height: 30px; margin-top: 9px; border: 1px solid #d7b8a9; border-radius: 9px; background: var(--brand-tide-50); color: var(--brand-tide-700); box-shadow: 0 0 0 5px var(--brand-paper); }
.workflow-step .step-body { overflow: hidden; padding: 22px; border-radius: 15px; box-shadow: 0 1px 2px rgba(37,36,31,.025); }
.workflow-step .step-body::before { content: ""; display: block; width: 34px; height: 3px; margin: -22px 0 18px; border-radius: 0 0 4px 4px; background: var(--brand-tide-600); }
.workflow-step:nth-of-type(2n) .step-body::before { background: var(--brand-blue); }
.workflow-step:nth-of-type(3n) .step-body::before { background: var(--brand-moss); }
.step-title-row { padding-bottom: 14px; border-bottom: 1px solid #ebe4d9; }
.step-title-row h3 { font-size: 19px; }
.step-title-row p { margin-top: 5px; color: var(--brand-pencil); font-size: 11px; }
.current-ip-strip, .current-map-strip { background: #f4eee4; }
.operation-grid > section { border: 1px solid var(--brand-binding); border-radius: 12px; background: rgba(247,243,235,.46); }

@media (max-width: 900px) {
  .production-hero { grid-template-columns: 1fr; }
  .production-sketch { display: none; }
  .production-stage-rail { position: static; grid-template-columns: 1fr; }
  .production-stage-summary { padding: 0 0 8px; border-right: 0; border-bottom: 1px solid var(--brand-binding); }
  .production-stage-list { overflow-x: auto; }
}
@media (max-width: 640px) {
  .production-hero-copy { padding: 23px 20px; }
  .production-hero h3 { font-size: 29px; }
  .production-selectors { align-items: stretch; flex-direction: column; }
  .production-selectors label:first-child, .production-selectors label:nth-child(2) { width: 100%; min-width: 0; }
  .production-stage-list { grid-template-columns: repeat(6, 70px); }
  .workflow-step { grid-template-columns: 1fr; }
  .workflow-step::before { display: none; }
  .workflow-step .step-index { margin: 0 0 -21px 14px; box-shadow: 0 0 0 4px var(--brand-paper); }
  .workflow-step .step-body { padding: 20px 16px; }
}

/* News intelligence prototype — Editorial Intelligence OS */
.research-inbox-head { 
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 10px 0 24px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--brand-binding);
}
.research-inbox-head > div:first-child { max-width: 680px; }
.research-inbox-head h3 { margin: 4px 0 8px; font-size: clamp(27px, 3vw, 42px); line-height: 1.06; font-weight: 650; letter-spacing: -.045em; }
.research-inbox-head p.muted { margin: 0; max-width: 620px; color: #747873; font-size: 13px; }
.research-inbox-head .button-row { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.research-inbox-head .primary-button { background: var(--brand-ink); border-color: var(--brand-ink); box-shadow: none; }
.research-inbox-head .primary-button:hover { background: #343a3c; border-color: #343a3c; }

.research-command-center { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr); gap: 14px; margin: 18px 0 26px; }
.research-priority-panel, .research-brief-panel { min-width: 0; border: 1px solid var(--brand-binding); border-radius: 16px; background: var(--brand-paper-float); box-shadow: 0 1px 2px rgba(37,36,31,.025), 0 14px 40px rgba(37,36,31,.035); }
.research-priority-panel { padding: 18px 20px 10px; }
.research-brief-panel { padding: 18px; background: var(--brand-ink); border-color: var(--brand-ink); color: #fff; }
.research-command-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.research-command-head h3 { margin: 2px 0 0; font-size: 18px; letter-spacing: -.025em; }
.research-command-head > span { padding: 4px 8px; border-radius: 999px; background: #f2f2ef; color: #777b76; font-size: 10px; white-space: nowrap; }
.research-brief-panel .research-command-head > span { background: rgba(255,255,255,.1); color: rgba(255,255,255,.72); }
.research-command-center .eyebrow { margin-bottom: 2px; color: #9a7360; font-size: 9px; letter-spacing: .12em; }
.research-brief-panel .eyebrow { color: #dba38e; }

.research-priority-list { border-top: 1px solid #e9e2d7; }
.research-priority-item { display: grid; grid-template-columns: 28px minmax(0,1fr) auto auto; align-items: center; gap: 12px; min-height: 62px; border-bottom: 1px solid #e9e2d7; }
.priority-index { color: #a7aaa6; font-size: 10px; font-variant-numeric: tabular-nums; }
.priority-copy { min-width: 0; padding: 8px 0; border: 0; background: transparent; color: inherit; text-align: left; }
.priority-copy strong, .priority-copy small { display: block; }
.priority-copy strong { overflow: hidden; color: var(--brand-ink); font-size: 13px; font-weight: 650; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.priority-copy small { margin-top: 4px; color: #8a8e89; font-size: 10px; }
.priority-copy:hover strong { color: var(--brand-tide-600); }
.priority-score { min-width: 48px; padding: 4px 7px; border-radius: 6px; background: #f4f1ee; color: #765d50; font-size: 10px; font-weight: 700; text-align: center; }
.priority-score.top { background: var(--brand-tide-50); color: var(--brand-tide-700); }
.priority-send { min-height: 29px; padding: 0 9px; border: 1px solid var(--brand-binding); border-radius: 7px; background: var(--brand-paper-float); color: #6f695f; font-size: 10px; }
.priority-send:hover { border-color: #d3aa98; background: var(--brand-tide-50); color: var(--brand-tide-700); }
.research-priority-empty { min-height: 260px; display: grid; place-content: center; justify-items: center; text-align: center; color: #818680; }
.research-priority-empty > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 10px; border-radius: 13px; background: var(--brand-tide-50); color: var(--brand-tide-600); font-size: 24px; }
.research-priority-empty p { max-width: 300px; margin: 5px 0 0; font-size: 11px; }

.research-brief-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; margin: 8px 0 18px; overflow: hidden; border-radius: 10px; background: rgba(247,243,235,.14); }
.research-brief-metrics div { padding: 12px 10px; background: rgba(255,255,255,.055); }
.research-brief-metrics span, .research-brief-metrics strong { display: block; }
.research-brief-metrics span { color: rgba(255,255,255,.53); font-size: 9px; }
.research-brief-metrics strong { margin-top: 5px; font-size: 20px; font-weight: 580; letter-spacing: -.03em; }
.research-coverage { display: grid; gap: 3px; }
.research-coverage-title, .coverage-row { display: flex; align-items: center; justify-content: space-between; }
.research-coverage-title { margin-bottom: 4px; color: rgba(255,255,255,.86); font-size: 11px; }
.research-coverage-title span { color: rgba(255,255,255,.45); }
.coverage-row { min-height: 25px; color: rgba(255,255,255,.64); font-size: 10px; }
.coverage-row > span { display: flex; align-items: center; gap: 7px; }
.coverage-row i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.18); }
.coverage-row i.online { background: var(--brand-moss); box-shadow: 0 0 0 3px rgba(127,146,125,.14); }
.coverage-row b { color: rgba(255,255,255,.88); font-weight: 500; font-variant-numeric: tabular-nums; }
.research-brief-note { display: grid; grid-template-columns: 28px 1fr; align-items: start; gap: 9px; margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.research-brief-note > span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: #e4aa93; font-size: 9px; }
.research-brief-note p { margin: 1px 0 0; color: rgba(255,255,255,.5); font-size: 9px; line-height: 1.55; }

.research-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 4px 0 10px; }
.research-section-heading.compact { margin-top: 32px; }
.research-section-heading h3 { margin: 1px 0 0; font-size: 19px; letter-spacing: -.025em; }
.research-section-heading > p { margin: 0 0 2px; color: #898d88; font-size: 10px; }
.research-section-heading .eyebrow { margin: 0; font-size: 9px; letter-spacing: .12em; }

.research-source-panels { margin-top: 0; }
.research-source-panel { box-shadow: 0 1px 2px rgba(32,39,42,.025); }
.research-source-panel.featured::before { width: 2px; }
.research-queue-panel { border-radius: 14px; box-shadow: 0 1px 2px rgba(32,39,42,.025); }
.research-queue-panel .section-head { margin-bottom: 10px; }
.research-queue-panel table { min-width: 920px; }

@media (max-width: 1120px) {
  .research-inbox-head { align-items: flex-start; flex-direction: column; }
  .research-inbox-head .button-row { justify-content: flex-start; }
  .research-command-center { grid-template-columns: 1fr; }
  .research-brief-panel { display: grid; grid-template-columns: minmax(180px,.6fr) minmax(280px,1fr); column-gap: 22px; }
  .research-brief-panel .research-command-head, .research-brief-panel .research-brief-metrics { grid-column: 1; }
  .research-brief-panel .research-coverage { grid-column: 2; grid-row: 1 / span 3; }
  .research-brief-panel .research-brief-note { grid-column: 1; }
}

@media (max-width: 720px) {
  .research-inbox-head h3 { font-size: 30px; }
  .research-inbox-head .button-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .research-inbox-head .button-row button:first-child { grid-column: 1 / -1; }
  .research-priority-panel { padding: 15px; }
  .research-priority-item { grid-template-columns: 22px minmax(0,1fr) auto; gap: 8px; }
  .priority-send { grid-column: 2 / -1; width: fit-content; margin-bottom: 8px; }
  .research-brief-panel { display: block; }
  .research-section-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
}

/* Dashboard prototype — data-led operations overview */
.dashboard-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:10px 0 20px; border-bottom:1px solid var(--brand-binding); }
.dashboard-intro h3 { margin:3px 0 7px; color:var(--brand-ink); font-size:clamp(27px,3vw,40px); line-height:1.05; font-weight:650; letter-spacing:-.04em; }
.dashboard-intro p { margin:0; color:var(--brand-pencil); font-size:12px; }
.dashboard-intro > span { margin-bottom:3px; color:var(--brand-pencil); font-size:11px; }
.dashboard-intro .eyebrow { color:#9a7360; font-size:9px; letter-spacing:.12em; }
.governance-notice-stack { display:grid; gap:7px; margin-top:13px; }.governance-notice-stack article { display:grid; grid-template-columns:8px minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid #d8c7b7; border-radius:10px; background:#f4e9df; box-shadow:0 4px 14px rgba(76,56,43,.04); }.governance-notice-stack article.level-medium { background:#f3eee3; }.governance-notice-stack article > i { width:8px; height:8px; border-radius:50%; background:var(--brand-tide-600); }.governance-notice-stack article.level-medium > i { background:var(--brand-wheat); }.governance-notice-stack article > div { display:grid; gap:2px; }.governance-notice-stack span { color:var(--brand-tide-600); font-size:7px; font-weight:700; letter-spacing:.08em; }.governance-notice-stack strong { font-size:10px; }.governance-notice-stack p { margin:0; color:var(--brand-pencil); font-size:8px; }.governance-notice-stack button { border-radius:7px; background:#fffdf8; }.notice-handle { padding:6px 9px; border:1px solid var(--brand-binding); font-size:8px; }.notice-dismiss { width:27px; height:27px; padding:0; border:0; color:var(--brand-pencil); font-size:16px; }

.dashboard-kpi-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0 28px; overflow:hidden; border:1px solid var(--brand-binding); border-radius:15px; background:var(--brand-paper-float); box-shadow:0 1px 2px rgba(37,36,31,.025); }
.dashboard-kpi { position:relative; min-width:0; min-height:116px; padding:18px 19px; border-right:1px solid var(--brand-binding); }
.dashboard-kpi:last-child { border-right:0; }
.dashboard-kpi::before { content:""; position:absolute; top:0; left:19px; width:34px; height:3px; border-radius:0 0 3px 3px; background:var(--brand-tide-500); }
.dashboard-kpi.wheat::before { background:var(--brand-wheat); }
.dashboard-kpi.moss::before { background:var(--brand-moss); }
.dashboard-kpi.violet::before { background:var(--brand-violet); }
.dashboard-kpi span,.dashboard-kpi strong,.dashboard-kpi em { display:block; }
.dashboard-kpi span { color:var(--brand-pencil); font-size:10px; font-weight:650; }
.dashboard-kpi strong { margin:12px 0 8px; color:var(--brand-ink); font-size:29px; line-height:1; font-weight:650; letter-spacing:-.035em; }
.dashboard-kpi strong small { color:var(--brand-pencil); font-size:13px; font-weight:500; }
.dashboard-kpi em { overflow:hidden; color:#918a7f; font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-method-governance { margin:0 0 28px; padding:18px; border:1px solid var(--brand-binding); border-radius:15px; background:#efe9dd; }.dashboard-method-governance > header { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }.dashboard-method-governance > header h3 { margin:3px 0; font-size:19px; }.dashboard-method-governance > header p:last-child { margin:0; color:var(--brand-pencil); font-size:10px; }.governance-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:13px; overflow:hidden; border-radius:9px; background:var(--brand-binding); }.governance-kpis article { display:grid; gap:5px; padding:11px; background:#fbf8f1; }.governance-kpis span { color:var(--brand-pencil); font-size:8px; }.governance-kpis strong { font-size:19px; }.governance-body { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:9px; margin-top:9px; }.governance-body > section,.governance-body > aside { padding:11px; border-radius:9px; background:#fbf8f1; }.governance-body header { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; }.governance-body header strong { font-size:10px; }.governance-body header span { color:var(--brand-pencil); font-size:8px; }.governance-actions { display:grid; gap:5px; }.governance-actions article { display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; border-radius:7px; background:#f3ede3; }.governance-actions i { width:7px; height:7px; border-radius:50%; background:var(--brand-wheat); }.governance-actions .level-high i { background:var(--brand-tide-600); }.governance-actions div { min-width:0; }.governance-actions strong { font-size:9px; }.governance-actions p { margin:2px 0 0; color:var(--brand-pencil); font-size:7px; }.governance-actions button { padding:5px 7px; border:1px solid var(--brand-binding); border-radius:6px; background:#fffdf8; font-size:7px; }.governance-body > aside > div { display:grid; gap:5px; }.governance-body > aside article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:6px; padding:7px; border-radius:7px; background:#f3ede3; }.governance-body > aside article span { padding:3px 5px; border-radius:999px; background:#e6ddd0; color:var(--brand-tide-700); font-size:7px; }.governance-body > aside article strong { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.governance-body > aside article em { color:var(--brand-pencil); font-size:7px; font-style:normal; }.governance-empty { padding:15px; border:1px dashed var(--brand-binding); border-radius:7px; color:var(--brand-pencil); font-size:8px; text-align:center; }

.governance-actions div > em { display:block; margin-top:4px; color:var(--brand-tide-700); font-size:7px; font-style:normal; }.governance-task-form > header span { color:var(--brand-tide-600); font-size:8px; font-weight:700; letter-spacing:.12em; }.governance-task-form > header h3 { margin:5px 0; font-size:19px; }.governance-task-form > header p { margin:0 0 14px; color:var(--brand-pencil); font-size:9px; line-height:1.6; }.governance-task-form .form-grid { padding:13px; border:1px solid var(--brand-binding); border-radius:10px; background:#f7f3eb; }.governance-task-form footer { display:flex; justify-content:flex-end; gap:7px; margin-top:11px; }
.research-production-picker > header span { color:var(--brand-tide-600); font-size:8px; font-weight:700; letter-spacing:.12em; }.research-production-picker > header h3 { margin:6px 0; font-size:20px; line-height:1.25; }.research-production-picker > header p { margin:0 0 15px; color:var(--brand-pencil); font-size:9px; line-height:1.6; }.research-production-picker > .field { padding:13px; border:1px solid var(--brand-binding); border-radius:10px; background:#f7f3eb; }.research-routing-warning { margin-top:9px; padding:9px 11px; border-left:3px solid var(--brand-wheat); border-radius:5px; background:#f3eee3; color:var(--brand-pencil); font-size:8px; }.research-production-picker > footer { display:flex; justify-content:flex-end; gap:7px; margin-top:12px; }.research-production-existing { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--brand-binding); border-radius:10px; background:#f7f3eb; }.research-production-existing span,.research-production-existing em { color:var(--brand-pencil); font-size:8px; font-style:normal; }.research-production-existing strong { font-size:11px; }
.research-article-capture { margin:13px 0; padding:12px; border:1px solid var(--brand-binding); border-radius:10px; background:#f7f3eb; }.research-article-capture header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.research-article-capture header strong { font-size:10px; }.research-article-capture header span { color:var(--brand-pencil); font-size:8px; }.research-article-capture p { max-height:210px; margin:8px 0 0; overflow:auto; color:var(--brand-pencil); font-size:9px; line-height:1.7; }.research-article-capture.success { border-left:3px solid var(--brand-moss); }.research-article-capture.failed { border-left:3px solid var(--brand-tide-600); }.research-article-capture.pending { border-left:3px solid var(--brand-wheat); }
.governance-header-actions { display:flex; gap:7px; }.governance-weekly-report > header span { color:var(--brand-tide-600); font-size:8px; font-weight:700; letter-spacing:.12em; }.governance-weekly-report > header h3 { margin:5px 0; font-size:19px; }.governance-weekly-report > header p { margin:0; color:var(--brand-pencil); font-size:9px; }.governance-weekly-report textarea { width:100%; min-height:430px; margin-top:13px; padding:13px; border:1px solid var(--brand-binding); border-radius:9px; background:#f7f3eb; color:var(--brand-ink); font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; resize:vertical; }.governance-weekly-report > footer { display:flex; justify-content:flex-end; gap:7px; margin-top:10px; }
.governance-archive-shortcut { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:-18px 0 28px; padding:10px 13px; border:1px dashed var(--brand-binding); border-radius:10px; background:#f7f3eb; }.governance-archive-shortcut > div { display:flex; align-items:baseline; gap:8px; }.governance-archive-shortcut span { color:var(--brand-tide-600); font-size:7px; font-weight:700; letter-spacing:.1em; }.governance-archive-shortcut strong { font-size:10px; }.governance-archive-shortcut em { color:var(--brand-pencil); font-size:8px; font-style:normal; }.governance-archive-library > header span { color:var(--brand-tide-600); font-size:8px; font-weight:700; letter-spacing:.12em; }.governance-archive-library > header h3 { margin:5px 0; font-size:19px; }.governance-archive-library > header p { margin:0; color:var(--brand-pencil); font-size:9px; }.governance-archive-library > div { display:grid; gap:7px; margin-top:13px; }.governance-archive-library details { border:1px solid var(--brand-binding); border-radius:9px; background:#f7f3eb; }.governance-archive-library summary { display:grid; grid-template-columns:1fr auto auto; gap:10px; padding:10px; cursor:pointer; }.governance-archive-library summary span { font-size:10px; font-weight:700; }.governance-archive-library summary strong,.governance-archive-library summary em { color:var(--brand-pencil); font-size:8px; font-style:normal; }.governance-archive-library textarea { width:calc(100% - 20px); min-height:320px; margin:0 10px 10px; padding:11px; border:1px solid var(--brand-binding); border-radius:7px; background:#fffdf8; font:10px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; }.governance-archive-library > footer { display:flex; justify-content:flex-end; margin-top:10px; }
.governance-compare-panel { margin-top:14px; padding:13px; border:1px solid var(--brand-binding); border-radius:11px; background:#efe9dd; }.governance-compare-panel > header { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }.governance-compare-panel > header div { display:grid; gap:3px; }.governance-compare-panel > header span { color:var(--brand-tide-600); font-size:7px; font-weight:700; letter-spacing:.1em; }.governance-compare-panel > header strong { font-size:12px; }.governance-compare-panel > header p { margin:0; color:var(--brand-pencil); font-size:8px; }.governance-compare-controls { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto; align-items:end; gap:8px; margin-top:10px; }.governance-compare-controls label { display:grid; gap:4px; color:var(--brand-pencil); font-size:8px; }.governance-compare-controls select { width:100%; min-width:0; padding:8px; border:1px solid var(--brand-binding); border-radius:7px; background:#fffdf8; color:var(--brand-ink); }.governance-compare-controls > i { padding-bottom:9px; color:var(--brand-pencil); font-style:normal; }.governance-comparison-result { margin-top:10px; }.governance-comparison-card { overflow:hidden; border:1px solid var(--brand-binding); border-radius:9px; background:#fffdf8; }.governance-comparison-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border-bottom:1px solid var(--brand-binding); }.governance-comparison-card > header div { display:flex; align-items:center; gap:6px; color:var(--brand-pencil); font-size:8px; }.governance-comparison-card > header i { font-style:normal; }.governance-comparison-card > header strong { font-size:8px; }.governance-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--brand-binding); }.governance-comparison-grid article { display:grid; gap:4px; padding:10px; background:#fbf8f1; }.governance-comparison-grid article > span { color:var(--brand-pencil); font-size:7px; }.governance-comparison-grid article > strong { font-size:9px; }.governance-comparison-grid article > div { display:flex; align-items:center; gap:5px; }.governance-comparison-grid em { font-size:14px; font-style:normal; }.governance-comparison-grid i { color:var(--brand-pencil); font-size:8px; font-style:normal; }.governance-comparison-grid b { margin-left:auto; padding:2px 5px; border-radius:999px; background:#ebe4d8; color:var(--brand-pencil); font-size:7px; }.governance-comparison-grid .trend-up b { background:#f0ddd3; color:var(--brand-tide-700); }.governance-comparison-grid .trend-down b { background:#e3eadf; color:#61735d; }.governance-comparison-card > footer { padding:8px 11px; color:var(--brand-pencil); font-size:7px; }
.dashboard-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:26px 0 10px; }
.dashboard-section-head h3 { margin:1px 0 0; color:var(--brand-ink); font-size:19px; font-weight:650; letter-spacing:-.025em; }
.dashboard-section-head .eyebrow { margin:0; color:#9a7360; font-size:9px; letter-spacing:.12em; }
.dashboard-section-head > span { margin-bottom:2px; color:var(--brand-pencil); font-size:10px; }

.dashboard-data-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr); gap:13px; }
.dashboard-data-workspace .chart-card { min-height:0; border-color:var(--brand-binding); border-radius:14px; background:var(--brand-paper-float); box-shadow:0 1px 2px rgba(37,36,31,.025); }
.dashboard-primary-chart { min-height:438px !important; padding:20px !important; }
.dashboard-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:14px; border-bottom:1px solid #e9e1d5; }
.dashboard-chart-head span,.dashboard-chart-head strong { display:block; }
.dashboard-chart-head span { color:var(--brand-pencil); font-size:10px; }
.dashboard-chart-head strong { margin-top:5px; color:var(--brand-ink); font-size:28px; font-weight:650; letter-spacing:-.035em; }
.dashboard-chart-head em { color:var(--brand-pencil); font-size:10px; font-style:normal; }
.dashboard-primary-chart .line-chart { min-height:330px; margin-top:15px; }
.dashboard-chart-side { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:13px; }
.dashboard-compact-chart { padding:16px !important; }
.dashboard-chart-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; }
.dashboard-chart-title h4 { margin:0; color:var(--brand-ink); font-size:13px; font-weight:650; }
.dashboard-chart-title span { color:var(--brand-pencil); font-size:9px; }
.dashboard-compact-chart .bar-chart { gap:9px; }
.dashboard-compact-chart .bar-chart div { grid-template-columns:60px 1fr 48px; font-size:9px; }
.dashboard-compact-chart .bar-chart strong { height:7px; background:var(--brand-mist); }
.dashboard-compact-chart .donut-wrap { grid-template-columns:112px 1fr; gap:8px; }
.dashboard-compact-chart .donut-chart { min-height:120px; }
.dashboard-compact-chart .chart-legend { gap:4px; font-size:9px; }

.dashboard-activity-panel .activity-list { border-color:var(--brand-binding); border-radius:14px; background:var(--brand-paper-float); box-shadow:0 1px 2px rgba(37,36,31,.025); }
.dashboard-activity-panel .activity-dot { background:var(--brand-tide-500); }
.dashboard-table-wrap { overflow-x:auto; border-radius:14px; }
.dashboard-table-wrap table { min-width:900px; border-radius:14px; }
.dashboard-ip-head { align-items:center; }
.dashboard-ip-head .filters select { border-color:var(--brand-binding); border-radius:8px; background:var(--brand-paper-float); color:var(--brand-ink); }

@media (max-width:1100px) {
  .dashboard-kpi-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-kpi:nth-child(2) { border-right:0; }
  .dashboard-kpi:nth-child(-n+2) { border-bottom:1px solid var(--brand-binding); }
  .dashboard-data-workspace { grid-template-columns:1fr; }
  .governance-body { grid-template-columns:1fr; }
  .dashboard-chart-side { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
}

@media (max-width:720px) {
  .workspace-sync-status { width:100%; }.workspace-conflict-options { grid-template-columns:1fr; }
  .dashboard-intro,.dashboard-section-head { align-items:flex-start; flex-direction:column; gap:5px; }
  .governance-notice-stack article { grid-template-columns:8px minmax(0,1fr) auto; }.notice-handle { grid-column:2; width:max-content; }.notice-dismiss { grid-column:3; grid-row:1; }
  .dashboard-kpi-strip { grid-template-columns:1fr; }
  .dashboard-method-governance > header { align-items:flex-start; flex-direction:column; }
  .governance-header-actions { width:100%; flex-wrap:wrap; }
  .governance-archive-shortcut { align-items:flex-start; flex-direction:column; margin-top:-16px; }.governance-archive-shortcut > div { align-items:flex-start; flex-direction:column; gap:3px; }.governance-archive-library summary { grid-template-columns:1fr; }
  .governance-compare-panel > header { align-items:flex-start; flex-direction:column; }.governance-compare-controls { grid-template-columns:1fr; }.governance-compare-controls > i { display:none; }.governance-comparison-card > header { align-items:flex-start; flex-direction:column; }.governance-comparison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .governance-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-kpi { border-right:0; border-bottom:1px solid var(--brand-binding); }
  .dashboard-kpi:last-child { border-bottom:0; }
  .dashboard-chart-side { grid-template-columns:1fr; }
  .dashboard-primary-chart { min-height:330px !important; }
  .dashboard-primary-chart .line-chart { min-height:230px; }
  .dashboard-ip-head .filters { width:100%; }
  .dashboard-ip-head .filters select { flex:1; min-width:0; }
}
.auth-gate { min-height:100vh; display:grid; place-items:center; padding:32px; background:var(--brand-paper, #F7F3EB); }
.auth-gate[hidden], .shell[hidden] { display:none !important; }
.auth-card { width:min(430px, 100%); padding:42px; border:1px solid rgba(73,63,52,.18); border-radius:24px; background:rgba(255,253,248,.94); box-shadow:0 24px 70px rgba(64,52,40,.12); }
.auth-brand-mark { width:54px; height:54px; display:grid; place-items:center; margin-bottom:28px; border-radius:16px; background:var(--brand-tide-600, #BF634B); color:#fff; font-size:25px; font-weight:800; }
.auth-card h1 { margin:8px 0 10px; font-size:32px; letter-spacing:-.04em; }
.auth-intro { margin:0 0 28px; color:var(--brand-pencil, #746D64); line-height:1.7; }
.auth-form { display:grid; gap:18px; }
.auth-form label { display:grid; gap:8px; color:#4f5968; font-weight:700; }
.auth-form input { width:100%; min-height:48px; padding:0 14px; border:1px solid rgba(73,63,52,.2); border-radius:12px; background:#fffdf8; font:inherit; }
.auth-form .primary-button { width:100%; min-height:48px; margin-top:4px; }
.auth-error { min-height:20px; margin:0; color:#a33d32; font-size:13px; }
.account-chip { max-width:220px; overflow:hidden; color:var(--brand-pencil, #746D64); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.account-admin { min-width:min(920px, 82vw); }
.account-admin > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.account-admin h3 { margin:4px 0 6px; font-size:24px; }

.onboarding-flow { width:min(760px, 78vw); padding:8px 4px 4px; }
.onboarding-flow > header { max-width:620px; }
.onboarding-flow > header span { color:var(--brand-tide-600); font-size:9px; font-weight:750; letter-spacing:.13em; }
.onboarding-flow > header h3 { margin:8px 0 7px; color:var(--brand-ink); font-size:27px; letter-spacing:-.035em; }
.onboarding-flow > header p { margin:0; color:var(--brand-pencil); font-size:12px; line-height:1.75; }
.onboarding-mark { display:grid; place-items:center; width:54px; height:54px; margin-bottom:20px; border-radius:15px; background:var(--brand-tide-600); color:#fff; font-family:serif; font-size:25px; font-weight:700; box-shadow:0 12px 28px rgba(184,95,74,.18); }
.onboarding-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:25px 0; }
.onboarding-path article { position:relative; min-height:116px; padding:17px; border:1px solid var(--brand-binding); border-radius:13px; background:#f7f3eb; }
.onboarding-path i { color:var(--brand-tide-600); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; font-style:normal; }
.onboarding-path strong,.onboarding-path span { display:block; }
.onboarding-path strong { margin:17px 0 5px; color:var(--brand-ink); font-size:14px; }
.onboarding-path span { color:var(--brand-pencil); font-size:10px; line-height:1.55; }
.onboarding-ip-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; padding:20px; border:1px solid var(--brand-binding); border-radius:15px; background:#f7f3eb; }
.onboarding-ip-form label { display:grid; gap:7px; color:#5d554c; font-size:10px; font-weight:700; }
.onboarding-ip-form label.full,.onboarding-ip-form .full { grid-column:1 / -1; }
.onboarding-ip-form input,.onboarding-ip-form select,.onboarding-ip-form textarea { width:100%; min-height:42px; padding:10px 11px; border:1px solid var(--brand-binding); border-radius:9px; background:#fffdf8; color:var(--brand-ink); font:inherit; font-weight:500; }
.onboarding-ip-form textarea { min-height:84px; resize:vertical; line-height:1.6; }
.onboarding-ip-form input:focus,.onboarding-ip-form select:focus,.onboarding-ip-form textarea:focus { border-color:#bc8a73; box-shadow:0 0 0 3px rgba(184,92,50,.1); outline:0; }

@media (max-width:640px) {
  .onboarding-flow { width:100%; }
  .onboarding-path,.onboarding-ip-form { grid-template-columns:1fr; }
  .onboarding-ip-form label.full,.onboarding-ip-form .full { grid-column:auto; }
}
.account-table-wrap { overflow:auto; border:1px solid rgba(73,63,52,.15); border-radius:16px; }
.account-table-wrap table { width:100%; border-collapse:collapse; }
.account-table-wrap th, .account-table-wrap td { padding:14px; border-bottom:1px solid rgba(73,63,52,.1); text-align:left; vertical-align:middle; }
.account-table-wrap td strong, .account-table-wrap td small { display:block; }
.account-table-wrap td small { margin-top:4px; color:var(--brand-pencil, #746D64); }
.account-table-wrap select { min-width:112px; padding:8px; border:1px solid rgba(73,63,52,.18); border-radius:9px; background:#fffdf8; }
.account-actions { display:flex; gap:8px; align-items:center; white-space:nowrap; }
.account-audit { min-width:min(900px, 82vw); }
.account-audit > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.account-audit > header h3 { margin:4px 0 6px; font-size:25px; }
.account-audit > header select { min-height:40px; padding:0 34px 0 12px; border:1px solid rgba(73,63,52,.16); border-radius:10px; background:#fffdf8; }
.account-audit-metrics { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-bottom:18px; }
.account-audit-metrics article { padding:16px; border:1px solid rgba(73,63,52,.13); border-radius:14px; background:#faf7f0; }
.account-audit-metrics span { display:block; color:var(--brand-pencil, #746D64); font-size:12px; }
.account-audit-metrics strong { display:block; margin-top:7px; font-size:26px; }
.account-audit-legend { display:flex; align-items:center; gap:18px; padding:12px 0; border-bottom:1px solid rgba(73,63,52,.12); color:var(--brand-pencil, #746D64); font-size:12px; }
.account-audit-legend span { display:flex; align-items:center; gap:6px; }
.account-audit-legend i { width:8px; height:8px; border-radius:50%; background:#91a08a; }
.account-audit-legend i.risk { background:var(--brand-tide-600, #BF634B); }
.account-audit-legend b { margin-left:auto; color:#3f3a34; }
.account-audit-timeline { max-height:52vh; padding:12px 0 4px; overflow:auto; }
.account-audit-item { position:relative; display:grid; grid-template-columns:22px 1fr; gap:10px; }
.account-audit-item:not(:last-child)::before { content:""; position:absolute; left:6px; top:24px; bottom:-8px; width:1px; background:rgba(73,63,52,.14); }
.account-audit-marker { position:relative; z-index:1; width:13px; height:13px; margin-top:18px; border:3px solid #faf7f0; border-radius:50%; background:#91a08a; box-shadow:0 0 0 1px rgba(73,63,52,.18); }
.account-audit-item.is-risk .account-audit-marker { background:var(--brand-tide-600, #BF634B); }
.account-audit-content { margin-bottom:10px; padding:13px 15px; border:1px solid rgba(73,63,52,.12); border-radius:13px; background:#fffdf8; }
.account-audit-content header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.account-audit-content header > div { display:flex; align-items:center; gap:9px; }
.account-audit-content time, .account-audit-content small { color:var(--brand-pencil, #746D64); font-size:11px; }
.account-audit-content p { margin:8px 0 0; font-size:13px; }
.account-audit-content small { display:block; margin-top:7px; }
@media (max-width: 900px) { .account-audit-metrics { grid-template-columns:repeat(2, 1fr); } .account-audit > header { flex-direction:column; } }
