:root {
  color-scheme: light;
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f7f8fa;
  --ink: #0f172a;
  --muted: #6b7aa3;
  --line: rgba(15, 23, 42, 0.08);
  --brand: #2563eb;
  --brand-strong: #1d4ed8;
  --accent: #f59e0b;
  --danger: #b42318;
  --ok: #237a3b;
  --info: #2563eb;
  --shadow: none;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: #ffffff;
  color: var(--ink);
  font-family: Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  font-size: 14px;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { display: grid; grid-template-columns: 304px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px;
  border-right: 1px solid var(--line);
  background: #f7f8fa;
  color: var(--ink);
  overflow: auto;
}
.brand, .tenant-card, .user-card { display: flex; align-items: center; gap: 12px; }
.brand-mark, .tenant-logo, .avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 6px;
  background: #0f172a;
  color: white;
  font-weight: 800;
}
.brand span, .tenant-card span, .user-card span { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.tenant-card, .user-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
}
.nav-tree { display: flex; flex-direction: column; gap: 14px; }
.nav-group-title {
  margin: 10px 8px 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.nav-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 6px;
  color: var(--ink);
  background: transparent;
  text-align: left;
}
.nav-item:hover, .nav-item.active { background: #eef2ff; color: #1d4ed8; }
.nav-token {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: #eef2ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 800;
}
.workspace { min-width: 0; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 24px;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
}
.crumb, .eyebrow { margin: 0 0 4px; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: 24px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 250px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  color: var(--muted);
}
.search input { width: 100%; border: 0; outline: 0; min-width: 0; }
.primary, .ghost, .icon-button {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 38px;
  padding: 0 14px;
  background: white;
  color: var(--ink);
}
.primary { border-color: var(--brand); background: var(--brand); color: white; font-weight: 800; }
.primary:hover { background: var(--brand-strong); }
.ghost:hover, .icon-button:hover { background: var(--surface-2); }
.icon-button { width: 40px; padding: 0; font-size: 20px; }
.mobile-only { display: none; }

main {
  min-width: 0;
  max-width: 100%;
  padding: 24px;
}
.app-shell > *,
.panel,
.module-card,
.metric-card,
.profile-block,
.table-wrap,
.split > *,
.grid > *,
.puko-journey-panel > *,
.improvement-record-card,
.pdca-report-grid > *,
.puko-workbench > * {
  min-width: 0;
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
  align-items: stretch;
}
.panel, .module-card, .metric-card, .table-wrap, .timeline, .profile-block {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: var(--shadow);
}
.panel { padding: 20px; }
.hero-copy {
  min-height: 286px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: none;
}
.hero-copy h2 { max-width: 720px; font-size: clamp(28px, 4vw, 48px); line-height: 1.05; margin: 8px 0 14px; }
.hero-copy p { max-width: 760px; color: var(--muted); font-size: 16px; }
.hero-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.hero-stats div { padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: #f7f8fa; }
.hero-stats strong { display: block; font-size: 26px; }
.db-dashboard {
  display: grid;
  gap: 18px;
}
.db-executive {
  gap: 14px;
}
.db-exec-top {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(520px, .95fr);
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.db-exec-top h2 {
  margin: 4px 0 10px;
  font-size: 28px;
}
.db-exec-meta,
.db-exec-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-exec-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
}
.db-exec-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(140px, .5fr) minmax(150px, .5fr) auto;
  gap: 8px;
}
.db-exec-controls input,
.db-exec-controls select {
  min-height: 38px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
}
.db-exec-actions {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-exec-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: 12px;
}
.db-exec-kpi {
  min-height: 118px;
  padding: 14px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.db-exec-kpi::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: #2563eb;
}
.db-exec-kpi.good::before { background: #16a34a; }
.db-exec-kpi.watch::before { background: #f59e0b; }
.db-exec-kpi.risk::before { background: #dc2626; }
.db-exec-kpi.brand::before { background: #2563eb; }
.db-exec-kpi span,
.db-exec-kpi small {
  color: var(--muted);
  font-weight: 800;
}
.db-exec-kpi strong {
  font-size: 30px;
  line-height: 1;
}
.db-exec-layout {
  display: grid;
  grid-template-columns: minmax(520px, 1.25fr) minmax(320px, .75fr);
  gap: 12px;
  align-items: stretch;
}
.db-exec-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  box-shadow: var(--shadow);
}
.db-exec-card h3 {
  margin: 0 0 12px;
}
.db-exec-card.wide,
.db-exec-card.module-map {
  min-height: 260px;
}
.db-exec-alerts {
  display: grid;
  gap: 8px;
}
.db-exec-alerts div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-exec-alerts span {
  color: var(--muted);
  font-weight: 800;
}
.db-exec-alerts small {
  min-width: 64px;
  text-align: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 900;
}
.db-exec-alerts .good small { background: #dcfce7; color: #166534; }
.db-exec-alerts .watch small { background: #fef3c7; color: #92400e; }
.db-exec-alerts .risk small { background: #fee2e2; color: #991b1b; }
.db-exec-modules {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px;
}
.db-exec-modules button {
  min-height: 96px;
  display: grid;
  gap: 6px;
  align-content: space-between;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  padding: 10px;
}
.db-exec-modules b {
  width: max-content;
  min-width: 34px;
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 6px;
  background: #e0e7ff;
  color: #1d4ed8;
}
.db-exec-modules span {
  color: var(--muted);
  font-weight: 800;
}
.db-exec-modules strong {
  font-size: 22px;
}
.db-exec-modules .good { background: #f0fdf4; }
.db-exec-modules .watch { background: #fffbeb; }
.db-exec-modules .risk { background: #fef2f2; }
.db-exec-tables {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr);
  gap: 12px;
}
.db-executive .table-wrap {
  box-shadow: none;
}
.db-title-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr);
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
}
.db-title-panel h2 {
  margin: 6px 0 10px;
  font-size: 32px;
}
.db-context-grid,
.db-status-grid,
.db-widget-grid,
.db-lower-grid,
.db-ai-summary-grid,
.db-ai-mini-visuals {
  display: grid;
  gap: 12px;
}
.db-context-grid {
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  margin-top: 18px;
}
.db-context-grid span,
.db-status-card,
.db-widget,
.db-ai-card,
.db-ai-mini-visuals > article,
.db-footer {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-context-grid span {
  padding: 12px;
  color: var(--muted);
}
.db-context-grid b,
.db-ai-explain b {
  display: block;
  color: var(--ink);
  margin-bottom: 4px;
}
.db-command-panel {
  display: grid;
  gap: 14px;
  align-content: start;
}
.db-global-search {
  display: grid;
  gap: 8px;
}
.db-global-search label {
  font-weight: 800;
}
.db-global-search input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 12px;
}
.db-global-search small,
.db-status-card small {
  color: var(--muted);
}
.db-action-row,
.db-ai-action-row,
.db-impact-actions,
.db-performance-actions,
.db-strategy-actions,
.db-yokak-actions,
.db-risk-actions,
.db-evidence-actions,
.db-process-actions,
.db-education-actions,
.db-research-actions,
.db-social-actions,
.db-student-actions,
.db-accreditation-actions,
.db-kidr-actions,
.db-personal-actions,
.db-map-actions,
.db-resource-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-status-grid {
  grid-template-columns: repeat(5, minmax(170px, 1fr));
}
.db-status-card {
  min-height: 112px;
  padding: 14px;
  display: grid;
  align-content: space-between;
  gap: 8px;
}
.db-status-card span {
  color: var(--muted);
  font-weight: 700;
}
.db-status-card strong {
  font-size: 24px;
}
.db-widget-grid {
  grid-template-columns: repeat(4, minmax(260px, 1fr));
}
.db-widget {
  padding: 14px;
  min-width: 0;
}
.db-widget h3,
.db-ai-card h3,
.db-ai-mini-visuals h3 {
  margin: 0 0 10px;
}
.db-widget .table-wrap,
.db-ai-mini-visuals .table-wrap {
  box-shadow: none;
}
.db-widget-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.db-lower-grid {
  grid-template-columns: repeat(2, minmax(360px, 1fr));
}
.db-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.db-quick-link {
  display: block;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f8fa;
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
}
.db-footer {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: var(--muted);
}
.db-footer strong {
  color: var(--ink);
}
.db-ai-summary-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-ai-summary-grid {
  grid-template-columns: repeat(3, minmax(280px, 1fr));
}
.db-ai-card {
  padding: 14px;
  display: grid;
  gap: 14px;
}
.db-ai-card p {
  color: var(--muted);
}
.db-ai-explain {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  color: var(--muted);
}
.db-ai-explain em {
  display: inline-block;
  margin: 2px 4px 0 0;
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--ink);
  font-style: normal;
  font-weight: 700;
}
.db-ai-mini-visuals {
  grid-template-columns: minmax(320px, .8fr) minmax(420px, 1.2fr);
}
.db-ai-mini-visuals > article {
  padding: 14px;
}
.db-impact-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
}
.db-performance-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-strategy-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
}
.db-yokak-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-risk-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-evidence-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-process-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-education-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-research-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-social-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-student-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-accreditation-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-kidr-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-personal-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-map-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-resource-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.db-resource-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-resource-summary article,
.db-resource-main,
.db-resource-side > article,
.db-resource-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-resource-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-resource-summary span,
.db-resource-summary small {
  color: var(--muted);
}
.db-resource-summary strong {
  font-size: 22px;
}
.db-resource-layout {
  display: grid;
  grid-template-columns: minmax(920px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-resource-main,
.db-resource-side,
.db-resource-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-resource-main,
.db-resource-side > article,
.db-resource-grid > article {
  padding: 14px;
}
.db-resource-main h3,
.db-resource-side h3,
.db-resource-grid h3 {
  margin: 0 0 10px;
}
.db-resource-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-resource-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-resource-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-resource-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-resource-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--muted);
  font-weight: 800;
}
.db-resource-grid {
  grid-template-columns: repeat(3, minmax(320px, 1fr));
}
.db-map-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-map-summary article,
.db-map-main,
.db-map-side > article,
.db-map-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-map-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-map-summary span,
.db-map-summary small {
  color: var(--muted);
}
.db-map-summary strong {
  font-size: 22px;
}
.db-map-layout {
  display: grid;
  grid-template-columns: minmax(920px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-map-main,
.db-map-side,
.db-map-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-map-main,
.db-map-side > article,
.db-map-grid > article {
  padding: 14px;
}
.db-map-main h3,
.db-map-side h3,
.db-map-grid h3 {
  margin: 0 0 10px;
}
.db-map-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-map-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-map-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-map-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-map-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ecfdf3;
  color: var(--muted);
  font-weight: 800;
}
.db-map-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-personal-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(180px, 1fr));
  gap: 10px;
}
.db-personal-summary article,
.db-personal-main,
.db-personal-side > article,
.db-personal-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-personal-summary article {
  min-height: 104px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-personal-summary span,
.db-personal-summary small {
  color: var(--muted);
}
.db-personal-summary strong {
  font-size: 22px;
}
.db-personal-layout {
  display: grid;
  grid-template-columns: minmax(920px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-personal-main,
.db-personal-side,
.db-personal-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-personal-main,
.db-personal-side > article,
.db-personal-grid > article {
  padding: 14px;
}
.db-personal-main h3,
.db-personal-side h3,
.db-personal-grid h3 {
  margin: 0 0 10px;
}
.db-personal-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-personal-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-personal-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-personal-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-personal-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f5f3ff;
  color: var(--muted);
  font-weight: 800;
}
.db-personal-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-kidr-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-kidr-summary article,
.db-kidr-main,
.db-kidr-side > article,
.db-kidr-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-kidr-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-kidr-summary span,
.db-kidr-summary small {
  color: var(--muted);
}
.db-kidr-summary strong {
  font-size: 22px;
}
.db-kidr-layout {
  display: grid;
  grid-template-columns: minmax(920px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-kidr-main,
.db-kidr-side,
.db-kidr-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-kidr-main,
.db-kidr-side > article,
.db-kidr-grid > article {
  padding: 14px;
}
.db-kidr-main h3,
.db-kidr-side h3,
.db-kidr-grid h3 {
  margin: 0 0 10px;
}
.db-kidr-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-kidr-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-kidr-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-kidr-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-kidr-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #eff6ff;
  color: var(--muted);
  font-weight: 800;
}
.db-kidr-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-accreditation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-accreditation-summary article,
.db-accreditation-main,
.db-accreditation-side > article,
.db-accreditation-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-accreditation-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-accreditation-summary span,
.db-accreditation-summary small {
  color: var(--muted);
}
.db-accreditation-summary strong {
  font-size: 22px;
}
.db-accreditation-layout {
  display: grid;
  grid-template-columns: minmax(920px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-accreditation-main,
.db-accreditation-side,
.db-accreditation-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-accreditation-main,
.db-accreditation-side > article,
.db-accreditation-grid > article {
  padding: 14px;
}
.db-accreditation-main h3,
.db-accreditation-side h3,
.db-accreditation-grid h3 {
  margin: 0 0 10px;
}
.db-accreditation-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-accreditation-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-accreditation-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-accreditation-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-accreditation-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ecfdf3;
  color: var(--muted);
  font-weight: 800;
}
.db-accreditation-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-student-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-student-summary article,
.db-student-main,
.db-student-side > article,
.db-student-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-student-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-student-summary span,
.db-student-summary small {
  color: var(--muted);
}
.db-student-summary strong {
  font-size: 22px;
}
.db-student-layout {
  display: grid;
  grid-template-columns: minmax(900px, 1.45fr) minmax(380px, .55fr);
  gap: 12px;
  align-items: start;
}
.db-student-main,
.db-student-side,
.db-student-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-student-main,
.db-student-side > article,
.db-student-grid > article {
  padding: 14px;
}
.db-student-main h3,
.db-student-side h3,
.db-student-grid h3 {
  margin: 0 0 10px;
}
.db-student-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-student-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-student-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-student-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-student-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f5f3ff;
  color: var(--muted);
  font-weight: 800;
}
.db-student-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-social-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-social-summary article,
.db-social-main,
.db-social-side > article,
.db-social-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-social-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-social-summary span,
.db-social-summary small {
  color: var(--muted);
}
.db-social-summary strong {
  font-size: 22px;
}
.db-social-layout {
  display: grid;
  grid-template-columns: minmax(840px, 1.4fr) minmax(360px, .6fr);
  gap: 12px;
  align-items: start;
}
.db-social-main,
.db-social-side,
.db-social-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-social-main,
.db-social-side > article,
.db-social-grid > article {
  padding: 14px;
}
.db-social-main h3,
.db-social-side h3,
.db-social-grid h3 {
  margin: 0 0 10px;
}
.db-social-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-social-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-social-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-social-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-social-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #eef2ff;
  color: var(--muted);
  font-weight: 800;
}
.db-social-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-research-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-research-summary article,
.db-research-main,
.db-research-side > article,
.db-research-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-research-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-research-summary span,
.db-research-summary small {
  color: var(--muted);
}
.db-research-summary strong {
  font-size: 22px;
}
.db-research-layout {
  display: grid;
  grid-template-columns: minmax(840px, 1.4fr) minmax(360px, .6fr);
  gap: 12px;
  align-items: start;
}
.db-research-main,
.db-research-side,
.db-research-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-research-main,
.db-research-side > article,
.db-research-grid > article {
  padding: 14px;
}
.db-research-main h3,
.db-research-side h3,
.db-research-grid h3 {
  margin: 0 0 10px;
}
.db-research-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-research-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-research-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-research-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-research-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ecfdf3;
  color: var(--muted);
  font-weight: 800;
}
.db-research-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-education-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-education-summary article,
.db-education-main,
.db-education-side > article,
.db-education-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-education-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-education-summary span,
.db-education-summary small {
  color: var(--muted);
}
.db-education-summary strong {
  font-size: 22px;
}
.db-education-layout {
  display: grid;
  grid-template-columns: minmax(820px, 1.4fr) minmax(360px, .6fr);
  gap: 12px;
  align-items: start;
}
.db-education-main,
.db-education-side,
.db-education-grid {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.db-education-main,
.db-education-side > article,
.db-education-grid > article {
  padding: 14px;
}
.db-education-main h3,
.db-education-side h3,
.db-education-grid h3 {
  margin: 0 0 10px;
}
.db-education-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 8px;
}
.db-education-filter-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  font-weight: 800;
  color: var(--muted);
}
.db-education-filter-grid select {
  min-height: 34px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-education-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-education-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f0f9ff;
  color: var(--muted);
  font-weight: 800;
}
.db-education-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-process-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-process-summary article,
.db-process-main,
.db-process-side > article,
.db-process-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-process-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-process-summary span,
.db-process-summary small {
  color: var(--muted);
}
.db-process-summary strong {
  font-size: 22px;
}
.db-process-layout {
  display: grid;
  grid-template-columns: minmax(760px, 1.35fr) minmax(340px, .65fr);
  gap: 12px;
  align-items: start;
}
.db-process-main,
.db-process-side,
.db-process-grid {
  display: grid;
  gap: 12px;
}
.db-process-main,
.db-process-side > article,
.db-process-grid > article {
  padding: 14px;
}
.db-process-main h3,
.db-process-side h3,
.db-process-grid h3 {
  margin: 0 0 10px;
}
.db-process-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-process-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-process-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-process-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.db-process-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ecfdf3;
  font-weight: 800;
  color: var(--muted);
}
.db-process-grid {
  grid-template-columns: repeat(3, minmax(300px, 1fr));
}
.db-evidence-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-evidence-summary article,
.db-evidence-main,
.db-evidence-side > article,
.db-evidence-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-evidence-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-evidence-summary span,
.db-evidence-summary small {
  color: var(--muted);
}
.db-evidence-summary strong {
  font-size: 22px;
}
.db-evidence-layout {
  display: grid;
  grid-template-columns: minmax(700px, 1.25fr) minmax(340px, .75fr);
  gap: 12px;
  align-items: start;
}
.db-evidence-main,
.db-evidence-side,
.db-evidence-grid {
  display: grid;
  gap: 12px;
}
.db-evidence-main,
.db-evidence-side > article,
.db-evidence-grid > article {
  padding: 14px;
}
.db-evidence-main h3,
.db-evidence-side h3,
.db-evidence-grid h3 {
  margin: 0 0 10px;
}
.db-evidence-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-evidence-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-evidence-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-evidence-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.db-evidence-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #eef6ff;
  font-weight: 800;
  color: var(--muted);
}
.db-evidence-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-risk-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-risk-summary article,
.db-risk-main,
.db-risk-side > article,
.db-risk-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-risk-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-risk-summary span,
.db-risk-summary small {
  color: var(--muted);
}
.db-risk-summary strong {
  font-size: 22px;
}
.db-risk-layout {
  display: grid;
  grid-template-columns: minmax(780px, 1.35fr) minmax(340px, .65fr);
  gap: 12px;
  align-items: start;
}
.db-risk-main,
.db-risk-side,
.db-risk-grid {
  display: grid;
  gap: 12px;
}
.db-risk-main,
.db-risk-side > article,
.db-risk-grid > article {
  padding: 14px;
}
.db-risk-main h3,
.db-risk-side h3,
.db-risk-grid h3 {
  margin: 0 0 10px;
}
.db-risk-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-risk-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-risk-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-risk-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.db-risk-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff7ed;
  font-weight: 800;
  color: var(--muted);
}
.db-risk-grid {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-yokak-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-yokak-summary article,
.db-yokak-main,
.db-yokak-side > article,
.db-yokak-grid > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-yokak-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-yokak-summary span,
.db-yokak-summary small {
  color: var(--muted);
}
.db-yokak-summary strong {
  font-size: 22px;
}
.db-yokak-layout {
  display: grid;
  grid-template-columns: minmax(760px, 1.35fr) minmax(340px, .65fr);
  gap: 12px;
  align-items: start;
}
.db-yokak-main,
.db-yokak-side,
.db-yokak-grid {
  display: grid;
  gap: 12px;
}
.db-yokak-main,
.db-yokak-side > article,
.db-yokak-grid > article {
  padding: 14px;
}
.db-yokak-main h3,
.db-yokak-side h3,
.db-yokak-grid h3 {
  margin: 0 0 10px;
}
.db-yokak-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-yokak-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-yokak-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-yokak-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.db-yokak-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f8fa;
  font-weight: 800;
  color: var(--muted);
}
.db-yokak-grid {
  grid-template-columns: repeat(3, minmax(300px, 1fr));
}
.db-strategy-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-strategy-summary article,
.db-strategy-main,
.db-strategy-side > article,
.db-strategy-grid > article,
.db-strategy-priority {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-strategy-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-strategy-summary span,
.db-strategy-summary small {
  color: var(--muted);
}
.db-strategy-summary strong {
  font-size: 22px;
}
.db-strategy-layout {
  display: grid;
  grid-template-columns: minmax(760px, 1.35fr) minmax(340px, .65fr);
  gap: 12px;
  align-items: start;
}
.db-strategy-main,
.db-strategy-side,
.db-strategy-grid {
  display: grid;
  gap: 12px;
}
.db-strategy-main,
.db-strategy-side > article,
.db-strategy-grid > article,
.db-strategy-priority {
  padding: 14px;
}
.db-strategy-main h3,
.db-strategy-side h3,
.db-strategy-grid h3,
.db-strategy-priority h3 {
  margin: 0 0 10px;
}
.db-strategy-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-strategy-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-strategy-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-strategy-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.db-strategy-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f8fa;
  font-weight: 800;
  color: var(--muted);
}
.db-strategy-grid {
  grid-template-columns: repeat(3, minmax(300px, 1fr));
}
.db-performance-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-performance-summary article,
.db-performance-main,
.db-performance-side > article,
.db-performance-grid > article,
.db-performance-bottom > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-performance-summary article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-performance-summary span,
.db-performance-summary small {
  color: var(--muted);
}
.db-performance-summary strong {
  font-size: 22px;
}
.db-performance-layout {
  display: grid;
  grid-template-columns: minmax(720px, 1.3fr) minmax(340px, .7fr);
  gap: 12px;
  align-items: start;
}
.db-performance-main,
.db-performance-side,
.db-performance-grid,
.db-performance-bottom {
  display: grid;
  gap: 12px;
}
.db-performance-main,
.db-performance-side > article,
.db-performance-grid > article,
.db-performance-bottom > article {
  padding: 14px;
}
.db-performance-main h3,
.db-performance-side h3,
.db-performance-grid h3,
.db-performance-bottom h3 {
  margin: 0 0 10px;
}
.db-performance-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-performance-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-performance-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-performance-trends,
.db-performance-visuals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-performance-trends span,
.db-performance-visuals span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f8fa;
  font-weight: 800;
  color: var(--muted);
}
.db-performance-grid,
.db-performance-bottom {
  grid-template-columns: repeat(2, minmax(420px, 1fr));
}
.db-impact-source-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-impact-source-strip span,
.db-impact-visual-grid span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f8fa;
  font-weight: 800;
  color: var(--muted);
}
.db-impact-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 10px;
}
.db-impact-status-grid article,
.db-impact-records,
.db-impact-main,
.db-impact-side > article,
.db-impact-bottom > article {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.db-impact-status-grid article {
  min-height: 108px;
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: space-between;
}
.db-impact-status-grid span,
.db-impact-status-grid small,
.db-impact-records span,
.db-impact-records em,
.db-impact-selected p,
.db-impact-question-grid span {
  color: var(--muted);
}
.db-impact-status-grid strong {
  font-size: 22px;
}
.db-impact-layout {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(620px, 1.25fr) minmax(340px, .85fr);
  gap: 12px;
  align-items: start;
}
.db-impact-records,
.db-impact-main,
.db-impact-side,
.db-impact-bottom {
  display: grid;
  gap: 12px;
}
.db-impact-records,
.db-impact-main,
.db-impact-side > article,
.db-impact-bottom > article {
  padding: 14px;
}
.db-impact-records h3,
.db-impact-side h3,
.db-impact-bottom h3 {
  margin: 0;
}
.db-impact-records button {
  width: 100%;
  min-height: 92px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  text-align: left;
  display: grid;
  gap: 4px;
  cursor: pointer;
}
.db-impact-records button.active {
  border-color: var(--brand);
  background: #eef6ff;
}
.db-impact-records em {
  font-style: normal;
}
.db-impact-selected {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
}
.db-impact-selected h3 {
  margin: 4px 0 8px;
}
.db-impact-chain {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  background: #f7f8fa;
}
.db-impact-chain span {
  padding: 8px 10px;
  border-radius: 6px;
  background: #ffffff;
  border: 1px solid var(--line);
  font-weight: 800;
}
.db-impact-chain i {
  color: var(--muted);
  font-style: normal;
  font-weight: 900;
}
.db-impact-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 10px;
}
.db-impact-question-grid div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfe;
  display: grid;
  gap: 6px;
}
.db-impact-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 8px;
}
.db-impact-filter-grid label {
  display: grid;
  gap: 5px;
  font-weight: 800;
  color: var(--muted);
}
.db-impact-filter-grid select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 0 8px;
}
.db-impact-bottom {
  grid-template-columns: minmax(520px, 1fr) minmax(420px, .9fr);
}
.db-impact-visual-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.db-impact-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.db-impact-map b {
  min-height: 46px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef2ff;
  text-align: center;
}
@media (max-width: 1500px) {
  .hero {
    grid-template-columns: 1fr;
  }
  .hero > .panel {
    width: 100%;
  }
  .hero-copy {
    min-height: 0;
  }
  .db-exec-top,
  .db-exec-layout,
  .db-exec-tables,
  .db-title-panel,
  .db-lower-grid,
  .db-ai-mini-visuals,
  .db-resource-layout,
  .db-resource-grid,
  .db-map-layout,
  .db-map-grid,
  .db-personal-layout,
  .db-personal-grid,
  .db-kidr-layout,
  .db-kidr-grid,
  .db-accreditation-layout,
  .db-accreditation-grid,
  .db-student-layout,
  .db-student-grid,
  .db-social-layout,
  .db-social-grid,
  .db-research-layout,
  .db-research-grid,
  .db-education-layout,
  .db-education-grid,
  .db-process-layout,
  .db-process-grid,
  .db-evidence-layout,
  .db-evidence-grid,
  .db-risk-layout,
  .db-risk-grid,
  .db-yokak-layout,
  .db-yokak-grid,
  .db-strategy-layout,
  .db-strategy-grid,
  .db-performance-layout,
  .db-performance-grid,
  .db-performance-bottom,
  .db-impact-layout,
  .db-impact-bottom {
    grid-template-columns: 1fr;
  }
  .db-status-grid,
  .db-exec-kpis,
  .db-widget-grid,
  .db-ai-summary-grid,
  .db-resource-summary,
  .db-map-summary,
  .db-personal-summary,
  .db-kidr-summary,
  .db-accreditation-summary,
  .db-student-summary,
  .db-social-summary,
  .db-research-summary,
  .db-education-summary,
  .db-process-summary,
  .db-evidence-summary,
  .db-risk-summary,
  .db-yokak-summary,
  .db-strategy-summary,
  .db-performance-summary,
  .db-impact-status-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }
}
@media (max-width: 780px) {
  .db-exec-kpis,
  .db-exec-controls,
  .db-exec-modules,
  .db-resource-summary,
  .db-resource-filter-grid,
  .db-map-summary,
  .db-map-filter-grid,
  .db-personal-summary,
  .db-personal-filter-grid,
  .db-kidr-summary,
  .db-kidr-filter-grid,
  .db-accreditation-summary,
  .db-accreditation-filter-grid,
  .db-student-summary,
  .db-student-filter-grid,
  .db-social-summary,
  .db-social-filter-grid,
  .db-research-summary,
  .db-research-filter-grid,
  .db-education-summary,
  .db-education-filter-grid,
  .db-process-summary,
  .db-process-filter-grid,
  .db-evidence-summary,
  .db-evidence-filter-grid,
  .db-risk-summary,
  .db-risk-filter-grid,
  .db-yokak-summary,
  .db-yokak-filter-grid,
  .db-strategy-summary,
  .db-strategy-filter-grid,
  .db-performance-summary,
  .db-performance-filter-grid,
  .db-impact-status-grid,
  .db-impact-question-grid,
  .db-impact-filter-grid,
  .db-impact-map {
    grid-template-columns: 1fr;
  }
}

.kb-workspace {
  display: grid;
  gap: 16px;
}
.kb-summary-cards .metric-card {
  min-height: 112px;
}
.kb-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
}
.kb-table-scroll {
  max-height: 520px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.kb-data-table {
  min-width: 1960px;
  width: max-content;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.kb-data-table th,
.kb-data-table td {
  height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
  overflow: visible;
}
.kb-data-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  color: #667295;
  font-weight: 900;
}
.kb-data-table tbody tr {
  background: #fff;
}
.kb-data-table tbody tr:hover {
  background: #f3f4f6;
}
.kb-data-table tbody tr.selected {
  background: #e8f2ff;
}
.kb-data-table th:nth-child(1), .kb-data-table td:nth-child(1) { width: 150px; }
.kb-data-table th:nth-child(2), .kb-data-table td:nth-child(2) { width: 120px; }
.kb-data-table th:nth-child(3), .kb-data-table td:nth-child(3) { width: 170px; }
.kb-data-table th:nth-child(4), .kb-data-table td:nth-child(4) { width: 140px; }
.kb-data-table th:nth-child(5), .kb-data-table td:nth-child(5) { width: 210px; }
.kb-data-table th:nth-child(6), .kb-data-table td:nth-child(6) { width: 150px; }
.kb-data-table th:nth-child(7), .kb-data-table td:nth-child(7) { width: 220px; }
.kb-data-table th:nth-child(8), .kb-data-table td:nth-child(8) { width: 140px; }
.kb-data-table th:nth-child(9), .kb-data-table td:nth-child(9) { width: 220px; }
.kb-data-table th:nth-child(10), .kb-data-table td:nth-child(10) { width: 180px; }
.kb-data-table th:nth-child(11), .kb-data-table td:nth-child(11),
.kb-data-table th:nth-child(12), .kb-data-table td:nth-child(12) { width: 170px; }
.kb-data-table th:nth-child(13), .kb-data-table td:nth-child(13) { width: 150px; }
.kb-data-table th:nth-child(14), .kb-data-table td:nth-child(14) { width: 210px; }
.kb-template-stats {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.kb-template-stats article,
.kb-work-summary article {
  min-height: 74px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.kb-template-stats span,
.kb-work-summary span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.kb-template-stats strong,
.kb-work-summary strong {
  display: block;
  margin-top: 6px;
  font-size: 22px;
}
.kb-template-layout {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(360px, 1.2fr) minmax(280px, .8fr);
  gap: 14px;
  align-items: start;
}
.kb-template-list,
.kb-template-tree,
.kb-template-info {
  min-height: 360px;
  max-height: 460px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
}
.kb-template-list {
  display: grid;
  gap: 8px;
}
.kb-template-list button {
  min-height: 70px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  text-align: left;
}
.kb-template-list button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
}
.kb-template-list span,
.kb-section-info span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.kb-tree-line {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}
.kb-tree-line.main { background: #eef2ff; font-weight: 900; }
.kb-tree-line.sub { padding-left: 24px; }
.kb-tree-line.heading { padding-left: 42px; color: #334155; }
.kb-section-info {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.kb-work-dialog {
  width: min(96vw, 1320px);
}
.kb-new-dialog {
  width: min(92vw, 980px);
}
.kb-work-head {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.kb-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
}
.kb-work-tabs button {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #475569;
  font-weight: 900;
}
.kb-work-tabs button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
  color: #1d4ed8;
}
.kb-work-layout {
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(420px, 1.3fr) minmax(260px, .8fr);
  gap: 14px;
}
.kb-module-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(520px, 1.42fr) minmax(280px, .86fr);
  gap: 14px;
  align-items: start;
}
.kb-section-tree,
.kb-work-card {
  max-height: 64vh;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 10px;
}
.kb-section-tree button {
  width: 100%;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  min-height: 34px;
  padding: 6px 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-align: left;
}
.kb-section-tree button.main { font-weight: 900; background: #eef2ff; }
.kb-section-tree button.sub { padding-left: 18px; font-weight: 800; }
.kb-section-tree button.heading { padding-left: 34px; color: #334155; }
.kb-section-tree button.active {
  border-left: 4px solid #3b82f6;
  background: #e8f2ff;
}
.kb-section-tree button small {
  grid-column: 2;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.kb-work-main {
  display: grid;
  gap: 12px;
}
.kb-module-main {
  display: grid;
  min-width: 0;
  gap: 12px;
}
.kb-work-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
}
.kb-work-main textarea,
.kb-form-grid textarea,
.kb-new-grid textarea,
.kb-new-grid input,
.kb-new-grid select {
  width: 100%;
}
.kb-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.kb-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 800;
}
.kb-form-grid textarea[readonly] {
  background: #f8fafc;
  color: #64748b;
}
.kb-work-card {
  display: grid;
  gap: 10px;
  align-content: start;
}
.kb-module-card {
  display: grid;
  max-height: 64vh;
  overflow: auto;
  gap: 10px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
}
.kb-module-card h3 {
  margin: 0 0 4px;
}
.kb-work-card article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.kb-module-card article,
.kb-quality-analysis article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.kb-work-card span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.kb-module-card span,
.kb-quality-analysis span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.kb-quality-analysis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.kb-table-scroll.compact {
  max-height: 48vh;
}
.kb-mini-table {
  min-width: 1320px;
  width: max-content;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.kb-mini-table th,
.kb-mini-table td {
  height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
  overflow: visible;
}
.kb-mini-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f8fafc;
  color: #667295;
  font-weight: 900;
}
.kb-mini-table tbody tr {
  background: #fff;
}
.kb-mini-table tbody tr:hover {
  background: #f3f4f6;
}
.kb-mini-table tbody tr.selected {
  background: #e8f2ff;
}
.kb-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  max-height: 68vh;
  overflow: auto;
  padding-right: 4px;
}
.kb-new-grid fieldset {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.kb-new-grid legend {
  padding: 0 6px;
  font-weight: 900;
}
.kb-new-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 800;
}
.kb-new-grid .check {
  display: flex;
  align-items: center;
  color: var(--ink);
  font-weight: 700;
}
.kb-modal-actions {
  flex-wrap: wrap;
  gap: 8px;
}
.pa-relations-panel,
.pa-workflow-panel {
  display: grid;
  gap: 14px;
}
.pa-relation-layout,
.pa-workflow-layout {
  display: grid;
  grid-template-columns: minmax(240px, .78fr) minmax(440px, 1.34fr) minmax(280px, .88fr);
  gap: 14px;
  align-items: start;
}
.pa-relation-categories,
.pa-relation-records,
.pa-relation-detail,
.pa-workflow-steps,
.pa-workflow-detail,
.pa-workflow-controls {
  min-width: 0;
  max-height: 68vh;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  padding: 12px;
}
.pa-relation-categories section + section {
  margin-top: 12px;
}
.pa-relation-categories h4,
.pa-workflow-detail h4,
.pa-workflow-controls h4,
.pa-relation-records h4,
.pa-relation-detail h4 {
  margin: 0 0 10px;
}
.pa-relation-categories button,
.pa-workflow-steps button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  margin-bottom: 6px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  text-align: left;
}
.pa-relation-categories button.active,
.pa-workflow-steps button.selected {
  border-color: #93c5fd;
  background: #e8f2ff;
}
.pa-relation-categories button strong {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 24px;
  border-radius: 6px;
  background: #eef2ff;
  color: #1d4ed8;
}
.pa-relation-table .pa-work-table-row {
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  text-align: left;
}
.pa-relation-table .pa-work-table-row:hover {
  background: #f3f4f6;
}
.pa-relation-table .pa-work-table-row.selected {
  background: #e8f2ff;
}
.pa-relation-analysis {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.pa-relation-analysis article,
.pa-relation-detail article,
.pa-workflow-controls article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.pa-relation-analysis span,
.pa-relation-detail span,
.pa-workflow-controls span,
.pa-workflow-steps span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-workflow-strip article.passive {
  opacity: .62;
}
.pa-workflow-steps {
  display: grid;
  gap: 6px;
}
.pa-workflow-steps button {
  display: grid;
  justify-content: stretch;
}
.pa-workflow-steps button.done {
  border-color: #bbf7d0;
  background: #f0fdf4;
}
.pa-workflow-steps button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
}
.pa-workflow-steps button.passive {
  color: #64748b;
}
.pa-workflow-detail .pa-work-readonly.compact,
.pa-workflow-panel .pa-work-readonly.compact,
.pa-relations-panel .pa-work-readonly.compact {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}
@media (max-width: 1180px) {
  .pa-relation-layout,
  .pa-workflow-layout {
    grid-template-columns: 1fr;
  }
  .pa-relation-analysis {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }
}
@media (max-width: 1100px) {
  .kb-template-layout,
  .kb-work-layout,
  .kb-module-layout,
  .kb-new-grid {
    grid-template-columns: 1fr;
  }
  .kb-work-head {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
  .kb-form-grid {
    grid-template-columns: 1fr;
  }
  .kb-template-stats {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
  .simulation-filters,
  .simulation-work-head,
  .simulation-form-grid,
  .simulation-workflow {
    grid-template-columns: 1fr;
  }
  .simulation-work-titlebar {
    flex-direction: column;
  }
}
.awareness-ticker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 10px 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  overflow: hidden;
  min-height: 46px;
}
.ticker-label {
  flex: 0 0 auto;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.ticker-track {
  flex: 1 1 auto;
  display: block;
  min-width: 0;
  overflow: hidden;
}
.ticker-content {
  display: inline-flex;
  gap: 28px;
  align-items: center;
  white-space: nowrap;
  animation: ticker 34s linear infinite;
  will-change: transform;
}
.ticker-content span {
  flex: 0 0 auto;
  white-space: nowrap;
  color: #1e3a8a;
  font-weight: 700;
  line-height: 1.25;
}
@keyframes ticker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
.insight-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: 14px; margin-top: 14px; }
.signal-list { display:grid; gap:10px; }
.signal {
  display:grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.signal b { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:var(--surface-2); color:var(--brand); }
.ai-panel {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: linear-gradient(135deg, #f8fbff 0%, #f0fdfa 100%);
  box-shadow: var(--shadow);
}
.ai-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.ai-head h2 { margin: 4px 0; }
.ai-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.ai-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 150px;
  padding: 14px;
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  cursor: pointer;
}
.ai-card:hover {
  border-color: rgba(37, 99, 235, .42);
  background: #fff;
}
.ai-card strong { font-size: 15px; }
.ai-card p { margin: 0; color: var(--text); font-size: 13px; line-height: 1.5; }
.strategy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.strategy-card {
  display: grid;
  gap: 10px;
  min-height: 190px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  cursor: pointer;
}
.strategy-card h3 { margin: 0; font-size: 17px; }
.strategy-card .progress { margin-top: 2px; }
.strategy-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.strategy-flow article {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 156px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  cursor: pointer;
}
.strategy-flow b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #e0f2fe;
  color: #075985;
}
.strategy-flow strong { font-size: 14px; }
.strategy-flow span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.entry-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #c7d2fe;
  border-radius: 8px;
  background: #f8fbff;
  box-shadow: var(--shadow);
}
.entry-panel h2 { margin: 4px 0; }
.entry-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.entry-actions button {
  justify-content: center;
  min-height: 42px;
}
.inline-entry-form {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #bae6fd;
  border-radius: 8px;
  background: #f8fcff;
  box-shadow: var(--shadow);
}
.inline-entry-form .form-grid {
  margin-top: 12px;
}
.strategy-action-workspace {
  display: grid;
  gap: 14px;
}
.compact-head h2 {
  margin-bottom: 0;
}
.strategy-action-form {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(140px, 1fr));
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.strategy-action-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.strategy-action-form input,
.strategy-action-form select {
  width: 100%;
  min-height: 38px;
}
.strategy-action-form button {
  min-height: 38px;
}
.strategy-action-list {
  display: grid;
  gap: 8px;
}
.strategy-action-item {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(260px, .9fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}
.strategy-action-item strong,
.strategy-action-item span {
  display: block;
}
.strategy-action-item span {
  color: var(--muted);
  font-size: 12px;
}
.strategy-action-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.strategy-action-stats span {
  padding: 7px 8px;
  border-radius: 8px;
  background: var(--soft);
  color: var(--text);
  font-weight: 700;
  text-align: center;
}
.strategy-action-end {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 980px) {
  .strategy-action-form,
  .strategy-action-item {
    grid-template-columns: 1fr;
  }
  .strategy-action-stats {
    grid-template-columns: 1fr 1fr;
  }
  .strategy-action-end {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
.puko-start-form {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.puko-start-grid {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) 1.05fr;
  gap: 16px;
  align-items: start;
}
.puko-start-grid .form-grid {
  margin: 0;
}
.embedded-doc-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin-top: 6px;
}
.embedded-doc-row input[type="file"] {
  padding: 10px;
  border: 1px dashed color-mix(in srgb, var(--brand) 32%, var(--line));
  border-radius: 8px;
  background: var(--soft);
}
.puko-requirements-panel {
  min-width: 0;
}
.puko-requirement-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 7%, var(--card)), var(--card));
}
.puko-requirement-card h3 {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.35;
}
.requirement-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.requirement-columns div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--soft);
}
.requirement-columns strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}
.requirement-columns ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.action-create-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.action-create-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(280px, .8fr);
  gap: 16px;
  align-items: start;
}
.action-create-grid .form-grid { margin: 0; }
.action-guidance {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 8%, var(--card)), var(--card));
}
.action-guidance h3 {
  margin: 0 0 10px;
  font-size: 17px;
}
.action-guidance ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.action-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
  align-items: start;
}
.action-column {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 10px;
  min-width: 0;
}
.action-column-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--muted);
  font-size: 13px;
  padding: 2px 2px 4px;
}
.action-column-head span {
  border-radius: 999px;
  background: var(--card);
  border: 1px solid var(--line);
  padding: 3px 8px;
}
.action-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 10px;
}
.action-card h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
}
.action-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.action-card-actions button {
  flex: 1 1 110px;
  min-height: 34px;
}
.action-ai {
  border-color: color-mix(in srgb, var(--accent) 24%, var(--line));
}
.action-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-grid-head,
.action-grid-row {
  display: grid;
  grid-template-columns: 68px minmax(150px, 1.75fr) 88px minmax(112px, 1fr) 72px 82px 82px 82px 82px 58px minmax(120px, 1.1fr) 96px 72px;
  gap: 5px;
  align-items: center;
  min-width: 0;
}
.action-grid-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 42px;
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 900;
}
.action-grid-head span,
.action-grid-row span,
.action-grid-row strong,
.action-grid-row div {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-grid-row .progress {
  min-width: 54px;
}
.action-grid-body,
.action-grid-group,
.action-group-rows {
  display: grid;
  min-width: 0;
}
.action-group-head {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.action-group-head:hover,
.action-grid-row:hover {
  background: #f3f4f6;
}
.action-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.action-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 10.5px;
  text-align: left;
}
.action-grid-row.selected {
  background: #eff6ff;
}
.action-grid-row .tag {
  justify-self: start;
}
.action-grid-empty {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
#detailDialog.action-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.action-work-dialog .dialog-card,
#detailDialog.action-mini-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.action-mini-dialog {
  width: min(62vw, 840px);
}
#detailDialog.action-progress-dialog {
  width: min(50vw, 760px);
}
#detailDialog.action-progress-dialog .dialog-card {
  max-height: min(86vh, 720px);
  overflow-y: auto;
}
#detailDialog.action-new-dialog {
  width: min(65vw, 980px);
}
#detailDialog.action-new-dialog .dialog-card {
  max-height: min(86vh, 820px);
  overflow-y: auto;
}
#detailDialog.action-work-dialog #detailClose,
#detailDialog.action-work-dialog .detail-eyebrow,
#detailDialog.action-mini-dialog #detailClose,
#detailDialog.action-mini-dialog .detail-eyebrow,
#detailDialog.action-progress-dialog #detailClose,
#detailDialog.action-progress-dialog .detail-eyebrow,
#detailDialog.action-new-dialog .detail-eyebrow {
  display: none;
}
#detailDialog.action-new-dialog #detailClose {
  display: inline-flex;
}
.action-save-notice {
  display: grid;
  gap: 3px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 7%, #fff);
}
.action-save-notice strong {
  color: var(--ink);
  font-size: 14px;
}
.action-save-notice span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.action-progress-form {
  display: grid;
  gap: 14px;
}
.action-workflow-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.action-workflow-strip article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-workflow-strip article.active {
  border-color: color-mix(in srgb, var(--brand) 36%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
}
.action-workflow-strip article.next {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.action-workflow-strip article.terminal {
  background: #f8fafc;
}
.action-workflow-strip strong,
.action-workflow-strip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-workflow-strip strong {
  color: var(--ink);
  font-size: 12px;
}
.action-workflow-strip span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.action-progress-readonly {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.action-progress-readonly article,
.action-progress-evidence {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.action-progress-readonly span,
.action-progress-evidence span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.action-progress-readonly strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-progress-evidence button {
  justify-self: start;
}
.action-new-form {
  display: grid;
  gap: 16px;
}
.action-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-new-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}
.action-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.action-new-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.action-new-grid .full {
  grid-column: 1 / -1;
}
.action-new-grid input,
.action-new-grid select,
.action-new-grid textarea {
  width: 100%;
}
.action-new-grid input[readonly],
.action-new-grid textarea[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.action-work-form {
  display: grid;
  gap: 14px;
}
.action-work-header {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 118px 98px auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.action-work-header div,
.action-source-panel article,
.action-work-summary article,
.action-relation-grid article {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.action-work-header span,
.action-source-panel span,
.action-work-summary span,
.action-relation-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.action-work-header strong,
.action-source-panel strong,
.action-work-summary strong,
.action-relation-grid strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.action-source-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.action-work-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.action-source-panel article,
.action-work-summary article,
.action-relation-grid article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-source-panel article {
  background: #f8fafc;
}
.action-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.action-work-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
}
.action-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.action-work-section {
  display: grid;
  gap: 12px;
  min-width: 0;
  overflow-x: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.action-work-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.action-work-grid .full {
  grid-column: 1 / -1;
}
.action-work-grid input,
.action-work-grid select,
.action-work-grid textarea {
  width: 100%;
}
.action-work-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.action-relations-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.action-relation-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-relation-card header {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
.action-relation-card header div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.action-relation-card header strong {
  color: var(--ink);
  font-size: 14px;
}
.action-relation-card header span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.action-relation-card menu {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.action-relation-card button:disabled,
.action-relation-picker label.disabled {
  opacity: .45;
  cursor: not-allowed;
}
.action-relation-table {
  display: grid;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.action-relation-head,
.action-relation-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) 96px 92px;
  gap: 6px;
  align-items: center;
  min-height: 36px;
  padding: 0 8px;
}
.action-relation-head {
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.action-relation-row {
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 11px;
  text-align: left;
}
.action-relation-row:hover {
  background: #f3f4f6;
}
.action-relation-row.selected {
  background: #eff6ff;
}
.action-relation-row.readonly {
  background: #f8fafc;
}
.action-relation-head span,
.action-relation-row span,
.action-relation-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-relation-picker {
  display: grid;
  gap: 8px;
}
.action-relation-picker label {
  display: grid;
  grid-template-columns: auto 110px minmax(0, 1fr) 110px;
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.action-relation-picker strong,
.action-relation-picker span,
.action-relation-picker em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.action-relation-picker em {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}
.survey-create-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 20%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.survey-wizard {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}
.survey-wizard article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 58px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.survey-wizard article.active {
  border-color: color-mix(in srgb, var(--brand) 45%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--card));
}
.survey-wizard b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--card);
  color: var(--brand);
}
.survey-wizard strong {
  font-size: 13px;
  line-height: 1.25;
}
.survey-create-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}
.survey-create-grid .form-grid { margin: 0; }
.survey-guidance,
.survey-template-card,
.survey-card,
.survey-finding-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.survey-guidance {
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--card)), var(--card));
}
.survey-guidance h3,
.survey-template-card h3,
.survey-card h3,
.survey-finding-card h3 {
  margin: 0;
  line-height: 1.3;
}
.survey-guidance ul {
  margin: 0 0 14px;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.survey-channel-row,
.survey-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.survey-channel-row button,
.survey-card-actions button {
  flex: 1 1 128px;
  justify-content: center;
}
.question-type-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.question-type-strip span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--soft);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.survey-template-grid,
.survey-card-grid,
.survey-finding-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.survey-template-card,
.survey-card,
.survey-finding-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 14px;
  min-width: 0;
}
.survey-template-card {
  min-height: 250px;
}
.survey-card {
  min-height: 300px;
}
.survey-finding-card {
  min-height: 260px;
  border-color: color-mix(in srgb, var(--accent) 20%, var(--line));
}
.survey-insight-panel {
  border-color: color-mix(in srgb, var(--brand) 25%, var(--line));
}
.survey-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.survey-grid-head,
.survey-grid-row {
  display: grid;
  grid-template-columns: 52px minmax(105px, 1.7fr) minmax(75px, .9fr) 66px 56px 64px 64px 46px 46px 54px minmax(70px, .8fr) 54px;
  gap: 4px;
  align-items: center;
  min-width: 0;
}
.survey-grid-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 42px;
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1.12;
}
.survey-grid-head span,
.survey-grid-row span,
.survey-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.survey-grid-head span {
  white-space: normal;
}
.survey-grid-row span,
.survey-grid-row strong {
  white-space: nowrap;
}
.survey-grid-body,
.survey-grid-group,
.survey-group-rows {
  display: grid;
  min-width: 0;
}
.survey-group-head {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.survey-group-head:hover,
.survey-grid-row:hover {
  background: #f3f4f6;
}
.survey-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.survey-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 10.5px;
  text-align: left;
}
.survey-grid-row.selected {
  background: #eff6ff;
}
.survey-grid-row .tag {
  justify-self: start;
}
.survey-grid-empty {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
#detailDialog.survey-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.survey-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.survey-new-dialog {
  width: min(65vw, 980px);
}
#detailDialog.survey-new-dialog .dialog-card {
  max-height: min(86vh, 760px);
  overflow-y: auto;
}
#detailDialog.survey-work-dialog #detailClose,
#detailDialog.survey-work-dialog .detail-eyebrow,
#detailDialog.survey-new-dialog #detailClose,
#detailDialog.survey-new-dialog .detail-eyebrow {
  display: none;
}
.survey-work-form {
  display: grid;
  gap: 14px;
}
.survey-work-header {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr) 118px auto;
  gap: 10px;
  align-items: center;
}
.survey-work-header div,
.survey-work-summary article {
  display: grid;
  gap: 4px;
}
.survey-work-header span,
.survey-work-summary span {
  color: var(--muted);
  font-size: 11px;
}
.survey-work-header strong,
.survey-work-summary strong {
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.survey-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.survey-work-summary {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.survey-work-summary article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.survey-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.survey-work-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.survey-work-grid .full {
  grid-column: 1 / -1;
}
.survey-work-grid input,
.survey-work-grid select,
.survey-work-grid textarea {
  width: 100%;
}
.survey-work-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.survey-new-form {
  display: grid;
  gap: 16px;
}
.survey-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.survey-new-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.survey-new-grid .full {
  grid-column: 1 / -1;
}
.survey-new-grid input,
.survey-new-grid select,
.survey-new-grid textarea {
  width: 100%;
}
.survey-new-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.survey-audience-picker {
  display: grid;
  gap: 8px;
}
.survey-audience-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.survey-audience-options label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  min-height: 48px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.survey-audience-options label.hidden {
  display: none;
}
.survey-audience-options span {
  display: grid;
  gap: 2px;
}
.survey-audience-options strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.survey-audience-options small {
  color: var(--muted);
  font-size: 10px;
}
.survey-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.survey-work-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
}
.survey-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
  font-weight: 900;
}
.survey-work-section {
  display: grid;
  gap: 12px;
}
.survey-tab-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.survey-tab-toolbar button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.survey-mini-table {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.survey-mini-head,
.survey-mini-row {
  display: grid;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 0 10px;
}
.survey-mini-head {
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.survey-mini-row {
  border-top: 1px solid var(--line);
  color: var(--text);
  font-size: 12px;
}
.survey-mini-row:hover {
  background: #f3f4f6;
}
.survey-question-row {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  text-align: left;
}
.survey-question-row.selected {
  background: #eff6ff;
}
.survey-mini-head span,
.survey-mini-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.survey-result-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.survey-result-summary article {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.survey-result-summary span {
  color: var(--muted);
  font-size: 12px;
}
.survey-result-summary strong {
  color: var(--ink);
  font-size: 22px;
}
.survey-question-modal {
  position: relative;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.survey-question-form {
  display: grid;
  gap: 12px;
}
.survey-question-form header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.survey-question-form header h3,
.survey-question-options h3 {
  margin: 0;
}
.survey-question-options,
.survey-question-likert,
.survey-question-file {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.survey-question-options.hidden,
.survey-question-likert.hidden,
.survey-question-file.hidden {
  display: none;
}
.survey-question-options textarea,
.survey-question-likert textarea {
  width: 100%;
}
.survey-question-file {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.survey-question-file label,
.survey-question-likert label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.survey-participant-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}
.survey-participant-summary article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}
.survey-participant-summary span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.survey-participant-summary strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 18px;
}
.survey-participant-table {
  overflow-x: auto;
}
.survey-participant-table .survey-mini-head,
.survey-participant-table .survey-mini-row {
  grid-template-columns: minmax(150px, 1.2fr) minmax(120px, .9fr) minmax(150px, 1fr) minmax(190px, 1.2fr) minmax(110px, .8fr) minmax(120px, .8fr) minmax(90px, .7fr);
  min-width: 980px;
}
.survey-participant-row.manual {
  background: #f8fbff;
}
.survey-participant-row mark {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 8px;
  background: #eef2ff;
  color: #4352c7;
  font-weight: 800;
}
.survey-participant-row.manual mark {
  background: #fff4df;
  color: #8a5a00;
}
.survey-audience-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.survey-audience-checks label {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  font-weight: 800;
}
.survey-publish-panel {
  display: grid;
  gap: 14px;
}
.survey-publish-info {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.survey-publish-info article,
.survey-publish-checks article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}
.survey-publish-info span,
.survey-publish-checks span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.survey-publish-info strong,
.survey-publish-checks strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
}
.survey-publish-grid input[readonly] {
  background: #f8fafc;
}
.survey-publish-checks {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.survey-publish-checks article.ok strong {
  color: #15803d;
}
.survey-publish-checks article.missing {
  border-color: #fed7aa;
  background: #fff7ed;
}
.survey-publish-checks article.missing strong {
  color: #c2410c;
}
.survey-preview-sheet {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.survey-preview-sheet h2,
.survey-preview-sheet p {
  margin: 0;
}
.survey-preview-sheet article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.survey-preview-sheet small {
  color: var(--muted);
  font-weight: 800;
}
.survey-preview-sheet input,
.survey-preview-sheet textarea {
  width: 100%;
}
.survey-preview-options {
  display: grid;
  gap: 6px;
}
.survey-preview-options label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.feedback-journey {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.feedback-journey article {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.feedback-journey article.active {
  border-color: color-mix(in srgb, var(--brand) 32%, var(--line));
  background: color-mix(in srgb, var(--brand) 7%, var(--card));
}
.feedback-journey b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--card);
  color: var(--brand);
}
.feedback-journey strong {
  font-size: 13px;
  line-height: 1.25;
}
.feedback-create-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.feedback-create-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}
.feedback-create-grid .form-grid { margin: 0; }
.feedback-guidance,
.feedback-card,
.feedback-group-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.feedback-guidance {
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 8%, var(--card)), var(--card));
}
.feedback-guidance h3,
.feedback-card h3 {
  margin: 0;
  line-height: 1.3;
}
.feedback-guidance ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.feedback-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.feedback-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
  padding: 14px;
}
.feedback-result {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 7%, var(--card));
}
.feedback-result span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.feedback-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.feedback-card-actions button {
  flex: 1 1 128px;
  justify-content: center;
}
.feedback-insight-panel {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}
.feedback-group-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.feedback-group-card {
  display: grid;
  gap: 6px;
  min-height: 112px;
  align-content: center;
  padding: 14px;
}
.feedback-group-card span,
.feedback-group-card small {
  color: var(--muted);
}
.feedback-group-card strong {
  font-size: 30px;
  line-height: 1;
}
.feedback-workspace {
  display: grid;
  gap: 18px;
}
.feedback-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
  gap: 14px;
  align-items: start;
}
.feedback-left {
  min-width: 0;
}
.feedback-summary-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.feedback-summary-cards button {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 112px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  color: var(--text);
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(16, 24, 40, .06);
}
.feedback-summary-cards button.active {
  border-color: color-mix(in srgb, var(--brand) 42%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--card));
}
.feedback-card-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  color: #fff;
  font-size: 25px;
  font-weight: 900;
}
.feedback-card-icon.blue { background: #1d4ed8; }
.feedback-card-icon.sky { background: #3b9df4; }
.feedback-card-icon.amber { background: #f59e0b; }
.feedback-card-icon.red { background: #ef3349; }
.feedback-card-icon.green { background: #22c587; }
.feedback-card-copy {
  display: grid;
  gap: 6px;
}
.feedback-card-copy b {
  color: var(--muted);
  font-weight: 700;
  font-size: 15px;
}
.feedback-card-copy strong {
  font-size: 32px;
  line-height: 1;
}
.feedback-card-copy small {
  color: var(--muted);
  font-weight: 700;
}
.feedback-summary-cards i {
  color: var(--muted);
  font-style: normal;
  font-size: 28px;
}
.feedback-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
}
.feedback-toolbar-left,
.feedback-toolbar-right {
  display: grid;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16, 24, 40, .04);
}
.feedback-toolbar-left {
  grid-template-columns: auto minmax(190px, 1.1fr) repeat(4, minmax(120px, .72fr));
  gap: 8px;
}
.feedback-toolbar-right {
  grid-template-columns: repeat(3, auto);
  gap: 10px;
  justify-content: end;
}
.feedback-toolbar-left label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.feedback-toolbar-left label > span {
  padding-left: 2px;
}
.feedback-toolbar-left input,
.feedback-toolbar-left select {
  width: 100%;
  min-height: 44px;
}
.feedback-search {
  position: relative;
  min-width: 180px;
}
.feedback-search span {
  position: absolute;
  right: 12px;
  bottom: 10px;
  color: var(--muted);
  font-size: 20px;
}
.feedback-new-btn {
  min-height: 44px;
  padding-inline: 20px;
}
.feedback-list-panel {
  padding: 0;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .06);
}
.feedback-list-panel table {
  margin: 0;
}
.feedback-list-panel tbody tr:has(.feedback-row-title.active) {
  background: #eef5ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.feedback-list-panel th,
.feedback-list-panel td {
  vertical-align: middle;
}
.feedback-list-panel input[type="checkbox"] {
  width: 16px;
  height: 16px;
}
.icon-button {
  min-width: 36px;
  width: 36px;
  padding: 0;
  justify-content: center;
  font-size: 18px;
}
.feedback-row-title {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.feedback-row-title strong {
  font-size: 13px;
  line-height: 1.25;
}
.feedback-row-title span {
  color: var(--muted);
  font-size: 12px;
}
.feedback-row-title.active strong {
  color: var(--brand);
}
.feedback-list-workspace {
  min-width: 0;
}
.feedback-list-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(16, 24, 40, .04);
}
.feedback-grouped-grid {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(16, 24, 40, .06);
  overflow: hidden;
}
.feedback-grid-scroll {
  max-height: 620px;
  overflow: auto;
}
.feedback-grid-head,
.feedback-grid-row {
  display: grid;
  grid-template-columns: 120px 160px minmax(300px, 1.6fr) 150px 160px 110px 120px 150px 130px 160px 220px 190px;
  gap: 10px;
  align-items: center;
  min-width: 1980px;
}
.feedback-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.feedback-grid-head span,
.feedback-grid-row span,
.feedback-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-grid-body,
.feedback-grid-group,
.feedback-group-rows {
  display: grid;
  min-width: 0;
}
.feedback-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.feedback-group-head:hover,
.feedback-grid-row:hover {
  background: #f3f4f6;
}
.feedback-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.feedback-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 12px;
  text-align: left;
}
.feedback-grid-row.selected {
  background: #eff6ff;
}
.feedback-grid-row .tag {
  justify-self: start;
  max-width: 100%;
}
.feedback-grid-empty {
  padding: 14px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
#detailDialog.feedback-work-dialog {
  width: min(80vw, 1260px);
  max-height: calc(100vh - 46px);
}
#detailDialog.feedback-work-dialog #detailBody {
  max-height: calc(100vh - 150px);
  overflow: auto;
}
#detailDialog.feedback-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.feedback-new-dialog .dialog-card {
  max-height: min(88vh, 820px);
  overflow: auto;
}
#detailDialog.feedback-new-dialog #detailEyebrow {
  display: none;
}
#detailDialog.feedback-new-dialog #detailBody {
  max-height: calc(88vh - 120px);
  overflow: auto;
}
.feedback-work-form {
  display: grid;
  gap: 14px;
}
.feedback-new-form {
  display: grid;
  gap: 14px;
}
.feedback-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-new-section h3 {
  margin: 0;
  font-size: 15px;
}
.feedback-work-header {
  display: grid;
  grid-template-columns: 110px 170px minmax(0, 1fr) 140px auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.feedback-work-header div,
.feedback-work-summary div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.feedback-work-header span,
.feedback-work-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.feedback-work-header strong,
.feedback-work-summary strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.feedback-work-header menu {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.feedback-work-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.feedback-work-summary div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.feedback-work-tabs button {
  min-height: 38px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
}
.feedback-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 40%, var(--line));
  background: color-mix(in srgb, var(--brand) 7%, #fff);
  color: var(--brand);
}
.feedback-work-section {
  min-height: 300px;
}
.feedback-classification {
  display: grid;
  gap: 14px;
}
.feedback-stakeholder-panel {
  display: grid;
  gap: 14px;
}
.feedback-result-panel {
  display: grid;
  gap: 14px;
}
.feedback-classification-summary {
  display: grid;
  grid-template-columns: 120px 180px minmax(220px, 1fr) 130px 150px;
  gap: 10px;
}
.feedback-classification-summary div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.feedback-classification-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.feedback-classification-summary strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.feedback-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.feedback-work-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.feedback-work-grid label.full {
  grid-column: 1 / -1;
}
.feedback-work-grid input,
.feedback-work-grid select,
.feedback-work-grid textarea {
  width: 100%;
  color: var(--text);
  font-weight: 650;
}
.feedback-suggestion-box {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 5%, #fff);
}
.feedback-suggestion-box span,
.feedback-suggestion-box small {
  color: var(--muted);
  font-weight: 750;
}
.feedback-suggestion-box strong {
  font-size: 16px;
}
.feedback-decision-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-decision-options label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 34px;
  color: var(--text);
  font-size: 12px;
}
.feedback-decision-options input {
  width: 16px;
  height: 16px;
}
.feedback-result-actions {
  position: sticky;
  bottom: 0;
  justify-content: flex-end;
  background: #fff;
  z-index: 2;
}
.feedback-decision-table {
  display: grid;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-decision-head,
.feedback-decision-row {
  display: grid;
  grid-template-columns: 220px 190px minmax(190px, 1fr) 130px 170px;
  gap: 10px;
  align-items: center;
  min-width: 920px;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
.feedback-decision-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.feedback-decision-row {
  color: var(--text);
  font-size: 12px;
}
.feedback-decision-row span,
.feedback-decision-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-decision-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.feedback-decision-list h3 {
  margin: 0;
  font-size: 15px;
}
.feedback-decision-list article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-decision-list small,
.feedback-decision-list span {
  color: var(--muted);
}
.feedback-relation-groups {
  display: grid;
  gap: 14px;
}
.feedback-relation-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-relation-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.feedback-relation-card > header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 26px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--brand);
  font-weight: 900;
}
.feedback-relation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.feedback-work-table {
  display: grid;
  gap: 0;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.feedback-relation-head,
.feedback-relation-row,
.feedback-history-head,
.feedback-history-row {
  display: grid;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
.feedback-relation-head,
.feedback-relation-row {
  grid-template-columns: 190px 150px minmax(280px, 1fr) 170px 150px;
  min-width: 980px;
}
.feedback-history-head,
.feedback-history-row {
  grid-template-columns: 190px 180px 160px minmax(300px, 1fr);
  min-width: 850px;
}
.feedback-relation-head,
.feedback-history-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.feedback-relation-row {
  border-inline: 0;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  background: #fff;
  color: var(--text);
  text-align: left;
}
.feedback-relation-row.selected {
  background: #eaf2ff;
}
.feedback-relation-row.auto span:last-child {
  color: var(--muted);
}
.feedback-relation-picker form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 220px;
  gap: 12px;
}
.feedback-related-record {
  display: grid;
  gap: 14px;
}
.feedback-workflow {
  display: grid;
  gap: 16px;
}
.feedback-workflow-top {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.feedback-workflow-top > div {
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-workflow-top span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.feedback-workflow-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.feedback-workflow-steps li {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.feedback-workflow-steps li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--brand);
  font-weight: 900;
}
.feedback-workflow-steps li.done {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.feedback-workflow-steps li.active {
  background: #eff6ff;
  border-color: #bfdbfe;
  box-shadow: inset 0 0 0 1px #bfdbfe;
}
.feedback-workflow-steps li.waiting {
  color: var(--muted);
}
.feedback-workflow-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.feedback-workflow-history-head,
.feedback-workflow-history-row {
  display: grid;
  grid-template-columns: 160px 160px 180px 170px minmax(320px, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 42px;
  min-width: 990px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
.feedback-workflow-history-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.feedback-workflow-history-row {
  background: #fff;
}
.feedback-history-row {
  background: #fff;
}
.feedback-relation-row:hover {
  background: #f3f4f6;
}
.feedback-work-actions {
  position: sticky;
  bottom: 0;
  background: #fff;
}
.feedback-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
  background: var(--card);
}
.feedback-pagination > span {
  color: var(--muted);
  font-weight: 700;
}
.feedback-pagination > div {
  display: flex;
  gap: 6px;
  align-items: center;
}
.feedback-pagination button {
  min-height: 36px;
  min-width: 38px;
  justify-content: center;
}
.feedback-detail-panel {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 12px;
  max-height: calc(100vh - 118px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 8px 22px rgba(16, 24, 40, .06);
}
.feedback-side-content {
  display: grid;
  gap: 18px;
}
.feedback-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.feedback-detail-head h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}
.feedback-side-block {
  display: grid;
  gap: 10px;
}
.feedback-side-block h3 {
  margin: 0;
  font-size: 15px;
}
.feedback-detail-list {
  display: grid;
  grid-template-columns: minmax(110px, .75fr) 1fr;
  gap: 11px 14px;
  margin: 0;
}
.feedback-detail-list dt {
  color: var(--muted);
  font-weight: 800;
}
.feedback-detail-list dd {
  margin: 0;
  font-weight: 700;
}
.feedback-relation-tiles {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.feedback-relation-tile {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-height: 86px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  color: var(--text);
  text-align: center;
}
.feedback-relation-tile span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--brand);
  font-weight: 900;
}
.feedback-relation-tile b {
  color: var(--muted);
  font-size: 11px;
}
.feedback-relation-tile strong {
  font-size: 14px;
}
.feedback-owner-strip {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.feedback-owner-strip > div {
  display: grid;
  gap: 2px;
}
.feedback-owner-strip small,
.feedback-owner-strip span {
  color: var(--muted);
}
.avatar-dot {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--brand);
}
.feedback-side-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
}
.feedback-side-actions button {
  flex: 1 1 auto;
  justify-content: center;
}
.feedback-row-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.feedback-row-menu button {
  justify-content: center;
}
.feedback-row-menu .danger {
  border-color: #fecaca;
  color: #991b1b;
}
.feedback-popup-form {
  margin-top: 8px;
}
.feedback-detail-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.feedback-detail-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--muted);
}
.feedback-detail-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--card));
  color: var(--brand);
}
.feedback-relation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.feedback-relation-grid article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.feedback-relation-grid span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 980px) {
  .feedback-summary-cards,
  .feedback-relation-grid,
  .feedback-relation-tiles {
    grid-template-columns: 1fr 1fr;
  }
  .feedback-main-layout,
  .feedback-toolbar,
  .feedback-toolbar-left,
  .feedback-toolbar-right {
    grid-template-columns: 1fr;
  }
  .feedback-toolbar-right {
    justify-content: stretch;
  }
  .feedback-detail-panel {
    position: static;
    max-height: none;
  }
  .feedback-side-actions,
  .feedback-owner-strip {
    flex-wrap: wrap;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .feedback-summary-cards,
  .feedback-row-menu,
  .feedback-relation-grid,
  .feedback-relation-tiles,
  .feedback-detail-list {
    grid-template-columns: 1fr;
  }
  .feedback-pagination,
  .feedback-pagination > div {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.document-lifecycle {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.document-lifecycle article {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.document-lifecycle article.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 7%, var(--card));
}
.document-lifecycle b,
.document-workflow-grid b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--card);
  color: var(--brand);
}
.document-lifecycle strong {
  font-size: 13px;
  line-height: 1.25;
}
.document-create-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.document-create-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}
.document-create-grid .form-grid { margin: 0; }
.document-guidance,
.document-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.document-guidance {
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--card)), var(--card));
}
.document-guidance h3,
.document-card h3 {
  margin: 0;
  line-height: 1.3;
}
.document-guidance ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.document-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.document-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
  padding: 14px;
}
.document-result {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 6%, var(--card));
}
.document-result span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.document-card-actions,
.document-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.document-card-actions button,
.document-quick-actions button {
  flex: 1 1 128px;
  justify-content: center;
}
.education-program-panel {
  overflow: hidden;
}
.education-program-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.education-program-head,
.education-program-row {
  display: grid;
  grid-template-columns: 128px minmax(320px, 1.8fr) 230px 230px 160px 160px 132px 96px 126px 150px 180px;
  min-width: 1912px;
  align-items: center;
}
.education-program-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
}
.education-program-head span {
  padding: 0 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.education-program-body,
.education-program-group,
.education-program-rows {
  display: grid;
  min-width: 1912px;
}
.education-program-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.education-program-group-head:hover,
.education-program-row:hover {
  background: #f3f4f6;
}
.education-program-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.education-program-row {
  width: 100%;
  min-height: 42px;
  max-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.education-program-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-program-row span,
.education-program-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12.5px;
}
.education-program-row strong {
  font-weight: 900;
}
.education-program-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.pa-list-panel {
  overflow: hidden;
}
.pa-filter-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.pa-filter-bar label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-filter-bar select {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}
.pa-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-grid-head,
.pa-grid-row {
  display: grid;
  grid-template-columns: 150px 320px 250px 230px 250px 150px 230px 240px 150px 150px 190px 170px 320px;
  min-width: 2950px;
  align-items: center;
}
.pa-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.pa-grid-head span {
  padding: 0 12px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-grid-body,
.pa-grid-group,
.pa-grid-rows {
  display: grid;
  min-width: 2950px;
}
.pa-grid-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  list-style: none;
}
.pa-grid-group-head::-webkit-details-marker {
  display: none;
}
.pa-grid-group-head::before {
  content: ">";
  color: var(--brand);
  font-weight: 900;
}
.pa-grid-group[open] > .pa-grid-group-head::before {
  content: "v";
}
.pa-grid-group-head:hover,
.pa-grid-row:hover {
  background: #f3f4f6;
}
.pa-grid-group-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-grid-row {
  width: 100%;
  min-height: 42px;
  max-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.pa-grid-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.pa-grid-row span,
.pa-grid-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: hidden;
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-grid-row strong {
  font-weight: 900;
}
.pa-grid-row .tag {
  justify-self: start;
  max-width: 100%;
}
.pa-grid-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.pa-std-panel {
  overflow: hidden;
  margin-bottom: 14px;
}
.pa-std-shell {
  display: grid;
  grid-template-columns: 340px minmax(780px, 1fr);
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.pa-std-tree,
.pa-std-work {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-std-tree {
  width: 340px;
  max-height: 680px;
  overflow: auto;
  padding: 12px;
}
.pa-std-tree h3 {
  margin: 0 0 10px;
  font-size: 15px;
}
.pa-std-node {
  margin: 4px 0 4px 12px;
}
.pa-std-node:first-of-type {
  margin-left: 0;
}
.pa-std-node summary {
  list-style: none;
}
.pa-std-node summary::-webkit-details-marker {
  display: none;
}
.pa-std-node summary::before {
  content: ">";
  display: inline-block;
  width: 14px;
  color: var(--muted);
}
.pa-std-node[open] > summary::before {
  content: "v";
}
.pa-std-node button,
.pa-std-leaf {
  width: calc(100% - 18px);
  min-height: 34px;
  margin: 2px 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  text-align: left;
  cursor: pointer;
  color: var(--text);
}
.pa-std-leaf {
  margin-left: 36px;
}
.pa-std-node button:hover,
.pa-std-leaf:hover {
  background: #f3f4f6;
}
.pa-std-node button.selected,
.pa-std-leaf.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.pa-std-node span,
.pa-std-leaf span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-std-node strong,
.pa-std-leaf strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-std-node em {
  font-size: 11px;
  font-style: normal;
  color: #92400e;
}
.pa-std-work {
  min-width: 780px;
  display: grid;
  gap: 12px;
  padding: 12px;
}
.pa-std-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pa-std-actions button {
  min-height: 34px;
}
.pa-std-selected {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #eff6ff;
}
.pa-std-selected span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.pa-std-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pa-std-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-std-form .full {
  grid-column: 1 / -1;
}
.pa-std-form input,
.pa-std-form select,
.pa-std-form textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  color: var(--text);
  background: #fff;
}
.pa-std-form input[readonly],
.pa-std-form textarea[readonly],
.pa-std-form select:disabled {
  background: #f8fafc;
  color: var(--muted);
}
.pa-std-detail-blocks {
  display: grid;
  gap: 12px;
}
.pa-std-detail-blocks h4 {
  margin: 0 0 8px;
  font-size: 14px;
}
#detailDialog.program-accreditation-dialog {
  width: min(80vw, 1240px);
  max-height: calc(100vh - 40px);
}
#detailDialog.program-accreditation-new-dialog {
  width: min(70vw, 1080px);
  max-height: calc(100vh - 40px);
}
.pa-work-modal {
  display: grid;
  gap: 14px;
}
#detailDialog.program-accreditation-dialog #detailClose,
#detailDialog.program-accreditation-new-dialog #detailClose {
  display: none;
}
#detailDialog.program-accreditation-dialog .dialog-card,
#detailDialog.program-accreditation-new-dialog .dialog-card {
  max-height: calc(100vh - 56px);
  overflow: auto;
}
.pa-work-form {
  display: grid;
  gap: 14px;
}
.pa-work-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: -6px;
}
.pa-work-top,
.pa-work-readonly {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pa-work-readonly.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pa-work-top article,
.pa-work-readonly article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-work-top span,
.pa-work-readonly span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.pa-work-top strong,
.pa-work-readonly strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.pa-work-tabs button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
}
.pa-work-tabs button.active {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--brand);
  font-weight: 900;
}
.pa-work-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-criteria-management {
  overflow-x: auto;
}
.pa-criteria-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 10px;
  min-width: 980px;
  align-items: end;
}
.pa-criteria-filters label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-criteria-filters label:has(input[type="checkbox"]) {
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  color: var(--text);
}
.pa-criteria-filters input,
.pa-criteria-filters select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  font: inherit;
}
.pa-criteria-shell {
  display: grid;
  grid-template-columns: 360px minmax(780px, 1fr);
  gap: 14px;
  min-width: 1160px;
}
.pa-criteria-tree,
.pa-criteria-work {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-criteria-tree {
  width: 360px;
  max-height: 660px;
  overflow: auto;
  padding: 12px;
}
.pa-criteria-tree h4,
.pa-criteria-detail h4 {
  margin: 0 0 8px;
  font-size: 14px;
}
.pa-criteria-branch {
  margin: 5px 0;
}
.pa-criteria-branch summary {
  list-style: none;
}
.pa-criteria-branch summary::-webkit-details-marker {
  display: none;
}
.pa-criteria-node {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 5px 8px;
  align-items: center;
  padding: 7px 9px;
  text-align: left;
  cursor: pointer;
}
.pa-criteria-branch .pa-criteria-node:not(summary .pa-criteria-node) {
  margin-left: 22px;
  width: calc(100% - 22px);
}
.pa-criteria-node:hover {
  background: #f3f4f6;
}
.pa-criteria-node.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.pa-criteria-node span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.pa-criteria-node strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-criteria-node small,
.pa-criteria-node em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.pa-criteria-work {
  min-width: 780px;
  padding: 12px;
}
.pa-criteria-detail {
  display: grid;
  gap: 12px;
}
.pa-criteria-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pa-criteria-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-criteria-form .full {
  grid-column: 1 / -1;
}
.pa-criteria-form input,
.pa-criteria-form select,
.pa-criteria-form textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  color: var(--text);
  background: #fff;
}
.pa-criteria-form select[multiple] {
  min-height: 90px;
}
.pa-self-management {
  overflow-x: auto;
}
.pa-self-shell {
  display: grid;
  grid-template-columns: 360px minmax(860px, 1fr);
  gap: 14px;
  min-width: 1220px;
}
.pa-self-work {
  min-width: 860px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.pa-self-detail,
.pa-self-form,
.pa-self-list {
  display: grid;
  gap: 12px;
}
.pa-self-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pa-self-grid .full {
  grid-column: 1 / -1;
}
.pa-self-grid label,
.pa-self-list-row label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-self-grid input,
.pa-self-grid select,
.pa-self-grid textarea,
.pa-self-list-row input,
.pa-self-list-row select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  color: var(--text);
  background: #fff;
}
.pa-self-grid textarea {
  resize: vertical;
}
.pa-self-list-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, 1fr));
  gap: 10px;
}
.pa-self-decision {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #f8fafc;
  color: var(--text);
  font-weight: 800;
}
.pa-self-decision.warn {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}
.pa-def-management {
  overflow-x: auto;
}
.pa-def-shell {
  display: grid;
  grid-template-columns: 360px minmax(940px, 1fr);
  gap: 14px;
  min-width: 1300px;
}
.pa-def-work {
  min-width: 940px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 12px;
}
.pa-def-form-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fbfdff;
}
.pa-def-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pa-def-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-def-form .full {
  grid-column: 1 / -1;
}
.pa-def-form input,
.pa-def-form select,
.pa-def-form textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  color: var(--text);
  background: #fff;
}
.pa-def-table .pa-work-table-row {
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.pa-def-table .pa-work-table-row:hover {
  background: #f3f4f6;
}
.pa-def-table .pa-work-table-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.pa-inline-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.pa-inline-actions button {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 6px 8px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.pa-calc-management {
  overflow-x: auto;
  display: grid;
  gap: 12px;
}
.pa-calc-management section {
  min-width: 980px;
}
.pa-app-management {
  overflow-x: auto;
  display: grid;
  gap: 12px;
}
.pa-app-shell {
  display: grid;
  grid-template-columns: 300px minmax(680px, 1fr) 340px;
  gap: 14px;
  min-width: 1340px;
}
.pa-app-tree,
.pa-app-middle,
.pa-app-controls {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.pa-app-tree {
  display: grid;
  align-content: start;
  gap: 8px;
  max-height: 720px;
  overflow: auto;
}
.pa-app-section {
  border: 1px solid transparent;
  border-radius: 8px;
  background: #fff;
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
}
.pa-app-section:hover {
  background: #f3f4f6;
}
.pa-app-section.selected {
  background: #eff6ff;
  border-color: #bfdbfe;
  box-shadow: inset 3px 0 0 var(--brand);
}
.pa-app-section strong {
  color: var(--text);
}
.pa-app-section span,
.pa-app-section em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.pa-app-middle,
.pa-app-content,
.pa-app-controls {
  display: grid;
  gap: 12px;
  align-content: start;
}
.pa-app-auto {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;
  color: var(--text);
}
.pa-app-auto ul {
  margin: 0;
  padding-left: 20px;
}
.pa-app-form {
  display: grid;
  gap: 12px;
}
.pa-app-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-app-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  resize: vertical;
}
.pa-visit-management,
.pa-finding-management {
  overflow-x: auto;
  display: grid;
  gap: 12px;
}
.pa-visit-shell {
  display: grid;
  grid-template-columns: 300px minmax(760px, 1fr) 340px;
  gap: 14px;
  min-width: 1420px;
}
.pa-visit-categories,
.pa-visit-middle,
.pa-visit-status {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 10px;
  align-content: start;
}
.pa-visit-categories {
  max-height: 720px;
  overflow: auto;
}
.pa-finding-shell {
  display: grid;
  grid-template-columns: 340px minmax(720px, 1fr) 420px;
  gap: 14px;
  min-width: 1500px;
}
.pa-finding-list,
.pa-finding-work {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
  display: grid;
  gap: 12px;
  align-content: start;
}
.pa-finding-work {
  max-height: 760px;
  overflow: auto;
}
.pa-finding-card {
  display: grid;
  gap: 12px;
}
.pa-finding-card .pa-def-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pa-tab-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.pa-work-table {
  display: grid;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.pa-work-table-head,
.pa-work-table-row {
  display: grid;
  grid-template-columns: repeat(var(--pa-work-cols, 4), minmax(160px, 1fr));
  min-width: var(--pa-work-min, 720px);
  align-items: center;
}
.pa-work-table-head {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 38px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.pa-work-table-head span,
.pa-work-table-row span {
  min-width: 0;
  padding: 9px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-work-table-row {
  min-height: 40px;
  border-top: 1px solid var(--line);
  background: #fff;
}
.pa-workflow-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 8px;
}
.pa-workflow-strip article {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.pa-workflow-strip article.done {
  background: #ecfdf5;
}
.pa-workflow-strip article.active {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.pa-workflow-strip span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-weight: 900;
}
.pa-workflow-strip strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pa-new-form {
  display: grid;
  gap: 14px;
}
.pa-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pa-new-section h3 {
  margin: 0;
  font-size: 15px;
}
.pa-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pa-new-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.pa-new-grid .full {
  grid-column: 1 / -1;
}
.pa-new-grid input,
.pa-new-grid select,
.pa-new-grid textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}
.pa-new-grid input[readonly],
.pa-new-grid textarea[readonly],
.pa-new-grid select:disabled {
  background: #f8fafc;
  color: var(--muted);
}
.pa-new-grid select[multiple] {
  min-height: 92px;
  padding: 6px;
}
.pa-new-defaults {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pa-new-defaults span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.research-list-panel {
  overflow: hidden;
}
.research-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.research-grid-head,
.research-grid-row {
  display: grid;
  grid-template-columns: 128px minmax(340px, 1.9fr) 190px 180px 190px 190px 140px 140px 150px 160px 170px 190px;
  min-width: 2168px;
  align-items: center;
}
.research-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.research-grid-head span {
  padding: 0 12px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-grid-body,
.research-grid-group,
.research-grid-rows {
  display: grid;
  min-width: 2168px;
}
.research-grid-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  list-style: none;
}
.research-grid-group-head::-webkit-details-marker {
  display: none;
}
.research-grid-group-head::before {
  content: "▸";
  color: var(--brand);
  font-weight: 900;
}
.research-grid-group[open] > .research-grid-group-head::before {
  content: "▾";
}
.research-grid-group-head:hover,
.research-grid-row:hover {
  background: #f3f4f6;
}
.research-grid-group-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.research-grid-row {
  width: 100%;
  min-height: 42px;
  max-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.research-grid-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.research-grid-row span,
.research-grid-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: hidden;
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-grid-row strong {
  font-weight: 900;
}
.research-grid-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
#detailDialog.research-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.research-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.research-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.research-new-dialog .dialog-card {
  max-height: min(86vh, 820px);
  overflow-y: auto;
}
#detailDialog.research-new-dialog .detail-eyebrow {
  display: none;
}
.om-list-panel {
  overflow: hidden;
}
.om-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.om-grid-head,
.om-grid-row {
  display: grid;
  grid-template-columns: 130px minmax(260px, 1.5fr) 220px 210px 210px 160px 190px 160px 160px 170px 230px;
  min-width: 2100px;
  align-items: center;
}
.om-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.om-grid-head span {
  padding: 0 12px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-grid-body,
.om-grid-group,
.om-grid-rows {
  display: grid;
  min-width: 2100px;
}
.om-grid-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.om-grid-group-head::-webkit-details-marker {
  display: none;
}
.om-grid-group-head:hover,
.om-grid-row:hover {
  background: #f3f4f6;
}
.om-grid-group-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.om-grid-row {
  width: 100%;
  min-height: 42px;
  max-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.om-grid-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.om-grid-row span,
.om-grid-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: hidden;
  font-size: 12.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.om-grid-row strong {
  font-weight: 900;
}
.om-grid-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
#detailDialog.om-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.om-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.om-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.om-new-dialog .dialog-card {
  max-height: min(86vh, 840px);
  overflow-y: auto;
}
#detailDialog.om-work-dialog .research-work-header {
  grid-template-columns: 140px minmax(240px, 1.4fr) minmax(220px, 1.2fr) 190px auto;
}
#detailDialog.om-work-dialog .research-work-info {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}
#detailDialog.om-new-dialog input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.tk-list-panel {
  overflow: hidden;
}
.tk-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.tk-grid-head,
.tk-grid-row {
  display: grid;
  grid-template-columns: 130px 360px 300px 250px 220px 160px 160px 210px 170px 180px 180px 280px;
  min-width: 2600px;
  align-items: center;
}
.tk-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.tk-grid-head span {
  padding: 0 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.tk-grid-body,
.tk-grid-group,
.tk-grid-rows {
  display: grid;
  min-width: 2600px;
}
.tk-grid-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.tk-grid-group-head::-webkit-details-marker {
  display: none;
}
.tk-grid-group-head:hover,
.tk-grid-row:hover {
  background: #f3f4f6;
}
.tk-grid-group-head small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.tk-grid-row {
  width: 100%;
  min-height: 42px;
  max-height: 44px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.tk-grid-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.tk-grid-row span,
.tk-grid-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: visible;
  font-size: 12.5px;
  line-height: 1.2;
  white-space: nowrap;
}
.tk-grid-row strong {
  font-weight: 900;
}
.tk-grid-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
#detailDialog.social-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.social-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.social-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.social-new-dialog .dialog-card {
  max-height: min(86vh, 840px);
  overflow-y: auto;
}
#detailDialog.social-new-dialog .detail-eyebrow {
  display: none;
}
#detailDialog.social-new-dialog input[readonly] {
  background: #f8fafc;
  color: var(--muted);
  cursor: not-allowed;
}
#detailDialog.social-new-dialog select[multiple] {
  min-height: 132px;
}
.tk-gantt {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.tk-gantt-row {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(260px, 1fr);
  align-items: center;
  min-height: 30px;
}
.tk-gantt-row span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.tk-gantt-row::after {
  content: "";
  grid-column: 2;
  height: 10px;
  border-radius: 999px;
  background: #e5e7eb;
}
.tk-gantt-row i {
  position: absolute;
  top: 10px;
  grid-column: 2;
  height: 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 74%, #ffffff);
}
.research-work-form {
  display: grid;
  gap: 14px;
}
.research-new-form {
  display: grid;
  gap: 14px;
}
.research-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.research-new-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}
.research-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.research-new-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.research-new-grid .full {
  grid-column: 1 / -1;
}
.research-new-grid input,
.research-new-grid select,
.research-new-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
.research-new-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.research-work-header,
.research-work-summary {
  display: grid;
  gap: 10px;
}
.research-work-header {
  grid-template-columns: 130px minmax(260px, 1.6fr) 180px 150px auto;
}
.research-work-summary {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.research-work-header article,
.research-work-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.research-work-header span,
.research-work-summary span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.research-work-header strong,
.research-work-summary strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-work-header menu,
.research-work-actions,
.research-work-tabs,
.research-work-form .dialog-actions {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.research-work-header menu {
  align-self: center;
  justify-content: flex-end;
}
.research-work-tabs {
  flex-wrap: wrap;
}
.research-work-tabs button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 850;
}
.research-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.research-work-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.research-project-block {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.research-project-block h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}
.research-project-block .section-head {
  margin-top: 0;
}
.research-project-block .section-head.compact {
  align-items: center;
}
.research-project-block .section-head.compact h3 {
  margin: 0;
}
.research-work-warning {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #fde68a;
  border-radius: 8px;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  font-weight: 850;
}
.research-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.research-work-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.research-work-grid .full {
  grid-column: 1 / -1;
}
.research-work-grid input,
.research-work-grid select,
.research-work-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
.research-work-info {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.research-work-info article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.research-work-info span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.research-work-info strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-work-table {
  display: grid;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.research-work-table-head,
.research-work-table-row {
  display: grid;
  grid-template-columns: repeat(var(--research-work-cols, 4), minmax(170px, 1fr));
  min-width: var(--research-work-min, 720px);
  align-items: center;
}
.research-work-table-head {
  min-height: 38px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.research-work-table-head span,
.research-work-table-row span {
  min-width: 0;
  padding: 9px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.research-work-table-row {
  min-height: 40px;
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.research-work-table-row:hover {
  background: #f3f4f6;
}
.research-work-table-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 #2563eb;
}
.research-workflow-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(150px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.research-workflow-strip article {
  display: grid;
  gap: 5px;
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.research-workflow-strip b {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: #e5e7eb;
  color: var(--muted);
  font-size: 12px;
}
.research-workflow-strip strong {
  color: var(--ink);
  font-size: 13px;
}
.research-workflow-strip span {
  color: var(--muted);
  font-size: 11px;
}
.research-workflow-strip article.done {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.research-workflow-strip article.done b {
  background: #16a34a;
  color: #fff;
}
.research-workflow-strip article.active {
  background: #eff6ff;
  border-color: #bfdbfe;
  box-shadow: inset 0 0 0 2px #2563eb;
}
.research-workflow-strip article.active b {
  background: #2563eb;
  color: #fff;
}
.research-work-empty {
  margin: 0;
  padding: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
@media (max-width: 980px) {
  .research-work-header,
  .research-work-summary,
  .research-work-grid,
  .research-work-info,
  .research-new-grid {
    grid-template-columns: 1fr;
  }
  .research-work-header menu,
  .research-work-actions,
  .research-work-form .dialog-actions {
    align-items: stretch;
    flex-direction: column;
  }
}
#detailDialog.education-program-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.education-program-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.education-program-dialog .dialog-card > .dialog-actions {
  display: none;
}
#detailDialog.education-program-dialog #detailClose {
  display: none;
}
#detailDialog.education-program-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.education-program-new-dialog .dialog-card {
  max-height: min(88vh, 860px);
  overflow-y: auto;
}
#detailDialog.education-program-new-dialog .dialog-card > .dialog-actions {
  display: none;
}
#detailDialog.education-program-output-dialog {
  width: min(62vw, 880px);
}
#detailDialog.education-program-output-dialog .dialog-card {
  max-height: min(86vh, 780px);
  overflow-y: auto;
}
#detailDialog.education-program-output-dialog .dialog-card > .dialog-actions {
  display: none;
}
#detailDialog.education-course-picker-dialog {
  width: min(65vw, 920px);
}
#detailDialog.education-course-matrix-dialog {
  width: min(82vw, 1320px);
}
#detailDialog.education-measure-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.education-improvement-dialog {
  width: min(78vw, 1180px);
}
#detailDialog.education-relation-dialog {
  width: min(74vw, 1120px);
}
#detailDialog.education-course-picker-dialog .dialog-card,
#detailDialog.education-course-matrix-dialog .dialog-card,
#detailDialog.education-measure-dialog .dialog-card,
#detailDialog.education-improvement-dialog .dialog-card,
#detailDialog.education-relation-dialog .dialog-card {
  max-height: min(88vh, 860px);
  overflow-y: auto;
}
#detailDialog.education-course-picker-dialog .dialog-card > .dialog-actions,
#detailDialog.education-course-matrix-dialog .dialog-card > .dialog-actions,
#detailDialog.education-measure-dialog .dialog-card > .dialog-actions,
#detailDialog.education-improvement-dialog .dialog-card > .dialog-actions,
#detailDialog.education-relation-dialog .dialog-card > .dialog-actions {
  display: none;
}
.education-program-work-form {
  display: grid;
  gap: 14px;
}
.education-program-new-form {
  display: grid;
  gap: 14px;
}
.education-program-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: -4px;
}
.education-program-work-top,
.education-program-relations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.education-program-work-top article,
.education-program-relations article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.education-program-work-top span,
.education-program-relations span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.education-program-work-top strong,
.education-program-relations strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.education-program-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.education-program-work-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.education-program-work-grid .full {
  grid-column: 1 / -1;
}
.education-program-work-grid input,
.education-program-work-grid select,
.education-program-work-grid textarea {
  width: 100%;
}
.education-program-work-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.education-program-defaults {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.education-program-defaults article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.education-program-defaults span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.education-program-defaults strong {
  color: var(--ink);
}
.education-program-output-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.education-program-output-summary article {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.education-program-output-summary span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
}
.education-program-output-summary strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.education-program-output-row {
  display: grid;
  min-width: 1020px;
  min-height: 42px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.education-program-output-row:hover {
  background: #f3f4f6;
}
.education-program-output-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-program-output-row span,
.education-program-output-row strong {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-course-row {
  display: grid;
  min-width: 1050px;
  min-height: 42px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.education-course-row:hover {
  background: #f3f4f6;
}
.education-course-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-course-row span,
.education-course-row strong {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-program-measure-row {
  display: grid;
  min-width: 1420px;
  min-height: 42px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.education-program-measure-row:hover {
  background: #f3f4f6;
}
.education-program-measure-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-program-measure-row span,
.education-program-measure-row strong {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-program-improvement-row {
  display: grid;
  min-width: 1120px;
  min-height: 42px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.education-program-improvement-row:hover {
  background: #f3f4f6;
}
.education-program-improvement-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-program-improvement-row span,
.education-program-improvement-row strong {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-relation-groups {
  display: grid;
  gap: 12px;
}
.education-relation-card {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.education-relation-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.education-relation-card-head strong {
  color: var(--ink);
}
.education-relation-card-head span {
  min-width: 28px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  text-align: center;
  font-size: 12px;
  font-weight: 900;
}
.education-relation-table {
  overflow-x: auto;
}
.education-relation-head,
.education-relation-row {
  display: grid;
  grid-template-columns: 180px 120px minmax(280px, 1.6fr) 150px 150px 160px;
  min-width: 1040px;
  align-items: center;
}
.education-relation-head {
  min-height: 38px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.education-relation-head strong,
.education-relation-row span,
.education-relation-row strong {
  min-width: 0;
  padding: 9px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-relation-head strong {
  color: var(--muted);
  font-weight: 900;
}
.education-relation-row {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.education-relation-row:hover {
  background: #f3f4f6;
}
.education-relation-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.education-relation-empty {
  padding: 10px 12px;
  color: var(--muted);
  font-size: 12px;
}
.education-measure-formula {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.education-measure-formula strong {
  color: var(--ink);
}
.education-measure-formula span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.education-measure-decision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.education-measure-decision article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.education-measure-decision span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.education-measure-decision strong {
  display: block;
  color: var(--ink);
  line-height: 1.35;
}
.education-unrelated-outputs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.education-unrelated-outputs strong {
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
}
.education-course-matrix {
  display: grid;
  max-height: 58vh;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.education-course-matrix-head,
.education-course-matrix-row {
  display: grid;
  min-width: max-content;
  align-items: stretch;
}
.education-course-matrix-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.education-course-matrix-head strong,
.education-course-matrix-row span,
.education-course-matrix-row select {
  min-width: 0;
  padding: 10px;
  border: 0;
  border-right: 1px solid var(--line);
  font-size: 12px;
}
.education-course-matrix-head strong:first-child,
.education-course-matrix-row span:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: inherit;
}
.education-course-matrix-row {
  min-height: 46px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.education-course-matrix-row:hover {
  background: #f8fafc;
}
.education-course-matrix-row span {
  display: grid;
  gap: 2px;
  background: #fff;
  line-height: 1.25;
}
.education-course-matrix-row span b {
  color: var(--ink);
}
.education-course-matrix-row select {
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: #fff;
}
.education-program-tab-actions button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.education-program-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.education-program-tabs button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}
.education-program-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.education-program-tab-content {
  display: grid;
  gap: 12px;
}
.education-program-tab-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.education-program-mini-table {
  display: grid;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.education-program-mini-head,
.education-program-mini-row {
  display: grid;
  min-width: 760px;
  align-items: center;
}
.education-program-mini-head {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 40px;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
}
.education-program-mini-head strong,
.education-program-mini-row span {
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.education-program-mini-head strong {
  color: var(--muted);
  font-weight: 900;
}
.education-program-mini-row {
  min-height: 42px;
  border-bottom: 1px solid var(--line);
}
.education-program-mini-row:hover {
  background: #f8fafc;
}
.education-program-mini-empty {
  padding: 12px;
  color: var(--muted);
}
.document-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.document-grid-head,
.document-grid-row {
  display: grid;
  grid-template-columns: 132px minmax(320px, 1.8fr) 180px 110px 132px 132px 132px 190px 180px 190px 150px;
  align-items: center;
  min-width: 1920px;
}
.document-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 44px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
}
.document-grid-head span {
  padding: 0 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.document-grid-group,
.document-group-rows {
  display: grid;
  min-width: 1920px;
}
.document-group-head {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.document-group-head:hover,
.document-grid-row:hover {
  background: #f3f4f6;
}
.document-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.document-grid-row {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  text-align: left;
}
.document-grid-row.selected {
  background: #eaf2ff;
}
.document-grid-row span,
.document-grid-row strong {
  min-width: 0;
  padding: 0 12px;
  overflow: visible;
  color: inherit;
  font-size: 12px;
  line-height: 1.25;
  white-space: normal;
}
.document-grid-row strong {
  font-size: 13px;
  font-weight: 900;
}
.document-grid-empty {
  min-height: 42px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.document-insight-panel {
  border-color: color-mix(in srgb, var(--brand) 28%, var(--line));
}
.document-workflow-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.document-workflow-grid article {
  display: grid;
  gap: 8px;
  min-height: 120px;
  align-content: start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.document-workflow-grid strong {
  font-size: 14px;
  line-height: 1.3;
}
.document-workflow-grid span {
  color: var(--muted);
  font-size: 12px;
}
#detailDialog.document-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.document-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.document-new-dialog {
  width: min(70vw, 1080px);
}
#detailDialog.document-new-dialog .dialog-card {
  max-height: min(88vh, 860px);
  overflow-y: auto;
}
#detailDialog.document-revision-dialog {
  width: min(62vw, 860px);
}
#detailDialog.document-revision-dialog .dialog-card {
  max-height: min(86vh, 780px);
  overflow-y: auto;
}
#detailDialog.document-distribution-dialog,
#detailDialog.document-relation-dialog {
  width: min(70vw, 980px);
}
#detailDialog.document-distribution-dialog .dialog-card,
#detailDialog.document-relation-dialog .dialog-card {
  max-height: min(86vh, 820px);
  overflow-y: auto;
}
.document-work-form {
  display: grid;
  gap: 14px;
}
.document-work-header,
.document-work-top {
  display: grid;
  gap: 10px;
}
.document-work-header {
  grid-template-columns: .9fr minmax(1.5fr, 2fr) .7fr .8fr auto;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.document-work-top {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.document-work-header article,
.document-work-top article,
.document-work-file article {
  min-width: 0;
}
.document-work-header span,
.document-work-top span,
.document-work-file span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.document-work-header strong,
.document-work-top strong,
.document-work-file strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.document-work-top article,
.document-work-file article,
.document-work-section {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.document-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.document-work-tabs button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 850;
}
.document-work-tabs button.active {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--brand);
}
.document-work-section {
  display: grid;
  gap: 12px;
}
.document-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.document-new-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
}
.document-work-grid,
.document-work-file {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.document-work-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.document-work-grid .full {
  grid-column: 1 / -1;
}
.document-work-grid input,
.document-work-grid select,
.document-work-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
.document-work-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.document-work-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.document-lifecycle-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 8px;
  overflow-x: auto;
}
.document-lifecycle-strip article {
  min-height: 44px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
}
.document-lifecycle-strip article.done {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.document-lifecycle-strip article.active {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--brand);
}
.document-workflow-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(132px, 1fr));
  gap: 8px;
  overflow-x: auto;
}
.document-workflow-strip article {
  display: grid;
  gap: 4px;
  min-height: 56px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
}
.document-workflow-strip article.done {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}
.document-workflow-strip article.active {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--brand);
}
.document-workflow-strip span {
  font-size: 11px;
  font-weight: 900;
}
.document-readonly-note {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  font-weight: 750;
}
.document-mini-table {
  display: grid;
  gap: 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.document-mini-head,
.document-mini-row {
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1.4fr 1fr 1fr .8fr;
  min-width: 820px;
  align-items: center;
}
.document-mini-head.relation,
.document-mini-row.relation {
  grid-template-columns: 1fr 1.8fr 1.2fr 1fr;
  min-width: 680px;
}
.document-mini-table.revision {
  overflow-x: auto;
}
.document-mini-head.revision,
.document-mini-row.revision {
  grid-template-columns: .8fr .7fr 1fr 1.8fr 1.3fr 1.1fr .9fr;
  min-width: 980px;
}
.document-mini-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
}
.document-mini-head strong,
.document-mini-row span {
  min-width: 0;
  padding: 10px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-mini-row {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font: inherit;
  cursor: pointer;
}
.document-mini-row:hover {
  background: #f8fafc;
}
.document-mini-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.document-mini-empty,
.empty-state {
  padding: 14px;
  color: var(--muted);
}
.document-relation-groups {
  display: grid;
  gap: 12px;
}
.document-relation-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.document-relation-card header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.document-relation-card header span {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  min-height: 28px;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--brand);
  font-weight: 900;
}
.document-revision-detail,
.document-revision-compare {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.document-revision-detail h3,
.document-revision-compare h3 {
  margin: 0;
  font-size: 15px;
}
.document-revision-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.document-revision-compare-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.document-revision-compare-grid span,
.document-revision-compare-grid small {
  display: block;
  color: var(--muted);
  font-weight: 800;
}
.document-revision-compare-grid p {
  margin: 8px 0;
}
.document-preview {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.document-preview span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.document-preview p {
  margin: 0;
  color: var(--muted);
}
.document-preview dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.document-preview dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.document-preview dd {
  margin: 3px 0 0;
  font-weight: 850;
}
.process-create-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.process-create-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.1fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}
.process-create-grid .form-grid { margin: 0; }
.process-guidance,
.process-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.process-guidance {
  padding: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--card)), var(--card));
}
.process-guidance h3,
.process-card h3 {
  margin: 0;
  line-height: 1.3;
}
.process-guidance ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.process-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 14px;
}
.process-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
  padding: 14px;
}
.process-flow-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--brand) 18%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 5%, var(--card));
}
.process-flow-head span {
  font-weight: 900;
  color: var(--ink);
}
.process-flow-head small {
  color: var(--muted);
  text-align: right;
}
.process-flow-builder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px dashed color-mix(in srgb, var(--brand) 34%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 5%, var(--card));
}
.process-flow-builder div {
  display: grid;
  gap: 4px;
}
.process-flow-builder strong {
  color: var(--ink);
  font-size: 14px;
}
.process-flow-builder span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.process-flow-builder button {
  flex: 0 0 auto;
}
.process-flow-workbench {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--brand) 16%, var(--line));
  border-radius: 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 3%, #fff), #fff);
}
.process-flow-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.process-flow-toolbar strong,
.process-flow-toolbar span {
  display: block;
}
.process-flow-toolbar span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}
.flow-view-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.flow-view-switch button {
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.flow-view-switch button:first-child {
  border-color: var(--brand);
  color: var(--brand-strong);
  background: color-mix(in srgb, var(--brand) 7%, #fff);
}
.flow-warning {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 8%, #fff);
  color: var(--ink);
  font-weight: 700;
}
.info-flow-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 14px;
  align-items: stretch;
}
.info-flow-canvas {
  min-width: 0;
  overflow-x: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.pdca-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  min-width: 900px;
  margin-bottom: 10px;
}
.pdca-band span {
  padding: 7px 10px;
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.info-flow-grid {
  position: relative;
  display: grid;
  grid-template-columns: 124px 142px 132px 146px 142px 142px 124px;
  grid-template-rows: 118px 56px 104px;
  grid-template-areas:
    "start task control decision yes . end"
    ". . . decision . . ."
    ". . . no no . .";
  gap: 16px;
  min-width: 900px;
  align-items: center;
}
.info-flow-node {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 6px;
  min-height: 104px;
  padding: 10px;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
}
.info-flow-node strong {
  line-height: 1.2;
}
.info-flow-node small {
  color: var(--muted);
  font-weight: 700;
}
.node-type {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.node-start,
.node-end {
  border-radius: 999px;
  border-color: #4f7d52;
  background: #eef8eb;
  text-align: center;
  place-items: center;
}
.node-decision {
  border-color: #6d3f94;
  background: #f4effa;
}
.node-control {
  border-color: #2563eb;
  background: #eff6ff;
}
.node-action {
  border-color: #b7791f;
  background: #fff8eb;
}
.flow-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.flow-chip {
  padding: 3px 6px;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
}
.flow-chip.risk { color: #9f1239; background: #fff1f2; }
.flow-chip.kpi { color: #1d4ed8; background: #eff6ff; }
.flow-chip.doc { color: #166534; background: #f0fdf4; }
.flow-chip.action { color: #92400e; background: #fffbeb; }
.edge {
  position: absolute;
  z-index: 1;
  height: 2px;
  background: #7c3aed;
}
.edge::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
  border-left: 8px solid #7c3aed;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.edge-start-task { left: 118px; top: 58px; width: 42px; }
.edge-task-control { left: 276px; top: 58px; width: 42px; }
.edge-control-decision { left: 424px; top: 58px; width: 42px; }
.edge-yes-line { left: 610px; top: 58px; width: 42px; }
.edge-end-line { left: 760px; top: 58px; width: 42px; }
.edge-no-line {
  left: 512px;
  top: 148px;
  width: 86px;
  transform: rotate(90deg);
}
.edge-label {
  position: absolute;
  z-index: 3;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff;
  color: #6d3f94;
  font-size: 11px;
  font-weight: 900;
}
.edge-yes { left: 596px; top: 30px; }
.edge-no { left: 520px; top: 122px; }
.edge-return { left: 480px; top: 238px; color: #92400e; }
.flow-detail-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.flow-detail-list {
  display: grid;
  gap: 8px;
}
.flow-detail-list span {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  line-height: 1.35;
}
.flow-sync-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px dashed color-mix(in srgb, var(--brand) 28%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 5%, #fff);
}
.flow-sync-summary span,
.flow-sync-summary small {
  color: var(--muted);
}
.bidr-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
}
.bidr-flow-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.bidr-flow-strip span {
  min-width: 102px;
  padding: 10px 12px;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-weight: 900;
  text-align: center;
}
.bidr-flow-strip i {
  width: 28px;
  height: 2px;
  background: var(--brand);
  position: relative;
}
.bidr-flow-strip i::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
  border-left: 8px solid var(--brand);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.bidr-unit-grid,
.kidr-criteria-grid,
.bidr-transfer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.bidr-unit-card,
.kidr-criterion-card,
.bidr-transfer-card,
.kidr-draft article {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.bidr-finding {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--ok) 18%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--ok) 5%, var(--card));
}
.bidr-finding.warn {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
  background: color-mix(in srgb, var(--accent) 7%, var(--card));
}
.bidr-finding strong {
  color: var(--ink);
  font-size: 12px;
  text-transform: uppercase;
}
.bidr-finding span,
.bidr-transfer-card small {
  color: var(--muted);
  line-height: 1.45;
}
.bidr-transfer-card {
  display: grid;
  gap: 8px;
}
.bidr-transfer-card h3 {
  margin-bottom: 0;
}
.bidr-transfer-card p {
  margin-bottom: 0;
  color: var(--ink);
  line-height: 1.5;
}
.kidr-draft {
  display: grid;
  gap: 12px;
}
.kidr-draft article {
  display: grid;
  gap: 8px;
}
.kidr-draft article span {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 6px;
  background: #eef2ff;
  color: #1d4ed8;
  font-weight: 900;
}
.evidence-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
}
.evidence-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.evidence-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.evidence-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.evidence-links span,
.evidence-suggest-strip strong {
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--brand) 20%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 6%, #fff);
  color: var(--brand-strong);
  font-size: 12px;
  font-weight: 900;
}
.evidence-create-panel {
  display: grid;
  gap: 14px;
}
.evidence-suggest-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border: 1px dashed color-mix(in srgb, var(--brand) 32%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 5%, var(--card));
}
.evidence-suggest-strip span {
  color: var(--muted);
  font-weight: 900;
}
.evidence-lifecycle {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.evidence-lifecycle article {
  display: grid;
  gap: 6px;
  min-height: 86px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.evidence-lifecycle article.done {
  border-color: color-mix(in srgb, var(--ok) 28%, var(--line));
  background: color-mix(in srgb, var(--ok) 7%, #fff);
}
.evidence-lifecycle span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #fff;
  color: var(--brand-strong);
  font-weight: 900;
}
.evidence-lifecycle strong {
  font-size: 13px;
  line-height: 1.25;
}
.evidence-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.evidence-grid-head,
.evidence-grid-row {
  display: grid;
  grid-template-columns: 72px minmax(150px, 1.7fr) 72px 100px minmax(126px, 1.25fr) 82px 48px 106px 96px 96px 74px;
  gap: 5px;
  align-items: center;
  min-width: 0;
}
.evidence-grid-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 42px;
  padding: 0 8px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.evidence-grid-head span,
.evidence-grid-row span,
.evidence-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evidence-grid-body,
.evidence-grid-group,
.evidence-group-rows {
  display: grid;
  min-width: 0;
}
.evidence-group-head {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.evidence-group-head:hover,
.evidence-grid-row:hover {
  background: #f3f4f6;
}
.evidence-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.evidence-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 10.5px;
  text-align: left;
}
.evidence-grid-row.selected {
  background: #eff6ff;
}
.evidence-grid-row .tag {
  justify-self: start;
}
.evidence-grid-empty {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.process-flow-diagram.flowchart-style {
  position: relative;
  display: grid;
  grid-template-columns: 116px 156px 162px 40px 156px 116px;
  grid-template-rows: 132px 28px 108px 76px;
  grid-template-areas:
    "start first decision yes yesTask end"
    ". . no . . ."
    ". delay noTask noTask . ."
    ". delay . . . .";
  gap: 12px 18px;
  align-items: center;
  overflow-x: auto;
  min-width: 820px;
  padding: 14px 12px 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 14%, var(--line));
  border-radius: 8px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 3%, var(--card)), #fff);
}
.flow-node {
  position: relative;
  display: grid;
  gap: 5px;
  place-items: center;
  min-width: 0;
  min-height: 88px;
  padding: 10px;
  border: 2px solid #49305f;
  background: #f0edf6;
  color: #342149;
  text-align: center;
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
}
.flow-node strong {
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: 0;
}
.flow-node span,
.flow-node small {
  color: #6b5a7a;
  font-size: 11px;
  line-height: 1.25;
}
.flow-start,
.flow-end {
  min-height: 104px;
  border-radius: 999px;
  border-color: #416b43;
  background: #e8f3e4;
  color: #355f35;
}
.flow-task {
  border-radius: 2px;
}
.flow-decision {
  width: 136px;
  height: 136px;
  justify-self: center;
  min-height: 0;
  padding: 18px;
  transform: rotate(45deg);
  background: #5a3480;
  border-color: #5a3480;
  color: #fff;
}
.flow-decision strong,
.flow-decision span {
  transform: rotate(-45deg);
  color: #fff;
  max-width: 104px;
}
.flow-rework {
  min-height: 98px;
}
.flow-delay {
  min-height: 96px;
  border-color: #8a7a57;
  background: #fbf6e8;
  border-radius: 2px 28px 28px 2px;
  color: #584a2f;
}
.flow-label {
  color: #5a3480;
  font-weight: 900;
  text-align: center;
}
.flowchart-style::before,
.flowchart-style::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.flow-start::after,
.flow-task::after,
.flow-decision::after,
.flow-rework::after,
.flow-delay::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.flow-start::after,
.flow-task::after {
  right: -20px;
  top: 50%;
  width: 20px;
  border-top: 2px solid #5a3480;
}
.flow-start::before,
.flow-task::before,
.flow-rework::before,
.flow-delay::before {
  content: "";
  position: absolute;
  right: -25px;
  top: calc(50% - 5px);
  border-left: 9px solid #5a3480;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
.flow-decision::after {
  right: -34px;
  top: 50%;
  width: 34px;
  border-top: 2px solid #5a3480;
  transform: rotate(-45deg);
  transform-origin: left center;
}
.flow-decision::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -38px;
  height: 38px;
  border-left: 2px solid #5a3480;
  transform: rotate(-45deg);
  transform-origin: top;
}
.flow-rework::after {
  left: -72px;
  top: 50%;
  width: 72px;
  border-top: 2px solid #5a3480;
}
.flow-delay::after {
  left: 50%;
  top: -100px;
  height: 100px;
  border-left: 2px solid #5a3480;
}
.process-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.process-flow span {
  flex: 1 1 96px;
  min-height: 36px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.process-flow span.warn {
  border-color: color-mix(in srgb, var(--accent) 32%, var(--line));
  background: color-mix(in srgb, var(--accent) 8%, var(--card));
  color: var(--ink);
}
.process-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.process-card-actions button {
  flex: 1 1 128px;
  justify-content: center;
}
.process-insight-panel {
  border-color: color-mix(in srgb, var(--accent) 30%, var(--line));
}
.process-preview-panel {
  margin-top: 14px;
  border-color: color-mix(in srgb, var(--brand) 26%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 5%, var(--card)), var(--card));
}
.process-preview-panel .process-card {
  border-color: color-mix(in srgb, var(--brand) 28%, var(--line));
}
.process-maturity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.process-maturity-grid article {
  display: grid;
  gap: 8px;
  min-height: 124px;
  align-content: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.process-maturity-grid span,
.process-maturity-grid small {
  color: var(--muted);
}
.process-maturity-grid strong {
  font-size: 34px;
  line-height: 1;
}
.puko-wizard {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.puko-step {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  min-height: 118px;
  display: grid;
  gap: 8px;
  align-content: start;
}
.puko-step b {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--brand) 14%, transparent);
  color: var(--brand);
}
.puko-step strong { font-size: 14px; line-height: 1.25; }
.puko-step span { color: var(--muted); font-size: 12px; line-height: 1.35; }
.puko-step.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  box-shadow: 0 8px 20px rgba(31, 78, 121, .08);
}
.puko-cycle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.puko-cycle-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  display: grid;
  gap: 12px;
}
.puko-cycle-card h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
}
.record-pdca-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.record-pdca-track article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: var(--soft);
  min-height: 76px;
  display: grid;
  gap: 4px;
  align-content: start;
  position: relative;
}
.record-pdca-track article::after {
  content: "";
  position: absolute;
  right: -8px;
  top: 50%;
  width: 8px;
  height: 1px;
  background: var(--line);
}
.record-pdca-track article:last-child::after {
  display: none;
}
.record-pdca-track span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.record-pdca-track strong {
  font-size: 12px;
  line-height: 1.25;
}
.record-pdca-track small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.record-pdca-track article.done {
  background: color-mix(in srgb, var(--ok) 10%, var(--card));
  border-color: color-mix(in srgb, var(--ok) 30%, var(--line));
}
.record-pdca-track article.current {
  background: color-mix(in srgb, var(--brand) 12%, var(--card));
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
}
.record-pdca-track article.warning {
  background: color-mix(in srgb, var(--warn) 14%, var(--card));
  border-color: color-mix(in srgb, var(--warn) 42%, var(--line));
}
.pdca-next-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pdca-next-strip span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 10px;
  background: var(--soft);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}
.pdca-next-strip span.warn {
  background: color-mix(in srgb, var(--warn) 13%, var(--card));
  border-color: color-mix(in srgb, var(--warn) 38%, var(--line));
  color: color-mix(in srgb, var(--warn) 72%, var(--ink));
}
.pdca-next-strip strong {
  color: var(--ink);
}
.pdca-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.pdca-report-grid article {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  display: grid;
  gap: 12px;
}
.pdca-report-grid h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}
.journey-rule-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}
.journey-rule-panel article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  padding: 12px;
  display: grid;
  gap: 6px;
  align-content: start;
}
.journey-rule-panel b {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--brand) 14%, transparent);
  color: var(--brand);
}
.journey-rule-panel strong {
  font-size: 13px;
}
.journey-rule-panel span,
.journey-rule-panel em {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  font-style: normal;
}
.journey-rule-panel em {
  font-weight: 800;
}
.puko-journey-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 14px;
  margin-top: 14px;
  max-width: 100%;
}
.journey-summary-card,
.journey-timeline-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  min-width: 0;
  max-width: 100%;
}
.journey-summary-card h2 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.25;
}
.journey-timeline-card {
  display: grid;
  gap: 10px;
}
.journey-timeline-card > article {
  display: grid;
  grid-template-columns: 92px minmax(0, .7fr) minmax(0, 1.2fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--soft);
}
.journey-timeline-card > article.done {
  background: color-mix(in srgb, var(--ok) 9%, var(--card));
  border-color: color-mix(in srgb, var(--ok) 28%, var(--line));
}
.journey-timeline-card > article.current {
  background: color-mix(in srgb, var(--brand) 10%, var(--card));
  border-color: color-mix(in srgb, var(--brand) 35%, var(--line));
}
.journey-timeline-card > article.warning {
  background: color-mix(in srgb, var(--warn) 13%, var(--card));
  border-color: color-mix(in srgb, var(--warn) 38%, var(--line));
}
.journey-timeline-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.journey-timeline-card strong {
  font-size: 13px;
}
.journey-timeline-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.improvement-record-grid,
.puko-flow-panel,
.field-check-grid,
.rule-card-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.improvement-record-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.improvement-record-card,
.puko-flow-panel article,
.field-check-grid article,
.rule-card-grid article {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}
.improvement-record-card {
  display: grid;
  gap: 12px;
}
.improvement-record-card h3,
.rule-card-grid h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}
.puko-flow-panel {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.puko-flow-panel article {
  display: grid;
  gap: 7px;
  min-height: 118px;
}
.puko-flow-panel b,
.field-check-grid span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--brand) 14%, transparent);
  color: var(--brand);
}
.puko-flow-panel strong,
.field-check-grid strong,
.rule-card-grid strong {
  font-size: 13px;
  line-height: 1.35;
}
.puko-flow-panel span,
.rule-card-grid p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  margin: 0;
}
.field-check-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.field-check-grid article {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 9px;
  align-items: center;
}
.rule-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rule-card-grid article {
  display: grid;
  gap: 8px;
  align-content: start;
}
.mini-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.mini-compare span {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: var(--soft);
  color: var(--muted);
  font-size: 12px;
}
.mini-compare strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  margin-top: 3px;
}
.mandatory-fieldset {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: var(--soft);
  margin: 0;
}
.mandatory-fieldset legend {
  padding: 0 8px;
  font-weight: 800;
  color: var(--ink);
}
.mandatory-fieldset .muted {
  margin: 2px 0 12px;
}
.mandatory-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.mandatory-option {
  display: grid;
  grid-template-columns: auto 28px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: var(--card);
  min-height: 48px;
}
.mandatory-option input {
  accent-color: var(--brand);
}
.mandatory-option span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--brand) 12%, transparent);
  color: var(--brand);
  font-weight: 800;
  font-size: 12px;
}
.mandatory-option strong {
  font-size: 12px;
  line-height: 1.25;
}
.mandatory-option em {
  font-style: normal;
  border-radius: 999px;
  padding: 5px 8px;
  background: color-mix(in srgb, var(--ok) 12%, transparent);
  color: var(--ok);
  font-size: 11px;
  font-weight: 800;
}
.assistant-strip {
  margin-top: 14px;
  display: grid;
  grid-template-columns: minmax(240px, .8fr) 1.2fr;
  gap: 14px;
  align-items: stretch;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 8%, var(--card)), var(--card));
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 8px;
  padding: 16px;
}
.assistant-strip h2 {
  margin: 0 0 6px;
  font-size: 20px;
}
.assistant-suggestions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.assistant-suggestions article {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 5px;
}
.assistant-suggestions strong { font-size: 14px; }
.assistant-suggestions span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.puko-workbench {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
  align-items: stretch;
}
.puko-workbench-main,
.puko-workbench-side,
.puko-alerts {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
}
.puko-workbench-main h2 {
  margin: 0 0 6px;
  font-size: 20px;
}
.puko-action-row,
.puko-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  max-width: 100%;
  min-width: 0;
}
.puko-action-row button,
.puko-card-actions button {
  min-height: 36px;
}
.puko-card-actions button {
  flex: 1 1 120px;
  min-width: 0;
  white-space: normal;
}
.puko-card-actions.compact-actions {
  margin-top: 0;
  gap: 6px;
}
.puko-card-actions.compact-actions button {
  flex: 0 1 auto;
  min-height: 32px;
  padding: 7px 10px;
  white-space: nowrap;
}
.puko-role-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.puko-role-strip button {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  border-radius: 8px;
  padding: 10px 12px;
  min-height: 56px;
  display: grid;
  gap: 2px;
  text-align: left;
  cursor: pointer;
}
.puko-role-strip button.active {
  border-color: color-mix(in srgb, var(--brand) 48%, var(--line));
  background: color-mix(in srgb, var(--brand) 10%, var(--card));
}
.puko-role-strip strong {
  font-size: 13px;
}
.puko-role-strip span {
  color: var(--muted);
  font-size: 12px;
}
.puko-form-progress {
  margin: 0 0 14px;
}
.puko-evidence-box {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.puko-evidence-box input[type="file"] {
  padding: 10px;
  border: 1px dashed color-mix(in srgb, var(--brand) 35%, var(--line));
  border-radius: 8px;
  background: var(--soft);
}
.evidence-format-list,
.evidence-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.evidence-format-list span,
.evidence-chip-list span {
  border: 1px solid var(--line);
  background: var(--soft);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.evidence-chip-list {
  margin-top: 2px;
}
.puko-workbench-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.puko-workbench-side article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--soft);
}
.puko-workbench-side span,
.puko-alerts span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
.puko-workbench-side strong,
.puko-alerts strong {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.35;
}
.puko-alerts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.puko-alerts article {
  border-left: 3px solid var(--warn);
  padding-left: 10px;
}
.puko-cycle-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.puko-cycle-line span {
  min-height: 34px;
  border-radius: 8px;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 12px;
  color: var(--muted);
  background: var(--soft);
}
.puko-cycle-line span.active {
  background: color-mix(in srgb, var(--brand) 14%, var(--card));
  color: var(--brand);
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  font-weight: 800;
}
.puko-lifecycle-strip {
  display: grid;
  grid-template-columns: repeat(9, minmax(92px, 1fr));
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.puko-lifecycle-strip article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  min-height: 74px;
  padding: 10px;
  display: grid;
  align-content: center;
  gap: 6px;
}
.puko-lifecycle-strip b {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--soft);
  color: var(--muted);
  font-size: 12px;
}
.puko-lifecycle-strip span {
  font-size: 12px;
  line-height: 1.25;
  color: var(--muted);
  font-weight: 750;
}
.puko-lifecycle-strip article.done {
  border-color: color-mix(in srgb, var(--success) 36%, var(--line));
  background: color-mix(in srgb, var(--success) 8%, var(--card));
}
.puko-lifecycle-strip article.active {
  border-color: color-mix(in srgb, var(--brand) 50%, var(--line));
  background: color-mix(in srgb, var(--brand) 12%, var(--card));
}
.puko-lifecycle-strip article.active b {
  background: var(--brand);
  color: white;
}
.puko-lifecycle-strip article.active span {
  color: var(--brand);
}
.puko-report-filter {
  margin-top: 14px;
}
.puko-report-filter .form-grid {
  margin-top: 0;
}
.puko-control-panel,
.puko-system-health {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.puko-control-panel article,
.puko-system-health article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  padding: 12px;
  display: grid;
  gap: 5px;
}
.puko-control-panel span,
.puko-control-panel small,
.puko-system-health span,
.puko-system-health small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.puko-control-panel strong,
.puko-system-health strong {
  font-size: 18px;
  color: var(--text);
  overflow-wrap: anywhere;
}
.puko-notification-inbox,
.puko-integration-queue,
.puko-event-stream,
.puko-background-jobs,
.puko-evidence-selector,
.puko-list-filter {
  margin-top: 14px;
}
.puko-list-filter .form-grid {
  margin-top: 0;
}

.puko-integration-chain {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  max-width: 100%;
  min-width: 0;
  padding: 8px 0 4px;
  scrollbar-width: thin;
}

.puko-integration-chain button {
  border: 1px solid #dbe4ff;
  background: #f8fbff;
  border-radius: 8px;
  flex: 0 0 112px;
  min-width: 0;
  padding: 9px 10px;
  text-align: left;
  color: #172033;
  cursor: pointer;
}

.puko-integration-chain button:hover {
  border-color: #9fb7ff;
  background: #eef5ff;
}

.puko-integration-chain span,
.puko-integration-chain small {
  display: block;
  color: #6d7895;
  font-size: .74rem;
}

.puko-integration-chain strong {
  display: block;
  margin: 2px 0;
  font-size: .88rem;
}

.puko-real-data-map {
  margin-top: 14px;
}
.puko-command-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}
.puko-command-hero h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
}
.puko-command-hero .primary {
  min-width: 132px;
  min-height: 42px;
}
.puko-simple-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.puko-simple-flow article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}
.puko-simple-flow b {
  grid-row: span 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e8eeff;
  color: #3153d8;
}
.puko-simple-flow strong {
  font-size: 16px;
}
.puko-simple-flow span {
  color: var(--muted);
  font-size: 13px;
}
.puko-simple-flow button {
  width: fit-content;
  min-height: 34px;
  padding: 7px 12px;
}
.puko-compact-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}
.puko-compact-workbench h2 {
  margin: 0 0 8px;
  font-size: 20px;
}
.puko-focus-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.puko-focus-meta span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #42526f;
  font-size: 12px;
  font-weight: 800;
}
.puko-compact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.puko-compact-actions button {
  min-width: 82px;
}
.puko-compact-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.puko-compact-stats article {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-compact-stats span,
.puko-compact-stats small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.puko-compact-stats strong {
  display: block;
  margin: 4px 0;
  font-size: 24px;
}
.puko-compact-list {
  margin-top: 14px;
}
.puko-compact-list .section-head p,
.puko-command-hero p {
  margin-bottom: 4px;
}
.puko-grouped-grid {
  display: grid;
  max-height: calc(100vh - 250px);
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-grid-head,
.puko-grid-row {
  display: grid;
  grid-template-columns: 112px 280px 168px 168px 130px 146px 102px 140px 198px 96px 172px 152px 126px;
  gap: 10px;
  align-items: center;
  min-width: 2030px;
  min-height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
.puko-grid-head {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 44px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.puko-grid-head span,
.puko-grid-row span,
.puko-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}
.puko-grid-body {
  display: grid;
  min-width: 2030px;
}
.puko-grid-group {
  min-width: 2030px;
}
.puko-grid-group-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #f3f6fb;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  list-style: none;
}
.puko-grid-group-head::-webkit-details-marker {
  display: none;
}
.puko-grid-group-head::before {
  content: "▸";
  width: 18px;
  color: var(--brand);
  font-weight: 900;
}
.puko-grid-group[open] > .puko-grid-group-head::before {
  content: "▾";
}
.puko-grid-group-head small {
  margin-left: auto;
  color: var(--muted);
  font-weight: 800;
}
.puko-grid-rows {
  display: grid;
}
.puko-grid-row {
  width: 100%;
  height: 44px;
  min-height: 44px;
  border-inline: 0;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  background: #fff;
  color: var(--text);
  font-size: 12px;
  text-align: left;
}
.puko-grid-row:hover {
  background: #f3f4f6;
}
.puko-grid-row.selected {
  background: #eaf2ff;
}
#detailDialog.puko-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.puko-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow: auto;
}
#detailDialog.puko-mini-dialog {
  width: min(620px, calc(100vw - 28px));
}
#detailDialog.puko-new-dialog {
  width: min(65vw, 980px);
}
#detailDialog.puko-new-dialog .dialog-card {
  max-height: min(86vh, 840px);
  overflow-y: auto;
}
.puko-work-form,
.puko-mini-form,
.puko-new-form {
  display: grid;
  gap: 14px;
}
.puko-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-new-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}
.puko-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.puko-new-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.puko-new-grid .full {
  grid-column: 1 / -1;
}
.puko-new-grid input,
.puko-new-grid select,
.puko-new-grid textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
.puko-new-grid input[readonly],
.puko-new-grid textarea[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.puko-work-header {
  display: grid;
  grid-template-columns: .8fr minmax(1.4fr, 2fr) .7fr .8fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.puko-work-header article,
.puko-work-source article,
.puko-work-summary article {
  min-width: 0;
}
.puko-work-header span,
.puko-work-source span,
.puko-work-summary span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.puko-work-header strong,
.puko-work-source strong,
.puko-work-summary strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.puko-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.puko-work-source,
.puko-work-summary {
  display: grid;
  gap: 10px;
}
.puko-work-source {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.puko-work-summary {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.puko-work-source article,
.puko-work-summary article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.puko-work-tabs button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 850;
}
.puko-work-tabs button.active {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: var(--brand);
}
.puko-stage-manager {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #f8fbff;
}
.puko-stage-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.puko-stage-strip article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 8px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-stage-strip span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #eef2ff;
  color: var(--brand);
  font-weight: 900;
}
.puko-stage-strip strong,
.puko-stage-strip small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.puko-stage-strip small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.puko-stage-strip article.done {
  background: #f0fdf4;
}
.puko-stage-strip article.active {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.puko-stage-actions,
.puko-stage-entry-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
.puko-stage-actions div,
.puko-stage-entry-head div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.puko-stage-actions span,
.puko-stage-entry-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.puko-work-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-work-grid,
.puko-mini-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.puko-work-grid label,
.puko-mini-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.puko-work-grid .full,
.puko-mini-form .full {
  grid-column: 1 / -1;
}
.puko-work-grid input,
.puko-work-grid select,
.puko-work-grid textarea,
.puko-mini-form input,
.puko-mini-form select,
.puko-mini-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}
#detailDialog.puko-work-dialog .puko-work-header,
#detailDialog.puko-work-dialog .puko-work-source,
#detailDialog.puko-work-dialog .puko-work-summary,
#detailDialog.puko-work-dialog .puko-root-readonly {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-gutter: stable;
}
#detailDialog.puko-work-dialog .puko-work-header {
  align-items: stretch;
}
#detailDialog.puko-work-dialog .puko-work-header article,
#detailDialog.puko-work-dialog .puko-work-source article,
#detailDialog.puko-work-dialog .puko-work-summary article,
#detailDialog.puko-work-dialog .puko-root-readonly article {
  flex: 0 0 210px;
}
#detailDialog.puko-work-dialog .puko-work-header article:nth-child(2) {
  flex-basis: 320px;
}
#detailDialog.puko-work-dialog .puko-work-header menu {
  flex: 0 0 auto;
  align-self: center;
}
#detailDialog.puko-work-dialog .puko-work-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 340px);
  grid-template-columns: none;
  align-items: start;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-gutter: stable;
}
#detailDialog.puko-work-dialog .puko-work-grid .full {
  grid-column: auto;
}
#detailDialog.puko-work-dialog .puko-work-grid label {
  min-width: 0;
}
#detailDialog.puko-work-dialog .puko-work-grid textarea {
  min-height: 92px;
  resize: vertical;
}
.puko-work-relations {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.puko-work-relations article {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.puko-work-relations span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.puko-root-section {
  gap: 14px;
}
.puko-root-readonly {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.puko-root-readonly article,
.puko-root-block {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-root-readonly span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.puko-root-readonly strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.puko-root-block {
  display: grid;
  gap: 12px;
}
.puko-root-block h3 {
  margin: 0;
  color: var(--ink);
  font-size: 15px;
}
.puko-root-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.puko-root-picker-list {
  display: grid;
  gap: 8px;
}
.puko-root-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.puko-root-choice span {
  min-width: 0;
  color: var(--text);
  font-weight: 850;
}
.puko-root-choice small {
  color: var(--muted);
  font-weight: 900;
}
@media (max-width: 980px) {
  #detailDialog.puko-work-dialog {
    width: calc(100vw - 20px);
  }
  .puko-work-header,
  .puko-work-source,
  .puko-work-summary,
  .puko-work-relations,
  .puko-root-readonly,
  .puko-new-grid,
  .puko-stage-strip {
    grid-template-columns: 1fr;
  }
  .puko-stage-actions,
  .puko-stage-entry-head {
    align-items: stretch;
    flex-direction: column;
  }
  .puko-work-header menu {
    justify-content: flex-start;
  }
  #detailDialog.puko-work-dialog .puko-work-header,
  #detailDialog.puko-work-dialog .puko-work-source,
  #detailDialog.puko-work-dialog .puko-work-summary,
  #detailDialog.puko-work-dialog .puko-root-readonly,
  #detailDialog.puko-work-dialog .puko-work-grid {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: 1fr;
    overflow-x: visible;
  }
  #detailDialog.puko-work-dialog .puko-work-header article,
  #detailDialog.puko-work-dialog .puko-work-source article,
  #detailDialog.puko-work-dialog .puko-work-summary article,
  #detailDialog.puko-work-dialog .puko-root-readonly article {
    flex-basis: auto;
  }
}
.puko-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.puko-ux-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.puko-ux-cards article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  cursor: pointer;
}
.puko-ux-cards span,
.puko-ux-cards p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.puko-ux-cards strong {
  display: block;
  margin: 6px 0 4px;
  font-size: 26px;
}
.puko-disclosure {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}
.puko-disclosure summary {
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 800;
}
.puko-disclosure > :not(summary) {
  margin: 0 14px 14px;
}
.puko-simple-start .form-grid {
  margin-top: 10px;
}
.strategy-task-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}
.strategy-task-hero h2 {
  margin: 0 0 6px;
  font-size: 22px;
  line-height: 1.2;
}
.strategy-ux-cards,
.strategy-purpose-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.strategy-purpose-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.strategy-ux-cards article,
.strategy-purpose-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}
.strategy-ux-cards article {
  cursor: pointer;
}
.strategy-ux-cards span,
.strategy-ux-cards p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.strategy-ux-cards strong {
  display: block;
  margin: 6px 0 4px;
  font-size: 26px;
}
.strategy-purpose-grid h3 {
  margin: 0;
  font-size: 18px;
}
.strategy-disclosure {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}
.strategy-disclosure summary {
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 800;
}
.strategy-disclosure > :not(summary) {
  margin: 0 14px 14px;
}
.strategy-simple-form {
  margin-bottom: 14px;
}
.strategy-workspace {
  display: grid;
  gap: 16px;
}
.strategy-contract-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
}
.strategy-contract-header h1 {
  margin: 2px 0 8px;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}
.strategy-header-meta,
.strategy-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.strategy-header-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.strategy-header-actions {
  justify-content: flex-end;
}
.strategy-header-actions button {
  min-height: 36px;
  padding: 0 12px;
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.strategy-user-tabs .tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.strategy-user-tabs .tab {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.strategy-user-tabs .tab.active {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: var(--ink);
  font-weight: 800;
}
.strategy-simple-panel {
  padding: 14px;
}
.strategy-simple-panel table {
  font-size: 13px;
}
.strategy-simple-panel th,
.strategy-simple-panel td {
  padding: 10px 12px;
}
.strategy-simple-panel button,
.strategy-improvement-workspace button {
  min-height: 34px;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 700;
}
.strategy-simple-panel .section-head h2 {
  font-size: 18px;
  line-height: 1.25;
}
.strategy-work-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.strategy-work-summary button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
  min-height: 70px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  color: var(--text);
  text-align: left;
  box-shadow: var(--shadow);
}
.strategy-work-summary span {
  display: grid;
  place-items: center;
  grid-row: span 2;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #f7f8fa;
  color: var(--muted);
  font-weight: 900;
  font-size: 11px;
}
.strategy-work-summary .blue span,
.strategy-work-summary .sky span,
.strategy-work-summary .amber span,
.strategy-work-summary .green span,
.strategy-work-summary .red span { background: #f7f8fa; color: var(--muted); }
.strategy-work-summary b {
  color: var(--muted);
  min-width: 0;
  font-size: 11px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.strategy-work-summary strong {
  min-width: 0;
  font-size: 18px;
  line-height: 1;
  overflow-wrap: anywhere;
}
.strategy-upper-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}
.strategy-upper-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
  min-height: 176px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
  cursor: pointer;
}
.strategy-upper-card h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.25;
}
.strategy-upper-card .muted {
  margin: 0;
  line-height: 1.45;
}
.strategy-mini-flow {
  display: grid;
  grid-template-columns: max-content 1fr max-content 1fr max-content 1fr max-content;
  gap: 6px;
  align-items: center;
}
.strategy-mini-flow span {
  display: grid;
  place-items: center;
  min-height: 30px;
  padding: 5px 8px;
  border-radius: 8px;
  background: #eef5ff;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}
.strategy-mini-flow i {
  height: 2px;
  background: #bfdbfe;
}
.strategy-improvement-workspace {
  display: grid;
  gap: 12px;
}
.strategy-improvement-workspace .primary,
.strategy-improvement-workspace .ghost,
.strategy-detail-panel .primary,
.strategy-detail-panel .ghost,
.strategy-work-toolbar .ghost {
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}
.strategy-improvement-workspace .primary:hover,
.strategy-improvement-workspace .ghost:hover,
.strategy-detail-panel .primary:hover,
.strategy-detail-panel .ghost:hover,
.strategy-work-toolbar .ghost:hover {
  background: #f7f8fa;
}
.strategy-improvement-workspace .tag,
.strategy-detail-panel .tag {
  border-color: var(--line);
  background: #f7f8fa;
  color: var(--ink);
}
.strategy-improvement-workspace .progress i,
.strategy-detail-panel .progress i,
.strategy-tree-panel .progress i {
  background: #64748b;
}
.strategy-command-hero {
  margin-top: 0;
}
.strategy-command-hero h2 {
  max-width: 760px;
  font-size: 20px;
  line-height: 1.25;
}
.strategy-simple-flow {
  margin-top: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.strategy-simple-flow strong {
  font-size: 13px;
  line-height: 1.25;
}
.strategy-simple-flow span {
  font-size: 12px;
  line-height: 1.35;
}
.strategy-simple-flow b {
  border: 1px solid var(--line);
  background: #f7f8fa;
  color: var(--ink);
}
.strategy-simple-flow article {
  border-color: var(--line);
  background: #fff;
}
.strategy-compact-workbench {
  margin-top: 0;
}
.strategy-compact-workbench,
.strategy-compact-stats article {
  border-color: var(--line);
  background: #fff;
}
.strategy-compact-workbench .puko-focus-meta span {
  border-color: var(--line);
  background: #f7f8fa;
  color: var(--ink);
}
.strategy-compact-stats {
  margin-top: 0;
}
.strategy-compact-list {
  margin-top: 0;
  display: grid;
  gap: 8px;
}
.strategy-compact-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(110px, .35fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}
.strategy-compact-workbench h2,
.strategy-compact-list strong {
  font-size: 15px;
  line-height: 1.3;
}
.strategy-compact-list span,
.strategy-compact-list small {
  display: block;
}
.strategy-compact-list small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.strategy-work-toolbar {
  display: grid;
  grid-template-columns: minmax(190px, 1.35fr) repeat(4, minmax(104px, .8fr)) repeat(3, max-content);
  gap: 7px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
}
.strategy-work-toolbar label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.strategy-work-toolbar input,
.strategy-work-toolbar select {
  width: 100%;
  min-height: 40px;
}
.strategy-purpose-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
}
.strategy-purpose-actions button {
  min-height: 36px;
  padding: 0 12px;
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.strategy-purpose-actions button:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.strategy-combined-actions {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: 0 6px 18px rgba(16,24,40,.04);
}
.strategy-action-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.strategy-action-tabs button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}
.strategy-action-tabs button.active {
  background: #f8fafc;
  color: var(--ink);
  box-shadow: inset 0 0 0 1px #cbd5e1;
}
.strategy-action-group {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  min-height: 38px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-action-group button {
  min-height: 32px;
  padding: 0 9px;
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.strategy-action-group button:disabled {
  opacity: .38;
  cursor: not-allowed;
}
.strategy-main-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}
.strategy-left {
  min-width: 0;
}
.strategy-tree-panel {
  padding: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  min-width: 0;
}
.strategy-tree-head,
.strategy-tree-row {
  display: grid;
  grid-template-columns: 22px 28px minmax(220px, 1.45fr) 74px 70px 86px 70px minmax(126px, .8fr) minmax(116px, .72fr) 94px 94px 86px 38px;
  gap: 5px;
  align-items: center;
  width: 100%;
  min-width: 1120px;
}
.strategy-tree-head {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.strategy-tree-head span:first-child {
  grid-column: 3;
}
.strategy-tree-row {
  width: 100%;
  min-height: 54px;
  padding: 10px 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.strategy-tree-row > span,
.strategy-tree-head > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.strategy-tree-row.active {
  background: #f8fafc;
  box-shadow: inset 3px 0 0 #94a3b8;
}
.strategy-tree-row.level-1,
.strategy-tree-row.level-2,
.strategy-tree-row.level-3,
.strategy-tree-row.level-4 {
  padding-left: 10px;
}
.strategy-tree-row.level-1 .tree-name-button { padding-left: 16px; }
.strategy-tree-row.level-2 .tree-name-button { padding-left: 32px; }
.strategy-tree-row.level-3 .tree-name-button { padding-left: 48px; }
.strategy-tree-row.level-4 .tree-name-button { padding-left: 64px; }
.tree-toggle {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  font-size: 14px;
  font-weight: 900;
}
.tree-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  font-weight: 900;
}
.tree-icon.plan { color: #fff; background: #1d4ed8; }
.tree-icon.goal { color: #fff; background: #2563eb; }
.tree-icon.target { color: #fff; background: #3b9df4; }
.tree-icon.activity { color: #fff; background: #f59e0b; }
.tree-icon.kpi { color: #fff; background: #22c587; }
.strategy-workspace .tree-icon.plan,
.strategy-workspace .tree-icon.goal,
.strategy-workspace .tree-icon.target,
.strategy-workspace .tree-icon.activity,
.strategy-workspace .tree-icon.kpi {
  border: 1px solid var(--line);
  background: #f7f8fa;
  color: var(--ink);
}
.tree-name {
  display: grid;
  gap: 2px;
}
.tree-name-button {
  justify-items: start;
  min-height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  transition: color .15s ease, padding-left .15s ease;
}
.tree-name-button:hover {
  color: var(--brand);
}
.tree-name strong {
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.tree-name small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.tree-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
  font-style: normal;
}
.tree-meta-line span {
  max-width: 100%;
  padding: 3px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.2;
}
.strategy-deviation {
  display: inline-grid;
  place-items: center;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--muted);
  font-weight: 900;
}
.strategy-deviation.negative {
  border-color: #fecaca;
  background: #fff7f7;
  color: #b42318;
}
.strategy-deviation.positive {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #15803d;
}
.strategy-detail-panel {
  position: sticky;
  top: 86px;
  display: grid;
  gap: 12px;
  min-width: 0;
  max-height: calc(100vh - 118px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
  box-shadow: var(--shadow);
}
.strategy-detail-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.strategy-detail-title h2 {
  margin: 3px 0 0;
  font-size: 18px;
  line-height: 1.25;
}
.strategy-detail-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.strategy-detail-toggle > span {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.strategy-detail-toggle b {
  min-width: 62px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--brand);
  font-size: 12px;
  text-align: center;
}
.strategy-detail-body {
  display: grid;
  gap: 12px;
}
.strategy-detail-body[hidden] {
  display: none !important;
}
.strategy-detail-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.strategy-detail-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--muted);
}
.strategy-detail-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--card));
  color: var(--brand);
}
.strategy-detail-list {
  display: grid;
  grid-template-columns: minmax(100px, .65fr) 1fr;
  gap: 8px 12px;
  margin: 0;
  font-size: 13px;
}
.strategy-detail-list dt {
  color: var(--muted);
  font-weight: 900;
}
.strategy-detail-list dd {
  margin: 0;
  font-weight: 700;
}
.strategy-detail-block {
  display: grid;
  gap: 10px;
}
.strategy-detail-block h3 {
  margin: 0;
  font-size: 15px;
}
.strategy-card-section {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-card-section h3 {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}
.strategy-card-section p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}
.strategy-card-section ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.strategy-card-section li {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.strategy-card-section li strong {
  color: var(--ink);
  font-size: 12px;
}
.strategy-card-section li span {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.strategy-kpi-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.strategy-kpi-cards article {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.strategy-kpi-cards article > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.strategy-kpi-cards div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.strategy-detail-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 4px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--line);
  background: var(--card);
}
.strategy-detail-actions button {
  justify-content: center;
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
}
.strategy-side-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}
.strategy-side-strip article {
  padding: 10px;
}
.strategy-side-strip strong {
  font-size: 13px;
}
.strategy-contract-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
}
.strategy-contract-note strong {
  color: var(--ink);
}
.strategy-row-actions {
  display: flex;
  justify-content: flex-end;
}
.strategy-row-actions .icon-button {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: #fff;
}
@media (max-width: 1500px) {
  .strategy-tree-head {
    display: grid;
  }
  .strategy-tree-row {
    align-items: center;
  }
  .strategy-row-actions {
    grid-column: auto;
    grid-row: auto;
  }
  .tree-name-button {
    min-width: 0;
  }
}
#detailDialog.strategy-full-dialog {
  width: min(1180px, calc(100vw - 28px));
}
#detailDialog.strategy-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.strategy-work-dialog .dialog-card {
  max-height: min(86vh, 880px);
  overflow: auto;
}
.strategy-work-form {
  display: grid;
  gap: 14px;
}
.strategy-work-sections {
  display: grid;
  gap: 12px;
}
.strategy-work-sections article {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-work-sections h3 {
  margin: 0;
  font-size: 15px;
}
.strategy-linked-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.strategy-linked-chips span {
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
#detailDialog.strategy-full-dialog .dialog-card {
  padding: 18px;
}
#detailDialog.strategy-full-dialog > .dialog-card > .dialog-actions {
  display: none;
}
.strategy-modal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 14px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-modal-breadcrumb span {
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.strategy-modal-breadcrumb span.active {
  color: var(--ink);
}
.strategy-modal-breadcrumb i {
  color: var(--muted);
  font-style: normal;
}
.strategy-modal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.strategy-modal-tabs button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.strategy-modal-tabs button.active {
  background: #f8fafc;
  color: var(--ink);
}
.strategy-modal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.strategy-modal-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.strategy-modal-grid .full {
  grid-column: 1 / -1;
}
.strategy-modal-inline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.strategy-modal-inline article,
.strategy-relation-map article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.strategy-modal-inline span,
.strategy-relation-map span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.strategy-modal-actions {
  justify-content: flex-end;
  gap: 8px;
}
.strategy-relation-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.strategy-relation-map b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--muted);
}
.strategy-identity-strip,
.strategy-linked-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.strategy-linked-cards {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 14px;
}
.strategy-identity-strip article,
.strategy-linked-cards article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.strategy-linked-cards article[data-action] {
  cursor: pointer;
}
.strategy-identity-strip span,
.strategy-linked-cards span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.strategy-identity-strip strong,
.strategy-linked-cards strong {
  min-width: 0;
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.strategy-linked-cards small {
  color: var(--muted);
  font-size: 12px;
}
.strategy-child-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.strategy-child-list h3 {
  margin: 0;
  font-size: 15px;
}
.strategy-child-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}
@media (max-width: 1100px) {
  .strategy-contract-header,
  .strategy-work-summary,
  .strategy-upper-workspace,
  .strategy-simple-flow,
  .strategy-compact-list article,
  .strategy-work-toolbar,
  .strategy-main-layout,
  .strategy-kpi-cards,
  .strategy-modal-grid,
  .strategy-modal-inline,
  .strategy-relation-map,
  .strategy-identity-strip,
  .strategy-linked-cards {
    grid-template-columns: 1fr;
  }
  .strategy-header-actions {
    justify-content: flex-start;
  }
  .strategy-detail-panel {
    position: static;
    max-height: none;
  }
  .strategy-tree-head {
    display: none;
  }
  .strategy-tree-row {
    grid-template-columns: 24px 30px 1fr 40px;
    min-width: 0;
  }
  .strategy-tree-row > span:not(.tree-icon),
  .strategy-tree-row > .progress {
    grid-column: 3;
  }
  .strategy-row-actions {
    grid-column: 4;
    grid-row: 1;
  }
  .strategy-detail-actions {
    grid-template-columns: 1fr 1fr;
  }
}
.profile-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}
.entry-impact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.alert-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.alert-strip article {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fff7f7;
  cursor: pointer;
}
.alert-strip span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.donut {
  --value: 65;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display:grid;
  place-items:center;
  margin: 0 auto 12px;
  background: conic-gradient(var(--brand) calc(var(--value) * 1%), #e5edf5 0);
}
.donut span {
  display:grid;
  place-items:center;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background:#fff;
  font-size: 28px;
  font-weight: 900;
}
.heatmap { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; }
.heat-cell {
  min-height: 92px;
  padding:12px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#f8fbff;
  cursor:pointer;
}
.heat-cell strong { display:block; font-size:22px; margin-top:6px; }
.heat-cell.good { background:#ecfdf3; }
.heat-cell.warn { background:#fff8eb; }
.heat-cell.risk { background:#fff1f2; }
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 26px 0 12px;
}
.section-head h2 { margin-bottom: 4px; font-size: 20px; }
.muted { color: var(--muted); }
.grid { display: grid; gap: 14px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card { padding: 16px; }
.metric-card span { color: var(--muted); font-size: 12px; text-transform: uppercase; font-weight: 800; }
.metric-card strong { display: block; margin-top: 6px; font-size: 30px; }
.metric-card small { color: var(--muted); }
.module-card {
  display: flex;
  min-height: 132px;
  padding: 16px;
  gap: 14px;
  color: inherit;
  text-decoration: none;
}
.module-card:hover { border-color: #bfdbfe; transform: translateY(-1px); }
.module-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--brand);
  font-weight: 900;
}
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 6px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.tag.ok { background: #e7f6ec; color: var(--ok); }
.tag.warn { background: #fff4df; color: #945f12; }
.tag.danger { background: #fee8e5; color: var(--danger); }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.tab {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: var(--muted);
}
.tab.active { border-color: #bfdbfe; background: #eff6ff; color: #1d4ed8; font-weight: 800; }
.toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.toolbar input, .toolbar select, .form-grid input, .form-grid select, .form-grid textarea {
  min-height: 38px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  background: white;
}
.toolbar .filters { display: flex; gap: 8px; flex-wrap: wrap; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; background: #f9fbfd; }
.progress { width: 100%; height: 9px; border-radius: 999px; background: #dfe8ef; overflow: hidden; }
.progress i { display: block; height: 100%; border-radius: inherit; background: var(--brand); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .45fr); gap: 14px; }
.timeline { padding: 14px; }
.timeline-item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.timeline-item:last-child { border-bottom: 0; }
.pill-list { display: grid; gap: 10px; }
.pill-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px; border-radius: 8px; background: var(--surface-2); }
.profile-block { padding: 18px; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kv { padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdff; }
.kv span { display:block; color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.kv strong { display:block; margin-top: 5px; }
.chart-bars { display: grid; gap: 10px; }
.bar-row { display: grid; grid-template-columns: 180px minmax(0,1fr) 44px; gap: 10px; align-items: center; }
.bar-track { height: 12px; border-radius: 999px; background: #dfe8ef; overflow: hidden; }
.bar-track i { display:block; height:100%; background: var(--info); }
.matrix { display:grid; grid-template-columns: 80px repeat(3, minmax(80px,1fr)); gap: 8px; }
.matrix div { min-height: 58px; display:grid; place-items:center; padding:8px; border-radius:8px; background: var(--surface-2); text-align:center; }
.matrix .hot { background:#fee8e5; color:var(--danger); font-weight:800; }
.matrix .warm { background:#fff4df; color:#8a5a0a; font-weight:800; }
.empty-state { padding: 28px; border: 1px dashed var(--line); border-radius: 8px; text-align: center; background: white; }
#profileDialog { width: min(920px, calc(100vw - 28px)); }
#detailDialog { width: min(860px, calc(100vw - 28px)); }
dialog { width: min(720px, calc(100vw - 28px)); max-height: calc(100vh - 32px); border: 0; border-radius: 8px; padding: 0; box-shadow: 0 30px 90px rgba(0,0,0,.28); overflow: auto; }
dialog::backdrop { background: rgba(10,16,22,.45); }
.dialog-card { padding: 18px; }
.dialog-head, .dialog-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.form-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.form-grid label { display:grid; gap:6px; color:var(--muted); font-weight:800; font-size:13px; }
.form-grid .full { grid-column: 1 / -1; }
.dialog-actions { margin: 16px 0 0; padding: 0; }
.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 20;
  padding: 12px 14px;
  border-radius: 8px;
  background: #111923;
  color: white;
  box-shadow: var(--shadow);
}
.drawer-backdrop { display: none; }
.profile-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 4px 10px 4px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  color: var(--ink);
  font-weight: 800;
}
.avatar.small { width: 30px; height: 30px; font-size: 11px; }
.profile-dialog { width: auto; max-width: none; }
.profile-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.hidden { display: none !important; }
.palette-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.palette-grid button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
}
.palette-grid span {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.75);
  box-shadow: 0 0 0 1px var(--line);
}
body.theme-mint { --brand:#0f766e; --brand-strong:#0b5f59; --info:#0f766e; --surface-2:#f0fdfa; }
body.theme-rose { --brand:#be5b75; --brand-strong:#9f405b; --info:#be5b75; --surface-2:#fff1f4; }
body.theme-amber { --brand:#b7791f; --brand-strong:#925f14; --info:#b7791f; --surface-2:#fff8eb; }
.metric-card, .pill-row, .bar-row, tbody tr, .kv, .timeline-item, .profile-button, .palette-grid button {
  cursor: pointer;
}
tbody tr:hover, .metric-card:hover, .pill-row:hover, .kv:hover, .timeline-item:hover {
  background: #f8fbff;
}
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0; }
.detail-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.detail-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.detail-card strong { display: block; margin-top: 6px; font-size: 20px; }
.demo-journey {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.demo-journey article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdff;
}
.demo-journey b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e8eeff;
  color: #3153d8;
}
.demo-journey strong {
  font-size: 13px;
}
.demo-journey span {
  color: var(--muted);
  font-size: 12px;
}
.example-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.example-list li {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
.org-chart { display: grid; gap: 12px; }
.org-level {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  position: relative;
}
.org-level.children::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: var(--line);
}
.org-branch {
  display: grid;
  gap: 12px;
  min-width: 250px;
  max-width: 320px;
  flex: 1 1 250px;
  position: relative;
}
.org-branch::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 50%;
  width: 1px;
  height: 16px;
  background: var(--line);
}
.person-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.person-card:hover { border-color: #bfdbfe; background: #f8fbff; }
.person-card strong { display:block; }
.person-card span { display:block; color:var(--muted); margin-top:4px; }
.person-card .avatar { margin-bottom: 10px; }
.person-card.primary-person {
  max-width: 360px;
  margin: 0 auto;
  border-color: #bfdbfe;
  background: #f8fbff;
}
.subunit-list { display: grid; gap: 8px; }
.subunit {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
}
.subunit strong { display:block; }
.subunit span { display:block; color: var(--muted); margin-top: 3px; }
.unit-strip { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.unit-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  cursor: pointer;
}
.unit-card strong, .unit-card span { display:block; }
.unit-card span { color: var(--muted); margin-top: 4px; font-size: 12px; }

.education-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid var(--brand);
}
.education-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  background: #eff6ff;
  color: #1e3a8a;
}
.education-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.education-score strong {
  display: block;
  color: #1d4ed8;
  font-size: 42px;
  line-height: 1;
}
.education-score small {
  color: #38598f;
  line-height: 1.45;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.education-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.education-form .section-head {
  align-items: flex-start;
}
.outcome-matrix {
  display: grid;
  gap: 10px;
}
.matrix-row {
  display: grid;
  grid-template-columns: 58px repeat(4, minmax(96px, 1fr));
  gap: 8px;
  align-items: center;
}
.matrix-row strong,
.matrix-row span {
  min-height: 34px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
}
.matrix-row strong {
  background: #f8fafc;
  border: 1px solid var(--line);
}
.matrix-row .high {
  background: #dcfce7;
  color: #166534;
}
.matrix-row .mid {
  background: #fef3c7;
  color: #92400e;
}
.matrix-row .low {
  background: #fee2e2;
  color: #991b1b;
}
.research-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #0f766e;
}
.research-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #99f6e4;
  border-radius: 6px;
  background: #f0fdfa;
  color: #115e59;
}
.research-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.research-score strong {
  display: block;
  color: #0f766e;
  font-size: 42px;
  line-height: 1;
}
.research-score small {
  color: #236b66;
  line-height: 1.45;
}
.research-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.research-form .section-head {
  align-items: flex-start;
}
.social-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #7c3aed;
}
.social-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #ddd6fe;
  border-radius: 6px;
  background: #f5f3ff;
  color: #5b21b6;
}
.social-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.social-score strong {
  display: block;
  color: #6d28d9;
  font-size: 42px;
  line-height: 1;
}
.social-score small {
  color: #6b4a9f;
  line-height: 1.45;
}
.social-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.social-form .section-head {
  align-items: flex-start;
}
.lifecycle-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #be5b75;
}
.lifecycle-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #fecdd3;
  border-radius: 6px;
  background: #fff1f2;
  color: #9f1239;
}
.lifecycle-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.lifecycle-score strong {
  display: block;
  color: #be123c;
  font-size: 42px;
  line-height: 1;
}
.lifecycle-score small {
  color: #8b3a4c;
  line-height: 1.45;
}
.lifecycle-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.journey-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 10px;
  align-items: center;
}
.journey-flow article {
  min-height: 118px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff7ed;
}
.journey-flow article.done {
  border-color: color-mix(in srgb, #16a34a 28%, var(--line));
  background: #f0fdf4;
}
.journey-flow article.active {
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  background: color-mix(in srgb, var(--brand) 9%, #fff);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--brand) 16%, transparent);
}
.journey-flow article span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.journey-flow article em {
  color: #be123c;
  font-style: normal;
  font-weight: 900;
}
.journey-flow i {
  height: 2px;
  background: #fecdd3;
}
.lifecycle-form .section-head {
  align-items: flex-start;
}
.simulation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #334155;
}
.simulation-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #f8fafc;
  color: #334155;
}
.simulation-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.simulation-score strong {
  display: block;
  color: #0f172a;
  font-size: 42px;
  line-height: 1;
}
.simulation-score small {
  color: #475569;
  line-height: 1.45;
}
.simulation-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.simulation-form .section-head {
  align-items: flex-start;
}
.simulation-list-page {
  display: grid;
  gap: 16px;
}
.simulation-summary .metric-card {
  min-height: 112px;
}
.simulation-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
}
.simulation-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.simulation-filters label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 800;
}
.simulation-filters select,
.simulation-filters input {
  width: 100%;
}
.simulation-table-scroll {
  max-height: 540px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-table {
  min-width: 1540px;
  width: max-content;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.simulation-table th,
.simulation-table td {
  height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
  overflow: visible;
}
.simulation-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  color: #667295;
  font-weight: 900;
}
.simulation-table tbody tr {
  background: #fff;
  cursor: pointer;
}
.simulation-table tbody tr:hover {
  background: #f3f4f6;
}
.simulation-table tbody tr.selected {
  background: #e8f2ff;
}
.simulation-table th:nth-child(1), .simulation-table td:nth-child(1) { width: 150px; }
.simulation-table th:nth-child(2), .simulation-table td:nth-child(2) { width: 300px; }
.simulation-table th:nth-child(3), .simulation-table td:nth-child(3) { width: 250px; }
.simulation-table th:nth-child(4), .simulation-table td:nth-child(4) { width: 135px; }
.simulation-table th:nth-child(5), .simulation-table td:nth-child(5) { width: 170px; }
.simulation-table th:nth-child(6), .simulation-table td:nth-child(6) { width: 190px; }
.simulation-table th:nth-child(7), .simulation-table td:nth-child(7) { width: 190px; }
.simulation-table th:nth-child(8), .simulation-table td:nth-child(8) { width: 160px; }
.simulation-table th:nth-child(9), .simulation-table td:nth-child(9) { width: 170px; }
.simulation-table th:nth-child(10), .simulation-table td:nth-child(10) { width: 160px; }
.simulation-work-dialog {
  width: min(96vw, 1420px);
}
.simulation-new-dialog {
  width: min(94vw, 1120px);
}
.simulation-new-form {
  display: grid;
  gap: 14px;
  max-height: min(76vh, 760px);
  overflow-y: auto;
  padding-right: 4px;
}
.simulation-new-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-new-section h3 {
  margin: 0;
  color: #344064;
}
.simulation-work-titlebar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.simulation-work-titlebar span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.simulation-work-titlebar menu,
.simulation-work-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.simulation-work-head {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.simulation-work-head.dense {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.simulation-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
}
.simulation-work-tabs button {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #475569;
  font-weight: 900;
}
.simulation-work-tabs button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
  color: #1d4ed8;
}
.simulation-work-panel {
  display: grid;
  gap: 12px;
}
.simulation-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.simulation-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 800;
}
.simulation-form-grid label.full {
  grid-column: 1 / -1;
}
.simulation-form-grid input,
.simulation-form-grid textarea {
  width: 100%;
}
.simulation-form-grid input[readonly] {
  background: #f8fafc;
  color: #64748b;
}
.simulation-table-scroll.compact {
  max-height: 52vh;
}
.simulation-work-table {
  min-width: 1480px;
  width: max-content;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}
.simulation-work-table.wide {
  min-width: 2350px;
}
.simulation-work-table.extra-wide {
  min-width: 3100px;
}
.simulation-work-table th,
.simulation-work-table td {
  height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  white-space: nowrap;
  overflow: visible;
}
.simulation-work-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f8fafc;
  color: #667295;
  font-weight: 900;
}
.simulation-work-table tbody tr {
  background: #fff;
  cursor: pointer;
}
.simulation-work-table tbody tr:hover {
  background: #f3f4f6;
}
.simulation-work-table tbody tr.selected {
  background: #e8f2ff;
}
.simulation-work-table tbody tr.sub td:first-child {
  padding-left: 28px;
}
.simulation-data-layout {
  display: grid;
  grid-template-columns: 260px minmax(580px, 1fr) 280px;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.simulation-data-layout.criteria {
  grid-template-columns: 340px minmax(1040px, 1fr);
}
.simulation-data-layout.evaluator {
  grid-template-columns: 320px minmax(820px, 1fr) 360px;
}
.simulation-data-layout.warning {
  grid-template-columns: 300px minmax(780px, 1fr) 360px;
}
.simulation-data-layout.warning.risk-center {
  grid-template-columns: 360px minmax(1180px, 1fr) 420px;
}
.simulation-data-layout.relations {
  grid-template-columns: 340px minmax(860px, 1fr) 380px;
}
.simulation-data-layout.workflow {
  grid-template-columns: 360px minmax(980px, 1fr) 380px;
}
.simulation-criteria-tree,
.simulation-source-detail {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.simulation-criteria-tree h3,
.simulation-source-detail h3 {
  margin: 0 0 4px;
  color: #344064;
}
.simulation-criteria-tree button {
  display: grid;
  gap: 4px;
  width: 100%;
  min-height: 46px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #475569;
  text-align: left;
}
.simulation-criteria-tree button.sub {
  margin-left: 10px;
  width: calc(100% - 10px);
}
.simulation-criteria-tree button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
  color: #1d4ed8;
}
.simulation-criteria-tree span,
.simulation-criteria-tree small,
.simulation-source-detail span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.simulation-criteria-tree button em {
  color: #334155;
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
  white-space: normal;
}
.simulation-source-detail article {
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-source-detail strong {
  font-size: 13px;
  color: #344064;
  white-space: pre-line;
}
.simulation-workflow-steps {
  max-height: 620px;
  overflow-y: auto;
}
.simulation-workflow-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.simulation-workflow-detail article {
  display: grid;
  gap: 5px;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-workflow-detail span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.simulation-workflow-detail strong {
  color: #344064;
  font-size: 13px;
  line-height: 1.35;
  white-space: normal;
}
.simulation-criterion-section {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-criterion-section h3 {
  margin: 0;
  color: #344064;
  font-size: 15px;
}
.simulation-data-center {
  min-width: 0;
}
.simulation-source-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.simulation-source-filters label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.simulation-source-filters select,
.simulation-source-filters input {
  min-width: 0;
  width: 100%;
  height: 34px;
}
.simulation-subtabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 0 0 10px;
  padding: 0 0 2px;
}
.simulation-subtabs button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: #475569;
  white-space: nowrap;
  font-weight: 900;
}
.simulation-subtabs button.active {
  border-color: #93c5fd;
  background: #e8f2ff;
  color: #1d4ed8;
}
.simulation-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}
.simulation-result-grid article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
}
.simulation-result-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.simulation-workflow {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 8px;
}
.simulation-workflow article {
  min-height: 72px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.simulation-workflow article.done {
  border-color: #bbf7d0;
  background: #f0fdf4;
}
.simulation-workflow article.active {
  border-color: #93c5fd;
  background: #e8f2ff;
}
.simulation-workflow article.passive {
  color: #64748b;
  opacity: .7;
}
.simulation-workflow span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.visit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #1d4ed8;
}
.visit-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  background: #eff6ff;
  color: #1e3a8a;
}
.visit-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.visit-score strong {
  display: block;
  color: #1d4ed8;
  font-size: 42px;
  line-height: 1;
}
.visit-score small {
  color: #38598f;
  line-height: 1.45;
}
.visit-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.visit-form .section-head {
  align-items: flex-start;
}
.reporting-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #0f766e;
}
.reporting-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #99f6e4;
  border-radius: 6px;
  background: #f0fdfa;
  color: #115e59;
}
.reporting-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.reporting-score strong {
  display: block;
  color: #0f766e;
  font-size: 42px;
  line-height: 1;
}
.reporting-score small {
  color: #315f5a;
  line-height: 1.45;
}
.reporting-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.reporting-form .section-head {
  align-items: flex-start;
}
.indicator-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #0f766e;
}
.indicator-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  background: #f0fdf4;
  color: #14532d;
}
.indicator-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.indicator-score strong {
  display: block;
  color: #15803d;
  font-size: 42px;
  line-height: 1;
}
.indicator-score small {
  color: #2f5f42;
  line-height: 1.45;
}
.indicator-flow {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.indicator-flow article {
  min-width: 126px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.indicator-flow article span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #0f766e;
  background: #ccfbf1;
  font-weight: 900;
}
.indicator-flow article strong {
  font-size: 13px;
}
.indicator-flow i {
  min-width: 18px;
  position: relative;
}
.indicator-flow i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #99f6e4;
}
.indicator-form .section-head {
  align-items: flex-start;
}
.indicator-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.indicator-grid-head,
.indicator-grid-row {
  display: grid;
  grid-template-columns: 120px 240px 110px 150px 110px 130px 120px 170px 150px 110px;
  gap: 8px;
  align-items: center;
  min-width: 1420px;
}
.indicator-grid-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 42px;
  padding: 0 9px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.indicator-grid-head span,
.indicator-grid-row span,
.indicator-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-grid-body,
.indicator-grid-group,
.indicator-group-rows {
  display: grid;
  min-width: 1420px;
}
.indicator-group-head {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  min-width: 1420px;
  padding: 0 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.indicator-group-head:hover,
.indicator-grid-row:hover {
  background: #f3f4f6;
}
.indicator-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.indicator-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 9px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 11px;
  text-align: left;
}
.indicator-grid-row.selected {
  background: #eff6ff;
}
.indicator-grid-row .tag {
  justify-self: start;
}
.indicator-grid-empty {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
#detailDialog.indicator-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.indicator-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.indicator-work-dialog #detailClose {
  display: none;
}
#detailDialog.evidence-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.evidence-work-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.evidence-work-dialog #detailClose,
#detailDialog.evidence-work-dialog .detail-eyebrow {
  display: none;
}
.evidence-work-form {
  display: grid;
  gap: 14px;
}
.evidence-work-header {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 118px 90px auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.evidence-work-header div,
.evidence-source-panel article,
.evidence-work-summary article,
.evidence-file-card article {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.evidence-work-header span,
.evidence-source-panel span,
.evidence-work-summary span,
.evidence-file-card span,
.evidence-relation-grid span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.evidence-work-header strong,
.evidence-source-panel strong,
.evidence-work-summary strong,
.evidence-file-card strong,
.evidence-relation-grid strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evidence-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.evidence-source-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.evidence-source-panel article,
.evidence-work-summary article,
.evidence-file-card article,
.evidence-relation-grid article {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.evidence-source-panel article {
  background: #f8fafc;
}
.evidence-work-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.evidence-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.evidence-work-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
}
.evidence-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.evidence-work-section {
  display: grid;
  gap: 12px;
  min-width: 0;
  overflow-x: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.evidence-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.evidence-work-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.evidence-work-grid .full {
  grid-column: 1 / -1;
}
.evidence-work-grid input,
.evidence-work-grid select,
.evidence-work-grid textarea {
  width: 100%;
}
.evidence-file-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.evidence-relation-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.evidence-relation-grid article {
  display: grid;
  gap: 8px;
}
.evidence-relation-grid button {
  justify-self: start;
}
#detailDialog.indicator-new-dialog {
  width: min(65vw, 980px);
}
#detailDialog.indicator-new-dialog .dialog-card {
  max-height: min(86vh, 760px);
  overflow-y: auto;
}
#detailDialog.indicator-actual-dialog {
  width: min(50vw, 760px);
}
#detailDialog.indicator-actual-dialog .dialog-card {
  max-height: min(86vh, 720px);
  overflow-y: auto;
}
#detailDialog.indicator-actual-dialog #detailClose,
#detailDialog.indicator-actual-dialog .detail-eyebrow {
  display: none;
}
#detailDialog.indicator-new-dialog #detailClose,
#detailDialog.indicator-new-dialog .detail-eyebrow {
  display: none;
}
.indicator-new-form {
  display: grid;
  gap: 16px;
}
.indicator-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
.indicator-new-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.indicator-new-grid .full {
  grid-column: 1 / -1;
}
.indicator-new-grid input,
.indicator-new-grid select,
.indicator-new-grid textarea {
  width: 100%;
}
.indicator-new-grid input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}
.indicator-actual-form {
  display: grid;
  gap: 16px;
}
.indicator-actual-readonly {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.indicator-actual-readonly article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.indicator-actual-readonly span,
.indicator-actual-evidence span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.indicator-actual-readonly strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-actual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.indicator-actual-grid label,
.indicator-actual-evidence {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.indicator-actual-grid .full {
  grid-column: 1 / -1;
}
.indicator-actual-grid input,
.indicator-actual-grid select,
.indicator-actual-grid textarea {
  width: 100%;
}
.input-with-unit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.input-with-unit span {
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.indicator-work-form {
  display: grid;
  gap: 14px;
}
.indicator-work-header {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 120px auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.indicator-work-header div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.indicator-work-header span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.indicator-work-header strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-work-header menu {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.indicator-work-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.indicator-work-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.indicator-work-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.indicator-work-summary strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.indicator-work-tabs button {
  min-height: 34px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
}
.indicator-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 38%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.indicator-work-section {
  display: grid;
  gap: 12px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.indicator-relation-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.indicator-relation-list article {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.indicator-calc-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.indicator-calc-strip span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}
.indicator-trend-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.indicator-trend-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.indicator-trend-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.indicator-trend-summary strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-trend-chart {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.indicator-trend-bars {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(54px, 1fr);
  gap: 10px;
  align-items: end;
  min-height: 150px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.indicator-trend-period {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 5px;
  min-width: 0;
}
.indicator-bar {
  width: 18px;
  min-height: 6px;
  display: grid;
  align-content: start;
  justify-items: center;
  border-radius: 5px 5px 0 0;
}
.indicator-bar span {
  transform: translateY(-18px);
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.indicator-bar.target {
  background: #bfdbfe;
}
.indicator-bar.actual {
  background: #2563eb;
}
.indicator-trend-axis {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(54px, 1fr);
  gap: 10px;
}
.indicator-trend-axis span {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.indicator-trend-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.indicator-trend-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.indicator-trend-legend i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
}
.indicator-trend-legend i.target { background: #bfdbfe; }
.indicator-trend-legend i.actual { background: #2563eb; }
.indicator-trend-table {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: hidden;
}
.indicator-trend-head,
.indicator-trend-row {
  display: grid;
  grid-template-columns: 1.1fr .9fr .9fr .8fr .8fr 1fr;
  gap: 8px;
  align-items: center;
  min-width: 720px;
  padding: 9px 10px;
}
.indicator-trend-head {
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.indicator-trend-row {
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 12px;
  text-align: left;
}
.indicator-trend-row:hover {
  background: #f3f4f6;
}
.indicator-trend-row.selected {
  background: #eff6ff;
}
.indicator-trend-head span,
.indicator-trend-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #b45309;
}
.risk-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #fed7aa;
  border-radius: 6px;
  background: #fff7ed;
  color: #7c2d12;
}
.risk-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.risk-score strong {
  display: block;
  color: #c2410c;
  font-size: 42px;
  line-height: 1;
}
.risk-score small {
  color: #7c3f1d;
  line-height: 1.45;
}
.risk-flow {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.risk-flow article {
  min-width: 124px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.risk-flow article span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #9a3412;
  background: #ffedd5;
  font-weight: 900;
}
.risk-flow article strong {
  font-size: 13px;
}
.risk-flow i {
  min-width: 18px;
  position: relative;
}
.risk-flow i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #fed7aa;
}
.risk-matrix {
  display: grid;
  grid-template-columns: repeat(5, minmax(112px, 1fr));
  gap: 10px;
}
.risk-dot {
  min-height: 104px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.risk-dot span {
  font-size: 12px;
  font-weight: 900;
}
.risk-dot strong {
  font-size: 30px;
  line-height: 1;
}
.risk-dot.kritik {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}
.risk-dot.yuksek {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #9a3412;
}
.risk-dot.orta {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}
.risk-form .section-head {
  align-items: flex-start;
}
.risk-grouped-grid {
  display: grid;
  max-height: 620px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.risk-grid-head,
.risk-grid-row {
  display: grid;
  grid-template-columns: 112px minmax(260px, 1.5fr) 150px 124px 82px 72px 112px 118px 126px 112px 98px 180px 170px 190px 126px;
  gap: 10px;
  align-items: center;
  min-width: 2140px;
}
.risk-grid-head {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.risk-grid-head span,
.risk-grid-row span,
.risk-grid-row strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-grid-body,
.risk-grid-group,
.risk-group-rows {
  display: grid;
  min-width: 0;
}
.risk-group-head {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 10px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.risk-group-head:hover,
.risk-grid-row:hover {
  background: #f3f4f6;
}
.risk-group-head small {
  color: var(--muted);
  font-size: 12px;
}
.risk-grid-row {
  width: 100%;
  height: 42px;
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  font-size: 12px;
  text-align: left;
}
.risk-grid-row.selected {
  background: #eff6ff;
}
.risk-grid-row .tag {
  justify-self: start;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-grid-empty {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
#detailDialog.risk-work-dialog {
  width: min(80vw, 1240px);
}
#detailDialog.risk-work-dialog .dialog-card,
#detailDialog.risk-mini-dialog .dialog-card {
  max-height: min(88vh, 900px);
  overflow-y: auto;
}
#detailDialog.risk-work-dialog #detailClose,
#detailDialog.risk-work-dialog .detail-eyebrow,
#detailDialog.risk-mini-dialog #detailClose,
#detailDialog.risk-mini-dialog .detail-eyebrow {
  display: none;
}
#detailDialog.risk-mini-dialog {
  width: min(58vw, 820px);
}
.risk-work-form,
.risk-work-section {
  display: grid;
  gap: 14px;
}
.risk-work-header,
.risk-work-summary {
  display: grid;
  gap: 8px;
}
.risk-work-header {
  grid-template-columns: 92px minmax(0, 1.6fr) 110px 96px auto;
  align-items: center;
}
.risk-work-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.risk-work-header div,
.risk-work-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.risk-work-header menu {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}
.risk-work-header span,
.risk-work-summary span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.risk-work-header strong,
.risk-work-summary strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-work-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.risk-work-tabs button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
}
.risk-work-tabs button.active {
  border-color: color-mix(in srgb, var(--brand) 34%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, #fff);
  color: var(--brand);
}
.risk-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.risk-work-grid label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.risk-work-grid .full {
  grid-column: 1 / -1;
}
.risk-work-grid input,
.risk-work-grid select,
.risk-work-grid textarea {
  width: 100%;
}
.risk-control-panel {
  display: grid;
  gap: 12px;
}
.risk-control-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.risk-control-actions button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.risk-control-table {
  display: grid;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.risk-control-head,
.risk-control-row {
  display: grid;
  grid-template-columns: 118px minmax(220px, 1.4fr) 120px 116px 116px 150px 150px 150px 168px;
  min-width: 1320px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
}
.risk-control-head {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.risk-control-row {
  min-height: 42px;
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.risk-control-row:hover {
  background: #f3f4f6;
}
.risk-control-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.risk-control-row span,
.risk-control-row strong,
.risk-control-head span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-relation-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.risk-relation-cards article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.risk-relation-cards article div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.risk-relation-cards strong,
.risk-relation-cards span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-relation-cards span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.risk-evaluation-section h3 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 15px;
}
.risk-eval-readonly {
  display: grid;
  grid-template-columns: 90px minmax(0, 1.5fr) minmax(0, .8fr) 120px;
  gap: 8px;
}
.risk-eval-readonly article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.risk-eval-readonly span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.risk-eval-readonly strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-eval-matrix {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.risk-matrix-cell {
  display: grid;
  gap: 3px;
  min-height: 54px;
  align-content: center;
  justify-items: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--muted);
  user-select: none;
}
.risk-matrix-cell span {
  font-size: 10px;
  font-weight: 900;
}
.risk-matrix-cell strong {
  color: var(--ink);
  font-size: 16px;
}
.risk-matrix-cell.active {
  outline: 3px solid color-mix(in srgb, var(--brand) 38%, transparent);
  border-color: var(--brand);
  background: color-mix(in srgb, var(--brand) 8%, #fff);
}
.risk-matrix-cell.risk-kritik { background: #fef2f2; color: #991b1b; }
.risk-matrix-cell.risk-yüksek { background: #fff7ed; color: #9a3412; }
.risk-matrix-cell.risk-orta { background: #fffbeb; color: #92400e; }
.risk-matrix-cell.risk-düşük { background: #f0fdf4; color: #166534; }
.risk-history-panel {
  display: grid;
  gap: 12px;
}
.risk-history-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.risk-history-filters label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.risk-history-filters input,
.risk-history-filters select {
  width: 100%;
}
.risk-history-table {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.risk-history-head,
.risk-history-row {
  display: grid;
  grid-template-columns: 150px 84px 84px 110px 120px 130px minmax(160px, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 12px;
}
.risk-history-head {
  background: #f8fafc;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.risk-history-row {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.risk-history-row:hover {
  background: #f3f4f6;
}
.risk-history-row.selected {
  background: #eff6ff;
  box-shadow: inset 3px 0 0 var(--brand);
}
.risk-history-row span,
.risk-history-head span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-history-comparison,
.risk-history-summary {
  display: grid;
  gap: 8px;
}
.risk-history-comparison {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.risk-history-comparison.empty {
  display: block;
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-weight: 800;
}
.risk-history-comparison article,
.risk-history-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.risk-history-comparison article {
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.risk-history-comparison span,
.risk-history-summary span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
}
.risk-history-comparison strong,
.risk-history-summary strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.risk-history-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.risk-history-summary .full {
  grid-column: 1 / -1;
}
.master-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #0f766e;
}
.master-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #99f6e4;
  border-radius: 6px;
  background: #f0fdfa;
  color: #115e59;
}
.master-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.master-score strong {
  display: block;
  color: #0f766e;
  font-size: 42px;
  line-height: 1;
}
.master-score small {
  color: #315f5a;
  line-height: 1.45;
}
.master-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.master-flow {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.master-flow article {
  min-width: 126px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.master-flow article span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #0f766e;
  background: #ccfbf1;
  font-weight: 900;
}
.master-flow article strong {
  font-size: 13px;
}
.master-flow i {
  min-width: 18px;
  position: relative;
}
.master-flow i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #99f6e4;
}
.master-form .section-head {
  align-items: flex-start;
}
.model-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: stretch;
  border-left: 4px solid #1d4ed8;
}
.model-score {
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  background: #eff6ff;
  color: #1e3a8a;
}
.model-score span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.model-score strong {
  display: block;
  color: #1d4ed8;
  font-size: 42px;
  line-height: 1;
}
.model-score small {
  color: #38598f;
  line-height: 1.45;
}
.model-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.model-spine {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.model-spine article {
  min-width: 145px;
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.model-spine article span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #1d4ed8;
  background: #dbeafe;
  font-weight: 900;
}
.model-spine article strong {
  font-size: 13px;
}
.model-spine i {
  min-width: 18px;
  position: relative;
}
.model-spine i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: #bfdbfe;
}
.model-form .section-head {
  align-items: flex-start;
}

@media (max-width: 1080px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed;
    z-index: 20;
    inset: 0 auto 0 0;
    width: min(304px, 88vw);
    transform: translateX(-105%);
    transition: transform .18s ease;
  }
  .sidebar.open { transform: translateX(0); }
  .drawer-backdrop.open { display:block; position:fixed; inset:0; z-index:19; background:rgba(10,16,22,.45); }
  .mobile-only { display: inline-grid; }
  .topbar { align-items:flex-start; }
  .topbar-actions { flex-wrap: wrap; justify-content: flex-end; }
  .search { min-width: 180px; }
}
@media (max-width: 820px) {
  main, .topbar { padding: 14px; }
  .topbar { flex-direction: column; }
  .topbar-actions, .search { width: 100%; }
  .puko-command-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .puko-command-hero .primary,
  .puko-compact-actions button {
    width: 100%;
  }
  .puko-compact-actions {
    justify-content: stretch;
  }
  .topbar-actions button { flex: 1; }
  .awareness-ticker {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    min-height: 74px;
  }
  .ticker-track {
    width: 100%;
  }
  .ticker-content {
    animation-duration: 28s;
  }
  .hero, .split, .grid.cols-2, .grid.cols-3, .grid.cols-4, .profile-grid { grid-template-columns: 1fr; }
  .insight-grid, .heatmap, .ai-grid, .strategy-grid, .strategy-flow, .strategy-ux-cards, .strategy-purpose-grid, .entry-panel, .entry-actions, .alert-strip, .puko-wizard, .puko-cycle-grid, .puko-cycle-line, .record-pdca-track, .pdca-report-grid, .journey-rule-panel, .puko-journey-panel, .journey-timeline-card > article, .profile-grid.compact, .assistant-strip, .assistant-suggestions, .puko-workbench, .puko-workbench-side, .puko-alerts, .puko-start-grid, .embedded-doc-row, .requirement-columns, .improvement-record-grid, .puko-flow-panel, .field-check-grid, .rule-card-grid, .mini-compare, .mandatory-option-grid, .puko-control-panel, .puko-system-health, .puko-simple-flow, .puko-compact-workbench, .puko-compact-stats, .puko-ux-cards, .action-create-grid, .action-board, .survey-wizard, .survey-create-grid, .survey-template-grid, .survey-card-grid, .survey-finding-grid, .feedback-journey, .feedback-create-grid, .feedback-card-grid, .feedback-group-grid, .document-lifecycle, .document-create-grid, .document-card-grid, .document-workflow-grid, .document-work-header, .document-work-top, .document-work-grid, .document-work-file, .process-create-grid, .process-card-grid, .process-maturity-grid, .process-flow-diagram, .bidr-unit-grid, .kidr-criteria-grid, .bidr-transfer-grid, .evidence-card-grid, .evidence-lifecycle { grid-template-columns: 1fr; }
  .evidence-hero {
    align-items: stretch;
    flex-direction: column;
  }
  .bidr-hero,
  .bidr-flow-strip {
    align-items: stretch;
    flex-direction: column;
  }
  .bidr-flow-strip i {
    width: 2px;
    height: 22px;
    margin: 0 auto;
  }
  .bidr-flow-strip i::after {
    right: -4px;
    top: auto;
    bottom: -1px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid var(--brand);
    border-bottom: 0;
  }
  .process-flow-diagram article:not(:last-child)::after {
    content: "↓";
    right: auto;
    left: 18px;
    top: auto;
    bottom: -18px;
    transform: none;
  }
  .process-flow-diagram.flowchart-style {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-template-areas:
      "start"
      "first"
      "decision"
      "yes"
      "yesTask"
      "end"
      "no"
      "noTask"
      "delay";
    min-width: 0;
    overflow-x: visible;
  }
  .flow-decision {
    width: 118px;
    height: 118px;
    margin: 8px auto;
  }
  .flow-start::after,
  .flow-task::after,
  .flow-decision::after,
  .flow-rework::after,
  .flow-delay::after,
  .flow-start::before,
  .flow-task::before,
  .flow-decision::before,
  .flow-rework::before,
  .flow-delay::before {
    display: none;
  }
  .process-flow-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .process-flow-head small { text-align: left; }
  .process-flow-builder {
    align-items: stretch;
    flex-direction: column;
  }
  .process-flow-builder button {
    width: 100%;
  }
  .process-flow-toolbar,
  .info-flow-layout,
  .flow-sync-summary {
    align-items: stretch;
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .education-hero,
  .education-map,
  .research-hero,
  .research-map,
  .social-hero,
  .social-map,
  .lifecycle-hero,
  .lifecycle-map,
  .simulation-hero,
  .simulation-map,
  .visit-hero,
  .visit-map,
  .reporting-hero,
  .reporting-map,
  .indicator-hero,
  .risk-hero,
  .risk-matrix,
  .master-hero,
  .master-map,
  .model-hero,
  .model-map {
    grid-template-columns: 1fr;
  }
  .education-score,
  .research-score,
  .social-score,
  .lifecycle-score,
  .simulation-score,
  .visit-score,
  .reporting-score,
  .indicator-score,
  .risk-score,
  .master-score,
  .model-score {
    min-height: 150px;
  }
  .indicator-flow,
  .risk-flow,
  .master-flow,
  .model-spine {
    flex-direction: column;
    overflow-x: visible;
  }
  .indicator-flow i,
  .risk-flow i,
  .master-flow i,
  .model-spine i {
    min-height: 18px;
    min-width: 0;
  }
  .indicator-flow i::before,
  .risk-flow i::before,
  .master-flow i::before,
  .model-spine i::before {
    top: 0;
    bottom: 0;
    left: 18px;
    width: 2px;
    height: auto;
  }
  #detailDialog.indicator-new-dialog {
    width: min(94vw, 980px);
  }
  #detailDialog.indicator-actual-dialog {
    width: min(94vw, 760px);
  }
  .indicator-actual-readonly,
  .indicator-actual-grid,
  .indicator-trend-summary {
    grid-template-columns: 1fr;
  }
  .indicator-trend-head,
  .indicator-trend-row {
    grid-template-columns: minmax(88px, 1.1fr) repeat(5, minmax(64px, 1fr));
    font-size: 11px;
  }
  .indicator-trend-chart,
  .indicator-trend-table {
    overflow-x: auto;
  }
  .indicator-trend-bars,
  .indicator-trend-axis,
  .indicator-trend-head,
  .indicator-trend-row {
    min-width: 520px;
  }
  .indicator-new-grid {
    grid-template-columns: 1fr;
  }
  .journey-flow {
    grid-template-columns: 1fr;
  }
  .journey-flow i {
    width: 2px;
    height: 18px;
    margin: 0 auto;
  }
  .outcome-matrix {
    overflow-x: auto;
  }
  .matrix-row {
    min-width: 560px;
  }
  .info-flow-canvas {
    overflow-x: visible;
  }
  .pdca-band,
  .info-flow-grid {
    min-width: 0;
  }
  .pdca-band {
    grid-template-columns: 1fr;
  }
  .info-flow-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-template-areas:
      "start"
      "task"
      "control"
      "decision"
      "yes"
      "end"
      "no";
  }
  .info-flow-grid .edge,
  .info-flow-grid .edge-label {
    display: none;
  }
  .puko-alerts { grid-column: auto; }
  .ai-head { flex-direction: column; }
  .ai-head .primary { width: 100%; }
  .org-level, .unit-strip { grid-template-columns: 1fr; }
  .hero-stats { grid-template-columns: 1fr; }
  .bar-row { grid-template-columns: 1fr; }
  .timeline-item { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .palette-grid, .detail-grid, .demo-journey { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  #detailDialog.document-new-dialog,
  #detailDialog.document-revision-dialog,
  #detailDialog.document-distribution-dialog,
  #detailDialog.document-relation-dialog {
    width: calc(100vw - 20px);
  }
  #detailDialog.document-new-dialog .dialog-card,
  #detailDialog.document-revision-dialog .dialog-card,
  #detailDialog.document-distribution-dialog .dialog-card,
  #detailDialog.document-relation-dialog .dialog-card {
    max-height: calc(100vh - 24px);
  }
  .document-new-form .document-work-grid {
    grid-template-columns: 1fr;
  }
  .document-preview dl {
    grid-template-columns: 1fr;
  }
  .document-revision-compare-grid {
    grid-template-columns: 1fr;
  }
}
