﻿:root {
  --bg: #f5f7fb;
  --panel: #ffffff;
  --text: #182024;
  --ink: #13272b;
  --muted: #66727a;
  --line: #dde6ee;
  --brand: #0f766e;
  --teal: #0f766e;
  --brand-2: #2563eb;
  --soft: #eaf7f5;
  --surface: #f8fbfd;
  --nav: #0e2430;
  --nav-2: #12313f;
  --warn: #b7791f;
  --danger: #b42318;
  --shadow: 0 16px 38px rgba(15, 23, 42, 0.075);
  --shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.055);
}

/* Longitudinal and repeated-measures workbench */
.longitudinal-workspace { display: none; gap: 16px; }
.longitudinal-workspace.active { display: grid; }
.longitudinal-intro {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 20px 22px; border: 1px solid #cfe7e4; border-radius: 18px;
  background: linear-gradient(120deg, #f2fbf9 0%, #f5f8ff 100%);
}
.longitudinal-intro h3 { margin: 4px 0 5px; font-size: 22px; }
.longitudinal-intro p { margin: 0; color: #58707b; }
.longitudinal-format { padding: 11px 15px; border-radius: 12px; background: #fff; color: #52707a; white-space: nowrap; }
.longitudinal-format strong { color: #087f78; }
.longitudinal-role-grid .block, .longitudinal-model-grid .block { min-width: 0; }
.longitudinal-options {
  display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 14px 18px;
  border: 1px solid #d9e7ec; border-radius: 14px; background: #fbfdfe;
}
.longitudinal-options > label { display: inline-flex; flex: 0 0 auto; width: auto !important; align-items: center; gap: 8px; font-weight: 650; white-space: nowrap; }
.longitudinal-safety {
  display: flex; gap: 12px; align-items: center; padding: 12px 16px;
  border-left: 4px solid #14a198; border-radius: 10px; background: #f0faf8; color: #4d6971;
}
.longitudinal-safety strong { color: #087f78; }
@media (max-width: 900px) {
  .longitudinal-intro { align-items: flex-start; flex-direction: column; }
  .longitudinal-format { white-space: normal; }
}

.stat-decision-host { margin-top: 16px; }
.stat-decision-workflow { display: grid; gap: 10px; padding: 12px; border: 1px solid #d6e4e7; border-radius: 14px; background: #f8fbfb; }
.stat-workflow-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.stat-workflow-head p { margin: 4px 0 0; color: #60747b; font-size: 12px; }
.stat-design-help { margin: -2px 0 0; color: #60747b; font-size: 11px; }
.stat-workflow-head label,.stat-output-settings label { display: flex; align-items: center; gap: 8px; }
.stat-workflow-actions { display: flex; align-items: end; gap: 10px; }
.stat-collapse-button { min-width: 82px; white-space: nowrap; }
.stat-workflow-body { display: grid; gap: 8px; }
.stat-decision-workflow.collapsed .stat-workflow-body { display: none; }
.stat-output-settings { display: grid; grid-template-columns: repeat(4,max-content) minmax(0,1fr); justify-content: stretch; align-items: center; gap: 12px 22px; min-width: 0; padding: 12px 14px; border-radius: 10px; background: #edf6f5; }
.stat-output-settings > label { position: static; display: inline-grid; grid-auto-flow: column; grid-auto-columns: max-content; align-items: center; justify-content: start; gap: 8px; width: max-content; min-width: 0; margin: 0; white-space: nowrap; }
.stat-output-settings > label > span { position: static; display: inline-block; width: auto; white-space: nowrap; }
.stat-output-settings input[type="checkbox"] { flex: 0 0 auto; margin: 0; }
.stat-output-settings input[type="number"] { width: 70px; }
.stat-output-settings .capability-parameter-controls { grid-column: 1 / -1; display: block; width: 100%; min-width: 0; margin: 0; padding: 10px 12px 12px; border: 1px solid #cfe0e2; border-radius: 10px; background: rgba(255,255,255,.58); }
.stat-output-settings .capability-parameter-controls legend { width: auto; margin: 0 0 0 2px; padding: 0 7px; color: #34565d; font-size: 12px; font-weight: 800; }
.stat-output-settings .capability-parameter-grid { display: grid; grid-template-columns: repeat(3,minmax(220px,1fr)); gap: 10px 22px; width: 100%; min-width: 0; }
.stat-output-settings .capability-parameter { display: grid; grid-template-columns: minmax(112px,max-content) minmax(100px,1fr); align-items: center; gap: 9px; width: 100%; min-width: 0; margin: 0; white-space: normal; }
.stat-output-settings .capability-parameter > span { min-width: 0; line-height: 1.25; }
.stat-output-settings .capability-parameter input:not([type="checkbox"]),.stat-output-settings .capability-parameter select { width: 100%; min-width: 0; max-width: 190px; }
.stat-output-settings .capability-parameter-boolean { grid-template-columns: auto minmax(0,1fr); justify-self: start; }
.stat-output-settings .capability-parameter-boolean input { margin: 0; }
.stat-decision-catalog-tools { display:grid;grid-template-columns:auto minmax(180px,280px) minmax(145px,210px) auto;align-items:end;justify-content:start;gap:8px;padding:10px 12px;border:1px solid #d8e7e8;border-radius:10px;background:#f8fbfb; }
.stat-decision-catalog-tools > strong { align-self:center;color:#28535a;white-space:nowrap; }
.stat-decision-catalog-tools > label { display:grid;gap:4px;min-width:0; }
.stat-decision-catalog-tools > label > span { margin:0;color:#667e83;font-size:10px; }
.stat-decision-catalog-tools input,.stat-decision-catalog-tools select { min-height:36px;padding:6px 9px; }
.stat-decision-catalog-tools button { min-height:36px;padding:6px 10px;white-space:nowrap; }
.stat-selection-actions { display:flex;align-items:center;gap:6px; }
.stat-source-variable-label,.stat-source-variable-list { display:none!important; }
.stat-decision-rows { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start; }
.stat-decision-row { display:block;min-width:0;overflow:hidden;border:1px solid #dbe7e9;border-radius:10px;background:#fff; }
.stat-decision-row.popover-open { overflow:visible;border-color:#4fb4aa;box-shadow:0 0 0 2px rgba(79,180,170,.12); }
.stat-decision-row.excluded { border-style:dashed;background:#f6f9f9; }
.stat-decision-row.excluded .stat-decision-card-head > :not(.stat-card-include):not(.stat-card-toggle) { opacity:.48; }
.stat-decision-card-head { display:grid;grid-template-columns:auto minmax(72px,.55fr) minmax(105px,.85fr) minmax(105px,.8fr) auto;align-items:center;gap:7px;width:100%;min-height:58px;padding:7px 9px;border:0;border-radius:0;background:#fff;color:#20363c;text-align:left;box-shadow:none; }
.stat-decision-card-head:hover { transform:none;background:#f4faf9;box-shadow:none; }
.stat-card-include { display:grid;justify-items:center;gap:2px;margin:0;color:#527077;font-size:9px;line-height:1;cursor:pointer; }
.stat-card-include input { width:15px;height:15px;margin:0;accent-color:#0b8d82; }
.stat-decision-card-head .stat-variable { display:grid;gap:3px;min-width:0; }
.stat-decision-card-head .stat-variable strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px; }
.stat-card-diagnostic { overflow:hidden;color:#667b80;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap; }
.stat-card-method { display:grid;gap:3px;min-width:0; }
.stat-card-method small { color:#76888c;font-size:10px; }
.stat-card-method strong { overflow:hidden;color:#087d74;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.stat-card-toggle { min-height:28px;padding:4px 7px;border:0;border-radius:7px;background:#edf5f5;color:#087d74;font-size:10px;white-space:nowrap;box-shadow:none; }
.stat-popover-head { display:none; }
.stat-decision-detail { display:none;grid-template-columns:minmax(250px,1.35fr) minmax(175px,.8fr) minmax(250px,1.25fr) minmax(190px,.9fr);gap:0;padding:10px 12px;border-top:1px solid #dce8e8;background:#fbfdfd; }
.stat-decision-detail .stat-step { display:grid;align-content:start;gap:6px;min-width:0;margin:0;padding:4px 14px;border-right:1px solid #e0eaeb; }
.stat-decision-detail .stat-step:first-child { padding-left:2px; }
.stat-decision-detail .stat-step:last-child { padding-right:2px;border-right:0; }
.stat-decision-detail .stat-step > b { margin:0;color:#31575e;font-size:12px; }
.stat-diagnostic-facts { display:flex;flex-wrap:wrap;gap:5px!important; }
.stat-diagnostic-facts span { display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf5f4;color:#506b71;font-size:10px;line-height:1.25; }
.stat-step-recommendation p { display:grid;gap:3px; }
.stat-step-recommendation p strong { color:#087d74;font-size:12px; }
.stat-step-recommendation p span { color:#60747b;font-size:11px;line-height:1.3; }
.stat-step-final { margin:-2px 0!important;padding:6px 10px!important;border:1px solid #cbe4df!important;border-radius:8px;background:#f0faf8; }
.stat-decision-detail .stat-step select { width:100%;min-width:0;max-width:300px; }
.stat-decision-row.expanded { grid-column:span 2;box-shadow:0 8px 20px rgba(16,91,84,.07); }
.stat-decision-row.expanded .stat-decision-detail { display:grid; }
.stat-decision-row.popover-open .stat-decision-detail { position:fixed;z-index:2600;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100vh - 24px);overflow:auto;padding:12px;border:1px solid #bcdcd8;border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(20,64,69,.22); }
.stat-decision-row.popover-open .stat-popover-head { display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 10px;border-bottom:1px solid #e1ebec; }
.stat-popover-head > div { display:grid;gap:2px; }
.stat-popover-head strong { color:#173d44;font-size:16px; }
.stat-popover-head span { color:#698087;font-size:11px; }
.stat-popover-close { width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:9px;background:#eef5f5;color:#31575e;font-size:18px;line-height:1;box-shadow:none; }
.stat-decision-row.popover-open .stat-step { padding:10px;border:1px solid #e0eaeb;border-radius:9px; }
.stat-decision-row.popover-open .stat-step-diagnostic { grid-column:1/-1;grid-row:2; }
.stat-decision-row.popover-open .stat-step-description { grid-column:1;grid-row:3; }
.stat-decision-row.popover-open .stat-step-final { grid-column:2;grid-row:3;margin:0!important; }
.stat-decision-row.popover-open .stat-step-recommendation { grid-column:1/-1;grid-row:4; }
.stat-decision-row.popover-open .stat-step select { max-width:none; }
.stat-decision-row b { display: block; margin-bottom: 3px; color: #39575e; font-size: 12px; line-height: 1.2; }
.stat-decision-row p { margin: 0; color: #60747b; font-size: 12px; line-height: 1.35; }
.stat-decision-row select { min-height: 36px; height: 36px; padding-top: 4px; padding-bottom: 4px; }
.stat-variable small,.stat-method-warning { display: block; margin-top: 4px; color: #71858b; font-size: 11px; }
.stat-method-warning { color: #a85d17; }
@media (max-width: 1500px) { .stat-decision-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }.stat-decision-row.expanded{grid-column:1/-1;} }
@media (max-width: 1180px) { .stat-decision-catalog-tools{grid-template-columns:minmax(180px,1fr) minmax(145px,.75fr) auto}.stat-decision-catalog-tools>strong{grid-column:1/-1} }
@media (max-width: 1180px) { .stat-decision-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-decision-detail .stat-step{padding:8px 10px;border:1px solid #e0eaeb;border-radius:8px}.stat-step-final{margin:0!important;} }
@media (max-width: 980px) { .stat-decision-catalog-tools{grid-template-columns:1fr 1fr}.stat-decision-catalog-tools>strong{grid-column:1/-1}.stat-selection-actions{grid-column:auto}.stat-decision-rows{grid-template-columns:1fr}.stat-decision-row.expanded{grid-column:auto}.stat-decision-card-head{grid-template-columns:auto minmax(80px,.7fr) minmax(115px,1fr) minmax(115px,.9fr) auto;} }
@media (max-width: 620px) { .stat-decision-catalog-tools{grid-template-columns:1fr}.stat-decision-catalog-tools>strong,.stat-selection-actions{grid-column:auto}.stat-selection-actions{display:grid;grid-template-columns:repeat(3,1fr)}.stat-decision-catalog-tools button{width:100%}.stat-decision-card-head{grid-template-columns:auto 1fr auto}.stat-card-diagnostic,.stat-card-method{grid-column:2/-1}.stat-card-toggle{grid-column:3;grid-row:1;}.stat-card-include{grid-row:1/3;}.stat-decision-detail{grid-template-columns:1fr;} }
@media (max-width: 1180px) {
  .stat-workflow-head { align-items: stretch; flex-direction: column; }
  .stat-workflow-actions { flex-wrap: wrap; }
  .stat-output-settings { grid-template-columns: repeat(2,max-content) minmax(0,1fr); }
  .stat-output-settings .capability-parameter-grid { grid-template-columns: repeat(2,minmax(220px,1fr)); }
}
@media (max-width: 720px) {
  .stat-workflow-actions,.stat-workflow-actions label { align-items: stretch; flex-direction: column; }
  .stat-workflow-actions select,.stat-collapse-button { width: 100%; }
  .stat-decision-detail { grid-template-columns: minmax(0,1fr); }
  .stat-decision-row.popover-open .stat-decision-detail[data-placement="sheet"] { left:8px!important;right:8px;top:auto!important;bottom:8px;width:auto!important;grid-template-columns:minmax(0,1fr);max-height:min(78vh,620px);border-radius:16px; }
  .stat-decision-row.popover-open .stat-step-diagnostic,.stat-decision-row.popover-open .stat-step-description,.stat-decision-row.popover-open .stat-step-final,.stat-decision-row.popover-open .stat-step-recommendation { grid-column:1;grid-row:auto; }
  .stat-output-settings { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .stat-output-settings > label { grid-auto-flow: column; justify-content: space-between; width: 100%; }
  .stat-output-settings .capability-parameter-grid { grid-template-columns: minmax(0,1fr); }
  .stat-output-settings .capability-parameter { grid-template-columns: minmax(110px,1fr) minmax(120px,1fr); }
}

/* Analysis strategy is configured inside the shared decision workflow. */
#globalMethodBlock { display: none !important; }
#globalDesignControls { grid-template-columns: minmax(0, 1fr); }

* { box-sizing: border-box; }
html,
body {
  min-height: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  background:
    linear-gradient(180deg, #f7fafc 0%, #eef4f8 100%);
  color: var(--text);
  font-family: Inter, Arial, "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  font-size: 14px;
}

.shell {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 268px 1fr;
  align-items: stretch;
  /* Keep the Studio rail visually continuous even around viewport/scrollbar rounding. */
  background: linear-gradient(90deg, #0a1b24 0 268px, #edf3f6 268px 100%);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100dvh;
  align-self: start;
  background:
    linear-gradient(180deg, rgba(37, 99, 235, 0.12), rgba(15, 118, 110, 0.08)),
    linear-gradient(180deg, var(--nav) 0%, #0a1b24 100%);
  color: #eef7f7;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow: auto;
  z-index: 30;
  border-right: 1px solid rgba(147, 197, 253, 0.16);
  box-shadow: 10px 0 28px rgba(15, 35, 48, 0.12);
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
}

.mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  border-radius: 12px;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14);
}

.studio-brand-logo {
  width: 58px;
  height: 48px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

.studio-brand-logo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  filter: drop-shadow(0 2px 4px rgba(30, 143, 255, 0.16));
}

h1, h2, h3, p { margin: 0; }
h1 { font-size: 16px; }
h2 { font-size: 22px; letter-spacing: 0; }
h3 { font-size: 18px; letter-spacing: 0; }
.brand p, .topbar p, .section-head p, .hint { color: var(--muted); font-size: 13px; margin-top: 5px; }
.brand h1 { font-size: 17px; line-height: 1.15; }
.brand p { color: #a8bdc1; font-size: 11px; margin-top: 3px; }

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

.nav-item {
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.025);
  color: #dce9ea;
  padding: 12px 13px;
  text-align: left;
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  gap: 3px;
  transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
}

.nav-item span {
  display: block;
  font-size: 14px;
  font-weight: 800;
}

.nav-item small {
  display: block;
  color: #9bb3b6;
  font-size: 11px;
  font-weight: 500;
}

.nav-item:hover {
  transform: translateX(2px);
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.07);
}

.nav-item.active {
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.92), rgba(37, 99, 235, 0.75));
  border-color: rgba(255,255,255,0.26);
  box-shadow: 0 10px 24px rgba(0,0,0,0.16);
}

.nav-item.active small {
  color: #d5eeee;
}

.nav-subroute {
  display: none;
  margin-left: 14px;
  padding: 9px 12px;
  border-radius: 10px;
  opacity: 0.88;
}

body.data-nav-open .nav-subroute {
  display: grid;
}

.nav-subroute span {
  font-size: 13px;
}

.nav-subroute span::before {
  content: "↳ ";
  color: #9bd8d4;
}

.stats-subnav {
  display: none;
  gap: 6px;
  padding: 2px 0 4px 14px;
  margin-top: -4px;
}

.stats-subnav.open {
  display: grid;
}

.stats-subitem {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.08);
  background: transparent;
  color: #b9ced1;
  padding: 9px 12px;
  text-align: left;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
}

.stats-subitem.active {
  background: #0f6b6d;
  color: #fff;
  border-color: #248486;
}

.stats-subitem.disabled {
  opacity: 0.48;
}

.status-card {
  margin-top: auto;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  background: rgba(255,255,255,0.035);
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #59c36a;
}

main {
  padding: 24px;
  display: grid;
  gap: 16px;
  align-content: start;
  max-width: 100%;
  overflow: hidden;
}

/* Studio is an application shell: the left navigation and the top navigation
   intentionally share one continuous boundary instead of reading as two cards. */
body:not(.platform-mode) main {
  padding: 0 24px 28px;
  gap: 18px;
  background: linear-gradient(180deg, #f7fafc 0, #edf3f6 360px);
}

body:not(.platform-mode) .topbar.platform-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 88px;
  margin: 0 -24px;
  padding: 16px 28px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  border: 0;
  border-bottom: 1px solid #dce8ed;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 8px 24px rgba(15, 42, 54, 0.07);
}

body:not(.platform-mode) .topbar.platform-topbar .platform-logo {
  display: none;
}

body:not(.platform-mode) .platform-nav {
  justify-content: flex-start;
  gap: 6px;
}

body:not(.platform-mode) .top-nav-item {
  padding: 11px 14px;
  border-radius: 12px;
  font-size: 17px;
}

body:not(.platform-mode) .platform-search {
  min-width: 250px;
  border-radius: 14px;
}

body:not(.platform-mode) .platform-search input {
  padding: 12px 0;
  font-size: 15px;
}

body:not(.platform-mode) .topbar-actions {
  gap: 8px;
}

body:not(.platform-mode) .topbar-actions > button {
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 15px;
}

.platform-mode .shell {
  grid-template-columns: 1fr;
  background: #edf3f6;
}

.platform-mode .sidebar,
.platform-mode #projectContextBar {
  display: none;
}

.platform-mode main {
  padding: 0;
  gap: 0;
  overflow: visible;
}

.platform-mode .topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  border-radius: 0;
  border-width: 0 0 1px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
  min-height: 112px;
}

.platform-mode .panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.site-compliance-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  width: 100%;
  padding: 20px 24px 24px;
  color: #708087;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}

.site-compliance-footer a {
  color: #496d78;
  text-decoration: none;
}

.site-compliance-footer a:hover,
.site-compliance-footer a:focus-visible {
  color: #087f78;
  text-decoration: underline;
}

.platform-mode .site-compliance-footer {
  border-top: 1px solid #dde7ea;
  background: #f7fafb;
}

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

.topbar {
  padding: 30px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.platform-topbar {
  display: grid;
  grid-template-columns: minmax(190px, auto) minmax(0, 1fr) minmax(430px, auto);
  align-items: center;
  gap: 26px;
}

.platform-topbar > * {
  min-width: 0;
}

.platform-logo {
  display: flex;
  align-items: center;
  cursor: pointer;
  min-width: max-content;
}

.platform-logo-image {
  display: block;
  width: auto;
  height: 76px;
  object-fit: contain;
}

.platform-logo-mark {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  color: #fff;
  font-weight: 900;
  font-size: 26px;
}

.platform-logo strong,
.platform-logo span {
  display: block;
}

.platform-logo strong {
  font-size: 34px;
  color: var(--ink);
}

.platform-logo span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 17px;
}

.platform-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
  white-space: nowrap;
  overflow: visible;
}

.top-nav-item {
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  border: 0;
  border-radius: 16px;
  padding: 17px 24px;
  font-size: 24px;
  font-weight: 900;
}

.top-nav-item.active,
.top-nav-item:hover {
  background: #eef6ff;
  color: var(--brand-2);
  box-shadow: none;
}

.platform-search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 390px;
  padding: 0 18px;
  border: 1px solid #e3eaf1;
  border-radius: 18px;
  background: #f6f8fb;
}

.platform-search input {
  border: 0;
  background: transparent;
  padding: 18px 0;
  font-size: 20px;
}

.platform-search input:focus {
  outline: 0;
  border: 0;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-shrink: 0;
}

.topbar-actions > button {
  padding: 18px 24px;
  font-size: 20px;
  border-radius: 16px;
}

@media (max-width: 1700px) {
  .topbar.platform-topbar {
    grid-template-columns: minmax(230px, auto) minmax(0, 1fr);
    gap: 14px;
    padding: 20px 24px;
  }

  .platform-logo {
    grid-column: 1;
    grid-row: 1;
  }

  .platform-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
  }

  .topbar-actions {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .platform-logo-mark {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    font-size: 22px;
  }

  .platform-logo-image {
    height: 64px;
  }

  .platform-logo strong { font-size: 28px; }
  .platform-logo span { font-size: 14px; }
  .platform-nav { gap: 8px; overflow: visible; }

  .top-nav-item {
    padding: 13px 12px;
    border-radius: 12px;
    font-size: 18px;
  }

  .platform-search {
    min-width: 240px;
    width: min(390px, 34vw);
    padding: 0 13px;
    border-radius: 14px;
  }

  .platform-search input {
    padding: 14px 0;
    font-size: 16px;
  }

  .topbar-actions { gap: 8px; }
  .topbar-actions > button {
    padding: 14px 16px;
    border-radius: 13px;
    font-size: 16px;
  }
}

.user-account-menu {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: -10px;
}

.user-account-button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
  border: 1px solid #d7e4ea;
  box-shadow: var(--shadow-soft);
}

.user-account-button span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-2));
  font-weight: 900;
}

.user-account-button strong {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 40;
  display: none;
  min-width: 190px;
  padding: 8px;
  border: 1px solid #d7e4ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
}

.user-account-menu:hover .user-dropdown,
.user-account-menu:focus-within .user-dropdown {
  display: grid;
  gap: 6px;
}

.user-dropdown button {
  width: 100%;
  justify-content: flex-start;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
}

.user-dropdown button:hover {
  background: #eef7f7;
}

.project-context-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  border: 1px solid #b9d7d3;
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(15, 118, 110, 0.09), rgba(37, 99, 235, 0.06)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.project-context-bar.no-project {
  display: none;
}

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

.project-context-bar em,
.project-context-bar .context-mini {
  display: none;
}

.project-context-bar strong {
  display: block;
  margin: 4px 0 0;
  color: var(--teal);
  font-size: 34px;
  line-height: 1.2;
}

.context-mini {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.project-context-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.panel {
  display: none;
  padding: 22px;
}

.panel.active { display: grid; gap: 16px; }

.landing-panel,
#communityPanel,
#templatePanel,
#tutorialPanel,
#pricingPanel {
  min-height: calc(100vh - 80px);
  padding: 34px min(5vw, 72px);
  background:
    radial-gradient(circle at 80% 10%, rgba(37, 99, 235, 0.12), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #f1f6f9 100%);
}

#tutorialPanel {
  gap: 14px;
  padding: 22px 28px 28px;
}

#tutorialPanel > .section-head:first-child {
  position: sticky;
  top: 112px;
  z-index: 12;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(180px, 0.28fr) minmax(0, 1fr);
  grid-template-areas:
    "eyebrow text"
    "title text";
  gap: 4px 26px;
  align-items: end;
  margin: -2px -6px 0;
  padding: 8px 6px 14px;
  border-bottom: 1px solid rgba(190, 207, 218, 0.72);
  background:
    radial-gradient(circle at 80% 10%, rgba(37, 99, 235, 0.13), transparent 28%),
    linear-gradient(180deg, rgba(248, 251, 255, 0.98) 0%, rgba(244, 249, 252, 0.96) 100%);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.035);
}

#tutorialPanel > .section-head:first-child .eyebrow {
  grid-area: eyebrow;
  font-size: 13px;
}

#tutorialPanel > .section-head:first-child h3 {
  grid-area: title;
  margin: 0;
  font-size: 34px;
  line-height: 1.18;
}

#tutorialPanel > .section-head:first-child p {
  grid-area: text;
  max-width: 980px;
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
}

.landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 26px;
  align-items: stretch;
  padding: 34px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 18%, rgba(15, 118, 110, 0.18), transparent 24%),
    linear-gradient(135deg, #ffffff 0%, #f4fbff 100%);
  box-shadow: var(--shadow);
}

.landing-hero h2 {
  max-width: 840px;
  margin-top: 10px;
  font-size: 42px;
  line-height: 1.16;
}

.landing-hero p {
  max-width: 760px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.landing-showcase {
  display: grid;
  gap: 12px;
}

.landing-showcase div,
.portal-card,
.market-card,
.chart-style-card,
.pricing-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow-soft);
}

.landing-showcase div {
  display: grid;
  gap: 7px;
  padding: 18px;
}

/* Homepage information carousel */
.landing-carousel-layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.55fr);
  min-height: 390px;
}

.landing-carousel {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 320px;
  overflow: hidden;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 118, 110, 0.14);
}

.landing-carousel-track {
  position: relative;
  min-height: 280px;
}

.landing-slide {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  padding: 34px 68px 56px 38px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(22px);
  transition: opacity 280ms ease, transform 280ms ease, visibility 280ms ease;
}

.landing-slide.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.landing-slide h2 {
  max-width: 780px;
  margin: 10px 0 0;
  font-size: clamp(32px, 2.5vw, 46px);
  line-height: 1.15;
}

.landing-slide p {
  max-width: 720px;
  margin: 14px 0 0;
  font-size: 16px;
  line-height: 1.75;
}

.landing-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--brand);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  transform: translateY(-50%);
  font-size: 26px;
}

.landing-carousel-arrow.previous { left: 12px; }
.landing-carousel-arrow.next { right: 12px; }

.landing-carousel-footer {
  position: absolute;
  right: 22px;
  bottom: 18px;
  left: 38px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.landing-carousel-dots {
  display: flex;
  gap: 8px;
}

.landing-carousel-dots button {
  width: 24px;
  height: 4px;
  min-height: 0;
  padding: 0;
  border-radius: 2px;
  background: #d6e1e7;
  box-shadow: none;
}

.landing-carousel-dots button.active {
  width: 46px;
  background: var(--brand);
}

.landing-carousel-count {
  color: var(--muted);
  font-size: 13px;
}

.landing-carousel-count b {
  color: var(--brand);
  font-size: 18px;
}

.landing-carousel-layout .landing-showcase {
  grid-template-rows: repeat(3, 1fr);
}

.landing-carousel-layout .landing-showcase > button {
  width: 100%;
  text-align: left;
  color: inherit;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(10, 102, 101, 0.12);
  box-shadow: none;
  align-content: center;
  padding: 20px;
}

.landing-carousel-layout .landing-showcase > button:hover {
  border-color: rgba(10, 102, 101, 0.34);
  background: #fff;
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .landing-carousel-layout {
    grid-template-columns: 1fr;
  }
  .landing-carousel-layout .landing-showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
  }
}

@media (max-width: 700px) {
  .landing-carousel {
    min-height: 430px;
  }
  .landing-carousel-track {
    min-height: 400px;
  }
  .landing-carousel-layout .landing-showcase {
    grid-template-columns: 1fr;
  }
  .landing-slide {
    justify-content: center;
    padding: 30px 20px 72px;
  }
  .landing-slide h2 {
    font-size: 28px;
    line-height: 1.2;
  }
  .landing-slide .landing-actions {
    align-items: stretch;
  }
  .landing-slide .landing-actions button {
    flex: 1 1 150px;
  }
  .landing-carousel-arrow {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .landing-slide {
    transition: none;
  }
}

/* Homepage: editorial carousel, contextual workbench and compact discovery bands. */
.landing-panel {
  align-content: start;
}

.landing-announcement {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid #d8e7e7;
  border-radius: 10px;
  background: #f7fbfb;
}

.landing-announcement > span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #08756f;
  background: #e4f5f2;
  font-size: 12px;
  font-weight: 800;
}

.landing-announcement p {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-announcement button,
.landing-insights article button,
.landing-footer button {
  padding: 0;
  color: var(--brand);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.landing-announcement button:hover,
.landing-insights article button:hover,
.landing-footer button:hover {
  color: #075e5a;
  background: transparent;
  transform: none;
}

.landing-carousel-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
  min-height: 360px;
  padding: 22px;
  gap: 18px;
}

.landing-workbench {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 26px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.landing-workbench h3 {
  margin-top: 12px;
  font-size: 25px;
}

.landing-workbench > p {
  margin: 10px 0 0;
  line-height: 1.65;
}

.landing-workbench-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px;
}

.landing-workbench-status div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-top: 2px solid #9ed6d0;
  background: #f7fafb;
}

.landing-workbench-status span,
.landing-workbench small {
  color: var(--muted);
  font-size: 12px;
}

.landing-workbench-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
}

.landing-workbench small {
  margin-top: 12px;
  line-height: 1.5;
}

.home-operations {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.home-operations[hidden] { display: none; }

.home-operations-head,
.home-operations-grid > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.home-operations-head h3 { margin: 5px 0 0; font-size: 24px; }
.home-operations-head p { margin: 6px 0 0; color: var(--muted); }

.home-operations-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.home-operations-metrics > button {
  display: grid;
  justify-items: start;
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #dce8e9;
  border-radius: 11px;
  background: #f8fbfb;
  color: #173f45;
  text-align: left;
  box-shadow: none;
}

.home-operations-metrics > button:hover,
.home-operations-metrics > button:focus-visible { border-color: #79bfb8; background: #eff8f6; transform: none; }
.home-operations-metrics span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.home-operations-metrics strong { font-size: 22px; }
.home-operations-metrics .warning strong { color: #ad4d35; }
.home-operations-metrics .attention { border-color: #e4c376; background: #fff9e9; }

.home-operation-loading {
  grid-column: 1 / -1;
  padding: 16px;
  border-radius: 10px;
  background: #f5f9f9;
  color: var(--muted);
}

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

.home-operations-grid > section {
  min-width: 0;
  padding: 15px;
  border: 1px solid #dfe9ea;
  border-radius: 13px;
  background: #fbfdfd;
}

.home-operations-grid > section > header { margin-bottom: 9px; }
.home-operation-list { display: grid; gap: 7px; }

.home-operation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 57px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: #fff;
  color: #173f45;
  text-align: left;
  box-shadow: none;
}

.home-operation-row:hover,
.home-operation-row:focus-visible { border-color: #9bcfc9; background: #f3faf8; transform: none; }
.home-operation-row > span { display: grid; min-width: 0; gap: 4px; }
.home-operation-row strong,
.home-operation-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-operation-row small { color: var(--muted); font-size: 11px; font-weight: 500; }
.home-operation-row > b { color: var(--brand); font-size: 11px; white-space: nowrap; }
.home-operation-row.status-failed,
.home-operation-row.status-partial_completed { border-color: #efd0c7; background: #fff8f5; }
.home-operation-row.status-failed > b,
.home-operation-row.status-partial_completed > b { color: #ad4d35; }
.home-operation-row.is-unread { border-left: 3px solid #d2a538; }

.home-operation-empty {
  display: grid;
  gap: 5px;
  min-height: 76px;
  padding: 13px;
  border: 1px dashed #cfdddf;
  border-radius: 9px;
  color: var(--muted);
}

.home-operation-empty strong { color: #31545a; }
.home-operation-empty span { font-size: 12px; line-height: 1.5; }
.home-operation-empty.error { border-color: #e5b8ad; background: #fff8f6; }
.home-operation-empty button { justify-self: start; margin-top: 3px; }

.landing-section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.landing-section-title h3,
.landing-capability-intro h3 {
  margin-top: 5px;
  font-size: 24px;
}

.landing-section-title > p {
  margin: 0;
  color: var(--muted);
}

.landing-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.landing-insights article {
  display: grid;
  min-width: 0;
  padding: 22px 24px;
  border-right: 1px solid var(--line);
}

.landing-insights article:last-child {
  border-right: 0;
}

.landing-insights article > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}

.landing-insights h4 {
  margin: 9px 0 0;
  font-size: 17px;
  line-height: 1.45;
}

.landing-insights p {
  margin: 8px 0 18px;
  color: var(--muted);
  line-height: 1.65;
}

.landing-insights article button {
  width: max-content;
  margin-top: auto;
}

.landing-capability-section {
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.8fr);
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

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

.landing-capabilities div {
  min-width: 0;
  padding: 4px 18px;
  border-left: 1px solid var(--line);
}

.landing-capabilities p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.landing-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-top: 14px;
  padding: 14px 2px 2px;
  color: var(--muted);
  font-size: 13px;
}

.landing-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.landing-footer button {
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 980px) {
  .landing-announcement { grid-template-columns: auto 1fr auto; }
  .landing-announcement p { display: none; }
  .landing-workbench { min-height: 280px; }
  .landing-insights { grid-template-columns: 1fr; }
  .landing-insights article { border-right: 0; border-bottom: 1px solid var(--line); }
  .landing-insights article:last-child { border-bottom: 0; }
  .landing-capability-section { grid-template-columns: 1fr; }
  .landing-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-capabilities div:nth-child(3) { border-top: 1px solid var(--line); padding-top: 14px; }
  .landing-capabilities div:nth-child(4) { border-top: 1px solid var(--line); padding-top: 14px; }
  .home-operations-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-operations-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .landing-announcement { grid-template-columns: 1fr auto; }
  .landing-announcement strong { display: none; }
  .landing-carousel-layout { padding: 12px; }
  .landing-workbench-status,
  .landing-workbench-actions,
  .landing-capabilities { grid-template-columns: 1fr; }
  .landing-section-title,
  .landing-footer { align-items: flex-start; flex-direction: column; }
  .landing-capabilities div { border-top: 1px solid var(--line); border-left: 0; padding: 14px 0; }
  .home-operations { padding: 15px; }
  .home-operations-head { align-items: flex-start; flex-direction: column; }
  .home-operations-head > button { width: 100%; }
  .home-operations-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.landing-showcase span,
.portal-card span,
.market-card span,
.pricing-card span {
  width: max-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e8f6f3;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}

.landing-section {
  display: grid;
  gap: 16px;
  margin-top: 20px;
}

.landing-section.split {
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  align-items: center;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.landing-section.split p {
  margin-top: 10px;
  color: var(--muted);
  line-height: 1.7;
}

.portal-grid,
.template-market-grid,
.chart-lab-grid,
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

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

.template-market-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 8px 0 18px;
  padding: 22px;
  border: 1px solid #cfe2e5;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.08)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.template-market-hero h3 {
  margin-top: 8px;
  font-size: 24px;
}

.template-market-hero p {
  max-width: 780px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.8;
}

.template-market-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(92px, 1fr));
  gap: 10px;
}

.template-market-stats div {
  min-width: 96px;
  padding: 14px;
  border: 1px solid #dce9ec;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.75);
}

.template-market-stats strong,
.template-market-stats span {
  display: block;
}

.template-market-stats strong {
  color: var(--teal);
  font-size: 22px;
}

.template-market-stats span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.template-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 16px;
}

.template-category-card {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 18px;
  border: 1px solid #d8e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.template-category-head span {
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.template-category-head h4 {
  margin: 6px 0;
  color: var(--ink);
  font-size: 20px;
}

.template-category-head p {
  color: var(--muted);
  line-height: 1.7;
}

.template-item-list,
.palette-showcase {
  display: grid;
  gap: 10px;
}

.journal-palette-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.journal-palette-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #dce9ec;
  border-radius: 16px;
  background: #fbfdfd;
  transition: border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
}

.journal-palette-card:hover {
  border-color: rgba(15, 118, 110, 0.38);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.journal-palette-main {
  width: 100%;
  display: grid;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.journal-palette-main:hover,
.journal-palette-main:focus {
  transform: none;
  box-shadow: none;
  outline: none;
}

.journal-palette-main strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
}

.journal-palette-main small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.palette-swatches {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.palette-swatches i {
  display: block;
  height: 34px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.palette-copy {
  display: block;
}

.palette-card-actions {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(150px, 1fr);
  gap: 8px;
}

.palette-card-actions button {
  min-height: 34px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
}

.template-save-mini {
  min-height: 34px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
}

.palette-import-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px dashed rgba(15, 118, 110, 0.35);
  border-radius: 14px;
  background: rgba(236, 253, 245, 0.5);
}

.palette-import-card strong,
.palette-import-card span {
  display: block;
}

.palette-import-card strong {
  color: var(--teal);
  font-size: 15px;
}

.palette-import-card span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.palette-import-card button {
  min-width: 140px;
}

.template-community-panel {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #d8e7eb;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.06), rgba(37, 99, 235, 0.05)),
    #fff;
  box-shadow: var(--shadow-soft);
}

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

.community-template-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid #dce9ec;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.community-template-card strong {
  font-size: 16px;
}

.community-template-card span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.my-template-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px dashed rgba(15, 118, 110, 0.28);
  border-radius: 13px;
  background: rgba(236, 253, 245, 0.55);
}

.my-template-strip strong {
  color: var(--teal);
}

.my-template-strip span {
  color: var(--muted);
  font-weight: 700;
}

.template-back-btn {
  justify-self: start;
  margin-bottom: 4px;
}

.template-detail-shell {
  display: grid;
  grid-template-columns: minmax(560px, 1fr) minmax(300px, 360px);
  gap: 16px;
  align-items: start;
}

.template-detail-main,
.template-detail-side {
  display: grid;
  gap: 14px;
}

.template-detail-head,
.template-sample-stage,
.template-detail-section,
.template-side-card {
  border: 1px solid #d8e7eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.template-detail-head {
  padding: 20px;
}

.template-detail-head h3 {
  margin-top: 6px;
  font-size: 28px;
}

.template-detail-head p {
  max-width: 820px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.75;
}

.template-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.template-badges span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #e9f8f5;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
}

.template-sample-stage {
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.04), rgba(37, 99, 235, 0.05)),
    #fff;
}

.sample-figure,
.sample-paper-table,
.sample-workflow {
  width: 100%;
  border: 1px solid #dce9ec;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.sample-title {
  padding: 12px 14px 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

.sample-figure svg {
  display: block;
  width: 100%;
  min-height: 360px;
}

.sample-paper-table {
  padding: 18px;
  overflow-x: auto;
}

.sample-paper-table table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Times New Roman", serif;
  font-size: 18px;
}

.sample-paper-table th,
.sample-paper-table td {
  padding: 8px 12px;
  border-bottom: 1px solid #d1d5db;
  text-align: center;
}

.sample-paper-table th {
  border-top: 2px solid #111827;
  border-bottom: 1.5px solid #111827;
  font-weight: 900;
}

.sample-paper-table tbody tr:last-child td {
  border-bottom: 2px solid #111827;
}

.sample-paper-table td:first-child,
.sample-paper-table th:first-child {
  text-align: left;
}

.sample-workflow {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 10px;
  padding: 18px;
}

.sample-workflow span {
  display: grid;
  gap: 8px;
  min-height: 96px;
  padding: 14px;
  border: 1px solid #dce9ec;
  border-radius: 13px;
  background: #f8fbfd;
  font-weight: 900;
}

.sample-workflow em {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9f8f5;
  color: var(--teal);
  font-style: normal;
}

.template-detail-section {
  padding: 18px;
}

.template-detail-section h4,
.template-side-card strong {
  color: var(--ink);
  font-size: 17px;
}

.template-setting-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.template-setting-grid span {
  padding: 10px 12px;
  border: 1px solid #dce9ec;
  border-radius: 11px;
  background: #f8fbfd;
  color: var(--muted);
  font-weight: 800;
}

.template-side-card {
  padding: 16px;
}

.template-side-card p {
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.7;
}

.detail-swatches {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.detail-swatches span {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  align-items: center;
}

.detail-swatches i {
  height: 28px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
}

.detail-swatches em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}

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

.template-social-row span {
  padding: 8px;
  border-radius: 10px;
  background: #f3fbfa;
  color: var(--teal);
  text-align: center;
  font-size: 12px;
  font-weight: 900;
}

.template-action-stack {
  display: grid;
  gap: 10px;
}

.template-action-stack button {
  min-height: 42px;
}

.template-item-card,
.palette-token {
  width: 100%;
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid #dce9ec;
  border-radius: 12px;
  background: #fbfdfd;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.template-item-card:hover,
.palette-token:hover {
  border-color: rgba(15, 118, 110, 0.35);
  background: #f3fbfa;
}

.template-item-card strong {
  font-size: 15px;
}

.template-item-card span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.palette-token {
  grid-template-columns: 92px 1fr;
  align-items: center;
}

.palette-token > span {
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.palette-token.teal > span {
  background: linear-gradient(90deg, #0f766e, #2c7da0, #91c9bd);
}

.palette-token.coral > span {
  background: linear-gradient(90deg, #0f766e, #d05a42, #f4b183);
}

.palette-token.mono > span {
  background: linear-gradient(90deg, #151515, #777, #d7d7d7);
}

.palette-token.colorblind > span {
  background: linear-gradient(90deg, #0072b2, #e69f00, #009e73, #cc79a7);
}

.portal-card,
.market-card,
.pricing-card {
  display: grid;
  gap: 10px;
  min-height: 170px;
  padding: 20px;
  color: var(--ink);
  text-align: left;
}

.portal-card strong,
.market-card strong,
.pricing-card strong {
  font-size: 18px;
}

.portal-card p,
.market-card p,
.pricing-card p {
  color: var(--muted);
  line-height: 1.65;
}

.manual-feature-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1180px;
  margin-bottom: 16px;
  padding: 22px;
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.09), rgba(37, 99, 235, 0.05)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.manual-feature-card div {
  display: grid;
  gap: 8px;
}

.manual-feature-card span {
  width: max-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e8f6f3;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}

.manual-feature-card strong {
  font-size: 20px;
  color: var(--ink);
}

.manual-feature-card p {
  max-width: 780px;
  color: var(--muted);
  line-height: 1.7;
}

.manual-feature-card a {
  flex: 0 0 auto;
  padding: 14px 20px;
  border-radius: 14px;
  background: var(--brand);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(15, 118, 110, 0.18);
}

.learning-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  width: 100%;
}

.learning-nav {
  position: sticky;
  top: 210px;
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow-soft);
}

.learning-nav button {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 5px 12px;
  align-items: center;
  padding: 14px;
  color: var(--ink);
  text-align: left;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
}

.learning-nav button span {
  grid-row: span 2;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f6f3;
  color: var(--brand);
  font-weight: 900;
}

.learning-nav button strong {
  font-size: 17px;
  line-height: 1.25;
}

.learning-nav button small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.learning-nav button.active,
.learning-nav button:hover {
  background: #f2fbfa;
  border-color: rgba(15, 118, 110, 0.22);
}

.learning-nav button.active span {
  background: var(--brand);
  color: #fff;
}

.learning-content {
  min-height: calc(100vh - 210px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.learning-topic {
  display: none;
  padding: 30px 34px 34px;
}

.learning-topic.active {
  display: block;
}

.learning-kicker {
  display: inline-flex;
  width: max-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e8f6f3;
  color: var(--brand);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.learning-topic h4 {
  margin: 16px 0 12px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1.25;
}

.learning-topic > p {
  max-width: 1180px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.85;
}

.learning-step-grid,
.learning-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.learning-step-grid div,
.learning-matrix div,
.learning-table div,
.method-guide div {
  border: 1px solid #dfeaf1;
  border-radius: 14px;
  background: #f8fbfd;
}

.learning-step-grid div,
.learning-matrix div {
  padding: 18px;
}

.learning-step-grid strong,
.learning-matrix strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  margin-bottom: 8px;
}

.learning-step-grid p,
.learning-matrix p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}

.learning-table,
.method-guide {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.learning-table div,
.method-guide div {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
}

.learning-table strong,
.method-guide b {
  color: var(--ink);
  font-size: 18px;
}

.learning-table span,
.method-guide span {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.learning-note {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 14px;
  background: #eefbf8;
  color: #155e58;
  font-weight: 800;
}

.learning-deep-section {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e6eef4;
}

.learning-deep-section h5 {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.4;
}

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

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

.concept-card {
  min-height: 132px;
  padding: 18px;
  border: 1px solid #dfeaf1;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.concept-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 18px;
}

.concept-card p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
}

.parameter-table {
  display: grid;
  gap: 8px;
}

.parameter-table div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 16px 18px;
  border: 1px solid #dfeaf1;
  border-radius: 12px;
  background: #fbfdfe;
}

.parameter-table b {
  color: #0f766e;
  font-size: 18px;
}

.parameter-table span {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}

.learning-table.compact div {
  grid-template-columns: 170px minmax(0, 1fr);
}

.result-interpretation {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 14px;
  background: #eefbf8;
}

.result-interpretation strong {
  color: #155e58;
  font-size: 15px;
}

.result-interpretation span {
  color: #2f5f5a;
  line-height: 1.65;
}

.learning-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.manual-inline-link {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px dashed #cddde8;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}

.manual-inline-link span {
  flex: 1;
  color: var(--muted);
}

.manual-inline-link a {
  color: var(--brand);
  font-weight: 900;
  text-decoration: none;
}

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

.vision-list span {
  padding: 14px;
  border: 1px solid #dbe7f0;
  border-radius: 14px;
  background: #f7fbfd;
  font-weight: 800;
}

.chart-style-card {
  min-height: 160px;
  padding: 20px;
}

.chart-style-card strong {
  display: block;
  font-size: 18px;
  margin-bottom: 8px;
}

.chart-style-card.teal { background: linear-gradient(135deg, #e8f6f3, #ffffff); }
.chart-style-card.coral { background: linear-gradient(135deg, #fff0eb, #ffffff); }
.chart-style-card.mono { background: linear-gradient(135deg, #f3f4f6, #ffffff); }
.chart-style-card.colorblind { background: linear-gradient(135deg, #eef4ff, #fff8e8); }

.tutorial-list {
  display: grid;
  gap: 12px;
  max-width: 980px;
}

.tutorial-list button {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  text-align: left;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.tutorial-list span {
  color: var(--muted);
}

.pricing-card.featured {
  border-color: rgba(15, 118, 110, 0.34);
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06)), #fff;
}

.legal-footer {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow-soft);
}

.legal-footer.compact {
  margin-top: 16px;
}

.legal-footer > span,
.upload-legal-note,
.auth-legal-links {
  color: var(--muted);
  line-height: 1.7;
}

.legal-link-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.legal-link-grid button,
.upload-legal-note button,
.auth-legal-links button,
.legal-consent button {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--brand);
  box-shadow: none;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-link-grid button {
  padding: 8px 10px;
  border: 1px solid #cfe3e1;
  border-radius: 999px;
  background: #edf6f5;
  text-decoration: none;
  font-weight: 700;
}

.upload-legal-note {
  margin: 8px 0 12px;
  padding: 10px 12px;
  border: 1px dashed #cfe3e1;
  border-radius: 10px;
  background: #fbfdfd;
}

.auth-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
}

.legal-consent {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: 8px !important;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfc;
  line-height: 1.6;
}

.legal-consent.hidden {
  display: none !important;
}

.legal-consent input {
  width: auto;
  margin-top: 4px;
}

.legal-modal {
  width: min(760px, 100%);
}

.legal-modal-body {
  display: grid;
  gap: 12px;
  max-height: min(68vh, 680px);
  overflow: auto;
  padding-right: 4px;
}

.legal-doc-intro,
.legal-doc-section {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfcfc;
}

.legal-doc-section h4 {
  margin-bottom: 6px;
  font-size: 15px;
}
.section-head {
  display: grid;
  gap: 4px;
  max-width: 980px;
}

.eyebrow {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section-head.compact-head {
  max-width: none;
}

.grid { display: grid; gap: 14px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inner-grid { margin-top: 8px; }

.segmented {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f6f9fc;
}

.segmented.compact {
  padding: 4px;
}

.segment {
  background: transparent;
  color: #203036;
  border: 1px solid transparent;
  border-radius: 10px;
}

.segment.active {
  background: linear-gradient(135deg, var(--brand), #138a82);
  color: #fff;
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.16);
}

.step-panel,
.output-mode,
.table-config-panel,
.analysis-config-panel {
  display: none;
}

.step-panel.active,
.output-mode.active,
.table-config-panel.active,
.analysis-config-panel.active {
  display: grid;
  gap: 14px;
}

.analysis-menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.analysis-card {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  color: var(--text);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  gap: 8px;
  text-align: left;
  min-height: 96px;
  box-shadow: var(--shadow-soft);
  transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}

.analysis-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
}

.analysis-card strong {
  font-size: 15px;
}

.analysis-card span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.analysis-card.active {
  border-color: rgba(15, 118, 110, 0.38);
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.1), rgba(37, 99, 235, 0.05)),
    #fff;
  box-shadow: inset 4px 0 0 var(--brand), var(--shadow-soft);
}

.analysis-card.disabled {
  opacity: 0.55;
}

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

.output-options label {
  display: flex;
  gap: 8px;
  align-items: center;
  font-weight: 400;
}

.output-options input {
  width: auto;
}

.data-processing-block {
  display: grid;
  gap: 14px;
}

.process-tabs {
  margin-bottom: 12px;
}

.cleanup-mode-tabs {
  width: min(720px, 100%);
  margin: 0 0 14px;
  padding: 5px;
}

.cleanup-mode-tabs[hidden],
#processingPanel [hidden] {
  display: none !important;
}

.cleanup-mode-tabs .segment {
  min-height: 42px;
  font-weight: 700;
}

.cleanup-panel-stack {
  display: grid;
}

.process-step {
  display: none;
}

.process-step.active {
  display: grid;
  gap: 14px;
}

.relationship-mode-panel {
  display: none;
}

.relationship-mode-panel.active {
  display: grid;
  gap: 14px;
}

.research-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.research-card {
  align-content: start;
  align-self: start;
}

.research-flow-page {
  display: grid;
  gap: 14px;
}

.research-step-head,
.research-run-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.research-step-head .tools-row,
.research-run-main .tools-row {
  flex-wrap: nowrap;
  justify-content: flex-end;
  margin-top: 0;
}

.workflow-canvas-card {
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.04), rgba(37, 99, 235, 0.035)),
    #fff;
}

.workflow-module-library,
.workflow-template-list,
.workflow-canvas {
  display: grid;
  gap: 10px;
}

.research-lower-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 1fr);
  gap: 12px;
  align-items: start;
}

.research-run-card {
  grid-column: 1 / -1;
}

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

.workflow-head .tools-row {
  flex-wrap: nowrap;
  justify-content: flex-end;
  margin-top: 0;
}

.workflow-module-drawer {
  border: 1px dashed #cbdde5;
  border-radius: 12px;
  padding: 12px;
  background: #f8fbfc;
  margin: 10px 0;
}

.workflow-module-library {
  grid-template-columns: 1fr;
  max-height: 420px;
  overflow: auto;
  padding-right: 4px;
}

.workflow-module-tools { display: flex; align-items: center; gap: 10px; margin: 8px 0 12px; }
.workflow-module-tools input { width: min(420px, 100%); }
.workflow-module-tools span { color: var(--muted); font-size: 12px; white-space: nowrap; }
}

.workflow-config-badge {
  justify-self: start;
  padding: 2px 7px;
  border-radius: 4px;
  background: #fff4d8;
  color: #8a5a00;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.workflow-module-group {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdff;
}

.workflow-module-group > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

.workflow-module-group > header strong {
  font-size: 13px;
  color: var(--muted);
}

.workflow-module-group > header span { display: grid; place-items: center; min-width: 24px; height: 20px; padding: 0 6px; border-radius: 999px; background: #e8f5f4; color: var(--teal); font-size: 11px; font-weight: 800; }
.workflow-module-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 8px; }

.workflow-module-chip,
.workflow-template-card,
.workflow-node {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.workflow-module-chip {
  display: grid;
  align-content: start;
  gap: 3px;
  min-height: 76px;
  padding: 10px 12px;
}

.workflow-module-chip span,
.workflow-template-card strong,
.workflow-node strong {
  font-weight: 800;
}

.workflow-module-chip small,
.workflow-template-card p,
.workflow-node small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.workflow-canvas {
  display: grid;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  min-width: 0;
  padding: 12px 4px 14px;
  scroll-snap-type: x proximity;
}

.workflow-builder-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.workflow-builder-layout:has(.workflow-node-config-card:not(.hidden)) { grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); }
.workflow-dag-stage { position: relative; width: max-content; min-width: 100%; min-height: 112px; }

.workflow-dag-nodes {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  gap: 72px;
  min-width: 100%;
}

.workflow-dag-layer { display: grid; grid-template-rows: auto 1fr; gap: 7px; width: 248px; flex: 0 0 248px; }
.workflow-dag-layer > header { color: #7b8d99; font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.workflow-dag-layer.detached > header { color: #9a6a18; }
.workflow-dag-layer > div { display: flex; flex-direction: column; justify-content: space-around; gap: 16px; }
.workflow-dag-links { position: absolute; z-index: 1; inset: 0; overflow: visible; pointer-events: none; }
.workflow-dag-link { fill: none; stroke: #65aaa5; stroke-width: 2; vector-effect: non-scaling-stroke; }
.workflow-dag-links marker path { fill: #278b83; }
.workflow-edge-remove { cursor: pointer; pointer-events: all; }
.workflow-edge-remove circle { fill: #fff; stroke: #9bbfbc; stroke-width: 1.5; }
.workflow-edge-remove path { fill: none; stroke: #607d7a; stroke-linecap: round; stroke-width: 1.5; }
.workflow-edge-remove:hover circle,
.workflow-edge-remove:focus circle { fill: #fff1f1; stroke: #c45f5f; }
.workflow-connection-status { display: flex; align-items: center; gap: 5px; width: fit-content; padding: 7px 9px; border: 1px solid #9fd2ce; border-radius: 9px; background: #effaf9; color: #315f5b; font-size: 12px; }
.workflow-connection-status button { min-height: 26px; margin-left: 4px; padding: 2px 8px; }

.workflow-node-ports {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.workflow-node-ports label { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 5px; font-size: 11px; color: var(--muted); }
.workflow-node-ports select { min-width: 0; height: 32px; padding: 4px 7px; font-size: 11px; }
.workflow-node-ports button { min-height: 32px; padding: 4px 8px; border-radius: 7px; }
.workflow-node-ports.awaiting-target [data-workflow-connect-target] { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.1); }
.workflow-node em { display: flex; gap: 5px; margin-top: 4px; color: var(--teal); font-size: 10px; font-style: normal; }
.workflow-node em span { padding: 2px 5px; border-radius: 999px; background: #e8f5f4; }

.workflow-node {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 30px 30px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  cursor: grab;
  min-height: 76px;
  min-width: 0;
  max-width: none;
  scroll-snap-align: start;
}

.workflow-node + .workflow-node {
  position: relative;
}

.workflow-node + .workflow-node::before { content: none; }

.workflow-node > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e8f5f4;
  color: var(--teal);
  font-weight: 900;
}

.workflow-canvas.compact .workflow-node small,
.workflow-canvas.compact .workflow-node-action {
  display: none;
}

.workflow-canvas.expanded .workflow-node-action {
  opacity: 0;
  pointer-events: none;
  transform: translateY(2px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.workflow-canvas.expanded .workflow-node:hover .workflow-node-action,
.workflow-canvas.expanded .workflow-node:focus-within .workflow-node-action {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.workflow-canvas.compact .workflow-node {
  grid-template-columns: 32px minmax(0, 1fr);
  min-height: 62px;
}

.workflow-canvas.compact .workflow-node-ports { display: none; }

.workflow-canvas.expanded {
  align-items: stretch;
}

.workflow-canvas.expanded .workflow-node {
  min-width: 248px;
}

.workflow-node.active {
  border-color: var(--teal);
  background: #f2fbfa;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.08);
}

.workflow-node.disabled {
  opacity: 0.55;
}

.workflow-template-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  padding: 14px;
}

.workflow-template-list {
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  align-items: stretch;
}

.workflow-template-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
}

.workflow-template-meta,
.workflow-template-node-preview,
.workflow-template-outputs,
.workflow-template-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.workflow-template-meta span,
.workflow-template-meta em,
.workflow-template-meta b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 4px;
  background: #eef7f6;
  color: var(--teal);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.workflow-template-meta em {
  background: #eef3fb;
  color: #315c96;
}

.workflow-template-meta b {
  background: #f3f5f7;
  color: var(--muted);
}

.workflow-template-card > .workflow-template-copy > strong {
  font-size: 15px;
}

.workflow-template-card p {
  margin: 0;
}

.workflow-template-node-preview span,
.workflow-template-outputs span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fbfdff;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}

.workflow-template-node-preview i {
  color: #8aa0ad;
  font-style: normal;
}

.workflow-template-outputs {
  padding-top: 7px;
  border-top: 1px dashed var(--line);
}

.workflow-template-outputs small {
  color: var(--muted);
  font-weight: 800;
}

.workflow-template-actions {
  align-content: flex-start;
  justify-content: flex-end;
  max-width: 132px;
}

.workflow-template-actions button {
  width: 100%;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .workflow-template-list {
    grid-template-columns: 1fr;
  }

  .workflow-template-card {
    grid-template-columns: 1fr;
  }

  .workflow-template-actions {
    max-width: none;
  }

  .workflow-template-actions button {
    width: auto;
  }
}

.workflow-node-editor {
  display: grid;
  gap: 12px;
}

.workflow-node-config-card {
  position: sticky;
  top: 12px;
  max-height: min(680px, calc(100vh - 40px));
  overflow: auto;
  margin-top: 0;
  padding: 12px;
  border: 1px solid #cfe2e5;
  border-radius: 10px;
  background: #fff;
}

.research-run-card {
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06)),
    #fff;
}

.research-run-main h3 {
  font-size: 20px;
}

.workflow-run-details {
  margin-top: 12px;
  border-top: 1px solid #dce9ec;
  padding-top: 10px;
}

.workflow-run-details summary {
  cursor: pointer;
  color: var(--teal);
  font-weight: 800;
}

.research-card .section-head {
  margin-bottom: 2px;
}

.research-design-card {
  padding-bottom: 12px;
}

.research-design-card .grid.three {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}

.research-design-card label.wide {
  grid-column: span 2;
}

.research-card .grid {
  align-items: end;
}

.research-card .tools-row {
  margin-top: 2px;
}

.research-card .checks.compact-checks {
  max-height: 118px;
  min-height: 0;
  overflow: auto;
}

.workflow-run-line {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) 90px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.workflow-run-line span {
  color: var(--teal);
  font-weight: 800;
}

.workflow-run-line em {
  color: var(--muted);
  font-style: normal;
}

.workflow-validation-status { display: grid; gap: 3px; margin-top: 10px; padding: 10px 12px; border: 1px solid #cfe1e4; border-radius: 9px; background: #f7fbfb; color: #587078; font-size: 12px; }
.workflow-validation-status strong { color: #294a52; }
.workflow-validation-status.is-loading { border-style: dashed; }
.workflow-validation-status.is-valid { border-color: #9fd2c8; background: #eef9f6; }
.workflow-validation-status.is-valid strong { color: #087d73; }
.workflow-validation-status.is-warning { border-color: #e3c981; background: #fff9e9; }
.workflow-validation-status.is-error { border-color: #e1aaa4; background: #fff5f3; }
.workflow-validation-status.is-error strong { color: #a1473d; }
.workflow-run-toolbar { display: flex; justify-content: flex-end; gap: 8px; margin: 10px 0; }
.workflow-run-toolbar select { width: auto; min-width: 140px; }
.workflow-run-history { display: grid; gap: 8px; margin-top: 10px; }
.workflow-run-card { display: grid; grid-template-columns: minmax(220px,1fr) auto auto auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.workflow-run-card > div:first-child { display: grid; gap: 3px; }
.workflow-run-card > div:first-child span { color: var(--muted); font-size: 11px; }
.workflow-run-card > b { color: var(--teal); font-size: 12px; }
.workflow-run-card.is-failed > b,.workflow-run-metrics .is-error { color: #a1473d; }
.workflow-run-metrics,.workflow-run-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.workflow-run-metrics span { padding: 3px 6px; border-radius: 999px; background: #edf5f5; color: #5b7078; font-size: 10px; }
.workflow-run-actions button { min-height: 32px; padding: 5px 9px; }
.workflow-run-detail-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.workflow-run-detail-head span { color: var(--muted); font-size: 11px; }

.template-application-list { display: grid; gap: 8px; }
.template-application-list article { display: grid; grid-template-columns: minmax(220px,1fr) auto auto auto auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.template-application-list article > div { display: grid; gap: 3px; }
.template-application-list article small { color: var(--muted); }
.template-application-list article > span { padding: 3px 7px; border-radius: 999px; background: #edf5f5; color: #5b7078; font-size: 11px; }
.template-application-list article > b { color: var(--teal); font-size: 12px; }
.template-application-list article.is-rolled-back { opacity: .65; background: #f7f9f9; }
.template-application-list article.is-rolled-back > b { color: var(--muted); }
.template-application-list button { min-height: 32px; padding: 5px 9px; }

@media (max-width: 860px) {
  .workflow-run-card { grid-template-columns: minmax(0,1fr) auto; }
  .workflow-run-metrics,.workflow-run-actions { grid-column: 1 / -1; }
  .template-application-list article { grid-template-columns: minmax(0,1fr) auto; }
  .template-application-list article > span { justify-self: start; }
}

@media (max-width: 1320px) {
  .research-step-head,
  .research-run-main {
    display: grid;
  }

  .research-step-head .tools-row,
  .research-run-main .tools-row {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .research-design-card .grid.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-builder-layout:has(.workflow-node-config-card:not(.hidden)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .workflow-node-config-card {
    position: static;
    max-height: none;
  }
}

@media (max-width: 720px) {
  .workflow-module-items { grid-template-columns: 1fr; }
  .workflow-dag-nodes { gap: 52px; }
  .workflow-dag-layer { width: 220px; flex-basis: 220px; }
}

#processingWorkbench {
  display: grid;
  gap: 14px;
}

.dictionary-intro {
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06));
}

.dictionary-layout {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(520px, 1.1fr);
  gap: 14px;
}

.dictionary-layout.align-start {
  align-items: start;
}

.dictionary-bottom-layout {
  grid-template-columns: minmax(360px, 0.5fr) minmax(0, 0.5fr);
}

.dictionary-derived-block,
.dictionary-type-block {
  align-self: start;
}

.conditional-tools {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.compact-checks {
  max-height: 220px;
}

.process-rows {
  display: grid;
  gap: 10px;
}

.process-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.4fr) minmax(180px, 0.8fr) 44px;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}

.process-row.derived-row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}

.derived-row-head { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(170px, .55fr) 42px; gap: 10px; align-items: end; }
.derived-formula-panel { display:grid; gap:9px; padding:10px; border:1px solid #d7e8e5; border-radius:8px; background:#f8fbfc; }
.derived-formula-panel > label { display: grid; gap: 6px; }
.derived-formula-builder { display:grid; grid-template-columns:minmax(130px,.8fr) minmax(130px,.8fr) minmax(240px,1.25fr) auto; gap:8px; align-items:center; }
.derived-formula-tools { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.derived-formula-tools > span { margin-right:2px; color:var(--muted); font-size:12px; font-weight:700; }
.derived-formula-tools > button { min-height:30px; padding:4px 9px; border:1px solid #c9dcdf; border-radius:6px; background:#fff; color:#31535a; box-shadow:none; font-weight:750; }
.derived-formula-tools > button:hover { border-color:#69b8b0; background:#edf8f6; }
.derived-preview-row { display:flex; align-items:center; gap:10px; min-width:0; }
.derived-preview-result { min-width:0; color:#667c82; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.derived-preview-result.configured { color:#087f77; font-weight:700; }
.sample-filter-workbench { display:grid; gap:14px; }
.sample-filter-head { display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(210px,.7fr) minmax(210px,.7fr); gap:12px; align-items:end; }
.sample-filter-head > div { align-self:center; }
.sample-filter-head > label { display:grid; gap:6px; }
.sample-filter-groups { display:grid; gap:12px; }
.sample-filter-group { display:grid; gap:10px; padding:12px; border:1px solid #cfe0e3; border-radius:9px; background:#f8fbfc; }
.sample-filter-group-head { display:grid; grid-template-columns:auto minmax(200px,.7fr) auto 42px; gap:10px; align-items:end; }
.sample-filter-group-head > strong { align-self:center; color:var(--teal); white-space:nowrap; }
.sample-filter-group-head > label { display:grid; gap:5px; }
.sample-filter-condition-list { display:grid; gap:8px; }
.sample-filter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.sample-filter-preview { color:#667c82; font-size:12px; line-height:1.5; }
.sample-filter-preview.configured { color:#087f77; font-weight:750; }
.derived-condition-panel { display: grid; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.derived-rules { display: grid; gap: 10px; }
.derived-rule { display: grid; gap: 8px; padding: 10px; border: 1px solid #cfe0e3; border-radius: 8px; background: #f8fbfc; }
.derived-rule-head { display: grid; grid-template-columns: auto minmax(160px, .8fr) minmax(110px, .45fr) minmax(150px, .65fr) auto 42px; gap: 8px; align-items: end; }
.derived-rule-head strong { align-self: center; white-space: nowrap; color: var(--teal); }
.derived-condition-list { display: grid; gap: 8px; }
.derived-condition-row { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(140px, .75fr) minmax(130px, .75fr) minmax(130px, .75fr) 42px; gap: 8px; align-items: end; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.derived-condition-row label { display: grid; gap: 4px; }
.derived-condition-row label > span { font-size: 12px; color: var(--muted); font-weight: 700; }
.derived-default-row { display: grid; grid-template-columns: minmax(130px, .45fr) minmax(170px, .65fr) auto; gap: 10px; align-items: end; padding-top: 2px; }

.exploratory-settings {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) minmax(220px, 1.3fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfc;
}
.exploratory-settings > label { display: grid; gap: 6px; min-width: 0; }
.exploratory-settings > label > span { font-weight: 700; color: var(--ink); }
.exploratory-settings > label > small{min-height:16px;color:#71838a;font-size:10px;line-height:1.4}
.clustering-settings{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.clustering-settings>label,.cluster-strategy-switch{min-height:68px}
.clustering-settings>label{grid-template-rows:22px 44px;align-content:end}.clustering-settings>label>input,.clustering-settings>label>select{height:44px}
.cluster-strategy-switch{display:flex;align-items:flex-end}.cluster-strategy-switch .setting-switch{width:100%;height:44px;min-height:44px}
.cluster-preprocessing{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:2px 0 0;padding:12px;border:1px solid #d9e6e8;border-radius:8px;background:#fff}
.cluster-preprocessing legend{padding:0 7px;color:#536b72;font-size:11px;font-weight:800}
.cluster-preprocessing .setting-switch{width:100%;height:44px;min-height:44px}.cluster-pca-field{display:grid;grid-template-rows:22px 44px;gap:0;min-width:0}.cluster-pca-field>input{height:44px}
@media(max-width:1100px){.clustering-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.cluster-preprocessing{grid-template-columns:1fr}}
.parameter-title{display:flex;align-items:center;gap:7px;min-width:0}
.parameter-title em{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border:1px solid #cfe2df;border-radius:4px;background:#eaf6f4;color:#0f766e;font-family:Consolas,"SFMono-Regular",monospace;font-size:10px;font-style:normal;font-weight:800;letter-spacing:0}
.exploratory-toggles { grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0 0; }
.exploratory-toggles .inline-check { margin: 0; }
.analysis-note { margin: -4px 4px 0; color: var(--muted); font-size: 13px; }
.method-note{display:flex;align-items:flex-start;gap:9px;margin:0;padding:10px 12px;border:1px solid #d7e8e5;border-left:3px solid #0f766e;border-radius:6px;background:#f5fbfa}
.method-note strong{flex:0 0 auto;color:#0f766e}.method-note span{line-height:1.55}
.setting-switch{display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:230px;padding:9px 11px;border:1px solid #d9e6e8;border-radius:7px;background:#fff;cursor:pointer}
.setting-switch>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.switch-track{position:relative;width:36px;height:20px;border-radius:10px;background:#bccbd0;transition:.18s ease}
.switch-track i{position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.22);transition:.18s ease}
.setting-switch>input:checked+.switch-track{background:#0f8279}.setting-switch>input:checked+.switch-track i{translate:16px 0}
.setting-switch>input:focus-visible+.switch-track{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}
.switch-copy{display:grid;gap:2px}.switch-copy strong{color:#243b41;font-size:12px}.switch-copy small{color:#71838a;font-size:10px}
.dbscan-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.parameter-card{display:grid;gap:8px;padding:13px 14px;border:1px solid #d9e6e8;border-radius:8px;background:#fff}
.parameter-card small{color:#647980;font-size:11px;line-height:1.5}
.clustering-variable-block{padding:16px!important}.clustering-variable-block .section-head{gap:2px}.clustering-variable-block h4{margin:0;font-size:17px}
.analysis-primary-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding-top:13px;border-top:1px solid #dce7e9}
.analysis-primary-action>span{color:#687d84;font-size:11px}
.primary-generate-button{position:relative;min-width:166px;padding-right:34px!important;background:linear-gradient(135deg,#0f766e,#159188)!important;box-shadow:0 8px 18px rgba(15,118,110,.18)!important}
.primary-generate-button:after{content:"→";position:absolute;right:14px;font-size:16px}
.stats-step-tabs{gap:4px;padding:5px;border-radius:8px;background:#edf4f5}
.stats-step-tabs .segment{position:relative;min-height:40px;padding:9px 18px;border-radius:6px;font-weight:800}
.stats-step-tabs .segment.active{background:#fff;color:#0f766e;border-color:#cae2de;box-shadow:0 3px 10px rgba(25,63,72,.09)}
.stats-step-tabs .segment.active:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;border-radius:2px;background:#0f8279}
.pca-settings { grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(250px, .9fr); }
.analysis-surface{container-type:inline-size}
.output-action-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title action" "hint action";align-items:center;column-gap:24px;min-height:112px;background:linear-gradient(135deg,#f7fbfb,#f4f8fc)}
.output-action-card>label:first-child{grid-area:title;align-self:end}
.output-action-card>.hint{grid-area:hint;align-self:start;max-width:760px;margin:4px 0 0}
.output-action-card>.primary-generate-button{grid-area:action;min-width:176px}
.ml-param-inline .parameter-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ml-param-inline .parameter-title em{max-width:48%;overflow-wrap:anywhere;text-align:right}

@container (max-width:780px){.output-action-card{grid-template-columns:1fr;grid-template-areas:"title" "hint" "action";row-gap:10px}.output-action-card>.primary-generate-button{width:100%}}

@media (max-width: 900px) {
  .derived-rule-head, .derived-condition-row, .derived-default-row, .exploratory-settings, .pca-settings, .dbscan-parameter-grid { grid-template-columns: 1fr 1fr; }
  .derived-row-head { grid-template-columns: 1fr; }
  .derived-formula-builder { grid-template-columns:1fr 1fr; }
  .sample-filter-head { grid-template-columns:1fr 1fr; }
  .sample-filter-head > div { grid-column:1/-1; }
  .sample-filter-group-head { grid-template-columns:1fr 1fr; }
}

@media(max-width:620px){.dbscan-parameter-grid,.exploratory-settings,.pca-settings{grid-template-columns:1fr}.setting-switch{min-width:0}.analysis-primary-action{align-items:stretch;flex-direction:column}.primary-generate-button{width:100%}.stats-step-tabs{display:grid;grid-template-columns:1fr 1fr}.stats-step-tabs .segment{width:100%}}
@media(max-width:620px){.derived-formula-builder{grid-template-columns:1fr}.derived-preview-row{align-items:stretch;flex-direction:column}}
@media(max-width:620px){.sample-filter-head,.sample-filter-group-head{grid-template-columns:1fr}.sample-filter-head>div{grid-column:auto}.sample-filter-actions{align-items:stretch;flex-direction:column}.sample-filter-actions>button{width:100%}}

.compact-process-rows .process-row {
  padding: 8px;
}

.process-row label {
  min-width: 0;
}

.process-row input,
.process-row select {
  width: 100%;
}

.variable-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-height: none;
  overflow: visible;
}

.variable-type-row {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) minmax(120px, 160px);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
  min-width: 0;
}

.variable-type-row select {
  min-width: 0;
  width: 100%;
}

/* The matching route has its own action button and does not use the generic processing footer. */
.data-match-route .process-runbar {
  display: none;
}

.data-matching-workspace-tabs {
  width: max-content;
  max-width: 100%;
  margin: 0 0 14px;
}

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

.dataset-merge-panel[hidden] {
  display: none;
}

.dataset-merge-intro,
.dataset-merge-sources {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.dataset-merge-intro h3 {
  margin: 3px 0 4px;
}

.dataset-merge-mode {
  flex: 0 0 auto;
}

.dataset-merge-sources > label {
  flex: 1 1 0;
  min-width: 0;
}

.dataset-merge-sources label > span,
.dataset-merge-settings label > span:first-child {
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
}

.dataset-merge-sources select,
.dataset-merge-settings select,
.dataset-merge-settings input[type="text"],
.dataset-merge-settings input:not([type]) {
  width: 100%;
}

.dataset-merge-sources small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.dataset-merge-symbol {
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  font-size: 25px;
  font-weight: 700;
}

.dataset-merge-settings {
  display: grid;
  gap: 14px;
}

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

.dataset-merge-vertical-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(240px, 1fr) minmax(220px, 1fr);
  gap: 14px;
  align-items: end;
}

.dataset-merge-preview {
  padding: 16px;
  border: 1px solid rgba(24, 147, 139, .28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(232, 248, 246, .85), rgba(244, 248, 255, .9));
}

.dataset-merge-preview.empty {
  color: var(--muted);
}

.dataset-merge-preview-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.dataset-merge-preview-metrics article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: rgba(255, 255, 255, .82);
}

.dataset-merge-preview-metrics span,
.dataset-merge-preview-metrics strong {
  display: block;
}

.dataset-merge-preview-metrics span {
  color: var(--muted);
  font-size: 13px;
}

.dataset-merge-preview-metrics strong {
  margin-top: 4px;
  font-size: 18px;
}

.dataset-merge-preview p {
  margin: 12px 0 0;
}

.dataset-merge-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 820px) {
  .dataset-merge-intro,
  .dataset-merge-sources {
    align-items: stretch;
    flex-direction: column;
  }
  .dataset-merge-symbol { align-self: center; }
  .dataset-merge-key-grid,
  .dataset-merge-vertical-grid,
  .dataset-merge-preview-metrics { grid-template-columns: 1fr; }
}

.psm-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.psm-panel > label {
  font-size: 18px;
}

.psm-panel > .hint {
  margin-top: -10px;
}

.psm-parameter-grid {
  align-items: end;
  gap: 14px;
}

.psm-parameter-grid > label,
.psm-parameter-grid > .summary {
  min-width: 0;
  margin: 0;
}

.psm-parameter-grid > .summary {
  min-height: 46px;
  display: flex;
  align-items: center;
}

.psm-workspace {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
  gap: 16px;
  align-items: stretch;
}

.psm-covariates,
.psm-action-panel {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.psm-covariates .row-label {
  margin-bottom: 10px;
}

.psm-covariates .checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  max-height: 260px;
  overflow: auto;
}

.psm-action-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.psm-action-panel .summary {
  flex: 1;
  margin: 0;
}

.psm-action-panel .tools-row {
  margin-top: auto;
}

@media (max-width: 1350px) {
  .variable-type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .variable-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psm-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .variable-type-grid { grid-template-columns: 1fr; }
  .psm-covariates .checks { grid-template-columns: 1fr; }
}

.variable-type-row strong,
.variable-type-row span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.variable-type-row span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}

.encoding-levels {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.encoding-level-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(120px, 180px);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}

.category-label-block {
  width: auto;
  min-width: 0;
}

.category-label-topline {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 10px;
  align-items: end;
}

.category-label-block .encoding-level-row {
  grid-template-columns: minmax(90px, 1fr) minmax(120px, 170px);
}

.category-label-block .tools-row {
  justify-content: flex-end;
}

.encoding-map-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.encoding-map-chip:last-child {
  border-bottom: 0;
}

.encoding-map-chip button {
  width: 30px;
  height: 30px;
  padding: 0;
}

.project-list {
  display: grid;
  gap: 10px;
}

.project-recycle-bin {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.project-recycle-bin summary {
  cursor: pointer;
  color: var(--muted);
  font-weight: 700;
  user-select: none;
}

.project-recycle-bin[open] summary {
  margin-bottom: 10px;
}

.recycled-project-item {
  background: #f8fafc;
  box-shadow: none;
}

.recycled-project-item:hover {
  transform: none;
  border-color: #cbd5e1;
}

#projectStatus.empty {
  display: none;
}

.project-home-head,
.project-open-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f9fcfd 100%);
  box-shadow: var(--shadow-soft);
}

.project-home-head h4 {
  margin: 0;
  font-size: 16px;
}

.project-home-head p,
.project-open-head span {
  color: var(--muted);
  font-size: 13px;
}

.project-open-head strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  color: var(--teal);
}

.project-open-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.project-toggle {
  font-size: 24px;
  line-height: 1;
  color: var(--teal);
  transition: transform 0.16s ease;
}

.project-toggle.expanded {
  transform: rotate(180deg);
}

.project-details {
  display: grid;
  gap: 14px;
}

.user-home-panel {
  gap: 20px;
}

.user-home-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 28px;
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 84% 16%, rgba(37, 99, 235, 0.14), transparent 30%),
    linear-gradient(135deg, rgba(15, 118, 110, 0.12), rgba(37, 99, 235, 0.06)),
    #ffffff;
  box-shadow: var(--shadow);
}

.user-home-hero h3 {
  font-size: 28px;
  line-height: 1.18;
}

.user-home-hero p {
  max-width: 760px;
  color: var(--muted);
  line-height: 1.65;
}

.home-quick-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

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

.workflow-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 16px;
  text-align: left;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: var(--shadow-soft);
}

.workflow-card span {
  width: 34px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e7f4ff;
  color: var(--brand-2);
  font-size: 12px;
  font-weight: 900;
}

.workflow-card strong {
  font-size: 15px;
}

.workflow-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.home-overview-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.project-panel-refined {
  gap: 14px;
}

.project-panel-refined .user-home-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) auto;
  align-items: start;
  padding: 22px;
  gap: 16px;
}

.project-panel-refined.has-active-project .user-home-hero {
  grid-template-columns: minmax(260px, 0.45fr) minmax(420px, 1fr) minmax(320px, 0.42fr);
  align-items: stretch;
  padding: 18px;
}

.project-panel-refined .user-home-hero h3 {
  font-size: 26px;
}

.project-panel-refined.has-active-project .user-home-hero h3 {
  font-size: 28px;
}

.project-panel-refined .user-home-hero p {
  max-width: 860px;
}

.project-panel-refined .home-quick-actions {
  display: none;
}

.project-gateway {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}

.project-gateway > button {
  display: grid;
  gap: 7px;
  min-height: 118px;
  padding: 18px;
  text-align: left;
  border-radius: 16px;
}

.project-gateway > button strong {
  font-size: 22px;
}

.project-gateway > button span {
  color: inherit;
  opacity: 0.82;
  font-size: 13px;
  font-weight: 700;
}

.project-command-metrics {
  grid-column: 1 / 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}

.project-panel-refined.has-active-project .project-command-metrics {
  grid-column: 2 / 3;
  grid-row: 1;
}

.project-command-metrics > div:first-child {
  display: none;
}

.project-command-metrics div,
.project-next-step-card {
  padding: 16px;
  border: 1px solid #d8e7eb;
  border-radius: 16px;
  background: rgba(255,255,255,0.86);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.project-command-metrics div {
  position: relative;
  overflow: hidden;
}

.project-command-metrics div::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 12px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(15, 118, 110, 0.85), rgba(37, 99, 235, 0.42));
}

.project-command-metrics span,
.project-next-step-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.project-command-metrics strong,
.project-next-step-card strong {
  display: block;
  margin-top: 8px;
  color: var(--teal);
  font-size: 28px;
  line-height: 1.25;
}

.project-next-step-card {
  grid-column: 2 / 3;
  display: grid;
  gap: 10px;
  min-width: 360px;
}

.project-panel-refined.has-active-project .project-next-step-card {
  grid-column: 3 / 4;
  grid-row: 1;
  min-width: 0;
  align-content: center;
}

.project-panel-refined.has-active-project .project-next-step-card strong {
  font-size: 18px;
  color: var(--ink);
}

.project-next-step-card button {
  justify-self: start;
}

.workflow-strip-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 2px 4px 0;
}

.workflow-strip-title h3 {
  margin-top: 2px;
}

.workflow-strip-title p {
  color: var(--muted);
  font-size: 13px;
}

.project-panel-refined .home-workflow-grid {
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 10px;
}

.project-panel-refined .workflow-card {
  grid-template-columns: auto 1fr;
  align-items: start;
  min-height: 0;
  padding: 12px;
  gap: 6px 10px;
}

.project-panel-refined .workflow-card span {
  width: 30px;
  height: 30px;
  grid-row: span 2;
}

.project-panel-refined .workflow-card strong {
  font-size: 14px;
}

.project-panel-refined .workflow-card p {
  font-size: 11px;
  line-height: 1.4;
}

.project-panel-refined .home-overview-grid,
.project-panel-refined .project-duplicate-hidden {
  display: none;
}

.project-panel-refined:not(.has-active-project) #projectCommandMetrics,
.project-panel-refined:not(.has-active-project) #projectNextStepCard,
.project-panel-refined:not(.has-active-project) #workflowStripTitle,
.project-panel-refined:not(.has-active-project) .home-workflow-grid,
.project-panel-refined:not(.has-active-project) .home-layout,
.project-panel-refined:not(.has-active-project) #researchCopilotPanel {
  display: none;
}

.project-panel-refined.has-active-project #projectGateway {
  display: none;
}

.project-manager-modal {
  width: min(760px, calc(100vw - 40px));
  max-width: 760px;
  max-height: min(760px, calc(100vh - 40px));
  overflow: hidden;
}

.project-name-modal { width:min(620px, calc(100vw - 40px)); gap:18px; padding:22px; }
.project-name-modal .modal-head h3,
.project-manager-modal .modal-head h3 { margin:2px 0 5px; font-size:22px; }
.project-name-modal .modal-head p,
.project-manager-modal .modal-head p { margin:0; max-width:560px; color:var(--muted); line-height:1.55; }
.modal-kicker { color:var(--teal); font-size:11px; font-weight:900; text-transform:uppercase; }

.account-settings-modal {
  width: min(680px, 100%);
}

.account-security-summary,
.account-danger-zone {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.account-security-summary {
  grid-template-columns: 1fr auto;
  align-items: center;
}

.account-security-summary strong {
  grid-column: 1 / -1;
}

.account-danger-zone {
  border-color: #efb9b2;
  background: #fff8f7;
}

.account-danger-zone label {
  display: grid;
  gap: 6px;
}

.account-danger-zone .confirmation-check {
  display: flex;
  align-items: center;
  gap: 8px;
}

.account-danger-zone .confirmation-check input {
  width: auto;
}

.account-danger-zone button.danger {
  justify-self: end;
  background: #b42318;
  color: #fff;
}

.project-manager-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin: 2px 0 4px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.project-manager-toolbar > div:first-child { display:grid; gap:2px; }
.project-manager-toolbar > div:first-child span { color:var(--muted); font-size:12px; }
.project-manager-toolbar-actions { display:flex; gap:8px; }
.project-manager-modal > .project-list { max-height:380px; overflow-y:auto; padding-right:5px; scrollbar-gutter:stable; }

.project-manager-empty-action {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.project-manager-empty-state {
  display: grid;
  gap: 10px;
  place-items: center;
  padding: 42px 18px;
  border: 1px dashed #bdd4d8;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.06), rgba(37, 99, 235, 0.04)), #fff;
  text-align: center;
}

.project-manager-empty-state strong {
  color: var(--ink);
  font-size: 20px;
}

.project-manager-empty-state p {
  max-width: 520px;
  color: var(--muted);
}
.empty-state-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#e7f5f2; color:var(--teal); font-size:25px; font-weight:700; }
.project-item-copy { min-width:0; }
.project-item-title { display:flex; align-items:center; gap:8px; min-width:0; }
.project-item-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; }
.current-project-badge { flex:0 0 auto; padding:2px 7px; border-radius:999px; background:#e7f5f2; color:var(--teal); font-size:11px !important; font-weight:800; }
.project-item.current { border-color:#8ecbc4; background:#f5fbfa; }
.project-actions button { min-width:72px; min-height:38px; white-space:nowrap; padding:0 13px; }

.project-panel-refined .home-layout {
  grid-template-columns: minmax(420px, 0.74fr) minmax(560px, 1.26fr);
}

.project-panel-refined .research-copilot-panel {
  padding: 14px;
}

.project-panel-refined .copilot-head {
  grid-template-columns: minmax(260px, 1fr) minmax(300px, 0.55fr);
}

.project-panel-refined .copilot-head h3 {
  font-size: 20px;
}

.research-copilot-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.05)),
    #ffffff;
  box-shadow: var(--shadow-soft);
}

.copilot-head {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(360px, 0.72fr);
  gap: 16px;
  align-items: stretch;
}

.copilot-head h3 {
  margin: 4px 0 6px;
  font-size: 22px;
}

.copilot-head p {
  max-width: 920px;
  color: var(--muted);
  line-height: 1.65;
}

.copilot-next {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 14px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.copilot-next span,
.copilot-status {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e8f7f4;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
}

.copilot-next strong {
  color: var(--ink);
  line-height: 1.55;
}

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

.copilot-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 168px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.86);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.copilot-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08);
}

.copilot-card.todo {
  border-style: dashed;
  background: #fbfdff;
}

.copilot-card.todo .copilot-status {
  background: #fff7ed;
  color: #b45309;
}

.copilot-card h4 {
  font-size: 14px;
  line-height: 1.35;
}

.copilot-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.copilot-card button,
.copilot-next button {
  align-self: end;
}

.home-metric-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: var(--shadow-soft);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.home-metric-card:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 118, 110, 0.24);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.home-metric-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.home-metric-card strong {
  color: var(--brand);
  font-size: 30px;
  line-height: 1.1;
}

.home-metric-card strong b {
  font: inherit;
}

.home-metric-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.home-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.86fr) minmax(520px, 1.14fr);
  gap: 16px;
  align-items: start;
}

.home-main,
.home-side {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.home-side {
  position: sticky;
  top: 14px;
}

.home-empty-project {
  min-height: 180px;
  align-content: center;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.04), rgba(15, 118, 110, 0.05)),
    #fff;
}

.home-account-card,
.recent-activity-card,
.community-preview {
  border-color: rgba(37, 99, 235, 0.14);
}

.home-account-card {
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.07), rgba(15, 118, 110, 0.06)),
    #fff;
}

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

.template-chip-grid button {
  text-align: left;
  background: #f2f7fb;
  color: var(--ink);
  border: 1px solid #dbe7f0;
  box-shadow: none;
}

.compact-ledger {
  padding: 9px 10px;
}

.community-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 88% 18%, rgba(37, 99, 235, 0.16), transparent 32%),
    linear-gradient(135deg, rgba(15, 118, 110, 0.1), rgba(37, 99, 235, 0.06)),
    #fff;
  box-shadow: var(--shadow);
}

.community-hero h3 {
  font-size: 24px;
}

.community-hero p {
  max-width: 760px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.7;
}

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

.community-card {
  display: grid;
  gap: 8px;
  min-height: 160px;
  padding: 18px;
  text-align: left;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: var(--shadow-soft);
}

.community-card span {
  width: max-content;
  padding: 4px 9px;
  border-radius: 999px;
  background: #e8f6f3;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}

.community-card strong {
  font-size: 16px;
}

.community-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

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

.imaging-landing {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(15,118,110,.16);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(15,118,110,.055), rgba(37,99,235,.035)), #fff;
  box-shadow: var(--shadow-soft);
}
.imaging-landing[hidden], .imaging-workspace-shell[hidden] { display: none; }
.imaging-landing-copy { display: grid; gap: 5px; }
.imaging-landing-copy strong { font-size: 22px; }
.imaging-landing-copy small { color: var(--muted); }
.imaging-landing .analysis-card { position: relative; min-height: 190px; padding: 24px; align-content: end; overflow: hidden; }
.imaging-landing .analysis-card strong { font-size: 22px; }
.imaging-landing .analysis-card > b { margin-top: 8px; color: var(--brand); font-size: 13px; }
.imaging-card-index { position: absolute; top: 20px; right: 22px; color: rgba(15,118,110,.15) !important; font-size: 42px !important; font-weight: 950; }
.imaging-workspace-shell { display: grid; gap: 16px; }
.imaging-workspace-head { display: grid; grid-template-columns:auto minmax(260px,1fr) auto; align-items:center; gap:16px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-soft); }
.imaging-workspace-head > div:nth-child(2) { display:grid; gap:2px; }
.imaging-workspace-head > div:nth-child(2) > strong { font-size:19px; }
.imaging-workspace-head small { color:var(--muted); }
.imaging-mode-switch { display:flex; gap:6px; padding:5px; border-radius:11px; background:var(--soft); }
.imaging-mode-switch button { padding:8px 12px; color:var(--muted); background:transparent; box-shadow:none; }
.imaging-mode-switch button.active { color:#fff; background:var(--brand); }

.imaging-mode-panel {
  display: none;
}

.imaging-mode-panel.active {
  display: grid;
  gap: 14px;
}

.radiomics-route-card {
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.radiomics-route-card .summary {
  align-items: flex-start;
  line-height: 1.55;
}

.radiomics-stepbar,
.deep-learning-stepbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.radiomics-stepbar > button,
.deep-learning-stepbar > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 11px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.radiomics-stepbar b,
.deep-learning-stepbar b,
.radiomics-source-card > b {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #e6f5f2;
  color: var(--brand);
  font-size: 13px;
}
[data-radiomics-image-only][hidden] { display:none !important; }

.radiomics-stepbar span,
.deep-learning-stepbar span,
.radiomics-source-card span {
  display: grid;
  gap: 2px;
  text-align: left;
}

.radiomics-stepbar small,
.deep-learning-stepbar small,
.radiomics-source-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.radiomics-stepbar > button.active,
.deep-learning-stepbar > .active,
.radiomics-source-card.active,
.radiomics-dimension-switch button.active {
  border-color: #0ba99d;
  background: #eefaf8;
  box-shadow: inset 0 0 0 1px rgba(11, 169, 157, 0.08);
}
.radiomics-stepbar > button.completed { border-color:rgba(11,169,157,.28); background:#f7fcfb; }
.radiomics-stepbar > button.completed b::after { content:"✓"; position:absolute; transform:translate(12px,-12px); display:grid; place-items:center; width:15px; height:15px; border-radius:50%; color:#fff; background:#0ba99d; font-size:9px; }
.radiomics-stepbar > button.error { border-color:#df8c7c; background:#fff7f5; }
.radiomics-stepbar > button:disabled { opacity:.45; cursor:not-allowed; }

.radiomics-workspace {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.radiomics-step-panel { display:none; gap:18px; }
.radiomics-step-panel.active { display:grid; }
.radiomics-step-actions { display:flex; justify-content:flex-end; gap:9px; padding:4px 108px 0 0; border-top:1px solid var(--line); }
.radiomics-plan-summary { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:14px; padding:16px; border:1px solid #cfe3e1; border-radius:12px; background:#f7fbfb; }
.radiomics-plan-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid #dce9e7; }
.radiomics-plan-heading > div { display:grid;gap:3px; }
.radiomics-plan-heading > * { margin:0; }
.radiomics-plan-summary small { color:var(--muted); }
.radiomics-plan-summary dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; }
.radiomics-plan-summary dl > div { min-width:0; padding:9px 10px; border-radius:9px; background:#fff; }
.radiomics-plan-summary dt { color:var(--muted); font-size:11px; font-weight:800; }
.radiomics-plan-summary dd { overflow-wrap:anywhere; margin:3px 0 0; font-size:13px; font-weight:800; line-height:1.35; }
.radiomics-plan-risks { grid-column:1/-1; padding:10px 12px; border-left:3px solid #d06a55; background:#fff6f3; color:#a74331; font-size:12px; }
.radiomics-plan-risks span { display:block; }
.radiomics-step-feedback { padding:11px 13px; border:1px solid #efb1a5; border-radius:10px; background:#fff5f2; color:#a74331; font-size:13px; }
.radiomics-step-feedback span { display:block; }
.radiomics-config-mode { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid #d6e6e4; border-radius:11px; background:#f8fbfb; }
.radiomics-config-mode > div:first-child { display:grid; gap:2px; }
.radiomics-config-mode small { color:var(--muted); }
.radiomics-config-mode .segmented { display:flex; gap:4px; padding:3px; border-radius:9px; background:#e9f2f1; }
.radiomics-config-mode button { min-height:34px; padding:7px 12px; border:0; background:transparent; color:var(--muted); box-shadow:none; }
.radiomics-config-mode button.active { background:#fff; color:var(--brand); box-shadow:0 1px 5px rgba(15,52,49,.12); }
#radiomicsPanel[data-radiomics-config-mode="recommended"] .radiomics-advanced:not([hidden]) { display:none !important; }
.radiomics-pairing-preview { display:grid; gap:10px; padding:15px; border:1px solid #d3e6e3; border-radius:12px; background:#fbfdfd; }
.radiomics-pairing-preview > div:first-child { display:grid; gap:3px; }
.radiomics-pairing-summary { padding:9px 11px; border-radius:8px; background:#f0f5f5; color:var(--muted); font-size:13px; }
.radiomics-pairing-summary.ready { background:#eaf8f5; color:#08776d; }
.radiomics-pairing-summary.error { background:#fff2ef; color:#a74331; }
.radiomics-pairing-table { display:grid; gap:4px; overflow:auto; }
.radiomics-pairing-row { display:grid; grid-template-columns:minmax(100px,.7fr) minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(120px,.8fr); min-width:690px; gap:8px; padding:8px 10px; border-radius:7px; background:#fff; font-size:12px; }
.radiomics-pairing-row.head { background:#edf5f4; color:var(--muted); font-weight:800; }
.radiomics-pairing-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-pairing-row.error span:last-child { color:#b24a37; font-weight:800; }
.radiomics-pairing-row.ready span:last-child { color:#08776d; font-weight:800; }
.radiomics-region-preview { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr); gap:18px; align-items:center; padding:15px; border:1px solid #d3e6e3; border-radius:12px; background:linear-gradient(135deg,#f7fbfb,#fff); }
.radiomics-region-preview > div:first-child { display:grid; gap:3px; }
.radiomics-region-preview-body { display:flex; align-items:center; justify-content:center; gap:16px; min-height:180px; }
.radiomics-region-preview svg { width:min(100%,280px); height:190px; }
.radiomics-region-legend { display:grid; gap:8px; min-width:150px; color:var(--muted); font-size:12px; }
.radiomics-region-legend span { display:flex; align-items:center; gap:7px; }
.radiomics-region-legend i { width:12px; height:12px; border-radius:3px; }
.radiomics-result-intro { display:grid; grid-template-columns:minmax(280px,1fr) minmax(400px,1.2fr); align-items:center; gap:20px; padding:18px; border:1px solid #cfe3e1; border-radius:13px; background:linear-gradient(135deg,rgba(15,118,110,.07),rgba(37,99,235,.035)),#fff; }
.radiomics-result-intro > div:first-child { display:grid; gap:5px; }
.radiomics-result-intro > div:first-child strong { font-size:19px; }
.radiomics-result-intro small { color:var(--muted); line-height:1.55; }
.radiomics-output-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.radiomics-output-map span { padding:9px; border:1px solid rgba(15,118,110,.15); border-radius:9px; background:rgba(255,255,255,.8); color:var(--brand); font-size:12px; font-weight:800; text-align:center; }
.radiomics-result-dashboard { display:grid; gap:14px; }
.radiomics-result-dashboard[hidden] { display:none; }
.radiomics-result-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.radiomics-result-metrics > div { display:grid; gap:3px; padding:14px; border:1px solid #d4e4e2; border-radius:11px; background:#fff; }
.radiomics-result-metrics span, .radiomics-result-metrics small { color:var(--muted); font-size:11px; }
.radiomics-result-metrics strong { color:var(--brand); font-size:25px; line-height:1.1; }
.radiomics-result-section { display:grid; gap:11px; padding:15px; border:1px solid #d4e4e2; border-radius:11px; background:#fff; }
.radiomics-result-section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.radiomics-result-section-head > div { display:grid; gap:2px; }
.radiomics-result-section-head small { color:var(--muted); }
.status-pill.success { background:#e3f5f1; color:#08776d; }
.status-pill.warning { background:#fff3df; color:#986100; }
.status-pill.danger { background:#fff0ed; color:#a74331; }
.radiomics-case-qc-table { display:grid; gap:4px; overflow:auto; }
.radiomics-case-qc-row { display:grid; grid-template-columns:minmax(100px,.8fr) 75px minmax(120px,1fr) minmax(120px,1fr) 90px 65px minmax(180px,1.4fr); gap:8px; min-width:880px; padding:8px 9px; border-radius:7px; background:#f8fbfb; font-size:11px; }
.radiomics-case-qc-row.head { background:#eaf3f2; color:var(--muted); font-weight:800; }
.radiomics-case-qc-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-case-qc-row.passed span:nth-child(2) { color:#08776d; font-weight:800; }
.radiomics-case-qc-row.failed span:nth-child(2) { color:#a74331; font-weight:800; }
.radiomics-result-issues { display:grid; gap:6px; }
.radiomics-result-issues > div { padding:9px 11px; border-left:3px solid #d06a55; background:#fff5f2; color:#a74331; font-size:12px; }
.radiomics-provenance-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0; }
.radiomics-provenance-list > div { min-width:0; padding:9px 10px; border-radius:8px; background:#f5f9f8; }
.radiomics-provenance-list dt { color:var(--muted); font-size:10px; font-weight:800; }
.radiomics-provenance-list dd { overflow:hidden; margin:3px 0 0; font-size:12px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-download-list { display:flex; flex-wrap:wrap; gap:8px; }
.radiomics-download-list a, .radiomics-download-list > span { padding:8px 10px; border:1px solid #b9d9d5; border-radius:8px; background:#f1faf8; color:#08776d; font-size:12px; font-weight:800; text-decoration:none; }
.radiomics-feature-result-preview { overflow:auto; }
.radiomics-feature-result-preview table { width:100%; min-width:720px; border-collapse:collapse; font-size:11px; }
.radiomics-feature-result-preview th, .radiomics-feature-result-preview td { max-width:220px; padding:8px 9px; border-bottom:1px solid #e3eceb; overflow:hidden; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-feature-result-preview th { position:sticky; top:0; background:#edf5f4; color:var(--muted); }

.radiomics-source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.radiomics-mask-method-panel { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:13px; background:#fbfdfd; }
.radiomics-mask-method-heading { display:grid; gap:3px; }
.radiomics-mask-method-heading strong { font-size:17px; }
.radiomics-mask-method-heading small { color:var(--muted); }
.radiomics-mask-methods { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.radiomics-mask-methods button { position:relative; display:grid; gap:5px; min-height:82px; padding:13px 34px 13px 14px; text-align:left; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); }
.radiomics-mask-methods button small { color:var(--muted); line-height:1.4; }
.radiomics-mask-methods button i { display:none; position:absolute; top:12px; right:12px; color:var(--brand); font-style:normal; font-weight:900; }
.radiomics-mask-methods button.active { border-color:var(--brand); background:#edf9f7; box-shadow:inset 0 0 0 1px var(--brand); }
.radiomics-mask-methods button.active i { display:block; }
.radiomics-mask-methods button.recommended::after { content:"推荐"; position:absolute; right:8px; bottom:7px; padding:2px 6px; border-radius:999px; background:#dff3ef; color:var(--brand); font-size:10px; font-weight:800; }
.radiomics-mask-method-hint { display:flex; gap:9px; align-items:center; padding:10px 12px; border-radius:9px; background:#eef6f5; color:var(--muted); }
.radiomics-mask-method-hint strong { color:var(--ink); white-space:nowrap; }
.radiomics-upload-grid.annotation-pending { grid-template-columns:1fr; }
.radiomics-raster-fields { display:grid; grid-template-columns:minmax(240px,1fr) repeat(3,minmax(190px,.65fr)); align-items:end; gap:12px; padding:14px; border:1px solid #a9d5d1; border-radius:11px; background:#f1faf8; }
.radiomics-raster-fields[hidden] { display:none; }
.radiomics-raster-fields > div { display:grid; gap:3px; }
.radiomics-raster-fields small, .radiomics-raster-fields p { color:var(--muted); font-size:11px; }
.radiomics-raster-fields label { display:grid; gap:5px; }
.radiomics-raster-fields label span { font-size:12px; font-weight:800; }
.radiomics-raster-fields label b { color:var(--muted); font-size:10px; }
.radiomics-raster-fields p { grid-column:1/-1; margin:0; padding:8px 10px; border-left:3px solid #d79a3b; background:#fff8e9; color:#7c5b20; }

.radiomics-source-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 14px;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.radiomics-source-card > i {
  display: none;
  margin-left: auto;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0ba99d;
  font-style: normal;
}

.radiomics-source-card.active > i { display: grid; }

.radiomics-entry-panel { display: none; }
.radiomics-entry-panel.active { display: grid; gap: 16px; }

.radiomics-section-title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-top: 2px;
}

.radiomics-section-title span {
  color: var(--muted);
  font-size: 13px;
}

.radiomics-dimension-switch {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.radiomics-dimension-switch button {
  display: grid;
  gap: 3px;
  min-height: 70px;
  padding: 13px 15px;
  color: var(--ink);
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfdfe;
}

.radiomics-dimension-switch span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.radiomics-region-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.radiomics-region-grid button {
  position: relative;
  display: grid;
  gap: 3px;
  min-height: 74px;
  padding: 13px 44px 13px 15px;
  color: var(--ink);
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfdfe;
}
.radiomics-region-grid button.active { border-color: #0ba99d; background: #eefaf8; }
.radiomics-region-grid button:disabled { cursor: default; opacity: .62; }
.radiomics-region-grid span { color: var(--muted); font-size: 12px; font-weight: 500; }
.radiomics-region-grid i,
.radiomics-region-grid em { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-style: normal; }
.radiomics-region-grid i { display: none; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; background: #0ba99d; }
.radiomics-region-grid button.active i { display: grid; }
.radiomics-region-grid em { color: var(--muted); font-size: 11px; }
.radiomics-ring-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 16px;
  border: 1px solid #a9d5d1;
  border-radius: 11px;
  background: #f1faf8;
}
.radiomics-ring-fields[hidden] { display: none; }
.radiomics-ring-fields > div { display: grid; gap: 5px; }
.radiomics-ring-fields small { color: var(--muted); }
.radiomics-ring-heading strong { font-size:16px; }
.radiomics-ring-presets { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px !important; }
.radiomics-ring-presets button { position:relative; display:grid; gap:3px; min-height:68px; padding:11px 12px; border:1px solid #b9d8d4; border-radius:10px; background:#fff; color:var(--ink); text-align:left; box-shadow:none; }
.radiomics-ring-presets button strong { font-size:13px; }
.radiomics-ring-presets button small { font-size:11px; font-weight:600; }
.radiomics-ring-presets button.active { border-color: #0ba99d; background: #dff5f1; color: #087a72; }
.radiomics-ring-presets button.recommended::after { content:"推荐"; position:absolute; top:7px; right:7px; padding:2px 5px; border-radius:5px; background:#0ba99d; color:#fff; font-size:9px; font-weight:800; }
.radiomics-ring-custom-editor { display:grid; gap:7px; padding:12px; border:1px solid #bfd9d6; border-radius:10px; background:#fff; }
.radiomics-ring-custom-editor[hidden] { display:none; }
.radiomics-ring-custom-editor.invalid { border-color:#d15b5b; box-shadow:0 0 0 3px rgba(209,91,91,.08); }
.radiomics-ring-editor-head, .radiomics-ring-custom-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(110px,.65fr) minmax(110px,.65fr) 76px; align-items:center; gap:9px; }
.radiomics-ring-editor-head { color:var(--muted); font-size:11px; font-weight:800; }
.radiomics-ring-custom-row { padding-top:7px; border-top:1px solid #edf2f1; }
.radiomics-ring-custom-row input { width:100%; }
.radiomics-ring-custom-row button { min-height:38px; padding:7px 9px; }
.radiomics-ring-custom-editor > button { justify-self:start; }
.radiomics-ring-summary { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr); align-items:center; gap:14px; padding:11px 12px; border-radius:9px; background:#e8f5f2; color:#075f58; }
.radiomics-ring-summary > strong { font-size:12px; line-height:1.55; }
.radiomics-ring-bands { display:flex !important; height:32px; overflow:hidden; gap:2px !important; border-radius:7px; background:#fff; }
.radiomics-ring-bands span { display:grid; place-items:center; min-width:48px; padding:0 5px; background:#8fd1c7; color:#064f49; font-size:10px; font-weight:800; }
.radiomics-ring-bands span:nth-child(2n) { background:#b4e2db; }
.radiomics-feature-composer { display:grid; gap:15px; padding:16px; border:1px solid #c8dfdc; border-radius:12px; background:#fbfdfd; }
.radiomics-feature-composer-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.radiomics-feature-composer-head > div:first-child { display:grid; gap:3px; }
.radiomics-feature-composer-head small { color:var(--muted); }
.radiomics-feature-estimate { padding:8px 11px; border-radius:8px; background:#e5f5f2; color:#08776d; font-size:12px; font-weight:800; white-space:nowrap; }
.radiomics-feature-estimate.medium { background:#fff5df; color:#976916; }
.radiomics-feature-estimate.high { background:#fff0ed; color:#a74331; }
.radiomics-feature-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.radiomics-feature-presets button { position:relative; display:grid; gap:3px; min-height:64px; padding:10px 12px; border:1px solid #cbdedc; border-radius:10px; background:#fff; color:var(--ink); text-align:left; box-shadow:none; }
.radiomics-feature-presets button small { color:var(--muted); font-size:11px; }
.radiomics-feature-presets button.active { border-color:#0ba99d; background:#e8f7f4; color:#08776d; }
.radiomics-feature-presets button.recommended::after { content:"推荐"; position:absolute; top:6px; right:6px; padding:2px 5px; border-radius:5px; background:#0ba99d; color:#fff; font-size:9px; font-weight:800; }
.radiomics-feature-composer fieldset { min-width:0; margin:0; padding:12px; border:1px solid #dbe8e6; border-radius:10px; }
.radiomics-feature-composer legend { padding:0 6px; color:var(--muted); font-size:12px; font-weight:800; }
.radiomics-feature-family-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.radiomics-feature-family-grid label, .radiomics-image-type-grid label { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:10px; border:1px solid #dce7e6; border-radius:9px; background:#fff; cursor:pointer; }
.radiomics-feature-family-grid label:has(input:checked), .radiomics-image-type-grid label:has(input:checked) { border-color:#83c7bf; background:#edf9f7; }
.radiomics-feature-family-grid input[type="checkbox"], .radiomics-image-type-grid input[type="checkbox"] { flex:0 0 16px; width:16px; min-width:16px; max-width:16px; height:16px; margin:3px 0 0; padding:0; accent-color:#0b978c; }
.radiomics-feature-family-grid span, .radiomics-image-type-grid span { display:grid; min-width:0; gap:2px; }
.radiomics-feature-family-grid strong, .radiomics-image-type-grid strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-feature-family-grid small, .radiomics-image-type-grid small { overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-image-type-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.radiomics-feature-rule { display:block; margin-top:9px; color:var(--muted); }
.radiomics-feature-technical { display:grid; grid-template-columns:repeat(2,minmax(180px,280px)); gap:10px; }
.radiomics-feature-technical label { display:flex; align-items:center; gap:8px; }
.radiomics-feature-technical label span { font-size:12px; font-weight:800; white-space:nowrap; }
.radiomics-feature-selection-summary { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:10px 12px; border-radius:9px; background:#f0f6f5; }
.radiomics-feature-selection-summary > strong { margin-right:5px; font-size:12px; }
.radiomics-feature-selection-summary > span { padding:4px 7px; border-radius:6px; background:#dcefeb; color:#08776d; font-size:10px; font-weight:800; }
.radiomics-feature-selection-summary > span.transform { background:#e8e9fa; color:#4e55a4; }
.radiomics-habitat-fields {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) auto minmax(150px, .45fr) repeat(2, minmax(170px, .5fr));
  align-items: end;
  gap: 14px;
  padding: 14px;
  border: 1px solid #a9d5d1;
  border-radius: 11px;
  background: #f1faf8;
}
.radiomics-habitat-fields[hidden] { display: none; }
.radiomics-habitat-fields > div { display: grid; gap: 3px; }
.radiomics-habitat-fields small { color: var(--muted); }
.radiomics-habitat-fields label { display: flex; align-items: center; gap: 8px; }
.radiomics-habitat-fields label span { font-size: 13px; font-weight: 800; white-space: nowrap; }
.radiomics-habitat-fields input { width: 110px; }
.radiomics-habitat-mode {
  display: inline-flex !important;
  grid-template-columns: repeat(2, auto);
  padding: 3px;
  border: 1px solid #b9d8d5;
  border-radius: 10px;
  background: #e8f4f2;
}
.radiomics-habitat-mode button { min-height: 38px; padding: 7px 13px; background: transparent; color: #315b5a; box-shadow: none; }
.radiomics-habitat-mode button.active { background: #fff; color: var(--teal); box-shadow: 0 2px 8px rgba(15, 91, 86, .12); }
.radiomics-habitat-auto-fields {
  display: flex !important;
  grid-column: span 1;
  gap: 10px !important;
  align-items: center;
}
.radiomics-habitat-auto-fields[hidden] { display: none !important; }
.radiomics-habitat-auto-fields label { display: grid; gap: 4px; }
.radiomics-habitat-auto-fields input { width: 82px; }

.radiomics-robustness-card {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto;
  align-items: center;
  gap: 12px 20px;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #c6dddb;
  border-radius: 12px;
  background: #f5faf9;
}
.radiomics-robustness-card > div:first-child { display: grid; gap: 3px; }
.radiomics-robustness-card small { color: var(--muted); }
.radiomics-robustness-fields {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding-top: 12px;
  border-top: 1px solid #d7e7e5;
}
.radiomics-robustness-fields[hidden] { display: none; }
.radiomics-robustness-fields label { display: flex; align-items: center; gap: 8px; }
.radiomics-robustness-fields label span { font-size: 13px; font-weight: 800; white-space: nowrap; }
.radiomics-robustness-fields input { width: 96px; }
.radiomics-robustness-fields b { color: var(--muted); font-size: 12px; }

@media (max-width: 820px) {
  .radiomics-region-grid { grid-template-columns: 1fr; }
  .radiomics-ring-fields { grid-template-columns: 1fr; align-items: stretch; }
  .radiomics-ring-fields label { justify-content: flex-start; }
  .radiomics-ring-presets { grid-template-columns:1fr 1fr; }
  .radiomics-ring-summary { grid-template-columns:1fr; }
  .radiomics-habitat-fields { grid-template-columns: 1fr; align-items: stretch; }
  .radiomics-habitat-fields label { justify-content: flex-start; }
  .radiomics-robustness-card { grid-template-columns: 1fr; }
  .radiomics-robustness-fields { grid-column: 1; }
}

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

.radiomics-dropzone {
  display: grid;
  gap: 7px;
  min-height: 154px;
  padding: 17px;
  border: 1px dashed #a8cbc8;
  border-radius: 12px;
  background: #f8fcfc;
  cursor: pointer;
}

.radiomics-dropzone:hover { border-color: var(--brand); }
.radiomics-dropzone[hidden] { display: none; }
.radiomics-dropzone input { width: 100%; }
.radiomics-dropzone small { color: var(--muted); line-height: 1.5; }
.radiomics-dropzone em { color: var(--brand); font-size: 12px; font-style: normal; font-weight: 800; }

.radiomics-case-preview { display:grid; gap:12px; padding:16px; border:1px solid #b7d7d3; border-radius:14px; background:#f9fcfc; }
.radiomics-case-preview[hidden] { display:none; }
.radiomics-case-preview-head { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.radiomics-case-preview-head > div:first-child { display:grid; gap:3px; }
.radiomics-case-preview-head strong { font-size:17px; }
.radiomics-case-preview-head small { color:var(--muted); }
.radiomics-preview-head-status { display:flex; align-items:center; gap:10px; }
.radiomics-preview-head-status b { min-width:54px; text-align:right; }
.radiomics-preview-mode { display:flex; width:max-content; max-width:100%; padding:4px; border-radius:10px; background:#eaf4f2; }
.radiomics-preview-mode[hidden], .radiomics-preview-pair[hidden] { display:none; }
.radiomics-preview-mode button { min-height:34px; padding:7px 13px; border:0; border-radius:8px; background:transparent; color:var(--muted); box-shadow:none; }
.radiomics-preview-mode button.active { background:#fff; color:var(--brand); box-shadow:0 2px 8px rgba(15,70,65,.1); }
.radiomics-preview-stage { display:grid; grid-template-columns:46px minmax(0,1fr) 46px; align-items:center; gap:10px; }
.radiomics-preview-arrow { width:42px; height:42px; padding:0; border-radius:50%; background:#e3f3f0; color:var(--brand); box-shadow:none; }
.radiomics-preview-arrow:disabled { opacity:.3; cursor:not-allowed; }
.radiomics-preview-content { min-width:0; }
.radiomics-preview-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.radiomics-preview-pair.image-only { grid-template-columns:repeat(2,minmax(0,1fr)); }
.radiomics-preview-pair figure { min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#fff; }
.radiomics-preview-pair figure > span { display:block; padding:8px 11px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.radiomics-preview-media { position:relative; display:grid; place-items:center; height:clamp(260px,30vw,420px); overflow:hidden; background:repeating-conic-gradient(#f1f5f5 0 25%,#fff 0 50%) 50% / 18px 18px; }
.radiomics-preview-media img { display:block; width:auto!important; height:auto!important; max-width:100%!important; max-height:100%!important; object-fit:scale-down; object-position:center; }
.radiomics-preview-media img:not([src]), .radiomics-preview-media img[src=""] { display:none; }
.radiomics-mask-empty { min-height:220px; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:24px; text-align:center; color:var(--muted); }
.radiomics-mask-empty[hidden] { display:none; }
.radiomics-mask-empty strong { color:var(--ink); }
.radiomics-preview-media em { padding:20px; color:var(--muted); text-align:center; font-size:12px; font-style:normal; }
.radiomics-preview-pair figcaption { overflow:hidden; padding:8px 11px; color:var(--ink); font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-preview-overlay { position:relative; display:grid; place-items:center; min-height:290px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#172120; }
.radiomics-preview-overlay[hidden] { display:none; }
.radiomics-preview-overlay canvas { display:block; max-width:100%; max-height:420px; object-fit:contain; }
.radiomics-preview-overlay em { position:absolute; color:#dce7e5; font-size:12px; font-style:normal; }
.radiomics-preview-opacity { display:flex; align-items:center; gap:10px; justify-content:center; }
.radiomics-preview-opacity[hidden] { display:none; }
.radiomics-preview-opacity input { width:min(360px,55vw); }
.radiomics-preview-opacity span, .radiomics-preview-opacity b { color:var(--muted); font-size:12px; }
.radiomics-preview-details { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); gap:12px; }
.radiomics-preview-details dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; }
.radiomics-preview-details dl div, .radiomics-preview-mask-details { display:grid; gap:3px; padding:9px 11px; border-radius:9px; background:#eef6f5; }
.radiomics-preview-details dt { color:var(--muted); font-size:10px; }
.radiomics-preview-details dd { overflow:hidden; margin:0; color:var(--ink); font-size:12px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-preview-mask-details { align-content:center; color:var(--muted); font-size:12px; }
.radiomics-preview-mask-details.ready { background:#e4f6f1; color:#087669; }
.radiomics-preview-mask-details.warning { background:#fff3e1; color:#975f00; }
.radiomics-batch-import { margin:14px 0; padding:16px 18px; border:1px solid var(--line); border-radius:14px; display:grid; grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto; gap:14px; align-items:end; background:#f8fbfb; }
.radiomics-batch-import > div:first-child { display:flex; flex-direction:column; gap:4px; }
.radiomics-batch-title { display:flex; align-items:center; gap:8px; }
.radiomics-help-button { width:24px; min-width:24px; height:24px; min-height:24px; padding:0; border-radius:50%; background:#dff3ef; color:var(--brand); font-size:13px; font-weight:900; box-shadow:none; }
.radiomics-batch-import label { display:flex; flex-direction:column; gap:6px; }
.radiomics-batch-actions { display:flex; gap:8px; flex-wrap:wrap; }
.radiomics-archive-summary { grid-column:1/-1; padding:11px 13px; border-radius:10px; background:#eaf7f4; color:#075f57; }
.radiomics-archive-summary.warning { background:#fff3de; color:#955300; }
.radiomics-intake-workbench {
  display:grid;
  gap:14px;
  margin-top:14px;
  padding:16px;
  border:1px solid #b9d9d5;
  border-radius:16px;
  background:#f8fcfb;
}
.radiomics-intake-head {
  display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(260px,.7fr) auto;
  gap:14px;
  align-items:end;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.radiomics-intake-head > div:first-child { display:grid; gap:3px; }
.radiomics-intake-head label { display:grid; gap:6px; }
.radiomics-intake-head label span { color:var(--ink); font-size:12px; font-weight:800; }
.radiomics-format-guide-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 14px;
  white-space:nowrap;
}
.radiomics-format-guide-button b {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#dff3ef;
  color:var(--brand);
}
.radiomics-intake-actions {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.radiomics-intake-actions.annotation-pending { grid-template-columns:repeat(3,minmax(0,1fr)); }
.radiomics-intake-action {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-height:100px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.radiomics-intake-action:hover { border-color:#75c8bf; background:#f3fbf9; }
.radiomics-intake-action.primary { border-color:#48b8ad; background:#eaf8f5; }
.radiomics-intake-action[hidden] { display:none !important; }
.radiomics-intake-action > b {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#e1f3f0;
  color:#08786d;
  font-size:12px;
}
.radiomics-intake-action > span { display:grid; gap:3px; min-width:0; }
.radiomics-intake-action strong { font-size:14px; }
.radiomics-intake-action small { color:var(--muted); font-size:11px; line-height:1.45; }
.radiomics-intake-action em { overflow:hidden; color:#08786d; font-size:11px; font-style:normal; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.radiomics-intake-workbench .radiomics-archive-summary { margin:0; }
.radiomics-config-workbench,
.radiomics-execution-workbench {
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid #b9d9d5;
  border-radius:16px;
  background:#f8fcfb;
}
.radiomics-workbench-title {
  display:flex;
  grid-column:1/-1;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.radiomics-workbench-title > div { display:grid; gap:3px; }
.radiomics-workbench-title > div > strong { font-size:18px; }
.radiomics-workbench-title small { color:var(--muted); line-height:1.5; }
.radiomics-workbench-order { padding:7px 10px; border-radius:999px; background:#e6f5f2; color:#08776d; font-size:11px; font-weight:800; white-space:nowrap; }
.radiomics-config-workbench { grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); align-items:start; }
.radiomics-config-workbench > :not(.radiomics-workbench-title):not(.radiomics-region-preview):not(.radiomics-auto-qc-note) { grid-column:1; }
.radiomics-config-workbench > .radiomics-region-preview { grid-column:2; grid-row:2/span 8; position:sticky; top:12px; }
.radiomics-config-workbench > .radiomics-auto-qc-note { grid-column:1; }
.radiomics-numbered-title { align-items:center; gap:10px; padding:2px 0; }
.radiomics-numbered-title > b {
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  background:#dff2ef;
  color:#08776d;
  font-size:11px;
}
.radiomics-numbered-title > div { display:grid; gap:2px; }
.radiomics-numbered-title > div > span { font-size:12px; }
.radiomics-config-workbench .radiomics-region-preview { grid-template-columns:1fr; gap:8px; align-items:start; }
.radiomics-config-workbench .radiomics-region-preview-body { flex-direction:column; min-height:270px; }
.radiomics-config-workbench .radiomics-region-preview svg { height:210px; }
.radiomics-config-workbench .radiomics-region-legend { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
.radiomics-auto-qc-note { display:grid;grid-template-columns:max-content repeat(3,minmax(0,1fr));align-items:center;gap:10px 16px;padding:12px 14px;border:1px solid #cfe3e1;border-radius:12px;background:#fff; }
.radiomics-auto-qc-note strong { font-size:13px; }
.radiomics-auto-qc-note span { display:flex; gap:7px; align-items:center; color:var(--muted); font-size:11px; }
.radiomics-auto-qc-note span::before { content:"✓"; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#e4f5f2; color:#08776d; font-weight:900; }
.radiomics-config-workbench .radiomics-inline-fields { margin:0; padding:13px; border:1px solid #d6e6e4; border-radius:11px; background:#fff; }
.radiomics-execution-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,360px); gap:12px; align-items:start; }
.radiomics-execution-side { display:grid; gap:12px; }
.radiomics-execution-side .radiomics-robustness-card { grid-template-columns:1fr; align-items:start; margin:0; }
.radiomics-execution-side .radiomics-robustness-card > label { justify-content:flex-start; }
.radiomics-execution-side .radiomics-robustness-fields { grid-template-columns:1fr; }
.radiomics-execution-workbench > .radiomics-plan-summary { margin:0; }
.radiomics-execution-workbench > .radiomics-submit-row { margin:0; }
.radiomics-results-workbench { gap:14px; }
.radiomics-results-workbench .radiomics-result-intro { grid-template-columns:minmax(0,1fr) auto; }
.radiomics-result-intro-actions { display:flex; justify-content:flex-end; }
.radiomics-results-workbench > .radiomics-output-map { grid-template-columns:repeat(6,minmax(0,1fr)); }
.radiomics-results-workbench > .radiomics-output-map span { display:grid; gap:4px; align-content:center; min-height:58px; }
.radiomics-results-workbench > .radiomics-output-map b { color:#55a99f; font-size:10px; }
.radiomics-results-workbench .radiomics-task-card { margin:0; }
.radiomics-results-workbench .radiomics-result-dashboard { padding:14px; border:1px solid #d1e4e1; border-radius:14px; background:#f8fbfb; }
.radiomics-data-review {
  display:grid;
  grid-template-columns:minmax(350px,.43fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.radiomics-data-review:not(:has(.radiomics-case-preview:not([hidden]))) { grid-template-columns:1fr; }
.radiomics-data-review .radiomics-pairing-preview,
.radiomics-data-review .radiomics-case-preview { min-width:0; margin:0; }
.radiomics-data-review .radiomics-pairing-table { max-height:500px; overflow:auto; }
.radiomics-data-review .radiomics-pairing-row {
  grid-template-columns:minmax(90px,.7fr) minmax(140px,1fr) minmax(120px,1fr) minmax(110px,.8fr);
  min-width:560px;
}
.radiomics-data-review .radiomics-preview-media { height:clamp(230px,24vw,380px); }
.radiomics-data-review .radiomics-preview-details { grid-template-columns:1fr; }
.radiomics-data-review .radiomics-preview-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:1250px) {
  .radiomics-config-workbench { grid-template-columns:1fr; }
  .radiomics-config-workbench > .radiomics-region-preview,
  .radiomics-config-workbench > .radiomics-auto-qc-note { grid-column:1; grid-row:auto; position:static; }
  .radiomics-config-workbench .radiomics-region-preview { grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr); }
  .radiomics-config-workbench .radiomics-region-preview-body { flex-direction:row; min-height:180px; }
  .radiomics-results-workbench > .radiomics-output-map { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .radiomics-data-review { grid-template-columns:1fr; }
  .radiomics-data-review .radiomics-preview-media { height:clamp(260px,34vw,430px); }
  .radiomics-data-review .radiomics-preview-details { grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); }
  .radiomics-data-review .radiomics-preview-details dl { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:950px) {
  .radiomics-execution-layout { grid-template-columns:1fr; }
  .radiomics-intake-head { grid-template-columns:1fr auto; }
  .radiomics-intake-head > div:first-child { grid-column:1/-1; }
  .radiomics-intake-actions,
  .radiomics-intake-actions.annotation-pending { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .radiomics-config-workbench,
  .radiomics-execution-workbench { padding:12px; }
  .radiomics-workbench-title { align-items:flex-start; flex-direction:column; }
  .radiomics-config-workbench .radiomics-region-preview { grid-template-columns:1fr; }
  .radiomics-config-workbench .radiomics-region-preview-body { flex-direction:column; }
  .radiomics-auto-qc-note { grid-template-columns:1fr;align-items:start; }
  .radiomics-step-actions { padding-right:0;padding-bottom:132px; }
  .radiomics-results-workbench .radiomics-result-intro { grid-template-columns:1fr; }
  .radiomics-result-intro-actions { justify-content:flex-start; }
  .radiomics-results-workbench > .radiomics-output-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .radiomics-intake-workbench { padding:12px; }
  .radiomics-intake-head,
  .radiomics-intake-actions,
  .radiomics-intake-actions.annotation-pending { grid-template-columns:1fr; }
  .radiomics-intake-head > div:first-child { grid-column:auto; }
  .radiomics-format-guide-button { width:100%; }
  .radiomics-data-review .radiomics-preview-details { grid-template-columns:1fr; }
  .radiomics-data-review .radiomics-preview-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.radiomics-habitat-output-scope { grid-column:1/-1; display:grid; grid-template-columns:minmax(280px,1fr) minmax(180px,.45fr) minmax(240px,.7fr); gap:12px; align-items:end; padding-top:12px; border-top:1px solid var(--line); }
.radiomics-habitat-output-scope > div { display:flex; flex-direction:column; gap:4px; }
.radiomics-format-help-modal { width:min(920px,calc(100vw - 32px)); max-height:88vh; overflow:auto; }
.radiomics-format-help-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.radiomics-format-help-body article { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:#f8fbfb; }
.radiomics-format-help-body article.recommended { border-color:#72cfc3; box-shadow:inset 4px 0 #0d9488; }
.radiomics-format-help-body article > div { display:flex; flex-direction:column; gap:4px; padding:13px 14px 8px; }
.radiomics-format-help-body article span,.radiomics-format-rules span { color:var(--muted); font-size:12px; }
.radiomics-format-help-body pre { margin:0; padding:12px 14px; overflow:auto; background:#102c29; color:#dff7f2; font:12px/1.65 Consolas,monospace; }
.radiomics-format-help-body pre b { color:#7ee3d4; }
.radiomics-format-rules { grid-column:1/-1; display:grid; gap:6px; padding:14px; border-radius:12px; background:#fff4df; }
@media (max-width:900px) { .radiomics-batch-import,.radiomics-habitat-output-scope { grid-template-columns:1fr; } .radiomics-preview-pair,.radiomics-preview-pair.image-only { grid-template-columns:1fr; } }
@media (max-width:700px) { .radiomics-format-help-body { grid-template-columns:1fr; } }
.radiomics-preview-actions { display:flex; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid var(--line); }
.radiomics-preview-actions > div { display:flex; flex-wrap:wrap; gap:8px; }
.radiomics-preview-actions .danger { color:#b33b32; border-color:#e5bbb7; }
.radiomics-preview-actions button[hidden] { display:none; }

.radiomics-inline-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.annotation-workbench {
  margin-top: 18px;
  padding: 0;
  overflow: hidden;
  border-color: #8fc9c4;
}

.annotation-workbench[hidden] { display: none; }

body.annotation-page-active { overflow: hidden; }
body.annotation-page-active .annotation-workbench {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #f4f9f9;
}
body.annotation-page-active .annotation-head { flex: 0 0 auto; padding: 12px 18px; }
body.annotation-page-active .annotation-context-row { flex: 0 0 auto; padding: 9px 18px 10px; }
body.annotation-page-active .annotation-queue-bar,
body.annotation-page-active .annotation-review-panel { flex: 0 0 auto; max-height: 38vh; overflow: auto; }
body.annotation-page-active .annotation-queue-bar.annotation-panel-collapsed,
body.annotation-page-active .annotation-review-panel.annotation-panel-collapsed { display: none; }
body.annotation-page-active .annotation-main {
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr) 520px;
  min-height: 0;
  overflow: hidden;
}
body.annotation-page-active .annotation-stage-wrap { min-height: 0; padding: 10px 12px; }
body.annotation-page-active .annotation-stage { min-height: 0; }
body.annotation-page-active .annotation-toolbar {
  width: 520px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow-x: hidden;
  overflow-y: auto;
  padding: 12px 14px 16px;
  gap: 12px;
  scrollbar-gutter: stable;
}
body.annotation-page-active .annotation-primary-tools,
body.annotation-page-active .annotation-toolbar-section,
body.annotation-page-active .annotation-core-actions,
body.annotation-page-active .annotation-shortcuts,
body.annotation-page-active .annotation-finish-box { grid-column: 1 / -1; }
body.annotation-page-active .annotation-primary-tools {
  grid-template-columns: 1fr;
  align-items: end;
}
body.annotation-page-active .annotation-primary-tools .annotation-toolbar-heading,
body.annotation-page-active .annotation-primary-tools .annotation-tool-switch,
body.annotation-page-active .annotation-primary-tools .annotation-brush-control { grid-column: 1 / -1; }
body.annotation-page-active .annotation-primary-tools > label { min-width: 0; }
body.annotation-page-active #annotationFinishPolygonBtn { grid-column: 1 / -1; }
body.annotation-page-active .annotation-toolbar-section { gap: 6px; }
body.annotation-page-active .annotation-core-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.annotation-page-active .annotation-slice-actions,
body.annotation-page-active .annotation-support-stack { align-self: stretch; }
body.annotation-page-active .annotation-finish-box {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 14px;
}
body.annotation-page-active .annotation-finish-box strong,
body.annotation-page-active .annotation-finish-box small { grid-column: 1; }
body.annotation-page-active .annotation-finish-box button { grid-column: 2; grid-row: 1 / span 2; margin: 0; white-space: nowrap; }
body.annotation-page-active .annotation-window-row { padding-top: 9px; }
body.annotation-page-active .annotation-head .tools-row { flex-wrap: wrap; justify-content: flex-end; }
body.annotation-page-active #annotationQueueToggleBtn[aria-expanded="true"],
body.annotation-page-active #annotationReviewToggleBtn[aria-expanded="true"] { color:#fff; background:var(--brand); }

.annotation-workbench:fullscreen {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 0;
  background: #f4f9f9;
}

.annotation-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(105deg, #edf9f7, #f2f6ff);
}

.annotation-head > div:first-child { display: grid; gap: 4px; }
.annotation-head strong { font-size: 19px; }
.annotation-head small { color: var(--muted); }

.annotation-context-row {
  display: grid;
  grid-template-columns: minmax(160px, .85fr) minmax(130px, .65fr) minmax(280px, 1.7fr) minmax(160px, .7fr) auto;
  gap: 14px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.annotation-context-row label,
.annotation-window-row label,
.annotation-toolbar > label { display: grid; gap: 6px; }
.annotation-context-row span,
.annotation-window-row span,
.annotation-toolbar label span { font-size: 13px; font-weight: 800; }
.annotation-context-row input,
.annotation-context-row select { width: 100%; }
.annotation-context-row > button { align-self: end; white-space: nowrap; }
.annotation-slice-control input { accent-color: var(--brand); }

.annotation-queue-bar {
  display: grid;
  gap: 10px;
  padding: 12px 20px 14px;
  border-bottom: 1px solid var(--line);
  background: #f7fbfb;
}
.annotation-queue-summary { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.annotation-queue-summary > div:first-child { display: grid; gap: 3px; }
.annotation-queue-summary small { color: var(--muted); }
.annotation-queue-summary label { display: flex; align-items: center; gap: 8px; }
.annotation-case-queue { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
.annotation-case-card {
  display: grid;
  grid-template-columns: auto minmax(96px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 210px;
  padding: 9px 11px;
  border: 1px solid #cfdfdf;
  border-radius: 10px;
  color: var(--ink);
  background: #fff;
  text-align: left;
}
.annotation-case-card.active { border-color: var(--brand); box-shadow: 0 0 0 2px rgba(0, 137, 123, .12); background: #edf9f7; }
.annotation-case-card[hidden] { display: none; }
.annotation-case-index { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e7f4f2; font-size: 12px; font-weight: 900; }
.annotation-case-copy { display: grid; gap: 2px; min-width: 0; }
.annotation-case-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.annotation-case-copy small { color: var(--muted); font-size: 11px; }
.annotation-case-status { padding: 3px 7px; border-radius: 999px; background: #eef3f4; color: #53666a; font-size: 11px; font-weight: 800; }
.annotation-case-status.editing { color: #007f70; background: #dff4f0; }
.annotation-case-status.completed { color: #fff; background: var(--brand); }
.annotation-case-status.pending_review { color: #765300; background: #fff0bf; }
.annotation-case-status.needs_revision { color: #a43d2a; background: #ffe4df; }
.annotation-case-status.approved { color: #fff; background: #168365; }

.annotation-assignment-row {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(190px, .7fr) minmax(190px, .7fr) auto;
  align-items: end;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.annotation-assignment-row > div { display: grid; gap: 3px; }
.annotation-assignment-row small { color: var(--muted); }
.annotation-assignment-row label { display: grid; gap: 4px; }
.annotation-assignment-row label span { color: var(--muted); font-size: 11px; font-weight: 800; }
.annotation-assignment-row button { white-space: nowrap; }

.annotation-review-panel {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(320px, 1.6fr) auto;
  align-items: end;
  gap: 14px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.annotation-review-state { display: flex; align-items: center; gap: 10px; align-self: center; }
.annotation-review-state > div { display: grid; gap: 3px; }
.annotation-review-state small { color: var(--muted); }
.annotation-review-comment { display: grid; gap: 5px; }
.annotation-review-comment span { font-size: 12px; font-weight: 800; color: var(--muted); }
.annotation-review-comment textarea { min-height: 52px; resize: vertical; }
.annotation-review-actions { display: flex; align-items: center; gap: 8px; padding-bottom: 1px; }
.annotation-review-actions button { white-space: nowrap; }
.annotation-review-history { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.annotation-review-history:empty { display: none; }
.annotation-review-history span { padding: 4px 8px; border-radius: 8px; color: var(--muted); background: #f2f7f7; font-size: 11px; }
.annotation-compare-panel {
  grid-column: 1 / -1;
  display: flex;
  align-items: end;
  gap: 9px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.annotation-compare-panel label { display: grid; gap: 4px; }
.annotation-compare-panel label span { color: var(--muted); font-size: 11px; font-weight: 800; }
.annotation-compare-panel select { min-width: 120px; }
.annotation-compare-metrics { flex: 1; min-width: 260px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.annotation-review-note-panel { grid-column: 1 / -1; display: grid; gap: 8px; }
.annotation-review-note-panel > div:first-child { display: flex; align-items: center; gap: 9px; }
.annotation-review-note-panel small { color: var(--muted); }
.annotation-review-notes { display: flex; flex-wrap: wrap; gap: 7px; }
.annotation-review-note { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid #d8e5e5; border-radius: 9px; background: #f8fbfb; }
.annotation-review-note.resolved { opacity: .65; }
.annotation-review-note strong { color: #a43d2a; }
.annotation-review-note button { min-height: 30px; padding: 4px 8px; }

.annotation-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  min-height: 610px;
  background: #142326;
}

.annotation-stage-wrap {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  padding: 16px;
}

.annotation-stage {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 500px;
  overflow: hidden;
  border: 1px solid #3a5256;
  border-radius: 12px;
  background: #071113;
  touch-action: none;
  user-select: none;
}

.annotation-stage canvas {
  position: absolute;
  inset: 50% auto auto 50%;
  display: block;
  max-width: calc(100% - 20px);
  max-height: calc(100% - 20px);
  transform: translate(-50%, -50%);
  image-rendering: auto;
}

#annotationOverlayCanvas { cursor: crosshair; touch-action: none; }
#annotationDiffCanvas { pointer-events: none; opacity: .76; }
#annotationDiffCanvas[hidden] { display: none; }
#annotationMaskCanvas { display: none !important; }
#annotationCanvasEmpty { color: #a9c1c4; font-weight: 700; }

.annotation-window-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 13px 4px 0;
  color: #d8e9e9;
}

.annotation-window-row label > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #d8e9e9;
}
.annotation-window-row label > span b { color: #48d1c4; font-size: 12px; }
.annotation-window-row input { width: 100%; accent-color: #22b2a4; }

.annotation-toolbar {
  display: grid;
  align-content: start;
  gap: 15px;
  padding: 18px;
  border-left: 1px solid #dce7e7;
  background: #fff;
}

.annotation-primary-tools {
  position: sticky;
  top: -12px;
  z-index: 4;
  display: grid;
  gap: 10px;
  margin: -12px -14px 0;
  padding: 13px 14px 12px;
  border-bottom: 1px solid #dce7e7;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 8px 16px rgba(14, 55, 52, .06);
  backdrop-filter: blur(8px);
}
.annotation-primary-tools > label { display: grid; gap: 7px; }
.annotation-brush-control > span { display:flex; align-items:center; justify-content:space-between; }
.annotation-brush-control > span b { color:var(--brand); }
.annotation-brush-inputs { display:grid; grid-template-columns:minmax(90px,1fr) 72px; align-items:center; gap:8px; }
.annotation-brush-inputs input[type="range"] { min-width:0; }
.annotation-brush-number { position:relative; display:block; }
.annotation-brush-number input { width:100%; height:34px; min-height:34px; padding:5px 25px 5px 7px; text-align:center; }
.annotation-brush-number i { position:absolute; top:50%; right:7px; color:var(--muted); font-size:10px; font-style:normal; transform:translateY(-50%); pointer-events:none; }
.annotation-brush-control > small { color:var(--muted); font-size:10px; line-height:1.35; }
.annotation-toolbar-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.annotation-toolbar-heading strong { font-size: 14px; }
.annotation-toolbar-heading small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.annotation-toolbar-section { display: grid; gap: 8px; }
.annotation-support-stack { display: grid; align-content: start; gap: 8px; min-width: 0; }
.annotation-support-stack > small { color: var(--muted); font-size: 11px; line-height: 1.45; }

.annotation-tool-switch,
.annotation-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.annotation-tool-switch { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.annotation-page-active .annotation-tool-switch { grid-template-columns:repeat(5,minmax(0,1fr)); }
.annotation-tool-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; padding-inline: 8px; }
.annotation-tool-switch kbd { padding: 1px 5px; border: 1px solid currentColor; border-radius: 5px; font: 700 10px/1.3 inherit; opacity: .62; }
.annotation-tool-switch button.active { color: #fff; border-color: var(--brand); background: var(--brand); }
.annotation-toolbar input[type="range"] { width: 100%; accent-color: var(--brand); }
.annotation-toolbar > small { color: var(--muted); line-height: 1.55; }
.annotation-shortcuts { padding: 0 2px; text-align: center; }
.annotation-core-actions { padding-bottom: 12px; border-bottom: 1px solid #dce7e7; }

.annotation-label-list,
.annotation-slice-actions {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid #d8e7e6;
  border-radius: 12px;
  background: #f7fbfb;
}
.annotation-label-list { padding: 9px; }

.annotation-label-chip {
  display: grid;
  grid-template-columns: 18px 34px 62px minmax(88px, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.annotation-label-chip input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--brand); }
.annotation-label-chip input[type="color"] { width: 34px; height: 30px; padding: 2px; border-radius: 8px; }
.annotation-label-chip .annotation-label-value { width:62px; height:34px; min-height:34px; padding:5px 6px; text-align:center; }
.annotation-label-chip input[type="text"] { min-width: 0; height: 34px; padding: 6px 8px; font-size: 13px; }
.annotation-label-chip button { min-height: 30px; padding: 4px 8px; }
.annotation-label-chip .annotation-label-delete { color: #a43f37; }
.annotation-slice-actions > small { color: var(--muted); line-height: 1.45; }

.annotation-metrics,
.annotation-finish-box {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #cfe3e1;
  border-radius: 12px;
  background: #f2faf9;
}

.annotation-metrics span { color: var(--muted); font-size: 12px; }
.annotation-metrics strong { color: var(--brand); font-size: 24px; }
.annotation-metrics small,
.annotation-finish-box small { color: var(--muted); line-height: 1.5; }
.annotation-finish-box button { margin-top: 5px; }

@media (max-width: 1050px) {
  .annotation-context-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .annotation-main { grid-template-columns: 1fr; }
  .annotation-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 0; }
  .annotation-finish-box { grid-column: span 2; }
  body.annotation-page-active .annotation-main { grid-template-columns: minmax(0, 1fr) 300px; }
  body.annotation-page-active .annotation-toolbar { width:300px; grid-template-columns:1fr; border-top:0; border-left:1px solid var(--line); }
  body.annotation-page-active .annotation-primary-tools { grid-template-columns:1fr; }
  body.annotation-page-active .annotation-primary-tools .annotation-toolbar-heading,
  body.annotation-page-active #annotationFinishPolygonBtn { grid-column:auto; }
  body.annotation-page-active .annotation-core-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.annotation-page-active .annotation-finish-box { grid-template-columns:1fr; }
  body.annotation-page-active .annotation-finish-box strong,
  body.annotation-page-active .annotation-finish-box small,
  body.annotation-page-active .annotation-finish-box button { grid-column:auto; grid-row:auto; }
  body.annotation-page-active .annotation-finish-box { grid-column:auto; }
}

@media (max-width: 680px) {
  .annotation-head { align-items: flex-start; }
  .annotation-context-row,
  .annotation-window-row,
  .annotation-toolbar { grid-template-columns: 1fr; }
  .annotation-stage { min-height: 58vh; }
  .annotation-finish-box { grid-column: auto; }
  .annotation-action-grid button,
  .annotation-tool-switch button { min-height: 48px; }
  .annotation-queue-summary { align-items: stretch; flex-direction: column; }
  .annotation-queue-summary label { justify-content: space-between; }
  .annotation-review-panel { grid-template-columns: 1fr; }
  .annotation-review-history { grid-column: auto; }
  .annotation-review-actions { flex-wrap: wrap; }
  .annotation-compare-panel { grid-column: auto; align-items: stretch; flex-direction: column; }
  .annotation-compare-metrics { min-width: 0; }
  .annotation-review-note-panel { grid-column: auto; }
  .annotation-assignment-row { grid-template-columns: 1fr; }
  body.annotation-page-active .annotation-head { gap:8px; }
  body.annotation-page-active .annotation-head > div:first-child small { display:none; }
  body.annotation-page-active .annotation-main { grid-template-columns:minmax(0,1fr) 260px; }
  body.annotation-page-active .annotation-toolbar { width:260px; grid-template-columns:1fr; }
  body.annotation-page-active .annotation-context-row { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:34vh; overflow:auto; }
}

.radiomics-inline-fields label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.radiomics-inline-fields label > span {
  white-space: nowrap;
  font-size: 13px;
  font-weight: 800;
}

.radiomics-inline-fields input:not([type="checkbox"]),
.radiomics-inline-fields select {
  width: 180px;
  min-width: 0;
}

.radiomics-inline-fields .radiomics-check {
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fbfdfe;
}

.radiomics-readiness {
  padding: 11px 14px;
  border-left: 3px solid #6b8790;
  background: #f1f6f8;
  color: var(--muted);
  font-size: 13px;
}

.radiomics-readiness.ready { border-left-color: #0ba99d; color: var(--brand); background: #eefaf8; }
.radiomics-readiness.blocked { border-left-color: #c6533c; color: #a74331; background: #fff5f2; }

.radiomics-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 16px;
  border-radius: 12px;
  color: #fff;
  background: #0f3431;
}

.radiomics-submit-row > div { display: grid; gap: 4px; }
.radiomics-submit-row span { color: #bed7d4; font-size: 12px; }

.radiomics-feature-upload {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, .8fr) minmax(210px, .55fr) auto;
  gap: 14px;
  align-items: end;
  padding: 22px;
  border: 1px solid #cfe3e1;
  border-radius: 12px;
  background: #f5fbfa;
}

.radiomics-feature-upload > div { display: grid; gap: 7px; }
.radiomics-feature-upload small { color: var(--muted); line-height: 1.5; }

.radiomics-task-card {
  display: grid;
  grid-template-columns: minmax(260px, auto) minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
}

.radiomics-task-card[hidden] { display: none; }
.radiomics-task-card > div:first-child { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; align-items: center; }
.radiomics-task-card > div:first-child small { grid-column: 2; color: var(--muted); }
.radiomics-progress { overflow: hidden; height: 9px; border-radius: 999px; background: #e3edee; }
.radiomics-progress i { display: block; width: 0; height: 100%; background: #0ba99d; transition: width .25s ease; }

@media (max-width: 1100px) {
  .radiomics-stepbar,
  .deep-learning-stepbar,
  .radiomics-source-grid,
  .radiomics-dimension-switch { grid-template-columns: 1fr 1fr; }
  .radiomics-feature-upload { grid-template-columns: 1fr 1fr; }
  .radiomics-plan-summary, .radiomics-result-intro { grid-template-columns:1fr; }
  .radiomics-feature-family-grid, .radiomics-feature-presets { grid-template-columns:1fr 1fr; }
  .radiomics-mask-methods { grid-template-columns:1fr 1fr; }
  .radiomics-raster-fields { grid-template-columns:1fr 1fr; }
  .radiomics-preview-details { grid-template-columns:1fr; }
  .radiomics-raster-fields > div, .radiomics-raster-fields p { grid-column:1/-1; }
  .radiomics-result-metrics { grid-template-columns:1fr 1fr; }
  .radiomics-provenance-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .radiomics-stepbar,
  .deep-learning-stepbar,
  .radiomics-source-grid,
  .radiomics-dimension-switch,
  .radiomics-upload-grid,
  .radiomics-mask-methods,
  .radiomics-feature-upload { grid-template-columns: 1fr; }
  .radiomics-preview-pair, .radiomics-preview-details dl { grid-template-columns:1fr; }
  .radiomics-preview-stage { grid-template-columns:34px minmax(0,1fr) 34px; gap:5px; }
  .radiomics-preview-arrow { width:32px; height:32px; }
  .radiomics-preview-media { height:min(72vw,360px); }
  .radiomics-preview-actions, .radiomics-case-preview-head { align-items:stretch; flex-direction:column; }
  .radiomics-submit-row { align-items: stretch; flex-direction: column; }
  .radiomics-task-card { grid-template-columns: 1fr; }
  .radiomics-section-title { align-items: flex-start; flex-direction: column; gap: 4px; }
  .imaging-task-grid { grid-template-columns:1fr; }
  .imaging-workspace-head { grid-template-columns:1fr; }
  .imaging-mode-switch { width:100%; }
  .imaging-mode-switch button { flex:1; }
  .radiomics-plan-summary dl, .radiomics-output-map { grid-template-columns:1fr 1fr; }
  .radiomics-step-actions { flex-direction:column-reverse; }
  .radiomics-step-actions button { width:100%; }
  .radiomics-config-mode, .radiomics-region-preview, .radiomics-region-preview-body { align-items:stretch; flex-direction:column; grid-template-columns:1fr; }
  .radiomics-config-mode .segmented button { flex:1; }
  .radiomics-ring-editor-head { display:none; }
  .radiomics-ring-custom-row { grid-template-columns:1fr 1fr auto; }
  .radiomics-ring-custom-row > strong { grid-column:1/-1; }
  .radiomics-feature-composer-head { align-items:flex-start; flex-direction:column; }
  .radiomics-feature-estimate { white-space:normal; }
  .radiomics-feature-family-grid, .radiomics-feature-presets, .radiomics-image-type-grid, .radiomics-feature-technical { grid-template-columns:1fr; }
  .radiomics-raster-fields { grid-template-columns:1fr; }
  .radiomics-raster-fields > div, .radiomics-raster-fields p { grid-column:auto; }
  .radiomics-result-section-head { align-items:flex-start; flex-direction:column; }
  .radiomics-provenance-list { grid-template-columns:1fr; }
}

@media (max-width: 460px) {
  .radiomics-plan-heading { align-items:flex-start;flex-direction:column; }
  .radiomics-plan-summary dl { grid-template-columns:1fr; }
}

.deep-learning-placeholder {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(360px, 1.1fr);
  gap: 18px;
  align-items: center;
  padding: 22px;
  border: 1px solid #cfe3e1;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(17, 106, 108, 0.1), rgba(198, 83, 60, 0.06)),
    #fff;
  box-shadow: var(--shadow-soft);
}

.deep-learning-placeholder p {
  color: var(--muted);
  line-height: 1.7;
}

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

.dl-roadmap span {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,0.72);
  color: var(--ink);
  font-weight: 800;
  text-align: center;
}

.project-ledger-list {
  display: grid;
  gap: 8px;
}

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

.collab-role {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
}

.collab-role strong {
  color: var(--teal);
}

.collab-role p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.repro-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.repro-item {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.repro-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.repro-item strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.template-studio-panel,
.report-draft-panel {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfdff;
}

.template-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
}

.template-token-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.template-token {
  display: inline-grid;
  grid-template-columns: 14px 14px auto auto;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
}

.template-token.active {
  border-color: rgba(15, 118, 110, 0.42);
  background: #e8f7f4;
  color: var(--teal);
}

.template-token span {
  width: 14px;
  height: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 50%;
}

.template-token strong {
  font-size: 12px;
}

.template-token em {
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  color: var(--brand-2);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.report-section-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.report-section-checks label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
}

.report-draft-preview {
  display: grid;
  gap: 8px;
}

.report-draft-preview > strong {
  color: var(--teal);
  font-size: 15px;
}

.report-draft-preview div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 10px;
  align-items: start;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.report-draft-preview span {
  color: var(--ink);
  font-weight: 900;
}

.report-draft-preview p {
  color: var(--muted);
  line-height: 1.55;
}

.ledger-item {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.ledger-item.warning-item {
  border-color: rgba(198, 83, 60, 0.32);
  background: #fffaf7;
}

.file-tree-item {
  border-left: 3px solid var(--accent);
}

.ledger-item strong {
  color: var(--ink);
}

.ledger-item span,
.ledger-item p {
  color: var(--muted);
  font-size: 12px;
}

.ledger-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ledger-links a,
.ledger-links button {
  width: auto;
  padding: 6px 9px;
  font-size: 12px;
}

.dataset-version-card {
  gap: 9px;
  border-left: 4px solid #cbdde1;
  padding: 13px 14px;
}

.dataset-version-card.is-active {
  border-color: #25a99d;
  background: linear-gradient(135deg, #f3fcfa, #fff);
  box-shadow: 0 5px 18px rgba(15, 118, 110, 0.08);
}

.dataset-version-card-head,
.dataset-version-card-head > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.dataset-current-badge,
.dataset-source-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e1f6f2;
  color: #087b70 !important;
  font-size: 11px !important;
  font-weight: 800;
}

.dataset-source-badge {
  background: #eef4f7;
  color: #4c6870 !important;
}

.dataset-lineage-summary {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 8px;
  padding: 7px 9px;
  border-radius: 7px;
  background: #f5f9fa;
}

.dataset-lineage-summary b,
.dataset-derived-variables > b {
  color: #48656c;
  font-size: 12px;
}

.dataset-derived-variables {
  display: grid;
  gap: 6px;
}

.dataset-derived-variables > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.dataset-derived-variables code {
  padding: 3px 7px;
  border: 1px solid #cce7e3;
  border-radius: 6px;
  background: #effaf8;
  color: #087b70;
  font-size: 11px;
}

.dataset-version-actions {
  padding-top: 2px;
}

.dataset-version-actions .danger-text {
  border-color: #f0c7c2;
  color: #b42318;
}

#activeDatasetVersionSelect,
#reportTemplateSelect {
  width: 100%;
  max-width: 100%;
}

.security-checks label {
  min-height: 34px;
  align-items: center;
}

.sensitivity-check-panel {
  margin-top: 12px;
  display: block;
  padding: 16px;
}

.sensitivity-check-panel strong {
  display: block;
  color: var(--ink);
  margin-bottom: 6px;
}

.sensitivity-check-panel.risk-low {
  border-color: rgba(17, 106, 108, 0.22);
  background: rgba(17, 106, 108, 0.07);
}

.sensitivity-check-panel.risk-medium {
  border-color: rgba(196, 138, 44, 0.42);
  background: #fff8e8;
}

.sensitivity-check-panel.risk-high {
  border-color: rgba(198, 83, 60, 0.45);
  background: #fff3ef;
}

.sensitivity-findings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.sensitivity-finding {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.sensitivity-finding p { margin: 4px 0; line-height: 1.5; }
.sensitivity-finding small { display: block; color: var(--muted); line-height: 1.45; }
.sensitivity-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.sensitivity-head > div { display: flex; align-items: center; gap: 10px; }
.sensitivity-head strong { margin: 0; font-size: 16px; }
.risk-badge { padding: 5px 9px; border-radius: 999px; background: rgba(255,255,255,.8); font-size: 12px; font-weight: 800; }
.sensitivity-file { color: var(--muted); overflow-wrap: anywhere; }
.sensitivity-metrics { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.sensitivity-metrics span { min-width: 120px; padding: 9px 12px; border: 1px solid rgba(16,35,38,.1); border-radius: 8px; background: rgba(255,255,255,.72); color: var(--muted); }
.sensitivity-metrics b { margin-right: 5px; color: var(--ink); font-size: 16px; }
.sensitivity-advice { display: grid; gap: 4px; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(16,35,38,.1); }
.sensitivity-advice span { color: var(--muted); line-height: 1.5; }

.inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;
  color: var(--ink);
  font-weight: 700;
}

#sensitivityConfirmWrap {
  width: 100%;
  justify-content: flex-start;
  padding: 11px 14px;
  border: 1px solid #edc5b9;
  border-radius: 8px;
  background: #fff9f6;
}

.project-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: var(--shadow-soft);
  transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

.project-item:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, 0.24);
  box-shadow: 0 14px 26px rgba(15, 23, 42, 0.075);
}

.project-item strong,
.project-item span {
  display: block;
}

.project-item span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
}

.project-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.hidden {
  display: none !important;
}

.project-workspace {
  display: grid;
  gap: 14px;
}

.paper-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

.paper-count-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
  box-shadow: var(--shadow-soft);
}

.paper-count-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.paper-count-card strong {
  font-size: 34px;
  line-height: 1;
  color: var(--brand);
}

.compact-head {
  margin-bottom: 10px;
}

.paper-asset-manager {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.paper-asset-row {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.3fr) auto;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.paper-asset-main,
.paper-asset-text,
.paper-asset-controls {
  display: grid;
  gap: 10px;
}

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

.paper-asset-meta strong,
.paper-asset-meta span,
.paper-asset-meta a {
  display: block;
}

.paper-asset-meta span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
}

.paper-asset-text textarea {
  width: 100%;
  min-height: 82px;
  border: 1px solid #cbd5da;
  border-radius: 6px;
  padding: 10px;
  resize: vertical;
  font-family: inherit;
}

.paper-asset-actions {
  display: flex;
  justify-content: flex-end;
}

.result-paper-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

button.danger {
  background: #fff1f2;
  color: #b42318;
  border: 1px solid #fecdd3;
}

/* Feature-selection result workspace */
.feature-selection-result{
  display:grid;
  gap:0;
  margin-top:14px;
  overflow:hidden;
  border:1px solid #cfe2e4;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(31,75,83,.06);
}
.feature-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #dce8ea;background:linear-gradient(100deg,#edf9f7,#f5f8fc)}
.feature-result-head>div:first-child{display:grid;gap:2px;min-width:0}.feature-result-head strong{font-size:18px}.feature-result-head small{overflow:hidden;color:#657b81;text-overflow:ellipsis;white-space:nowrap}
.feature-result-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.feature-result-body{display:grid;gap:14px;padding:16px}.feature-selection-result.is-collapsed .feature-result-body{display:none}.feature-selection-result.is-collapsed .feature-result-head{border-bottom:0}
.feature-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.feature-result-metrics>div{display:grid;gap:5px;padding:12px 14px;border:1px solid #dce8ea;border-radius:9px;background:#f8fbfb}.feature-result-metrics span{color:#657b81;font-size:12px}.feature-result-metrics strong{color:#087d75;font-size:20px}
.feature-result-section{display:grid;gap:10px;min-width:0}.feature-result-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-result-section-head>span{color:#6a7f85;font-size:12px}.feature-result-chips{display:flex;flex-wrap:wrap;gap:7px;padding:12px;border:1px solid #dce8ea;border-radius:9px;background:#f9fbfc}.feature-result-chips span{padding:5px 9px;border-radius:7px;background:#e5f5f2;color:#0b746d;font-size:12px;font-weight:700}.feature-result-chips em{color:#75878c;font-style:normal}
.feature-result-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-result-figures figure{display:grid;gap:8px;min-width:0;margin:0;padding:10px;border:1px solid #dce8ea;border-radius:10px;background:#fff}.feature-result-figures img{display:block;width:100%;height:280px;object-fit:contain;background:#fbfcfd}.feature-result-figures figcaption{text-align:center;color:#48656c;font-size:13px;font-weight:700}
.feature-result-table{max-width:100%;overflow:auto;border:1px solid #dce8ea;border-radius:9px}.feature-result-table table{width:max-content;min-width:100%}.feature-result-downloads{border:1px solid #dce8ea;border-radius:9px;background:#f9fbfc}.feature-result-downloads summary{cursor:pointer;padding:11px 13px;color:#315c63;font-weight:700}.feature-result-downloads>div{display:flex;flex-wrap:wrap;gap:8px;padding:0 13px 13px}.feature-result-downloads a{padding:6px 9px;border:1px solid #cfe2e4;border-radius:7px;background:#fff;text-decoration:none}
@media(max-width:900px){.feature-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-result-figures{grid-template-columns:1fr}.feature-result-head{align-items:flex-start;flex-direction:column}.feature-result-actions{align-self:stretch;justify-content:flex-end}}

/* Paper asset workbench */
.paper-workbench-head,.paper-workbench-body,.paper-sequence-item,.paper-inspector-title,.paper-inspector-actions,.paper-provenance,.paper-composer{display:flex}
.paper-workbench-head{align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.paper-tabs,.paper-command-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.paper-tab{background:transparent;border:1px solid transparent;color:var(--muted);box-shadow:none;padding:8px 10px}
.paper-tab b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:7px;border-radius:50%;background:#eef3f5;color:var(--muted)}
.paper-tab.active{color:#0f766e;border-color:#b9dfda;background:#edf8f6}
.paper-tab.active b{background:#0f766e;color:#fff}
.paper-workbench-body{align-items:stretch;gap:14px;min-height:360px}
.paper-sequence-panel{flex:0 0 min(42%,560px);display:flex;flex-direction:column;gap:8px;padding-right:4px;max-height:520px;overflow-y:auto}
.paper-sequence-item{align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}
.paper-sequence-item:hover,.paper-sequence-item.selected{border-color:#138b82;background:#edf8f6}
.paper-item-preview{width:82px;height:58px;flex:0 0 82px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:#fff;color:#0f766e;font-weight:800}.paper-item-preview.table{width:126px;height:72px;flex-basis:126px;padding:3px}
.paper-item-preview img{width:100%;height:100%;object-fit:contain}
.paper-table-mini{width:100%;height:100%;overflow:hidden;background:#fff}.paper-table-mini table{width:100%;min-width:0!important;margin:0!important;border-collapse:collapse;table-layout:fixed;font-size:4px;line-height:1.1;color:#28454b}.paper-table-mini th,.paper-table-mini td{max-width:25px;padding:2px!important;overflow:hidden;border:1px solid #dbe7e9;text-align:center!important;text-overflow:ellipsis;white-space:nowrap!important}.paper-table-mini th{background:#eaf3f4;font-weight:800}.paper-table-mini.is-placeholder{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2px;padding:3px}.paper-table-mini.is-placeholder span{border-radius:2px;background:#e9f2f3}.paper-table-mini.is-placeholder span:first-child{grid-column:1/-1;background:#dcebed}
.paper-item-copy{min-width:0;flex:1;display:grid;gap:2px}
.paper-item-copy span,.paper-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.paper-item-copy small,.paper-provenance{color:var(--muted);font-size:12px}
.paper-order-actions{display:grid;gap:4px}.paper-order-actions button{width:30px;height:28px;padding:0}
.paper-item-actions{display:flex;align-items:center;gap:7px}.paper-transfer-button{min-height:32px;padding:6px 9px;white-space:nowrap;font-size:12px}.paper-item-actions .paper-order-actions{flex:0 0 auto}
.paper-inspector{min-width:0;flex:1;border-left:1px solid var(--line);padding-left:16px}
.paper-inspector-title{align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.paper-inspector-title>div{display:grid;gap:2px}.paper-inspector-title span:first-child{color:#0f766e;font-weight:800}
.status-chip{border-radius:4px;padding:4px 7px;background:#e8f6ef;color:#23724e;font-size:12px}.status-chip.stale{background:#fff4da;color:#8a6413}
.paper-provenance{flex-wrap:wrap;gap:7px 14px;padding:8px 0 12px;border-bottom:1px solid var(--line)}
.paper-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px}.paper-editor-grid .wide{grid-column:1/-1}.paper-editor-grid label{display:grid;align-content:start;gap:6px;min-width:0;margin:0}.paper-editor-grid input,.paper-editor-grid select,.paper-editor-grid textarea{width:100%;min-width:0}.paper-editor-grid textarea{min-height:96px;resize:vertical;line-height:1.5}.paper-editor-grid .paper-note-field{grid-column:1/-1;width:100%}.paper-editor-grid .paper-note-field textarea{width:100%;box-sizing:border-box}
.paper-inspector-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.paper-inspector-actions .button{display:inline-flex;align-items:center;text-decoration:none}
.paper-empty{min-height:160px;display:grid;place-content:center;gap:5px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:7px}.paper-empty strong{color:var(--ink)}
.paper-composer{align-items:end;gap:12px;padding:12px;border:1px solid #b9dfda;border-radius:7px;background:#edf8f6}.paper-composer>div:first-child{min-width:180px}.paper-composer p{margin:3px 0 0;color:var(--muted)}
.paper-compose-picks{flex:1;display:flex;flex-wrap:wrap;gap:6px 12px;max-height:76px;overflow-y:auto}.composition-summary{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:10px;border-radius:6px;background:#f3f7f8}
.composition-editor{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#f7fafb}
.composition-editor-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.composition-editor-head label{min-width:180px}
.composition-preview{display:grid;gap:8px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:150px}
.composition-preview.layout-2-column,.composition-preview.layout-2x2{grid-template-columns:repeat(2,minmax(0,1fr))}
.composition-preview.layout-vertical{grid-template-columns:1fr}
.composition-preview.layout-1-plus-2{grid-template-columns:1.45fr 1fr}.composition-preview.layout-1-plus-2 .composition-panel:first-child{grid-row:span 2}
.composition-panel{position:relative;display:grid;place-items:center;min-height:120px;overflow:hidden;border:1px solid #dce7ea;background:#fff}
.composition-panel>b{position:absolute;top:7px;left:7px;z-index:1;display:grid;place-items:center;width:25px;height:25px;background:rgba(255,255,255,.92);border:1px solid var(--line);font-family:Arial,sans-serif}
.composition-panel img{width:100%;height:100%;max-height:230px;object-fit:contain}.composition-panel span{padding:24px;color:var(--muted)}
.composition-child-list{display:grid;gap:5px}.composition-child-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-top:1px solid var(--line)}
.composition-child-list>div>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}.composition-child-list>div>span:first-child b{color:#0f766e}.composition-child-list button{width:30px;height:28px;padding:0;margin-left:4px}
@media(max-width:980px){.paper-workbench-head,.paper-workbench-body,.paper-composer{flex-direction:column;align-items:stretch}.paper-sequence-panel{flex-basis:auto;max-height:320px}.paper-inspector{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.paper-editor-grid{grid-template-columns:1fr}.paper-editor-grid .wide,.paper-editor-grid .paper-note-field{grid-column:auto}}

/* Publication asset editor: navigator, preview and contextual properties. */
.paper-editing-context{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:10px 12px;border:1px solid #cfe2e4;border-radius:9px;background:rgba(249,252,252,.96);box-shadow:0 5px 14px rgba(31,75,83,.05);backdrop-filter:blur(8px)}
.paper-editing-context>div{display:flex;align-items:center;gap:9px;min-width:0}.paper-editing-context>div>span{flex:0 0 auto;color:#0f766e;font-size:12px;font-weight:800}.paper-editing-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-editing-context strong i{padding:0 4px;color:#91a4a9;font-style:normal}.paper-editing-context nav{display:flex;align-items:center;gap:8px;flex:0 0 auto}.paper-editing-context nav span{min-width:42px;text-align:center;color:var(--muted);font-size:12px}.paper-saved-badge,.paper-dirty-badge{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:11px}.paper-saved-badge{background:#e7f5ef;color:#25704e}.paper-dirty-badge{background:#fff2d8;color:#95620b}
.paper-workbench-body.paper-three-column{display:grid;grid-template-columns:minmax(230px,290px) minmax(400px,1fr) minmax(310px,370px);align-items:start;gap:14px;min-height:520px}
.paper-column-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;margin-bottom:8px}.paper-column-heading>div{display:grid;gap:2px}.paper-column-heading span{color:var(--muted);font-size:12px}.paper-column-heading>div>span{line-height:1.35}
.paper-sequence-panel.paper-asset-navigator{display:flex;flex:initial;flex-direction:column;gap:8px;max-height:720px;padding:10px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#f8fbfb;scrollbar-gutter:stable}
.paper-asset-navigator .paper-sequence-item{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:9px;padding:8px}.paper-asset-navigator .paper-item-preview{width:92px;height:66px;flex:none}.paper-asset-navigator .paper-item-preview.table{width:92px;height:66px;padding:3px}.paper-item-copy>div{display:flex;align-items:center;gap:5px;min-width:0}.paper-item-copy>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-item-copy em{flex:0 0 auto;padding:2px 5px;border-radius:999px;background:#dff3ef;color:#087d75;font-size:10px;font-style:normal;font-weight:800}.paper-item-copy em.is-dirty{background:#fff0cf;color:#996411}.paper-asset-navigator .paper-item-actions{grid-column:1/-1;justify-content:space-between;padding-top:6px;border-top:1px solid #e2ecee}.paper-asset-navigator .paper-order-actions{display:flex}.paper-asset-navigator .paper-transfer-button{margin-left:auto}
.paper-preview-stage{min-width:0}.paper-large-preview{display:grid;place-items:center;min-height:410px;max-height:590px;padding:16px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,#f8fbfb,#f1f6f7)}.paper-large-preview>img{display:block;width:100%;height:100%;max-height:550px;object-fit:contain}.paper-large-preview.table{align-items:start;overflow:auto;background:#fff}.paper-table-preview.is-large{width:100%;max-height:550px;overflow:auto}.paper-table-preview.is-large .paper-table-mini{height:auto}.paper-table-preview.is-large .paper-table-mini table{font-size:12px;line-height:1.4;table-layout:auto}.paper-table-preview.is-large .paper-table-mini th,.paper-table-preview.is-large .paper-table-mini td{max-width:none;padding:7px 9px!important}.paper-preview-placeholder{display:grid;place-items:center;gap:5px;color:var(--muted)}.paper-preview-placeholder span{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:#e2f2ef;color:#0f766e;font-size:24px;font-weight:900}
.paper-composition-thumb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;height:100%}.paper-composition-thumb figure{position:relative;display:grid;place-items:center;min-width:0;min-height:0;margin:0;overflow:hidden;background:#fff}.paper-composition-thumb figure b{position:absolute;top:2px;left:3px;z-index:1;color:#0f766e;font-size:8px}.paper-composition-thumb figure img{width:100%;height:100%;object-fit:contain}.paper-composition-thumb.is-large{gap:10px;max-height:550px}.paper-composition-thumb.is-large figure{min-height:180px;border:1px solid #dce7ea}.paper-composition-thumb.is-large figure b{top:8px;left:9px;font-size:18px}
.paper-source-card{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(240px,2fr) auto;align-items:center;gap:12px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.paper-source-card>div:first-child{display:grid;gap:3px}.paper-source-card span,.paper-source-card dt{color:var(--muted);font-size:11px}.paper-source-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.paper-source-card dl div{min-width:0}.paper-source-card dd{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.paper-source-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.paper-edit-boundary-note{margin:10px 0 0;padding:9px 11px;border-left:3px solid #77beb8;background:#f1f8f7;color:#4e6a70;font-size:12px;line-height:1.5}
.paper-inspector.paper-properties-panel{position:sticky;top:58px;display:block;min-width:0;max-height:calc(100vh - 88px);padding:12px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;scrollbar-gutter:stable}.paper-properties-panel .paper-inspector-title{padding-bottom:10px;border-bottom:1px solid var(--line)}.paper-property-group{margin-top:9px;border:1px solid var(--line);border-radius:8px;background:#fafcfc}.paper-property-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;cursor:pointer;font-weight:800;list-style:none}.paper-property-group summary::-webkit-details-marker{display:none}.paper-property-group summary:after{content:'›';color:#789096;transform:rotate(90deg);transition:transform .16s}.paper-property-group:not([open]) summary:after{transform:rotate(0)}.paper-property-group summary small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:500}.paper-property-group .paper-editor-grid{padding:4px 11px 12px}.paper-editor-grid label small{color:var(--muted);font-size:11px;line-height:1.35}.paper-save-zone{display:grid;gap:9px;margin-top:12px;padding:11px;border:1px solid #b9dfda;border-radius:8px;background:#edf8f6}.paper-save-zone>div{display:grid;gap:2px}.paper-save-zone span{color:#557177;font-size:11px}.paper-save-zone button{width:100%}.paper-save-zone button:disabled{box-shadow:none}.paper-properties-panel .paper-inspector-actions{margin-top:10px}.paper-properties-panel .paper-inspector-actions .danger{margin-left:auto}.paper-three-column .inspector-empty{min-height:300px}
@media(max-width:1280px){.paper-workbench-body.paper-three-column{grid-template-columns:minmax(210px,250px) minmax(360px,1fr) minmax(290px,330px)}.paper-source-card{grid-template-columns:1fr}.paper-source-actions{justify-content:flex-start}}
@media(max-width:1080px){.paper-workbench-body.paper-three-column{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.paper-inspector.paper-properties-panel{position:static;grid-column:1/-1;max-height:none;border:1px solid var(--line);padding:12px}.paper-large-preview{min-height:350px}.paper-source-card{grid-template-columns:1fr 1.5fr}.paper-source-actions{grid-column:1/-1}}
@media(max-width:760px){.paper-editing-context{position:static;align-items:flex-start;flex-direction:column}.paper-editing-context>div{align-items:flex-start;flex-wrap:wrap}.paper-editing-context strong{white-space:normal}.paper-editing-context nav{align-self:stretch;justify-content:space-between}.paper-workbench-body.paper-three-column{grid-template-columns:1fr}.paper-sequence-panel.paper-asset-navigator{max-height:280px}.paper-large-preview{min-height:260px;max-height:420px;padding:8px}.paper-source-card{grid-template-columns:1fr}.paper-source-card dl{grid-template-columns:1fr}.paper-source-actions{grid-column:auto}.paper-inspector.paper-properties-panel{grid-column:auto}.paper-editor-grid{grid-template-columns:1fr}.paper-editor-grid .wide,.paper-editor-grid .paper-note-field{grid-column:auto}}

button.danger:hover {
  background: #ffe4e6;
}

.result-browser {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.result-tabs {
  width: max-content;
}

.result-controls {
  display: grid;
  grid-template-columns: minmax(220px, 420px);
  gap: 10px;
}

.result-controls label {
  display: grid;
  gap: 8px;
}

.stacked-tables {
  display: grid;
  gap: 16px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
}

.ml-output-progress { display:grid; gap:10px; padding:14px; border:1px solid #d7e6e8; border-radius:12px; background:#f8fbfb; }
.ml-output-progress-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ml-output-progress-head span { color:#687f84; font-size:12px; }
.ml-output-progress-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; }
.ml-output-item { display:grid; grid-template-columns:10px minmax(0,1fr); align-items:center; column-gap:8px; row-gap:2px; padding:9px 10px; border:1px solid #e0eaec; border-radius:9px; background:#fff; }
.ml-output-item > span:last-child { grid-column:2; color:#6c8186; font-size:12px; overflow-wrap:anywhere; }
.ml-output-dot { width:9px; height:9px; border-radius:50%; background:#aab8bb; }
.ml-output-item.is-running .ml-output-dot { background:#168e86; box-shadow:0 0 0 4px rgba(22,142,134,.13); }
.ml-output-item.is-completed .ml-output-dot { background:#1c9b68; }
.ml-output-item.is-failed { border-color:#f0c9c7; background:#fff8f7; }
.ml-output-item.is-failed .ml-output-dot { background:#d64d45; }
.ml-result-browser, .ml-result-browser #mlTablePreview { min-width:0; max-width:100%; overflow-x:auto; }
.ml-result-browser #mlTablePreview table { width:max-content; min-width:100%; }
.ml-shap-sample-setting { grid-column: 1 / -1; display:grid !important; grid-template-columns:minmax(190px,max-content) 90px; align-items:center; gap:10px; }
.ml-shap-sample-setting input { width:90px; }
.ml-figure-edit-actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:10px; }
.ml-figure-edit-actions > button { flex:1 1 220px; }

.table-preview-block {
  display: grid;
  gap: 8px;
}

.table-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 0;
}

.table-preview-head a {
  color: var(--brand);
  background: #edf6f5;
  border: 1px solid #cfe3e1;
  border-radius: 6px;
  padding: 6px 8px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.block {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  display: grid;
  gap: 10px;
  align-content: start;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  min-width: 0;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.025);
}

.block.action-block {
  justify-content: end;
}

label { font-size: 13px; font-weight: 700; color: #283237; }
label span {
  display: inline-block;
  margin-bottom: 6px;
}
input, select {
  width: 100%;
  border: 1px solid #cfdbe5;
  border-radius: 10px;
  padding: 10px 12px;
  background: white;
  color: var(--text);
}

textarea {
  border: 1px solid #cfdbe5;
  border-radius: 10px;
}

input:focus,
select:focus,
textarea:focus {
  outline: 3px solid rgba(37, 99, 235, 0.12);
  border-color: #2a8bdf;
}

button {
  border: 0;
  background: linear-gradient(135deg, var(--brand), #138a82);
  color: white;
  padding: 10px 15px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.14);
  transition: transform 0.12s ease, filter 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}
button.secondary {
  background: #eef4f8;
  color: #203036;
  box-shadow: none;
  border: 1px solid #dbe5ec;
}
button:hover { filter: brightness(0.99); transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15, 118, 110, 0.18); }
button.secondary:hover { box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06); }
button:disabled { opacity: 0.55; cursor: not-allowed; }

.summary {
  border: 1px solid var(--line);
  background: #effaf8;
  padding: 12px;
  border-radius: 12px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.summary.empty { background: #f8fafc; color: var(--muted); }

.badge {
  background: #e6f6f3;
  color: var(--brand);
  border: 1px solid #bde4df;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.badge.inverse {
  background: var(--brand);
  color: white;
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  max-height: 420px;
  background: white;
  box-shadow: var(--shadow-soft);
}
.table-wrap:empty { display: none; }
table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  background: white;
}
th, td {
  border-bottom: 1px solid var(--line);
  padding: 10px 11px;
  font-size: 13px;
  text-align: left;
  white-space: nowrap;
}
th {
  background: #f0f6fa;
  position: sticky;
  top: 0;
  z-index: 1;
  color: #22343a;
}

.paper-table-tools {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 2px 12px;
}

.paper-table-tools strong {
  font-size: 17px;
}

.paper-table-tools span,
.paper-table-note {
  color: var(--muted);
  font-size: 13px;
}

.paper-table {
  min-width: 860px;
  border-collapse: collapse;
  border-top: 2px solid #111827;
  border-bottom: 2px solid #111827;
  font-family: "Times New Roman", "Microsoft YaHei", serif;
}

.paper-table th {
  position: static;
  background: #fff;
  border-bottom: 1.5px solid #111827;
  color: #111827;
  font-family: "Times New Roman", "Microsoft YaHei", serif;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.paper-table th:first-child,
.paper-table td:first-child {
  text-align: left;
}

.paper-table td {
  border-bottom: 1px dotted #cbd5d9;
  color: #111827;
  font-family: "Times New Roman", "Microsoft YaHei", serif;
  font-size: 15px;
  text-align: center;
}

.paper-variable-row td {
  padding-top: 12px;
  padding-bottom: 4px;
  border-bottom: 0;
  font-weight: 700;
  text-align: left;
}

.paper-value-row td {
  padding-top: 4px;
  padding-bottom: 9px;
}

.paper-category {
  display: inline-block;
  padding-left: 20px;
  font-weight: 400;
}

.paper-table-note {
  padding: 10px 2px 4px;
  line-height: 1.6;
}

.subhead {
  background: #f7fafb;
  border-bottom: 1px solid var(--line);
  padding: 10px;
  font-size: 13px;
  font-weight: 700;
}

.checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.checks.tall { max-height: 260px; overflow: auto; }
.check-bulk-tools {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  grid-column: 1 / -1;
  padding: 6px 0 10px;
  background: var(--surface, #fff);
}
.check-bulk-tools .check-search {
  width: min(280px, 100%);
  min-width: 140px;
}
.check-bulk-tools .check-selection-summary {
  margin-left: auto;
  color: var(--muted, #657786);
  white-space: nowrap;
}
.checks label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  min-width: 0;
}
.checks input { width: auto; }

.check-bulk-tools {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 0 8px;
  border-bottom: 1px solid var(--line);
}

.check-bulk-tools button {
  min-height: 30px;
  padding: 5px 10px;
  font-size: 12px;
}

.check-bulk-tools span {
  margin-left: auto;
  color: var(--muted);
  font-size: 12px;
}

.process-runbar .hint { margin-right: auto; }

.plot-config {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
}

.plot-config-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.1fr) minmax(150px, 1fr) minmax(120px, 0.8fr) 92px 92px 92px minmax(160px, 1.2fr) minmax(140px, 1fr) minmax(140px, 1fr);
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  min-width: 1280px;
}

.plot-config-row label {
  display: grid;
  gap: 8px;
  font-weight: 400;
  min-width: 0;
}

.plot-config-row .plot-var-check,
.plot-config-row .plot-joint-label {
  display: flex;
  align-items: center;
}

.plot-config-row .plot-enabled,
.plot-config-row .plot-joint {
  width: auto;
}

.plot-config-row input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
}

.compare-rows {
  display: grid;
  gap: 10px;
}

.compare-row {
  display: grid;
  grid-template-columns: minmax(190px, .9fr) minmax(190px, .9fr) minmax(360px, 1.5fr) 38px;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.compare-row.duplicate-comparison { border-color: #d98b38; background: #fffaf3; }
.compare-row.duplicate-comparison .compare-recommendation { color: #a85d17; font-weight: 700; }
.group-compare-intro { max-width:900px;line-height:1.55; }
.compare-summary { display:grid;align-self:stretch;align-content:center;gap:3px;min-width:0;padding:7px 12px;border-left:3px solid #7fc5be;border-radius:7px;background:#f3f9f8; }
.compare-summary small { color:#71858b;font-size:10px; }
.compare-summary-title { overflow:hidden;color:#294f56;font-size:12px;text-overflow:ellipsis;white-space:nowrap; }
.compare-recommendation { color:#60787e;font-size:11px;line-height:1.35; }

.compare-row label {
  display: grid;
  gap: 8px;
  font-weight: 400;
}

.compare-inline-decision { grid-column: 1 / -1; display: grid; gap: 0; margin-top: 2px; border-top: 1px solid #e1eaec; }
.compare-diagnostic-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 34px; padding: 7px 4px 0; border: 0; background: transparent; color: #31575e; box-shadow: none; font-size: 12px; }
.compare-diagnostic-toggle:hover { background: transparent; color: #087f77; box-shadow: none; }
.compare-diagnostic-toggle b { color: #087f77; font-size: 12px; }
.compare-diagnostic-body { display: none; padding-top: 8px; }
.compare-inline-decision.expanded .compare-diagnostic-body { display: block; }
.compare-inline-decision .stat-decision-row { width: 100%; }
.compare-inline-decision .stat-decision-card-head { display:none; }
.compare-inline-decision .stat-decision-detail { display:grid; }

#groupComparePanel .group-compare-stage-nav { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 14px; }
#groupComparePanel #groupDecisionWorkflow .stat-workflow-head > div:first-child,
#groupComparePanel #groupDecisionWorkflow .stat-design-help,
#groupComparePanel #groupDecisionWorkflow .stat-collapse-button { display: none; }
#groupComparePanel #groupDecisionWorkflow .stat-decision-workflow { padding: 8px 10px; }
#groupComparePanel #groupDecisionWorkflow .stat-workflow-head { justify-content: flex-start; }
#groupComparePanel[data-group-stage="configure"] #groupDecisionWorkflow .stat-output-settings { display: none; }
#groupComparePanel[data-group-stage="configure"] #groupDecisionWorkflow .stat-workflow-body { display: none; }
#groupComparePanel[data-group-stage="output"] #groupCompareRows { display: none; }
#groupComparePanel[data-group-stage="output"] #groupDecisionWorkflow .stat-workflow-head { justify-content: flex-end; }
#groupComparePanel[data-group-stage="output"] #groupDecisionWorkflow .stat-workflow-body { display: grid; }
#groupComparePanel[data-group-stage="output"] #groupDecisionWorkflow .stat-workflow-actions { display: none; }
#groupComparePanel:not([data-group-stage="configure"]) .tools-row #addGroupCompareRowBtn { display: none; }
#groupComparePanel:not([data-group-stage="output"]) .tools-row #runGroupCompareBtn { display: none; }

.roc-model-rows {
  display: grid;
  gap: 14px;
  width: 100%;
}

.ml-model-rows {
  display: grid;
  gap: 12px;
}

.ml-design-block { display: grid; gap: 16px; }
.ml-design-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ml-design-heading .hint, .ml-card-heading .hint { margin: 4px 0 0; }
.ml-task-strategy { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; padding:16px; border:1px solid #bcd9d7; border-radius:12px; background:linear-gradient(135deg,#f4fbfa 0%,#fbfdfc 68%); }
.ml-task-strategy-head { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ml-task-strategy-head > div { display:grid; gap:3px; }
.ml-task-strategy-head span { color:#527174; font-size:12px; font-weight:700; letter-spacing:.04em; }
.ml-task-strategy-head strong { color:#174f51; font-size:16px; }
.ml-task-strategy > p { grid-column:1/-1; margin:0; color:#5c7275; }
.ml-task-strategy-facts { display:flex; flex-wrap:wrap; gap:7px; align-content:start; }
.ml-task-strategy-facts span { padding:5px 9px; border:1px solid #d1e4e2; border-radius:999px; background:#fff; color:#315f61; font-size:12px; }
.ml-task-strategy-facts { display:grid; gap:7px; align-content:start; }
.ml-task-strategy-fact-row {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(185,214,212,.55);
}
.ml-task-strategy-fact-row:last-child { padding-bottom:0; border-bottom:0; }
.ml-task-strategy-fact-row > strong {
  padding-top:5px;
  color:#517174;
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
}
.ml-task-strategy-fact-row > div {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.ml-task-strategy-fact-row span { display:inline-flex; align-items:center; }
.ml-task-strategy-warnings { grid-column:1/-1; display:grid; gap:6px; }
.ml-task-strategy-warnings p { margin:0; padding:8px 10px; border-left:3px solid #d99038; background:#fff8ec; color:#795524; font-size:12px; }
.ml-task-strategy-warnings p.is-safe { border-color:#4c9a79; background:#f1faf5; color:#356d55; }
.ml-task-strategy.is-loading { opacity:.72; }
.ml-task-strategy #applyMlStrategyBtn { align-self:start; white-space:nowrap; }
.ml-validation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.ml-validation-grid > label { display: grid; gap: 8px; min-width: 0; }
.ml-validation-grid > [hidden] { display: none !important; }
.ml-validation-grid .summary { min-height: 100%; align-content: center; }
.ml-data-output-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.95fr); gap: 14px; align-items: stretch; }
.ml-config-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.ml-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.ml-card-heading .tools-row { flex: 0 0 auto; padding: 0; }
.ml-feature-card #featureChecks { margin-top: 10px; max-height: 230px; overflow: auto; }
.ml-feature-card .ml-card-heading > .tools-row { display: none !important; }
.ml-output-card #mlOutputChecks { margin-top: 12px; }
.ml-output-groups { display: grid; grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); gap: 14px; }
.ml-output-choice-group { padding: 14px; border: 1px solid #dce9e9; border-radius: 10px; background: #fbfdfd; }
.ml-output-choice-group > strong { display: block; margin-bottom: 10px; color: #173b43; }
.ml-output-choice-group > .checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.ml-output-choice-group label { min-height: 34px; align-items: center; }
.ml-output-choice-group > .checks > label { display:flex;flex-wrap:wrap;align-content:center;gap:6px 8px;min-width:0;height:auto;padding:3px 0;line-height:1.35;overflow:visible; }
.ml-output-choice-group > .checks > label > input[type="checkbox"] { position:static!important;flex:0 0 16px;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;margin:0!important;padding:0!important; }
.ml-output-choice-group > .checks > label > .access-badge { position:static!important;flex:0 0 auto;width:max-content;max-width:100%;margin:0 0 0 2px;white-space:nowrap; }
.ml-shap-settings > label > .access-badge { display:none!important; }
.ml-shap-settings { display: grid; grid-template-columns: minmax(155px,.65fr) minmax(155px,.65fr) minmax(360px,1.7fr); gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e0eaea; }
.ml-shap-sample-setting { display: grid !important; grid-template-columns: 1fr; gap: 4px; align-content: start; }
.ml-shap-sample-setting small { min-height: 18px; color: var(--muted); font-size: 11px; }
.ml-shap-sample-setting input,.ml-shap-sample-setting select { width: 100%; min-width: 0; }
.ml-shap-sampling-setting select { min-width: 360px; }
.ml-fixed-feature-card { display: grid; grid-template-columns: minmax(230px,.35fr) minmax(0,1fr); gap: 18px; margin-bottom: 14px; padding: 14px 16px; border: 1px solid #cfe3e1; border-radius: 10px; background: #f4faf9; }
.ml-fixed-feature-card p { margin: 5px 0 0; color: var(--muted); line-height: 1.5; }
.ml-fixed-feature-checks { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 7px 12px; max-height: 132px; overflow: auto; padding: 4px; }
.feature-final-summary { display: grid; gap: 10px; margin-bottom: 14px; padding: 14px 16px; }
.feature-final-summary > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.feature-final-summary dl { display: grid; gap: 7px; margin: 0; }
.feature-final-summary dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; align-items: start; }
.feature-final-summary dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.feature-final-summary dd { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; }
.feature-final-summary dd b { padding: 3px 7px; border-radius: 5px; color: #087d73; background: #dff3ef; font-size: 12px; }
.feature-final-summary dd em { color: var(--muted); font-style: normal; }
.feature-final-summary .is-final { padding-top: 7px; border-top: 1px solid #d7e8e5; }
@media (max-width: 1200px) { .ml-output-groups { grid-template-columns: 1fr; }.ml-fixed-feature-checks { grid-template-columns: repeat(3,minmax(110px,1fr)); } }
@media (max-width: 760px) { .ml-shap-settings,.ml-fixed-feature-card { grid-template-columns: 1fr; }.ml-shap-sampling-setting select { min-width: 0; }.ml-fixed-feature-checks { grid-template-columns: repeat(2,minmax(100px,1fr)); } }
.ml-output-stage { display: grid; gap: 16px; }
.ml-output-stage-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ml-output-stage-heading label { font-size: 16px; }
.ml-output-stage-heading .hint { margin: 5px 0 0; }
.ml-output-stage .ml-output-card { width: 100%; }
.ml-model-only-actions { justify-content: flex-end; }
.ml-execution-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding-top: 2px; }
.ml-execution-footer #runMlBtn { min-width: 190px; }

@media (max-width: 1100px) {
  .ml-validation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ml-data-output-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .ml-validation-grid, .ml-output-card #mlOutputChecks { grid-template-columns: 1fr; }
  .ml-execution-footer { grid-template-columns: 1fr; }
  .ml-execution-footer #runMlBtn { width: 100%; }
}

.roc-model-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.ml-model-row {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.roc-model-main {
  display: grid;
  grid-template-columns: minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(190px, 1.25fr) 74px minmax(100px, 0.55fr) 108px 38px;
  gap: 10px;
  align-items: center;
}

.roc-model-index { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--surface); color: var(--accent); font-weight: 800; }
.roc-feature-picker { position: relative; min-width: 0; }
.roc-feature-picker > summary { display: grid; gap: 6px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; list-style: none; }
.roc-feature-picker > summary::-webkit-details-marker { display: none; }
.roc-feature-picker > summary span { font-size: 12px; color: var(--muted); }
.roc-feature-picker > summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roc-feature-popover { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; width: min(520px, 70vw); padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 14px 36px rgba(18, 53, 62, 0.16); }
.roc-feature-toolbar { display: flex; gap: 8px; margin-bottom: 8px; }
.roc-feature-toolbar button { min-height: 32px; padding: 5px 10px; }

/* ROC is a complete analysis workspace, not one half of the design grid. */
#rocPanel {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

#rocPanel.active {
  display: block;
}

#rocPanel > .roc-task-block {
  width: 100%;
  gap: 16px;
}

/* Keep the ROC builder as one full-width flow. Generic .block rules elsewhere
   may turn blocks into two columns, which leaves an unusable blank half. */
#rocPanel.analysis-config-panel.active {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

#rocPanel > .roc-task-block {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  align-items: stretch !important;
}

#rocPanel > .roc-task-block > .roc-analysis-flow,
#rocPanel > .roc-task-block > .roc-stage-panel {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

#rocPanel .roc-task-heading {
  grid-area: auto;
  width: 100%;
}

#rocPanel .roc-model-rows {
  grid-area: auto;
  width: 100%;
  min-width: 0;
}

#rocPanel .roc-task-actions {
  grid-area: auto;
  width: 100%;
  margin: 0;
  justify-content: flex-end;
}

#rocPanel .roc-model-main {
  grid-template-columns:
    minmax(160px, 1fr)
    minmax(160px, 1fr)
    minmax(160px, 1fr)
    84px
    minmax(120px, .72fr)
    112px
    42px;
  align-items: end;
}

#rocPanel .roc-model-main > label,
#rocPanel .roc-model-main > .roc-feature-picker {
  min-width: 0;
  width: 100%;
}

#rocPanel .roc-model-main input:not([type="checkbox"]):not([type="color"]),
#rocPanel .roc-model-main select,
#rocPanel .roc-feature-picker > summary {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}

/* Compact inline summaries inside every ROC model row. */
#rocPanel .roc-feature-picker > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-inline: 14px;
  height: 54px;
}

#rocPanel .roc-feature-picker > summary span,
#rocPanel .roc-feature-picker > summary strong {
  display: inline-block;
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
}

#rocPanel .roc-feature-picker > summary strong {
  flex: 0 0 auto;
}

#rocPanel .roc-model-main > .editor-toggle {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 54px;
  margin: 0;
  padding: 0 6px;
  white-space: nowrap;
  cursor: pointer;
}

/* renderChecksInto already supplies its own selection toolbar. */
#rocPanel .roc-feature-popover > .roc-feature-toolbar {
  display: none !important;
}

#rocPanel .roc-model-main > label:not(.editor-toggle) {
  display: grid;
  align-content: end;
  gap: 8px;
}

#rocPanel .roc-model-main > label:not(.editor-toggle) > span {
  min-height: 18px;
  line-height: 18px;
}

#rocPanel .roc-model-main > .editor-toggle .roc-model-display {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 16px;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 1280px) {
  #rocPanel .roc-model-main {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }
}

/* Descriptive analysis follows a top-to-bottom configuration flow. */
#describeDesignPanel {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

#describeDesignPanel.active {
  display: grid;
  gap: 14px;
}

.descriptive-source-variable-list { display:none!important; }
.descriptive-defaults-bar { display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,360px) minmax(190px,260px);align-items:end;gap:14px;padding:14px 16px;background:linear-gradient(110deg,#f3faf8,#f5f8ff); }
.descriptive-defaults-copy { display:grid;align-self:center;gap:3px; }
.descriptive-defaults-copy strong { color:#244b52;font-size:15px; }
.descriptive-defaults-copy span { color:#6b8086;font-size:11px; }
.descriptive-defaults-bar > label { display:grid;gap:5px;min-width:0; }
.descriptive-defaults-bar > label > span { color:#536d73;font-size:11px;font-weight:700; }
.descriptive-defaults-bar select { width:100%;min-width:0; }

.descriptive-action-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(110deg, #f7fbfa, #f5f8ff);
}

.descriptive-plot-block {
  grid-column: 1 / -1;
}

.descriptive-variable-heading { display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:10px; }
.descriptive-variable-heading .hint { margin:5px 0 0; }

.descriptive-group-mode {
  width: min(300px, 100%);
}

.describe-plot-rows {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  max-height:min(56vh,560px);
  overflow:auto;
  padding:2px 4px 4px 2px;
}

.describe-plot-row {
  display:block;
  min-width:0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.describe-plot-row.excluded { border-style:dashed;background:#f6f9f9; }
.describe-plot-row.excluded .describe-card-head > :not(.describe-card-include):not(.describe-config-button) { opacity:.48; }
.describe-plot-row.config-open { border-color:#4fb4aa;box-shadow:0 0 0 2px rgba(79,180,170,.12); }
.describe-card-head { display:grid;grid-template-columns:auto minmax(70px,.7fr) minmax(105px,1fr) auto auto auto;align-items:center;gap:7px;min-height:72px;padding:8px 9px; }
.describe-card-include { display:grid;justify-items:center;gap:2px;margin:0;color:#527077;font-size:9px;line-height:1;cursor:pointer; }
.describe-card-include input { width:15px;height:15px;margin:0;accent-color:#0b8d82; }

.describe-plot-variable {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.describe-plot-variable strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.describe-plot-variable small {
  color: var(--muted);
  font-weight: 500;
}
.describe-card-summary { display:grid;gap:3px;min-width:0; }
.describe-card-summary small { overflow:hidden;color:#526e74;font-size:10px;text-overflow:ellipsis;white-space:nowrap; }
.describe-card-group { padding:3px 6px;border-radius:999px;background:#edf5f4;color:#527077;font-size:9px;white-space:nowrap; }
.describe-custom-badge { padding:3px 6px;border-radius:999px;background:#fff2cf;color:#9a6800;font-size:9px;font-style:normal;white-space:nowrap; }
.describe-config-button { min-height:28px;padding:4px 7px;border:0;border-radius:7px;background:#edf5f5;color:#087d74;font-size:10px;box-shadow:none; }
.descriptive-variable-toolbar { display:grid;grid-template-columns:auto minmax(180px,280px) minmax(145px,210px) auto;align-items:end;justify-content:start;gap:8px;margin-bottom:10px;padding:10px 12px;border:1px solid #d8e7e8;border-radius:10px;background:#f8fbfb; }
.descriptive-variable-toolbar > strong { align-self:center;color:#28535a;white-space:nowrap; }
.descriptive-variable-toolbar > label { display:grid;gap:4px;min-width:0; }
.descriptive-variable-toolbar > label > span { color:#667e83;font-size:10px; }
.descriptive-variable-toolbar input,.descriptive-variable-toolbar select { min-height:36px;padding:6px 9px; }
.descriptive-selection-actions { display:flex;gap:6px; }
.descriptive-selection-actions button { min-height:36px;padding:6px 10px;white-space:nowrap; }
.describe-card-config { display:none; }
.describe-plot-row.config-open .describe-card-config { position:fixed;z-index:2610;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:calc(100vh - 24px);overflow:auto;padding:14px;border:1px solid #bcdcd8;border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(20,64,69,.22); }
.describe-config-head { display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid #e1ebec; }
.describe-config-head > div { display:grid;gap:2px; }
.describe-config-head strong { color:#173d44;font-size:16px; }
.describe-config-head span { color:#698087;font-size:11px; }
.describe-config-close { width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:9px;background:#eef5f5;color:#31575e;font-size:18px;line-height:1;box-shadow:none; }
.describe-card-config > label { display:grid;gap:5px;min-width:0; }
.describe-card-config > label > span { color:#45636a;font-size:11px;font-weight:750; }
.describe-card-config > label:nth-of-type(3) { grid-column:1/-1; }
.describe-config-reason { grid-column:1/-1;margin:0;padding:9px 11px;border-radius:8px;background:#f2f8f7;color:#587177;font-size:11px;line-height:1.45; }

.descriptive-action-bar .hint {
  margin: 0;
}

.descriptive-action-bar button {
  flex: 0 0 auto;
  min-width: 210px;
}

@media (max-width: 1600px) { .describe-plot-rows { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 1100px) { .descriptive-defaults-bar{grid-template-columns:1fr 1fr}.descriptive-defaults-copy{grid-column:1/-1}.describe-plot-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.descriptive-variable-toolbar{grid-template-columns:1fr 1fr}.descriptive-variable-toolbar>strong{grid-column:1/-1} }
@media (max-width: 720px) {
  .descriptive-defaults-bar { grid-template-columns:1fr; }
  .descriptive-defaults-copy { grid-column:auto; }
  .descriptive-variable-toolbar { grid-template-columns:1fr; }
  .descriptive-variable-toolbar > strong { grid-column:auto; }
  .descriptive-selection-actions { display:grid;grid-template-columns:repeat(3,1fr); }
  .descriptive-selection-actions button { width:100%; }
  .describe-plot-rows {
    grid-template-columns: 1fr;
    max-height:none;
  }
  .describe-card-head { grid-template-columns:auto minmax(80px,1fr) auto; }
  .describe-card-summary { grid-column:2/-1; }
  .describe-card-group,.describe-custom-badge { grid-row:3; }
  .describe-config-button { grid-column:3;grid-row:1; }
  .describe-card-include { grid-row:1/3; }
  .describe-plot-row.config-open .describe-card-config[data-placement="sheet"] { left:8px!important;right:8px;top:auto!important;bottom:8px;width:auto!important;grid-template-columns:1fr;max-height:min(78vh,620px);border-radius:16px; }
  .describe-card-config > label:nth-of-type(3) { grid-column:1; }
  .descriptive-action-bar {
    align-items: stretch;
    flex-direction: column;
  }
  .descriptive-action-bar button {
    width: 100%;
  }
}

/* Final ROC layout contract: keep the three main fields equally wide and
   prevent generic model-label rules from stacking checkbox text. */
#rocPanel .roc-model-main {
  grid-template-columns:
    repeat(3, minmax(0, 1fr))
    84px
    minmax(120px, .72fr)
    112px
    42px !important;
}

#rocPanel .roc-model-feature-checks > label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 9px !important;
  min-height: 36px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #fff;
  line-height: 1.2;
  cursor: pointer;
}

#rocPanel .roc-model-feature-checks > label:hover {
  border-color: var(--line);
  background: #f7fbfb;
}

#rocPanel .roc-model-feature-checks > label > input[type="checkbox"] {
  position: static !important;
  flex: 0 0 16px;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  opacity: 1 !important;
}

#rocPanel .roc-model-feature-checks > label > span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  #rocPanel .roc-model-main {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #rocPanel .roc-model-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Unified visualization editor: compact actions and collapsed sections. */
#statisticsUnifiedVisualizationEditor .viz-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin-bottom: 12px;
}

#statisticsUnifiedVisualizationEditor .viz-editor-history,
#statisticsUnifiedVisualizationEditor .viz-editor-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

#statisticsUnifiedVisualizationEditor .viz-editor-toolbar button {
  width: auto;
  min-width: 64px;
  min-height: 38px;
  padding: 8px 13px;
  margin: 0;
  border-radius: 9px;
  white-space: nowrap;
}

#statisticsUnifiedVisualizationEditor .viz-editor-toolbar .primary {
  min-width: 76px;
  margin-left: 0;
}

#statisticsUnifiedVisualizationEditor .viz-editor-section:not([open]) > summary {
  border-radius: 11px;
}

#statisticsUnifiedVisualizationEditor .viz-editor-section > summary > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#statisticsUnifiedVisualizationEditor .viz-editor-section > summary {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#statisticsUnifiedVisualizationEditor .viz-editor-section > summary > button[data-viz-reset] {
  flex: 0 0 auto;
  width: auto;
  min-width: 72px;
  min-height: 32px;
  margin: 0 0 0 auto;
  padding: 6px 11px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

#statisticsUnifiedVisualizationEditor .viz-toggle {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin: 0;
  line-height: 1.35;
  cursor: pointer;
}

#statisticsUnifiedVisualizationEditor .viz-toggle > input[type="checkbox"] {
  order: 0;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin: 0;
  padding: 0;
}

#statisticsUnifiedVisualizationEditor .viz-toggle > span {
  order: 1;
  min-width: 0;
  margin: 0;
  white-space: normal;
}

@media (max-width: 680px) {
  #statisticsUnifiedVisualizationEditor .viz-editor-toolbar,
  #statisticsUnifiedVisualizationEditor .viz-editor-actions {
    width: 100%;
  }
  #statisticsUnifiedVisualizationEditor .viz-editor-actions {
    justify-content: flex-end;
  }
}

.roc-task-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.roc-task-heading label {
  font-size: 16px;
}

.roc-task-heading .hint {
  margin: 5px 0 0;
}

.roc-model-row > div:last-child {
  min-width: 0;
}

.roc-model-feature-checks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 18px;
  max-height: 210px;
  overflow: auto;
  padding: 12px;
  border-radius: 10px;
  background: var(--surface);
}

.roc-model-feature-checks label {
  min-width: 0;
}

.roc-task-actions {
  justify-content: flex-end;
  padding-top: 2px;
}

@media (max-width: 1180px) {
  .roc-model-main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .roc-model-main .editor-toggle,
  .roc-model-main .roc-remove-model {
    align-self: end;
  }
  .roc-model-feature-checks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .roc-model-row { grid-template-columns: 1fr; }
  .roc-model-index { display: none; }
  .roc-model-main,
  .roc-model-feature-checks {
    grid-template-columns: 1fr;
  }
  .roc-task-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .roc-task-actions button {
    width: 100%;
  }
}

.ml-model-main {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 0.9fr) max-content 38px;
  gap: 10px;
  align-items: end;
}
.ml-model-shap-choice { display:flex !important; align-items:center; gap:7px; min-height:40px; padding:0 8px; white-space:nowrap; font-weight:600 !important; }

.roc-model-main label {
  display: grid;
  gap: 8px;
  font-weight: 400;
}

.ml-model-main label,
.ml-model-row > label {
  display: grid;
  gap: 8px;
  font-weight: 400;
}

.roc-model-main input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
}

.ml-model-main input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
}

.ml-param-controls,
.ml-param-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 12px;
  width: 100%;
}

.ml-param-controls label,
.ml-param-inline label {
  display: grid;
  gap: 6px;
  flex: 0 1 280px;
  min-width: 230px;
  max-width: 320px;
  font-weight: 400;
}

.ml-param-inline .parameter-title {
  justify-content: flex-start;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.ml-param-inline .parameter-title em {
  flex: 0 0 auto;
  max-width: none;
  white-space: nowrap;
  overflow-wrap: normal;
  text-align: left;
}

.ml-param-controls input,
.ml-param-controls select,
.ml-param-inline input,
.ml-param-inline select {
  width: 100%;
  min-width: 0;
  padding: 8px 9px;
}

.row-label {
  margin-bottom: 8px;
  font-weight: 700;
}

.compare-recommendation {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  padding-bottom: 9px;
}

.icon-button {
  width: 38px;
  height: 38px;
  padding: 0;
  background: #e7edef;
  color: #203036;
}

.tools-row, .runbar {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* Compact action rhythm: keep related controls together on desktop and only
   wrap when the available width genuinely requires it. */
.tools-row,
.runbar,
.section-inline-head > div:last-child,
.variable-picker-actions,
.feature-result-actions,
.paper-command-bar,
.paper-inspector-actions,
.project-actions,
.viz-editor-actions,
.roc-task-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.tools-row > button,
.tools-row > a,
.runbar > button,
.runbar > a,
.section-inline-head > div:last-child > button,
.variable-picker-actions > button,
.feature-result-actions > button,
.paper-command-bar > button,
.paper-inspector-actions > button,
.project-actions > button,
.viz-editor-actions > button,
.roc-task-actions > button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.block > .tools-row:last-child,
.ml-model-only-actions,
.feature-result-actions,
.viz-editor-actions,
.roc-task-actions {
  justify-content: flex-end;
}

@media (max-width: 760px) {
  .tools-row,
  .runbar,
  .section-inline-head > div:last-child,
  .variable-picker-actions,
  .feature-result-actions,
  .paper-command-bar,
  .paper-inspector-actions,
  .project-actions,
  .viz-editor-actions,
  .roc-task-actions {
    flex-wrap: wrap;
  }
}

.roc-figure-controls {
  display: grid;
  gap: 12px;
}

.roc-curve-models {
  display: grid;
  gap: 10px;
}

.roc-curve-model-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 90px minmax(120px, 0.6fr);
  gap: 12px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.roc-curve-model-row label {
  display: grid;
  gap: 8px;
  font-weight: 400;
}

.roc-curve-model-row input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
}

.roc-curve-model-row .editor-toggle {
  display: flex;
  align-items: center;
}

.roc-curve-model-row .editor-toggle input {
  width: auto;
}

.runbar {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.toggle {
  margin-right: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
}
.toggle input { width: auto; }

.links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.links a {
  color: var(--brand);
  background: #edf6f5;
  border: 1px solid #cfe3e1;
  border-radius: 6px;
  padding: 8px 10px;
  text-decoration: none;
  font-size: 13px;
}

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

#figurePreview {
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}

.figure-browser {
  display: grid;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  grid-template-columns: minmax(460px, 36%) minmax(0, 1fr);
  grid-template-areas:
    "selector selector"
    "figures editor"
    "figures download";
  gap: 18px;
  align-items: start;
}

.figure-browser > label {
  grid-area: selector;
  max-width: 320px;
  display: grid;
  gap: 8px;
}

.figure-browser > .figure-grid {
  grid-area: figures;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  min-width: 0;
}

.figure-editor {
  grid-area: editor;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px 12px;
  align-items: end;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  box-sizing: border-box;
  max-height: none;
  overflow: visible;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}

.figure-editor label {
  display: grid;
  gap: 8px;
  font-weight: 400;
}

.figure-editor input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
}

.ml-figure-browser {
  display: grid !important;
  grid-template-columns: minmax(520px, 42%) minmax(520px, 1fr);
  gap: 18px;
  align-items: start;
  width: 100%;
  min-width: 0;
}

.ml-figure-stage {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.ml-figure-stage h3 {
  margin: 0 0 10px;
  text-align: center;
  letter-spacing: 0;
}

.ml-figure-frame {
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  min-height: 360px;
}

.ml-figure-frame img {
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: contain;
}

.ml-figure-editor.figure-editor {
  grid-area: auto !important;
  grid-column: 2;
  grid-row: 1;
  justify-self: stretch;
  align-self: start;
  width: 100%;
  max-width: none;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.ml-figure-editor.figure-editor button {
  min-height: 40px;
}

.ml-model-picker {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.ml-model-picker strong {
  margin-right: 4px;
}

.ml-model-picker .editor-toggle {
  padding-bottom: 0;
}

@media (max-width: 1280px) {
  .ml-figure-browser {
    grid-template-columns: 1fr;
  }

  .ml-figure-stage,
  .ml-figure-editor.figure-editor {
    grid-column: 1;
    grid-row: auto;
  }
}

.figure-editor .editor-toggle {
  display: flex;
  align-items: center;
  padding-bottom: 9px;
}

.figure-editor .editor-toggle input {
  width: auto;
}

.figure-editor button {
  width: 100%;
  min-height: 38px;
}

.download-menu {
  grid-area: download;
  position: relative;
  width: 100%;
  justify-self: stretch;
}

.download-options {
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 3;
  min-width: 260px;
  max-width: 520px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.download-options.open {
  display: grid;
  gap: 10px;
}

.download-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.download-group strong {
  flex-basis: 100%;
  font-size: 12px;
  color: var(--muted);
}

.download-group button {
  padding: 6px 8px;
  background: #edf6f5;
  color: var(--brand);
  border: 1px solid #cfe3e1;
}

.figure-grid img {
  width: 100%;
  height: auto;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.figure-grid svg.interactive-result-svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 760px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.interactive-result-svg .viz-svg-editable {
  cursor: pointer;
  transition: filter .14s ease, opacity .14s ease;
}

.interactive-result-svg .viz-svg-editable:hover {
  filter: drop-shadow(0 0 2px rgba(0, 128, 120, .9));
}

.figure-browser > .figure-grid > div {
  max-width: 100%;
}

.figure-downloads {
  display: none;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.figure-downloads a {
  color: var(--brand);
  border: 1px solid #cfe3e1;
  background: #edf6f5;
  border-radius: 6px;
  padding: 6px 8px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  background: #102326;
  color: white;
  padding: 12px 14px;
  border-radius: 8px;
  box-shadow: var(--shadow);
  transform: translateY(80px);
  opacity: 0;
  transition: 0.2s ease;
  max-width: 420px;
}
.toast.show { transform: translateY(0); opacity: 1; }

.modal-backdrop {
  position: fixed;
  inset: 0;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(16, 35, 38, 0.46);
  z-index: 50;
}

.modal-backdrop.open {
  display: grid;
}

.modal {
  width: min(460px, 100%);
  display: grid;
  gap: 16px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(16, 35, 38, 0.22);
}

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

.result-delete-dialog {
  width: min(480px, calc(100vw - 32px));
  gap: 14px;
  padding: 22px;
  border-radius: 16px;
}

.result-delete-heading h3 {
  margin: 4px 0 6px;
  font-size: 20px;
}

.result-delete-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.result-delete-summary {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  background: #f7fafb;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.result-delete-summary span,
.result-delete-summary small {
  color: var(--muted);
}

.result-delete-summary strong {
  font-size: 16px;
  overflow-wrap: anywhere;
}

.result-delete-warning {
  margin: 0;
  padding: 10px 12px;
  color: #9b3c36;
  background: #fff5f3;
  border-left: 3px solid #d9655d;
  border-radius: 8px;
  font-size: 13px;
}

.result-delete-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.result-delete-actions button {
  min-width: 92px;
}

.result-delete-confirm {
  color: #fff;
  background: #b94840;
  border-color: #b94840;
}

.result-delete-confirm:hover {
  background: #9f3933;
  border-color: #9f3933;
}

.paper-placement-dialog {
  width: min(560px, calc(100vw - 32px));
  padding: 22px;
  border-radius: 16px;
}

.paper-placement-dialog .modal-head h3 {
  margin: 4px 0 6px;
}

.paper-placement-dialog .modal-head p {
  margin: 0;
  color: var(--muted, #678087);
  line-height: 1.55;
}

.feature-history-dialog {
  width: min(780px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 48px));
  overflow: hidden;
  padding: 22px;
  border-radius: 16px;
}
.feature-history-dialog .modal-head h3 { margin: 4px 0 5px; }
.feature-history-dialog .modal-head p { margin: 0; color: var(--muted); }
.feature-history-list { display: grid; gap: 10px; max-height: 500px; overflow: auto; padding: 2px; }
.feature-history-item { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
.feature-history-item:has(input:checked) { border-color: #148b82; background: #f0faf8; box-shadow: 0 0 0 2px rgba(20,139,130,.08); }
.feature-history-item.is-incompatible { opacity: .62; cursor: not-allowed; }
.feature-history-main { display: grid; gap: 5px; min-width: 0; }
.feature-history-main > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.feature-history-main small { color: var(--muted); line-height: 1.45; }
.feature-history-main em { color: #9a6411; font-size: 12px; font-style: normal; }
.feature-compatibility-badge { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; color: #087d73; background: #dff4ef; font-size: 11px; }
.is-compatible .feature-compatibility-badge { color: #73560b; background: #fff0c4; }
.is-partial .feature-compatibility-badge { color: #9a4f19; background: #ffead8; }
.is-incompatible .feature-compatibility-badge { color: #9b3c36; background: #fde5e2; }
.feature-history-partial-confirm { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 8px; background: #fff7e7; color: #775b1c; }
.feature-history-actions { display: flex; justify-content: flex-end; gap: 10px; }
.feature-selection-history-applied { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid #b9dfda; border-radius: 10px; background: #eff9f7; }
.feature-selection-history-applied span,.feature-selection-history-applied small { color: var(--muted); }
@media (max-width: 640px) { .feature-history-main > span { align-items: flex-start; flex-direction: column; } }

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

.paper-placement-option {
  position: relative;
  display: block;
  cursor: pointer;
}

.paper-placement-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.paper-placement-option > span {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 16px;
  border: 1px solid #d7e5e8;
  border-radius: 12px;
  background: #f9fbfc;
}

.paper-placement-option strong {
  font-size: 17px;
}

.paper-placement-option small {
  color: var(--muted, #678087);
  line-height: 1.5;
}

.paper-placement-option input:checked + span {
  border-color: #168d83;
  background: #edf8f6;
  box-shadow: inset 0 0 0 1px #168d83;
}

.paper-placement-option input:focus-visible + span {
  outline: 2px solid #168d83;
  outline-offset: 3px;
}

.paper-placement-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 640px) {
  .paper-placement-options { grid-template-columns: 1fr; }
  .paper-item-actions { align-items: flex-end; flex-direction: column; }
}

.auth-form {
  display: grid;
  gap: 12px;
}

.auth-form label {
  display: grid;
  gap: 7px;
}

.auth-form .inline-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.auth-text-button {
  justify-self: end;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--teal);
  box-shadow: none;
}

/* Product-level interaction polish */
.panel > .section-head:first-child {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(217, 225, 229, 0.7);
}

#resultLinks:not(:empty),
#qcLinks:not(:empty),
#reportExportLinks:not(:empty) {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfc;
}

.figure-browser,
.ml-figure-browser {
  border-top: 1px solid rgba(217, 225, 229, 0.8);
  padding-top: 14px;
}

.figure-browser {
  grid-template-columns: minmax(560px, 52%) minmax(440px, 1fr);
}

.figure-browser > .figure-grid > div,
.ml-figure-frame {
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.figure-editor {
  position: sticky;
  top: 14px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
}

.figure-editor::before {
  content: "图像元素编辑";
  grid-column: 1 / -1;
  color: var(--ink);
  font-weight: 900;
  font-size: 14px;
}

.ml-figure-editor.figure-editor::before {
  content: "模型图像元素编辑";
}

.download-menu > button {
  min-width: 120px;
}

.result-paper-actions {
  padding: 10px;
  border: 1px dashed #bfd3d6;
  border-radius: 10px;
  background: #f8fbfb;
}

.studio-start-panel,
.step-hint-strip,
.three-step-guide,
.ml-experiment-guide,
.result-action-rail,
.copilot-coach {
  display: grid;
  gap: 12px;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid #d5e5e7;
  border-radius: 14px;
  background: linear-gradient(135deg, #ffffff 0%, #f5fbfb 100%);
  box-shadow: var(--shadow-soft);
}

.studio-start-panel {
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
}

.studio-start-panel h3,
.copilot-coach strong {
  font-size: 18px;
  color: var(--ink);
}

.studio-start-panel p,
.ml-experiment-guide p,
.copilot-coach p {
  margin-top: 6px;
  color: var(--muted);
}

.studio-start-actions,
.copilot-coach-actions,
.result-action-rail {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}

.step-hint-strip,
.three-step-guide,
.ml-experiment-guide {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.step-hint-strip button,
.three-step-guide > div,
.ml-experiment-guide > div {
  text-align: left;
  padding: 12px;
  border: 1px solid #dce9ec;
  border-radius: 12px;
  background: #fff;
}

.three-step-guide{counter-reset:stats-guide}
.three-step-guide>div{counter-increment:stats-guide;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center}
.three-step-guide>div:before{content:counter(stats-guide,decimal-leading-zero);grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e5f5f2;color:#0f766e;font-size:11px;font-weight:900}
.three-step-guide>div strong,.three-step-guide>div span{grid-column:2;margin:0}
.three-step-guide>div strong{font-size:13px}.three-step-guide>div span{font-size:11px;font-weight:600}

.three-step-guide strong,
.ml-experiment-guide strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.nav-subroute span::before {
  content: "↳ ";
  color: #9bd8d4;
}

.data-asset-board {
  display: grid;
  grid-template-columns: minmax(320px, 1.25fr) minmax(260px, 0.9fr) minmax(300px, 1fr);
  gap: 14px;
  margin: 14px 0 16px;
}

.data-asset-card {
  border: 1px solid #d7e7ea;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  min-height: 138px;
}

.data-asset-card.primary {
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.1), rgba(37, 99, 235, 0.08));
  border-color: rgba(15, 118, 110, 0.25);
}

.data-asset-card span {
  display: inline-flex;
  color: #08736c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.data-asset-card strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 18px;
}

.data-asset-card p {
  margin: 8px 0 0;
  color: var(--muted);
}

/* State-driven data intake */
.upload-flow-modal{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:22px}
.upload-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}
.upload-flow-steps span{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:#f7fafb;font-weight:700}
.upload-flow-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e6eef0;color:#547078}
.upload-flow-steps span.active{border-color:#9fd5cf;background:#eef9f7;color:#0f766e}
.upload-flow-steps span.complete b,.upload-flow-steps span.active b{background:#0f8279;color:#fff}
.upload-purpose-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.upload-purpose-picker button{display:grid;gap:4px;text-align:left;min-height:74px;padding:14px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.upload-purpose-picker button span{font-weight:500;color:var(--muted)}
.upload-purpose-picker button.active{border-color:#62bdb4;background:#eef9f7;box-shadow:0 0 0 2px rgba(15,130,121,.08)}
.upload-flow-control-grid{grid-template-columns:minmax(170px,.65fr) minmax(320px,1.4fr) auto!important;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fbfc}
.upload-flow-safety{margin-top:12px}
.upload-flow-legal{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fafcfc}
.upload-flow-legal summary{cursor:pointer;font-weight:800;color:#36535a}
.upload-flow-legal .upload-legal-note{margin-top:10px}

/* The controls remain in the DOM for compatibility, but dictionary editing lives in Data. */
.dictionary-compatibility-host{display:none!important}
.stats-step-tabs{display:none}
.stats-dictionary-status{margin-left:auto;display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:1px solid #d6e8e6;border-radius:7px;background:#f5fbfa;color:var(--ink);box-shadow:none;text-align:left}
.stats-dictionary-status:hover{border-color:#8fcac4;background:#eef9f7;transform:none}
.stats-dictionary-status>span:nth-child(2){display:grid;gap:1px}
.stats-dictionary-status strong{font-size:12px;line-height:1.15}
.stats-dictionary-status small{color:var(--muted);font-size:10px;line-height:1.15;white-space:nowrap}
.stats-dictionary-dot{width:8px;height:8px;border-radius:50%;background:#20a379;box-shadow:0 0 0 4px rgba(32,163,121,.1)}
.stats-dictionary-open{padding-left:7px;border-left:1px solid #d6e8e6;color:#0f766e;font-size:11px;font-weight:800}
.stats-dictionary-status.needs-attention .stats-dictionary-dot{background:#d69b2d;box-shadow:0 0 0 4px rgba(214,155,45,.12)}
.dictionary-drawer-backdrop{position:fixed;inset:0;z-index:1200;display:none;background:rgba(9,30,38,.22)}
.dictionary-drawer-backdrop.open{display:block}
.dictionary-drawer{position:absolute;top:0;right:0;width:min(560px,100vw);height:100%;padding:22px;background:#fff;box-shadow:-16px 0 40px rgba(10,37,45,.18);overflow:auto}
.dictionary-drawer-body{display:grid;gap:8px;margin:18px 0 80px}
.dictionary-preview-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px minmax(140px,1.2fr);align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fafcfc}
.dictionary-preview-row span{color:#0f766e;font-weight:700}
.dictionary-preview-row small{color:var(--muted);overflow-wrap:anywhere}
.dictionary-drawer-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding-top:12px;background:#fff}

.data-asset-actions,
.data-library-toolbar,
.data-library-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.data-library-modal {
  width: min(880px, calc(100vw - 40px));
}

.data-library-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

#dataLibraryList {
  max-height: 430px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-gutter: stable;
}

.data-library-item {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid #dce9ec;
  border-radius: 12px;
  background: #fbfdfd;
}

.data-library-item strong,
.data-library-item span {
  display: block;
}

.data-library-copy{min-width:0}
.data-library-title{display:flex;align-items:center;gap:8px;min-width:0}
.data-library-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--ink)}
.data-version-badge{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#e8f4f2;color:#0f766e;font-size:11px;font-weight:800}
.data-merged-badge{flex:0 0 auto;padding:2px 7px;border-radius:5px;background:#fff4d6;color:#8a5a00;font-size:11px;font-weight:700}
.data-library-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}
.data-library-meta span{padding:3px 7px;border-radius:5px;background:#eef4f5;color:#4d6970;font-size:12px}
.data-library-copy p{margin:7px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.data-library-copy .data-library-lineage{white-space:normal;color:#45666d}
.data-library-actions{justify-content:flex-end;margin-top:0}
.data-library-actions .button-like{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}

.ledger-item progress {
  width: min(360px, 100%);
  height: 8px;
  accent-color: var(--teal);
}

.ledger-item .task-error {
  color: #a61b12;
  background: #fff3f1;
  border-left: 3px solid #d92d20;
  padding: 8px 10px;
}

.data-library-item span {
  margin-top: 4px;
  color: var(--muted);
}

.button-like {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
}

.project-start-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 14px;
  border: 1px solid #dce9ec;
  border-radius: 12px;
  background: #f8fbfb;
}

.project-start-options > span {
  grid-column: 1 / -1;
  font-weight: 800;
  color: var(--ink);
}

.project-start-options label {
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.project-start-options label:has(input:checked) { border-color: var(--brand); background: #edf8f6; box-shadow: 0 0 0 2px rgba(17,106,108,.08); }
.project-start-options label > span { display: grid; gap: 3px; min-width: 0; }
.project-start-options label strong { font-size: 13px; }
.project-start-options label small { color: var(--muted); line-height: 1.35; }
.project-start-options input { width: auto; margin-top: 2px; flex: 0 0 auto; }
.project-name-modal #projectNameSubmitBtn { min-height:44px; font-size:15px; }

/* This selector intentionally outranks the generic .modal width declared later. */
.modal.project-name-modal { width:min(680px, calc(100vw - 40px)); }

.project-name-modal #projectNameForm { grid-template-columns: 1fr 1fr; }
.project-name-modal #projectNameForm > label,
.project-name-modal #projectCreateSteps,
.project-name-modal #projectCreateSummary,
.project-name-modal #projectStartDataOptions { grid-column: 1 / -1; }
.project-name-modal #projectNameSubmitBtn { grid-column: 1 / -1; }
.project-name-modal #projectNameForm[data-step="2"] #projectNameBackBtn { grid-column: 1; }
.project-name-modal #projectNameForm[data-step="2"] #projectNameSubmitBtn { grid-column: 2; }
.project-create-steps { display:flex; align-items:center; gap:10px; padding:2px 0 8px; }
.project-create-steps span { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:13px; font-weight:800; }
.project-create-steps span b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#edf2f4; color:var(--muted); }
.project-create-steps span.active { color:var(--teal); }
.project-create-steps span.active b { background:var(--teal); color:#fff; }
.project-create-steps i { flex:1; height:1px; background:var(--line); }
.project-create-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid #cfe5e2; border-radius:8px; background:#f1faf8; }
.project-create-summary span { color:var(--muted); font-size:12px; font-weight:700; }
.project-create-summary strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.project-gateway { align-items:stretch; }
.project-gateway .project-create-card { min-height:188px; align-content:center; background:linear-gradient(145deg, #0f766e, #118c82); color:#fff; border-color:transparent; }
.project-gateway .project-create-card small,
.recent-project-head small { font-size:10px; font-weight:900; letter-spacing:.08em; }
.project-gateway .project-create-card em { margin-top:10px; font-style:normal; font-weight:800; }
.recent-project-card { display:grid; gap:10px; min-height:188px; padding:17px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow-soft); }
.recent-project-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.recent-project-head > div { display:grid; gap:4px; }
.recent-project-head small { color:var(--teal); }
.recent-project-head strong { font-size:19px; }
.text-button { min-height:auto; padding:4px 0; border:0; background:transparent; color:var(--teal); box-shadow:none; }
.text-button:hover { transform:none; box-shadow:none; text-decoration:underline; }
.gateway-recent-projects { display:grid; align-content:start; gap:5px; }
.gateway-project-row { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:7px 9px; border:0; border-radius:8px; background:#f6f9fa; color:var(--ink); text-align:left; box-shadow:none; }
.gateway-project-row:hover { transform:none; background:#edf7f5; box-shadow:none; }
.gateway-project-row > span { display:grid; min-width:0; gap:2px; }
.gateway-project-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.gateway-project-row small { color:var(--muted); font-size:10px; }
.gateway-project-row b { flex:0 0 auto; color:var(--teal); font-size:11px; }
.gateway-project-empty { display:grid; place-items:center; gap:4px; min-height:92px; color:var(--muted); text-align:center; }
.sample-project-entry { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 14px; border:1px dashed #bfd7d9; border-radius:10px; background:rgba(255,255,255,.62); }
.sample-project-entry > div { display:flex; align-items:baseline; gap:9px; min-width:0; }
.sample-project-entry span { color:var(--muted); font-size:12px; }
.sample-project-entry button { flex:0 0 auto; }

.project-more-trigger { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:8px; background:#f4f7f8; color:var(--ink); cursor:pointer; font-weight:900; letter-spacing:1px; line-height:1; box-shadow:none; }
.project-more-trigger:hover,
.project-more-trigger[aria-expanded="true"] { transform:none; border-color:#72beb7; background:#e7f6f4; color:var(--teal); box-shadow:none; }
.project-floating-menu { position:fixed; z-index:10050; display:grid; gap:4px; width:154px; padding:7px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 16px 34px rgba(19, 48, 66, .2); }
.project-floating-menu button { width:100%; min-height:34px; border:0; border-radius:7px; background:#f3f7f8; color:var(--ink); text-align:left; box-shadow:none; }
.project-floating-menu button:hover { transform:none; background:#e7f6f4; color:var(--teal); box-shadow:none; }
.project-floating-menu button.danger { color:#bf3d4f; background:#fff4f4; }
.project-floating-menu button.danger:hover { background:#ffe8e9; color:#a52f41; }

/* Registration already exposes legal documents inside the required consent row. */
.auth-legal-links { display: none !important; }

@media (max-width: 620px) {
  .project-start-options { grid-template-columns: 1fr; }
  .project-name-modal,
  .project-manager-modal { width: calc(100vw - 24px); padding: 16px; }
  .project-manager-toolbar { align-items: flex-start; }
  .project-manager-toolbar-actions { flex-wrap: wrap; justify-content: flex-end; }
  .project-item { align-items: stretch; flex-direction: column; }
  .project-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .project-actions button { min-width: 0; width: 100%; }
  .project-name-modal #projectNameForm[data-step="2"] #projectNameBackBtn,
  .project-name-modal #projectNameForm[data-step="2"] #projectNameSubmitBtn { grid-column:1 / -1; }
  .project-gateway { grid-template-columns:1fr; }
  .sample-project-entry { grid-column:1; align-items:flex-start; flex-direction:column; }
  .sample-project-entry > div { align-items:flex-start; flex-direction:column; }
  .sensitivity-head { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 1180px) {
  .data-asset-board {
    grid-template-columns: 1fr;
  }

  .data-library-item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .template-market-hero,
  .template-category-grid,
  .community-template-grid,
  .palette-import-card,
  .template-detail-shell {
    grid-template-columns: 1fr;
  }

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

@media(max-width:720px){.upload-flow-steps{grid-template-columns:1fr 1fr}.upload-purpose-picker,.upload-flow-control-grid{grid-template-columns:1fr!important}.stats-dictionary-status{margin-left:0}.dictionary-preview-row{grid-template-columns:1fr}.dictionary-drawer{width:100%}}

.nav-subroute span::before {
  content: "-> ";
}

.three-step-guide span,
.ml-experiment-guide span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.ml-experiment-guide > div > span {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 8px;
  border-radius: 50%;
  color: var(--brand);
  background: #e9f8f5;
}

.result-action-rail {
  justify-content: flex-start;
}

.copilot-coach {
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.05)), #fff;
}

.copilot-checklist {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fbfdfd;
}

.copilot-checklist summary {
  cursor: pointer;
  padding: 12px 14px;
  color: var(--ink);
  font-weight: 900;
}

.copilot-checklist .copilot-grid {
  padding: 0 14px 14px;
}

.tool-action-card strong {
  font-size: 16px;
}

.figure-editor[data-ux-grouped] {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 10px;
}

.figure-editor[data-ux-grouped]::before {
  margin-bottom: 0;
}

.editor-group {
  border: 1px solid #dbe7ea;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.editor-group summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--ink);
  font-weight: 900;
  background: #f4f9fa;
}

.editor-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  padding: 12px;
}

.editor-action-row {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.editor-action-row button {
  min-height: 40px;
}

.project-item {
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
}

.project-item:hover {
  border-color: #aac8c9;
}

.process-row,
.compare-row,
.roc-model-row,
.ml-model-row,
.plot-config-row,
.variable-type-row,
.encoding-level-row,
.roc-curve-model-row {
  border-radius: 10px;
}

.runbar {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin: 4px -4px -4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
}

.empty {
  color: var(--muted);
}

@media (min-width: 1680px) {
  main {
    padding: 26px 30px;
  }

  .panel {
    padding: 22px;
  }

  .figure-browser {
    grid-template-columns: minmax(680px, 56%) minmax(520px, 1fr);
  }
}

@media (max-width: 1360px) {
  .platform-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
  }

  .platform-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    flex-wrap: wrap;
    white-space: normal;
    overflow: visible;
  }

  .topbar-actions {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
    flex-wrap: nowrap;
  }

  .platform-search {
    min-width: 220px;
  }

  .landing-hero,
  .landing-section.split {
    grid-template-columns: 1fr;
  }

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

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

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

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

  .home-layout {
    grid-template-columns: 1fr;
  }

  .deep-learning-placeholder {
    grid-template-columns: 1fr;
  }

  .learning-layout {
    grid-template-columns: 1fr;
  }

  .learning-nav {
    position: static;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-side {
    position: static;
  }

  .figure-browser {
    grid-template-columns: 1fr;
    grid-template-areas:
      "selector"
      "figures"
      "editor"
      "download";
  }

  .figure-editor {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .dictionary-layout,
  .dictionary-bottom-layout {
    grid-template-columns: 1fr;
  }

  .category-label-block {
    width: 100%;
    min-width: 0;
  }

  .category-label-topline {
    grid-template-columns: 1fr;
  }

  .figure-browser > .figure-grid > div {
    max-width: 920px;
  }
}

@media (max-width: 980px) {
  .shell {
    grid-template-columns: 1fr;
    background: #edf3f6;
  }
  .sidebar {
    position: static;
    height: auto;
    min-height: 0;
  }
  .platform-topbar { grid-template-columns: 1fr; }
  .platform-nav,
  .topbar-actions {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .grid.two, .grid.three, .grid.four, .figure-grid, .analysis-menu, .output-options, .compare-row, .roc-model-main, .ml-model-main, .roc-curve-model-row, .figure-editor, .dictionary-layout, .dictionary-bottom-layout, .paper-dashboard, .paper-asset-row, .paper-asset-controls, .home-overview-grid, .home-workflow-grid, .copilot-head, .copilot-grid, .collab-grid, .repro-list, .template-toolbar, .report-draft-preview div, .community-grid, .template-chip-grid, .portal-grid, .template-market-grid, .chart-lab-grid, .pricing-grid, .vision-list, .imaging-task-grid, .dl-roadmap, .research-layout, .learning-step-grid, .learning-matrix, .learning-concept-grid, .learning-concept-grid.model-grid, .parameter-table div, .result-interpretation { grid-template-columns: 1fr; }
  .user-home-hero { align-items: flex-start; flex-direction: column; }
  .home-quick-actions { justify-content: flex-start; }
  .community-hero { align-items: flex-start; flex-direction: column; }
  .landing-panel,
  #communityPanel,
  #templatePanel,
  #toolsPanel,
  #tutorialPanel,
  #pricingPanel {
    padding: 22px;
  }
  .landing-hero {
    padding: 22px;
  }
  .landing-hero h2 {
    font-size: 30px;
  }
  .platform-search {
    min-width: 0;
    width: 100%;
  }
  .tutorial-list button {
    display: grid;
  }
  .learning-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tutorialPanel > .section-head:first-child {
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "text";
  }

  #tutorialPanel > .section-head:first-child h3 {
    font-size: 28px;
  }

  #tutorialPanel > .section-head:first-child p {
    font-size: 16px;
  }

  .learning-topic {
    padding: 20px;
  }
  .learning-topic h4 {
    font-size: 24px;
  }
  .learning-table div,
  .method-guide div {
    grid-template-columns: 1fr;
  }
  .manual-inline-link {
    align-items: flex-start;
    flex-direction: column;
  }
  .manual-feature-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .figure-browser {
    grid-template-columns: 1fr;
    grid-template-areas:
      "selector"
      "figures"
      "editor"
      "download";
  }
  .topbar { align-items: flex-start; flex-direction: column; }
  .topbar-actions { justify-content: flex-start; flex-wrap: wrap; }
  .project-home-head, .project-open-head { align-items: flex-start; flex-direction: column; }
}
.account-session-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 8px 0;
  border-bottom: 1px solid var(--line, #dbe5ea);
}

.account-session-row:last-child {
  border-bottom: 0;
}
.account-session-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1;padding-top:4px;color:#6d8185;font-size:12px}.account-session-list{grid-column:1/-1;display:grid;border:1px solid #dfe9e9;border-radius:11px;overflow:hidden;background:#fff}.account-session-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:11px;padding:12px 13px}.session-device-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f4f2;color:#087f77;font-size:12px;font-weight:900}.session-device-copy{display:grid;gap:3px}.session-device-copy strong{font-size:13px}.session-device-copy small{color:#73878a;font-size:11px}.session-current-state{padding:4px 7px;border-radius:999px;background:#f0f4f4;color:#708386;font-size:11px}.session-current-state.current{background:#e3f5ef;color:#08796f}.session-revoke-button{padding:7px 11px!important}.account-session-empty{padding:22px;color:#718588;text-align:center}@media(max-width:560px){.account-session-row{grid-template-columns:auto 1fr auto}.session-current-state{display:none}.session-revoke-button{grid-column:2;justify-self:start}}

.feedback-fab {
  position: fixed;
  right: 0;
  bottom: 24px;
  z-index: 90;
  min-width: 122px;
  padding: 13px 18px;
  border-radius: 10px 0 0 10px;
  box-shadow: 0 10px 28px rgba(15,118,110,.24);
  transform: translateX(calc(100% - 12px));
  transition: transform .22s ease, box-shadow .22s ease;
  will-change: transform;
}
.feedback-fab:hover,
.feedback-fab:focus-visible {
  transform: translateX(0);
  box-shadow: 0 12px 32px rgba(15,118,110,.32);
}
@media (hover: none), (max-width: 760px) {
  .feedback-fab { transform: translateX(calc(100% - 18px)); }
  .feedback-fab:active,
  .feedback-fab:focus { transform: translateX(0); }
}

/* Keep login-only utilities compact without changing the established header scale. */
.user-hub-actions {
  flex: 0 0 auto;
  white-space: nowrap;
  padding-left: 8px;
  margin-left: 3px;
  border-left: 1px solid #dce7e8;
}
.feedback-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; background: rgba(15,34,45,.35); }
.feedback-modal.hidden { display: none; }
.user-hub-actions{display:flex;gap:7px}.user-hub-actions.hidden{display:none}.user-hub-actions button{position:relative;min-height:38px;padding:0 12px;border:1px solid #cfe0df;border-radius:8px;background:#fff;color:#17635f;font-weight:700}.user-hub-actions b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:10px;background:#0b8b81;color:#fff;font-size:11px}.user-hub-actions b.empty{background:#dfe9e9;color:#617674}.user-hub-backdrop{position:fixed;inset:0;z-index:150;background:rgba(16,39,45,.35)}.user-hub-backdrop.hidden{display:none}.user-hub-drawer{position:absolute;right:0;top:0;width:min(560px,96vw);height:100%;overflow:auto;background:#f6faf9;box-shadow:-16px 0 50px rgba(13,48,54,.2);padding:24px}.user-hub-drawer header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.user-hub-drawer header h2{margin:3px 0}.user-hub-drawer header button{width:40px;height:40px;border-radius:50%;font-size:24px}.hub-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.hub-summary span{display:grid;gap:5px;padding:13px;background:#fff;border:1px solid #dce8e7;border-radius:8px;color:#6e8180}.hub-summary strong{font-size:22px;color:#087e76}.hub-list{display:grid;gap:9px}.hub-list article{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px;background:#fff;border:1px solid #dce8e7;border-radius:8px}.hub-list article.unread{border-left:4px solid #0b8b81}.hub-list article>div{display:grid;gap:4px}.hub-list small,.hub-list p{margin:0;color:#6e8180}.hub-list button,.hub-tabs button{padding:7px 10px;border-radius:6px}.hub-tabs{display:flex;justify-content:space-between;margin-bottom:12px}.hub-empty{padding:42px;text-align:center;color:#718482}.platform-search{position:relative}.global-search-results{display:none;position:absolute;z-index:160;top:calc(100% + 8px);left:0;width:min(520px,80vw);max-height:430px;overflow:auto;padding:8px;background:#fff;border:1px solid #d4e2e2;border-radius:9px;box-shadow:0 18px 50px rgba(16,50,58,.18)}.global-search-results.open{display:grid}.global-search-results button{display:grid;grid-template-columns:90px 1fr;gap:10px;text-align:left;padding:11px;border-radius:6px;background:#fff}.global-search-results button:hover{background:#eef8f6}.global-search-results span{color:#0b8179;font-size:12px}.search-empty{padding:24px;text-align:center;color:#70827f}.privacy-help-fab{position:fixed;right:22px;bottom:78px;z-index:90;padding:11px 15px;border-radius:8px;background:#fff;color:#087e76;border:1px solid #badbd7;box-shadow:0 8px 24px rgba(14,69,69,.12);font-weight:800}.privacy-dialog{width:min(760px,94vw)}.privacy-points{display:grid;grid-template-columns:1fr 1fr;gap:12px}.privacy-points article{padding:15px;border:1px solid #dbe8e7;border-radius:8px;background:#f7fbfa}.privacy-points p{margin:6px 0 0;color:#647b78}.privacy-help-actions{display:flex;gap:8px;margin-top:16px}@media(max-width:760px){.user-hub-actions #continueWorkButton{display:none}.hub-summary,.privacy-points{grid-template-columns:1fr}.hub-list article{grid-template-columns:1fr auto}.privacy-help-fab{bottom:70px}}
.feedback-dialog { width: min(620px, 100%); max-height: 86vh; overflow: auto; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(15,34,45,.22); }
.feedback-dialog-head, .feedback-ticket > div:first-child, .task-live-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.feedback-dialog-head h2 { margin: 2px 0 12px; }
.feedback-tabs { display: flex; gap: 8px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.feedback-tabs button { border: 0; border-radius: 0; background: transparent; color: var(--muted); box-shadow: none; }
.feedback-tabs button.active { color: var(--teal); border-bottom: 2px solid var(--teal); }
.feedback-pane { display: grid; gap: 12px; }
.feedback-pane.hidden { display: none; }
.feedback-pane label { display: grid; gap: 6px; font-weight: 700; }
.feedback-pane textarea { resize: vertical; }
.feedback-list { display: grid; gap: 10px; }

/* Bottom-right support entrances stay tucked away until intentionally hovered. */
.privacy-help-fab {
  right: 0;
  bottom: 104px;
  min-width: 112px;
  border-radius: 8px 0 0 8px;
  border-right: 0;
  transform: translateX(calc(100% - 12px));
  transition: transform .22s ease, box-shadow .22s ease;
  will-change: transform;
}
.privacy-help-fab:hover,
.privacy-help-fab:focus-visible {
  transform: translateX(0);
  box-shadow: 0 12px 30px rgba(14,69,69,.2);
}
@media (hover: none), (max-width: 760px) {
  .privacy-help-fab {
    right: 0;
    bottom: 96px;
    transform: translateX(calc(100% - 18px));
  }
  .privacy-help-fab:active,
  .privacy-help-fab:focus { transform: translateX(0); }
}
.feedback-ticket { padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: #fbfdfe; }
.feedback-ticket p { white-space: pre-wrap; }
.feedback-status { padding: 4px 8px; border-radius: 999px; color: var(--teal); background: #e9f7f5; font-size: 12px; }
.feedback-reply { margin-top: 10px; padding: 10px; border-left: 3px solid var(--teal); background: #edf8f6; }
.task-live-summary { padding: 10px 12px; margin-bottom: 8px; border: 1px solid #bfe2dd; border-radius: 6px; background: #edf8f6; }
.auth-mode-switch { width: 100%; border: 0; background: transparent; color: var(--teal); box-shadow: none; font-weight: 700; }
.auth-mode-switch:hover { background: #edf8f6; }

#pricingPanel { gap: 22px; padding-top: 24px; }
.pricing-hero { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 10px 0 20px; border-bottom: 1px solid var(--line); }
.pricing-hero h3 { margin: 6px 0 8px; font-size: 30px; }
.pricing-hero p { max-width: 760px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.pricing-trust { display: grid; gap: 4px; min-width: 300px; padding: 14px 16px; border: 1px solid #cfe5e1; border-radius: 8px; background: #f2faf8; }
.pricing-trust span { color: var(--muted); font-size: 13px; }
#pricingPanel .pricing-grid { align-items: stretch; gap: 16px; }
#pricingPanel .pricing-card { position: relative; display: flex; flex-direction: column; gap: 16px; min-height: 460px; padding: 24px; border-radius: 8px; background: #fff; }
#pricingPanel .pricing-card.featured { border: 2px solid var(--teal); background: linear-gradient(180deg, #f1faf8 0, #fff 42%); transform: translateY(-6px); }
.plan-head { display: grid; gap: 8px; min-height: 104px; }
#pricingPanel .plan-head .plan-code { width: max-content; padding: 4px 8px; border-radius: 4px; background: #e7f5f2; color: var(--teal); font-size: 11px; font-weight: 900; }
#pricingPanel .plan-head strong { font-size: 21px; }
#pricingPanel .plan-head p { margin: 0; line-height: 1.55; }
.plan-price { display: flex; align-items: baseline; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.plan-price b { font-size: 30px; }
#pricingPanel .plan-price span { width: auto; padding: 0; border-radius: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 500; }
#pricingPanel .pricing-card ul { display: grid; gap: 11px; margin: 0 0 8px; padding: 0; list-style: none; color: #344754; }
#pricingPanel .pricing-card li::before { content: "✓"; margin-right: 9px; color: var(--teal); font-weight: 900; }
#pricingPanel .pricing-card > button { width: 100%; margin-top: auto; }
.plan-recommend { position: absolute; top: 14px; right: 14px; padding: 5px 9px; border-radius: 4px; background: var(--teal); color: #fff; font-size: 12px; font-weight: 800; }
.pricing-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.pricing-notes > div { display: grid; gap: 6px; padding: 16px 18px; border-right: 1px solid var(--line); }
.pricing-notes > div:last-child { border-right: 0; }
.pricing-notes span { color: var(--muted); font-size: 13px; line-height: 1.6; }
.pricing-notes button { padding: 0; margin-right: 12px; border: 0; background: transparent; color: var(--teal); box-shadow: none; font-size: 13px; }
@media (max-width: 980px) { .pricing-hero { align-items: flex-start; flex-direction: column; } .pricing-trust { min-width: 0; width: 100%; } #pricingPanel .pricing-card.featured { transform: none; } .pricing-notes { grid-template-columns: 1fr; } .pricing-notes > div { border-right: 0; border-bottom: 1px solid var(--line); } }

.watermark-entitlement {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid #cfe5e1;
  border-radius: 6px;
  background: #f2faf8;
}
.watermark-entitlement > span { color: var(--muted); font-size: 12px; }
.watermark-entitlement > strong { color: #174f56; font-size: 13px; }
.watermark-entitlement > button { margin-left: auto; padding: 7px 10px; }
@media (max-width: 720px) {
  .watermark-entitlement { align-items: flex-start; flex-direction: column; }
  .watermark-entitlement > button { width: 100%; margin-left: 0; }
}
.billing-account-panel{margin-top:18px;padding:18px;border:1px solid #d8e5e8;background:#fff;border-radius:8px}.billing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.billing-toolbar h4{margin:4px 0;font-size:20px}.billing-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.billing-metric{border:1px solid #dbe7ea;padding:14px;background:#f8fbfc;border-radius:6px}.billing-metric span{display:block;color:#60727a;font-size:13px}.billing-metric strong{display:block;margin-top:5px;font-size:20px}.billing-actions{display:flex;gap:10px;margin-bottom:14px}.compact{padding:6px 10px;min-height:unset}@media(max-width:900px){.billing-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-toolbar{align-items:flex-start}}@media(max-width:560px){.billing-usage-grid{grid-template-columns:1fr}.billing-actions{flex-direction:column}}
.sample-project-guide{display:grid;grid-template-columns:1.2fr 1fr auto;gap:18px;align-items:center;margin-bottom:16px;padding:18px;border:1px solid #b9dfda;background:#f2fbf9;border-radius:8px}.sample-project-guide h4{margin:4px 0;font-size:20px}.sample-project-guide ol{margin:0;padding-left:20px}.sample-project-guide .billing-actions{margin:0}@media(max-width:900px){.sample-project-guide{grid-template-columns:1fr}.sample-project-guide .billing-actions{flex-direction:row}}
.report-sync-notice{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;border:1px solid #e2c98d;background:#fff9e8;border-radius:6px}.report-sync-notice span{flex:1;color:#695d3d}@media(max-width:700px){.report-sync-notice{align-items:flex-start;flex-direction:column}}

/* Research basket, result asset browser and publication figure composer */
.template-discovery-bar{display:grid;grid-template-columns:1.5fr .8fr auto;align-items:end;gap:10px;margin:14px 0;padding:13px;border:1px solid #d9e6e8;background:#fff;border-radius:8px}.template-compatible-toggle{display:flex!important;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid #d9e5e8;border-radius:6px}.template-card-shell{position:relative;display:grid}.template-card-shell>.template-item-card{padding-right:58px;padding-bottom:29px}.template-basket-add{position:absolute;right:12px;top:50%;translate:0 -50%;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;font-size:22px;line-height:1;box-shadow:none}.template-basket-add.selected{background:#dff4ef;color:#087a70;border:1px solid #98d5cb}.template-compatibility{position:absolute;left:14px;bottom:8px;font-size:10px;font-weight:700}.template-filter-hidden{display:none}.template-detail-basket{background:#0f766e!important;color:#fff!important}
.research-basket-dock{position:fixed;right:22px;top:118px;z-index:90;display:flex;align-items:flex-start;gap:8px;pointer-events:none}.research-basket-toggle,.research-basket-panel{pointer-events:auto}.research-basket-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 13px;border-radius:8px;box-shadow:0 12px 28px rgba(15,45,55,.16)}.research-basket-toggle strong{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:12px;background:#fff;color:#0f766e}.research-basket-panel{display:none;width:min(410px,calc(100vw - 90px));max-height:calc(100vh - 145px);overflow:auto;padding:18px;background:#fff;border:1px solid #d7e5e8;border-radius:8px;box-shadow:0 18px 48px rgba(15,45,55,.2)}.research-basket-dock.open .research-basket-panel{display:block}.research-basket-dock.open .research-basket-toggle{display:none}.research-basket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.research-basket-head h3{margin:4px 0 0;font-size:20px}.research-basket-items{display:grid;gap:9px;margin:14px 0}.research-basket-item{display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:10px;padding:11px;border:1px solid #dde8ea;background:#f9fbfc;border-radius:7px}.research-basket-item>div{display:grid;gap:3px;min-width:0}.research-basket-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-basket-item small{color:#657980}.research-basket-item em{font-size:11px;font-style:normal}.basket-order{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e4f5f2;color:#0b776e;font-weight:800}.compat-ready{color:#087a70}.compat-warning{color:#9a6200}.compat-danger{color:#a83a32}.compat-neutral{color:#64748b}.basket-empty{display:grid;gap:4px;padding:28px;text-align:center;border:1px dashed #cadadd;border-radius:7px;color:#60727a}.research-basket-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;position:sticky;bottom:-18px;padding:13px 0 0;background:#fff}
#basketMappingModal{z-index:120}.basket-mapping-modal{width:min(1120px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto}.basket-mapping-card{margin:12px 0;padding:16px;border:1px solid #dbe7ea;border-radius:8px;background:#fff}.basket-mapping-title{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px}.basket-mapping-title>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7f6f3;color:#0d766d;font-weight:800}.basket-mapping-title>div{display:grid;gap:3px}.basket-mapping-title small{color:#667b82}.basket-mapping-title>em{padding:6px 9px;border-radius:5px;background:#f2f7f8;font-style:normal;font-size:12px}.basket-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.batch-variable-picker{padding:13px;background:#f7fafb;border:1px solid #e0eaec;border-radius:7px}.batch-variable-picker>div:first-child{display:flex;justify-content:space-between;gap:10px}.batch-variable-picker span{color:#667b82}.variable-picker-actions{display:flex;gap:7px;margin:10px 0}.variable-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto}.variable-chip-grid label{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #d9e5e8;background:#fff;border-radius:6px;min-width:0}.variable-chip-grid label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#23343a}.basket-mapping-footer{position:sticky;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding:14px;background:#f5faf9;border-top:1px solid #d7e5e8}.basket-mapping-footer>div{display:grid;gap:3px}.basket-mapping-footer span{color:#657980;font-size:12px}
.result-workbench{margin:18px 0;padding:17px;border:1px solid #d8e6e8;background:#fff;border-radius:8px}.result-workbench-head,.composer-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.result-workbench-head h3{margin:4px 0;font-size:21px}.result-workbench-head p{margin:4px 0;color:#667b82}.segmented{display:flex;padding:4px;background:#eef5f6;border-radius:7px}.segmented button{background:transparent;color:#35535b;box-shadow:none}.segmented button.active{background:#fff;color:#0e756d;box-shadow:0 3px 9px rgba(20,60,70,.1)}.asset-filter-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);align-items:end;gap:12px;margin:16px 0 10px;padding:14px;border:1px solid #dce8ea;border-radius:8px;background:#f8fbfb}.asset-filter-panel label{display:grid;gap:7px}.asset-filter-panel label>span{font-weight:700;color:#294950}.asset-batch-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:10px 12px;border:1px solid #cae1df;border-radius:8px;background:rgba(240,250,248,.96);backdrop-filter:blur(8px)}.asset-selection-summary{display:flex;align-items:baseline;gap:12px}.asset-selection-summary strong{color:#08796f;font-size:16px}.asset-selection-summary span{color:#687c82;font-size:13px}.asset-toolbar-actions{display:flex;gap:8px}.asset-toolbar-actions button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.result-asset-browser{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.result-asset-card{position:relative;overflow:hidden;border:1px solid #dce7e9;border-radius:8px;background:#f9fbfc;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.result-asset-card:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(24,66,72,.08)}.result-asset-card.selected{border-color:#16a89c;box-shadow:0 0 0 2px rgba(22,168,156,.12)}.asset-select{position:absolute;top:9px;right:9px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;background:rgba(255,255,255,.95);border:1px solid #d5e5e6;border-radius:50%;box-shadow:0 2px 8px rgba(20,60,70,.1);cursor:pointer}.asset-select input{position:absolute;opacity:0;pointer-events:none}.asset-select span{display:none;color:#fff;font-weight:800}.asset-select:has(input:checked){background:#11968b;border-color:#11968b}.asset-select:has(input:checked) span{display:block}.asset-image{aspect-ratio:4/3;padding:12px;background:#fff}.asset-image img{width:100%;height:100%;object-fit:contain}.asset-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:11px 12px;border-top:1px solid #edf2f3}.asset-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-meta span{grid-column:1;color:#6a7c82;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-meta button{grid-column:2;grid-row:1/3}.composer-empty{display:grid;justify-items:center;gap:6px;padding:54px;border:1px dashed #cbdadc;border-radius:8px;color:#61747b}.composer-topbar{align-items:end;margin-top:16px}.composer-topbar>div{display:flex;gap:8px}.figure-composer-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,.8fr);gap:16px;margin-top:13px}.composition-canvas-shell{display:grid;place-items:center;min-height:560px;padding:24px;background:#edf2f3;border:1px solid #d7e3e5;border-radius:7px;overflow:auto}.composition-canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--composition-gap);width:min(100%,980px);padding:20px;background:#fff;box-shadow:0 7px 24px rgba(21,50,58,.13)}.composition-canvas.cols-1{grid-template-columns:1fr}.composition-canvas.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.composition-canvas.hero{grid-template-columns:1.45fr 1fr}.composition-canvas.hero .composition-panel:first-child{grid-row:span 2}.composition-canvas.size-single{max-width:520px}.composition-canvas.size-double{max-width:980px}.composition-canvas.size-slide{max-width:980px;aspect-ratio:16/9}.composition-panel{position:relative;display:grid;grid-template-rows:minmax(180px,1fr) auto;min-width:0;margin:0;border:1px solid #edf1f2;background:#fff}.composition-panel img{width:100%;height:100%;min-height:180px;object-fit:contain}.composition-panel figcaption{padding:7px 9px;color:#50646b;font-size:11px;border-top:1px solid #edf1f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-letter{position:absolute;left:8px;top:7px;z-index:1;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;background:rgba(255,255,255,.92);color:#111827;font-weight:800;font-size:18px}.composition-inspector{display:grid;align-content:start;gap:12px}.inspector-section,.composition-quality{padding:14px;border:1px solid #dbe7e9;background:#fff;border-radius:7px}.inspector-section h4{margin:0 0 11px}.inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.composition-layer-list{display:grid;gap:7px}.composition-layer-list>div{display:grid;grid-template-columns:30px 1fr 92px 32px 32px 32px;align-items:center;gap:6px;padding:7px;background:#f6f9fa;border:1px solid #e1eaec;border-radius:6px}.composition-layer-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.composition-layer-list>div>span{font-weight:800;color:#0d766d}.composition-quality{display:grid;gap:5px;background:#f1faf8;color:#45636a}.composition-quality span{font-size:12px}.hidden{display:none!important}
@media(max-width:1100px){.result-asset-browser{grid-template-columns:repeat(3,minmax(0,1fr))}.figure-composer-layout{grid-template-columns:1fr}.composition-canvas-shell{min-height:420px}.variable-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.template-discovery-bar{grid-template-columns:1fr}.research-basket-dock{right:10px;top:auto;bottom:14px}.research-basket-panel{width:calc(100vw - 20px);max-height:75vh}.basket-role-grid,.asset-filter-panel{grid-template-columns:1fr}.asset-batch-bar{position:static;align-items:stretch;flex-direction:column}.asset-selection-summary,.asset-toolbar-actions{justify-content:space-between}.asset-toolbar-actions button{flex:1}.variable-chip-grid,.result-asset-browser{grid-template-columns:repeat(2,minmax(0,1fr))}.basket-mapping-title{grid-template-columns:38px 1fr}.basket-mapping-title>em{grid-column:2}.result-workbench-head,.composer-topbar{flex-direction:column}.composition-canvas{padding:10px}.composition-canvas.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.composition-layer-list>div{grid-template-columns:28px 1fr 76px 30px 30px 30px}.inspector-grid{grid-template-columns:1fr}}
.mapping-error{color:#ae3d31}.template-handoff{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr) auto;align-items:center;gap:16px;margin:0 0 16px;padding:15px 17px;border:1px solid #a9d8d2;border-radius:13px;background:linear-gradient(135deg,#eaf8f5,#fff);box-shadow:0 7px 20px rgba(25,78,82,.07)}.template-handoff h3{margin:3px 0}.template-handoff p{margin:0;color:#5f777c;font-size:11px}.template-handoff ol{display:grid;gap:5px;margin:0;padding-left:22px}.template-handoff li{padding-left:3px}.template-handoff li strong,.template-handoff li span{display:block}.template-handoff li span{color:#688087;font-size:10px}.template-handoff>div:last-child{display:grid;gap:7px}.template-handoff button{white-space:nowrap}@media(max-width:950px){.template-handoff{grid-template-columns:1fr}.template-handoff>div:last-child{display:flex;flex-wrap:wrap}}@media(max-width:560px){.template-handoff>div:last-child{display:grid}}
.tools-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:15px}.tools-hub-head h3{margin:4px 0;font-size:27px}.tools-hub-head p{max-width:700px;margin:0;color:#657a80}.tools-hub-head label{display:grid;gap:5px;min-width:300px}.tools-hub-filters{display:flex;gap:7px;margin-bottom:14px;overflow:auto;padding-bottom:3px}.tools-hub-filters button{flex:0 0 auto;padding:7px 12px;border:1px solid #d5e4e5;background:#fff;color:#526b70;box-shadow:none}.tools-hub-filters button.active{border-color:#168e86;background:#eaf8f5;color:#08776f}.tools-hub-strip{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid #c9e0de;border-radius:11px;background:#f3faf9}.tools-hub-strip>div:first-child{display:grid}.tools-hub-strip span{color:#70858a;font-size:10px}.tools-hub-strip>div:last-child{display:flex;gap:7px;overflow:auto}.tools-hub-strip button{flex:0 0 auto;padding:7px 10px}.tools-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.tools-activity-grid>section{display:grid;gap:5px;padding:13px;border:1px solid #d9e6e7;border-radius:11px;background:#fbfdfd}.tools-activity-grid header{display:flex;justify-content:space-between}.tools-activity-grid header span{color:#71858a;font-size:10px}.tools-activity-grid section>button{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border:0;border-radius:7px;background:#fff;color:#24464b;box-shadow:none;text-align:left}.tools-activity-grid section>button span{color:#6f8388;font-size:10px}.tools-activity-grid p{margin:5px 0;color:#708389}.tool-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-hub-card{display:grid;gap:9px;min-height:190px;padding:15px;border:1px solid #d6e4e6;border-radius:12px;background:#fff;box-shadow:0 7px 21px rgba(28,72,77,.05)}.tool-hub-card>div{display:flex;justify-content:space-between}.tool-hub-card>div span{color:#0b7a73;font-size:10px;font-weight:800}.tool-hub-card [data-tool-favorite]{padding:0;border:0;background:transparent;color:#dc9c25;font-size:21px;box-shadow:none}.tool-hub-card>strong{font-size:17px}.tool-hub-card p{margin:0;color:#697e83;line-height:1.55}.tool-hub-card>button:last-child{align-self:end}@media(max-width:950px){.tool-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.tools-hub-head{align-items:stretch;flex-direction:column}.tools-hub-head label{min-width:0}.tools-activity-grid,.tool-hub-grid{grid-template-columns:1fr}.tools-hub-strip{grid-template-columns:1fr}}
.tools-quick-utilities{margin-top:20px;padding-top:18px;border-top:1px solid #dbe7e9}.tools-quick-utilities .compact-head{margin-bottom:12px}
.learning-dashboard{display:grid;grid-template-columns:minmax(260px,1fr) minmax(230px,.7fr) auto;align-items:center;gap:18px;margin-bottom:16px;padding:15px 17px;border:1px solid #c9e0de;border-radius:13px;background:linear-gradient(135deg,#f0faf8,#fff)}.learning-dashboard h3{margin:3px 0}.learning-dashboard p{margin:5px 0 0;color:#9a5d22;font-size:10px}.learning-progress-meter{display:grid;gap:7px}.learning-progress-meter>div{display:flex;justify-content:space-between}.learning-progress-meter>div span{color:#647a80}.learning-progress-meter>i{display:block;height:8px;overflow:hidden;border-radius:5px;background:#dce9e9}.learning-progress-meter>i b{display:block;width:0;height:100%;border-radius:5px;background:linear-gradient(90deg,#16968c,#2869c9);transition:width .25s ease}.learning-nav button.completed::after{content:"✓";margin-left:auto;color:#0b8b7f;font-weight:900}.learning-topic-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid #dce7e8}.learning-topic-footer button:first-child{margin-right:auto}@media(max-width:850px){.learning-dashboard{grid-template-columns:1fr}.learning-dashboard>button{justify-self:start}}@media(max-width:520px){.learning-topic-footer{display:grid;grid-template-columns:1fr 1fr}.learning-topic-footer button:first-child{margin:0}.learning-topic-footer [data-learning-complete]{grid-column:1/-1;grid-row:1}}

.learning-practice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:20px;padding:18px;border:1px solid #b9d9d5;border-radius:14px;background:linear-gradient(135deg,#effaf8,#fff 68%)}
.learning-practice-card strong{display:block;margin:5px 0;font-size:17px;color:#17343a}
.learning-practice-card p{margin:0 0 5px;line-height:1.65}
.learning-practice-card small{display:block;color:#65777b;line-height:1.55}
.learning-practice-card>div:last-child{display:grid;justify-items:stretch;gap:7px;min-width:190px}
.learning-practice-card [role="status"]{color:#647a80;font-size:11px;text-align:center;overflow-wrap:anywhere}
@media(max-width:700px){.learning-practice-card{grid-template-columns:1fr}.learning-practice-card>div:last-child{min-width:0}.learning-practice-card button{width:100%}}
.project-conflict-dialog{width:min(720px,calc(100vw - 32px))}.project-conflict-times{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:15px 0;padding:13px;border:1px solid #efcfab;border-radius:10px;background:#fff8ee}.project-conflict-times>div{display:grid;gap:3px}.project-conflict-times span{color:#7c6a58;font-size:10px}.project-conflict-times strong{overflow-wrap:anywhere}.project-conflict-sections{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.project-conflict-sections span{padding:5px 8px;border-radius:7px;background:#edf5f5;color:#276b67;font-size:10px}.project-conflict-dialog>section>p{color:#6d7f84;font-size:10px}.project-conflict-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:600px){.project-conflict-times{grid-template-columns:1fr}.project-conflict-times>b{transform:rotate(90deg);justify-self:center}.project-conflict-actions{display:grid}.project-conflict-actions button{width:100%}}

.asset-image{position:relative}.asset-image-failure{position:absolute;inset:12px;z-index:1;display:grid;place-content:center;justify-items:center;gap:7px;padding:16px;text-align:center;background:#f6f9fa;color:#64777d}.asset-image-failure[hidden]{display:none}.asset-image-failure strong{color:#294950}.asset-image-failure span{font-size:12px}.image-failed>img{visibility:hidden}.composition-panel.image-failed{min-height:220px}.composition-panel>.asset-image-failure{inset:0 0 30px}

/* Freeform journal figure composer */
.figure-composer-layout{grid-template-columns:minmax(680px,1fr) 360px;align-items:start;gap:14px}
.composition-canvas-shell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;min-height:0;padding:12px;border:1px solid #dce8ea;border-radius:9px;background:#f4f8f8}
.composition-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;padding:8px 9px;border:1px solid #d6e3e5;border-radius:7px;background:#fff;position:sticky;top:78px;z-index:12;box-shadow:0 4px 12px rgba(19,64,70,.06)}
.canvas-tool-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.canvas-tool-group>span{color:#6b7e84;font-size:12px}.alignment-tools button{min-height:34px;padding:7px 10px}.alignment-tools button:disabled{opacity:.45;cursor:not-allowed}
.compact-control{display:flex!important;align-items:center;gap:5px}.compact-control span{font-size:11px;color:#667b82}.compact-control select{min-width:112px;min-height:34px;padding:6px 26px 6px 8px}.history-tools{margin-left:auto}.history-tools button:disabled{opacity:.45}
.composition-canvas.freeform{position:relative;display:block;width:100%;aspect-ratio:10/7;padding:0;overflow:hidden;background-color:#fff;background-image:linear-gradient(rgba(20,112,104,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(20,112,104,.055) 1px,transparent 1px);background-size:20px 20px;box-shadow:0 8px 22px rgba(21,50,58,.12);touch-action:none;outline:none}
.composition-canvas.freeform.size-single{max-width:560px}.composition-canvas.freeform.size-double{max-width:1100px}.composition-canvas.freeform.size-slide{max-width:1100px;aspect-ratio:16/9}
.composition-canvas.freeform .composition-panel{position:absolute;display:block;min-width:0;min-height:0;margin:0;overflow:visible;border:1px solid #d9e5e7;background:#fff;box-shadow:0 2px 8px rgba(27,61,68,.07);cursor:move;user-select:none;touch-action:none}
.composition-canvas.freeform .composition-panel:hover{border-color:#78bdb7}.composition-canvas.freeform .composition-panel.selected{z-index:3;border:2px solid #0f9489;box-shadow:0 0 0 3px rgba(15,148,137,.14)}
.composition-canvas.freeform .composition-panel img{display:block;width:100%;height:100%;min-height:0;pointer-events:none;object-position:center}.composition-canvas.freeform .composition-panel figcaption{display:none}
.composition-canvas.freeform .panel-letter{min-width:0;height:auto;line-height:1;box-sizing:content-box;border:0;border-radius:2px;cursor:move;touch-action:none}.composition-canvas.freeform .panel-letter:hover{box-shadow:0 0 0 2px rgba(15,148,137,.24)}
.plot-boundary-guide{position:absolute;z-index:5;display:none;box-sizing:border-box;border:1.5px dashed #0aa89b;pointer-events:none;filter:drop-shadow(0 0 1px #fff)}.composition-panel.show-plot-guide.selected .plot-boundary-guide{display:block}.composition-panel.show-plot-guide.selected .plot-boundary-guide:before{content:"绘图区";position:absolute;left:2px;top:-18px;padding:1px 4px;border-radius:3px;background:#0a8c83;color:#fff;font-size:9px;font-style:normal;line-height:14px}
.panel-resize-handle{position:absolute;z-index:8;display:none;background:transparent}.composition-panel.selected .panel-resize-handle{display:block}.panel-resize-handle.n,.panel-resize-handle.s{left:8px;right:8px;height:10px;cursor:ns-resize}.panel-resize-handle.n{top:-6px}.panel-resize-handle.s{bottom:-6px}.panel-resize-handle.e,.panel-resize-handle.w{top:8px;bottom:8px;width:10px;cursor:ew-resize}.panel-resize-handle.e{right:-6px}.panel-resize-handle.w{left:-6px}.panel-resize-handle.nw,.panel-resize-handle.ne,.panel-resize-handle.sw,.panel-resize-handle.se{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#0f9489}.panel-resize-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.panel-resize-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.panel-resize-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.panel-resize-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
.composition-inspector{max-height:calc(100vh - 104px);padding-right:4px;overflow:auto;position:sticky;top:84px}.composition-inspector .inspector-section{padding:13px;margin-bottom:10px}.composition-inspector .inspector-section h4{margin-bottom:9px}.composition-inspector .freeform-layout-field select{background:#eef7f6;color:#08796f;font-weight:700}.plot-boundary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}.plot-boundary-grid label{display:grid;gap:4px}.plot-boundary-grid span{font-size:11px;color:#60777e}.plot-boundary-grid input{min-width:0;padding:8px}.composition-quality{position:sticky;bottom:0;z-index:2}.panel-label-settings input[type="color"]{min-height:40px;padding:5px}
@media(max-width:1350px){.figure-composer-layout{grid-template-columns:minmax(600px,1fr) 330px}.composition-canvas-toolbar{position:static}.alignment-tools{width:100%}}
@media(max-width:1020px){.figure-composer-layout{grid-template-columns:1fr}.composition-inspector{position:static;max-height:none}.composition-canvas-shell{padding:8px}}

/* Figure composer viewport: screen navigation is independent from the export page. */
.composer-topbar{position:sticky;top:72px;z-index:18;align-items:center;margin-top:10px;padding:8px 10px;border:1px solid #dce8ea;border-radius:8px;background:rgba(255,255,255,.96);backdrop-filter:blur(9px)}
.composer-topbar label{display:flex;align-items:center;gap:9px}.composer-topbar label>span{font-size:12px;color:#61777e}.composer-topbar select{min-width:180px}
.composer-topbar>div{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.composition-save-state{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.composition-save-state.is-draft{background:#fff4db;color:#936000}.composition-save-state.is-saved{background:#e5f6f2;color:#08796f}.composition-export-control{display:grid!important;gap:4px!important}.composition-export-control>span{font-size:11px!important}.composition-export-control select{min-width:92px!important;height:38px;padding-block:6px}
.figure-composer-layout{grid-template-columns:minmax(620px,1fr) 340px;gap:12px;margin-top:10px}
.composition-canvas-shell{align-items:stretch;padding:10px;overflow:hidden;background:#edf3f4}
.composition-canvas-toolbar{position:static;display:grid;grid-template-columns:auto auto minmax(320px,1fr);justify-content:stretch;padding:7px;box-shadow:none}
.canvas-context{grid-column:1/-1;justify-content:space-between;padding:1px 3px 5px;border-bottom:1px solid #e7eff0}
.history-tools{margin-left:0}.viewport-tools{justify-content:center}.viewport-tools [data-composition-zoom]{min-width:34px;padding-inline:8px}.viewport-tools [data-composition-zoom-label]{min-width:46px;text-align:center;color:#08796f;font-size:12px}
.alignment-tools{justify-content:flex-end}.alignment-tools .compact-control select{min-width:124px}
.composition-viewport{position:relative;width:100%;height:clamp(480px,calc(100vh - 280px),760px);overflow:hidden;border:1px solid #d6e4e6;border-radius:7px;background-color:#f7fafb;background-image:linear-gradient(rgba(20,112,104,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,112,104,.045) 1px,transparent 1px);background-size:20px 20px;outline:none;cursor:default}
.composition-viewport:focus-visible{box-shadow:0 0 0 3px rgba(15,148,137,.14)}.composition-viewport.pan-ready{cursor:grab}.composition-viewport.is-panning{cursor:grabbing}
.composition-canvas.freeform{position:absolute;left:0;top:0;width:1000px;height:700px;max-width:none;aspect-ratio:auto;flex:none;background-image:none;transform-origin:0 0;will-change:transform}
.composition-canvas.freeform.size-single{width:1000px;max-width:none}.composition-canvas.freeform.size-double{width:1000px;max-width:none}.composition-canvas.freeform.size-slide{width:1000px;height:562.5px;max-width:none;aspect-ratio:auto}
.composition-inspector{max-height:calc(100vh - 150px);top:142px}.composition-inspector .inspector-section,.composition-inspector .composition-quality{padding:11px}.composition-inspector .inspector-grid{gap:7px}.composition-inspector .hint{margin:7px 0 0;line-height:1.45}
.panel-label-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}.panel-label-presets button{min-width:0;padding-inline:6px}.label-snap-guide{position:absolute;z-index:30;display:none;pointer-events:none}.label-snap-guide.is-visible{display:block}.label-snap-guide.vertical{top:0;bottom:0;border-left:1.5px dashed #dd5a4a}.label-snap-guide.horizontal{left:0;right:0;border-top:1.5px dashed #dd5a4a}.composition-canvas.freeform .composition-panel>.asset-image-failure{inset:0}
@media(max-width:1350px){.figure-composer-layout{grid-template-columns:minmax(560px,1fr) 320px}.composition-canvas-toolbar{grid-template-columns:1fr 1fr}.canvas-context{grid-column:1/-1}.alignment-tools{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:1020px){.composer-topbar{position:static}.figure-composer-layout{grid-template-columns:1fr}.composition-viewport{height:560px}.composition-inspector{position:static;max-height:none}.composition-canvas-toolbar{grid-template-columns:1fr}.canvas-context,.alignment-tools{grid-column:1}}

/* Compact, visual template marketplace */
#templatePanel .template-market-hero{min-height:0;padding:18px 20px;margin-bottom:12px}
#templatePanel .template-market-hero h3{font-size:24px;margin:3px 0 6px}
#templatePanel .template-market-stats{gap:8px}
#templatePanel .template-market-stats>div{padding:10px 12px;min-width:100px}
#templatePanel .template-category-grid{gap:12px;align-items:start}
#templatePanel .template-category-card:nth-child(1),#templatePanel .template-category-card:nth-child(3){grid-column:1/-1}
#templatePanel .template-category-card{padding:16px;border-radius:8px}
#templatePanel .template-category-head{margin-bottom:10px}
#templatePanel .template-category-head h4{font-size:20px;margin:2px 0 4px}
#templatePanel .template-category-head p{margin:0;line-height:1.5}
.figure-template-catalog{display:grid;gap:12px}
.figure-template-group{display:grid;gap:7px}
.figure-template-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px;color:#17343a}
.figure-template-group-head span{color:#6b7f86;font-size:11px}
.figure-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.visual-template-card{grid-template-columns:92px minmax(0,1fr)!important;align-items:center;min-height:84px;padding:8px!important;gap:10px!important}
.visual-template-copy{display:grid;gap:2px;min-width:0;color:inherit!important}
.visual-template-copy strong{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visual-template-copy>span{font-size:10px!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.visual-template-copy small{color:#0f766e;font-size:9px;font-weight:800}
.template-card-shell>.visual-template-card{padding-right:48px!important;padding-bottom:18px!important}
.template-miniature{position:relative;display:block!important;width:92px;height:62px;overflow:hidden;border:1px solid #dbe7e9;border-radius:5px;background:#fff;color:#168078}
.template-miniature:before,.template-miniature:after,.template-miniature i{content:"";position:absolute;display:block}
.mini-boxplot:before{left:20px;top:17px;width:16px;height:28px;border:2px solid currentColor;background:#bfe4df}.mini-boxplot:after{right:18px;top:10px;width:16px;height:35px;border:2px solid #dc745e;background:#f4c5bb}.mini-boxplot i:nth-child(1){left:28px;top:8px;width:2px;height:46px;background:#52666d}.mini-boxplot i:nth-child(2){right:25px;top:5px;width:2px;height:50px;background:#52666d}
.mini-violin:before{left:16px;top:8px;width:24px;height:46px;border-radius:50%;background:#8ed0c5}.mini-violin:after{right:15px;top:5px;width:27px;height:51px;border-radius:50%;background:#ee9b88}.mini-violin i:nth-child(1){left:28px;top:12px;width:1px;height:38px;background:#334155}.mini-violin i:nth-child(2){right:28px;top:10px;width:1px;height:42px;background:#334155}
.mini-distribution:before{left:8px;bottom:8px;width:13px;height:20px;background:#8ac4dc;box-shadow:14px -13px #5da7c5,28px -25px #2c7da0,42px -15px #e99a85,56px -3px #f1b6a6}.mini-distribution:after{left:9px;top:18px;width:72px;height:25px;border-top:3px solid #d65a45;border-radius:50%}
.mini-bar:before{left:12px;bottom:8px;width:12px;height:24px;background:#61b6ad;box-shadow:18px -13px #168078,36px -3px #eda18f,54px -24px #d65a45}.mini-stacked:before{left:12px;top:13px;width:68px;height:10px;background:linear-gradient(90deg,#0f766e 0 28%,#e9c46a 28% 64%,#e76f51 64%);box-shadow:0 17px 0 0 #2a9d8f,0 34px 0 0 #f4a261}.mini-stacked:after{left:12px;top:30px;width:68px;height:10px;background:linear-gradient(90deg,#264653 0 45%,#e9c46a 45% 72%,#e76f51 72%)}
.mini-scatter i{width:5px;height:5px;border-radius:50%;background:#2c7da0}.mini-scatter i:nth-child(1){left:14px;top:43px}.mini-scatter i:nth-child(2){left:31px;top:35px}.mini-scatter i:nth-child(3){left:48px;top:25px}.mini-scatter i:nth-child(4){left:67px;top:15px}.mini-scatter:after{left:11px;top:31px;width:72px;height:2px;background:#d65a45;transform:rotate(-27deg)}
.mini-heatmap{background:linear-gradient(90deg,#2166ac 0 20%,#67a9cf 20% 40%,#f7f7f7 40% 60%,#ef8a62 60% 80%,#b2182b 80%);opacity:.9}.mini-longitudinal:before,.mini-survival:before,.mini-rcs:before,.mini-roc:before{left:10px;top:30px;width:72px;height:3px;background:#148078;transform:rotate(-18deg);box-shadow:0 12px 0 #d65a45}.mini-survival:before{transform:none;clip-path:polygon(0 0,25% 0,25% 25%,48% 25%,48% 48%,72% 48%,72% 70%,100% 70%,100% 100%,0 100%);height:38px;top:10px;background:#168078}.mini-rcs:before{height:28px;top:17px;border-radius:50%;background:transparent;border-top:3px solid #168078;transform:rotate(-8deg)}
.mini-forest:before{left:45px;top:7px;width:1px;height:48px;background:#94a3b8}.mini-forest i{left:19px;width:52px;height:2px;background:#64748b}.mini-forest i:nth-child(1){top:15px}.mini-forest i:nth-child(2){top:28px}.mini-forest i:nth-child(3){top:41px}.mini-forest i:after{content:"";position:absolute;left:30px;top:-3px;width:8px;height:8px;background:#168078;border-radius:50%}
.mini-lollipop i{bottom:10px;width:2px;background:#8aa1a8}.mini-lollipop i:nth-child(1){left:18px;height:23px}.mini-lollipop i:nth-child(2){left:36px;height:37px}.mini-lollipop i:nth-child(3){left:54px;height:29px}.mini-lollipop i:nth-child(4){left:72px;height:45px}.mini-lollipop i:after{content:"";position:absolute;left:-4px;top:-5px;width:10px;height:10px;border-radius:50%;background:#168078}
.mini-shap:before{left:10px;top:9px;width:70px;height:44px;background:repeating-linear-gradient(0deg,transparent 0 8px,#edf1f2 8px 9px)}.mini-shap i{width:5px;height:5px;border-radius:50%;background:#d84c78}.mini-shap i:nth-child(1){left:20px;top:16px}.mini-shap i:nth-child(2){left:35px;top:25px}.mini-shap i:nth-child(3){left:53px;top:34px}.mini-shap i:nth-child(4){left:70px;top:43px;background:#3478c8}
.template-detail-shell{grid-template-columns:minmax(0,1.65fr) minmax(270px,.55fr)!important;gap:14px!important}
.template-sample-stage{display:grid;place-items:center;min-height:0!important;padding:14px!important;background:#f3f7f8}
.template-sample-stage .sample-figure,.template-sample-stage .sample-paper-table{width:min(100%,720px);max-height:430px;overflow:auto}
.template-sample-stage svg{display:block;width:100%;height:auto;max-height:390px}
.template-detail-head{padding:18px!important}.template-detail-section{padding:14px!important}
@media(max-width:1150px){.figure-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-detail-shell{grid-template-columns:1fr!important}}
@media(max-width:760px){.visual-template-card{grid-template-columns:76px minmax(0,1fr)!important}.template-miniature{width:76px}.figure-template-grid{grid-template-columns:1fr}}

/* One-screen template detail workbench */
#templatePanel[data-template-market-ready="detail"]{height:calc(100dvh - 112px);min-height:650px;overflow:hidden;padding-bottom:0}
.template-detail-workbench{display:grid;grid-template-rows:auto minmax(0,1fr) minmax(155px,26%);gap:10px;height:100%;min-height:0}
.template-detail-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 14px;border:1px solid #d9e6e8;border-radius:8px;background:#fff}
.template-detail-toolbar .template-back-btn{min-height:38px;white-space:nowrap}
.template-detail-title{min-width:0}
.template-detail-title .eyebrow{font-size:10px}
.template-detail-title h3{margin:1px 0 2px;font-size:21px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.template-detail-title p{margin:0;color:#657980;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.template-detail-toolbar-actions{display:flex;gap:8px}
.template-detail-toolbar-actions button{min-height:38px;white-space:nowrap}
.template-detail-focus{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.65fr);gap:10px;min-height:0}
.template-detail-preview,.template-detail-summary,.template-detail-tabs{min-height:0;border:1px solid #d9e6e8;border-radius:8px;background:#fff;overflow:hidden}
.template-detail-preview{display:grid;grid-template-rows:auto minmax(0,1fr)}
.template-preview-label{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e2eaec;color:#29444b;font-size:12px;font-weight:800}
.template-preview-label em{color:#7a8b91;font-size:10px;font-style:normal;font-weight:600}
.template-detail-preview .template-sample-stage{display:grid;place-items:center;min-height:0!important;height:100%;padding:8px 14px!important;overflow:hidden;background:#f5f8f9}
.template-detail-preview .sample-figure,.template-detail-preview .sample-paper-table{width:min(100%,680px);height:100%;max-height:100%;overflow:auto;margin:0;background:#fff}
.template-detail-preview.is-table-preview .template-sample-stage{place-items:stretch;padding:8px!important;overflow:visible}
.template-detail-preview.is-table-preview .sample-paper-table{box-sizing:border-box;width:100%;max-width:none;height:100%;padding:12px 16px;overflow:visible}
.template-detail-preview.is-table-preview .sample-paper-table table{width:100%!important;min-width:0!important;table-layout:fixed;font-size:clamp(12px,.9vw,17px)}
.template-detail-preview.is-table-preview .sample-paper-table th,.template-detail-preview.is-table-preview .sample-paper-table td{min-width:0!important;padding:7px 8px;overflow-wrap:anywhere;white-space:normal}
.template-detail-preview.is-table-preview .sample-paper-table th:first-child,.template-detail-preview.is-table-preview .sample-paper-table td:first-child{width:22%}
.sample-paper-caption{margin:0 0 8px;color:#18343a;font-family:"Times New Roman","Noto Serif SC",serif;font-size:clamp(13px,1vw,18px);font-weight:700;text-align:left}
.sample-paper-note{margin:8px 0 0;color:#526a71;font-size:clamp(11px,.76vw,13px);line-height:1.45;text-align:left}
.sample-paper-table .paper-row-label{font-weight:700;text-align:left}
.sample-paper-table .paper-level-row .paper-row-label{padding-left:22px!important;font-weight:400}
.sample-paper-table .paper-variable-row{border-top:1px solid #aebdc2}
.sample-paper-table .paper-variable-row .paper-row-label{color:#173c42;font-weight:800}
.sample-paper-table .paper-variable-row td:not(:first-child):empty{background:transparent}
.sample-paper-table td br{display:block;content:"";margin-top:3px}
.sample-paper-table.has-test-columns th:nth-last-child(-n+2),.sample-paper-table.has-test-columns td:nth-last-child(-n+2){width:13%;text-align:center;vertical-align:top}
.template-detail-preview.is-table-preview .sample-paper-table.columns-6 table{font-size:clamp(10px,.76vw,14px)}
.template-detail-preview.is-table-preview .sample-paper-table.columns-7 table{font-size:clamp(9px,.67vw,13px)}
.template-detail-preview.is-table-preview .sample-paper-table.columns-8 table{font-size:clamp(8px,.61vw,12px)}
.template-detail-preview.is-table-preview .sample-paper-table.columns-6 th:first-child,.template-detail-preview.is-table-preview .sample-paper-table.columns-6 td:first-child{width:20%}
.template-detail-preview.is-table-preview .sample-paper-table.columns-7 th:first-child,.template-detail-preview.is-table-preview .sample-paper-table.columns-7 td:first-child{width:18%}
.template-detail-preview.is-table-preview .sample-paper-table.columns-8 th:first-child,.template-detail-preview.is-table-preview .sample-paper-table.columns-8 td:first-child{width:17%}
.template-detail-preview .sample-figure{display:grid;grid-template-rows:auto minmax(0,1fr)}
.template-detail-preview .sample-title{padding:7px 10px;font-size:14px}
.template-detail-preview svg{width:100%;height:100%;max-height:100%;min-height:0}
.template-detail-summary{display:grid;align-content:start;gap:10px;padding:13px;overflow:auto}
.template-summary-head h4{margin:2px 0 0;font-size:17px}
.template-requirement-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.template-requirement-list>div{display:grid;gap:2px;padding:8px 9px;border:1px solid #e0eaec;border-radius:6px;background:#f8fbfc}
.template-requirement-list span{color:#71838a;font-size:10px}
.template-requirement-list strong{font-size:12px;color:#23383e}
.template-summary-settings{display:grid;gap:7px}
.template-summary-settings>strong,.template-summary-colors>strong{font-size:12px}
.template-summary-settings>div{display:flex;flex-wrap:wrap;gap:5px}
.template-summary-settings span{padding:5px 7px;border-radius:4px;background:#edf6f5;color:#126e67;font-size:10px;font-weight:700}
.template-summary-colors{display:grid;gap:6px}
.template-summary-colors>div{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.template-summary-colors i{height:24px;border:1px solid rgba(15,23,42,.1);border-radius:4px}
.template-summary-note{margin:0;padding:8px 9px;border-left:3px solid #0f766e;background:#f2faf8;color:#587078;font-size:10px;line-height:1.45}
.template-detail-tabs{display:grid;grid-template-rows:auto minmax(0,1fr)}
.template-tab-list{display:flex;gap:5px;padding:7px 10px;border-bottom:1px solid #dfe9eb;background:#f6f9fa}
.template-tab-list button{min-height:38px;padding:8px 17px;border:0;border-radius:5px;background:transparent;color:#405b63;font-size:13px;font-weight:800;box-shadow:none}
.template-tab-list button.active{background:#fff;color:#0f766e;box-shadow:0 2px 8px rgba(25,63,72,.09)}
.template-tab-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;padding:12px 16px;overflow:auto}
.template-tab-content>div:not(.template-tab-setting-list){padding:12px 14px;border:1px solid #e2eaec;border-radius:6px;background:#fbfdfd}
.template-tab-content strong{font-size:14px;color:#23383e}
.template-tab-content p{margin:6px 0 0;color:#526c74;font-size:13px;line-height:1.7}
.template-tab-setting-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.template-tab-setting-list span{padding:10px 12px;border:1px solid #dce8ea;border-radius:6px;background:#f7fafb;color:#36555d;font-size:13px;font-weight:700}
@media(max-width:1050px){#templatePanel[data-template-market-ready="detail"]{height:auto;min-height:0;overflow:visible}.template-detail-workbench{height:auto;grid-template-rows:auto}.template-detail-focus{grid-template-columns:1fr}.template-detail-preview{min-height:430px}.template-detail-summary{overflow:visible}.template-detail-tabs{min-height:220px}}
@media(max-width:700px){.template-detail-toolbar{grid-template-columns:1fr}.template-detail-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.template-detail-title p{white-space:normal}.template-tab-list{overflow-x:auto}.template-tab-list button{white-space:nowrap}.template-tab-content{grid-template-columns:1fr}.template-tab-setting-list{grid-template-columns:1fr}.template-requirement-list{grid-template-columns:1fr 1fr}}

/* Hierarchical template library */
#templatePanel[data-template-market-ready="1"],#templatePanel[data-template-market-ready="library"]{align-content:start;grid-auto-rows:max-content}
.template-home-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 14px;padding:4px 2px 12px;border-bottom:1px solid #dce7e9}
.template-home-intro h3{margin:2px 0 0;font-size:25px}
.template-home-intro p{max-width:680px;margin:0;color:#667b82;font-size:12px;text-align:right}
.template-home-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.template-home-entry{grid-column:span 4;display:grid;grid-template-columns:48px 1fr;align-items:start;gap:12px;min-height:142px;padding:17px;border:1px solid #d9e6e8;border-radius:8px;background:#fff;color:#163139;text-align:left;box-shadow:none}
.template-home-entry.featured{grid-column:span 4;background:linear-gradient(135deg,#edf9f7,#eef4ff);border-color:#a8d9d2}
.template-home-entry.personal{grid-column:span 4;min-height:142px}
.template-home-entry.creator{grid-column:span 4;min-height:142px;background:linear-gradient(135deg,#f2fbfa,#f8fbff);border-color:#b8ddd8}.template-home-entry.creator .template-entry-icon{background:#dff4f0;font-size:25px}
.template-home-entry:hover{translate:0 -2px;border-color:#74bdb4;box-shadow:0 10px 24px rgba(25,63,72,.09)}
.template-entry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:7px;background:#e5f5f2;color:#0f766e;font-size:21px;font-weight:900}
.template-home-entry>div{display:grid;gap:5px}
.template-home-entry>div>span{color:#0f766e;font-size:10px;font-weight:900;text-transform:uppercase}
.template-home-entry h4{margin:0;font-size:21px}
.template-home-entry p{margin:0;color:#657980;font-size:12px;line-height:1.55}
.template-home-entry em{align-self:end;margin-top:8px;color:#0f766e;font-size:12px;font-style:normal;font-weight:800}
.template-library-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-bottom:10px;padding:5px 2px 10px;border-bottom:1px solid #dce7e9}
.template-library-top.compact .template-back-icon{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;font-size:18px}
.template-library-top h3{margin:2px 0 3px;font-size:25px}
.template-library-top p{margin:0;color:#667b82;font-size:12px}
.figure-library-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) auto 92px;align-items:end;gap:10px;margin-bottom:10px;padding:9px 11px;border:1px solid #d9e6e8;border-radius:8px;background:#fff}
.template-search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.template-search-field input{min-height:38px}
.figure-library-toolbar label>span{font-size:11px}
.figure-library-toolbar .template-compatible-toggle{min-height:38px;padding:0 11px;white-space:nowrap}
.figure-library-count{display:grid;justify-items:end;align-content:center;min-height:42px}
.figure-library-count strong{color:#0f766e;font-size:20px}.figure-library-count span{color:#71838a;font-size:10px}
.figure-library-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px;align-items:start}
.figure-library-sidebar{position:sticky;top:100px;display:grid;gap:4px;padding:10px;border:1px solid #d9e6e8;border-radius:8px;background:#fff}
.figure-library-sidebar>strong{padding:7px 9px 10px;color:#23383e;font-size:13px}
.figure-library-sidebar button{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 10px;border:0;border-radius:5px;background:transparent;color:#50666d;text-align:left;box-shadow:none}
.figure-library-sidebar button:hover{background:#f1f7f7}.figure-library-sidebar button.active{background:#e5f5f2;color:#0f766e}
.figure-library-sidebar button span{display:grid;place-items:center;min-width:22px;height:20px;padding:0 5px;border-radius:10px;background:#edf2f3;font-size:10px}
.figure-library-content{min-width:0;min-height:0;height:auto;padding:13px;border:1px solid #d9e6e8;border-radius:8px;background:#fff;align-self:start}
.figure-library-current{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.figure-library-current strong{font-size:17px}.figure-library-current span{color:#71838a;font-size:11px}
.figure-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.figure-library-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;min-height:112px;padding:9px 42px 9px 9px;border:1px solid #dce7e9;border-radius:7px;background:#fbfdfd}
.figure-library-card:hover{border-color:#78bdb4;background:#f7fcfb}
.figure-library-preview{display:grid;place-items:center;width:96px;height:76px;padding:0;border:0;background:transparent;box-shadow:none}
.figure-library-preview .template-miniature{width:96px;height:70px}
.figure-library-card-copy{display:grid;gap:3px;min-width:0}.figure-library-card-copy>span{color:#0f766e;font-size:9px;font-weight:800}.figure-library-card-copy>strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.figure-library-card-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#677b82;font-size:10px;line-height:1.4}.figure-library-card-copy>div{display:flex;flex-wrap:wrap;gap:4px}.figure-library-card-copy em{padding:2px 5px;border-radius:3px;background:#edf5f5;color:#557078;font-size:8px;font-style:normal}
.figure-library-add{position:absolute;right:9px;top:50%;translate:0 -50%;display:grid;place-items:center;width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;font-size:18px}
.table-library-toolbar{grid-template-columns:minmax(320px,1fr) 92px}
.table-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.table-library-card{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px;min-height:132px;padding:11px 44px 11px 11px;border:1px solid #dce7e9;border-radius:7px;background:#fbfdfd}
.table-library-card:hover{border-color:#78bdb4;background:#f7fcfb}
.table-library-preview{display:grid;place-items:center;width:116px;height:92px;padding:0;border:0;background:transparent;box-shadow:none}
.table-library-card>div{display:grid;gap:4px;min-width:0}.table-library-card>div>span{color:#0f766e;font-size:9px;font-weight:800}.table-library-card>div>strong{font-size:14px}.table-library-card p{margin:0;color:#677b82;font-size:10px;line-height:1.5}
.table-library-card>div>small{display:block;overflow:hidden;color:#3f6268;font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.paper-table-miniature{position:relative;display:grid;grid-template-rows:18px repeat(3,1fr);width:112px;height:84px;padding:7px;background:#fff;border:1px solid #cfdcdf;border-top:3px solid #22343a;border-bottom:3px solid #22343a;color:#5b7077}
.paper-table-miniature:before{content:"";position:absolute;left:7px;right:7px;top:25px;border-top:2px solid #52666d}
.paper-table-miniature i{display:block;border-bottom:1px solid #dce5e7;background:linear-gradient(90deg,#dfe9eb 0 31%,transparent 31% 34%,#edf3f4 34% 64%,transparent 64% 67%,#edf3f4 67%)}
.paper-table-miniature.regression i{background:linear-gradient(90deg,#dfe9eb 0 38%,transparent 38% 41%,#dcebe8 41% 57%,transparent 57% 60%,#edf3f4 60% 78%,transparent 78% 81%,#edf3f4 81%)}
.paper-table-miniature.supplement{border-top-color:#0f766e;border-bottom-color:#0f766e}.paper-table-miniature.supplement i:nth-child(even){background-color:#f0f8f6}
.paper-table-miniature.frequency i{background:linear-gradient(90deg,#dfe9eb 0 42%,transparent 42% 45%,#dcebe8 45% 68%,transparent 68% 71%,#edf3f4 71%)}
.paper-table-miniature.matrix i{background:repeating-linear-gradient(90deg,#dcebe8 0 18%,#fff 18% 21%)}
.paper-table-miniature.performance i{background:linear-gradient(90deg,#dfe9eb 0 31%,transparent 31% 34%,#cce4df 34% 48%,transparent 48% 51%,#edf3f4 51% 66%,transparent 66% 69%,#edf3f4 69%)}
.paper-table-miniature.missing i:nth-child(3){background:linear-gradient(90deg,#dfe9eb 0 31%,transparent 31% 34%,#f2c8bd 34% 64%,transparent 64% 67%,#edf3f4 67%)}
.paper-table-miniature.cluster i{background:linear-gradient(90deg,#dcebe8 0 24%,transparent 24% 27%,#cae2de 27% 50%,transparent 50% 53%,#edf3f4 53% 76%,transparent 76% 79%,#e5eeee 79%)}
.standalone-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.standalone-template-grid .template-item-card{min-height:120px}
.template-palette-page{grid-template-columns:repeat(4,minmax(0,1fr))}.my-template-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.my-template-library article{display:grid;gap:5px;padding:15px;border:1px solid #dbe7e9;border-radius:7px;background:#fff}.my-template-library article span{color:#6b7f86;font-size:11px}
@media(max-width:1300px){.figure-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-palette-page{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.template-home-entry,.template-home-entry.featured,.template-home-entry.personal{grid-column:span 6}.figure-library-layout{grid-template-columns:1fr}.figure-library-sidebar{position:static;display:flex;overflow-x:auto}.figure-library-sidebar>strong{display:none}.figure-library-sidebar button{white-space:nowrap}.figure-library-toolbar{grid-template-columns:1fr 1fr}.figure-library-count{display:none}.standalone-template-grid,.my-template-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.template-home-intro{align-items:flex-start;flex-direction:column}.template-home-intro p{text-align:left}.template-home-entry,.template-home-entry.featured,.template-home-entry.personal{grid-column:1/-1}.figure-library-toolbar{grid-template-columns:1fr}.template-search-field{grid-template-columns:1fr}.figure-library-grid,.table-library-grid,.standalone-template-grid,.my-template-library{grid-template-columns:1fr}.figure-library-card{grid-template-columns:82px minmax(0,1fr)}.figure-library-preview,.figure-library-preview .template-miniature{width:82px}.template-library-top{grid-template-columns:auto 1fr}.template-library-top p{display:none}.template-palette-page{grid-template-columns:1fr}.table-library-card{grid-template-columns:92px minmax(0,1fr)}.table-library-preview{width:92px}.paper-table-miniature{width:90px}}

/* Advanced survival and standalone research tools */
.section-inline-head,.analysis-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-inline-head>div:last-child{display:flex;gap:8px}.analysis-submit-row{padding-top:12px;border-top:1px solid #dce8ec}.survival-module-checks{display:grid!important;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px}.advanced-survival-options{margin-top:10px}.tools-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}.tools-sidebar{position:sticky;top:92px;padding:14px;border:1px solid #dbe7eb;background:#fff;border-radius:8px}.tools-sidebar input{width:100%;margin-bottom:12px}.tools-sidebar nav{display:grid;gap:5px}.tool-filter{width:100%;text-align:left;background:transparent;color:#24424d;box-shadow:none;border:0;padding:9px 10px}.tool-filter.active{background:#e7f5f3;color:#087c75}.tool-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-tile{min-height:126px;padding:16px;text-align:left;background:#fff;color:#16313b;border:1px solid #dbe7eb;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.tool-tile:hover{border-color:#168b83;box-shadow:0 8px 20px rgba(19,74,84,.08)}.tool-tile span,.tool-calculator header span{font-size:12px;color:#087c75;font-weight:700}.tool-tile strong{font-size:17px;margin:8px 0}.tool-tile small{font-size:13px;line-height:1.6;color:#647985}.tool-calculator{margin-top:16px;padding:18px;border:1px solid #cfe0e5;border-radius:8px;background:#fff}.tool-calculator.empty{text-align:center;color:#71848d}.tool-calculator header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e2eaed;padding-bottom:12px;margin-bottom:14px}.tool-calculator h4{font-size:20px;margin:4px 0}.tool-form-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.tool-form label{display:grid;gap:6px;font-weight:600}.tool-form textarea{width:100%}.tool-calc-btn{margin-top:14px}.tool-result{margin-top:14px;padding:14px 16px;background:#eef8f6;border-left:3px solid #11877f;border-radius:4px}.tool-result p{margin:6px 0 0;line-height:1.65}.tool-result table{width:100%;border-collapse:collapse}.tool-result th,.tool-result td{padding:7px;border-bottom:1px solid #d2e4e1;text-align:left}.metric-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.metric-strip span{background:#fff;padding:10px;border:1px solid #d5e6e3;border-radius:5px}.metric-strip b{display:block;font-size:18px;color:#087c75;margin-top:4px}@media(max-width:1100px){.survival-module-checks{grid-template-columns:repeat(3,1fr)}.tool-catalog{grid-template-columns:repeat(2,1fr)}.tool-form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.tools-workspace{grid-template-columns:1fr}.tools-sidebar{position:static}.tools-sidebar nav{display:flex;overflow-x:auto}.tool-filter{white-space:nowrap}.tool-catalog,.tool-form-grid,.metric-strip{grid-template-columns:1fr}.section-inline-head,.analysis-submit-row{align-items:stretch;flex-direction:column}}
.analysis-purpose-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px}.analysis-purpose-head h3{margin:2px 0 4px;font-size:20px}.analysis-purpose-head p{margin:0;color:#60737b}.current-access{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #cfe2e5;background:#f4fbfa;border-radius:6px;white-space:nowrap}.current-access span{font-size:12px;color:#60737b}.current-access strong{font-size:13px;color:#087d73}.analysis-route-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.analysis-route{position:relative;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;gap:1px 8px;min-height:78px;padding:12px;text-align:left;color:#17323a;background:#fff;border:1px solid #d8e5e8;box-shadow:none}.analysis-route:hover,.analysis-route.active{border-color:#168d83;background:#f0faf8;transform:none}.analysis-route>span:first-child{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e1f4f1;color:#087d73;font-size:12px;font-weight:800}.analysis-route strong{font-size:13px;align-self:end}.analysis-route small{font-size:11px;color:#6b7d84;line-height:1.35}.access-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;line-height:1.4;margin-left:6px}.analysis-route .access-badge{position:absolute;right:7px;top:7px;margin:0}.access-badge.included{color:#087d73;background:#e0f5ef}.access-badge.premium{color:#8a5d00;background:#fff2ce}.survival-module-source{display:none}.conditional-survival-settings,.conditional-survival-predictors{display:none}.conditional-survival-settings.visible{display:grid}.conditional-survival-predictors.visible{display:block}.execution-summary{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;min-width:360px;padding:10px 12px;border-left:3px solid #168d83;background:#f4faf9}.execution-summary span{grid-row:1/3;color:#60737b;font-size:11px;text-transform:uppercase}.execution-summary strong{font-size:13px}.execution-summary small{font-size:11px;color:#71828a}.analysis-submit-row{align-items:center}.ml-guided-panel>.section-head{position:relative}.ml-guided-panel>.section-head .current-access{position:absolute;right:0;top:0}.ml-stage-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.ml-stage-nav button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;background:#fff;color:#17323a;border:1px solid #d8e5e8;box-shadow:none}.ml-stage-nav button:hover,.ml-stage-nav button.active{background:#f0faf8;border-color:#168d83;transform:none}.ml-stage-nav b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e5f4f3;color:#087d73}.ml-stage-nav span{font-size:13px;font-weight:800}.ml-stage-nav small{display:block;margin-top:2px;color:#71828a;font-size:11px;font-weight:400}.ml-stage-panel{display:none}.ml-stage-panel.active{display:block}.ml-stage-panel.summary-mode{display:block;opacity:.8}.ml-stage-panel.summary-mode .grid.two,.ml-stage-panel.summary-mode #featureChecks{display:none}.ml-stage-panel>label:first-child{display:flex;align-items:center;gap:6px}.entitlement-modal.open{display:flex}.entitlement-dialog{max-width:560px}.entitlement-lead{color:#526970;margin:4px 0 14px}.upgrade-feature-list{display:grid;gap:8px}.upgrade-feature-list>div{display:flex;gap:10px;padding:10px;border:1px solid #d9e7e9;background:#f8fbfb;border-radius:6px}.upgrade-feature-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dff4ef;color:#087d73;font-weight:900}.upgrade-feature-list p{margin:0}.upgrade-feature-list strong,.upgrade-feature-list small{display:block}.upgrade-feature-list small{margin-top:2px;color:#6a7d84}.upgrade-comparison{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;background:#fff6db;border:1px solid #f0d995;border-radius:6px}.upgrade-comparison span{color:#78643c}.upgrade-comparison strong{color:#57420d}.entitlement-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.entitlement-modal.open{align-items:center;justify-content:center}
.entitlement-modal.open .entitlement-dialog{margin:auto}
@media(max-width:1100px){.analysis-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ml-stage-nav{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.analysis-purpose-head{display:block}.current-access{margin-top:10px;width:max-content}.analysis-route-grid,.ml-stage-nav{grid-template-columns:1fr}.execution-summary{min-width:0;width:100%}.analysis-submit-row{align-items:stretch}.ml-guided-panel>.section-head .current-access{position:static}}

/* Unified module headers and contextual help */
.module-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none!important}
.module-titlebar>div:first-child{min-width:0}
.module-title-copy{display:grid;align-content:center;gap:2px}
.module-title-copy>.eyebrow{display:block;line-height:1.25}
.module-title-copy>h2,.module-title-copy>h3,.module-title-copy>h4{margin:0;line-height:1.3}
.module-titlebar>p{display:none}
.module-title-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.module-guide-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 12px;white-space:nowrap}
.module-guide-button>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dff3f0;color:#087d73;font-size:12px;font-weight:900}
.ml-guided-panel>.section-head .current-access{position:static;margin-left:auto}
.ml-guided-panel>.section-head .module-title-actions{margin-left:0}
#statsThreeStepGuide,#mlExperimentGuide{display:none!important}
.module-guide-backdrop{position:fixed;inset:0;z-index:1800;display:flex;justify-content:flex-end;background:rgba(14,35,43,.28);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.module-guide-backdrop.open{opacity:1;visibility:visible}
.module-guide-drawer{display:flex;flex-direction:column;width:min(470px,94vw);height:100%;padding:0;background:#fff;box-shadow:-16px 0 40px rgba(12,43,52,.18);transform:translateX(100%);transition:transform .22s ease}
.module-guide-backdrop.open .module-guide-drawer{transform:translateX(0)}
.module-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid #dce8ea;background:#f7fbfb}
.module-guide-head h3{margin:4px 0 6px;font-size:22px;letter-spacing:0}
.module-guide-head p{margin:0;color:#60737b;line-height:1.65}
.module-guide-body{display:grid;align-content:start;gap:10px;padding:18px 20px;overflow:auto}
.module-guide-section{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px;border:1px solid #dce8ea;border-radius:6px;background:#fff}
.module-guide-section>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e2f4f1;color:#087d73;font-size:12px;font-weight:900}
.module-guide-section h4{margin:1px 0 5px;font-size:15px;letter-spacing:0}
.module-guide-section p{margin:0;color:#5f737b;font-size:13px;line-height:1.65}
.module-guide-footer{margin-top:auto;padding:16px 20px;border-top:1px solid #dce8ea;background:#fff}
.module-guide-footer button{width:100%}
body.guide-drawer-open{overflow:hidden}
@media(max-width:700px){.module-titlebar{align-items:stretch;gap:10px;flex-direction:column}.module-title-actions{margin-left:0}.module-guide-button{width:100%;justify-content:center}.ml-guided-panel>.section-head .current-access{margin-left:0}.module-guide-head{padding:18px}.module-guide-body{padding:14px}}
.project-name-availability {
  display: block;
  min-height: 20px;
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
}

.project-name-availability.valid { color: #087f72; }
.project-name-availability.invalid { color: #c2413a; }
#projectNameModalInput[aria-invalid="true"] {
  border-color: #dc6259;
  box-shadow: 0 0 0 3px rgba(220, 98, 89, 0.12);
}

/* Results, paper assets and report delivery hierarchy */
.nav-section{display:grid;gap:5px;margin-top:4px;padding:8px;border:1px solid rgba(151,194,204,.2);border-radius:8px;background:rgba(4,35,47,.14)}
.nav-section.active{border-color:rgba(93,194,183,.5);background:rgba(12,69,79,.35)}
.nav-section-label{display:grid;gap:2px;padding:3px 7px 5px;color:#e9f8f7}.nav-section-label span{font-size:13px;font-weight:800}.nav-section-label small{color:#9fc1c8;font-size:10px}
.nav-section .nav-item,.nav-section .nav-subroute{display:grid;margin:0;min-height:50px;padding:8px 10px}.nav-section .nav-item span{font-size:13px}.nav-section .nav-item small{font-size:10px}.nav-section .nav-subroute span:before{content:""}
.paper-overview-card{position:relative;width:100%;color:inherit;text-align:left;box-shadow:none}.paper-overview-card:hover{translate:0 -2px;border-color:#69b7ae;background:#f7fcfb}.paper-overview-card:after{content:"进入工作台 →";position:absolute;right:15px;bottom:13px;color:#087d73;font-size:11px;font-weight:800}
.project-record-button{min-width:86px;white-space:nowrap}
.paper-panel,.report-panel{padding:18px!important}.paper-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;max-width:none}.paper-panel-head>div:first-child{min-width:0}.paper-panel-head .tools-row{flex:0 0 auto;margin:0}.paper-panel #paperAssetManager{margin-top:10px;min-height:420px}
.report-export-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px}.report-export-layout>.block{margin:0}.paper-summary-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.paper-summary-mini span{display:grid;gap:5px;padding:11px;border:1px solid #dbe7e9;border-radius:6px;background:#f6faf9;color:#60737b}.paper-summary-mini b{color:#087d73;font-size:20px}.report-export-actions{display:flex;gap:8px;margin-top:14px}.report-export-actions button{flex:1}
.copilot-head-compact{align-items:center!important;padding:16px 18px!important}.copilot-head-compact h3{margin:2px 0 4px}.copilot-head-compact p{margin:0}.copilot-compact-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.copilot-compact-actions>span{padding:6px 9px;border-radius:5px;background:#e4f4f1;color:#087d73;font-size:11px;font-weight:800}
@media(max-width:1000px){.paper-summary-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.report-export-layout{grid-template-columns:1fr}}
@media(max-width:680px){.paper-panel-head{align-items:stretch;flex-direction:column}.paper-panel-head .tools-row{width:100%;overflow-x:auto}.paper-summary-mini{grid-template-columns:1fr 1fr}.copilot-head-compact{align-items:stretch!important;flex-direction:column}.copilot-compact-actions{justify-content:flex-start}}

/* Project overview keeps only the command center, workflow and next-step guidance. */
.project-panel-refined.has-active-project .home-layout {
  display: none;
}

/* Report builder: configuration, scope, completeness and export are separate decisions. */
.report-panel .report-export-layout {
  grid-template-columns: minmax(300px, .72fr) minmax(620px, 1.28fr);
  align-items: start;
}

.report-draft-panel {
  gap: 12px;
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.report-config-section {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid #dbe7e9;
  border-radius: 7px;
  background: #f9fcfc;
}

.report-subhead,
.report-subhead > div:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.report-subhead > div:first-child > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  border-radius: 50%;
  background: #dff3ef;
  color: #087d73;
  font-size: 11px;
  font-weight: 900;
}

.report-subhead strong { font-size: 14px; }
.report-subhead small { color: #6a7c82; font-size: 11px; }
.report-config-primary-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
  gap: 12px;
  align-items: end;
}
.report-title-field { display: grid; gap: 6px; }
.report-language-field { display: grid; gap: 6px; }

.report-section-checks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
}

.report-section-checks label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid #dce8ea;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}

.report-section-checks label:has(input:checked) {
  border-color: #73bcb3;
  background: #eff9f7;
}

.report-section-checks input { margin-top: 3px; }
.report-section-checks label > span { display: grid; gap: 3px; min-width: 0; }
.report-section-checks label strong { color: #17343d; font-size: 12px; }
.report-section-checks label small { color: #708187; font-size: 10px; font-weight: 500; line-height: 1.35; }

.report-subhead-actions {
  justify-content: space-between;
  gap: 12px;
}

.report-inline-actions {
  display: flex;
  gap: 7px;
  flex: 0 0 auto;
}

.report-inline-actions button { min-height: 34px; padding: 7px 11px; white-space: nowrap; }

.report-draft-preview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
}

.report-draft-preview > strong {
  grid-column: 1 / -1;
  padding: 9px 10px;
  border-radius: 6px;
  background: #eaf7f4;
}

.report-draft-preview div {
  grid-template-columns: 110px minmax(0, 1fr);
  min-height: 48px;
  padding: 9px 10px;
  border-radius: 6px;
}

.report-draft-preview p { margin: 0; font-size: 11px; line-height: 1.45; }
.report-export-actions { padding-top: 13px; border-top: 1px solid #dbe7e9; }

@media(max-width:1200px) {
  .report-panel .report-export-layout { grid-template-columns: 1fr; }
}

@media(max-width:760px) {
  .report-section-checks,
  .report-draft-preview { grid-template-columns: 1fr; }
  .report-subhead-actions { align-items: flex-start; flex-direction: column; }
  .report-inline-actions { width: 100%; }
  .report-inline-actions button { flex: 1; }
}

/* Document-like report preview: mirrors the content list used by Word/PDF export. */
.report-draft-preview.report-document-preview {
  display: block;
  max-height: 720px;
  overflow: auto;
  padding: 18px;
  border: 1px solid #d6e3e5;
  border-radius: 8px;
  background: #eaf0f1;
}

.report-draft-preview.report-document-preview div,
.report-draft-preview.report-document-preview header,
.report-draft-preview.report-document-preview section,
.report-draft-preview.report-document-preview article {
  grid-template-columns: none;
}

.report-document-preview .report-preview-paper {
  display: block;
  max-width: 920px;
  margin: 0 auto;
  padding: 34px 42px;
  border: 1px solid #dbe5e7;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(28, 56, 63, .08);
}

.report-document-preview .report-preview-paper-head {
  display: block;
  padding: 0 0 20px;
  border: 0;
  border-bottom: 1px solid #dfe8ea;
  border-radius: 0;
  background: transparent;
  text-align: center;
}

.report-document-preview .report-preview-paper-head small { color: #6d8086; }
.report-document-preview .report-preview-paper-head h3 { margin: 9px 0 6px; font-size: 25px; }
.report-document-preview .report-preview-paper-head p { margin: 0; color: #60747b; }

.report-document-preview .report-preview-section {
  display: block;
  min-height: 0;
  margin-top: 22px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.report-document-preview .report-preview-section h4 { margin: 0 0 8px; font-size: 17px; }
.report-document-preview .report-preview-section > p { margin: 0; color: #526970; font-size: 12px; line-height: 1.7; }

.report-document-preview .report-preview-assets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.report-document-preview .report-preview-asset {
  display: block;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dbe6e8;
  border-radius: 6px;
  background: #fbfdfd;
}

.report-document-preview .report-preview-asset.missing { border-color: #ebc3b8; background: #fff8f5; }
.report-document-preview .report-preview-asset header { display: flex; gap: 8px; align-items: baseline; padding: 0 0 9px; border: 0; background: transparent; }
.report-document-preview .report-preview-asset header b { color: #087d73; }
.report-document-preview .report-preview-asset header span { min-width: 0; overflow: hidden; color: #203940; text-overflow: ellipsis; white-space: nowrap; }
.report-document-preview .report-preview-image-wrap { display: grid; place-items: center; min-height: 180px; padding: 8px; border: 1px solid #e1e9eb; border-radius: 4px; background: #fff; }
.report-document-preview .report-preview-image-wrap img { display: block; width: 100%; height: 230px; object-fit: contain; }
.report-document-preview .report-preview-table-wrap { display: block; max-height: 260px; overflow: auto; padding: 0; border: 1px solid #e1e9eb; border-radius: 4px; background: #fff; }
.report-document-preview .report-preview-table-wrap table { width: 100%; border-collapse: collapse; font-size: 10px; }
.report-document-preview .report-preview-table-wrap th,
.report-document-preview .report-preview-table-wrap td { padding: 6px; border-bottom: 1px solid #e5ecee; text-align: left; }
.report-document-preview .report-preview-caption { margin: 9px 0 0; color: #344f57; font-size: 11px; line-height: 1.55; }
.report-document-preview .report-preview-footnote { margin: 5px 0 0; color: #667b82; font-size: 10px; line-height: 1.5; }
.report-document-preview .report-preview-asset > small { display: block; margin-top: 7px; color: #839196; }
.report-document-preview .report-preview-missing { display: block; padding: 12px; border: 1px dashed #d89b88; border-radius: 5px; background: #fff4ef; color: #a34831; font-size: 11px; line-height: 1.55; }

@media(max-width:900px) {
  .report-document-preview .report-preview-paper { padding: 24px 20px; }
  .report-document-preview .report-preview-assets { grid-template-columns: 1fr; }
}

/* Locked community and template creator previews */
.locked-product-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #dce8ea}.locked-product-head>div{display:grid;gap:5px}.locked-product-head h3{margin:0;font-size:26px;letter-spacing:0}.locked-product-head p{margin:0;color:#63777e}.locked-product-head .compact{width:max-content;margin-bottom:8px}.launch-status{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e5d9ad;border-radius:6px;background:#fff9e7;color:#86620a;font-size:12px;font-weight:800;white-space:nowrap}.launch-status i{width:7px;height:7px;border-radius:50%;background:#d19a15}.community-preview-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:14px;align-items:start}.community-channel-list,.community-preview-feed,.community-launch-card,.template-creator-shell>aside,.creator-canvas-preview{border:1px solid #dbe7e9;border-radius:7px;background:#fff}.community-channel-list{display:grid;gap:5px;padding:12px}.community-channel-list>strong{padding:5px 8px 10px}.community-channel-list button,.creator-type-rail button{display:grid;gap:3px;padding:11px;text-align:left;color:#314b53;border:0;background:transparent;box-shadow:none}.community-channel-list button.active,.creator-type-rail button.active{background:#eaf7f4;color:#087d73}.community-channel-list small,.creator-type-rail small{color:#77888e;font-size:10px}.community-preview-feed{display:grid;gap:10px;padding:14px}.community-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #e1eaec}.community-preview-toolbar>div{display:grid;gap:3px}.community-preview-toolbar span{color:#75868b;font-size:11px}.community-post-preview{padding:14px;border:1px solid #dfe9eb;border-radius:6px;background:#fbfdfd}.community-post-preview h4{margin:7px 0;font-size:16px;letter-spacing:0}.community-post-preview p{margin:0;color:#5f747b;line-height:1.6}.community-post-preview footer{display:flex;gap:16px;margin-top:12px;color:#7b8c91;font-size:11px}.post-kind{color:#087d73;font-size:10px;font-weight:900}.community-launch-card{display:grid;gap:11px;padding:17px;background:#f7fbfb}.community-launch-card h4{margin:0;font-size:18px}.community-launch-card ul{display:grid;gap:9px;margin:0;padding-left:19px;color:#526970}.community-launch-card small{color:#7b8b90;line-height:1.5}.template-creator-entry{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:14px;padding:13px 16px;color:#17343d;text-align:left;border:1px solid #b8dcd7;background:#eff9f7;box-shadow:none}.template-creator-entry span{display:grid;gap:3px}.template-creator-entry small{color:#61767d;font-weight:500}.template-creator-entry b{color:#087d73;font-size:12px}.template-creator-shell{display:grid;grid-template-columns:210px minmax(420px,1fr) minmax(330px,.68fr);gap:14px;align-items:stretch}.creator-type-rail{display:grid;align-content:start;gap:5px;padding:12px}.creator-type-rail>strong{padding:5px 9px 9px}.creator-canvas-preview{display:grid;grid-template-rows:auto minmax(390px,1fr);overflow:hidden}.creator-canvas-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #dfe9eb}.creator-canvas-head>div{display:grid;gap:3px}.creator-canvas-head span{color:#6d8086;font-size:11px}.creator-demo-chart{position:relative;min-height:390px;margin:20px 24px 28px;border-left:2px solid #526970;border-bottom:2px solid #526970;background:linear-gradient(#fff,#fbfdfd)}.creator-axis-y{position:absolute;left:25%;top:15%;bottom:0;border-left:1px dashed #d7e2e4}.creator-boxplot{position:absolute;bottom:24%;width:72px;height:150px;border:2px solid #148b80;background:rgba(20,139,128,.18)}.creator-boxplot.one{left:27%}.creator-boxplot.two{right:27%;height:190px;border-color:#d45b45;background:rgba(212,91,69,.18)}.creator-boxplot i{position:absolute;left:50%;top:-48px;height:245px;border-left:2px solid currentColor}.creator-boxplot b{position:absolute;left:0;right:0;top:52%;border-top:3px solid #d4943e}.creator-bracket{position:absolute;left:31%;right:31%;top:12%;padding-top:8px;text-align:center;border-top:2px solid #354f57}.creator-axis-x{position:absolute;left:20%;right:20%;bottom:-25px;display:flex;justify-content:space-between;color:#536a72;font-size:12px}.creator-settings-preview{display:grid;align-content:start;gap:11px;padding:16px;background:#f9fcfc!important}.creator-settings-preview h4{margin:3px 0 0;font-size:19px}.creator-settings-preview label{display:grid;gap:5px}.creator-settings-preview textarea{min-height:76px;resize:none}.creator-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.creator-checklist{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px;border:1px solid #dce8ea;border-radius:6px;background:#fff}.creator-checklist strong{grid-column:1/-1}.creator-checklist span:before{content:"✓";margin-right:6px;color:#087d73;font-weight:900}.creator-settings-preview>small{color:#718389;line-height:1.5}
@media(max-width:1180px){.community-preview-layout{grid-template-columns:190px 1fr}.community-launch-card{grid-column:1/-1}.template-creator-shell{grid-template-columns:180px 1fr}.creator-settings-preview{grid-column:1/-1}}
@media(max-width:760px){.locked-product-head{align-items:stretch;flex-direction:column}.launch-status{width:max-content}.community-preview-layout,.template-creator-shell{grid-template-columns:1fr}.community-channel-list,.creator-type-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.community-channel-list>strong,.creator-type-rail>strong{grid-column:1/-1}.creator-canvas-preview{grid-template-rows:auto 330px}.creator-demo-chart{min-height:290px}.creator-field-grid,.creator-checklist{grid-template-columns:1fr}}

/* Community preview: compact, content-first layout. */
#communityPanel .locked-product-head{align-items:center;margin-bottom:14px;padding:4px 2px 15px}
.community-title-line{display:flex;align-items:center;gap:12px}.community-title-line h3{font-size:28px}.community-title-line .launch-status{padding:5px 9px;font-size:11px}
.community-head-actions{display:flex!important;grid-auto-flow:column;align-items:end!important;gap:8px!important}.community-head-actions button{height:38px;white-space:nowrap}.community-search{display:grid;gap:4px}.community-search span{font-size:10px;font-weight:800;color:#61767d}.community-search input{width:260px;height:38px}
.community-preview-layout{grid-template-columns:190px minmax(520px,1fr) 250px;gap:12px}
.community-channel-list{position:sticky;top:18px;padding:10px}.community-channel-list button{border-radius:5px}.community-channel-list button.active{box-shadow:inset 3px 0 #0b8b80}
.community-preview-feed{gap:8px;padding:11px}.community-preview-toolbar{padding:0 2px 9px}.community-preview-toolbar>span{color:#788a90;font-size:10px}.community-feed-tabs{display:flex;gap:4px}.community-feed-tabs button{padding:7px 12px;color:#5d737a;background:transparent;border:0;box-shadow:none}.community-feed-tabs button.active{color:#087d73;background:#eaf7f4}
.community-post-preview{display:block;padding:13px 14px}.community-post-preview.featured{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:14px}.community-post-preview header{display:flex;align-items:center;gap:8px}.community-post-preview header>span:nth-child(2){display:grid;gap:1px}.community-post-preview header small{font-size:10px;color:#819095}.community-post-preview header .post-kind{margin-left:auto}.author-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#087d73;background:#dff3ef;font-size:12px;font-weight:900}.author-avatar.coral{color:#a54737;background:#f9e5df}.author-avatar.blue{color:#315b8f;background:#e1ebf6}.community-post-preview h4{font-size:15px}.community-post-preview p{font-size:12px;line-height:1.55}.post-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.post-tags span,.community-tag-cloud span{padding:4px 7px;border-radius:4px;background:#eef5f5;color:#567078;font-size:9px}.community-post-preview footer{margin-top:9px}
.post-visual{position:relative;align-self:stretch;min-height:104px;overflow:hidden;border:1px solid #dce8ea;border-radius:5px;background:#f6faf9}.chart-preview:before,.chart-preview:after{content:"";position:absolute;left:14px;right:12px;border-bottom:1px solid #dfe8e9}.chart-preview:before{top:35%}.chart-preview:after{top:68%}.chart-preview i{position:absolute;bottom:15px;width:19px;border-radius:2px 2px 0 0;background:#198e83}.chart-preview i:nth-child(1){left:22px;height:39px}.chart-preview i:nth-child(2){left:51px;height:64px;background:#d76751}.chart-preview i:nth-child(3){left:80px;height:50px;background:#72a7ba}.palette-preview{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px}.palette-preview i{width:19px;height:66px;border-radius:3px;background:#0b7e79}.palette-preview i:nth-child(2){height:82px;background:#db694f}.palette-preview i:nth-child(3){height:52px;background:#497b9a}.palette-preview i:nth-child(4){height:72px;background:#d8aa56}
.community-side-column{display:grid;gap:10px}.community-launch-card{gap:8px;padding:14px}.community-launch-card h4{font-size:16px}.community-launch-card p{margin:0;color:#64787f;font-size:11px;line-height:1.55}.community-side-card{display:grid;gap:9px;padding:14px;border:1px solid #dbe7e9;border-radius:7px;background:#fff}.community-side-card>strong{font-size:13px}.community-tag-cloud{display:flex;flex-wrap:wrap;gap:6px}.community-side-card ul{display:grid;gap:7px;margin:0;padding-left:17px;color:#61767d;font-size:11px}
@media(max-width:1180px){.community-head-actions .community-search{display:none}.community-preview-layout{grid-template-columns:170px minmax(0,1fr)}.community-side-column{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.community-launch-card{grid-column:auto}}
@media(max-width:760px){#communityPanel .locked-product-head{align-items:stretch}.community-title-line{flex-wrap:wrap}.community-head-actions{grid-auto-flow:column;justify-content:start}.community-preview-layout{grid-template-columns:1fr}.community-channel-list{position:static;display:flex;overflow-x:auto}.community-channel-list>strong{display:none}.community-channel-list button{min-width:130px}.community-post-preview.featured{grid-template-columns:1fr}.post-visual{display:none}.community-side-column{grid-template-columns:1fr}.community-feed-tabs{overflow-x:auto}}

/* Community home: compact discovery, readable knowledge, reproducible workflows. */
#communityPanel{align-content:start;gap:14px;min-height:calc(100vh - 80px);padding-top:18px}
.community-appbar{display:grid;grid-template-columns:auto minmax(420px,1fr) auto;align-items:center;gap:22px;padding:12px 16px;border:1px solid #d8e6e8;border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(31,64,73,.06)}
.community-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.community-brand .eyebrow{display:none}.community-brand h3{margin:0;font-size:23px;letter-spacing:0}.community-brand .launch-status{padding:5px 8px;font-size:10px}
.community-primary-tabs{display:flex;justify-content:center;gap:3px;min-width:0}.community-primary-tabs button,.community-mini-tabs button{padding:8px 11px;border:0;background:transparent;color:#566c73;box-shadow:none}.community-primary-tabs button.active,.community-mini-tabs button.active{color:#087d73;background:#eaf7f4}
.community-app-actions{display:flex;align-items:center;gap:7px}.community-app-actions input{width:230px;height:36px}.community-app-actions button{height:36px;padding-inline:13px;white-space:nowrap}
.community-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}.community-home-main{display:grid;gap:14px;min-width:0}.community-block,.community-side-card{border:1px solid #dbe7e9;border-radius:7px;background:#fff}.community-block{padding:16px}.community-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.community-section-title>div:first-child{display:grid;gap:2px}.community-section-title h4{margin:0;font-size:19px;letter-spacing:0}.community-section-title>span{color:#71848a;font-size:11px}.community-mini-tabs{display:flex;gap:3px}
.community-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.community-showcase-card{display:grid;grid-template-rows:118px 1fr;overflow:hidden;border:1px solid #dfe9eb;border-radius:6px;background:#fbfdfd}.community-showcase-card>div:last-child{display:grid;align-content:start;gap:6px;padding:11px 12px}.community-showcase-card h5,.community-question h5,.community-workflow-grid h5{margin:0;font-size:14px;letter-spacing:0;line-height:1.4}.community-showcase-card p,.community-question p,.community-workflow-grid p{margin:0;color:#61767d;font-size:11px;line-height:1.55}.community-showcase-card footer,.community-question footer{display:flex;gap:12px;color:#7a8b90;font-size:10px}.community-art{position:relative;min-height:118px;border:0;border-bottom:1px solid #dfe9eb;border-radius:0;background:#f3f8f8}.community-art.chart-preview i:nth-child(1){left:30%;height:42px}.community-art.chart-preview i:nth-child(2){left:48%;height:72px}.community-art.chart-preview i:nth-child(3){left:66%;height:56px}.community-art.palette-preview i{width:28px}.workflow-preview{display:flex;align-items:center;justify-content:center;gap:7px;padding:16px}.workflow-preview b{padding:8px 9px;border:1px solid #bcded9;border-radius:5px;background:#fff;color:#176f68;font-size:11px}.workflow-preview i{width:22px;border-top:1px solid #85aaa6}
.community-questions{padding-bottom:8px}.community-question{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 2px;border-top:1px solid #e2ebed}.community-question:first-of-type{border-top:0}.community-question>div{display:grid;gap:5px}.community-question>strong{text-align:center;color:#087d73;font-size:15px}.community-question>strong small{color:#819096;font-size:9px;font-weight:500}.question-state{padding:4px 7px;border-radius:4px;background:#e5f5f2;color:#087d73;font-size:9px;font-weight:800}.question-state.neutral{background:#eef3f5;color:#577078}
.community-workflow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.community-workflow-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:13px;border:1px solid #dfe9eb;border-radius:6px;background:#fbfdfd}.community-workflow-grid article>*:not(button){grid-column:1}.community-workflow-grid button{grid-column:2;grid-row:1/4;align-self:center}.workflow-node-row{display:flex;align-items:center;gap:5px;overflow:hidden}.workflow-node-row span{padding:4px 6px;border-radius:4px;background:#eaf5f3;color:#276f69;font-size:9px;white-space:nowrap}.workflow-node-row i{width:12px;min-width:8px;border-top:1px solid #9eb9b6}
.community-home-side{position:sticky;top:14px;display:grid;gap:10px}.community-side-card{display:grid;gap:10px;padding:14px}.community-side-card h4{margin:0;font-size:17px}.community-side-card p{margin:0;color:#60757c;font-size:11px;line-height:1.6}.community-notice{background:#f5faf9}.community-side-heading{display:flex;justify-content:space-between;gap:12px}.community-side-heading span{color:#839196;font-size:10px}.community-hot-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.community-hot-list li{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:7px;padding:9px 0;border-top:1px solid #e5edef;color:#486169;font-size:11px}.community-hot-list li:first-child{border-top:0}.community-hot-list b{color:#0b8a80;font-size:10px}.community-principles{display:grid;gap:8px;margin:0;padding-left:17px;color:#5f747b;font-size:11px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1260px){.community-appbar{grid-template-columns:auto 1fr}.community-app-actions{grid-column:1/-1}.community-app-actions label{flex:1}.community-app-actions input{width:100%}.community-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-showcase-card:last-child{grid-column:1/-1;grid-template-columns:180px 1fr;grid-template-rows:auto}.community-showcase-card:last-child .community-art{border-right:1px solid #dfe9eb;border-bottom:0}}
@media(max-width:900px){.community-appbar{grid-template-columns:1fr}.community-primary-tabs{justify-content:flex-start;overflow-x:auto}.community-home-grid{grid-template-columns:1fr}.community-home-side{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.community-workflow-grid{grid-template-columns:1fr}}
@media(max-width:640px){#communityPanel{padding:12px}.community-brand{flex-wrap:wrap}.community-primary-tabs{margin-inline:-6px}.community-app-actions label{display:none}.community-showcase-grid{grid-template-columns:1fr}.community-showcase-card:last-child{grid-column:auto;grid-template-columns:1fr;grid-template-rows:118px 1fr}.community-showcase-card:last-child .community-art{border-right:0;border-bottom:1px solid #dfe9eb}.community-home-side{grid-template-columns:1fr}.community-question{grid-template-columns:auto 1fr}.community-question>strong{display:none}.community-workflow-grid article{grid-template-columns:1fr}.community-workflow-grid button{grid-column:1;grid-row:auto;justify-self:start}}

/* Community discovery v2: larger navigation and mixed reusable research assets. */
.community-appbar{min-height:76px;padding:14px 20px;gap:26px}
.community-brand h3{font-size:27px;font-weight:850}
.community-brand .launch-status{padding:7px 10px;font-size:11px}
.community-primary-tabs{gap:5px}
.community-primary-tabs button{min-height:44px;padding:11px 14px;border-radius:6px;font-size:15px;font-weight:750;letter-spacing:0;white-space:nowrap}
.community-app-actions input{height:44px;font-size:14px}
.community-app-actions button{height:44px;padding-inline:16px;font-size:14px;font-weight:750}
.community-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;border:1px solid #dce8ea;border-radius:7px;background:#f7fbfb}
.community-filterbar>div{display:flex;gap:4px;overflow-x:auto}
.community-filterbar button{min-height:34px;padding:7px 12px;border:0;border-radius:5px;background:transparent;color:#60757c;box-shadow:none;font-size:12px;font-weight:700;white-space:nowrap}
.community-filterbar button.active{background:#dff3ef;color:#087d73}
.community-filterbar>span{color:#7a8c91;font-size:11px;white-space:nowrap}
.community-mixed-feed{padding-bottom:7px}
.community-feed-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px 2px;border-top:1px solid #e1eaec}
.community-feed-item:first-of-type{border-top:0}
.community-feed-item>div:nth-child(2){display:grid;gap:6px;min-width:0}
.community-feed-item header,.community-feed-item footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.community-feed-item h5{margin:0;color:#17343d;font-size:15px;line-height:1.45;letter-spacing:0}
.community-feed-item p{margin:0;color:#60757c;font-size:12px;line-height:1.6}
.community-feed-item footer{color:#7b8c91;font-size:10px}
.community-type-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:#e2f4f1;color:#087d73;font-size:14px;font-weight:900}
.community-type-icon.paper{background:#e7eef8;color:#315f98}.community-type-icon.figure{background:#fbe8e2;color:#af4d3a}.community-type-icon.data{background:#e8f3ed;color:#39775a}.community-type-icon.qa{background:#f5edda;color:#906c18}
.asset-type,.asset-verified,.asset-price,.asset-free{padding:3px 6px;border-radius:4px;font-size:9px;font-weight:850}
.asset-type{background:#eef5f5;color:#4d6b72}.asset-verified{background:#e2f4f1;color:#087d73}.asset-price{background:#fff1cf;color:#885f00}.asset-free{background:#e7f3e9;color:#39734b}
.asset-add{align-self:center;width:38px;height:38px;padding:0;border-radius:50%;font-size:22px;line-height:1}
.community-feed-item.visual{grid-template-columns:42px minmax(0,1fr) 108px auto}
.feed-mini-chart{position:relative;width:108px;height:82px;overflow:hidden;border:1px solid #dce8ea;border-radius:5px;background:#f7fbfb}
.research-cart-item{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:8px;padding:8px;border:1px solid #e0eaec;border-radius:6px;background:#fbfdfd}
.research-cart-item>i{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;background:#e2f4f1;color:#087d73;font-style:normal;font-size:10px;font-weight:900}
.research-cart-item>i.figure{background:#fbe8e2;color:#af4d3a}.research-cart-item>i.palette{background:#e7eef8;color:#315f98}
.research-cart-item>span{display:grid;gap:2px;min-width:0}.research-cart-item b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.research-cart-item small{color:#829197;font-size:9px}
.research-cart-item button{width:24px;height:24px;padding:0;border:0;background:transparent;color:#819197;box-shadow:none}
.community-research-cart label{display:grid;gap:5px;color:#60757c;font-size:10px}.community-research-cart select{height:34px;font-size:11px}

@media(max-width:1260px){.community-appbar{grid-template-columns:auto minmax(0,1fr)}.community-primary-tabs{justify-content:flex-start}.community-filterbar>span{display:none}}
@media(max-width:900px){.community-appbar{padding:14px 16px}.community-primary-tabs button{font-size:14px}.community-feed-item.visual{grid-template-columns:42px minmax(0,1fr) auto}.feed-mini-chart{display:none}}
@media(max-width:640px){.community-appbar{min-height:auto}.community-brand h3{font-size:24px}.community-primary-tabs button{min-height:40px;padding:9px 11px;font-size:13px}.community-app-actions button{height:40px;font-size:13px}.community-filterbar{padding:7px 9px}.community-feed-item{grid-template-columns:36px minmax(0,1fr)}.community-type-icon{width:34px;height:34px}.community-feed-item>.asset-add{grid-column:2;justify-self:start;width:auto;height:32px;padding:0 12px;border-radius:5px;font-size:16px}}


/* Stage-one community: official, searchable, and intentionally read-only. */
.community-stage-one {
  width: min(1540px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 14px 0 44px;
  box-sizing: border-box;
}

.community-stage-header,
.community-toolbar,
.community-stage-layout {
  display: grid;
  gap: 20px;
}

.community-stage-header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 10px 14px 14px;
  border-bottom: 1px solid #dce9ed;
}

.community-stage-header > div:first-child { display: flex; align-items: baseline; gap: 18px; }

.community-stage-header h2 {
  margin: 0;
  font-size: 27px;
  line-height: 1.18;
}
.community-stage-header p { margin: 0; font-size: 14px; }

.community-stage-header p,
.community-toolbar-note,
.community-nav-footnote,
.community-aside-card p,
.community-post-card p,
.community-detail-summary,
.community-detail-body p {
  color: #64758a;
  line-height: 1.7;
}

.community-stage-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.community-publish-menu { position: relative; }
.community-publish-options {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  width: 310px;
  padding: 8px;
  border: 1px solid #d6e5e8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(36, 61, 72, .16);
}
.community-publish-options button {
  display: grid;
  width: 100%;
  gap: 3px;
  padding: 12px;
  text-align: left;
  color: #213b47;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
}
.community-publish-options button:hover { background: #edf8f6; }
.community-publish-options span { color: #6a7b89; font-size: 12px; font-weight: 400; }
.community-post-form { grid-template-columns: 1fr; }
.community-form-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
  border: 1px solid #dbe7e9;
  border-radius: 8px;
  background: #fbfdfd;
}
.community-form-section > div { grid-column: 1 / -1; display: grid; gap: 3px; }
.community-form-section > div span { color: #6b7e8a; font-size: 12px; }
.community-form-section label:has(textarea[name="body"]),
.community-form-section label:has(textarea[name="summary"]),
.community-form-section label:has(input[name="tags"]) { grid-column: 1 / -1; }
.community-form-section textarea[name="body"] { min-height: 220px; }
.community-publish-confirmations { gap: 10px; }
.community-confirm-card {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: flex-start;
  column-gap: 9px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #d5e3e6;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.community-confirm-card:hover { border-color: #82c8c1; background: #f7fcfb; }
.community-confirm-card:has(input:checked) {
  border-color: #56b5ab;
  background: #eaf8f5;
  box-shadow: inset 0 0 0 1px rgba(13, 137, 126, .12);
}
.community-confirm-card input[type="checkbox"] {
  appearance: none;
  grid-column: 1;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin: 2px 0 0;
  padding: 0;
  border: 1.5px solid #9bb0b7;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.community-confirm-card input[type="checkbox"]:checked {
  border-color: #0b8980;
  background: #0b8980;
}
.community-confirm-card input[type="checkbox"]:checked::after {
  content: "";
  display: block;
  width: 4px;
  height: 8px;
  margin: 1px 0 0 5px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.community-confirm-card input[type="checkbox"]:focus-visible { outline: 3px solid rgba(11, 137, 128, .2); outline-offset: 2px; }
.community-confirm-card > span { grid-column: 2; display: grid; min-width: 0; gap: 3px; line-height: 1.45; }
.community-confirm-card > span strong { color: #193a43; font-size: 14px; }
.community-confirm-card > span small { color: #657b84; font-size: 12px; font-weight: 400; }
@media(max-width:700px){.community-form-section{grid-template-columns:1fr}.community-form-section label{grid-column:1!important}}
.community-template-type-card.is-disabled { opacity: .5; cursor: not-allowed; background: #f1f3f4; }
.community-template-type-card.is-disabled strong::after { content: " · 敬请期待"; color: #7c8a91; font-size: 11px; }
.community-element-editing { display: grid; gap: 9px; padding: 12px; border: 1px solid #dbe7e9; border-radius: 7px; }
.community-element-editing { grid-template-columns: 1fr 1fr; }
.community-element-editing legend { grid-column: 1 / -1; padding: 0 5px; font-weight: 800; }
.community-element-editing label { display: flex; align-items: flex-start; gap: 9px; min-height: 76px; padding: 12px; border: 1px solid #d7e4e7; border-radius: 7px; background: #fff; font-weight: 500; cursor: pointer; }
.community-element-editing label:has(input:checked) { border-color: #5bb8af; background: #eaf8f5; }
.community-element-editing input { flex: 0 0 15px; width: 15px; height: 15px; margin: 2px 0 0; }
.community-element-editing label > span { display: grid; gap: 3px; min-width: 0; }
.community-element-editing label small { color: #70838a; font-weight: 400; line-height: 1.4; }
.community-template-interface-field small { color: #6c7e89; line-height: 1.5; }
.community-template-code-field textarea { min-height: 180px; font-family: Consolas, monospace; font-size: 12px; }
.template-creator-entry.is-open { cursor: pointer; }
.template-creator-entry.is-open:hover { border-color: #72beb6; background: #e7f7f4; }
.community-figure-builder { display: grid; gap: 12px; padding: 14px; border: 1px solid #cfe3e1; border-radius: 8px; background: #f5fbfa; }
.community-figure-builder[hidden] { display: none; }
.community-figure-builder > div:first-child { display: grid; gap: 3px; }
.community-figure-builder > div:first-child small { color: #687d84; }
.community-figure-workspaces { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.community-figure-creation-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; border: 0; }
.community-figure-creation-mode legend { grid-column: 1 / -1; margin-bottom: 4px; font-weight: 800; }
.community-figure-creation-mode label { display: flex; align-items: flex-start; gap: 9px; padding: 13px; border: 1px solid #d5e4e5; border-radius: 7px; background: #fff; cursor: pointer; }
.community-figure-creation-mode label { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; column-gap: 10px; width: 100%; min-height: 50px; padding: 8px 12px; }
.community-figure-creation-mode input { grid-column: 1; width: 16px; height: 16px; margin: 3px 0 0; }
.community-figure-creation-mode label > span { grid-column: 2; align-self: start; }
.community-figure-creation-mode label:has(input:checked) { border-color: #168c83; background: #e9f8f5; box-shadow: inset 0 0 0 1px rgba(22,140,131,.15); }
.community-figure-creation-mode span { display: grid; gap: 3px; }
.community-figure-creation-mode small { color: #71858b; font-weight: 400; }
.community-figure-workspaces label { display: flex; align-items: flex-start; gap: 8px; padding: 11px; border: 1px solid #d5e4e5; border-radius: 7px; background: #fff; cursor: pointer; }
.community-figure-workspaces label { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; column-gap: 10px; width: 100%; min-height: 50px; padding: 8px 12px; }
.community-figure-workspaces label:has(input:checked) { border-color: #58b5ac; background: #e9f8f5; box-shadow: inset 0 0 0 1px rgba(18,139,128,.14); }
.community-figure-workspaces input { grid-column: 1; width: 16px; height: 16px; margin: 3px 0 0; }
.community-figure-workspaces span { grid-column: 2; display: grid; align-self: start; gap: 3px; }
.community-figure-workspaces small { color: #71858b; font-weight: 400; }
.community-figure-config-grid { display: grid; grid-template-columns: 1.4fr 1fr repeat(3,.7fr); gap: 8px; }
.community-figure-interface-note { display: grid; gap: 3px; padding: 10px 12px; border-left: 3px solid #23998f; color: #526d74; background: #fff; font-size: 12px; line-height: 1.5; }
.community-figure-interface-note summary { cursor: pointer; color: #42646c; font-weight: 700; }
.community-figure-interface-note > div { display: grid; gap: 3px; margin-top: 8px; }
.community-figure-interface-note strong { color: #157a72; }
.community-figure-variable-builder { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 9px; align-items: end; margin: 0; padding: 12px; border: 1px solid #d9e6e8; border-radius: 7px; background: #fff; }
.community-figure-variable-builder legend { padding: 0 5px; font-weight: 800; }
.community-figure-variable-builder label { display: grid; gap: 5px; }
.community-figure-variable-builder .community-outcome-toggle { display: flex; align-items: center; min-height: 42px; gap: 7px; }
.community-figure-variable-builder .community-outcome-toggle input { width: 16px; height: 16px; }
.community-figure-variable-builder button { min-height: 42px; padding: 0 12px; }
.community-code-workspace { display: grid; gap: 12px; padding: 16px; border: 1px solid #bdded9; border-radius: 9px; background: #f4faf9; }
#templateCreatorPanel .community-template-workbench > .community-code-workspace { grid-column: 1 / -1; width: 100%; }
#templateCreatorPanel .community-template-workbench > .community-figure-builder { grid-column: 1 / -1; width: 100%; }
#templateCreatorPanel .community-template-form-panel > .community-figure-builder { margin-top: 0; min-height: auto; }
#templateCreatorPanel .community-template-form-panel,#templateCreatorPanel .community-template-live-preview { align-self: stretch; }
#templateCreatorPanel .community-template-live-preview { min-height: 100%; }
.community-code-workspace[hidden] { display: none; }
.community-code-workspace > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.community-code-workspace > header > div { display: grid; gap: 3px; }
.community-code-workspace > header small { color: #6d8289; }
.community-code-workspace-grid { display: grid; grid-template-columns: minmax(620px,1.15fr) minmax(440px,.85fr); gap: 16px; }
.community-code-data-column { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; min-width: 0; }
.community-code-data-column label { display: grid; grid-template-rows: auto minmax(190px,1fr) auto; gap: 7px; min-height: 0; }
.community-code-workspace-grid label { display: grid; align-content: start; gap: 7px; font-weight: 800; }
#templateCreatorPanel .community-code-workspace-grid textarea { min-height: 190px; padding: 14px; border-color: #c9dadd; background: #fff; font: 13px/1.6 Consolas,"SFMono-Regular",monospace; tab-size: 2; resize: vertical; }
#templateCreatorPanel .community-template-code-field { display: grid; grid-template-rows: auto minmax(500px,1fr) auto; }
#templateCreatorPanel .community-template-code-field textarea { min-height: 500px; height: 100%; }
.community-code-workspace-grid:not(:has(.community-template-code-field)) { grid-template-columns: 1fr; }
.community-code-workspace-grid:not(:has(.community-template-code-field)) .community-code-data-column { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
.community-template-lower-workbench { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(620px,1.15fr) minmax(440px,.85fr); gap: 16px; align-items: stretch; width: 100%; padding-top: 18px; border-top: 2px solid #d4e3e6; }
.community-template-lower-fields { display: grid; align-content: start; gap: 14px; min-width: 0; padding: 18px; border: 1px solid #d9e6e9; border-radius: 10px; background: #fff; }
.community-template-lower-workbench > .community-template-code-field { display: grid; grid-template-rows: auto minmax(620px,1fr) auto; min-width: 0; padding: 18px; border: 1px solid #bdded9; border-radius: 10px; background: #f4faf9; }
#templateCreatorPanel .community-template-lower-workbench > .community-template-code-field textarea { min-height: 620px; height: 100%; }
@media(max-width:1100px){.community-template-lower-workbench{grid-template-columns:1fr}.community-code-workspace-grid:not(:has(.community-template-code-field)) .community-code-data-column{grid-template-columns:1fr}.community-template-lower-workbench>.community-template-code-field{grid-template-rows:auto minmax(420px,1fr) auto}}
.community-code-toolbar { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.community-code-toolbar button { padding: 6px 9px; border: 1px solid #d1e1e3; border-radius: 5px; color: #316b68; background: #f5faf9; box-shadow: none; font-size: 11px; }
.community-template-code-field > small { color: #788b91; line-height: 1.5; }
.community-template-code-field > small.is-success { color: #087d75; font-weight: 700; }
.community-template-preview-canvas.is-test-success { border-color: #6dc1b8; background: #edf9f7; }
.community-template-preview-canvas.is-test-error { border-color: #e2aaa3; background: #fff7f5; }
.community-preview-waiting { display: grid; place-items: center; gap: 8px; color: #73868c; }
.community-preview-waiting strong { color: #45636b; font-size: 17px; }
.community-preview-waiting small { color: #91a0a5; }
.community-preview-run-result { display: grid; place-items: center; gap: 7px; color: #46646c; }
.community-preview-run-result strong { color: #087d75; font-size: 18px; }
.community-preview-run-result small { color: #788b92; }
.community-preview-run-result.is-error strong { color: #b34f43; }
.community-template-data-workspace,.community-preview-code-workspace { display: grid; gap: 12px; margin-top: 16px; padding-top: 18px; border-top: 2px solid #d3e2e5; }
.community-template-data-workspace.is-generated { animation: community-generated-highlight 1.2s ease-out; }
@keyframes community-generated-highlight { 0% { background: #dff6f1; box-shadow: 0 0 0 8px #dff6f1; } 100% { background: transparent; box-shadow: 0 0 0 0 transparent; } }
.community-template-data-workspace[hidden],.community-preview-code-workspace[hidden] { display: none !important; }
.community-template-data-workspace > header,.community-preview-code-workspace > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.community-template-data-workspace > header,.community-preview-code-workspace > header > div { display: grid; gap: 3px; }
.community-template-data-workspace header small,.community-preview-code-workspace header small { color: #71858c; }
.community-template-data-workspace .community-code-data-column { grid-template-columns: 1fr; grid-template-rows: auto auto; }
.community-template-data-workspace textarea { min-height: 220px; resize: vertical; font: 12px/1.55 Consolas,monospace; }
.community-structured-data { display: grid; gap: 9px; padding: 12px; border: 1px solid #d7e4e7; border-radius: 8px; background: #fff; }
.community-structured-data > div:first-child { display: grid; gap: 2px; }
.community-structured-data small { color: #71858c; }
.community-structured-data table { width: 100%; border-collapse: collapse; font-size: 12px; }
.community-structured-data th,.community-structured-data td { padding: 8px 9px; border-bottom: 1px solid #e2eaec; text-align: left; white-space: nowrap; }
.community-structured-data th { color: #365761; background: #f3f8f8; }
.community-figure-variable-builder[data-standard-protocol="true"] > label,.community-figure-variable-builder[data-standard-protocol="true"] > .community-outcome-toggle { display: none; }
.community-figure-variable-builder[data-standard-protocol="true"] { grid-template-columns: 1fr; }
.community-figure-variable-builder[data-standard-protocol="true"] > button { justify-self: start; }
.community-params-reference > [data-params-table] { padding: 14px; }
.community-params-reference table { width: 100%; border-collapse: collapse; font-size: 12px; }
.community-params-reference th,.community-params-reference td { padding: 9px 10px; border-bottom: 1px solid #e0eaec; text-align: left; }
.community-param-insert { padding: 3px 7px; border: 1px solid #b9d9d5; border-radius: 5px; color: #087d75; background: #fff; box-shadow: none; font: 12px Consolas,monospace; }
.community-example-table-scroll { overflow: auto; max-height: 300px; border: 1px solid #e1e9eb; border-radius: 6px; }
.community-example-empty { padding: 24px; color: #7a8d94; background: #f7fafb; text-align: center; }
.community-advanced-json { padding: 10px 12px; border: 1px dashed #bdcfd3; border-radius: 7px; background: #f8fbfb; }
.community-advanced-json summary { cursor: pointer; color: #486770; font-weight: 700; }
.community-advanced-json summary::after { content: " · 修改后可能覆盖自动字段配置"; color: #87999f; font-size: 10px; font-weight: 400; }
.community-advanced-json label { margin-top: 10px; }
.community-preview-code-workspace { display: flex; flex-direction: column; margin-top: 14px; padding: 12px; }
.community-preview-code-workspace > header { align-items: center; min-height: 44px; padding: 0 0 8px; border-bottom: 1px solid #e0eaec; }
.community-preview-code-workspace > header > div { gap: 2px; }
.community-preview-code-workspace > header strong { font-size: 15px; line-height: 1.2; }
.community-preview-code-workspace > header small { font-size: 11px; line-height: 1.3; }
.community-preview-code-workspace .community-template-code-field { display: flex; flex: 1 1 auto; flex-direction: column; gap: 6px; min-height: 0; height: auto; }
.community-monaco-editor { flex: 1 1 auto; width: 100%; min-height: 520px; overflow: hidden; border: 1px solid #cbdcdf; border-radius: 8px; }
.community-monaco-editor[hidden] { display: none !important; }
.community-ide-bottom { flex: 0 0 auto; border: 1px solid #dbe6e8; border-radius: 7px; background: #f8fbfb; }
.community-ide-tabs { display: flex; gap: 2px; padding: 4px; border-bottom: 1px solid #e0e9eb; }
.community-ide-tabs button { padding: 5px 9px; border: 0; color: #587078; background: transparent; box-shadow: none; font-size: 11px; }
.community-ide-tabs button.is-active { color: #087d75; background: #e9f6f3; }
.community-ide-bottom pre { max-height: 130px; margin: 0; padding: 9px 11px; overflow: auto; color: #455d65; white-space: pre-wrap; font: 11px/1.5 Consolas,monospace; }
.community-ide-bottom pre.is-error { color: #9f3f37; background: #fff6f4; }
.community-template-rendered-preview { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.community-table-builder { display: grid; gap: 12px; padding: 14px; border: 1px solid #cfe3e1; border-radius: 8px; background: #f5fbfa; }
.community-table-builder[hidden],.community-table-capabilities[hidden] { display: none !important; }
.community-palette-builder { display:grid; gap:16px; padding:16px; border:1px solid #cfe3e1; border-radius:10px; background:#f5fbfa; }
.community-palette-builder[hidden] { display:none !important; }
.community-palette-builder > header { display:flex; justify-content:space-between; }
.community-palette-builder > header div { display:grid; gap:3px; }
.community-palette-builder small { color:#687d84; }
.community-palette-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.community-palette-config-grid label,.community-palette-support label { display:grid; gap:6px; font-weight:700; }
.community-palette-colors,.community-palette-support { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid #d5e5e7; border-radius:9px; background:#fff; }
.community-palette-support { grid-template-columns:repeat(4,minmax(0,1fr)); }
.community-palette-colors label { display:grid; grid-template-columns:36px 1fr; align-items:center; gap:5px 8px; padding:9px; border:1px solid #dbe7e8; border-radius:8px; }
.community-palette-colors label span { grid-column:1/-1; font-weight:700; }
.community-palette-colors input[type="color"],.community-palette-support input[type="color"] { width:36px; height:34px; padding:2px; border:1px solid #c9dadd; border-radius:6px; }
.community-palette-colors code { font-size:12px; color:#46646c; }
.palette-color-remove{grid-column:3;grid-row:2;width:26px;height:26px;padding:0;border:1px solid #d7e3e5;background:#fff;color:#8a4a42;border-radius:50%}.palette-color-add{min-height:70px;border:1px dashed #62b5ad;background:#f2fbfa;color:#087d75}
.community-palette-scale-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.community-palette-scale-grid fieldset,.community-palette-semantic,.community-palette-opacity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #d5e5e7;border-radius:9px;background:#fff}.community-palette-scale-grid fieldset{grid-template-columns:repeat(3,minmax(0,1fr))}.community-palette-scale-grid fieldset:last-child{grid-template-columns:repeat(4,minmax(0,1fr))}.community-palette-scale-grid label,.community-palette-semantic label,.community-palette-opacity label{display:grid;gap:6px;font-weight:700}.community-palette-scale-grid input[type=color],.community-palette-semantic input[type=color]{width:100%;height:42px;padding:3px;border:1px solid #ccdadd;border-radius:7px}.community-palette-opacity output{color:#087d75}.community-palette-opacity input{width:100%}
.palette-sequential-preview{position:relative;grid-column:1/-1;height:72px;margin-top:6px;border:1px solid #cbdadd;border-radius:9px;box-shadow:inset 0 0 0 4px #fff;overflow:hidden}.palette-sequential-preview i{position:absolute;bottom:7px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #60777d}.palette-sequential-preview i:nth-child(1){left:8px}.palette-sequential-preview i:nth-child(2){left:calc(50% - 7px)}.palette-sequential-preview i:nth-child(3){right:8px}
.palette-diverging-preview{position:relative;grid-column:1/-1;width:150px;height:150px;justify-self:center;margin-top:6px;border:1px solid #cbdadd;border-radius:50%;box-shadow:inset 0 0 0 5px #fff,0 8px 20px #24404a18}.palette-diverging-preview b{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:38px;height:38px;padding:0 5px;border-radius:50%;background:#fff;color:#344e55;box-shadow:0 2px 8px #0002}.palette-diverging-preview span{position:absolute;top:calc(50% - 10px);padding:3px 6px;border-radius:5px;background:#ffffffd9;font-size:11px}.palette-diverging-preview span:nth-of-type(1){left:-18px}.palette-diverging-preview span:nth-of-type(2){right:-18px}
.community-palette-checks { display:grid; gap:8px; }
.community-palette-checks > div { display:flex; flex-wrap:wrap; gap:8px; }
.community-palette-checks span { padding:7px 10px; border-radius:999px; background:#fff; border:1px solid #d8e5e6; font-size:13px; }
.community-palette-checks .is-pass { color:#087c72; }.community-palette-checks .is-warn { color:#a35a00; }
.community-palette-preview-picker { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:10px; border:1px solid #d5e5e7; border-radius:9px; background:#fff; }
.community-palette-preview-picker label { display:flex; align-items:center; gap:7px; min-height:40px; padding:8px 10px; border:1px solid #dce8e9; border-radius:7px; cursor:pointer; }
.community-palette-preview-picker label:has(input:checked){border-color:#15988f;background:#eaf8f6;color:#087b73}.community-palette-preview-picker input{width:15px;height:15px}
.community-palette-preview-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #d5e5e7;border-radius:9px;background:#fff}.community-palette-preview-controls label{display:grid;gap:6px;font-weight:700}.community-palette-preview-controls button{height:46px;white-space:nowrap}
.community-palette-preview { box-sizing:border-box; width:100%; height:100%; min-height:0; padding:20px; display:grid; grid-template-rows:auto auto minmax(480px,1fr); gap:18px; color:var(--palette-text); background:var(--palette-bg); overflow:hidden; }
.community-palette-preview > header { display:grid; gap:3px; }.community-palette-preview > header small{color:#70838a}
.community-palette-strip { display:grid; grid-template-columns:repeat(5,1fr); min-height:92px; overflow:hidden; border-radius:10px; }
.community-palette-strip span { display:flex; align-items:flex-end; justify-content:center; padding:8px; color:#fff; text-shadow:0 1px 3px #0008; }.community-palette-strip b{font-size:12px}
.palette-demo{position:relative;min-height:480px;border-left:1px solid var(--palette-grid);border-bottom:1px solid var(--palette-grid);overflow:hidden;background:linear-gradient(var(--palette-grid) 1px,transparent 1px),linear-gradient(90deg,var(--palette-grid) 1px,transparent 1px);background-size:20% 25%;}
.palette-demo-bars{display:flex;align-items:end;justify-content:center;gap:6%;padding:25px 8% 0}.palette-demo-bars i{width:11%;border-radius:7px 7px 0 0}
.palette-demo-lines i{position:absolute;left:5%;right:-8%;border-top:5px solid;border-radius:50%;height:30%}
.palette-demo-scatter i{position:absolute;width:15px;height:15px;border-radius:50%;box-shadow:0 1px 4px #0002}
.palette-demo-roc b{position:absolute;inset:10%;border-bottom:2px dashed #9cacb1;transform:rotate(-35deg)}.palette-demo-roc i{position:absolute;border-left:5px solid;border-top:5px solid;border-radius:80% 0 0 0}
.palette-demo-survival i{position:absolute;left:7%;right:6%;height:30%;border-left:5px solid;border-bottom:5px solid;transform:skewY(-8deg)}
.palette-demo-heatmap{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,1fr);gap:3px;padding:8px;background:none}.palette-demo-heatmap i{border-radius:2px}
.palette-demo-shap{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:18px;background:none}.palette-demo-shap i{height:12px;border-radius:0 8px 8px 0}
.palette-demo-table{padding:16px;background:none;overflow:auto}.palette-demo-table table{width:100%;border-collapse:collapse;background:var(--palette-bg)}.palette-demo-table th,.palette-demo-table td{padding:14px;border-bottom:1px solid var(--palette-grid);text-align:left}.palette-demo-table th{background:color-mix(in srgb,var(--palette-grid) 45%,var(--palette-bg))}
.palette-paper-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto}.palette-paper-overview section{min-height:220px;border:1px solid var(--palette-grid);border-radius:8px;overflow:hidden}.palette-paper-overview section .palette-demo{min-height:220px}.palette-paper-overview section:last-child{grid-column:1/-1}
@media(max-width:800px){.community-palette-config-grid,.community-palette-colors,.community-palette-support,.community-palette-preview-picker,.community-palette-preview-controls,.community-palette-scale-grid,.community-palette-semantic,.community-palette-opacity,.palette-paper-overview{grid-template-columns:1fr 1fr}.community-palette-preview-controls button{grid-column:1/-1}}
.community-table-preview { display: grid; align-self: start; width: 100%; gap: 12px; text-align: left; }
.community-table-preview > strong { font-size: 16px; }
.community-table-preview table { width: 100%; border-collapse: collapse; font-size: 12px; }
.community-table-preview th,.community-table-preview td { padding: 9px; border: 1px solid #dce6e8; }
.community-table-preview th { background: #f0f6f6; }
.community-table-preview > small { color: #71858c; }
.community-preview-code-workspace.is-fullscreen { position: fixed !important; inset: 12px; z-index: 10000; min-height: 0 !important; margin: 0 !important; box-shadow: 0 20px 80px rgba(20,43,50,.28); }
.community-ide-fullscreen-open { overflow: hidden; }
.community-preview-code-workspace.is-fullscreen .community-monaco-editor { min-height: 0; }
.community-preview-code-workspace .community-code-field-label { display: none; }
#templateCreatorPanel .community-preview-code-workspace .community-template-code-field textarea { flex: 1 1 auto; width: 100%; min-height: 420px; height: auto; max-height: none; padding: 16px; overflow: auto; resize: none; border-color: #cbdcdf; border-radius: 8px; background: #fbfdfd; font: 13px/1.65 Consolas,"SFMono-Regular",monospace; }
.community-preview-code-workspace .community-code-toolbar { display: flex; flex-wrap: nowrap; gap: 8px; margin: 0; }
.community-preview-code-workspace .community-code-toolbar button { min-height: 34px; padding: 7px 12px; white-space: nowrap; }
.community-preview-code-workspace .community-template-code-field > small { padding-left: 2px; }
@media(max-width:700px){.community-preview-code-workspace>header{align-items:flex-start;flex-direction:column}.community-preview-code-workspace .community-code-toolbar{flex-wrap:wrap}.community-preview-code-workspace .community-template-code-field{grid-template-rows:460px auto}#templateCreatorPanel .community-preview-code-workspace textarea{height:460px;max-height:460px}}
@media(max-width:1000px){.community-code-workspace-grid{grid-template-columns:1fr}.community-figure-variable-builder{grid-template-columns:1fr 1fr}.community-code-workspace>header{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.community-figure-config-grid{grid-template-columns:1fr 1fr}.community-figure-workspaces,.community-figure-creation-mode{grid-template-columns:1fr}}
@media(max-width:700px){.community-element-editing{grid-template-columns:1fr}.community-element-editing legend{grid-column:1}}
.community-image-upload { grid-column: 1 / -1; }
.community-publish-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.community-publish-mode button { display: grid; gap: 4px; padding: 14px; text-align: left; color: #39525e; border: 1px solid #d6e4e7; border-radius: 8px; background: #fff; box-shadow: none; }
.community-publish-mode button.is-active { color: #087d75; border-color: #66bcb4; background: #eaf8f5; box-shadow: inset 0 0 0 1px #66bcb4; }
.community-publish-mode span { color: #6e8088; font-size: 12px; font-weight: 400; }
.community-image-post-fields[hidden],.community-note-fields[hidden] { display: none !important; }
.community-image-post-fields:not([hidden]),.community-note-fields:not([hidden]) { display: grid; gap: 7px; }
.community-note-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border: 1px solid #d9e6e8; border-radius: 7px; background: #f7fbfb; }
.community-note-toolbar button,.community-note-toolbar label { padding: 7px 9px; border: 0; border-radius: 5px; background: #fff; color: #39616a; font-size: 12px; font-weight: 700; box-shadow: none; cursor: pointer; }
.community-note-toolbar input { display: none; }
.community-note-fields > small { color: #6c7e89; }
.community-body-field { grid-column: 1 / -1; }
.community-body-field textarea { min-height: 180px; }
.community-note-fields:not([hidden]) ~ .community-body-field textarea { min-height: 420px; font-family: ui-serif, Georgia, "Microsoft YaHei", serif; font-size: 15px; line-height: 1.8; }
.community-image-upload small { color: #6c7e89; font-weight: 400; }
.community-image-editor { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.community-image-item { position: relative; display: grid; gap: 7px; margin: 0; padding: 7px; border: 1px solid #dce8ea; border-radius: 7px; background: #fff; }
.community-image-item.is-cover { border-color: #28a096; box-shadow: inset 0 0 0 1px #28a096; }
.community-image-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 5px; }
.community-image-item figcaption { color: #557079; font-size: 11px; font-weight: 800; }
.community-image-item > div { display: flex; flex-wrap: wrap; gap: 4px; }
.community-image-item button { padding: 4px 6px; border: 0; border-radius: 4px; background: #eef6f5; color: #24746e; font-size: 10px; box-shadow: none; }
.community-post-editor-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 4px; }
.community-post-editor-actions > div { display: flex; gap: 10px; }
@media(max-width:600px){.community-post-editor-actions{align-items:stretch;flex-direction:column}.community-post-editor-actions>div{justify-content:flex-end}}
.community-post-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 14px 0; }
.community-post-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 7px; }
.community-markdown-body { color: #304b59; line-height: 1.8; }
.community-markdown-body pre { overflow: auto; padding: 13px; border-radius: 6px; background: #142a34; color: #eef8f7; }
.community-markdown-body blockquote { margin: 12px 0; padding: 8px 14px; border-left: 3px solid #25a096; background: #f0f8f7; }
.community-note-image { margin: 18px auto; text-align: center; }
.community-note-image img { max-width: 100%; max-height: 620px; border-radius: 7px; }
.community-note-image figcaption { margin-top: 6px; color: #7b8b92; font-size: 11px; }
.community-detail-gallery { display: grid; gap: 10px; margin: 18px 0 24px; }
.community-gallery-main { position: relative; display: block; overflow: hidden; width: 100%; max-height: 620px; padding: 0; border: 1px solid #dce8ea; border-radius: 10px; background: #f3f8f8; box-shadow: none; cursor: zoom-in; }
.community-gallery-main img { display: block; width: 100%; max-height: 620px; object-fit: contain; }
.community-gallery-main > span { position: absolute; right: 12px; bottom: 12px; padding: 6px 9px; color: #fff; border-radius: 999px; background: rgba(15,34,42,.72); font-size: 11px; font-weight: 800; backdrop-filter: blur(5px); }
.community-gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 2px; }
.community-gallery-thumbs button { flex: 0 0 76px; overflow: hidden; width: 76px; height: 58px; padding: 2px; border: 1px solid #d5e3e6; border-radius: 7px; background: #fff; box-shadow: none; }
.community-gallery-thumbs button.is-active { border-color: #138e84; box-shadow: 0 0 0 2px rgba(19,142,132,.14); }
.community-gallery-thumbs img { width: 100%; height: 100%; border-radius: 4px; object-fit: cover; }
.community-image-viewer[hidden] { display: none; }
.community-image-viewer { position: fixed; inset: 0; z-index: 1800; display: grid; grid-template-columns: 72px minmax(0,1fr) 72px; place-items: center; padding: 34px; color: #fff; background: rgba(7,18,23,.94); }
.community-image-viewer figure { display: grid; place-items: center; gap: 12px; max-width: 100%; max-height: 100%; margin: 0; }
.community-image-viewer figure img { max-width: min(1200px,calc(100vw - 220px)); max-height: calc(100vh - 100px); object-fit: contain; }
.community-image-viewer figcaption { font-size: 13px; font-weight: 800; }
.community-image-viewer-close,.community-image-viewer-nav { color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: none; }
.community-image-viewer-close { position: absolute; top: 18px; right: 20px; width: 44px; height: 44px; font-size: 26px; }
.community-image-viewer-nav { width: 48px; height: 48px; font-size: 34px; }
.community-detail-reading-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.community-detail-reading-layout:has(.community-note-toc) { grid-template-columns: 180px minmax(0, 1fr); }
.community-note-toc { position: sticky; top: 12px; display: grid; gap: 7px; padding: 13px; border: 1px solid #dce8ea; border-radius: 8px; background: #f8fbfb; }
.community-note-toc strong { margin-bottom: 3px; color: #294b54; font-size: 13px; }
.community-note-toc a { color: #52717a; font-size: 12px; line-height: 1.4; text-decoration: none; }
.community-note-toc a:hover { color: #087d75; }
.community-note-toc a.is-level-2 { padding-left: 8px; }
.community-note-toc a.is-level-3 { padding-left: 16px; }
.community-markdown-body h2,.community-markdown-body h3,.community-markdown-body h4 { scroll-margin-top: 20px; color: #173d47; }
.community-markdown-body h2 { margin: 1.7em 0 .65em; font-size: 1.45rem; }
.community-markdown-body h3 { margin: 1.5em 0 .55em; font-size: 1.2rem; }
.community-markdown-body h4 { margin: 1.3em 0 .5em; font-size: 1.05rem; }
@media(max-width:760px){.community-detail-reading-layout:has(.community-note-toc){grid-template-columns:1fr}.community-note-toc{position:static}.community-gallery-thumbs button{flex-basis:64px;width:64px;height:50px}}
@media(max-width:760px){.community-image-viewer{grid-template-columns:42px minmax(0,1fr) 42px;padding:16px 8px}.community-image-viewer figure img{max-width:calc(100vw - 100px);max-height:calc(100dvh - 100px)}.community-image-viewer-nav{width:38px;height:38px;font-size:27px}.community-image-viewer-close{top:10px;right:10px}}
@media(max-width:700px){.community-image-editor,.community-post-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.community-official-badge {
  padding: 8px 10px;
  color: #087d75;
  background: #e8f7f4;
  border: 1px solid #c8eae4;
  border-radius: 6px;
  font-weight: 700;
  font-size: 13px;
}

.community-toolbar {
  position: sticky;
  z-index: 12;
  top: 0;
  grid-template-columns: minmax(320px, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  margin: 10px 0 14px;
  background: #fff;
  border: 1px solid #dce9ed;
  border-radius: 8px;
}

.community-feed-modes { display: flex; align-items: center; gap: 0; }
.community-feed-modes button { position: relative; min-height: 40px; padding: 7px 14px; border: 0; border-radius: 6px; color: #5b7180; background: transparent; box-shadow: none; }
.community-feed-modes button + button::before { content: ""; position: absolute; width: 1px; height: 14px; margin: 2px 0 0 -14px; background: #d9e4e7; }
.community-feed-modes button.is-active { color: #087d75; background: #e5f6f3; }

.community-search-field {
  position: relative;
  display: block;
  color: #2b4054;
  font-size: 13px;
  font-weight: 700;
}

.community-search-field input {
  width: 100%;
  min-height: 40px;
  padding: 0 13px 0 38px;
  color: #1a2c3c;
  background: #fff;
  border: 1px solid #cddde4;
  border-radius: 6px;
  font: inherit;
}
.community-search-icon { position: absolute; z-index: 1; left: 13px; top: 50%; color: #7a8f9a; font-size: 21px; font-weight: 400; transform: translateY(-52%); pointer-events: none; }
.community-content-filter select { min-height: 40px; min-width: 94px; padding: 0 30px 0 12px; color: #526977; border: 1px solid #cddde4; border-radius: 6px; background: #f8fbfc; font: inherit; font-weight: 700; cursor: pointer; }

.community-toolbar-note { font-size: 13px; }
.community-sort-field { display: grid; min-width: 150px; color: #2b4054; font-size: 13px; font-weight: 700; }
.community-sort-field select { min-height: 40px; padding: 0 10px; border: 1px solid #cddde4; border-radius: 6px; background: #f7fbfc; }
.community-card-cover { display: grid; place-items: center; min-height: 132px; overflow: hidden; border-radius: 7px; background: linear-gradient(145deg,#e8f5f2,#dcebef); color: #34716d; font-size: 12px; font-weight: 800; }
.community-card-cover img { width: 100%; height: 100%; min-height: 132px; object-fit: cover; }
.community-card-cover.is-figure_template { background: linear-gradient(150deg,#dceff1,#e9e3f5); }
.community-card-cover.is-table_template { background: repeating-linear-gradient(0deg,#f5f8f8 0 22px,#dce8e9 23px 24px); }
.community-card-cover.is-palette { background: linear-gradient(90deg,#306f87 0 20%,#50a6a1 20% 40%,#e0b45b 40% 60%,#e47c62 60% 80%,#7d668f 80%); color: #fff; }
.community-post-meta b { padding: 3px 6px; border-radius: 4px; background: #e7f6f3; color: #087d75; font-size: 10px; }
.community-my-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 14px 0 20px; }
.community-my-summary span { display: grid; gap: 3px; padding: 14px; border: 1px solid #dce8ea; border-radius: 7px; color: #657985; }
.community-my-summary b { color: #173e45; font-size: 24px; }
.community-my-section { display: grid; gap: 10px; margin-top: 20px; }
.community-my-section > h4 { margin: 0; padding-bottom: 8px; border-bottom: 1px solid #e1eaec; }
@media(max-width:760px){.community-post-card{grid-template-columns:1fr}.community-card-cover{min-height:180px}.community-toolbar{grid-template-columns:1fr}.community-my-summary{grid-template-columns:1fr}}

.community-stage-layout {
  grid-template-columns: 188px minmax(0, 1fr);
  align-items: start;
}

.community-channel-nav,
.community-feed-shell,
.community-aside-card {
  background: #fff;
  border: 1px solid #dce9ed;
  border-radius: 8px;
}

.community-channel-nav { position: sticky; top: 86px; padding: 12px; }
.community-nav-title { margin-bottom: 10px; color: #17364a; font-weight: 800; }
.community-channel-list { display: grid; gap: 5px; }

.community-channel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 11px;
  color: #3e566b;
  background: transparent;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.community-channel:hover,
.community-channel.is-active { color: #087d75; background: #e9f8f5; box-shadow: inset 3px 0 #0b8b80; }
.community-channel small { color: #89a1ae; font-size: 12px; }
.community-nav-footnote { padding-top: 16px; margin-top: 16px; border-top: 1px solid #e7eef1; font-size: 12px; }

.community-feed-shell { overflow: hidden; }
.community-onboarding { display: grid; grid-template-columns: minmax(0,1fr) auto 28px; align-items: center; gap: 12px; padding: 12px 15px; border-bottom: 1px solid #dce9ed; background: linear-gradient(90deg,#eef9f6,#f7fbfc); }
.community-onboarding > div { display: grid; gap: 2px; }
.community-onboarding strong { color: #28505a; }
.community-onboarding span { color: #667c87; font-size: 12px; }
.community-onboarding .icon-close { width: 28px; height: 28px; padding: 0; }
.community-boundary-note { margin: 14px 0 0 200px; padding: 10px 14px; color: #748791; border-left: 3px solid #bfd8d5; background: #f7fbfb; font-size: 11px; line-height: 1.6; }
.community-feed-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 17px; color: #7a8d9d; border-bottom: 1px solid #e4edf0; font-size: 13px; }
.community-feed-header div { display: flex; gap: 10px; align-items: baseline; }
.community-feed-header div span { color: #0d867e; font-weight: 800; }
.community-feed-header strong { color: #314a5d; }
.community-post-list {
  display: grid;
  position: relative;
  min-width: 0;
  overflow-anchor: none;
}

.community-post-list.is-loading {
  pointer-events: none;
}

.community-post-list.is-loading > * {
  opacity: 0.62;
  transition: opacity 160ms ease;
}

.community-post-list.is-loading::after {
  content: "正在切换频道";
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 2;
  padding: 6px 10px;
  border: 1px solid #b9ddd8;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.94);
  color: #0f766e;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(15, 118, 110, 0.1);
}
.community-feed-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px; color: #738791; border-top: 1px solid #e4edf0; font-size: 12px; }
.community-feed-pagination:empty { display: none; }

@media (max-width: 760px) {
  .community-stage-one {
    width: calc(100% - 24px);
    padding: 18px 0 30px;
  }
}

/* Never expose legacy fallback markup as if it were the current application. */
body.frontend-loading { overflow: hidden; }
body.frontend-loading > .shell { visibility: hidden; }
.frontend-boot-screen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #f8fbfb 0%, #eef7f5 52%, #edf3ff 100%);
}
body.frontend-ready .frontend-boot-screen { display: none; }
.frontend-boot-card {
  width: min(460px, 92vw);
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 38px;
  border: 1px solid #d8e7e5;
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 24px 70px rgba(28,79,83,.12);
  text-align: center;
}
.frontend-boot-card img { width: 138px; height: 72px; object-fit: contain; }
.frontend-boot-card > span { color: #0a8179; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.frontend-boot-card h1 { margin: 4px 0 0; font-size: 25px; }
.frontend-boot-card p { margin: 0; color: #667b7a; }
.frontend-boot-card i {
  width: 36px;
  height: 36px;
  margin-top: 10px;
  border: 3px solid #d7ece9;
  border-top-color: #0a8b81;
  border-radius: 50%;
  animation: frontend-boot-spin .8s linear infinite;
}
.frontend-boot-screen.is-error .frontend-boot-card i { display: none; }
.frontend-boot-screen.is-error .frontend-boot-card { border-color: #efcfca; }
.frontend-boot-screen.is-error p { color: #a34e42; }
@keyframes frontend-boot-spin { to { transform: rotate(360deg); } }

.community-post-card {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 82px;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border-bottom: 1px solid #e4edf0;
}
.community-post-card[data-community-card-open] { cursor: pointer; }
.community-post-card[data-community-card-open]:focus-visible {
  outline: 3px solid rgba(11, 139, 128, 0.24);
  outline-offset: -3px;
}
.community-post-card.without-cover { grid-template-columns: minmax(0, 1fr) 82px; }
.community-post-card.is-note { background: linear-gradient(90deg,rgba(239,248,247,.62),transparent 22%); }
.community-post-card.is-official { border-left: 3px solid #a9d8d2; }
.community-post-card.is-template { border-left: 3px solid #c9b9dd; }
.community-post-card:last-child { border-bottom: 0; }
.community-post-card:hover { background: #fbfefe; }
.community-post-meta { display: flex; gap: 10px; align-items: center; font-size: 12px; }
.community-post-meta span { color: #087d75; font-weight: 800; }
.community-post-meta time { color: #90a0ae; }
.community-post-main { display: flex; min-width: 0; flex-direction: column; }
.community-format-badge { padding: 3px 7px; border-radius: 999px; color: #396169 !important; background: #edf5f5; font-size: 10px; letter-spacing: .02em; }
.community-format-badge.is-official { color: #087d75 !important; background: #e5f6f3; }
.community-format-badge.is-image { color: #9a553e !important; background: #faeee9; }
.community-format-badge.is-note { color: #42658b !important; background: #eaf1f8; }
.community-format-badge.is-template { color: #70548b !important; background: #f0eaf6; }
.community-format-badge.has-template { color: #70548b !important; background: #f3edf8; }
.community-post-card h3 { margin: 7px 0; color: #153348; font-size: 18px; line-height: 1.4; }
.community-post-card p { display: -webkit-box; margin: 0; overflow: hidden; font-size: 14px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.community-post-footer { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-top: auto; padding-top: 14px; }
.community-post-byline { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; color: #8697a0; font-size: 11px; white-space: nowrap; }
.community-post-byline span + span::before { content: "·"; margin-right: 10px; color: #c1ccd0; }
.community-author-follow { min-height: 24px; padding: 2px 7px; color: #087d75; border: 0; border-radius: 4px; background: #edf8f6; box-shadow: none; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.community-author-follow.is-active { color: #73868f; background: #f1f5f6; }
.community-post-tags,
.community-detail-tags,
.community-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.community-post-tags span,
.community-detail-tags span,
.community-tags button { padding: 4px 7px; color: #617689; background: #f0f6f7; border: 0; border-radius: 4px; font-size: 12px; }
.community-tags button { cursor: pointer; }
.community-post-side { display: flex; flex-direction: column; justify-content: flex-start; gap: 8px; align-items: flex-end; }
.community-post-side button { width: 100%; }
.community-post-card.is-note .community-post-main::before { content: "长文阅读"; width: max-content; margin-bottom: 2px; color: #64849a; font-size: 10px; font-weight: 700; }
.community-card-cover { position: relative; min-height: 150px; background: #eef5f5; }
.community-card-cover img { min-height: 150px; }
.community-image-count { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; border-radius: 999px; color: #fff; background: rgba(18,43,50,.72); font-size: 10px; font-weight: 800; backdrop-filter: blur(3px); }
.community-cover-fallback { display: grid; place-items: center; align-content: center; width: 100%; min-height: 150px; gap: 4px; color: #607982; background: linear-gradient(145deg,#edf6f4,#e3edef); text-align: center; }
.community-cover-fallback[hidden] { display: none; }
.community-cover-fallback small { color: #82949b; font-weight: 400; }
.community-read-action { min-height: 38px; padding: 8px 10px; }
.community-favorite,
.community-template-link { white-space: nowrap; padding: 7px 9px; border-radius: 5px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.community-favorite { width: 38px !important; min-height: 38px; padding: 0; color: #5d7181; background: #fff; border: 1px solid #d4e1e6; font-size: 20px; line-height: 1; }
.community-favorite.is-active { color: #087d75; background: #e8f7f4; border-color: #a7dcd4; }
.community-template-link { color: #087d75; background: transparent; border: 0; }

.community-aside { display: grid; gap: 12px; }
.community-aside-card { padding: 16px; }
.community-aside-card h3 { margin: 6px 0 8px; color: #17364a; font-size: 16px; }
.community-aside-card p { margin: 0 0 10px; font-size: 13px; }
.community-boundary-card { background: #f7fbfc; }
.community-empty-state,
.community-loading-state { display: grid; gap: 7px; min-height: 160px; place-content: center; padding: 22px; color: #708494; text-align: center; }
.community-empty-state strong { color: #304c60; }
.community-empty-state button { justify-self: center; margin-top: 5px; }

.community-detail-modal[hidden] { display: none; }
.community-detail-modal { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 24px; }
.community-detail-backdrop { position: absolute; inset: 0; background: rgba(11, 27, 40, 0.48); }
.community-detail-dialog { position: relative; z-index: 1; width: min(920px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: auto; overflow-x: hidden; padding: 24px; background: #fff; border-radius: 8px; box-shadow: 0 24px 80px rgba(10, 34, 50, 0.28); }
.community-reading-progress { position: sticky; z-index: 8; top: -24px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; height: 30px; margin: -24px -24px 18px; padding: 0 16px; color: #5f7780; background: rgba(255,255,255,.96); border-bottom: 1px solid #dce8ea; font-size: 11px; backdrop-filter: blur(8px); }
.community-reading-progress::before { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: linear-gradient(90deg,#11958a var(--community-read-progress,0%),transparent 0); }
.community-reading-progress i { display: none; }
.community-reading-progress span { grid-column: 2; }
.community-detail-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 10px 0; color: #788b94; font-size: 12px; }
.community-detail-byline strong { color: #315660; }
.community-detail-dialog header { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.community-detail-dialog h2 { margin: 5px 0 0; color: #153348; font-size: 25px; line-height: 1.28; }
.community-detail-summary { margin: 16px 0 12px; }
.community-detail-body { display: grid; gap: 16px; margin-top: 20px; }
.community-detail-body section { padding: 15px; background: #f7fbfc; border: 1px solid #e1edf0; border-radius: 6px; }
.community-detail-body h3 { margin: 0 0 7px; color: #17364a; font-size: 16px; }
.community-detail-body p { margin: 0; }
.community-detail-dialog footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.community-markdown-body { min-width: 0; max-width: 72ch; overflow-wrap: anywhere; }
.community-markdown-body img { display: block; max-width: 100%; height: auto; }
.community-markdown-body pre { max-width: 100%; overflow: auto; white-space: pre; overscroll-behavior-inline: contain; }
.community-markdown-body code { overflow-wrap: normal; word-break: normal; }
.community-markdown-table { max-width: 100%; margin: 16px 0; overflow-x: auto; border: 1px solid #dbe7e9; border-radius: 7px; overscroll-behavior-inline: contain; }
.community-markdown-table table { width: 100%; min-width: 520px; border-collapse: collapse; }
.community-markdown-table th,.community-markdown-table td { padding: 9px 11px; border-bottom: 1px solid #e1eaec; text-align: left; white-space: nowrap; }
.community-markdown-table th { color: #2e535c; background: #f0f7f6; }
.community-math { max-width: 100%; margin: 12px 0; padding: 10px 12px; overflow-x: auto; color: #244d57; background: #f5f9fa; border-left: 3px solid #85c8c1; font: 14px/1.6 Cambria,"Times New Roman",serif; white-space: nowrap; }
.community-math.is-inline { display: inline; margin: 0 2px; padding: 1px 4px; border: 0; white-space: normal; }

/* A community post is a real reading route. Only editor/utility dialogs retain modal styling. */
.community-detail-modal.is-page { position: static; inset: auto; z-index: auto; display: block; min-height: 100vh; padding: 0; background: #f5f7f7; }
.community-detail-modal.is-page .community-detail-dialog { position: static; width: 100%; max-height: none; overflow: visible; padding: 0; border-radius: 0; box-shadow: none; }
.community-reading-shell { min-height: 100vh; padding-bottom: 64px !important; }
.community-reading-progress { top: 0; height: 36px; margin: 0; padding: 0 max(24px,calc((100vw - 1240px)/2)); }
.community-reading-breadcrumb { display: flex; align-items: center; gap: 9px; max-width: 1240px; margin: 0 auto; padding: 22px 24px 14px; color: #71858c; font-size: 13px; }
.community-reading-breadcrumb button { padding: 5px 0; border: 0; color: #126f69; background: transparent; box-shadow: none; font-weight: 800; }
.community-reading-breadcrumb b { color: #b4c0c4; }
.community-reading-grid { display: grid; grid-template-columns: minmax(0,800px) 270px; justify-content: center; gap: 48px; max-width: 1240px; margin: 0 auto; padding: 0 24px 80px; }
.community-reading-main { min-width: 0; padding: 38px 54px 54px; background: #fff; border: 1px solid #e0e7e8; }
.community-reading-main > header { display: block; }
.community-reading-main h1 { max-width: 22em; margin: 10px 0 16px; color: #142f3c; font-size: clamp(30px,3vw,42px); line-height: 1.2; letter-spacing: -.025em; }
.community-reading-main .community-detail-summary { margin: 26px 0 18px; color: #50666f; font-size: 17px; line-height: 1.8; }
.community-reading-main .community-detail-tags { margin-bottom: 30px; }
.community-reading-main .community-detail-body { display: block; margin-top: 36px; }
.community-reading-main .community-detail-body section { padding: 28px 0; border: 0; border-top: 1px solid #e5ebec; border-radius: 0; background: transparent; scroll-margin-top: 58px; }
.community-reading-main .community-detail-body h3 { margin: 0 0 14px; color: #193946; font-size: 23px; line-height: 1.35; }
.community-reading-main .community-detail-body p { color: #293f48; font-size: 16px; line-height: 1.95; }
.community-reading-aside { display: grid; align-content: start; gap: 14px; }
.community-reading-aside > section,.community-reading-aside > nav { padding: 18px; border: 1px solid #dde7e8; background: #fff; }
.community-author-card { display: grid; gap: 7px; }
.community-author-card span { color: #788d94; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.community-author-card strong { color: #183a44; font-size: 17px; }
.community-author-card p { margin: 0; color: #60747c; font-size: 13px; line-height: 1.65; }
.community-reading-aside .community-note-toc { position: sticky; top: 52px; display: grid; gap: 4px; }
.community-reading-aside .community-note-toc strong { margin-bottom: 6px; }
.community-reading-aside .community-note-toc a { padding: 7px 0; color: #536c75; border: 0; font-size: 13px; line-height: 1.45; }
.community-reading-actions { display: grid; gap: 8px; }
.community-reading-actions button { width: 100%; min-height: 38px; color: #31565e; border: 1px solid #d6e3e5; background: #fff; box-shadow: none; }
.community-reading-actions button.is-active { color: #087d75; border-color: #88c9c2; background: #eaf8f5; }
.community-reading-discussion { margin-top: 52px; padding-top: 34px; border-top: 2px solid #243e47; scroll-margin-top: 48px; }
.community-section-heading span { color: #16877e; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.community-section-heading h2 { margin: 5px 0 22px; color: #183742; font-size: 25px; }
.community-reading-main .community-comment-form { padding: 0; border: 0; background: transparent; }
.community-reading-main .community-comment-form textarea { min-height: 48px; transition: min-height .16s ease; }
.community-reading-main .community-comment-form textarea:focus { min-height: 108px; }
.community-reading-resume { position: sticky; top: 44px; z-index: 9; display: flex; align-items: center; gap: 10px; width: max-content; max-width: calc(100% - 24px); margin: 8px auto; padding: 8px 10px 8px 14px; color: #163f49; border: 1px solid #b9dedd; border-radius: 999px; background: rgba(241,252,251,.96); box-shadow: 0 8px 24px rgba(22,66,75,.14); }
.community-reading-resume span { font-size: 13px; font-weight: 750; }
.community-reading-resume button { min-height: 30px; padding: 4px 10px; font-size: 12px; border-radius: 999px; box-shadow: none; }
.community-reading-resume button:last-child { width: 30px; padding: 0; color: #42636a; background: transparent; border-color: transparent; }
.learning-discovery { display: grid; grid-template-columns: minmax(220px,1fr) minmax(150px,220px); gap: 12px; align-items: end; margin: 14px 0 18px; padding: 14px; border: 1px solid #dbe8e9; border-radius: 14px; background: #fff; }
.learning-discovery label,.learning-note-field { display: grid; gap: 6px; color: #294b54; }
.learning-nav button[hidden] { display: none !important; }
.learning-discovery p { grid-column: 1 / -1; margin: 0; color: #687e84; }
.learning-note-field { margin-top: 16px; padding: 16px; border: 1px solid #dbe8e9; border-radius: 14px; background: #fbfdfd; }
.learning-note-field textarea { min-height: 96px; resize: vertical; }
@media(max-width:760px){.learning-discovery{grid-template-columns:1fr}.community-reading-resume{top:38px;border-radius:14px}.learning-note-field textarea{min-height:120px}}
.dl-evidence-explorer { width: 100%; margin-top: 12px; padding: 12px; border: 1px solid #d9e6e8; border-radius: 12px; background: #fbfdfd; }
.dl-evidence-head,.dl-evidence-chips { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.dl-evidence-chips { justify-content: flex-start; margin-top: 8px; }
.dl-evidence-chips span { padding: 5px 9px; border-radius: 999px; color: #27505a; background: #eaf5f4; font-size: 12px; }
.dl-evidence-table-wrap { max-width: 100%; overflow: auto; margin-top: 10px; }
.dl-evidence-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12px; }
.dl-evidence-table-wrap th,.dl-evidence-table-wrap td { padding: 7px 9px; text-align: left; white-space: nowrap; border-bottom: 1px solid #e3ecee; }
.community-mobile-actions { display: none; }
body.community-reading-page-open { overflow-x: hidden; }

@media (max-width: 1080px) {
  .community-toolbar { grid-template-columns: minmax(260px, 1fr) auto auto; }
  .community-stage-layout { grid-template-columns: 168px minmax(0, 1fr); }
  .community-boundary-note { margin-left: 180px; }
  .community-reading-grid { grid-template-columns: minmax(0,760px) 230px; gap: 24px; }
  .community-reading-main { padding-inline: 38px; }
}

@media (max-width: 760px) {
  .community-stage-one { padding: 18px 12px; }
  .community-stage-header,
  .community-toolbar,
  .community-stage-layout { grid-template-columns: 1fr; }
  .community-toolbar { position: static; }
  .community-feed-modes { justify-content: flex-start; }
  .community-content-filter { justify-self: start; }
  .community-stage-actions { justify-content: flex-start; flex-wrap: wrap; }
  .community-channel-nav { position: static; }
  .community-channel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .community-onboarding { grid-template-columns: minmax(0,1fr) 28px; }
  .community-onboarding > button:not(.icon-close) { grid-column: 1 / -1; width: max-content; }
  .community-boundary-note { margin-left: 0; }
  .community-post-card { grid-template-columns: 1fr; }
  .community-post-card.without-cover { grid-template-columns: 1fr; }
  .community-post-side { flex-direction: row; align-items: center; }
  .community-aside { grid-column: auto; grid-template-columns: 1fr; }
  .community-post-footer { align-items: flex-start; flex-direction: column; }
  .community-post-byline { justify-content: flex-start; }
  .community-post-card.has-cover { grid-template-columns: 120px minmax(0,1fr); }
  .community-post-card.has-cover .community-post-side { grid-column: 1 / -1; }
  .community-post-card.has-cover .community-card-cover,.community-post-card.has-cover .community-card-cover img,.community-post-card.has-cover .community-cover-fallback { min-height: 110px; height: 100%; }
  .community-post-card h3 { font-size: 16px; }
  .community-post-card p { font-size: 13px; -webkit-line-clamp: 3; }
  .community-detail-modal { place-items: stretch; padding: 0; }
  .community-detail-dialog { width: 100%; max-height: 100dvh; padding: 18px; border-radius: 0; }
  .community-detail-dialog.community-creator-dialog { width: 100%; }
  .community-reading-progress { top: -18px; margin: -18px -18px 14px; }
  .community-detail-dialog h2 { font-size: 22px; }
  .community-detail-dialog footer { position: sticky; z-index: 6; bottom: -18px; flex-wrap: wrap; margin: 20px -18px -18px; padding: 12px 18px; background: rgba(255,255,255,.97); border-top: 1px solid #dce8ea; }
  .community-detail-modal.is-page { background: #fff; }
  .community-detail-modal.is-page .community-detail-dialog { max-height: none; padding: 0; }
  .community-reading-progress { position: sticky; top: 0; height: 32px; margin: 0; padding: 0 12px; }
  .community-reading-breadcrumb { padding: 14px 16px 10px; }
  .community-reading-breadcrumb span,.community-reading-breadcrumb b { display: none; }
  .community-reading-grid { display: block; padding: 0 0 76px; }
  .community-reading-main { padding: 18px 18px 34px; border: 0; }
  .community-reading-main h1 { font-size: 29px; }
  .community-reading-main .community-detail-summary { font-size: 15px; }
  .community-reading-main .community-detail-body h3 { font-size: 20px; }
  .community-reading-main .community-detail-body p { font-size: 15px; line-height: 1.85; }
  .community-reading-aside { display: none; }
  .community-mobile-actions { position: fixed; z-index: 40; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 10px max(14px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid #dbe5e7; background: rgba(255,255,255,.97); box-shadow: 0 -8px 24px rgba(22,50,58,.09); backdrop-filter: blur(10px); }
  .community-mobile-actions button,.community-mobile-actions a { display: grid; min-height: 40px; place-items: center; padding: 7px; color: #315760; border: 1px solid #d7e3e5; border-radius: 7px; background: #fff; box-shadow: none; font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; }
  .community-mobile-actions .is-active { color: #087d75; background: #eaf8f5; }
  .community-reading-discussion { margin-top: 38px; }
}
@media (max-width: 560px) {
  .community-stage-header > div:first-child { display: grid; gap: 4px; }
  .community-feed-modes { overflow-x: auto; }
}
@media (max-width: 480px) {.community-post-card.has-cover{grid-template-columns:1fr}.community-post-card.has-cover .community-post-side{grid-column:auto}.community-post-card.has-cover .community-card-cover{min-height:180px}.community-post-meta{flex-wrap:wrap}.community-post-meta time{width:100%}}
.community-creator-dialog {
  width: min(900px, calc(100vw - 32px));
}

.community-creator-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.community-creator-header h3 {
  margin: 2px 0 6px;
}

.community-creator-header p {
  margin: 0;
  color: #60727d;
}

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

.community-creator-form label {
  display: grid;
  gap: 7px;
  font-weight: 700;
  color: #173042;
}

.community-creator-form input,
.community-creator-form select,
.community-creator-form textarea {
  width: 100%;
}

.creator-field-wide {
  grid-column: 1 / -1;
}

.community-creator-form textarea {
  min-height: 108px;
  resize: vertical;
}

.community-creator-notice {
  grid-column: 1 / -1;
  align-self: start;
  min-height: 0;
  height: auto;
  padding: 8px 12px;
  border: 1px solid #cfe5df;
  background: #f1faf7;
  border-radius: 6px;
  color: #31594f;
  line-height: 1.45;
}

#templateCreatorPanel .community-creator-notice { flex: none; }

.community-creator-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.community-creator-list {
  display: grid;
  gap: 12px;
  max-height: min(520px, 65vh);
  overflow: auto;
  padding-right: 4px;
}

.community-creator-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid #dbe7eb;
  border-radius: 8px;
  background: #fff;
}

.community-creator-card h4 {
  margin: 4px 0 7px;
}

.community-creator-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: #6b7b86;
  font-size: 0.9rem;
}

.community-creator-summary {
  margin: 0 0 8px;
  color: #4a5d68;
}

.community-status-badge {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
}

.community-status-badge.is-pending_review {
  background: #fff3cd;
  color: #795d00;
}

.community-status-badge.is-published {
  background: #e7f7f1;
  color: #08745f;
}

.community-status-badge.is-rejected,
.community-status-badge.is-unpublished {
  background: #fdecec;
  color: #a23939;
}

.community-review-note {
  margin-top: 9px;
  padding: 9px 11px;
  background: #fff7ed;
  border-radius: 6px;
  color: #7d4b1e;
}

.community-creator-empty,
.community-creator-loading {
  padding: 36px 16px;
  text-align: center;
  color: #70808b;
  border: 1px dashed #d4e1e5;
  border-radius: 8px;
}

.community-creator-body {
  white-space: pre-wrap;
  line-height: 1.75;
  color: #2f4653;
}

.community-creator-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}

.community-creator-tags span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef6f4;
  color: #146d60;
  font-size: 0.85rem;
}

.community-creator-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e3ecef;
}
.community-interactions { display: grid; gap: 14px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #dfe9ec; }
.community-interaction-toolbar { display: flex; align-items: center; gap: 10px; }
.community-interaction-toolbar button,.community-interaction-toolbar > span { padding: 7px 11px; border: 1px solid #d7e4e7; border-radius: 999px; color: #58717b; background: #fff; font-size: 12px; box-shadow: none; }
.community-interaction-toolbar button.is-active { color: #087d75; border-color: #78c3bb; background: #eaf8f5; }
.community-comment-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.community-comment-controls label { display: flex; align-items: center; gap: 7px; color: #66818a; font-size: 12px; }
.community-comment-controls select { min-width: 108px; padding: 6px 28px 6px 9px; }
.community-comment-list { display: grid; gap: 10px; }
.community-comment-thread { display: grid; gap: 8px; }
.community-comment-replies { display: grid; gap: 7px; }
.community-comment-replies.is-collapsed .community-comment:nth-child(n+4) { display: none; }
.community-comment { display: grid; gap: 6px; padding: 12px 14px; border: 1px solid #e0e9eb; border-radius: 8px; background: #fbfdfd; }
.community-comment.is-reply { margin-left: 34px; border-left: 3px solid #b8dcd7; }
.community-comment header { display: flex; align-items: center; gap: 10px; }
.community-comment header strong { color: #244650; font-size: 13px; }
.community-comment header time,.community-comment > small { color: #89999f; font-size: 10px; }
.community-comment p { margin: 0; color: #405b64; line-height: 1.65; white-space: pre-wrap; }
.community-comment footer { display: flex; gap: 10px; }
.community-comment footer button,.community-comment footer a { padding: 0; border: 0; color: #66818a; background: transparent; font-size: 11px; box-shadow: none; text-decoration: none; }
.community-comment.is-deleted { color: #819096; border-style: dashed; background: #f7f9f9; }
.community-comment-edit-form { display: grid; gap: 7px; }
.community-comment-edit-form textarea { min-height: 82px; resize: vertical; }
.community-comment-edit-form small { min-height: 1.2em; color: #9a463d; }
.community-comment-edit-form > div { display: flex; justify-content: flex-end; gap: 8px; }
.community-comment-edit-form button { min-height: 32px; padding: 5px 10px; }
.community-comment-toggle { justify-self: start; margin-left: 34px; padding: 3px 0; border: 0; color: #087d75; background: transparent; font-size: 12px; box-shadow: none; }
.community-comment-empty { padding: 18px; border-radius: 8px; color: #7a8d94; background: #f6f9fa; text-align: center; }
.community-comment-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid #efc8c3; border-radius: 8px; color: #9a3d35; background: #fff7f5; }
.community-comment-pagination { display: flex; justify-content: center; }
.community-comment-form { display: grid; gap: 9px; padding: 13px; border: 1px solid #d9e6e8; border-radius: 8px; background: #f8fbfb; }
.community-comment-form label { display: grid; gap: 6px; color: #294b54; font-weight: 700; }
.community-comment-form textarea { min-height: 84px; resize: vertical; }
.community-comment-submit-status { min-height: 1.2em; color: #a0473e; }
.community-comment-form > div { display: flex; justify-content: flex-end; gap: 8px; }
@media(max-width:600px){.community-comment.is-reply{margin-left:16px}.community-comment-toggle{margin-left:16px}.community-interaction-toolbar{flex-wrap:wrap}.community-comment-controls{align-items:flex-start}.community-comment-error{align-items:flex-start;flex-direction:column}}

@media (max-width: 760px) {
  .community-creator-form {
    grid-template-columns: 1fr;
  }

  .creator-field-wide,
  .community-creator-notice,
  .community-creator-actions {
    grid-column: 1;
  }

  .community-creator-card {
    grid-template-columns: 1fr;
  }

  .community-creator-footer {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Community template creation workbench */
.community-template-creator-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.community-template-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 16px;
  max-height: min(78vh, 820px);
  padding: 20px;
  overflow-y: auto;
}
.template-creator-page-shell { width: calc(100% - 32px); max-width: 1920px; margin: 0 auto; padding: 20px 0 48px; }
.template-creator-page-header { position: sticky; top: 0; z-index: 20; align-items: center; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #d8e6e9; border-radius: 10px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(29,58,67,.07); backdrop-filter: blur(10px); }
.template-creator-page-header h3 { margin: 3px 0; font-size: 25px; }
.template-creator-page-header p { margin: 0; color: #687d85; }
.template-creator-page-nav { display: flex; gap: 8px; }
#templateCreatorPanel .community-template-workbench { grid-template-columns: minmax(720px,1.38fr) minmax(520px,1fr); max-height: none; padding: 0; overflow: visible; align-items: start; }
#templateCreatorPanel .community-template-form-panel { display: grid; grid-column: 1; grid-row: 1; align-self: start; gap: 16px; padding: 20px; border: 1px solid #d9e6e9; border-radius: 10px; background: #fff; }
#templateCreatorPanel .community-template-live-preview { top: 112px; min-height: 620px; padding: 22px; }
.community-figure-preview-only { position: static !important; display: flex; flex-direction: column; grid-column: 2; grid-row: 1; align-self: stretch !important; min-height: 0 !important; height: 100%; padding: 0 !important; overflow: hidden; border: 0; background: transparent; }
#templateCreatorPanel .community-figure-preview-only .community-template-preview-canvas { min-height: 620px; height: auto; margin: 0; overflow: hidden; border: 1px solid #d9e6e9; border-radius: 10px; background-color: #fff; }
#templateCreatorPanel .community-figure-preview-only .community-preview-code-workspace { display: flex; flex: 1 1 0; flex-direction: column; min-height: 0; margin-top: 14px; border: 1px solid #d9e6e9; border-radius: 10px; background: #fff; overflow: hidden; }
#templateCreatorPanel .community-template-preview-canvas { min-height: 380px; }
#templateCreatorPanel .community-template-code-field textarea { min-height: 300px; }
#templateCreatorPanel .community-template-interface-field textarea { min-height: 180px; }
#templateCreatorPanel .community-template-creator-actions { position: sticky; grid-column: 1 / -1; grid-row: 2; align-self: start; bottom: 12px; z-index: 18; margin-top: 0; padding: 13px; border: 1px solid #d8e5e8; border-radius: 9px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(29,58,67,.11); backdrop-filter: blur(10px); }

.community-template-form-panel,
.community-template-live-preview {
  min-width: 0;
}

.community-template-type-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.community-template-type-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 0;
  height: 44px;
  padding: 7px 12px;
  border: 1px solid #d7e4e8;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.community-template-type-card:hover {
  border-color: #79bdb7;
}

.community-template-type-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.community-template-type-card:has(input:checked) {
  border-color: #168c83;
  background: #eef9f7;
  box-shadow: inset 0 0 0 1px #168c83;
}

.community-template-source-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.community-template-source-picker legend { margin-bottom: 4px; font-weight: 800; }
.community-template-source-picker label { display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: 48px; padding: 10px 13px; border: 1px solid #d8e4e7; border-radius: 7px; background: #fff; cursor: pointer; }
.community-template-source-picker label:has(input:checked) { border-color: #5ab7ae; background: #eaf8f5; }
.community-template-source-picker input { flex: 0 0 15px; width: 15px; height: 15px; margin: 0; }
.community-template-source-picker label span { line-height: 1.35; }

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

.community-template-detail-field {
  grid-column: 1 / -1;
}
.community-data-requirements,.community-template-detail-field,.community-template-summary-field { display: grid; gap: 6px; }
.community-data-requirements[hidden] { display: none !important; }
#templateCreatorPanel .community-data-requirements textarea { min-height: 120px; resize: vertical; }
#templateCreatorPanel .community-template-detail-field textarea,#templateCreatorPanel .community-template-summary-field textarea { min-height: 150px; resize: vertical; }
.community-data-requirements small,.community-template-detail-field small,.community-template-summary-field small { color: #71858c; font-weight: 400; line-height: 1.5; }
.community-collapsible-section { margin: 0; border: 1px solid #d7e4e7; border-radius: 9px; background: #f8fbfb; overflow: hidden; }
.community-collapsible-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.community-collapsible-section > summary::-webkit-details-marker { display: none; }
.community-collapsible-section > summary::after { content: "展开"; color: #087d75; font-size: 12px; }
.community-collapsible-section[open] > summary::after { content: "收起"; }
.community-collapsible-section > summary small { color: #71858c; font-weight: 400; }
.community-collapsible-section[open] > summary { border-bottom: 1px solid #dce7e9; }
.community-editable-elements { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; padding: 14px; background: #f8fbfb; }
.community-editable-elements label[hidden] { display: none !important; }
.community-editable-elements label { display: flex; align-items: center; gap: 7px; min-height: 42px; padding: 9px; border: 1px solid #dce7e9; border-radius: 6px; background: #fff; cursor: pointer; }
.community-editable-elements label:has(input:checked) { color: #087d75; border-color: #69bbb3; background: #eaf8f5; }
.community-editable-elements input { flex: 0 0 15px; width: 15px; height: 15px; margin: 0; }
.community-publish-scene-field { display: grid; gap: 6px; }
.community-publish-scene-field small { color: #71858c; font-weight: 400; }
@media(max-width:1000px){.community-editable-elements{grid-template-columns:repeat(2,minmax(0,1fr))}}

.community-template-live-preview {
  position: sticky;
  top: 0;
  align-self: start;
  padding: 16px;
  border: 1px solid #d9e6e9;
  border-radius: 8px;
  background: #f8fbfc;
}

.community-template-preview-canvas {
  display: grid;
  min-height: 240px;
  margin: 12px 0;
  padding: 18px;
  place-items: center;
  border: 1px solid #dce8eb;
  border-radius: 8px;
  background: #fff;
  color: #52666d;
  text-align: center;
}

.community-template-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.community-template-creator-actions {
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}

@media (max-width: 900px) {
  .community-template-workbench {
    grid-template-columns: 1fr;
  }

  .community-template-live-preview {
    position: static;
  }
}
@media(max-width:1320px){#templateCreatorPanel .community-template-workbench{grid-template-columns:minmax(620px,1.2fr) minmax(420px,.8fr)}}
@media(max-width:1100px){#templateCreatorPanel .community-template-workbench{grid-template-columns:1fr}#templateCreatorPanel .community-template-form-panel{grid-column:1;grid-row:1}#templateCreatorPanel .community-template-live-preview{position:static;grid-column:1;grid-row:2;min-height:auto!important;height:auto}#templateCreatorPanel .community-template-creator-actions{grid-column:1;grid-row:3}.template-creator-page-header{position:static}}
@media(max-width:700px){.template-creator-page-shell{width:calc(100% - 24px);padding-top:12px}.template-creator-page-header{align-items:flex-start;flex-direction:column}.community-template-type-picker{grid-template-columns:1fr 1fr}.community-template-field-grid{grid-template-columns:1fr}.community-template-field-grid>*{grid-column:1!important}}

@media (max-width: 640px) {
  .community-template-type-picker,
  .community-template-source-picker,
  .community-template-field-grid {
    grid-template-columns: 1fr;
  }

  .community-template-workbench {
    padding: 14px;
  }
}

.community-template-library {
  display: grid;
  gap: 14px;
}

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

.community-template-library-header h3 {
  margin: 0 0 4px;
}

.community-template-library-header p {
  margin: 0;
  color: #66777b;
}

.community-template-library-toolbar,
.community-template-draft-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.community-template-draft-list {
  display: grid;
  gap: 10px;
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 4px;
}

.community-template-draft-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #d9e5e7;
  border-radius: 8px;
  background: #fff;
}

.community-template-draft-main {
  min-width: 0;
}

.community-template-draft-main h4 {
  margin: 0 0 6px;
  font-size: 15px;
}

.community-template-draft-main p {
  margin: 0;
  overflow: hidden;
  color: #66777b;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.community-template-draft-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
  color: #66777b;
  font-size: 12px;
}

.community-template-draft-actions {
  align-items: center;
  justify-content: flex-end;
}

.community-template-library-empty {
  padding: 32px 20px;
  border: 1px dashed #d9e5e7;
  border-radius: 8px;
  color: #66777b;
  text-align: center;
}

.template-draft-status.is-approved { color: #087f76; background: #e6f6f3; }
.template-draft-status.is-published { color: #24683f; background: #eaf6ee; }
.template-draft-status.is-rejected { color: #a33b3b; background: #fff0f0; }
.template-review-note { display: block; margin-top: 6px; color: #9a4d35; }

.community-template-pricing-form { display: grid; gap: 16px; }
.community-template-pricing-form fieldset { margin: 0; padding: 14px; border: 1px solid #d9e5e7; border-radius: 10px; }
.community-template-pricing-summary { padding: 16px; border: 1px solid #cce4e1; border-radius: 10px; background: #f1faf8; }
.community-template-pricing-summary h4 { margin: 5px 0; font-size: 18px; }
.community-template-pricing-summary p { margin: 0; color: #66777b; }
.community-template-price-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.community-template-price-modes label { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid #d9e5e7; border-radius: 9px; }
.community-template-price-modes span { display: grid; gap: 3px; }
.community-template-price-modes small { color: #66777b; }
.community-template-price-field > div { display: grid; grid-template-columns: auto minmax(120px, 240px) 1fr; gap: 8px; align-items: center; margin-top: 6px; }
.community-template-publish-options { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid #d9e5e7; border-radius: 9px; }
.community-template-pricing-note { margin: 0; padding: 12px 14px; border-radius: 8px; color: #426468; background: #f1f8f7; }
.community-template-pricing-form footer { display: flex; justify-content: flex-end; gap: 10px; }

@media (max-width: 720px) {
  .community-template-price-modes { grid-template-columns: 1fr; }
}

.community-template-version-list {
  display: grid;
  gap: 10px;
  max-height: min(58vh, 520px);
  overflow: auto;
}

.community-template-version-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid #d9e5e7;
  border-radius: 8px;
  background: #fff;
}

@media (max-width: 760px) {
  .community-template-library-header,
  .community-template-version-list article {
    flex-direction: column;
    align-items: stretch;
  }

  .community-template-draft-card {
    grid-template-columns: 1fr;
  }

  .community-template-draft-actions {
    justify-content: flex-start;
  }
}
/* Account menu owns task/message/continue-work shortcuts to keep the global header calm. */
.user-dropdown .user-hub-account-links{display:grid;gap:4px;margin:0 0 4px;padding:0 0 6px;border-bottom:1px solid #e3ecec;white-space:normal}
.user-dropdown .user-hub-account-links.hidden{display:none}
.user-dropdown .user-hub-account-links button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:9px 12px;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#18383e;text-align:left}
.user-dropdown .user-hub-account-links button:hover{background:#eef8f7;color:#087f78}
.user-dropdown .user-hub-account-links b{margin-left:auto}

/* Account dropdown quick links use the same rhythm as the account menu. */
.user-dropdown .user-hub-account-links{gap:3px;margin:0 0 7px;padding:2px 0 9px;border-bottom:1px solid #dfe9e9}
.user-dropdown .user-hub-account-links button{min-height:42px;padding:9px 12px;border:0!important;border-radius:9px;background:transparent;line-height:1.2}
.user-dropdown .user-hub-account-links button:hover{background:#edf7f6}
.user-dropdown .user-hub-account-links b{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:14px;padding:0 6px;border:0;border-radius:999px;background:#e2ecec;color:#667b7d;font-size:12px;line-height:1}
.user-dropdown .user-hub-account-links b.empty{background:#e2ecec;color:#667b7d}

/* Full-page personal center */
.personal-center-panel{padding:16px 22px!important;background:#f4f8f8!important;min-height:calc(100vh - 110px)}
.personal-center-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;width:100%;max-width:none;margin:0}
.personal-center-sidebar,.personal-center-content{border:1px solid #d8e6e6;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(22,68,72,.07)}
.personal-center-sidebar{position:sticky;top:24px;align-self:start;display:grid;gap:18px;padding:20px}
.personal-profile-card{display:grid;justify-items:center;gap:7px;padding:22px 12px;border-radius:14px;background:linear-gradient(145deg,#e9f7f4,#edf3ff)}
.personal-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#0f8c82,#2775d7);color:#fff;font-size:25px;font-weight:900}.personal-avatar.large{width:84px;height:84px;border-radius:22px;font-size:32px}
.personal-profile-card strong{font-size:19px}.personal-profile-card span{color:#60777b}.personal-profile-card em,.status-pill{padding:5px 9px;border-radius:999px;background:#fff;color:#0b8178;font-size:12px;font-style:normal;font-weight:800}
.personal-center-sidebar nav{display:grid;gap:5px}.personal-center-sidebar nav button{display:grid;gap:3px;padding:12px;border:0;border-radius:10px;background:transparent;color:#223c42;text-align:left;box-shadow:none}.personal-center-sidebar nav button span{color:#73888b;font-size:12px;font-weight:500}.personal-center-sidebar nav button:hover,.personal-center-sidebar nav button.active{background:#eaf7f5;color:#087d75}.personal-back-button{width:100%}
.personal-center-content{min-width:0;padding:28px}.personal-center-content>header,.personal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.personal-center-content>header{padding-bottom:22px;border-bottom:1px solid #dfebeb}.personal-center-content header small,.personal-welcome span{color:#087f77;font-weight:900;letter-spacing:.08em}.personal-center-content header h2{margin:5px 0;font-size:30px}.personal-center-content header p{margin:0;color:#677e82}
#personalCenterBody{display:grid;gap:18px;margin-top:20px}.personal-welcome,.personal-section{padding:22px;border:1px solid #dce8e8;border-radius:14px;background:#fff}.personal-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(120deg,#e9f7f4,#eef3ff)}.personal-welcome h3{margin:7px 0;font-size:26px}.personal-welcome p{margin:0;color:#60777b}
.personal-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.personal-metric-grid article{display:grid;gap:8px;padding:18px;border:1px solid #dce8e8;border-radius:12px;background:#fff}.personal-metric-grid span{color:#6b8083}.personal-metric-grid strong{color:#087e76;font-size:25px}
.personal-section-head{margin-bottom:16px}.personal-section-head h3{margin:0 0 4px}.personal-section-head p{margin:0;color:#6b8083}.personal-empty{padding:42px;border:1px dashed #cbdcdc;border-radius:11px;background:#f8fbfb;color:#718588;text-align:center}
.personal-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.personal-project-card{display:grid;gap:18px;padding:18px;border:1px solid #dce7e7;border-radius:12px;background:#fff}.personal-project-card.role-owner{border-top:4px solid #0e8b80}.personal-project-card.role-editor{border-top:4px solid #3d7fd1}.personal-project-card.role-viewer{border-top:4px solid #9aaeb0}.personal-project-card h4{margin:9px 0 5px;font-size:18px}.personal-project-card p{margin:0;color:#718487;font-size:12px}.project-role-badge{color:#087e76;font-size:12px;font-weight:900}.project-role-actions{display:flex;align-items:center;gap:8px}.project-role-actions span{color:#718487;font-size:12px}.project-role-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.project-role-legend span{padding:8px 11px;border-radius:8px;background:#f0f6f6;color:#61777a;font-size:12px}.project-role-legend b{color:#183e43}
.profile-avatar-editor{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-avatar-editor>div:last-child{display:grid;gap:6px}.profile-avatar-editor span{color:#6f8386}.profile-avatar-editor button{justify-self:start}.personal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.personal-form-grid label{display:grid;gap:7px;font-weight:800}.personal-form-grid label.full{grid-column:1/-1}.personal-form-grid input,.personal-form-grid textarea{width:100%}.personal-privacy-note{display:flex;gap:10px;margin-top:16px;padding:13px;border-radius:9px;background:#eff9f7;color:#557276}.personal-form-actions{display:flex;justify-content:flex-end;margin-top:16px}
.verification-intro{display:grid;justify-items:start;gap:12px}.verification-intro h3,.verification-intro p{margin:0}.verification-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.verification-steps span{padding:14px;border-radius:9px;background:#f1f7f7}.security-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-entry-grid button{display:grid;gap:6px;padding:20px;text-align:left}.security-entry-grid span{color:#6b8083;font-weight:500}
.verification-badge{padding:5px 9px;border-radius:999px;background:#eef3f3;color:#667b7f;font-size:11px;font-style:normal;font-weight:800}.verification-badge.status-approved,.status-pill.status-approved{background:#dff5ef;color:#08756d}.verification-badge.status-pending,.status-pill.status-pending{background:#fff4d9;color:#8b6415}.verification-badge.status-rejected,.status-pill.status-rejected{background:#fff0ec;color:#a23a2b}.personal-metric-grid article.clickable{cursor:pointer}.personal-metric-grid article.clickable:hover{border-color:#67bcb5;background:#f1faf8}.verification-intro .personal-section-head{width:100%;margin:0}.verification-intro .personal-section-head>div{display:grid;justify-items:start;gap:10px}.verification-steps b{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:5px;border-radius:50%;background:#d9efec;color:#087b73}.verification-current{display:grid;gap:5px;width:100%;padding:14px;border:1px solid #d5e7e5;border-radius:10px;background:#f8fbfb}.verification-current span,.verification-current p{color:#667c80}.verification-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.verification-form{display:grid;align-content:start;gap:14px}.verification-form h3{margin:7px 0 4px}.verification-form p{margin:0;color:#687e82;line-height:1.55}.verification-form>label,.verification-code-row label{display:grid;gap:6px;color:#314e52;font-weight:700}.verification-form input{width:100%}.verification-method-tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#dff5ef;color:#08756d;font-size:11px;font-weight:900}.verification-code-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verification-code-row[hidden]{display:none}.form-hint{min-height:18px;color:#08756d;font-size:12px}.verification-file-drop{padding:14px;border:1px dashed #9fc8c5;border-radius:10px;background:#f7fbfb}.verification-file-drop small{color:#708487;font-weight:500;line-height:1.45}.verification-success,.verification-pending{display:grid;gap:7px;background:#f1faf8}.verification-success strong{color:#08756d}.verification-pending strong{color:#8b6415}
.personal-avatar.has-image{background-position:center;background-size:cover;color:transparent}.profile-avatar-upload{display:grid;justify-items:start;gap:4px;margin-top:4px}.profile-avatar-upload>span{display:inline-flex;padding:6px 10px;border:1px solid #9ccbc7;border-radius:8px;background:#f2faf8;color:#087a72;font-size:12px;font-weight:800;cursor:pointer}.profile-avatar-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.profile-avatar-upload small{color:#718589;font-size:11px;font-weight:500}
.security-state.warning{background:#fff0ec;color:#a23a2b}.security-event-list{display:grid;gap:8px}.security-event-list article{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #deeaeb;border-radius:10px;background:#fafcfc}.security-event-list article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e2f4ef;color:#08756d;font-weight:900}.security-event-list article>div{display:grid;gap:3px}.security-event-list small{color:#73868a}.security-event-list em{color:#678085;font-size:12px;font-style:normal;font-weight:800}.security-event-list article.unusual{border-color:#eabdaf;background:#fff8f5}.security-event-list article.unusual>span{background:#ffe3da;color:#a23a2b}.security-event-list article.unusual>em{color:#a23a2b}
.template-commerce-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.template-commerce-summary article{display:grid;gap:5px;padding:13px;border:1px solid #dce8e8;border-radius:10px;background:#f7fbfb}.template-commerce-summary span{color:#718589;font-size:12px}.template-commerce-summary strong{color:#17464a;font-size:20px}.template-earnings-list{display:grid;gap:9px}.template-earnings-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;padding:13px;border:1px solid #dce8e8;border-radius:10px}.template-earnings-list article>div{display:grid;gap:4px}.template-earnings-list small{color:#718589}.template-earnings-list span{color:#637b7f}.template-earnings-list b{color:#08756d}@media(max-width:680px){.template-commerce-summary{grid-template-columns:1fr}.template-earnings-list article{grid-template-columns:1fr}.template-earnings-list article>span,.template-earnings-list article>b{text-align:left}}
button[data-viewer-locked="1"]{cursor:not-allowed!important;opacity:.48!important;box-shadow:none!important;transform:none!important}
@media(max-width:1000px){.personal-center-shell{grid-template-columns:1fr}.personal-center-sidebar{position:static}.personal-center-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.personal-center-panel{padding:10px!important}.personal-center-content{padding:18px}.personal-center-sidebar nav,.personal-metric-grid,.personal-project-grid,.personal-form-grid,.verification-steps,.security-entry-grid,.verification-method-grid,.verification-code-row{grid-template-columns:1fr}.personal-welcome,.personal-center-content>header{align-items:stretch;flex-direction:column}}

@media(min-width:1001px){.personal-center-content{padding:24px 28px}}

/* Personal center spacing rhythm: align headings, actions and bordered modules. */
.personal-center-content{overflow:hidden;padding:0!important}
.personal-center-content>header{align-items:center;min-height:118px;padding:24px 30px 22px;border-bottom:1px solid #dfebeb}
.personal-center-content>header>div{display:grid;gap:4px;min-width:0}
.personal-center-content>header small{display:block;line-height:1.2}
.personal-center-content>header h2{margin:2px 0 0;line-height:1.15}
.personal-center-content>header p{margin:1px 0 0;line-height:1.55}
.personal-center-content>header>button{flex:0 0 auto;align-self:center;margin:0}
#personalCenterBody{gap:18px;margin:0;padding:20px 24px 26px}
.personal-welcome{min-height:132px;padding:24px 28px;border-radius:14px}
.personal-welcome>div{display:grid;gap:5px}
.personal-welcome span{display:block;line-height:1.2}
.personal-welcome h3{margin:2px 0 0;line-height:1.2}
.personal-welcome p{margin:1px 0 0;line-height:1.55}
.personal-welcome>button{flex:0 0 auto;align-self:center;margin:0}
.personal-metric-grid{gap:14px}
.personal-metric-grid article{min-height:104px;align-content:center;gap:8px;padding:20px 22px;border-radius:12px}
.personal-metric-grid article span,.personal-metric-grid article strong{line-height:1.25}
.personal-section{padding:22px 26px;border-radius:14px}
.personal-section-head{align-items:center;margin-bottom:18px}
.personal-section-head>div{display:grid;gap:4px}
.personal-section-head h3,.personal-section-head p{line-height:1.35}
.personal-section-head>button,.personal-section-head>.status-pill{flex:0 0 auto;margin:0}
.personal-empty{display:grid;place-items:center;min-height:122px;padding:30px}
@media(max-width:680px){.personal-center-content>header{align-items:stretch;min-height:0;padding:20px}.personal-center-content>header>button{align-self:stretch}#personalCenterBody{padding:14px}.personal-welcome{align-items:stretch;min-height:0;padding:20px}.personal-welcome>button{align-self:stretch}.personal-section{padding:18px}}

.profile-avatar-note{color:#718689;font-size:12px}.collaboration-detail{margin-top:18px}.collaboration-detail-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin-top:18px}.collaboration-detail-grid>section,.collaboration-discussion{padding:16px;border:1px solid #dce8e8;border-radius:12px;background:#f9fbfb}.collaboration-detail h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.collaboration-detail h4 b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#e2f1ef;color:#087e76;font-size:12px}.collaboration-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:12px}.collaboration-task-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.5fr) 150px;gap:8px;margin-bottom:12px}.collaboration-task-form textarea{grid-column:1/-1;min-height:66px}.collaboration-task-form button{grid-column:1/-1;justify-self:end}.collaboration-member-list,.collaboration-task-list,.collaboration-discussion>div{display:grid;gap:8px}.collaboration-member-list article,.collaboration-task-list article,.collaboration-discussion article{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e2ebeb;border-radius:9px;background:#fff}.collaboration-member-list article>div,.collaboration-task-list article>div{display:grid;flex:1;min-width:0}.collaboration-member-list small,.collaboration-task-list small,.collaboration-discussion small{color:#718689}.collaboration-task-list p,.collaboration-discussion p{margin:4px 0 0;color:#536e72}.collaboration-discussion{margin-top:18px}.collaboration-discussion article{display:grid;grid-template-columns:auto 1fr auto}.collaboration-discussion article p{margin:0}.collaboration-discussion .collaboration-inline-form{grid-template-columns:1fr auto}@media(max-width:900px){.collaboration-detail-grid{grid-template-columns:1fr}.collaboration-task-form{grid-template-columns:1fr}.collaboration-task-form textarea,.collaboration-task-form button{grid-column:auto}.collaboration-inline-form{grid-template-columns:1fr}.collaboration-discussion article{grid-template-columns:1fr}}
.template-library-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.template-library-summary article{display:grid;gap:5px;padding:14px 16px;border:1px solid #dce8e8;border-radius:11px;background:#f8fbfb}.template-library-summary span{color:#6c8184;font-size:12px}.template-library-summary strong{color:#087f77;font-size:24px}.template-library-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 12px;border-bottom:1px solid #dce8e8}.template-library-tabs button{white-space:nowrap;background:#f1f6f6;color:#34565a;box-shadow:none}.template-library-tabs button.active{background:#108c82;color:#fff}.template-library-tabs b{margin-left:4px}.template-library-tools{display:flex;justify-content:space-between;gap:12px;margin:16px 0}.template-library-tools label{display:flex;align-items:center;gap:8px;flex:1;max-width:520px;padding:0 13px;border:1px solid #d5e3e3;border-radius:10px;background:#fff}.template-library-tools input{width:100%;border:0;box-shadow:none}.template-library-tools select{width:160px}.template-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.template-library-card{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:11px;min-height:230px;padding:17px;border:1px solid #dbe7e7;border-radius:12px;background:#fff}.template-card-heading,.template-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-card-heading span{color:#087e76;font-size:12px;font-weight:900}.template-card-heading em{padding:4px 7px;border-radius:999px;background:#eef5f5;color:#60777a;font-size:11px;font-style:normal}.template-library-card h4{margin:0;font-size:18px}.template-library-card p{margin:0;color:#6b8083;font-size:13px;line-height:1.6}.template-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;border-radius:9px;background:#f7fafa;color:#688084;font-size:12px}.template-card-metrics b{color:#173d42}.template-card-footer{padding-top:2px}.template-card-footer>span{color:#0a8279;font-weight:900}@media(max-width:1050px){.template-library-summary{grid-template-columns:repeat(3,1fr)}.template-library-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.template-library-summary,.template-library-grid{grid-template-columns:1fr}.template-library-tools{align-items:stretch;flex-direction:column}.template-library-tools label,.template-library-tools select{max-width:none;width:100%}}
.template-library-section>.personal-section-head{margin-bottom:10px}.template-library-section>.template-library-tabs{padding-top:2px}
.account-security-layout{display:grid;gap:16px}.security-status-section{background:linear-gradient(120deg,#f8fcfb,#f6f9ff)}.security-state{padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}.security-state.safe{background:#e5f5ef;color:#08796f}.security-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.security-status-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid #dce8e8;border-radius:11px;background:#fff}.security-status-icon,.security-group-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e6f4f1;color:#087f77;font-size:12px;font-weight:900}.security-status-grid strong{font-size:14px}.security-status-grid p{margin:3px 0 0;color:#708387;font-size:12px}.security-status-grid em{color:#087f77;font-size:12px;font-style:normal}.text-button{padding:0!important;background:transparent!important;color:#087f77!important;box-shadow:none!important}.security-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-group>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:11px}.security-group>div:first-child .security-group-icon{grid-row:1/3}.security-group h3{margin:0}.security-group>div:first-child p{margin:4px 0 0;color:#6b8083}.security-action-list{display:grid;margin-top:18px;border-top:1px solid #e0eaea}.security-action-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px;border:0;border-bottom:1px solid #e5eded;border-radius:0;background:transparent;color:#173c41;text-align:left;box-shadow:none}.security-action-list button:hover{padding-left:8px;background:#f5f9f9}.security-action-list button span{display:grid;gap:3px}.security-action-list small{color:#718588;font-weight:500}.security-action-list b{color:#087f77;white-space:nowrap}.security-action-list .danger-row strong,.security-action-list .danger-row b{color:#a74747}.membership-overview{display:grid;gap:5px;margin-top:18px;padding:18px;border-radius:11px;background:linear-gradient(125deg,#e8f6f3,#eef3ff)}.membership-overview span,.membership-overview p{color:#647d81;font-size:12px}.membership-overview strong{color:#087f77;font-size:24px}.membership-overview p{margin:0}.security-note{display:flex;align-items:flex-start;gap:18px;padding-top:17px;padding-bottom:17px;background:#f1f8f6}.security-note p{margin:0;color:#61797d;line-height:1.6}@media(max-width:900px){.security-status-grid,.security-main-grid{grid-template-columns:1fr}}@media(max-width:600px){.security-status-grid article{grid-template-columns:auto 1fr}.security-status-grid article>em,.security-status-grid article>.text-button{grid-column:2;justify-self:start}.security-note{display:grid;gap:6px}}

/* Final account popover layout: one clean surface, two visually distinct groups. */
.user-account-menu .user-dropdown{min-width:244px;padding:10px;border:1px solid #dce7e7;border-radius:15px;box-shadow:0 16px 38px rgba(20,58,63,.14)}
.user-account-menu .user-dropdown>.user-hub-account-links{gap:2px;margin:0 0 8px;padding:5px;border:0;border-radius:11px;background:#f1f8f7}
.user-account-menu .user-dropdown>.user-hub-account-links button{min-height:40px;padding:8px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;justify-content:flex-start!important;text-align:left!important}
.user-account-menu .user-dropdown>.user-hub-account-links button:hover{background:#e3f2f0!important}
.user-account-menu .user-dropdown>.user-hub-account-links b{margin-left:auto}
.user-account-menu .user-dropdown>button{min-height:42px;padding:10px 14px!important;border:0!important;border-radius:9px!important;justify-content:flex-start!important;text-align:left!important;background:transparent!important}
.user-account-menu .user-dropdown>button:hover{background:#edf7f6!important;color:#087d75}
.profile-avatar-editor{align-items:flex-start;gap:18px;padding-bottom:20px;border-bottom:1px solid #e1ebeb}.profile-identity{display:grid!important;align-content:start;justify-items:start;gap:9px!important;padding-top:2px}.profile-identity>strong{font-size:20px}.profile-public-id{display:flex;align-items:center;gap:8px}.profile-public-id span{padding:6px 9px;border-radius:7px;background:#eef6f6;color:#557276;font-size:13px}.profile-public-id button{min-height:30px;padding:5px 10px}.avatar-change-button{margin-top:2px!important;background:#eef1f3!important;border-color:#d9dfe3!important;color:#7a848a!important}.personal-form-grid.compact{margin-top:20px}.personal-form-grid.compact .full{grid-column:1/-1}

/* Project collaboration workbench */
.collaboration-workbench{padding:20px 22px;border:1px solid #dce8e8;border-radius:14px;background:#fff}.collaboration-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.project-filter-tabs{display:flex;align-items:center;gap:5px;padding:4px;border-radius:10px;background:#f0f6f6}.project-filter-tabs button{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#536e72}.project-filter-tabs button.active{background:#fff;color:#087e76;box-shadow:0 3px 10px rgba(24,67,72,.09)}.project-filter-tabs b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#dfeceb;font-size:11px}.collaboration-actions{display:flex;align-items:center;gap:8px}.collaboration-actions label{display:flex;align-items:center;gap:6px;min-width:220px;padding:0 11px;border:1px solid #d8e5e5;border-radius:9px;background:#fff}.collaboration-actions input{min-height:40px;padding:0;border:0;outline:0;background:transparent}.collaboration-empty{display:flex;align-items:center;justify-content:center;gap:16px;min-height:190px;padding:34px;border:1px dashed #c9dada;border-radius:12px;background:#f8fbfb}.collaboration-empty>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e5f4f1;color:#0a8178;font-size:26px;font-weight:800}.collaboration-empty>div{display:grid;gap:7px}.collaboration-empty strong{font-size:18px}.collaboration-empty p{margin:0;color:#6d8285}.collaboration-empty>div>div{display:flex;gap:8px;margin-top:4px}.collaboration-empty.compact{min-height:130px}.project-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-state-badge{padding:4px 7px;border-radius:999px;background:#edf6f4;color:#64807d;font-size:11px}.project-card-facts{display:flex;gap:6px;margin-top:14px}.project-card-facts span{padding:5px 7px;border-radius:6px;background:#f1f6f6;color:#6c8083;font-size:11px}.team-activity-section{padding-top:19px}.activity-placeholder{display:flex;align-items:center;gap:13px;padding:17px;border-radius:10px;background:#f6f9f9}.activity-placeholder>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e3f1ef;color:#087e76;font-weight:900}.activity-placeholder strong{display:block}.activity-placeholder p{margin:3px 0 0;color:#6f8386;font-size:13px}
@media(max-width:1180px){.collaboration-toolbar{align-items:stretch;flex-direction:column}.project-filter-tabs{overflow:auto}.collaboration-actions label{flex:1}}
@media(max-width:680px){.collaboration-workbench{padding:14px}.project-filter-tabs{align-items:stretch;flex-direction:column}.collaboration-actions{align-items:stretch;flex-direction:column}.collaboration-actions label{min-width:0}.collaboration-empty{align-items:flex-start;justify-content:flex-start}.collaboration-empty>div>div{flex-direction:column}}
.security-inline-account{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:17px;padding:14px 16px;border-radius:10px;background:#f5f9f9}.security-inline-account span{color:#6e8386;font-size:12px}.security-inline-account strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-settings-modal:has(.account-modal-delete:not(.hidden)),.account-settings-modal:has(.account-modal-sessions:not(.hidden)){width:min(620px,100%)}
.entitlement-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.entitlement-metric-grid article{display:grid;gap:5px;padding:12px 13px;border:1px solid #e0eaea;border-radius:9px;background:#fafcfc}.entitlement-metric-grid span{color:#6d8285;font-size:11px}.entitlement-metric-grid strong{font-size:15px}.compact-actions{margin-top:12px}@media(max-width:520px){.entitlement-metric-grid{grid-template-columns:1fr}}
.dictionary-guided-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:17px 19px;border-radius:12px;background:linear-gradient(115deg,#e9f7f4,#eef4ff)}.dictionary-guided-head>div:first-child{display:grid;gap:4px}.dictionary-guided-head span{color:#087e76;font-size:11px;font-weight:900}.dictionary-guided-head strong{font-size:17px}.dictionary-guided-head p{margin:0;color:#687f83;font-size:13px}.dictionary-progress{display:grid;place-items:center;min-width:86px;padding:10px;border-radius:10px;background:#fff}.dictionary-progress b{color:#087f77;font-size:19px}.dictionary-primary-task{position:relative;padding-top:46px!important;border:2px solid #74c8bf!important;background:#fbfefd!important}.dictionary-primary-task>.dictionary-task-number{position:absolute;top:14px;left:17px;padding:5px 9px;border-radius:999px;background:#0d8b81;color:#fff;font-size:11px;font-weight:900}.dictionary-optional-tasks{display:grid;gap:9px;margin-top:12px}.dictionary-collapsible-task{position:relative;padding:0!important;overflow:hidden}.dictionary-task-toggle{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:15px 17px!important;border:0!important;border-radius:0!important;background:#f7fbfb!important;color:#173d42!important;text-align:left!important;box-shadow:none!important}.dictionary-task-toggle:hover{background:#eef7f6!important}.dictionary-task-toggle>span:nth-child(2){display:grid;gap:3px}.dictionary-task-toggle small{color:#6f8386;font-weight:500}.dictionary-task-toggle>b{color:#087f77;font-size:12px}.dictionary-task-toggle+.hint,.dictionary-task-toggle~:not(.dictionary-task-toggle){margin-left:17px;margin-right:17px}.dictionary-collapsible-task.collapsed>:not(.dictionary-task-toggle){display:none!important}.dictionary-collapsible-task:not(.collapsed){padding-bottom:17px!important;border-color:#8fcfc8!important}.dictionary-next-hint{display:grid;gap:2px;margin-right:auto}.dictionary-next-hint strong{font-size:13px}.dictionary-next-hint span{color:#6b8083;font-size:12px}@media(max-width:700px){.dictionary-guided-head{align-items:flex-start;flex-direction:column}.dictionary-task-toggle{grid-template-columns:auto 1fr}.dictionary-task-toggle>b{grid-column:2}.dictionary-progress{justify-items:start}.dictionary-primary-task{padding-top:52px!important}}
.processing-input-version{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(280px,1fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid #cde3df;border-radius:14px;background:linear-gradient(110deg,#f1fbf8 0%,#f5f8ff 100%)}
.processing-version-copy{display:grid;gap:3px}.processing-version-copy strong{font-size:16px}.processing-version-copy p{margin:0;color:#66808a;font-size:13px}.processing-version-kicker{color:#087e75;font-size:11px;font-weight:800;letter-spacing:.08em}
.processing-version-field{display:grid;gap:6px}.processing-version-field>span{font-size:13px;font-weight:700;color:#24424a}.processing-version-field select{width:100%;min-height:44px;background:#fff}
.processing-version-meta{min-width:125px;padding-left:16px;border-left:1px solid #d7e6e8;display:grid;gap:3px}.processing-version-meta b{color:#087e75}.processing-version-meta span{font-size:12px;color:#6b8088}
@media(max-width:900px){.processing-input-version{grid-template-columns:1fr}.processing-version-meta{padding:0;border-left:0;grid-template-columns:auto 1fr;gap:10px}}

/* Variable dictionary: three task groups with compact, non-linear subnavigation. */
.dictionary-tab-navigation{display:grid;gap:0;margin:14px 0;border:1px solid #cfe2df;border-radius:13px;background:#fff;overflow:hidden}
.dictionary-group-navigation{display:flex;align-items:stretch;justify-content:space-between;gap:14px;padding:6px;background:#f2f8f7}
.dictionary-group-list{display:flex;align-items:stretch;gap:4px;min-width:0}
.dictionary-group-list button{display:grid;gap:1px;min-width:154px;min-height:44px;padding:6px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#28464a;text-align:left;box-shadow:none}
.dictionary-group-list button:hover{background:#e8f3f1;transform:none}.dictionary-group-list button.active{border-color:#83c9c1;background:#fff;color:#087f77;box-shadow:0 2px 8px rgba(20,80,75,.08)}
.dictionary-group-list button>span{font-size:13px;font-weight:850}.dictionary-group-list button>small{color:#74878a;font-size:10px;font-weight:500}.dictionary-group-list button.active>small{color:#5c7c79}
.dictionary-status-summary{display:grid;align-content:center;justify-items:end;min-width:170px;padding:3px 10px 3px 16px;border-left:1px solid #d5e5e2}.dictionary-status-summary span{color:#718488;font-size:10px}.dictionary-status-summary b{margin-top:2px;color:#087f77;font-size:12px;white-space:nowrap}
.dictionary-subtab-groups{padding:0 12px;border-top:1px solid #dce9e7;background:#fff}
.dictionary-tab-list{display:none;align-items:center;gap:18px;min-height:42px;overflow-x:auto}.dictionary-tab-list.active{display:flex}
.dictionary-tab-list button{display:flex;align-items:center;gap:6px;min-height:42px;padding:0 1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#536c70;text-align:left;box-shadow:none;white-space:nowrap}
.dictionary-tab-list button:hover{color:#087f77;background:transparent;transform:none}.dictionary-tab-list button.active{border-bottom-color:#0c8b81;background:transparent;color:#087f77;box-shadow:none}
.dictionary-tab-list button>span{font-size:12px;font-weight:800}.dictionary-tab-list button>b{padding:2px 5px;border-radius:999px;background:#0d8b81;color:#fff;font-size:9px}.dictionary-tab-list button>small{color:#849396;font-size:10px}.dictionary-tab-list button>small.configured{color:#078078;font-weight:800}
.dictionary-tab-panels{display:grid}.dictionary-tab-panel{min-width:0}.dictionary-tab-panel[hidden]{display:none!important}
.dictionary-create-workbench{display:grid;gap:14px;padding:18px;border:1px solid #d9e7e6;border-radius:14px;background:#fff}.variable-create-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.variable-create-head h3{margin:3px 0 4px}.variable-create-head p{margin:0;color:#657c80;font-size:12px}.variable-create-summary{display:grid;justify-items:end;min-width:180px;padding-left:16px;border-left:1px solid #dce8e7}.variable-create-summary span{color:#718488;font-size:10px}.variable-create-summary b{margin-top:3px;color:#087f77;font-size:12px}.variable-create-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.variable-create-methods button{display:grid;gap:3px;min-height:58px;padding:9px 12px;border:1px solid #dce8e7;border-radius:10px;background:#f8fbfb;color:#24464a;text-align:left;box-shadow:none}.variable-create-methods button:hover{border-color:#9fd1ca;background:#f2faf8;transform:none}.variable-create-methods button.active{border-color:#45afa4;background:#eef9f7;box-shadow:inset 0 0 0 1px rgba(20,151,141,.12)}.variable-create-methods span{font-size:13px;font-weight:850}.variable-create-methods small{color:#718488;font-size:10px;font-weight:500}.variable-create-section-host{display:grid}.variable-create-section{display:none!important;margin:0!important}.variable-create-section.active{display:block!important}.variable-create-section>label:first-child{font-size:15px}.variable-create-section .hint{font-size:12px}
.draft-variable-row{border-color:#9bd3cd!important;background:#f4fbfa!important}.draft-variable-row em{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#dff4f0;color:#087f77;font-size:9px;font-style:normal;vertical-align:middle}
.dictionary-focus-target{animation:dictionaryFocusPulse 1.6s ease;border-color:#16a394!important;box-shadow:0 0 0 2px rgba(22,163,148,.12)}
@keyframes dictionaryFocusPulse{0%,100%{background:#fff}40%{background:#e8f8f5}}
.derived-draft-actions,.transform-draft-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #e1ecea}
.derived-draft-status,.transform-draft-status{margin-right:auto;color:#6b8083;font-size:12px}.derived-draft-status.configured,.transform-draft-status.configured{color:#087f77;font-weight:800}
#transformRows .process-row{grid-template-columns:minmax(170px,.8fr) minmax(220px,1fr) minmax(180px,.8fr) 44px}
#transformRows .transform-draft-actions{grid-column:1/-1}
.dictionary-tab-panels button.secondary{min-height:32px;padding:5px 10px;font-size:12px}.dictionary-tab-panels .icon-button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.dictionary-tab-panels .row-label{display:inline-flex;align-items:center;margin:0;font-size:13px}
.variable-manager-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.variable-manager-head>div:first-child{display:grid;gap:3px}.variable-manager-head .hint{margin:0}.variable-manager-head-actions{display:grid;justify-items:end;gap:7px}.variable-manager-batch-tools{display:flex;align-items:center;gap:5px}.variable-manager-batch-tools button{min-height:29px!important;padding:4px 8px!important;font-size:10px!important}.variable-manager-toolbar{display:flex;align-items:flex-end;gap:8px}.variable-manager-toolbar>label{display:grid;gap:4px;min-width:150px}.variable-manager-toolbar>label>span{margin:0;color:#62787c;font-size:10px;font-weight:800}.variable-manager-toolbar input,.variable-manager-toolbar select{width:100%;min-height:36px;padding:6px 9px;font-size:12px}.variable-manager-search{min-width:210px!important}
.variable-manager-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:14px;align-items:start}.variable-manager-layout:not(:has(.variable-inspector:not([hidden]))){grid-template-columns:1fr}.variable-manager-table-wrap{min-width:0;border:1px solid #dce8e8;border-radius:11px;background:#fff;overflow:hidden}.variable-manager-table-head,.variable-manager-row{display:grid!important;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) minmax(155px,1fr) minmax(112px,.65fr) 58px;gap:10px;align-items:center}.variable-manager-table-head{min-height:36px;padding:6px 10px;border-bottom:1px solid #dce8e8;background:#f5f9f9;color:#718488;font-size:10px;font-weight:800}.variable-manager-table{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.variable-manager-row{min-height:58px;padding:7px 10px;border:0;border-bottom:1px solid #e7eeee;border-radius:0;background:#fff;cursor:default}.variable-manager-row:last-child{border-bottom:0}.variable-manager-row:hover,.variable-manager-row.selected{background:#f2faf8}.variable-manager-row.selected{box-shadow:inset 3px 0 #14978d}.variable-manager-row.excluded{background:#fafbfb;opacity:.7}.variable-manager-name{min-width:0}.variable-manager-name strong{font-size:13px}.variable-manager-name>span,.variable-manager-values>span,.variable-manager-values>small{display:block!important;margin:2px 0 0!important;color:#718488;font-size:10px!important}.variable-manager-values{min-width:0}.variable-manager-values>small{color:#087f77!important}.variable-manager-row .variable-type-select{min-height:34px;padding:5px 8px;font-size:12px}.variable-manager-include{display:flex;align-items:center;gap:7px;margin:0;cursor:pointer}.variable-manager-include input{flex:0 0 15px;width:15px;height:15px;margin:0}.variable-manager-include span{display:block!important;margin:0!important;color:#49666a!important;font-size:11px!important;font-weight:700}.variable-manager-edit{min-width:0!important;width:52px!important;padding:5px 7px!important}.variable-manager-table-wrap>.summary{margin:12px}
.variable-inspector{position:sticky;top:12px;min-width:0;border:1px solid #bcded9;border-radius:12px;background:#fff;box-shadow:0 12px 28px rgba(26,78,80,.09);overflow:hidden}.variable-inspector[hidden]{display:none}.variable-inspector>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #e2eceb;background:linear-gradient(120deg,#eff9f7,#f7faff)}.variable-inspector>header>div{display:grid;gap:3px;min-width:0}.variable-inspector>header span{color:#087f77;font-size:10px;font-weight:900}.variable-inspector>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.variable-inspector>header small{color:#718488;font-size:10px}.variable-inspector-body{display:grid;gap:13px;max-height:480px;padding:14px;overflow:auto}.variable-inspector-body>label:not(.variable-inspector-switch){display:grid;gap:5px}.variable-inspector-body>label>span{margin:0;font-size:11px;font-weight:800}.variable-inspector-switch{display:flex;align-items:center;gap:9px;margin:0;padding:10px;border:1px solid #e0eaea;border-radius:9px;background:#f8fbfb}.variable-inspector-switch input{flex:0 0 16px;width:16px;height:16px;margin:0}.variable-inspector-switch span,.variable-inspector-switch strong,.variable-inspector-switch small{display:block!important;margin:0!important}.variable-inspector-switch strong{font-size:12px}.variable-inspector-switch small{margin-top:2px!important;color:#718488;font-size:10px}.variable-inspector-section-head{display:grid;gap:2px;padding-top:2px}.variable-inspector-section-head strong{font-size:12px}.variable-inspector-section-head small{color:#718488;font-size:10px}.variable-inspector .encoding-level-row{grid-template-columns:minmax(70px,.7fr) minmax(120px,1fr);padding:6px 8px}.variable-inspector .encoding-level-row span{font-size:11px}.variable-inspector .encoding-level-row input{min-height:32px;padding:5px 7px;font-size:11px}.variable-inspector>footer{display:flex;justify-content:flex-end;gap:7px;padding:10px 12px;border-top:1px solid #e2eceb;background:#fbfdfd}.variable-inspector>footer button{min-height:32px;padding:5px 9px;font-size:11px}
.variable-batch-panel-head{display:flex;align-items:center;gap:12px;margin:-3px 0 16px;padding-bottom:12px;border-bottom:1px solid #e1ebea}.variable-batch-panel-head>button{flex:0 0 auto;min-height:30px!important;padding:4px 8px!important;font-size:10px!important}.variable-batch-panel-head>div{display:grid;gap:2px}.variable-batch-panel-head strong{font-size:14px}.variable-batch-panel-head small{color:#718488;font-size:10px}
#processingPanel .process-runbar{padding-right:118px}
@media(max-width:900px){.dictionary-group-navigation{align-items:stretch;flex-direction:column}.dictionary-group-list{overflow-x:auto}.dictionary-status-summary{justify-items:start;padding:7px 10px;border-top:1px solid #d5e5e2;border-left:0}.dictionary-group-list button{min-width:145px}}
@media(max-width:1100px){.variable-manager-layout{grid-template-columns:1fr}.variable-inspector{position:relative;top:auto;grid-row:1}.variable-manager-table-head,.variable-manager-row{grid-template-columns:minmax(140px,1.2fr) minmax(125px,.8fr) minmax(140px,1fr) minmax(105px,.65fr) 54px}}
@media(max-width:760px){.variable-manager-head{align-items:stretch;flex-direction:column}.variable-manager-head-actions{justify-items:stretch}.variable-manager-batch-tools{overflow-x:auto}.variable-manager-batch-tools button{white-space:nowrap}.variable-manager-toolbar{align-items:stretch;flex-direction:column}.variable-manager-toolbar>label,.variable-manager-search{min-width:0!important}.variable-manager-table-head{display:none!important}.variable-manager-row{grid-template-columns:1fr minmax(125px,.7fr) 52px;gap:7px}.variable-manager-values{grid-column:1}.variable-manager-include{grid-column:2}.variable-manager-edit{grid-column:3;grid-row:1}.variable-manager-name{grid-column:1}.variable-manager-row .variable-type-select{grid-column:2;grid-row:1}}
@media(max-width:760px){.variable-create-head{align-items:flex-start;flex-direction:column}.variable-create-summary{justify-items:start;padding:8px 0 0;border-top:1px solid #dce8e7;border-left:0}.variable-create-methods{grid-template-columns:1fr}}
@media(max-width:760px){#processingPanel .process-runbar{padding-right:92px}}
.variable-create-section-host{display:grid;gap:14px}.variable-create-section{display:block!important;margin:0!important}.variable-transform-section{border-top:1px solid #dce8e7!important;border-radius:0 0 12px 12px!important;background:#fbfdfd!important}.formula-guidance{display:grid;gap:3px;padding:10px 12px;border-left:3px solid #20a094;border-radius:7px;background:#eef8f6;color:#31575b}.formula-guidance strong{font-size:12px;color:#087f77}.formula-guidance span{font-size:11px;line-height:1.5}.derived-formula-builder{grid-template-columns:minmax(160px,1fr) minmax(230px,1.25fr) minmax(160px,1fr) auto;align-items:end}.derived-formula-builder>label{display:grid;gap:5px;min-width:0}.derived-formula-builder>label>span{color:#5e767b;font-size:11px;font-weight:800}.derived-formula-builder .apply-formula-template{min-height:40px;white-space:nowrap}.derived-formula-result>span{display:flex;align-items:baseline;gap:7px}.derived-formula-result small{color:#718488;font-size:10px;font-weight:500}.derived-formula-advanced{padding:8px 10px;border:1px solid #dbe7e8;border-radius:8px;background:#fafcfc}.derived-formula-advanced summary{cursor:pointer;color:#49676c;font-size:11px;font-weight:800}.derived-formula-advanced[open] summary{margin-bottom:9px}.formula-preview-step{padding:4px 7px;border-radius:999px;background:#e4f5f2;color:#087f77;font-size:10px;font-weight:850}.variable-create-methods{display:none!important}
@media(max-width:980px){.derived-formula-builder{grid-template-columns:1fr 1fr}.derived-formula-builder .apply-formula-template{width:max-content}}
@media(max-width:620px){.derived-formula-builder{grid-template-columns:1fr}.derived-formula-builder .apply-formula-template{width:100%}.formula-preview-step{align-self:flex-start}}
.custom-formula-help{margin:0 0 9px;color:#60777c;font-size:11px;line-height:1.55}.formula-example-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.formula-example-tools>span{color:#587176;font-size:11px;font-weight:800}.formula-example-tools>button{min-height:30px;padding:4px 9px;border:1px solid #c9dcdf;border-radius:6px;background:#fff;color:#31535a;box-shadow:none;font-size:11px}.formula-example-tools>button:hover{border-color:#69b8b0;background:#edf8f6;transform:none}.derived-transform-panel{display:grid;gap:10px;padding:12px;border:1px solid #dbe8e8;border-radius:9px;background:#f8fbfb}.derived-transform-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.derived-transform-fields>label{display:grid;gap:5px}.derived-transform-fields>label>span{color:#5e767b;font-size:11px;font-weight:800}@media(max-width:620px){.derived-transform-fields{grid-template-columns:1fr}}
.variable-manager-head{align-items:flex-end}.variable-manager-toolbar{flex-wrap:nowrap}.variable-manager-toolbar .variable-manager-batch-tools{align-self:flex-end;margin-right:4px}.variable-manager-toolbar .variable-manager-batch-tools button{min-height:36px!important;padding:6px 9px!important;font-size:11px!important;white-space:nowrap}
.dictionary-create-workbench{gap:10px!important;padding:4px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important}.variable-create-head{padding:0 2px 11px;border-bottom:1px solid #dce8e7}.variable-create-section-host{gap:0}.dictionary-derived-block{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.compact-process-rows{gap:0}.compact-process-rows .process-row.derived-row{padding:12px 2px!important;border:0!important;border-bottom:1px solid #dce8e7!important;border-radius:0!important;background:transparent!important}.derived-row-head{padding:0 2px}.derived-formula-panel{padding:10px 2px 0;border:0;border-radius:0;background:transparent}.derived-formula-advanced{border-width:1px 0;border-radius:0;background:#fbfdfd}.derived-transform-panel{padding:10px 2px 0;border:0;border-radius:0;background:transparent}.dictionary-derived-block>#addDerivedRowBtn{margin:10px 2px 2px}.formula-guidance{border-radius:3px}.derived-draft-actions{padding:10px 2px 0!important}
@media(max-width:1080px){.variable-manager-head{align-items:stretch;flex-direction:column}.variable-manager-toolbar{width:100%}.variable-manager-toolbar .variable-manager-batch-tools{margin-right:auto}}
.compact-process-rows{gap:12px}.compact-process-rows .process-row.derived-row{padding:13px!important;border:1px solid #cfe0e1!important;border-radius:10px!important;background:#fff!important}.compact-process-rows .process-row.derived-row:focus-within{border-color:#69bdb4!important;box-shadow:0 0 0 2px rgba(26,157,145,.08)}.derived-formula-result textarea{width:100%;min-height:58px;padding:10px 12px;resize:vertical;border:1px solid #cbdde0;border-radius:8px;background:#fff;color:#17383d;font:500 13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.derived-formula-result textarea:focus{border-color:#55afa7;outline:2px solid rgba(36,157,145,.1)}.formula-editor-tools{display:flex;align-items:flex-end;gap:6px;padding:2px 0}.formula-editor-tools>label{display:grid;gap:4px;margin:0}.formula-editor-tools>label>span{margin:0;color:#60777c;font-size:10px;font-weight:800}.formula-variable-picker{min-width:220px}.formula-function-picker{min-width:150px;margin-left:auto!important}.formula-editor-tools select{min-height:34px;padding:5px 8px;font-size:11px}.formula-editor-tools .insert-formula-variable,.formula-editor-tools .insert-formula-function{min-height:34px!important}.formula-tool-divider{width:1px;height:28px;margin:0 2px;background:#d6e4e5}.formula-editor-hint{margin:0!important}.derived-preview-result.has-error{color:#b33b35;font-weight:750}.derived-preview-row{padding-top:8px;border-top:1px solid #e1eaeb}@media(max-width:900px){.formula-editor-tools{align-items:stretch;flex-wrap:wrap}.formula-variable-picker{min-width:min(240px,100%)}.formula-function-picker{min-width:180px;margin-left:0!important}.formula-tool-divider{display:none}}@media(max-width:560px){.formula-editor-tools>label{width:100%}.formula-editor-tools .insert-formula-variable,.formula-editor-tools .insert-formula-function{width:100%}}
@media(max-width:700px){.dictionary-group-list button{min-width:138px}.dictionary-subtab-groups{padding:0 10px}.dictionary-tab-list{gap:14px}.derived-draft-actions,.transform-draft-actions{align-items:stretch;flex-direction:column}.derived-draft-status,.transform-draft-status{margin-right:0}#transformRows .process-row{grid-template-columns:1fr}}
.variable-manager-grid-wrap{min-width:0}
.variable-card-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:9px!important}
.variable-manager-card{display:grid;grid-template-rows:auto auto 1fr;gap:7px;min-width:0;min-height:96px;padding:10px 11px;border:1px solid #dce8e8;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.variable-manager-card:hover,.variable-manager-card:focus-visible,.variable-manager-card.selected{border-color:#68bdb4;box-shadow:0 4px 13px rgba(23,91,88,.09);outline:0;transform:translateY(-1px)}
.variable-manager-card.excluded{background:#f7f9f9;opacity:.72}
.variable-manager-card>header{display:flex;align-items:center;gap:6px;min-width:0}
.variable-manager-card>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17383d;font-size:13px}
.variable-manager-card>header em{flex:0 0 auto;padding:2px 5px;border-radius:999px;background:#dff4f0;color:#087f77;font-size:8px;font-style:normal;font-weight:900}
.variable-manager-card>header>span{flex:0 0 auto;margin-left:auto;padding:3px 6px;border-radius:5px;background:#edf5f5;color:#46686c;font-size:9px;font-weight:800}
.variable-manager-card-summary{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;color:#647b7f}
.variable-manager-card-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650}
.variable-manager-card-summary small{flex:0 0 auto;color:#a66a10;font-size:9px}
.variable-manager-card>footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto}
.variable-manager-card>footer>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}
.variable-manager-card>footer span{padding:2px 5px;border-radius:999px;background:#eef4f4;color:#5d767a;font-size:8px;font-weight:750;line-height:1.35}
.variable-manager-card>footer span.is-complete{background:#e3f5ef;color:#087d72}
.variable-manager-card>footer span.is-pending,.variable-manager-card>footer span.has-warning{background:#fff1d8;color:#96620e}
.variable-manager-card>footer span.is-excluded{background:#e8ecec;color:#687a7d}
.variable-manager-card .variable-manager-edit{flex:0 0 auto;width:auto!important;min-width:42px!important;min-height:27px!important;padding:3px 7px!important;font-size:9px!important}
.variable-manager-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:9px 2px 0;border-top:1px solid #e3ecec;color:#627b7f;font-size:11px}
.variable-manager-pagination>div{display:flex;gap:6px}.variable-manager-pagination button{min-height:29px!important;padding:4px 9px!important;font-size:10px!important}
.variable-inspector-backdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:18px;background:rgba(16,37,42,.42);backdrop-filter:blur(3px)}
.variable-inspector-backdrop[hidden]{display:none!important}
#variableInspector.variable-inspector{position:relative!important;top:auto!important;display:flex;flex-direction:column;width:min(760px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 36px));border:1px solid #a9d4cf;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(11,42,47,.25);overflow:hidden;outline:0}
#variableInspector.variable-inspector[hidden]{display:none!important}
#variableInspector>header{flex:0 0 auto;padding:15px 17px}
#variableInspector>header strong{font-size:18px}
.variable-inspector-body{flex:1;max-height:none!important;padding:16px 17px!important;overflow:auto}
.variable-inspector-basics{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:12px}
.variable-inspector-basics>label:not(.variable-inspector-switch){display:grid;gap:6px}
.variable-inspector-basics>label>span{font-size:11px;font-weight:800}
.variable-inspector-basics .variable-inspector-switch{margin:0}
#variableInspectorLabels{margin-top:16px;padding-top:14px;border-top:1px solid #dfe9e9}
#variableInspectorLabelRows{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;max-height:48vh;margin-top:10px;padding-right:4px;overflow:auto}
#variableInspectorLabelRows .encoding-level-row{margin:0}
#variableInspector>footer{flex:0 0 auto;padding:11px 15px}
@media(max-width:720px){.variable-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.variable-inspector-basics,#variableInspectorLabelRows{grid-template-columns:1fr}}
@media(max-width:480px){.variable-card-grid{grid-template-columns:1fr!important}.variable-manager-card{min-height:90px}.variable-inspector-backdrop{padding:8px}#variableInspector.variable-inspector{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}}
.data-center-secondary-nav{display:grid;gap:6px;margin:-4px 0 10px;padding:2px 0 4px 14px;border-left:0}
.data-center-secondary-nav.collapsed{display:none}.data-center-parent-nav.collapsed{margin-bottom:8px}
.legacy-processing-nav{display:none!important}.processingPanel .process-tabs,#processingPanel .process-tabs{display:none}.data-matching-entry{display:grid;gap:14px;margin-top:16px}.data-matching-entry[hidden]{display:none}
.data-inspection-report{margin-top:18px}.data-inspection-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.data-inspection-report.hidden{display:none}

/* Single-factor analysis follows the actual input-to-output workflow. */
.univariate-workflow{gap:16px!important}
.regression-workspace{gap:16px!important}.regression-hero{display:flex;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #d8e8e5;border-radius:18px;background:linear-gradient(135deg,#f5fbfa 0%,#fff 68%)}.regression-hero h3{margin:5px 0 7px;font-size:24px}.regression-hero p{margin:0;max-width:720px;color:#5c6b69}.regression-stage-chip{align-self:center;min-width:180px;padding:12px 14px;border-radius:12px;background:#e9f6f3;display:grid;gap:3px}.regression-stage-chip b{color:#087f77}.regression-stage-chip span{font-size:12px;color:#667774}.regression-flow{display:flex;align-items:center;padding:0 10px}.regression-flow span{display:flex;align-items:center;gap:7px;color:#71807e;font-size:13px;font-weight:700;white-space:nowrap}.regression-flow span b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf2f1}.regression-flow span.active{color:#087f77}.regression-flow span.active b{background:#087f77;color:#fff}.regression-flow i{height:1px;flex:1;background:#dce6e4;margin:0 10px}.regression-section{padding:20px!important}.regression-section-head{display:flex;gap:12px;margin-bottom:17px}.regression-section-head>span{font-size:12px;font-weight:900;color:#087f77;background:#e5f4f1;padding:6px 8px;border-radius:8px;height:max-content}.regression-section-head h4{margin:0 0 4px;font-size:17px}.regression-section-head p{margin:0;color:#6f7c7a;font-size:13px}.regression-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.regression-field-grid label,.regression-inline-field label{display:grid;gap:7px}.regression-recommendation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-top:16px;padding:13px 15px;border:1px solid #cfe4df;background:#f5fbfa;border-radius:12px}.regression-recommendation>span{font-size:12px;font-weight:800;color:#087f77}.regression-recommendation strong{display:block}.regression-recommendation p{margin:3px 0 0;color:#657471;font-size:12px}.regression-mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.regression-mode-grid label{position:relative;padding:14px;border:1px solid #dce6e4;border-radius:12px;display:grid;gap:4px;cursor:pointer}.regression-mode-grid label:has(input:checked){border-color:#16a394;background:#f0faf8;box-shadow:0 0 0 1px #16a394}.regression-mode-grid input{position:absolute;right:10px;top:10px}.regression-mode-grid small{color:#71807e}.regression-inline-field{margin-top:14px}.regression-variable-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.regression-variable-card{padding:0!important;overflow:hidden}.regression-card-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid #e7eeec}.regression-card-head>div{display:grid;gap:3px}.regression-card-head span{font-size:12px;color:#71807e}.regression-card-head strong{font-size:14px}.regression-variable-card .checks{margin:10px;max-height:260px}.text-button{padding:4px 7px!important;background:transparent!important;color:#087f77!important;font-size:12px!important}.regression-option-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.regression-option-grid label{min-height:42px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e0e8e7;border-radius:10px}.regression-option-grid input[type=number]{width:72px}.regression-runbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-radius:16px;background:#122d2a;color:#fff}.regression-runbar>div{display:grid;gap:7px}.regression-runbar p{margin:0;color:#b9cdca;font-size:12px}.regression-run-summary{display:flex;gap:8px;flex-wrap:wrap}.regression-run-summary span{padding:4px 8px;background:#24423e;border-radius:7px;font-size:12px}.regression-runbar>button{min-width:210px;display:grid;gap:2px;padding:11px 16px;background:#21a898}.regression-runbar button small{font-size:11px;opacity:.8}@media(max-width:1000px){.regression-mode-grid{grid-template-columns:repeat(2,1fr)}.regression-option-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.regression-hero,.regression-runbar{align-items:stretch;flex-direction:column}.regression-stage-chip{align-self:stretch}.regression-flow i{margin:0 4px}.regression-flow span{font-size:0}.regression-flow span b{font-size:12px}.regression-field-grid,.regression-variable-layout{grid-template-columns:1fr}.regression-option-grid{grid-template-columns:1fr}.regression-recommendation{grid-template-columns:1fr}.regression-runbar>button{width:100%}}
.univariate-outcome-step{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(360px,1fr);align-items:center;gap:22px;padding:18px 20px!important}
.univariate-step-heading{display:flex;align-items:flex-start;gap:11px}
.univariate-step-heading>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e5f4f1;color:#087f77;font-size:11px;font-weight:900}
.univariate-step-heading>div{display:grid;gap:4px}
.univariate-step-heading label{font-size:15px;font-weight:900}
.univariate-step-heading p{margin:0;color:#6c8184;font-size:12px;line-height:1.5}
.univariate-outcome-step select{width:100%;min-height:46px}
.univariate-variable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.univariate-variable-step{display:grid;grid-template-rows:auto minmax(110px,1fr);gap:15px;min-height:190px;padding:18px 20px!important}
.univariate-variable-step.optional .univariate-step-heading>span{background:#f0f4f5;color:#647b7f}
.univariate-variable-step .checks{margin:0;padding-top:13px;border-top:1px solid #e1ebeb}
.univariate-run-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 18px;border:1px solid #cfe3df;border-radius:12px;background:linear-gradient(110deg,#eff9f6,#f2f6ff)}
.univariate-run-bar>div{display:grid;gap:4px}
.univariate-run-bar strong{font-size:15px}
.univariate-run-bar>div span{color:#667e82;font-size:12px}
.univariate-run-bar button{flex:0 0 auto;min-width:210px}
@media(max-width:860px){.univariate-outcome-step,.univariate-variable-grid{grid-template-columns:1fr}.univariate-run-bar{align-items:stretch;flex-direction:column}.univariate-run-bar button{width:100%}}
.feature-method-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  align-content: start;
  gap: 10px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--line, #d8e5e8);
  border-radius: 14px;
}
.feature-method-card {
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  align-self: start;
  padding: 14px;
  border: 1px solid var(--line, #d8e5e8);
  border-radius: 12px;
  background: #fff;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.feature-method-card.is-enabled {
  border-color: #61c7bd;
  background: #f2fbf9;
  box-shadow: 0 6px 16px rgba(16, 130, 119, .06);
}
.feature-method-picker .feature-method-card > .feature-method-toggle {
  position: static;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  gap: 10px;
  width: 100%;
  height: auto;
  min-height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: default;
}
.feature-method-picker .feature-method-toggle input[type="checkbox"] {
  position: static;
  display: block;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  margin: 0 !important;
  padding: 0;
  justify-self: start;
  align-self: center;
}
.feature-method-toggle > span { display: grid; gap: 3px; min-width: 0; width: auto; }
.feature-method-toggle strong { color: #122e38; line-height: 1.25; }
.feature-method-toggle small { color: var(--muted, #647b83); font-weight: 500; line-height: 1.4; }
.feature-method-settings {
  display: none;
  width: 100%;
  height: auto;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #dce9eb;
}
.feature-method-card.is-enabled .feature-method-settings { display: grid; }
.feature-method-settings.grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  margin-bottom: 0;
}
.feature-method-settings label { display: grid; gap: 6px; }
.feature-method-note { color: var(--muted, #647b83); line-height: 1.6; }
.feature-method-card:not(.is-enabled) .feature-method-settings { display: none; }
.feature-method-card:not(.is-enabled) { opacity: .82; }
.feature-method-card:not(.is-enabled):hover { opacity: 1; border-color: #b4d9d5; }
.feature-method-card input[type="number"] {
  width: 100%;
  min-width: 0;
}
.feature-method-picker > .feature-method-card,
.feature-method-picker > .feature-method-card.is-enabled {
  box-sizing: border-box;
  grid-column: 1 / -1;
  max-width: 100%;
  overflow: hidden;
}
.feature-method-picker .feature-method-settings > label {
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
}
.feature-consensus-grid {
  display: grid;
  grid-template-columns: minmax(220px, .65fr) minmax(300px, 1.35fr) auto;
  gap: 12px;
  align-items: end;
  margin: 12px 0;
}
.feature-consensus-grid p { margin: 0; color: var(--muted, #647b83); }
.feature-consensus-actions{align-self:end;justify-content:flex-end;flex-wrap:nowrap}
.feature-consensus-actions button{white-space:nowrap}
.feature-final-summary { margin-bottom: 14px; }
@media (max-width: 1100px) {
  .feature-method-settings.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-consensus-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .feature-method-settings.grid { grid-template-columns: 1fr; }
}

/* Feature-selection method library: compact, searchable and removable. */
.feature-method-library{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(340px,1.3fr) auto auto;gap:10px;align-items:end;margin:12px 0;padding:12px;border:1px solid #d6e7e8;border-radius:12px;background:#f7fbfb}
.feature-method-library label{display:grid;gap:5px;min-width:0}.feature-method-library label>span{font-size:12px;font-weight:800;color:#37545c}.feature-method-library input,.feature-method-library select{width:100%;min-height:42px}.feature-method-library button{min-height:42px;white-space:nowrap}.feature-method-count{align-self:center;color:#667e83;font-size:13px;white-space:nowrap}
.feature-method-picker{padding:12px}.feature-method-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feature-method-card{padding:12px 14px}.feature-method-card.is-wide{grid-column:1/-1}.feature-method-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px}.feature-method-title{display:flex;align-items:center;gap:10px;min-width:0}.feature-method-title>input{flex:0 0 16px;width:16px!important;height:16px!important;margin:0}.feature-method-title>span{display:grid;gap:2px;min-width:0}.feature-method-title strong{line-height:1.25}.feature-method-title small{color:#698086;font-weight:500}.feature-method-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.feature-auto-toggle{display:flex!important;align-items:center;gap:7px;margin:0!important}.feature-auto-toggle input{width:15px!important;height:15px!important;margin:0}.feature-auto-summary{margin:8px 0 0 26px;color:#668087;font-size:12px}.feature-method-settings{margin-top:10px;padding-top:10px}.feature-method-settings.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-method-settings.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-method-remove{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;border-radius:9px}.feature-method-empty{padding:22px;text-align:center;color:#74898e;border:1px dashed #d4e4e6;border-radius:10px}
@media(max-width:1000px){.feature-method-library{grid-template-columns:1fr 1fr}.feature-method-cards{grid-template-columns:1fr}.feature-method-card.is-wide{grid-column:auto}.feature-method-settings.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.feature-method-library{grid-template-columns:1fr}.feature-method-settings.grid.two,.feature-method-settings.grid.four{grid-template-columns:1fr}.feature-method-card-head{align-items:flex-start;flex-direction:column}.feature-method-actions{width:100%;justify-content:space-between}}

/* Feature-selection cards: title, compact parameters and actions share one row. */
.ml-dataset-version-bar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.6fr) minmax(150px,.45fr);gap:16px;align-items:end;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(110deg,#effaf7,#f2f6ff);margin:14px 0 18px}
.ml-dataset-version-bar>div:first-child{display:grid;gap:4px}.ml-dataset-version-bar>div:first-child span,.ml-dataset-version-bar label span{font-size:12px;color:var(--muted)}.ml-dataset-version-bar>div:first-child strong{font-size:18px}.ml-dataset-version-bar label{display:grid;gap:7px;margin:0}.ml-dataset-version-meta{min-height:46px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line);font-weight:700;color:var(--teal)}
.feature-method-settings input:disabled,.feature-method-settings select:disabled{background:#eef3f4;color:#62747a;border-color:#d7e2e5;cursor:not-allowed;opacity:1}
.feature-method-cards{grid-template-columns:1fr}
.feature-method-card,.feature-method-card.is-wide{grid-column:auto;padding:10px 14px}
.feature-method-card-head{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr) auto;align-items:center;gap:18px;min-height:58px}
.feature-method-title{align-items:flex-start}
.feature-method-title>span{gap:1px}
.feature-method-title .feature-auto-summary{margin:5px 0 0;color:#668087;font-size:12px;line-height:1.35}
.feature-method-settings.grid.compact{display:grid;margin:0;padding:0;border-top:0;grid-template-columns:repeat(auto-fit,minmax(125px,180px));justify-content:start;align-items:end;gap:10px 12px}
.feature-method-settings.grid.compact[hidden]{display:none!important}
.feature-method-settings.grid.compact label{display:grid;grid-template-rows:auto 38px;gap:4px;min-width:0;width:100%}
.feature-method-settings.grid.compact label>span{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feature-method-settings.grid.compact input,.feature-method-settings.grid.compact select{width:100%;min-width:0;height:38px;min-height:38px;padding:6px 10px}
.feature-method-actions{align-self:center}
@media(max-width:1250px){.feature-method-card-head{grid-template-columns:minmax(200px,250px) minmax(0,1fr) auto}.feature-method-settings.grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,160px))}}
@media(max-width:850px){.feature-method-card-head{grid-template-columns:1fr auto}.feature-method-settings.grid.compact{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}.feature-method-actions{grid-column:2;grid-row:1}}
@media(max-width:560px){.feature-method-card-head{grid-template-columns:1fr}.feature-method-actions{grid-column:1;grid-row:2;justify-content:flex-start}.feature-method-settings.grid.compact{grid-column:1;grid-row:3;grid-template-columns:1fr}}
@media(max-width:900px){.ml-dataset-version-bar{grid-template-columns:1fr}.ml-dataset-version-meta{border-left:0;justify-content:flex-start}}
.output-style-control{border:1px solid #cfe2e3;border-radius:14px;background:#f8fbfb;margin:0 0 16px;overflow:hidden}.output-style-summary{min-height:64px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.output-style-title{display:flex;align-items:center;gap:11px}.output-style-title>div{display:flex;align-items:baseline;gap:10px}.output-style-title strong{font-size:16px}.output-style-title span{color:#587279}.output-style-dot{width:10px;height:10px;border-radius:50%;background:#10978d;box-shadow:0 0 0 5px #e2f4f1}.output-style-expanded{border-top:1px solid #d8e7e8;padding:14px 16px 16px}.output-style-schemes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.output-scheme-card{appearance:none;text-align:left;border:1px solid #d5e3e5;background:#fff;color:#17333a;border-radius:11px;padding:12px;min-height:76px;box-shadow:none}.output-scheme-card strong,.output-scheme-card span{display:block}.output-scheme-card span{font-size:12px;color:#6c8085;margin-top:5px;line-height:1.4}.output-scheme-card.active{border-color:#159c92;background:#ebf8f6}.output-style-estimate{display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px 12px;border-radius:10px;background:#eef6f6;color:#61767b}.output-style-estimate strong{color:#087f77;white-space:nowrap}.output-item-toggle{width:100%;margin-top:10px;padding:10px 4px;border:0;border-top:1px solid #dce8e9;background:transparent;color:#087f77;display:flex;justify-content:space-between;box-shadow:none}.output-style-items{display:grid;gap:8px}.output-style-item{display:grid;grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) auto;align-items:center;gap:12px;padding:9px 10px;border:1px solid #dce8e9;border-radius:9px;background:#fff}.output-style-item strong{font-size:13px;color:#49656b}@media(max-width:1100px){.output-style-schemes{grid-template-columns:repeat(2,minmax(0,1fr))}.output-style-estimate{align-items:flex-start;flex-wrap:wrap}}@media(max-width:680px){.output-style-schemes{grid-template-columns:1fr}.output-style-item{grid-template-columns:1fr auto}.output-style-item strong{grid-column:1/2}.output-style-title>div{display:block}}

.result-style-switcher{grid-column:1/-1;border:1px solid #cfe2e3;border-radius:12px;background:#f8fbfb;margin:0 0 12px;overflow:hidden}.result-style-switcher summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;color:#087f77;font-weight:800}.result-style-switcher summary::-webkit-details-marker{display:none}.result-style-switcher summary small{font-weight:500;color:#71868b}.result-style-switcher-body{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;padding:0 14px 14px}.result-style-switcher-body select,.result-style-switcher-body button{min-height:42px}.result-table-style-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:0 0 8px;border:1px solid #cfe2e3;border-radius:10px;background:#f8fbfb}.result-table-style-toolbar strong{color:#087f77}.result-table-style-toolbar span{color:#71868b;margin-right:auto}.result-table-style-toolbar select{min-width:170px}.result-table-style-toolbar button{min-height:38px}.result-table-style-toolbar+table[data-table-style="compact"]{font-size:12px}.result-table-style-toolbar+table[data-table-style="compact"] th,.result-table-style-toolbar+table[data-table-style="compact"] td{padding:5px 8px}.result-table-style-toolbar+table[data-table-style="presentation"]{font-size:16px}.result-table-style-toolbar+table[data-table-style="presentation"] th{background:#e7f4f2;color:#087f77}.result-table-style-toolbar+table[data-table-style="monochrome"]{filter:grayscale(1)}.result-table-style-toolbar+table[data-table-style="journal"]{border-top:2px solid #17333a;border-bottom:2px solid #17333a}.result-table-style-toolbar+table[data-table-style="journal"] th{background:transparent;border-bottom:1px solid #17333a}@media(max-width:680px){.result-style-switcher-body{grid-template-columns:1fr}.result-table-style-toolbar select{width:100%}}
.descriptive-task-workspace {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid #d7e5e8;
  border-radius: 18px;
  background: #fff;
}

.descriptive-task-intro h3 {
  margin: 3px 0 4px;
}

.descriptive-task-intro p {
  margin: 0;
  color: #6b7f87;
}

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

.descriptive-task-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "number copy";
  align-items: center;
  gap: 12px;
  min-height: 86px;
  padding: 12px 16px;
  border: 1px solid #d6e4e7;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.descriptive-task-card:hover,
.descriptive-task-card:focus-visible {
  border-color: #54b9b0;
  outline: none;
}

.descriptive-task-card.active {
  border-color: #118f86;
  background: linear-gradient(135deg, #eefaf7 0%, #f2f6ff 100%);
  box-shadow: 0 10px 24px rgba(17, 143, 134, .08);
}

.descriptive-task-number {
  grid-area: number;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e3f4f1;
  color: #087e76;
  font-weight: 800;
}

.descriptive-task-card > div {
  grid-area: copy;
}

.descriptive-task-card strong,
.descriptive-task-card small {
  display: block;
}

.descriptive-task-card strong {
  font-size: 17px;
}

.descriptive-task-card small {
  margin-top: 4px;
  color: #6b7f87;
}

@media (max-width: 900px) {
  .descriptive-task-switcher {
    grid-template-columns: 1fr;
  }
}
/* Studio desktop: keep navigation and workspace on separate scroll planes. */
@media (min-width: 981px) {
  html,
  body {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .shell {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }

  .sidebar {
    position: relative;
    top: auto;
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .sidebar::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .shell > main {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .shell > main::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

/* Unified result center: one action rail, preview first, optional asset workbench. */
#resultPanel:not(.active) { display: none; }
#statsPanel .stat-pairing-field[hidden] { display: none !important; }
#processingPanel .process-step .block[hidden] { display: none !important; }
#resultPanel.active { display: flex; flex-direction: column; gap: 12px; }
#resultPanel > .section-head { order: 1; }
#resultPanel > #jobStatus { order: 2; margin: 0; }
#resultPanel > #resultLinks { order: 3; margin: 0; min-height: 0; }
#resultPanel > #resultActionRail { order: 4; margin: 0; padding: 10px 12px; box-shadow: none; }
#resultPanel > #resultActionRail > span { color: var(--muted); font-size: 13px; margin-right: 4px; }
#resultPanel > .watermark-entitlement { order: 5; margin: 0; padding: 8px 11px; }
#resultPanel > .result-paper-actions { display: none; }
#resultPanel > #metricsPreview { order: 6; }
#resultPanel > #figurePreview { order: 7; }
#resultPanel > #resultWorkbench { order: 8; display: none; margin: 4px 0 0; }
#resultPanel > #resultWorkbench.open { display: block; }
#metricsPreview { width: 100%; max-width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
#metricsPreview:empty { display: none; }
#metricsPreview table { min-width: 100%; width: max-content; border-collapse: separate; border-spacing: 0; font-size: 13px; }
#metricsPreview th { position: sticky; top: 0; z-index: 1; white-space: nowrap; background: #edf5f7; }
#metricsPreview th, #metricsPreview td { padding: 9px 12px; vertical-align: top; }
#metricsPreview td { white-space: nowrap; }
#metricsPreview td:last-child { min-width: 240px; max-width: 420px; white-space: normal; line-height: 1.5; }
#metricsPreview table.content-fit-table {
  width: max-content;
  min-width: 0;
  table-layout: fixed;
}
#metricsPreview table.content-fit-table th,
#metricsPreview table.content-fit-table td {
  min-width: 0;
  box-sizing: border-box;
}
#metricsPreview table.content-fit-table td:last-child {
  min-width: 0;
}
#metricsPreview table.content-fit-table .content-fit-wrap {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
#metricsPreview .result-browser { padding: 12px; }
#metricsPreview .stacked-tables { min-width: max-content; }
#figurePreview > .figure-browser { grid-column: 1 / -1; }
#figurePreview .figure-browser { grid-template-columns: minmax(520px, 1.15fr) minmax(520px, .85fr); gap: 16px; }
#figurePreview .figure-browser > .figure-grid img { display: block; width: 100%; min-height: 360px; max-height: 680px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
#figurePreview .figure-editor[data-ux-grouped] { width: 100%; max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#figurePreview .figure-editor[data-ux-grouped]::before,
#figurePreview .figure-editor[data-ux-grouped] > .result-style-switcher,
#figurePreview .figure-editor[data-ux-grouped] > .editor-action-row { grid-column: 1 / -1; }
#figurePreview .editor-group-grid { grid-template-columns: repeat(2, minmax(135px, 1fr)); }
@media (max-width: 1180px) {
  #figurePreview .figure-browser { grid-template-columns: 1fr; grid-template-areas: "selector" "figures" "editor" "download"; }
  #figurePreview .figure-editor[data-ux-grouped] { grid-template-columns: 1fr; }
}
#resultPanel .result-status-compact,
#resultPanel > .result-links-source,
#resultPanel > .result-actions-secondary {
  display: none !important;
}

#resultTablePane .table-preview-head a {
  display: none !important;
}

.result-history-shell {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
  margin-top: 12px;
}

#resultPanel > #resultHistoryShell { order: 2; }
#resultPanel > #resultWorkbench { order: 3; }
#resultPanel > .section-head + #jobStatus,
#resultPanel > #jobStatus,
#resultPanel > #resultLinks,
#resultPanel > #resultActionRail { display: none !important; }

.result-history-shell.is-empty {
  display: block;
}

.result-center-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  min-height: 310px;
  padding: 56px 24px;
  border: 1px dashed #cbdde0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f7fbfb, #f3f7fc);
  text-align: center;
}

.result-center-empty[hidden] { display: none !important; }
.result-center-empty .result-empty-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #e4f4f2; color: #087f79; font-size: 27px; }
.result-center-empty strong { font-size: 20px; }
.result-center-empty p { max-width: 560px; margin: 0; color: var(--muted, #678087); line-height: 1.6; }
.result-center-empty > div:last-child { display: flex; gap: 10px; margin-top: 8px; }

.result-detail-actions { display: flex; flex: 0 0 auto; gap: 8px; flex-wrap: nowrap; justify-content: flex-end; align-items: center; }
.result-primary-tabs button:disabled { opacity: .42; cursor: not-allowed; }

.result-figure-watermark {
  display: flex;
  margin-top: 12px;
  padding: 8px 10px;
  border-radius: 9px;
  box-shadow: none;
  font-size: 12px;
}

.result-figure-watermark > button { padding: 6px 9px; }

.result-history-sidebar,
.result-detail-pane {
  min-width: 0;
  border: 1px solid var(--line, #d8e5e8);
  border-radius: 16px;
  background: #fff;
}

.result-history-sidebar[hidden],
.result-detail-pane[hidden] {
  display: none !important;
}

.result-history-sidebar {
  position: sticky;
  top: 16px;
  overflow: hidden;
}

.result-history-heading {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--line, #d8e5e8);
  background: #f6fafb;
}

.result-history-heading > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.result-history-heading small,
.result-history-item span,
.result-history-item small,
.result-detail-header span {
  color: var(--muted, #678087);
}

.result-history-heading input {
  width: 100%;
  min-width: 0;
}

.result-history-actions {
  display: flex;
  justify-content: flex-start !important;
  gap: 6px;
}

.result-history-actions button {
  min-height: 32px;
  padding: 5px 9px;
  font-size: 12px;
}

.result-history-actions .danger {
  color: #a4332d;
}

.result-history-check {
  position: absolute;
  left: 8px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}

.result-history-item:has(.result-history-check) .result-history-select {
  padding-left: 24px;
}

.result-history-list {
  display: grid;
  gap: 6px;
  max-height: 68vh;
  overflow-y: auto;
  padding: 8px;
}

.result-history-item {
  position: relative;
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: inherit;
  text-align: left;
  box-shadow: none;
}

.result-history-select {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  width: 100%;
  min-width: 0;
  padding: 0 30px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  box-shadow: none;
}

.result-history-main,
.result-history-meta {
  display: grid;
  min-width: 0;
}

.result-history-main {
  gap: 4px;
}

.result-history-meta {
  align-self: end;
  justify-items: end;
  gap: 5px;
  min-width: 52px;
}

.result-history-select:hover,
.result-history-select:focus,
.result-history-select:focus-visible {
  background: transparent;
  color: inherit;
  filter: none;
  transform: none;
  box-shadow: none;
}

.result-history-select:focus-visible {
  outline: 2px solid #49aaa3;
  outline-offset: 4px;
  border-radius: 5px;
}

.result-history-delete {
  position: absolute;
  top: 8px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #7b8c91;
  box-shadow: none;
  font-size: 18px;
  line-height: 1;
}

.result-history-delete:hover {
  background: #fdebea;
  color: #b53e35;
}

.result-history-item:hover,
.result-history-item.active {
  border-color: #9dd9d5;
  background: #edf8f7;
}

.result-history-item strong,
.result-history-item span,
.result-history-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.result-history-status {
  justify-self: end;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf2f3;
  color: #60747a;
  font-size: 11px;
  line-height: 1.2;
}

.result-history-item.is-running .result-history-status,
.result-history-item.is-queued .result-history-status { color: #087970; background: #dcf4ef; }
.result-history-item.is-failed .result-history-status { color: #b43b28; background: #ffe6e1; }
.result-history-item.is-cancelled .result-history-status { color: #687a80; background: #e9eff0; }
.result-history-progress { display: block; width: 52px; height: 3px; overflow: hidden; border-radius: 999px; background: #dce8e9; }
.result-history-progress em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f8f88, #36bfb3); transition: width .25s ease; }

.result-detail-pane {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
}

.result-detail-header {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.result-detail-header > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.result-detail-header > .result-detail-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}

.result-detail-header strong {
  font-size: 18px;
}

.result-detail-exports {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  display: flex;
  justify-content: flex-end;
  margin-left: 8px;
  min-height: 0;
}

.result-task-status-slot {
  grid-column: 1 / -1;
  min-width: 0;
}

.result-task-status-slot[hidden] { display: none !important; }
.result-task-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 14px;
  padding: 10px 12px;
  border: 1px solid #cfe1e1;
  border-radius: 11px;
  background: linear-gradient(135deg, #f3fbf9, #f5f8ff);
}
.result-task-compact-main { display: flex; align-items: center; min-width: 0; gap: 9px; }
.result-task-compact-main b { flex: 0 0 auto; color: #087970; }
.result-task-compact-main span { min-width: 0; overflow: hidden; color: #60757d; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.result-task-compact-main strong { flex: 0 0 auto; color: #087f78; font-variant-numeric: tabular-nums; }
.result-task-compact-progress { grid-column: 1; height: 4px; overflow: hidden; border-radius: 999px; background: #dcebea; }
.result-task-compact-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f8f88, #36bfb3); transition: width .25s ease; }
.result-task-compact-actions { grid-column: 2; grid-row: 1 / span 2; display: flex; align-items: center; gap: 6px; }
.result-task-compact-actions button { min-height: 34px; padding: 6px 10px; white-space: nowrap; font-size: 12px; }
.result-task-compact.is-failed { border-color: #efb4ae; background: #fff7f6; }
.result-task-compact.is-failed .result-task-compact-main b { color: #b43b28; }
.result-task-compact.is-cancelled { background: #f5f8f9; }

.result-task-center-trigger { position: relative; margin-left: auto; white-space: nowrap; }
.module-titlebar > .result-task-center-trigger + .module-title-actions { margin-left: 0; }
.module-title-actions > .result-task-center-trigger { margin-left: 0; }
.result-task-center-trigger b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 5px; border-radius: 999px; background: #0f8f88; color: #fff; font-size: 11px; }
.result-task-center-trigger b[hidden] { display: none !important; }
.result-task-center-overlay { position: fixed; z-index: 1000; inset: 0; display: grid; grid-template-columns: 1fr minmax(420px, 560px); min-height: 0; height: 100vh; height: 100dvh; overflow: hidden; }
.result-task-center-overlay[hidden] { display: none !important; }
.result-task-center-scrim { grid-column: 1 / -1; grid-row: 1; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgba(11, 31, 37, .36); box-shadow: none; }
.result-task-center-drawer { grid-column: 2; grid-row: 1; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr); min-width: 0; min-height: 0; height: 100%; max-height: 100vh; max-height: 100dvh; overflow: hidden; background: #f7fafb; box-shadow: -18px 0 50px rgba(17, 48, 57, .18); animation: result-task-drawer-in .18s ease-out; }
@keyframes result-task-drawer-in { from { transform: translateX(24px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
.result-task-center-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px; border-bottom: 1px solid #d8e5e8; background: #fff; }
.result-task-center-drawer > header > div { display: grid; gap: 3px; }
.result-task-center-drawer > header span { color: #087970; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.result-task-center-drawer > header strong { font-size: 22px; }
.result-task-center-drawer > header small { color: #657a80; }
.result-task-center-drawer > header > button { width: 38px; min-width: 38px; height: 38px; padding: 0; font-size: 20px; }
.result-task-center-list { display: grid; align-content: start; gap: 10px; min-height: 0; max-height: 100%; overflow-x: hidden; overflow-y: scroll; overscroll-behavior: contain; scrollbar-gutter: stable; touch-action: pan-y; -webkit-overflow-scrolling: touch; padding: 14px; }
.result-task-center-item { display: grid; gap: 8px; padding: 13px; border: 1px solid #d6e4e6; border-radius: 13px; background: #fff; }
.result-task-center-item.is-running, .result-task-center-item.is-queued { border-color: #99d8d2; }
.result-task-center-item.is-failed { border-color: #efb4ae; }
.result-task-center-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.result-task-center-summary > div { display: grid; min-width: 0; gap: 3px; }
.result-task-center-summary strong, .result-task-center-summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.result-task-center-summary span { color: #6b7e83; font-size: 12px; }
.result-task-center-summary > b { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; background: #e4f5f1; color: #087970; font-size: 11px; }
.result-task-center-item.is-failed .result-task-center-summary > b { color: #b43b28; background: #ffe6e1; }
.result-task-center-progress { height: 5px; overflow: hidden; border-radius: 999px; background: #e1ebec; }
.result-task-center-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f8f88, #36bfb3); }
.result-task-center-stage { display: flex; justify-content: space-between; gap: 12px; color: #63777d; font-size: 12px; }
.result-task-center-stage strong { color: #087970; font-variant-numeric: tabular-nums; }
.result-task-center-item > details { border-top: 1px solid #e1eaeb; padding-top: 8px; }
.result-task-center-item > details > summary { cursor: pointer; color: #075e59; font-size: 12px; font-weight: 700; }
.result-task-center-item > details .task-execution-progress { margin: 10px 0 0; padding: 12px; border-radius: 11px; }
.result-task-center-item > details .task-stage-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.result-task-center-item > footer { display: flex; justify-content: flex-end; }
.result-task-center-item > footer button { min-height: 32px; padding: 5px 9px; font-size: 12px; }
body.result-task-center-open { overflow: hidden; }

@media (max-width: 720px) {
  .result-task-center-overlay { grid-template-columns: 1fr; }
  .result-task-center-drawer { grid-column: 1; width: min(100%, 560px); justify-self: end; }
  .result-task-compact { grid-template-columns: 1fr; }
  .result-task-compact-actions { grid-column: 1; grid-row: auto; justify-content: flex-end; }
}

.result-detail-actions button,
.result-detail-exports summary {
  white-space: nowrap;
}

.result-export-menu {
  position: relative;
}

.result-export-menu summary {
  cursor: pointer;
  list-style: none;
  padding: 9px 16px;
  border: 1px solid #cfe0e3;
  border-radius: 10px;
  background: #f2f7f8;
  font-weight: 700;
}

.result-export-menu > div {
  position: absolute;
  z-index: 8;
  right: 0;
  top: calc(100% + 6px);
  display: grid;
  min-width: 190px;
  padding: 7px;
  border: 1px solid #d7e4e7;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(27, 65, 74, .14);
}

.result-export-menu a {
  padding: 9px 10px;
  border-radius: 7px;
  text-decoration: none;
}

.result-export-menu a:hover { background: #edf8f7; }

.result-primary-tabs {
  grid-column: 1 / -1;
  justify-self: start;
}

.result-primary-pane {
  grid-column: 1 / -1;
  min-width: 0;
}

.habitat-result-viewer{display:grid;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.habitat-result-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.habitat-result-viewer>header>div:first-child{display:grid;gap:3px}.habitat-result-viewer>header strong{font-size:20px}.habitat-result-viewer>header span{color:var(--muted)}.habitat-result-actions{display:flex;flex-wrap:wrap;gap:8px}.habitat-result-actions a{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700}.habitat-viewer-toolbar{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(140px,.6fr) minmax(280px,1.5fr) minmax(220px,1fr);gap:12px;padding:12px;border-radius:12px;background:var(--soft)}.habitat-viewer-toolbar label{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.habitat-viewer-toolbar select{min-width:0;flex:1}.habitat-viewer-toolbar input[type=range]{min-width:80px;flex:1}.habitat-viewer-toolbar output{min-width:64px;color:var(--muted);font-variant-numeric:tabular-nums}.habitat-viewer-grid{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(260px,.5fr);gap:16px}.habitat-view-stage{position:relative;display:grid;place-items:center;min-height:420px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#101719}.habitat-view-stage img,.habitat-view-stage canvas{grid-area:1/1;display:block;max-width:100%;max-height:620px;width:auto;height:auto;image-rendering:auto}.habitat-view-stage canvas{pointer-events:none}.habitat-view-stage>[data-habitat-loading]{grid-area:1/1;z-index:3;padding:10px 14px;border-radius:10px;background:rgba(16,23,25,.82);color:#fff}.habitat-viewer-grid aside{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.habitat-viewer-grid aside h4,.habitat-composition h4{margin:0 0 12px}.habitat-label-row{display:grid;grid-template-columns:auto 34px minmax(100px,1fr) auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.habitat-label-row input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--line);border-radius:7px}.habitat-label-row input[type=text]{min-width:0}.habitat-label-row small{font-variant-numeric:tabular-nums;color:var(--muted)}.habitat-composition{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.habitat-composition-svg{display:block;width:100%;height:auto;max-height:88px}.habitat-composition-legend{display:flex;flex-wrap:wrap;gap:8px 16px}.habitat-composition-legend span{display:inline-flex;align-items:center;gap:6px;font-size:13px}.habitat-composition-legend i{width:10px;height:10px;border-radius:3px;background:var(--habitat-color)}
@media(max-width:1000px){.habitat-viewer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.habitat-viewer-grid{grid-template-columns:1fr}.habitat-view-stage{min-height:320px}}
@media(max-width:640px){.habitat-result-viewer>header{align-items:flex-start;flex-direction:column}.habitat-viewer-toolbar{grid-template-columns:1fr}.habitat-viewer-toolbar label{white-space:normal}.habitat-view-stage{min-height:260px}}

#resultTablePane #metricsPreview,
.result-table-scroll,
.result-inference-table,
.table-preview-block .table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  padding-bottom: 4px;
}

#resultTablePane #metricsPreview {
  display: grid;
  gap: 14px;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.result-table-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d7e5e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(32, 72, 80, .06);
}

.result-table-card-header {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  min-height: 48px;
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #dce8ea;
  background: #f7fafb;
}

.result-table-card-header > strong:first-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.result-table-card-header .table-language-control {
  margin-left: auto;
}

.result-table-card-header .table-language-control,
.result-table-card-header .table-precision-control,
.result-table-card-header .result-table-toggle {
  flex: 0 0 auto;
}

.result-table-card-header .table-precision-control {
  margin-left: 0;
}

.result-table-toggle {
  flex: 0 0 auto;
  min-width: 62px;
  white-space: nowrap;
}

.result-table-edit-state {
  margin-left: auto;
  color: #6b8186;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.editable-result-table thead th,
.editable-result-table tbody td {
  cursor: text;
  transition: background .15s ease, box-shadow .15s ease;
}

.editable-result-table thead th:hover,
.editable-result-table tbody td:hover {
  background: #f1f9f8;
  box-shadow: inset 0 0 0 1px #a8d8d3;
}

.editable-result-table thead th.is-editing,
.editable-result-table tbody td.is-editing {
  position: relative;
  z-index: 2;
  min-width: 90px;
  outline: 2px solid #168d83;
  outline-offset: -2px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(18, 105, 99, .13);
}

.editable-result-table thead th.is-edited,
.editable-result-table tbody td.is-edited {
  background: #eef8f1;
}

.table-language-control {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 2px;
  padding: 3px;
  border: 1px solid #d5e3e6;
  border-radius: 8px;
  background: #edf3f4;
}

.table-language-control button {
  min-height: 28px;
  padding: 4px 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #60777c;
  box-shadow: none;
  font-size: 12px;
}

.table-language-control button:hover {
  transform: none;
  box-shadow: none;
}

.table-language-control button.active {
  background: #fff;
  color: #087f77;
  box-shadow: 0 2px 7px rgba(25, 69, 75, .1);
}

.result-table-card-body {
  width: 100%;
  max-width: 100%;
  max-height: 520px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.result-table-card-body > .table-wrap,
.result-table-card-body > .result-inference-table,
.result-table-card-body > .result-table-scroll {
  max-height: none;
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.result-table-card-body table {
  margin-left: auto;
  margin-right: auto;
}

.result-table-workbench-toolbar {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.result-table-workbench-toolbar label {
  width: min(520px, 100%);
}

.result-table-workbench-toolbar > button {
  min-height: 46px;
  white-space: nowrap;
}

.regression-writeback-modal.open{display:flex;align-items:center;justify-content:center}.regression-writeback-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto}.regression-writeback-dialog .modal-head h3{margin:4px 0 2px}.regression-writeback-dialog .modal-head p{margin:0;color:#6b8085}.regression-writeback-source{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;padding:12px 14px;margin:14px 0;border:1px solid #cfe2e3;border-radius:11px;background:#f3faf9}.regression-writeback-source span{grid-row:1/3;color:#087f77;font-size:12px;font-weight:800}.regression-writeback-source strong{font-size:15px}.regression-writeback-source small{color:#6c8185}.regression-writeback-choices{display:grid;gap:8px}.regression-writeback-row{display:grid;grid-template-columns:auto minmax(150px,.8fr) minmax(260px,1.2fr);align-items:center;gap:12px;padding:11px 13px;border:1px solid #d8e6e7;border-radius:10px;background:#fff}.regression-writeback-row:has([data-writeback-artifact]:checked){border-color:#8fcfc7;background:#f7fcfb}.regression-writeback-kind,.regression-writeback-name{display:grid;gap:3px}.regression-writeback-kind small,.regression-writeback-name small{color:#70858a;font-size:11px}.regression-writeback-name input{min-height:38px}.regression-writeback-validation{margin-top:12px;padding:12px 14px;border:1px solid #9cd6c7;border-radius:10px;background:#effaf5}.regression-writeback-validation>strong{color:#087d73}.regression-writeback-validation>div{display:grid;gap:6px;margin-top:8px}.regression-writeback-validation p{display:grid;grid-template-columns:minmax(100px,.45fr) 1fr;gap:10px;margin:0}.regression-writeback-validation span{color:#5f777b}.regression-writeback-activate{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:11px 13px;border-radius:10px;background:#f5f8fb}.regression-writeback-activate span{display:grid;gap:2px}.regression-writeback-activate small{color:#6c8185}.regression-writeback-safety{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:10px;padding:10px 13px;border-left:3px solid #20998f;background:#f4faf9}.regression-writeback-safety span{color:#647d81}.regression-writeback-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.regression-writeback-empty{display:grid;gap:6px;padding:18px;border:1px dashed #cbdcde;border-radius:10px;background:#f8fbfb}.regression-writeback-empty span{color:#6c8185}@media(max-width:680px){.regression-writeback-row{grid-template-columns:auto 1fr}.regression-writeback-name{grid-column:2}.regression-writeback-validation p{grid-template-columns:1fr}.regression-writeback-actions{align-items:stretch;flex-direction:column-reverse}}
.regression-writeback-output-settings{display:grid;gap:9px;margin-top:13px;padding:13px 14px;border:1px solid #dce7e9;border-radius:11px;background:#f7fafb}.regression-writeback-dataset-name{display:grid;grid-template-columns:minmax(130px,170px) 1fr;align-items:center;gap:4px 12px}.regression-writeback-dataset-name>span{color:#24464b;font-size:12px;font-weight:850}.regression-writeback-dataset-name>input{min-width:0;min-height:38px}.regression-writeback-dataset-name>small{grid-column:2;color:#6c8185;font-size:10px}.regression-writeback-output-settings .regression-writeback-activate{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:9px;width:100%;margin:2px 0 0;padding:10px 0 0;border-top:1px solid #e0e9eb;border-radius:0;background:transparent}.regression-writeback-output-settings .regression-writeback-activate>input{flex:0 0 16px!important;width:16px!important;height:16px!important;margin:2px 0 0!important;padding:0!important}.regression-writeback-output-settings .regression-writeback-activate>span{display:grid;gap:2px;min-width:0}.regression-writeback-output-settings .regression-writeback-activate strong{font-size:12px}.regression-writeback-output-settings .regression-writeback-activate small{font-size:10px;line-height:1.45}@media(max-width:560px){.regression-writeback-dataset-name{grid-template-columns:1fr}.regression-writeback-dataset-name>small{grid-column:auto}}

.dataset-version-tree-modal.open{display:flex;align-items:center;justify-content:center}.dataset-version-tree-dialog{width:min(1380px,calc(100vw - 32px));height:min(850px,calc(100vh - 32px));max-width:none;display:flex;flex-direction:column;gap:12px;overflow:hidden}.dataset-version-tree-head{flex:0 0 auto}.dataset-version-tree-head h3{margin:4px 0 2px}.dataset-version-tree-head p{margin:0;color:#698084}.dataset-version-tree-head-actions{display:flex;align-items:center;gap:8px}.dataset-version-tree-summary{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}.dataset-version-tree-summary span{padding:7px 11px;border:1px solid #d5e5e7;border-radius:999px;background:#f7fbfb;color:#587176;font-size:12px}.dataset-version-tree-summary b{color:#087f77}.dataset-version-tree-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px;min-height:0;flex:1}.dataset-version-tree-viewport{position:relative;min-height:400px;overflow:auto;border:1px solid #d3e2e5;border-radius:14px;background:linear-gradient(90deg,rgba(15,143,132,.035) 1px,transparent 1px),linear-gradient(rgba(15,143,132,.035) 1px,transparent 1px),#f8fbfc;background-size:24px 24px}.dataset-version-tree-canvas{position:relative;min-width:100%;min-height:100%;width:max-content;padding:18px}.dataset-version-tree-canvas>svg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.dataset-version-tree-canvas>svg path{fill:none;stroke:#85bdb8;stroke-width:2}.dataset-version-tree-columns{position:relative;z-index:1;display:flex;align-items:flex-start;gap:78px;min-height:100%}.dataset-version-tree-column{width:250px;flex:0 0 250px;display:grid;gap:10px}.dataset-version-tree-column>header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;color:#587176}.dataset-version-tree-column>header span{font-weight:800;color:#123f45}.dataset-version-tree-column>header small{font-size:11px}.dataset-version-tree-column>div{display:grid;gap:18px}.dataset-version-tree-node{position:relative;width:100%;min-height:112px;padding:13px 14px;text-align:left;display:grid;align-content:start;gap:6px;border:1px solid #cbdde0;border-radius:13px;background:#fff;color:#17383d;box-shadow:0 5px 16px rgba(25,64,70,.07)}.dataset-version-tree-node:hover{transform:translateY(-1px);border-color:#77bdb6;box-shadow:0 8px 22px rgba(25,64,70,.12)}.dataset-version-tree-node.is-root{border-left:5px solid #7294b7}.dataset-version-tree-node.is-derived{border-left:5px solid #23a293}.dataset-version-tree-node.is-active{background:#edf9f6;border-color:#1c9c8e;box-shadow:0 0 0 2px rgba(28,156,142,.15),0 8px 22px rgba(25,64,70,.12)}.dataset-version-tree-node.is-selected{outline:3px solid rgba(39,115,208,.18)}.dataset-version-tree-node-type{font-size:11px;color:#087f77;font-weight:800;text-transform:uppercase}.dataset-version-tree-node strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.dataset-version-tree-node small{font-size:11px;color:#6c8286}.dataset-version-tree-node em{justify-self:start;padding:3px 7px;border-radius:999px;background:#eaf7f4;color:#087b72;font-size:10px;font-style:normal}.dataset-version-tree-detail{min-height:0;overflow:auto;padding:16px;border:1px solid #d3e2e5;border-radius:14px;background:#fff}.dataset-version-tree-detail-kicker{font-size:11px;font-weight:900;color:#087f77}.dataset-version-tree-detail h4{margin:6px 0 4px;font-size:18px;line-height:1.4}.dataset-version-tree-id{margin:0 0 14px;color:#71858a;font-size:11px;overflow-wrap:anywhere}.dataset-version-tree-detail dl{display:grid;gap:0;margin:0;border-top:1px solid #e2ecee}.dataset-version-tree-detail dl div{display:grid;grid-template-columns:78px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #e2ecee}.dataset-version-tree-detail dt{color:#708489;font-size:12px}.dataset-version-tree-detail dd{margin:0;color:#23464b;font-size:12px;overflow-wrap:anywhere}.dataset-version-tree-variable-list{display:grid;gap:8px;margin-top:14px}.dataset-version-tree-variable-list>div{display:flex;flex-wrap:wrap;gap:5px}.dataset-version-tree-variable-list code{padding:4px 7px;border-radius:6px;background:#edf7f5;color:#087b72;font-size:11px}.dataset-version-tree-no-variable{padding:10px;margin-top:14px;border-left:3px solid #a8c4c7;background:#f7fafb;color:#6b8085;font-size:12px}.dataset-version-tree-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}.dataset-version-tree-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;flex:0 0 auto;color:#647b80;font-size:11px}.dataset-version-tree-legend span{display:flex;align-items:center;gap:5px}.dataset-version-tree-legend i{width:13px;height:13px;border-radius:4px;border:2px solid #7294b7;background:#fff}.dataset-version-tree-legend i.derived{border-color:#23a293}.dataset-version-tree-legend i.active{border-color:#1c9c8e;background:#dff5ef}.dataset-version-tree-legend small{margin-left:auto;color:#799095}@media(max-width:900px){.dataset-version-tree-dialog{height:calc(100vh - 20px);width:calc(100vw - 20px)}.dataset-version-tree-layout{grid-template-columns:1fr;grid-template-rows:minmax(360px,1fr) auto}.dataset-version-tree-detail{max-height:260px}.dataset-version-tree-head-actions .secondary{display:none}}@media(max-width:600px){.dataset-version-tree-summary span:last-child{width:100%;border-radius:10px}.dataset-version-tree-column{width:220px;flex-basis:220px}.dataset-version-tree-columns{gap:56px}.dataset-version-tree-canvas{padding:12px}.dataset-version-tree-legend small{width:100%;margin-left:0}}
.dataset-version-compare-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto minmax(220px,1fr) auto;align-items:end;gap:9px;padding:10px 12px;border:1px solid #d3e4e5;border-radius:12px;background:#f7fbfb;flex:0 0 auto}.dataset-version-compare-controls>div{display:grid;gap:2px;align-self:center}.dataset-version-compare-controls>div strong{color:#173f45}.dataset-version-compare-controls>div small{color:#71868a;font-size:10px}.dataset-version-compare-controls>label{display:grid;gap:4px}.dataset-version-compare-controls>label span{color:#60777c;font-size:10px;font-weight:800}.dataset-version-compare-controls select{min-width:0}.dataset-version-compare-arrow{align-self:center;color:#168d82;font-size:20px;font-weight:900}.dataset-version-compare-result{max-height:340px;overflow:auto;padding:13px;border:1px solid #cfe0e3;border-radius:13px;background:#fff;flex:0 0 auto}.dataset-version-compare-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dataset-version-compare-title h4{margin:3px 0 0;color:#173f45;font-size:15px}.dataset-version-compare-title h4 b{padding:0 7px;color:#168d82}.dataset-version-diff-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}.dataset-version-diff-metrics article{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 11px;border:1px solid #dce8ea;border-radius:9px;background:#f8fbfc}.dataset-version-diff-metrics article span{grid-column:1/-1;color:#6b8085;font-size:10px}.dataset-version-diff-metrics article strong{color:#173f45;font-size:14px}.dataset-version-diff-metrics article em{align-self:center;color:#6b8085;font-size:10px;font-style:normal}.dataset-version-diff-metrics article em.negative{color:#c2413a}.dataset-version-diff-metrics article em.positive{color:#087f77}.dataset-version-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.dataset-version-diff-grid>section{min-height:80px;padding:10px;border:1px solid #dce8ea;border-radius:9px}.dataset-version-diff-grid h5,.dataset-version-missing-diff h5{display:flex;align-items:center;justify-content:space-between;margin:0 0 7px;color:#274a50}.dataset-version-diff-grid h5 b{color:#087f77}.dataset-version-diff-chips{display:flex;flex-wrap:wrap;gap:5px}.dataset-version-diff-chips code{padding:3px 6px;border-radius:5px;background:#edf7f5;color:#087b72;font-size:10px}.dataset-version-diff-grid ul,.dataset-version-diff-grid ol{display:grid;gap:5px;margin:0;padding-left:18px}.dataset-version-diff-grid li{font-size:10px}.dataset-version-diff-grid li span,.dataset-version-diff-grid li small{display:block;color:#6b8085}.dataset-version-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px;padding:9px 11px;border-left:3px solid #15978b;background:#edf8f6;color:#48696e;font-size:11px}.dataset-version-filter-summary strong{color:#087f77}.dataset-version-filter-summary span{padding:3px 7px;border-radius:999px;background:#fff}.dataset-version-missing-diff{margin-top:10px}.dataset-version-missing-diff .table-wrap{max-height:170px}.dataset-version-diff-privacy{margin:8px 0 0;color:#789095;font-size:10px}@media(max-width:900px){.dataset-version-compare-controls{grid-template-columns:1fr 1fr}.dataset-version-compare-controls>div{grid-column:1/-1}.dataset-version-compare-arrow{display:none}.dataset-version-diff-metrics{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dataset-version-compare-controls,.dataset-version-diff-grid,.dataset-version-diff-metrics{grid-template-columns:1fr}.dataset-version-compare-result{max-height:45vh}}

.result-table-workbench-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 16px;
  align-items: start;
}

.result-table-workbench-preview { min-width: 0; }
.result-table-workbench-preview .result-table-card[hidden] { display: none !important; }

.result-table-style-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #d7e5e8;
  border-radius: 14px;
  background: #f8fbfb;
  position: sticky;
  top: 12px;
}

.result-table-style-editor > div:first-child { display: flex; justify-content: space-between; gap: 10px; }
.result-table-style-editor fieldset { display: grid; grid-template-columns: 1fr 110px; gap: 10px; margin: 0; padding: 12px; border: 1px solid #d7e5e8; border-radius: 10px; }
.result-table-style-editor fieldset legend { padding: 0 6px; font-weight: 700; }
.result-table-style-editor fieldset .editor-toggle { grid-column: 1 / -1; }
.result-table-style-editor textarea { width: 100%; min-height: 72px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12px; }
.result-table-style-editor [data-table-spec-state] { color: var(--text-muted, #64748b); }
.result-table-style-editor [data-table-spec-columns] { grid-column: 1 / -1; display: grid; gap: 8px; }
.table-spec-column-row { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(120px, 1.2fr) 110px 62px 68px 58px; gap: 6px; align-items: center; padding: 8px; border: 1px solid #e0eaec; border-radius: 8px; }
.table-spec-header-groups th { text-align: center; border-bottom-width: 1px; }
.result-table-workbench .result-table-card-header .table-language-control,
.result-table-workbench .result-table-card-header .table-precision-control { display: none; }
.result-table-workbench table thead th { font-family: var(--result-table-header-font, inherit); font-size: var(--result-table-header-size, 14px); font-weight: var(--result-table-header-weight, 700); }
.result-table-workbench table tbody th,
.result-table-workbench table tbody td { font-family: var(--result-table-body-font, inherit); font-size: var(--result-table-body-size, 14px); }

.figure-editor.is-confusion-editor label:has(#editFigureColor),
.figure-editor.is-confusion-editor label:has(#editColorAlpha),
.figure-editor.is-confusion-editor label:has(#editFigureColorSecondary),
.figure-editor.is-confusion-editor label:has(#editColorSecondaryAlpha),
.figure-editor.is-confusion-editor label:has(#editLegendPosition),
.figure-editor.is-confusion-editor label:has(#editShowPoints),
.figure-editor.is-confusion-editor label:has(#editPointSize),
.figure-editor.is-confusion-editor label:has(#editPointColor),
.figure-editor.is-confusion-editor label:has(#editPointAlpha),
.figure-editor.is-confusion-editor label:has(#editPointMarker) { display: none; }

@media (max-width: 1100px) {
  .result-table-workbench-layout { grid-template-columns: 1fr; }
  .result-table-style-editor { position: static; }
}

.result-table-card.is-collapsed .result-table-card-header {
  border-bottom-color: transparent;
}

.result-table-card.is-collapsed .result-table-card-body {
  display: none;
}

#resultTablePane table,
.result-table-scroll table,
.result-inference-table table {
  max-width: none;
}

.baseline-result-preview > .paper-table-tools,
.baseline-inference-table > h4 {
  position: sticky;
  left: 0;
}

.baseline-inference-table {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #d8e5e8);
}

.result-trace-list {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid #dce8ea;
  border-radius: 12px;
  overflow: hidden;
}

.result-trace-list > div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid #e5edef;
}

.result-trace-list > div:last-child { border-bottom: 0; }
.result-trace-list dt { font-weight: 700; }
.result-trace-list dd { margin: 0; min-width: 0; }
.result-trace-list pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }

.result-trace-overview,
.trace-parameters-readable {
  display: grid;
  gap: 16px;
}

.trace-parameters-readable {
  padding: 18px;
  border: 1px solid #dce8ea;
  border-radius: 14px;
  background: #f9fbfc;
}

.trace-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.trace-section-heading h3,
.trace-section-heading h4,
.trace-parameter-group h4 {
  margin: 0;
}

.trace-section-heading p {
  margin: 4px 0 0;
  color: var(--muted, #678087);
  font-size: 13px;
}

.trace-section-heading > span,
.trace-parameter-group h4 small {
  color: #087f77;
  font-size: 12px;
}

.trace-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.trace-summary-grid > div {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid #dce8ea;
  border-radius: 10px;
  background: #fff;
}

.trace-summary-grid span {
  color: var(--muted, #678087);
  font-size: 12px;
}

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

.trace-parameter-group {
  padding: 14px;
  border: 1px solid #dce8ea;
  border-radius: 11px;
  background: #fff;
}

.trace-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.trace-chips span {
  padding: 5px 8px;
  border-radius: 7px;
  background: #eaf6f4;
  color: #176e68;
  font-size: 12px;
  font-weight: 700;
}

.trace-empty-group {
  margin: 10px 0 0;
  color: var(--muted, #678087);
  font-size: 13px;
}

.trace-decision-section {
  display: grid;
  gap: 11px;
  min-width: 0;
}

.trace-decision-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #dce8ea;
  border-radius: 11px;
  background: #fff;
}

.trace-decision-table {
  width: 100%;
  min-width: 900px;
  table-layout: auto;
  border-collapse: collapse;
}

.trace-decision-table th,
.trace-decision-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e4edef;
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}

.trace-decision-table th:first-child {
  min-width: 110px;
  white-space: nowrap;
}

.trace-decision-table th:nth-child(2),
.trace-decision-table td:nth-child(2) {
  min-width: 320px;
}

.trace-decision-table th:nth-child(n+3),
.trace-decision-table td:nth-child(n+3) {
  min-width: 150px;
}

.trace-decision-table thead th {
  background: #edf6f6;
  white-space: nowrap;
}

.trace-decision-table tbody tr:last-child > * {
  border-bottom: 0;
}

.trace-setting-list,
.trace-technical-details dl {
  display: grid;
  gap: 0;
  margin: 10px 0 0;
}

.trace-setting-list > div,
.trace-technical-details dl > div {
  display: grid;
  grid-template-columns: minmax(130px, 220px) minmax(0, 1fr);
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid #e5edef;
}

.trace-setting-list dd,
.trace-technical-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.trace-technical-details {
  padding: 12px 14px;
  border: 1px dashed #cfdee1;
  border-radius: 10px;
  background: #fff;
}

.trace-technical-details summary {
  cursor: pointer;
  color: #557278;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .trace-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trace-variable-groups { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .trace-summary-grid { grid-template-columns: 1fr; }
}

.figure-browser {
  min-width: 0;
}

.figure-browser .figure-editor {
  align-content: start;
  min-width: 0;
}

.figure-browser-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
  gap: 18px;
  align-items: start;
}

.figure-browser-workbench > .figure-grid {
  min-width: 0;
  margin: 0;
}

.figure-browser-workbench > .figure-editor {
  position: sticky;
  top: 16px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 14px;
  border: 1px solid var(--line, #d7e3e7);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(19, 64, 76, 0.08);
}

/* Keep the new editor's native hidden state authoritative. Legacy figure
   editor grid rules must not turn an unavailable editor into an empty,
   narrow column beside the result image. */
.figure-browser-workbench > .unified-visualization-editor[hidden] {
  display: none !important;
}

.figure-browser-workbench:has(> .unified-visualization-editor[hidden]) {
  grid-template-columns: minmax(0, 1fr);
}

.figure-browser-workbench > .unified-visualization-editor {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 1180px) {
  .figure-browser-workbench { grid-template-columns: 1fr; }
  .figure-browser-workbench > .figure-editor {
    position: static;
    max-height: none;
  }
}

.figure-browser .figure-editor > .editor-group,
.figure-browser .figure-editor > .result-style-switcher,
.figure-browser .figure-editor > .editor-action-row {
  grid-column: 1 / -1;
  width: 100%;
}

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

.figure-editor .editor-action-row {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding-top: 10px;
  background: #fff;
}

[data-panel="resultPanel"].has-unread-result::after {
  content: attr(data-result-unread);
  position: absolute;
  z-index: 4;
  top: 7px;
  right: 8px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  margin: 0;
  padding: 0 5px;
  border-radius: 999px;
  background: #cf4f3d;
  color: #fff;
  font-size: 12px;
}

[data-panel="resultPanel"] {
  position: relative;
}

[data-panel="resultPanel"].has-unread-result {
  padding-right: 34px;
}

.result-table-display-tools,
.table-preview-head,
.paper-table-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}

.result-table-display-tools {
  justify-content: flex-end;
  min-height: 42px;
  padding: 6px 8px;
  border-bottom: 1px solid #dbe7e9;
}

.table-precision-control {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  color: var(--muted, #637b82);
  font-size: 12px;
  font-weight: 600;
}

.table-precision-control select {
  width: auto;
  min-width: 76px;
  height: 34px;
  padding: 5px 26px 5px 9px;
  border-radius: 8px;
  font-size: 12px;
}

@media (max-width: 980px) {
  .result-history-shell { grid-template-columns: 1fr; }
  .result-history-sidebar { position: static; }
  .result-history-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 260px; }
}

@media (max-width: 640px) {
  .result-history-list,
  .figure-editor .editor-group-grid { grid-template-columns: 1fr; }
  .result-detail-header { align-items: flex-start; flex-direction: column; }
}
.figure-browser-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.figure-browser-pickers {
  display: block;
  gap: 12px;
  width: min(920px, calc(100% - 110px));
}

.figure-browser-pickers label,
.figure-browser-pickers select {
  width: 100%;
}

.figure-browser-toolbar .download-menu {
  position: relative;
  flex: 0 0 auto;
}

@media (max-width: 900px) {
  .figure-browser-toolbar { align-items: stretch; }
  .figure-browser-pickers { grid-template-columns: 1fr; width: 100%; }
}

.hierarchical-picker {
  position: relative;
  width: min(680px, 100%);
  min-width: 280px;
  z-index: 12;
}

.hierarchical-picker.is-open { z-index: 80; }

.hierarchical-picker-trigger {
  width: 100%;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 14px;
  border: 1px solid var(--line, #cddfe7);
  border-radius: 12px;
  background: #fff;
  color: var(--ink, #102a33);
  text-align: left;
  box-shadow: none;
}

.hierarchical-picker-trigger-copy { display: grid; gap: 2px; min-width: 0; }
.hierarchical-picker-trigger-copy small { color: var(--muted, #61757f); font-weight: 600; }
.hierarchical-picker-trigger-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hierarchical-picker-chevron { color: var(--teal, #087f78); font-size: 20px; }

.hierarchical-picker-popover {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  width: min(760px, calc(100vw - 48px));
  min-height: 190px;
  max-height: min(520px, 65vh);
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(260px, 1.2fr);
  overflow: hidden;
  border: 1px solid #bdd8df;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(24, 58, 69, 0.18);
}

.hierarchical-picker-popover[hidden] { display: none; }
.hierarchical-picker-primary,
.hierarchical-picker-secondary { overflow: auto; padding: 8px; }
.hierarchical-picker-primary { background: #f2f8f8; border-right: 1px solid #dbe9ec; }
.hierarchical-picker-secondary-head { padding: 9px 11px; color: var(--muted, #61757f); font-size: 13px; font-weight: 700; }
.hierarchical-picker-group,
.hierarchical-picker-item {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--ink, #102a33);
  text-align: left;
  box-shadow: none;
}
.hierarchical-picker-group:hover,
.hierarchical-picker-group.is-active { background: #dff2ef; color: #087f78; }
.hierarchical-picker-item:hover,
.hierarchical-picker-item.is-selected { background: #edf8f6; color: #087f78; }
.hierarchical-picker-item { display: grid; justify-content: stretch; }
.hierarchical-picker-item small { color: var(--muted, #61757f); font-weight: 400; }

.result-controls .hierarchical-picker { width: min(760px, 100%); }
.result-table-workbench-toolbar .hierarchical-picker { width: min(650px, 100%); }

@media (max-width: 700px) {
  .hierarchical-picker { min-width: 0; }
  .hierarchical-picker-popover { grid-template-columns: 1fr; max-height: 70vh; }
  .hierarchical-picker-primary { border-right: 0; border-bottom: 1px solid #dbe9ec; max-height: 180px; }
}
.viz-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-bottom: 12px;
}
.viz-editor-mode,
.viz-editor-history,
.viz-editor-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.viz-editor-mode {
  padding: 3px;
  border: 1px solid #d5e4e6;
  border-radius: 10px;
  background: #edf5f5;
}
.viz-editor-mode button,
.viz-editor-history button,
.viz-editor-actions button {
  width: auto;
  min-height: 36px;
  padding: 7px 12px;
  white-space: nowrap;
}
.viz-editor-mode button {
  border: 0;
  box-shadow: none;
  background: transparent;
  color: #587177;
}
.viz-editor-mode button.active {
  background: #fff;
  color: #087f77;
  box-shadow: 0 2px 8px rgba(22, 91, 88, .12);
}
.viz-editor-history { margin-left: auto; }
.viz-editor-actions .primary { order: 4; }
.viz-editor-mode-hint {
  margin: -3px 0 10px;
  color: #6b8085;
  font-size: 12px;
  line-height: 1.45;
}
.viz-editor-sections { display: grid; gap: 9px; }
.viz-editor-empty { padding: 16px; color: #6b8085; text-align: center; }
.viz-editor-maximized {
  position: fixed !important;
  inset: 24px !important;
  z-index: 1200;
  overflow: auto;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--surface, #fff);
  box-shadow: 0 24px 80px rgba(10, 35, 48, 0.28);
}
.viz-editor-maximized .viz-editor-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
}
.viz-editor-section {
  border: 1px solid var(--line, #d7e3e7);
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
.viz-editor-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  font-weight: 700;
  background: #f2f7f8;
  cursor: pointer;
}
.viz-editor-section > summary::marker { color: #168d83; }
.viz-editor-section-title { min-width: 0; }
.viz-editor-section-actions { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; }
.viz-editor-section-state { color: #829397; font-size: 11px; font-weight: 600; }
.viz-editor-section > summary button {
  width: auto;
  min-height: 30px;
  padding: 4px 9px;
  font-size: 12px;
  white-space: nowrap;
}
.viz-editor-section-focus { box-shadow: 0 0 0 2px rgba(15, 142, 132, .28); }
.viz-direct-host { position: relative; }
.viz-direct-handle {
  position: absolute; z-index: 8; width: 30px !important; min-width: 30px; min-height: 30px !important;
  padding: 0 !important; transform: translate(-50%, -50%); border: 2px solid #fff !important;
  border-radius: 999px !important; background: #0b8d83 !important; color: #fff !important;
  box-shadow: 0 3px 12px rgba(10, 68, 64, .32); cursor: grab;
}
.viz-direct-handle:active { cursor: grabbing; }
.viz-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 14px;
  padding: 14px;
}
.viz-field { display: grid; gap: 6px; min-width: 0; }
.viz-field > span { color: #53666c; font-size: 13px; }
.viz-field input, .viz-field select { width: 100%; min-width: 0; }
.viz-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  line-height: 1.35;
}
.viz-toggle input { flex: 0 0 auto; margin: 0; }
.viz-toggle span { min-width: 0; }
.viz-editor-grid fieldset { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border: 1px solid #dfe9ec; border-radius: 10px; padding: 10px; }
@media (max-width: 1350px) {
  .viz-editor-history { margin-left: 0; }
  .viz-editor-actions { width: 100%; }
}
@media (max-width: 780px) { .viz-editor-grid { grid-template-columns: 1fr; } }

/* Result center figure browser: isolate the current workbench from the
   legacy direct-child grid used by the former figure editor. */
#figurePreview > .figure-browser {
  display: block;
  width: 100%;
  min-width: 0;
}

#figurePreview .figure-browser-toolbar {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: end;
  justify-content: space-between;
}

#figurePreview .figure-browser-workbench {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(390px, 2fr);
  width: 100%;
  min-width: 0;
  gap: 18px;
  align-items: start;
}

#figurePreview #selectedFigureGrid {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  grid-area: auto;
}

#figurePreview #selectedFigureGrid > div {
  display: block;
  width: 100%;
  min-width: 0;
}

#figurePreview #selectedFigureGrid .hint {
  display: block;
  max-width: 100%;
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#figurePreview #selectedFigureGrid img {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 420px;
  max-height: 720px;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

#figurePreview #statisticsUnifiedVisualizationEditor:not([hidden]) {
  display: block;
  position: sticky;
  top: 16px;
  width: 100%;
  min-width: 0;
  max-width: none;
  max-height: calc(100vh - 48px);
  overflow: auto;
  grid-area: auto;
  box-sizing: border-box;
}

#figurePreview #statisticsUnifiedVisualizationEditor[hidden] {
  display: none !important;
}

@media (max-width: 1180px) {
  #figurePreview .figure-browser-workbench {
    grid-template-columns: 1fr;
  }

  #figurePreview #statisticsUnifiedVisualizationEditor:not([hidden]) {
    position: static;
    max-height: none;
  }
}

.regression-workspace{gap:18px!important}
.regression-workspace .regression-hero{display:none}
.regression-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0}
.regression-flow>span{min-width:0;display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #d9e5e5;border-radius:12px;background:#fff;color:#294143;font-size:13px;font-weight:700;white-space:normal}
.regression-flow>span.active{border-color:#16a394;background:#f0faf8;color:#123f40}
.regression-flow>span>b{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9f5f2;color:#087f77;font-size:12px}
.regression-flow>span.active>b{background:#dff2ee;color:#087f77}
.regression-flow>span>span{min-width:0;display:grid;gap:2px}
.regression-flow strong{font-size:14px;color:#122f31}
.regression-flow small{overflow:hidden;text-overflow:ellipsis;color:#71807e;font-size:11px;font-weight:500;white-space:nowrap}
.regression-flow>i{display:none}
.regression-mode-grid label{min-height:72px;padding:14px 42px 13px 16px;align-content:center}
.regression-mode-grid input[type="radio"]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.regression-mode-grid label:focus-within{outline:3px solid rgba(22,163,148,.16);outline-offset:2px}
.regression-mode-grid label:has(input:checked)::after{content:"✓";position:absolute;right:14px;top:50%;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#16a394;color:#fff;font-size:12px;transform:translateY(-50%)}
.regression-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.regression-option-grid label{min-height:48px;justify-content:flex-start;gap:10px;padding:11px 14px;background:#fbfdfd;cursor:pointer}
.regression-option-grid label>input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;margin:0}
.regression-option-grid label>span{display:flex;align-items:baseline;gap:5px;font-weight:700;text-align:left}
.regression-option-grid label>span small{color:#71807e;font-size:11px;font-weight:600}
.regression-option-grid .regression-ci-option{cursor:default;gap:8px}
.regression-option-grid .regression-ci-option input{margin-left:auto}
.regression-option-grid .regression-ci-option b{font-size:12px}
.regression-runbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:16px 18px}
.regression-run-step{align-self:start;padding:6px 8px;border-radius:8px;background:#24423e;color:#a8ead8;font-size:12px;font-weight:900}
.regression-runbar>button{min-width:190px}
@media(max-width:1000px){.regression-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.regression-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.regression-flow{grid-template-columns:1fr}.regression-flow>span{font-size:13px}.regression-flow>span>b{font-size:12px}.regression-flow small{white-space:normal}.regression-option-grid{grid-template-columns:1fr}.regression-runbar{grid-template-columns:auto 1fr}.regression-runbar>button{grid-column:1/-1;width:100%}}
.regression-flow>button{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:13px 14px;border:1px solid #d9e5e5;border-radius:12px;background:#fff;color:#294143;font-size:13px;font-weight:700;text-align:left;white-space:normal;box-shadow:none}
.regression-flow>button:hover{border-color:#9bcfc8;background:#f8fcfb}
.regression-flow>button.active{border-color:#16a394;background:#f0faf8;color:#123f40}
.regression-flow>button>b{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9f5f2;color:#087f77;font-size:12px}
.regression-flow>button>span{min-width:0;display:grid;gap:2px}
.regression-flow>button strong{font-size:14px;color:#122f31}
.regression-flow>button small{overflow:hidden;text-overflow:ellipsis;color:#71807e;font-size:11px;font-weight:500;white-space:nowrap}
.regression-flow>button:focus-visible{outline:3px solid rgba(22,163,148,.2);outline-offset:2px}
.regression-stage-panel[hidden]{display:none!important}
.regression-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.regression-variable-card input:disabled+span{color:#087f77;font-weight:800}
.regression-variable-card label:has(input:disabled){background:#edf8f6;border-color:#c8e5df}
.regression-hierarchy-blocks{display:grid;gap:8px}
.regression-model-snapshot{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid #d7e6e3;border-radius:10px;background:#fff}
.regression-model-snapshot>span{display:grid;place-items:center;min-width:68px;min-height:38px;border-radius:9px;background:#e8f5f2;color:#087f77;font-weight:900}
.regression-model-snapshot>div{display:grid;gap:4px;min-width:0}.regression-model-snapshot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regression-model-snapshot small{color:#6c807d}
.regression-advanced-builder{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:12px;margin-top:12px}
.regression-term-builder{display:flex;align-items:end;gap:9px;padding:12px;border:1px solid #dce8e6;border-radius:10px;background:#fff}.regression-term-builder label{flex:1;min-width:0}.regression-term-builder b{align-self:center;color:#087f77}.regression-term-builder button{flex:0 0 auto;white-space:nowrap}
.regression-term-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:42px;margin-top:12px}.regression-term-chips>span{color:#71807e;font-size:12px}.regression-term-chips button{min-height:32px;padding:6px 10px;border:1px solid #bcded8;border-radius:999px;background:#edf8f6;color:#087f77;box-shadow:none}.regression-term-chips button b{margin-left:6px}
.regression-formula-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:10px;background:#112e2b;color:#fff}.regression-formula-preview span{color:#a9c9c4;font-size:12px;font-weight:800}.regression-formula-preview code{overflow-wrap:anywhere;color:#fff;font-size:13px}
@media(max-width:1000px){.regression-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.regression-advanced-builder{grid-template-columns:1fr}}
@media(max-width:680px){.regression-term-builder{align-items:stretch;flex-direction:column}.regression-term-builder b{display:none}.regression-formula-preview{grid-template-columns:1fr}}
.regression-card-head>.regression-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}
.regression-card-actions .text-button{flex:0 0 auto}
.regression-custom-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.regression-custom-head>div{display:grid;gap:3px}.regression-custom-head span{color:#71807e;font-size:12px}
.regression-advanced-mode{margin-top:12px;border:1px solid #dce7e7;border-radius:10px;background:#fbfdfd}
.regression-advanced-mode summary{cursor:pointer;padding:12px 14px;color:#527075;font-weight:800}
.regression-advanced-mode>label{display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:11px 12px;border:1px solid #d8e5e4;border-radius:9px;background:#fff}
.regression-advanced-mode>label span{display:grid;gap:2px}.regression-advanced-mode small{color:#71807e}
.regression-block-builder-head,.regression-hierarchy-block>div:first-child{display:flex;align-items:center;gap:10px}
.regression-block-builder-head{justify-content:space-between;margin-bottom:12px}.regression-block-builder-head>div{display:grid;gap:3px}.regression-block-builder-head span{color:#71807e;font-size:12px}
.regression-block-builder-head>.tools-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.regression-block-builder-head>.tools-row button{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.regression-block-builder-head{align-items:stretch;flex-direction:column}.regression-block-builder-head>.tools-row{justify-content:flex-start;flex-wrap:wrap}}

/* ML output controls: compact label/value rows instead of full-width fields. */
.ml-shap-settings{display:grid;grid-template-columns:1fr;gap:9px;margin-top:12px}
.ml-shap-sample-setting{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(150px,220px);grid-template-rows:auto auto;align-items:center;column-gap:16px;row-gap:2px;padding:9px 0}
.ml-shap-sample-setting>span{grid-column:1;grid-row:1;font-weight:800}
.ml-shap-sample-setting>small{grid-column:1;grid-row:2;min-height:0;color:var(--muted);font-size:11px}
.ml-shap-sample-setting>input,.ml-shap-sample-setting>select{grid-column:2;grid-row:1/3;width:100%;min-width:0;max-width:220px;justify-self:end}
@media(max-width:680px){.ml-shap-sample-setting{grid-template-columns:1fr}.ml-shap-sample-setting>input,.ml-shap-sample-setting>select{grid-column:1;grid-row:auto;max-width:none;justify-self:stretch}}

/* ML model cards: readable Chinese labels with compact inline controls. */
.ml-param-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ml-param-heading .row-label{margin:0}
.ml-param-heading>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}
.ml-param-heading>label select{width:150px;min-height:36px;padding:6px 9px}
.ml-param-inline{display:block}
.ml-param-common,.ml-advanced-params>div{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.ml-param-inline .ml-param-common>label,.ml-param-inline .ml-advanced-params>div>label{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0;max-width:none;margin:0}
.ml-param-inline .parameter-title{width:auto;max-width:190px;white-space:normal;font-size:12px;font-weight:800}
.ml-param-inline .ml-param-input{width:118px;min-width:90px;max-width:150px;height:38px;min-height:38px;padding:6px 9px}
.ml-param-inline select.ml-param-input{width:145px}
.ml-advanced-params{margin-top:10px;border-top:1px solid #e0eaea;padding-top:8px}
.ml-advanced-params summary{cursor:pointer;width:max-content;color:#087f77;font-size:12px;font-weight:800;margin-bottom:9px}
.ml-param-mode-summary{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid #d8e7e5;border-radius:9px;background:#f5faf9}.ml-param-mode-summary strong{color:#087f77}.ml-param-mode-summary span{color:#667d80;font-size:12px}
.access-badge.included{display:none!important}
.ml-tuning-strategy{margin:14px 0;padding:14px 16px;border:1px solid #cfe3e0;border-radius:12px;background:#f4faf9}
.ml-tuning-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ml-tuning-title strong{font-size:15px}.ml-tuning-title p{margin:3px 0 0;color:#687d80;font-size:12px}
.ml-tuning-controls{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px 18px;align-items:end}.ml-tuning-controls label,.ml-tuning-controls>div{display:flex;align-items:center;gap:9px;min-width:0}.ml-tuning-controls span{flex:0 0 auto;font-size:12px;font-weight:800}.ml-tuning-controls select{width:150px;min-height:36px;padding:6px 9px}.ml-tuning-controls strong{font-size:12px;color:#426568}
.ml-param-grid-input{width:220px!important;max-width:260px!important}
.ml-advanced-params summary{display:flex;align-items:center;gap:8px}
@media(max-width:1050px){.ml-tuning-controls{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:680px){.ml-tuning-controls{grid-template-columns:1fr}.ml-tuning-controls label,.ml-tuning-controls>div{justify-content:space-between}.ml-param-grid-input{width:180px!important}}
@media(max-width:680px){.ml-param-heading{align-items:stretch;flex-direction:column}.ml-param-heading>label{justify-content:space-between}.ml-param-heading>label select{width:180px}.ml-param-inline .ml-param-common>label,.ml-param-inline .ml-advanced-params>div>label{justify-content:space-between;width:100%}.ml-param-inline .ml-param-input,.ml-param-inline select.ml-param-input{width:150px}}
.regression-hierarchy-blocks{display:grid;gap:10px}.regression-hierarchy-block{padding:12px;border:1px solid #d8e5e4;border-radius:10px;background:#fff}
.regression-hierarchy-block>div:first-child{margin-bottom:10px}.regression-hierarchy-block>div:first-child span{color:#71807e;font-size:12px}.regression-hierarchy-block>div:first-child button{margin-left:auto}
.regression-hierarchy-block .checks{grid-template-columns:repeat(4,minmax(0,1fr));max-height:180px;overflow:auto}
.regression-section>.regression-runbar{margin-top:16px}
@media(max-width:900px){.regression-hierarchy-block .checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.regression-runbar button.is-running{cursor:wait;opacity:.7}
.ml-validation-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1200px){.ml-validation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.ml-validation-grid{grid-template-columns:1fr}}
.ml-external-validation{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr) minmax(320px,1.4fr);gap:12px;align-items:end}
.ml-external-validation[hidden],.ml-external-validation label[hidden]{display:none!important}
.ml-external-validation>label{display:grid;gap:8px}
.ml-external-validation .summary{min-height:48px;align-content:center}
@media(max-width:1000px){.ml-external-validation{grid-template-columns:1fr 1fr}.ml-external-validation .summary{grid-column:1/-1}}
@media(max-width:720px){.ml-external-validation{grid-template-columns:1fr}.ml-external-validation .summary{grid-column:auto}}
.is-pretrained-validation .ml-feature-card,.is-pretrained-validation .feature-method-picker,.is-pretrained-validation .ml-fixed-feature-card,.is-pretrained-validation .ml-model-rows{opacity:.58}
.ml-pretrained-models{grid-column:1/-1;padding:12px 14px;border:1px solid #cfe4df;border-radius:10px;background:#f8fcfb}
.ml-pretrained-models[hidden]{display:none!important}
.ml-pretrained-models>div:first-child{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ml-pretrained-models>div:first-child>span{color:#667b7d;font-size:12px}
.ml-pretrained-models .tools-row{margin-left:auto}
.ml-pretrained-models .checks{display:flex;flex-wrap:wrap;gap:8px}
.ml-pretrained-models .checks label{padding:8px 11px;border:1px solid #d8e5e4;border-radius:9px;background:#fff}
.regression-runbar button.is-running small::before{content:"处理中 · "}
#regressionExecutionStatus[data-state="warning"]{color:#ffd998}
#regressionExecutionStatus[data-state="error"]{color:#ffaaa3}

/* ML model queue: compact hierarchy and consistent control alignment. */
.ml-tuning-strategy[hidden]{display:none!important}
.ml-fixed-feature-card{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:12px 22px;padding:16px 18px;margin-bottom:12px}
.ml-fixed-feature-card>div:first-child{padding-top:2px}.ml-fixed-feature-card>div:first-child strong{font-size:15px}.ml-fixed-feature-card p{margin-top:4px;font-size:12px}
.ml-fixed-feature-checks{padding:0;gap:6px 20px;max-height:118px}

.ml-tuning-strategy{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:18px;margin:12px 0;padding:15px 18px}
.ml-tuning-title{align-items:flex-start;margin:0}.ml-tuning-title>div{min-width:0}.ml-tuning-title p{line-height:1.45}.ml-tuning-title .access-badge{margin-top:1px}
.ml-tuning-controls{grid-template-columns:minmax(210px,.9fr) minmax(210px,.9fr) minmax(180px,.8fr) minmax(210px,1fr);gap:10px 24px}
.ml-tuning-controls label,.ml-tuning-controls>div{justify-content:flex-start}.ml-tuning-controls label{display:grid;grid-template-columns:max-content minmax(110px,150px)}
.ml-tuning-controls select{width:100%}
.ml-tuning-controls .ml-tuning-metric{grid-template-columns:max-content minmax(190px,240px)}.ml-tuning-metric select{min-height:44px;padding:8px 12px;font-weight:700}
.ml-tuning-hint{display:grid!important;grid-template-columns:max-content minmax(190px,260px);align-items:center}.ml-tuning-hint strong{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #d3e2e1;border-radius:9px;background:#fff;color:#27595b;font-size:13px}

.feature-final-summary{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:8px 18px;padding:15px 18px;margin-bottom:12px}
.feature-final-summary>div:first-child{display:grid;align-content:start;gap:3px;justify-content:stretch}.feature-final-summary>div:first-child span{font-size:12px;color:var(--muted)}
.feature-final-summary dl{gap:5px}.feature-final-summary dl>div{grid-template-columns:100px minmax(0,1fr);align-items:center;min-height:26px}.feature-final-summary .is-final{padding-top:6px}

.ml-model-rows{gap:14px}
.ml-model-row{position:relative;gap:0;padding:16px 18px 15px;border-radius:12px;border-color:#d7e5e5;box-shadow:0 2px 8px rgba(30,72,72,.035)}
.ml-model-row::before{content:"";position:absolute;left:-1px;top:15px;bottom:15px;width:3px;border-radius:0 3px 3px 0;background:#18a798}
.ml-model-main{display:grid;grid-template-columns:minmax(240px,300px) minmax(300px,390px) max-content 42px;justify-content:start;gap:14px 20px;align-items:center}
.ml-model-main>label{display:flex;align-items:center;gap:9px;margin:0;min-width:0}
.ml-model-main>label>span{flex:0 0 auto;font-size:12px;color:#4e6365;font-weight:700}.ml-model-main input,.ml-model-main select{min-height:40px}
.ml-model-main .ml-model-name,.ml-model-main .ml-model-algorithm{min-width:0;width:100%}
.ml-model-shap-choice{justify-content:center;padding:0 4px!important}
.ml-param-heading{display:flex;align-items:center;justify-content:flex-start;gap:22px;margin:13px 0 0;padding:11px 0 9px;border-top:1px solid #e3ecec}.ml-param-heading .row-label{flex:0 0 auto;font-size:14px;font-weight:800}
.ml-param-mode-control{display:flex;align-items:center;gap:9px}.ml-param-mode-control>span{font-size:12px;color:#53686a;font-weight:700}
.ml-param-mode-buttons{display:inline-flex;align-items:center;padding:3px;border:1px solid #cedfdf;border-radius:9px;background:#f3f8f8}
.ml-param-mode-buttons button{min-height:32px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:#53686a;box-shadow:none;font-size:12px;font-weight:700}
.ml-param-mode-buttons button:hover{background:#e8f3f1}.ml-param-mode-buttons button.active{background:#fff;color:#087f77;box-shadow:0 1px 5px rgba(27,72,72,.14)}
.ml-param-mode-buttons small{margin-left:3px;color:#b7652a;font-size:10px}
.ml-param-context{display:flex;align-items:center;gap:8px;min-width:0;padding-left:16px;border-left:1px solid #d8e5e4}.ml-param-context strong{flex:0 0 auto;color:#087f77;font-size:12px}.ml-param-context span{overflow:hidden;color:#657a7c;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.ml-param-common,.ml-advanced-params>div{display:grid;grid-template-columns:repeat(4,minmax(250px,320px));justify-content:start;gap:10px 24px;align-items:center}
.ml-param-inline .ml-param-common>label,.ml-param-inline .ml-advanced-params>div>label{display:grid;grid-template-columns:max-content minmax(110px,180px);justify-content:start;align-items:center;gap:9px;width:auto}
.ml-param-inline .parameter-title{max-width:none;line-height:1.35}
.ml-param-inline .ml-param-input,.ml-param-inline select.ml-param-input{width:100%;max-width:none}
.ml-param-grid-input{width:100%!important;max-width:none!important}
.ml-advanced-params{margin-top:11px;padding-top:9px}.ml-advanced-params summary{margin:0}.ml-advanced-params[open] summary{margin-bottom:10px}

@media(max-width:1350px){
  .ml-tuning-strategy{grid-template-columns:1fr}.ml-tuning-title{align-items:center}.ml-tuning-controls{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .ml-model-main{grid-template-columns:minmax(220px,280px) minmax(280px,1fr) max-content 42px;gap:12px}
  .ml-param-common,.ml-advanced-params>div{grid-template-columns:repeat(3,minmax(250px,320px))}
}
@media(max-width:980px){
  .ml-model-main{grid-template-columns:1fr 1fr}.ml-model-shap-choice{justify-content:flex-start}.ml-param-common,.ml-advanced-params>div{grid-template-columns:repeat(2,minmax(250px,1fr))}
  .ml-param-heading{flex-wrap:wrap}.ml-param-context{width:100%;padding:0;border:0}
  .feature-final-summary{grid-template-columns:1fr}.feature-final-summary>div:first-child{display:flex}
}
@media(max-width:680px){
  .ml-fixed-feature-card,.ml-tuning-strategy{grid-template-columns:1fr}.ml-tuning-controls,.ml-param-common,.ml-advanced-params>div,.ml-model-main{grid-template-columns:1fr}
  .ml-tuning-controls label{display:flex}.ml-model-row{padding:14px}.ml-model-main>label{display:grid;grid-template-columns:90px minmax(0,1fr)}.ml-param-heading{align-items:flex-start;flex-direction:column;gap:8px}.ml-param-mode-control{width:100%;justify-content:space-between}.ml-param-mode-buttons{max-width:100%;overflow-x:auto}.ml-param-context{width:100%;padding:0;border:0}.ml-param-common,.ml-advanced-params>div{grid-template-columns:1fr;width:100%}.ml-param-inline .ml-param-common>label,.ml-param-inline .ml-advanced-params>div>label{grid-template-columns:minmax(100px,1fr) 150px;width:100%}
}
#regressionExecutionStatus[data-state="completed"]{color:#a8ead8}

/* 2026-08-20 unified Studio UI pass
   Keep the workflow hierarchy concise, place related controls on one row and
   collapse predictably from desktop to tablet and mobile. */
.ml-stage-nav,
.regression-flow{
  gap:10px;
  margin:12px 0 16px;
}
.ml-stage-nav button,
.regression-flow>button{
  min-height:58px;
  padding:10px 14px;
}
.ml-stage-nav b,
.regression-flow>button>b{
  flex:0 0 32px;
  width:32px;
  height:32px;
}
.ml-stage-nav span,
.regression-flow>button strong{
  font-size:14px;
  line-height:1.3;
}
.ml-stage-nav small,
.regression-flow>button small{
  display:none!important;
}

/* The English eyebrow repeated the Chinese section title and added noise. */
.clustering-variable-block .compact-head>.eyebrow{
  display:none;
}
.clustering-variable-block .compact-head{
  margin-bottom:10px;
}
.clustering-variable-block .compact-head p{
  margin:2px 0 0;
  font-size:12px;
  line-height:1.45;
}
.analysis-primary-action{
  justify-content:flex-end;
}

/* Related actions stay together and align to the title they operate on. */
.ml-task-strategy-head,
.ml-card-heading,
.regression-card-head,
.regression-block-builder-head,
.section-inline-head,
.feature-result-section-head{
  align-items:center;
}
.ml-task-strategy-head>button,
.ml-card-heading .tools-row,
.regression-card-actions,
.regression-block-builder-head>.tools-row,
.analysis-primary-action>button{
  flex:0 0 auto;
  margin:0;
}
.regression-card-actions,
.regression-block-builder-head>.tools-row,
.ml-pretrained-models .tools-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.regression-card-actions button,
.regression-block-builder-head>.tools-row button,
.ml-pretrained-models .tools-row button{
  white-space:nowrap;
}

/* Compact label/value rows: labels no longer float far above oversized fields. */
.stats-dataset-version-bar .ml-dataset-version-field,
.ml-validation-grid>label,
.regression-field-grid>label,
.clustering-settings>label,
.pca-settings>label{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-rows:none;
  align-items:center;
  gap:8px 10px;
  min-height:44px;
}
.stats-dataset-version-bar .ml-dataset-version-field>span,
.ml-validation-grid>label>span,
.regression-field-grid>label>span,
.clustering-settings>label>.parameter-title,
.pca-settings>label>.parameter-title{
  margin:0;
  white-space:nowrap;
}
.stats-dataset-version-bar .ml-dataset-version-field>select,
.ml-validation-grid>label>input,
.ml-validation-grid>label>select,
.regression-field-grid>label>input,
.regression-field-grid>label>select,
.clustering-settings>label>input,
.clustering-settings>label>select,
.pca-settings>label>input,
.pca-settings>label>select{
  grid-column:2;
  width:100%;
  min-width:0;
  height:42px;
  min-height:42px;
}
.clustering-settings>label,
.cluster-strategy-switch{
  min-height:52px;
}
.cluster-strategy-switch{
  align-items:center;
}
.cluster-strategy-switch .setting-switch{
  min-width:0;
}

/* Keep strategy summary, evidence and its actions visually connected. */
.ml-task-strategy{
  grid-template-columns:minmax(240px,.9fr) minmax(0,1.6fr) auto;
  align-items:center;
  padding:14px 16px;
}
.ml-task-strategy-head{
  grid-column:1;
}
.ml-task-strategy>p{
  grid-column:2;
  font-size:12px;
  line-height:1.45;
}
.ml-task-strategy-facts{
  grid-column:1/3;
}
.ml-task-strategy #applyMlStrategyBtn{
  grid-column:3;
  grid-row:1/3;
  align-self:center;
}
.ml-task-strategy-warnings{
  grid-column:1/-1;
}

/* Tablet: use two-column groups without creating very long controls. */
@media(max-width:1100px){
  .ml-stage-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .regression-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ml-task-strategy{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}
  .ml-task-strategy-head{grid-column:1}
  .ml-task-strategy>p{grid-column:2}
  .ml-task-strategy-facts{grid-column:1/-1}
  .ml-task-strategy #applyMlStrategyBtn{grid-column:1/-1;grid-row:auto;justify-self:end}
}

/* Narrow screens: retain an interactive single-row step strip, then stack
   form label/value pairs only when horizontal space is genuinely constrained. */
@media(max-width:700px){
  .ml-stage-nav,
  .regression-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(158px,1fr));
    overflow-x:auto;
    padding:0 0 7px;
    scroll-snap-type:x proximity;
  }
  .regression-flow{
    grid-template-columns:repeat(3,minmax(185px,1fr));
  }
  .ml-stage-nav button,
  .regression-flow>button{
    scroll-snap-align:start;
  }
  .stats-dataset-version-bar .ml-dataset-version-field,
  .ml-validation-grid>label,
  .regression-field-grid>label,
  .clustering-settings>label,
  .pca-settings>label{
    grid-template-columns:1fr;
    gap:5px;
  }
  .stats-dataset-version-bar .ml-dataset-version-field>select,
  .ml-validation-grid>label>input,
  .ml-validation-grid>label>select,
  .regression-field-grid>label>input,
  .regression-field-grid>label>select,
  .clustering-settings>label>input,
  .clustering-settings>label>select,
  .pca-settings>label>input,
  .pca-settings>label>select{
    grid-column:1;
  }
  .ml-task-strategy{
    grid-template-columns:1fr;
  }
  .ml-task-strategy-head,
  .ml-task-strategy>p,
  .ml-task-strategy-facts,
  .ml-task-strategy #applyMlStrategyBtn,
  .ml-task-strategy-warnings{
    grid-column:1;
  }
  .ml-task-strategy #applyMlStrategyBtn{
    width:100%;
    justify-self:stretch;
  }
  .ml-task-strategy-fact-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .ml-task-strategy-fact-row > strong{
    padding-top:0;
  }
  .regression-card-head,
  .regression-block-builder-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .regression-card-actions,
  .regression-block-builder-head>.tools-row{
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
  }
  .analysis-primary-action{
    align-items:stretch;
  }
}

.regression-result-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;padding:17px 19px;border:1px solid #d6e8e4;border-radius:15px;background:linear-gradient(135deg,#f3faf8,#fff)}
.regression-result-summary>div:first-child{display:grid;gap:4px}.regression-result-summary strong{font-size:17px}.regression-result-summary p{margin:0;color:#6a7976;font-size:12px}
.regression-result-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.regression-result-metrics span{display:grid;gap:3px;min-width:92px;padding:8px 10px;border-radius:10px;background:#eaf5f2;color:#60706d;font-size:11px}.regression-result-metrics b{color:#173b36;font-size:13px}
.regression-result-table{margin-bottom:14px;border:1px solid #dfe8e6;border-radius:13px;background:#fff;overflow:hidden}.regression-result-table>header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #e8efed;background:#fafcfc}.regression-result-table>header>div{display:flex;align-items:center;gap:9px}.regression-result-table>header span{padding:4px 6px;border-radius:6px;background:#e5f4f1;color:#087f77;font-size:10px;font-weight:900}.regression-result-table>header small{color:#73817f}.regression-result-table-body{overflow:auto}
@media(max-width:760px){.regression-result-summary{align-items:stretch;flex-direction:column}.regression-result-metrics{justify-content:flex-start}.regression-result-metrics span{flex:1}}

/* Diagnostic performance: two-stage model/output workflow. */
.roc-analysis-flow{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.roc-stage-panel[hidden]{display:none!important}
.roc-stage-panel{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;gap:18px;padding:4px 2px 0}
.roc-stage-panel>*{grid-column:1/-1!important;grid-row:auto!important;grid-area:auto!important;min-width:0;width:100%;box-sizing:border-box}
.roc-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #dfe9ec}
.roc-task-heading h3{margin:3px 0 4px;font-size:19px}.roc-task-heading p{margin:0}
.roc-stage-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #dfe9ec}
.roc-stage-actions #addRocModelRowBtn,.roc-stage-actions #backRocModelsBtn{margin-right:auto}
.roc-evaluation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.roc-evaluation-grid>label{display:grid;gap:7px}.roc-evaluation-grid>label>span{font-size:13px;font-weight:800;color:#263e45}
.roc-output-model-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:#eef8f6;border-color:#cfe5e1}
.roc-output-model-summary span{color:#5f7479;text-align:right}
.roc-output-picker{margin:0;padding:15px;border:1px solid #d5e5e8;border-radius:14px;background:#fbfdfd}
.roc-output-picker legend{padding:0 8px;font-weight:800;color:#18353d}
.roc-output-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.roc-output-checks>label{display:flex;align-items:flex-start;gap:10px;min-width:0;min-height:84px;padding:13px;border:1px solid #d8e6e8;border-radius:12px;background:#fff;cursor:pointer;overflow:hidden}
.roc-output-checks>label:has(input:checked){border-color:#42aaa2;background:#edf9f7;box-shadow:0 5px 14px rgba(18,119,111,.07)}
.roc-output-checks input[type="checkbox"]{position:static!important;display:block!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;margin:3px 0 0!important;padding:0!important;opacity:1!important}
.roc-output-checks span{display:grid;flex:1 1 auto;min-width:0;gap:4px;margin:0!important}.roc-output-checks strong,.roc-output-checks small{display:block;min-width:0;overflow-wrap:anywhere}.roc-output-checks strong{font-size:14px}.roc-output-checks small{color:#6c7f84;line-height:1.4}
@media(max-width:900px){.roc-evaluation-grid,.roc-output-checks{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.roc-analysis-flow{grid-template-columns:repeat(2,minmax(180px,1fr))}.roc-evaluation-grid,.roc-output-checks{grid-template-columns:1fr}.roc-output-model-summary,.roc-stage-actions{align-items:stretch;flex-direction:column}.roc-output-model-summary span{text-align:left}.roc-stage-actions button{width:100%;margin:0!important}}

/* Result contract: shared completeness and provenance view for every analysis. */
.result-contract { margin: 18px 0; padding: 18px; border: 1px solid #cfe2e5; border-radius: 16px; background: #fbfefe; }
.result-contract-state { padding: 7px 12px; border-radius: 999px; color: #53666b; background: #edf3f4; font-weight: 800; }
.result-contract-state.is-complete { color: #087970; background: #e4f7f3; }
.result-contract-state.is-incomplete { color: #b54532; background: #fff0ec; }
.result-contract-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 18px; }
.result-contract-summary > div { padding: 12px 14px; border-radius: 12px; background: #eef6f6; }
.result-contract-summary span { display: block; color: #60747a; font-size: 12px; }
.result-contract-summary strong { display: block; margin-top: 3px; color: #087970; font-size: 22px; }
.result-contract-warning { padding: 11px 13px; border-left: 3px solid #db5d43; color: #9d3828; background: #fff2ef; }
.result-contract-group { margin-top: 18px; }
.result-contract-group h4, .result-contract-trace h4 { margin: 0 0 9px; }
.result-contract-group h4 small { color: #6c7e83; font-weight: 500; }
.result-contract-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.result-contract-item { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; padding: 11px 12px; border: 1px solid #d7e5e7; border-radius: 11px; background: #fff; }
.result-contract-item > div small { display: block; margin-top: 2px; color: #7a8b90; }
.result-contract-item > span { padding: 4px 8px; border-radius: 999px; color: #5f7075; background: #edf2f3; font-size: 12px; font-weight: 700; }
.result-contract-item > em { position: absolute; right: 12px; bottom: 7px; color: #a35134; font-size: 10px; font-style: normal; }
.result-contract-item > em.optional { color: #7c8b90; }
.result-contract-item.is-available { border-color: #9bd9d3; background: #f2fbf9; }
.result-contract-item.is-available > span { color: #087970; background: #dcf4ef; }
.result-contract-item.is-missing { border-color: #efb2a7; background: #fff7f5; }
.result-contract-item.is-missing > span { color: #b43b28; background: #ffe6e1; }
.result-contract-item.is-not_requested, .result-contract-item.is-omitted { opacity: .68; }
.result-contract-trace { margin-top: 20px; padding-top: 15px; border-top: 1px solid #dbe8e9; }
.result-contract-trace ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.result-contract-trace li { padding: 7px 10px; border-radius: 9px; background: #f0f4f5; color: #64767b; }
.result-contract-trace li.captured { background: #e6f7f3; color: #087970; }
.result-contract-trace li span { margin-right: 5px; font-weight: 900; }
@media (max-width: 900px) {
  .result-contract-summary, .result-contract-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .result-contract-summary, .result-contract-grid { grid-template-columns: 1fr; }
}
.task-execution-progress {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid #cfe1e1;
  border-radius: 16px;
  background: linear-gradient(135deg, #f3fbf9, #f5f8ff);
}
.task-execution-progress > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.task-execution-progress > header div { display: flex; align-items: baseline; gap: 12px; }
.task-execution-progress > header span { font-weight: 700; }
.task-execution-progress > header strong { color: #087f78; font-size: 22px; }
.task-execution-progress > header small { color: #60757d; }
.task-recovery-notice { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; padding: 9px 11px; border: 1px solid #b8ded8; border-radius: 10px; background: #eaf8f5; color: #315e5a; font-size: 12px; }
.task-recovery-notice b { flex: 0 0 auto; color: #087970; }
.result-task-compact .task-recovery-notice { grid-column: 1; margin: 2px 0 0; }
.task-overall-progress { height: 10px; overflow: hidden; border-radius: 999px; background: #dcebea; }
.task-overall-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f8f88, #36bfb3); transition: width .25s ease; }
.task-output-kind-progress { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.task-output-kind-progress span { padding: 4px 9px; border-radius: 999px; background: #e3f3f0; color: #087f78; font-size: 12px; font-weight: 700; }
.task-stage-list { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.task-stage-list li { display: flex; align-items: flex-start; gap: 6px; color: #71838a; font-size: 12px; line-height: 1.25; }
.task-stage-list li i { flex: 0 0 9px; width: 9px; height: 9px; margin-top: 3px; border-radius: 50%; background: #c9d6d9; }
.task-stage-list li.is-completed { color: #087f78; }
.task-stage-list li.is-completed i { background: #0f8f88; }
.task-stage-list li.is-running { color: #102e35; font-weight: 700; }
.task-stage-list li.is-running i { background: #e0a326; box-shadow: 0 0 0 4px #f8ebc7; }
.task-output-progress { margin-top: 14px; border-top: 1px solid #d7e6e6; padding-top: 12px; }
.task-output-progress summary { cursor: pointer; font-weight: 700; }
.task-output-progress summary span { margin-left: 6px; color: #087f78; }
.task-output-progress > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.task-output-progress article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 10px 12px; border: 1px solid #d9e6e8; border-radius: 10px; background: #fff; }
.task-output-progress article div { min-width: 0; }
.task-output-progress article strong, .task-output-progress article small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-output-progress article small { margin-top: 3px; color: #71838a; }
.task-output-progress article > span { color: #60757d; }
.task-output-progress article.is-completed > span { color: #087f78; }
.task-output-progress article.is-failed { border-color: #efb4ae; background: #fff7f6; }
.task-output-progress article.is-failed > span, .task-output-progress article em { color: #c74639; }
.task-output-progress article em { grid-column: 1 / -1; font-style: normal; font-size: 12px; }
.task-execution-progress > footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; }
@media (max-width: 1000px) {
  .task-stage-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .task-output-progress > div { grid-template-columns: 1fr; }
}
.task-output-progress {
  margin: 8px 0;
  padding: 8px 10px;
  border: 1px solid var(--line, #d8e5e8);
  border-radius: 10px;
  background: #f7fbfb;
}
.task-output-progress > summary { cursor: pointer; font-weight: 700; color: #075e59; }
.task-output-progress-list { display: grid; gap: 5px; margin-top: 8px; }
.task-output-progress-item { display: flex; justify-content: space-between; gap: 12px; padding: 5px 7px; border-radius: 7px; background: #fff; }
.task-output-progress-item small { color: #647780; text-align: right; }
.task-output-progress-item.is-completed { border-left: 3px solid #168c82; }
.task-output-progress-item.is-failed { border-left: 3px solid #d75b4a; background: #fff7f5; }
.task-output-progress-item.is-running { border-left: 3px solid #d9a329; background: #fffaf0; }
.task-output-progress-item.is-cancelled { border-left: 3px solid #8a9aa2; background: #f4f7f8; }
.task-cancellation-note { margin: 6px 0 0; color: #5d7078; font-size: 13px; }

/* Report export: one guided flow with a clear final action. */
.report-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.report-panel-head > div { min-width: 0; }
.report-panel-head > button { flex: 0 0 auto; }
.report-panel .report-export-layout { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: start; }
.report-content-overview { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(520px, 1.3fr); align-items: center; gap: 24px; padding: 18px 20px; background: linear-gradient(120deg, #f3fbf9, #f4f7ff); }
.report-content-overview h3 { margin: 3px 0 5px; }
.report-content-overview p { margin: 0; }
.report-step-kicker { display: block; color: #087f78; font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.report-content-overview .paper-summary-mini { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: 10px; margin: 0; }
.report-content-overview .paper-summary-mini span { display: grid; gap: 4px; min-height: 58px; padding: 11px 13px; border: 1px solid #d6e8e6; border-radius: 11px; background: rgba(255, 255, 255, .85); color: #64777d; }
.report-content-overview .paper-summary-mini b { color: #087f78; font-size: 22px; line-height: 1; }
.report-builder-card { display: grid; gap: 16px; padding: 18px 20px; }
.report-template-row { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: end; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid #e0ebeb; }
.report-template-row label { display: grid; gap: 4px; }
.report-template-row label strong { font-size: 15px; }
.report-template-row select { width: 100%; }
.report-draft-panel { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.report-config-section { border-color: #d8e7e8 !important; background: #fbfdfd !important; }
.report-export-footer { position: sticky; bottom: 12px; z-index: 6; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 16px 18px; border: 1px solid #bcded9; border-radius: 14px; background: rgba(245, 252, 250, .96); box-shadow: 0 12px 28px rgba(17, 80, 75, .12); backdrop-filter: blur(10px); }
.report-export-footer > div:first-child { display: grid; gap: 3px; }
.report-export-footer > div:first-child > span { color: #65787d; font-size: 12px; }
.report-export-actions { display: grid !important; grid-template-columns: repeat(2, minmax(190px, 1fr)); gap: 10px; padding: 0 !important; border: 0 !important; }
.report-export-actions button { min-height: 48px; white-space: nowrap; }
.report-export-status { margin-top: 6px; color: #64777d; font-size: 12px; font-weight: 700; }
.report-export-status.is-loading { color: #9b6a05; }
.report-export-status.is-success { color: #087f78; }
.report-export-status.is-error { color: #c14636; }
.report-export-status.is-loading::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 7px; border: 2px solid #e9d39d; border-top-color: #bd810e; border-radius: 50%; vertical-align: -1px; animation: report-export-spin .8s linear infinite; }
.report-export-footer .links { margin: 3px 0 0; }
.report-export-footer .links:empty { display: none; }
.report-export-footer .links a { color: #087f78; font-size: 12px; font-weight: 800; }
@keyframes report-export-spin { to { transform: rotate(360deg); } }
@media (max-width: 1000px) {
  .report-content-overview { grid-template-columns: 1fr; }
  .report-content-overview .paper-summary-mini { grid-template-columns: repeat(4, minmax(92px, 1fr)); }
  .report-template-row { grid-template-columns: 1fr; }
  .report-export-footer { position: static; grid-template-columns: 1fr; }
  .report-export-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  .report-panel-head { align-items: flex-start; flex-direction: column; }
  .report-config-primary-fields { grid-template-columns: 1fr; }
  .report-content-overview .paper-summary-mini { grid-template-columns: 1fr 1fr; }
  .report-export-actions { grid-template-columns: 1fr; }
  .report-export-actions button { width: 100%; }
}

/* Result-scoped AI assistant. It never receives the complete task payload. */
.ai-assistant-drawer { position: fixed; right: 24px; bottom: 98px; z-index: 1200; width: min(430px, calc(100vw - 32px)); height: min(680px, calc(100vh - 130px)); background: #fff; border: 1px solid #dbe4f0; border-radius: 20px; box-shadow: 0 22px 60px rgba(15, 23, 42, .22); display: grid; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto auto; padding: 18px; gap: 10px; overflow: hidden; }
.ai-assistant-drawer[hidden] { display: none; }
.ai-assistant-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ai-assistant-portrait { width: 54px; height: 54px; object-fit: contain; flex: 0 0 auto; filter: drop-shadow(0 6px 9px rgba(37, 99, 235, .16)); }
.ai-assistant-head .ai-assistant-identity { display: grid; gap: 3px; flex: 1; padding-top: 5px; }
.ai-assistant-head strong { font-size: 18px; }
.ai-assistant-head span { color: #64748b; font-size: 12px; }
.ai-assistant-head .icon-button { border: 0; background: #f1f5f9; border-radius: 9px; width: 34px; height: 34px; font-size: 22px; cursor: pointer; }
.ai-assistant-context { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #cfe1f5; border-radius: 11px; background: #f7fbff; }
.ai-assistant-context[hidden] { display: none; }
.ai-assistant-context > div { display: grid; gap: 2px; min-width: 0; flex: 1; }
.ai-assistant-context strong { color: #174a73; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-assistant-context span { color: #64748b; font-size: 11px; line-height: 1.35; }
.ai-assistant-context button { flex: 0 0 auto; border: 0; background: transparent; color: #2563eb; font-size: 11px; padding: 4px; cursor: pointer; }
.ai-conversation-toolbar { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ai-conversation-toolbar button { border: 1px solid #d7e1ed; border-radius: 8px; background: #fff; color: #31516e; padding: 5px 7px; font-size: 11px; cursor: pointer; }
.ai-conversation-toolbar span { margin-left: auto; color: #64748b; font-size: 10px; white-space: nowrap; }
.ai-history-panel { max-height: 190px; overflow: auto; border: 1px solid #dbe4f0; border-radius: 10px; background: #f8fafc; padding: 9px; display: grid; gap: 8px; }
.ai-history-panel[hidden] { display: none; }
.ai-history-settings { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 11px; color: #475569; }
.ai-history-settings label { display: inline-flex; align-items: center; gap: 4px; }
.ai-history-settings select, .ai-history-settings button { border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; padding: 4px 6px; font-size: 11px; }
.ai-history-list { display: grid; gap: 5px; }
.ai-history-item { display: grid; grid-template-columns: 1fr auto; gap: 4px; border-radius: 7px; }
.ai-history-item.active { background: #eaf3ff; }
.ai-history-item button { border: 0; background: transparent; color: #334155; text-align: left; padding: 5px; cursor: pointer; }
.ai-history-item button:first-child { display: grid; gap: 1px; min-width: 0; }
.ai-history-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.ai-history-item span { color: #94a3b8; font-size: 9px; }
.ai-assistant-messages { overflow: auto; display: flex; flex-direction: column; gap: 12px; padding: 4px 2px; }
.ai-assistant-empty { margin: auto 12px; padding: 18px; border-radius: 12px; background: linear-gradient(145deg, #f8fbff, #f5fdfc); color: #64748b; line-height: 1.7; display: grid; justify-items: center; text-align: center; gap: 5px; }
.ai-assistant-empty img { width: 132px; height: 132px; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(37, 99, 235, .13)); }
.ai-assistant-empty strong { color: #0f3d64; font-size: 16px; }
.ai-assistant-empty span { max-width: 300px; }
.ai-message { max-width: 88%; border-radius: 12px; padding: 10px 12px; line-height: 1.65; font-size: 14px; display: flex; align-items: flex-start; gap: 8px; }
.ai-message > img { width: 30px; height: 30px; object-fit: contain; flex: 0 0 auto; }
.ai-message strong { display: block; margin-bottom: 3px; font-size: 12px; }
.ai-message.user { align-self: flex-end; background: #2563eb; color: #fff; }
.ai-message.assistant { align-self: flex-start; background: #f1f5f9; color: #0f172a; }
.ai-prompt-chips { display: flex; align-items: center; gap: 6px; overflow-x: auto; min-height: 32px; padding: 1px; }
.ai-prompt-chips button {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px;
  white-space: nowrap;
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 15px;
  padding: 0 10px;
  color: #334155;
  font-size: 12px;
  line-height: 28px;
  box-shadow: none;
  transform: none;
  cursor: pointer;
}
.ai-prompt-chips button:hover { background: #f8fbff; border-color: #9fb9d5; box-shadow: none; transform: none; }
.ai-assistant-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; }
.ai-assistant-form textarea { height: 76px; min-height: 76px; max-height: 76px; resize: none; overflow-y: auto; border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px; font: inherit; }
.ai-assistant-form button { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 50%; background: #2563eb; color: #fff; cursor: pointer; }
.ai-assistant-form button span { display: block; font-size: 27px; font-weight: 500; line-height: 1; transform: translateY(-1px); }
.ai-assistant-form button:disabled { opacity: .6; cursor: wait; }
.ai-assistant-form #aiAssistantStop { width: auto; min-width: 52px; height: 36px; min-height: 36px; padding: 0 10px; border-radius: 9px; background: #fff1f2; color: #be123c; border: 1px solid #fecdd3; font-size: 12px; }
.ai-message-sources { margin-top: 8px; padding: 7px 9px; border: 1px solid #dbeafe; border-radius: 9px; background: #f8fbff; font-size: 11px; }
.ai-message-sources summary { cursor: pointer; color: #1d4ed8; font-weight: 700; }
.ai-message-sources div { margin-top: 6px; color: #475569; overflow-wrap: anywhere; line-height: 1.5; }
.ai-message-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.ai-message-actions button, .ai-retry { width: auto !important; height: 30px !important; padding: 0 10px !important; border-radius: 8px !important; font-size: 11px !important; }
.ai-context-scope-modal .modal, .ai-action-preview-modal .modal { width: min(620px, calc(100vw - 28px)); max-height: min(760px, calc(100vh - 28px)); overflow: auto; }
.ai-context-source-list { display: grid; gap: 8px; margin: 14px 0; max-height: 330px; overflow: auto; }
.ai-context-source-list label { display: flex; gap: 10px; align-items: flex-start; padding: 11px; border: 1px solid #dbe4f0; border-radius: 10px; background: #f8fafc; cursor: pointer; }
.ai-context-source-list input { margin-top: 3px; }
.ai-context-source-list span { display: grid; gap: 3px; min-width: 0; }
.ai-context-source-list small { color: #64748b; overflow-wrap: anywhere; }
.ai-action-diff { padding: 12px; margin: 14px 0; border: 1px solid #a7f3d0; border-radius: 11px; background: #f0fdf4; }
.ai-action-diff span { display: block; color: #047857; font-size: 11px; font-weight: 800; }
.ai-action-diff p { max-height: 180px; overflow: auto; white-space: pre-wrap; color: #334155; }
.ai-action-undo-notice { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 1400; display: flex; align-items: center; gap: 14px; padding: 11px 14px; border-radius: 11px; background: #0f172a; color: #fff; box-shadow: 0 12px 32px rgba(15,23,42,.28); }
.ai-action-undo-notice button { width: auto; min-height: 30px; padding: 0 10px; border: 0; border-radius: 7px; background: #fff; color: #1d4ed8; font-weight: 800; }
.ai-assistant-trigger { display: inline-flex; align-items: center; gap: 5px; }
.ai-assistant-trigger img { width: 25px; height: 25px; object-fit: contain; margin: -5px 0; }
.ai-assistant-launcher { position: fixed; right: 24px; bottom: 22px; z-index: 1190; width: 88px; height: 88px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: none; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; cursor: grab; touch-action: none; user-select: none; -webkit-user-drag: none; transition: transform .18s ease, filter .18s ease; }
button.ai-assistant-launcher,
button.ai-assistant-launcher:hover,
button.ai-assistant-launcher:active,
button.ai-assistant-launcher:focus { border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; }
.ai-assistant-launcher:hover { transform: translateY(-3px) scale(1.06); filter: drop-shadow(0 9px 12px rgba(15, 71, 120, .2)); }
.ai-assistant-launcher.is-dragging { cursor: grabbing; transform: scale(1.04); filter: drop-shadow(0 11px 15px rgba(15, 71, 120, .24)); transition: none; }
.ai-assistant-launcher:focus-visible { transform: scale(1.05); filter: drop-shadow(0 9px 12px rgba(15, 71, 120, .24)); }
.ai-assistant-launcher img { display: block; width: 88px; height: 88px; object-fit: contain; pointer-events: none; filter: drop-shadow(0 5px 8px rgba(37, 99, 235, .18)); }
@media (max-width: 640px) {
  .ai-assistant-drawer { right: 10px; bottom: 84px; width: calc(100vw - 20px); height: min(680px, calc(100vh - 104px)); border-radius: 16px; }
  .ai-assistant-launcher { right: 14px; bottom: 14px; width: 76px; height: 76px; }
  .ai-assistant-launcher img { width: 76px; height: 76px; }
}
.regression-artifact-writeback{margin:18px 0;padding:18px;border:1px solid #b9ddd9;border-radius:16px;background:linear-gradient(135deg,#f4fbfa,#f8fbff);box-shadow:0 10px 30px rgba(24,95,104,.06)}
.regression-artifact-writeback>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.regression-artifact-writeback>header div{display:grid;gap:4px}.regression-artifact-writeback>header strong{font-size:17px;color:#123b55}.regression-artifact-writeback>header small{color:#52717f}
.regression-artifact-controls{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px}.regression-artifact-controls label{display:grid;gap:6px;font-size:13px;color:#45606d}.regression-artifact-controls select,.regression-artifact-controls input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #c9dbe2;border-radius:10px;background:#fff;color:#15354a}
.regression-artifact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.regression-artifact-actions button{min-height:38px;padding:0 15px;border:1px solid #b7ccd5;border-radius:10px;background:#fff;color:#1f5364;font-weight:700}.regression-artifact-actions button.primary{border-color:#168d86;background:#168d86;color:#fff}.regression-artifact-actions button:disabled{cursor:not-allowed;opacity:.5}
.regression-artifact-status{margin:12px 0 0;color:#58717e;font-size:13px}.regression-artifact-status[data-state="ready"]{color:#0a756e}.regression-artifact-status[data-state="completed"]{color:#08724f;font-weight:700}.regression-artifact-status[data-state="error"]{color:#b43b36}
@media(max-width:900px){.regression-artifact-controls{grid-template-columns:1fr}}

/* Keep the merge workbench layout above later generic .block/grid rules. */
#processMatchStep .dataset-merge-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}
#processMatchStep .dataset-merge-sources{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:18px}
#processMatchStep .dataset-merge-sources>label{display:block;width:100%;min-width:0}
#processMatchStep .dataset-merge-sources select{width:100%}
#processMatchStep .dataset-merge-settings{display:grid}
@media(max-width:820px){#processMatchStep .dataset-merge-intro{align-items:stretch;flex-direction:column}#processMatchStep .dataset-merge-sources{grid-template-columns:1fr}#processMatchStep .dataset-merge-symbol{justify-self:center}}

.data-reshape-panel{display:grid;gap:16px}
.data-reshape-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.data-reshape-head h3{margin:3px 0 4px}
.data-reshape-mode{flex:0 0 auto}
.data-reshape-settings{display:grid;gap:15px}
.data-reshape-settings.hidden{display:none}
.data-reshape-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.data-reshape-grid>div{min-width:0;padding:14px;border:1px solid #d8e6e8;border-radius:12px;background:#f9fbfc}
.reshape-variable-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow:auto;padding:4px}
.reshape-variable-option{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 9px;border:1px solid #dce7e9;border-radius:8px;background:#fff;font-size:12px}
.reshape-variable-option input{flex:0 0 16px!important;width:16px!important;height:16px;margin:0;padding:0}
.reshape-variable-option span{display:block;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.data-reshape-name-grid input,.data-reshape-settings select,.data-reshape-settings input:not([type="checkbox"]){width:100%}
.data-reshape-split-switch{width:max-content;max-width:100%}
.data-reshape-preview{padding:16px;border:1px solid rgba(24,147,139,.28);border-radius:14px;background:linear-gradient(135deg,rgba(232,248,246,.85),rgba(244,248,255,.9))}
.data-reshape-preview.empty{color:var(--muted)}
.data-reshape-preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.data-reshape-preview-metrics article{padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.82)}
.data-reshape-preview-metrics span,.data-reshape-preview-metrics strong{display:block}
.data-reshape-preview-metrics span{color:var(--muted);font-size:13px}
.data-reshape-preview-metrics strong{margin-top:4px;font-size:17px}
.data-reshape-preview p{margin:12px 0 0}
.data-reshape-actions{display:flex;justify-content:flex-end;gap:10px}
.data-reshape-tab .process-runbar{display:none}
@media(max-width:820px){.data-reshape-head{align-items:stretch;flex-direction:column}.data-reshape-grid,.data-reshape-preview-metrics{grid-template-columns:1fr}.reshape-variable-list{grid-template-columns:1fr}}

.event-definition-panel{display:grid;gap:16px}
.event-definition-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.event-definition-head h3{margin:3px 0 4px}
.event-definition-notice{flex:0 0 auto;padding:8px 11px;border:1px solid #e5c98e;border-radius:999px;background:#fff8e8;color:#806322;font-size:11px;font-weight:800}
.event-definition-identity,.event-definition-secondary,.event-definition-names{align-items:end}
.event-definition-identity select,.event-definition-identity input,.event-definition-secondary select,.event-definition-secondary input,.event-definition-names select,.event-definition-names input{width:100%}
.event-definition-advanced{border:1px solid #dce8e8;border-radius:11px;background:#fbfdfd;overflow:hidden}.event-definition-advanced>summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;cursor:pointer;list-style:none}.event-definition-advanced>summary::-webkit-details-marker{display:none}.event-definition-advanced>summary:after{content:'⌄';margin-left:auto;color:#718488;font-size:14px}.event-definition-advanced[open]>summary:after{transform:rotate(180deg)}.event-definition-advanced>summary span{font-size:12px;font-weight:800;color:#24464a}.event-definition-advanced>summary small{color:#718488;font-size:11px}.event-definition-advanced>summary:hover{background:#f2f8f7}.event-definition-advanced>.event-definition-secondary{padding:12px 12px 0;border-top:1px solid #e5eeee}.event-definition-advanced>.event-definition-names{padding:12px}
.event-definition-rule-workbench{display:grid;gap:12px;padding:15px;border:1px solid #d8e6e8;border-radius:13px;background:#f8fbfb}
.event-definition-rule-head,.event-condition-group-head{display:flex;align-items:center;gap:10px}
.event-definition-rule-head>div{margin-right:auto}
.event-definition-rule-head p{margin:3px 0 0}
.event-definition-rule-head label,.event-condition-group-head label{display:flex;align-items:center;gap:7px;margin:0}
.event-definition-rule-head label span,.event-condition-group-head label span{margin:0;white-space:nowrap}
.event-definition-rule-head select,.event-condition-group-head select{width:auto;min-width:160px}
.event-condition-groups{display:grid;gap:12px}
.event-condition-group{display:grid;gap:10px;padding:12px;border:1px solid #d5e4e6;border-radius:11px;background:#fff}
.event-condition-group-head strong{margin-right:auto;color:#16484e}
.event-condition-list{display:grid;gap:8px}
.event-condition-row{display:grid;grid-template-columns:minmax(135px,1fr) minmax(150px,1fr) minmax(115px,.7fr) minmax(130px,.8fr) minmax(120px,.7fr) 38px;gap:8px;align-items:end}
.event-condition-row select,.event-condition-row input{width:100%;min-width:0}
.event-condition-row label{display:block}.event-condition-row label span{display:none}
.event-condition-row .icon-button{align-self:end}
.event-definition-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.event-definition-output-grid>div,.event-definition-output-grid>details{min-width:0;padding:14px;border:1px solid #d8e6e8;border-radius:12px;background:#f9fbfc}
.event-variable-picker{padding:0!important;overflow:hidden}.event-variable-picker>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;min-height:54px;padding:9px 12px;cursor:pointer;list-style:none}.event-variable-picker>summary::-webkit-details-marker{display:none}.event-variable-picker>summary span{font-size:13px;font-weight:800;color:#24464a}.event-variable-picker>summary small{grid-column:1;color:#718488;font-size:10px}.event-variable-picker>summary b{grid-column:2;grid-row:1/3;padding:3px 7px;border-radius:999px;background:#e6f4f1;color:#087f77;font-size:10px}.event-variable-picker[open]>summary{border-bottom:1px solid #e3ecec;background:#fff}.event-variable-picker>.event-variable-list{margin:8px}
.event-variable-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:210px;overflow:auto;padding:4px}
.event-variable-list label{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 9px;border:1px solid #dce7e9;border-radius:8px;background:#fff;font-size:12px}
.event-variable-list input{flex:0 0 16px!important;width:16px!important;height:16px;margin:0;padding:0}
.event-variable-list span{display:block;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-variable-list label.disabled{opacity:.45;background:#f1f4f5}
.event-definition-preview{padding:16px;border:1px solid rgba(24,147,139,.28);border-radius:14px;background:linear-gradient(135deg,rgba(232,248,246,.85),rgba(244,248,255,.9))}
.event-definition-preview.empty{color:var(--muted)}
.event-definition-preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.event-definition-preview-metrics article{padding:11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.84)}
.event-definition-preview-metrics span,.event-definition-preview-metrics strong{display:block}
.event-definition-preview-metrics span{color:var(--muted);font-size:12px}
.event-definition-preview-metrics strong{margin-top:3px;font-size:17px}
.event-definition-preview p{margin:11px 0 0}
.event-definition-actions{position:sticky;z-index:4;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 12px;border:1px solid #d8e6e8;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -5px 18px rgba(24,67,72,.06);backdrop-filter:blur(8px)}.event-definition-actions>span{margin-right:auto;color:#718488;font-size:11px}.event-definition-actions button{min-height:34px;padding:6px 12px;font-size:12px}
.data-event-definition-tab .process-runbar{display:none}
@media(max-width:1000px){.event-condition-row{grid-template-columns:1fr 1fr 1fr}.event-condition-row .icon-button{grid-column:3}}
@media(max-width:820px){.event-definition-head,.event-definition-rule-head,.event-condition-group-head{align-items:stretch;flex-direction:column}.event-definition-notice{align-self:flex-start}.event-definition-output-grid,.event-definition-preview-metrics{grid-template-columns:1fr}.event-variable-list,.event-condition-row{grid-template-columns:1fr}.event-definition-rule-head label,.event-condition-group-head label{display:grid}.event-definition-rule-head select,.event-condition-group-head select{width:100%}.event-condition-row .icon-button{grid-column:auto}.event-definition-actions{align-items:stretch;flex-wrap:wrap}.event-definition-actions>span{flex:1 0 100%}.event-definition-actions button{flex:1}.event-definition-advanced>summary{align-items:flex-start;flex-direction:column}}

/* Correlation matrix: existing defaults stay compact; professional inference is progressively disclosed. */
.correlation-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:12px 14px;border:1px solid #d7e6e8;border-radius:12px;background:#f3f8f8}
.correlation-mode-bar>div:first-child{display:grid;gap:3px}.correlation-mode-bar strong{color:#173f45}.correlation-mode-bar small,.correlation-professional-heading small,.correlation-professional-panel label>span,.correlation-covariate-panel small,.correlation-output-builder small{color:#6c8086;font-size:12px}
.correlation-primary-grid{align-items:stretch}.correlation-run-card{display:flex;flex-direction:column}.correlation-run-card button{align-self:flex-end;margin-top:auto}
.correlation-professional-panel{display:grid;gap:14px;margin-top:14px;padding:16px;border:1px solid rgba(17,139,131,.32);border-radius:14px;background:linear-gradient(145deg,#f7fbfb,#f3f8fa)}
.correlation-professional-panel[hidden]{display:none!important}.correlation-professional-heading{display:flex;justify-content:space-between}.correlation-professional-heading>div{display:grid;gap:3px}.correlation-professional-heading strong{font-size:18px;color:#143e43}
.correlation-professional-summary>label,.correlation-advanced-grid>label,.correlation-custom-output .grid>label{display:grid;gap:6px;min-width:0}.correlation-professional-summary select,.correlation-advanced-grid select,.correlation-advanced-grid input,.correlation-custom-output select{width:100%;min-width:0}
.correlation-covariate-panel,.correlation-output-builder{padding:13px;border:1px solid #d7e6e8;border-radius:12px;background:#fff}.correlation-covariate-panel[hidden],.correlation-custom-output[hidden]{display:none!important}.correlation-covariate-panel .checks{grid-template-columns:repeat(4,minmax(0,1fr));max-height:180px;overflow:auto;margin-top:10px}
.correlation-advanced-details{overflow:hidden;border:1px solid #d7e6e8;border-radius:12px;background:#fff}.correlation-advanced-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.correlation-advanced-details>summary::-webkit-details-marker{display:none}.correlation-advanced-details>summary>span:first-child{display:grid;gap:2px}.correlation-advanced-details>summary>span:last-child{color:#087f77;font-size:12px;font-weight:800}.correlation-advanced-details[open]>summary{border-bottom:1px solid #e1ebed}.correlation-advanced-grid{padding:14px}
.correlation-output-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.correlation-output-presets>label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #d8e5e7;border-radius:10px;background:#fbfdfd;cursor:pointer}.correlation-output-presets>label:has(input:checked){border-color:#22a59b;background:#eaf7f5}.correlation-output-presets input{flex:0 0 auto;width:16px!important;margin-top:3px}.correlation-output-presets span{display:grid;gap:3px}.correlation-custom-output{display:grid;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #e0eaec}.correlation-output-checks{grid-template-columns:repeat(4,minmax(0,1fr))}.correlation-diagonal-toggle>span:last-child{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #d5e1e5;border-radius:8px;background:#fff}.correlation-diagonal-toggle input{width:16px!important}
@media(max-width:1050px){.correlation-professional-summary,.correlation-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.correlation-covariate-panel .checks,.correlation-output-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.correlation-mode-bar{align-items:stretch;flex-direction:column}.correlation-output-presets,.correlation-professional-summary,.correlation-advanced-grid,.correlation-covariate-panel .checks,.correlation-output-checks{grid-template-columns:1fr!important}}

/* Professional correlation workbench: a short three-step flow with live compatibility feedback. */
#correlationStandardWorkspace[hidden],.correlation-step-panel:not(.active),.correlation-professional-actions>[hidden],[data-correlation-dependency][hidden]{display:none!important}
.correlation-step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.correlation-step-nav button{display:flex;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border:1px solid #d8e6e8;border-radius:11px;background:#fff;color:#526b72;text-align:left;box-shadow:none}
.correlation-step-nav button:hover{transform:none;box-shadow:none;border-color:#9ccfca}.correlation-step-nav button.active{border-color:#1aa79d;background:#ecf8f6;color:#114b4c}
.correlation-step-nav b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e5f3f1;color:#087f77;font-size:12px}.correlation-step-nav span{display:grid;gap:2px;font-weight:800}.correlation-step-nav small{color:#71858a;font-size:10px;font-weight:500}
.correlation-professional-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.correlation-professional-main{min-width:0}.correlation-step-panel.active{display:grid;gap:12px}
.correlation-step-heading{display:flex;align-items:center;gap:10px;padding:3px 2px}.correlation-step-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#daf2ef;color:#087f77;font-size:12px;font-weight:900}.correlation-step-heading>div{display:grid;gap:2px}.correlation-step-heading strong{color:#163f45}.correlation-step-heading small{color:#708389;font-size:11px}
.correlation-variable-card{padding:12px!important}.correlation-variable-card .section-inline-head{margin-bottom:7px}.correlation-variable-card .checks{grid-template-columns:repeat(4,minmax(0,1fr));max-height:180px;overflow:auto;padding:5px}
.correlation-method-card{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);gap:12px;padding:13px;border:1px solid #d7e6e8;border-radius:12px;background:#fff}.correlation-method-card>div:first-child{display:grid;align-content:start;gap:4px}.correlation-method-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.correlation-method-options>label{display:flex;align-items:flex-start;gap:7px;padding:9px;border:1px solid #d9e6e8;border-radius:9px;background:#fbfdfd;cursor:pointer}.correlation-method-options>label:has(input:checked){border-color:#20a69c;background:#eaf7f5}.correlation-method-options input{flex:0 0 15px!important;width:15px!important;margin-top:3px}.correlation-method-options span{display:grid;gap:2px}.correlation-method-options small{font-size:10px}.correlation-method-card>label{grid-column:2;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:8px}.correlation-method-card>label[hidden]{display:none!important}.correlation-method-card select{width:100%}
.correlation-inference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.correlation-inference-grid article{display:grid;gap:5px;padding:11px;border:1px solid #d7e6e8;border-radius:11px;background:#fff}.correlation-inference-grid article small{min-height:28px;color:#718389;font-size:10px;line-height:1.4}.correlation-inference-grid select{width:100%}
.correlation-covariate-panel{position:relative}.correlation-covariate-panel .section-inline-head{margin:0}.correlation-covariate-panel .section-inline-head>div:last-child{display:flex;align-items:center;gap:8px}.correlation-covariate-popover{position:absolute;top:calc(100% + 7px);right:0;z-index:20;width:min(560px,100%);padding:12px;border:1px solid #abd8d4;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(19,67,72,.16);overflow:auto;overscroll-behavior:contain}.correlation-covariate-popover.is-portal{position:fixed;z-index:1200;right:auto;transform-origin:top right;animation:correlation-popover-in .14s ease-out}.correlation-covariate-popover.is-portal[data-placement="top"]{transform-origin:bottom right}.correlation-covariate-popover[hidden]{display:none!important}.correlation-covariate-popover .checks{grid-template-columns:repeat(3,minmax(0,1fr));max-height:220px;margin:0;overflow:auto}.correlation-covariate-popover.is-portal .checks{max-height:none;overflow:visible}@keyframes correlation-popover-in{from{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.correlation-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.correlation-output-builder{display:grid;gap:11px}.correlation-output-presets{margin-top:0}.correlation-main-output{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:9px;background:#edf8f6;color:#12635e}.correlation-option-locked{position:relative;opacity:.52;cursor:not-allowed!important}.correlation-option-locked[data-lock-reason]::after{content:attr(data-lock-reason);display:block;margin-top:3px;color:#a65c37;font-size:9px;line-height:1.2}
.correlation-plan-summary{position:sticky;top:12px;display:grid;gap:7px;padding:14px;border:1px solid #c7e0dd;border-radius:12px;background:linear-gradient(145deg,#f4fbfa,#fff)}.correlation-plan-summary>strong{font-size:17px;color:#153e44}.correlation-plan-summary-items{display:grid;gap:6px}.correlation-plan-summary #correlationPlanSummaryItems{display:grid;gap:6px}.correlation-plan-summary #correlationPlanSummaryItems>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:8px;background:#fff}.correlation-plan-summary #correlationPlanSummaryItems span{color:#71848a;font-size:10px}.correlation-plan-summary #correlationPlanSummaryItems strong{font-size:11px;text-align:right;overflow-wrap:anywhere}.correlation-plan-summary>p{margin:3px 0 0;padding:8px;border-radius:8px;background:#e7f6f2;color:#08776f;font-size:10px;line-height:1.45}.correlation-plan-summary>p.invalid{background:#fff1ed;color:#b04431}
.correlation-professional-actions{position:sticky;bottom:0;z-index:12;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:10px 12px;border:1px solid #d4e5e5;border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 -5px 18px rgba(24,67,72,.07);backdrop-filter:blur(8px)}.correlation-professional-actions>span{margin-right:auto;color:#687d82;font-size:11px}.correlation-professional-actions button{min-height:36px;padding:7px 13px}
@media(max-width:1100px){.correlation-professional-workspace{grid-template-columns:1fr}.correlation-plan-summary{position:static;grid-template-columns:auto 1fr;align-items:start}.correlation-plan-summary #correlationPlanSummaryItems{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.correlation-plan-summary>p{grid-column:1/-1}.correlation-inference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.correlation-variable-card .checks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.correlation-step-nav{grid-template-columns:1fr}.correlation-method-card{grid-template-columns:1fr}.correlation-method-card>label{grid-column:auto;grid-template-columns:1fr}.correlation-method-options,.correlation-inference-grid,.correlation-output-presets,.correlation-variable-card .checks,.correlation-covariate-popover .checks{grid-template-columns:1fr}.correlation-plan-summary #correlationPlanSummaryItems{grid-template-columns:1fr 1fr}.correlation-professional-actions{flex-wrap:wrap}.correlation-professional-actions>span{flex:1 0 100%;order:-1}}
.deep-learning-workspace{display:grid;gap:16px;padding:18px}.dl-capability-banner,.dl-runbar,.dl-result-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line,#d7e3e5);border-radius:14px;background:#f7fbfb}.dl-capability-banner h3{margin:4px 0}.status-pill{padding:8px 12px;border-radius:999px;background:#e5f6f2;color:#08756d;font-weight:700;white-space:nowrap}.status-pill.error{background:#fff0ec;color:#a23a2b}.dl-config-grid{display:grid;grid-template-columns:minmax(220px,.35fr) 1fr;gap:14px}.dl-config-grid>label,.dl-config-grid fieldset,.dl-config-grid details{padding:14px;border:1px solid var(--line,#d7e3e5);border-radius:12px}.dl-config-grid details{grid-column:1/-1}.dl-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;max-height:180px;overflow:auto}.dl-feature-grid label{display:flex;gap:7px;align-items:center}.dl-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding-top:12px}.dl-advanced-grid label{display:grid;gap:6px}.dl-result-summary{justify-content:flex-start;flex-wrap:wrap}.dl-result-summary a{color:#087f77;font-weight:700}.dl-roadmap .ready{background:#dff5ef;color:#08756d}@media(max-width:900px){.dl-config-grid{grid-template-columns:1fr}.dl-capability-banner,.dl-runbar{align-items:flex-start;flex-direction:column}}
.dl-imaging-classifier{display:grid;gap:14px;padding:16px;border:1px solid var(--line,#d7e3e5);border-radius:14px;background:#fbfefe}.dl-image-controls,.dl-image-actions{display:grid;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(130px,.7fr)) auto;gap:10px;align-items:end}.dl-image-controls label,.dl-image-actions label,.dl-image-label-grid label{display:grid;gap:5px}.dl-image-label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:240px;overflow:auto;padding:10px;border:1px solid var(--line,#d7e3e5);border-radius:10px}.dl-image-actions{grid-template-columns:auto minmax(260px,1fr) auto}@media(max-width:900px){.dl-image-controls,.dl-image-actions{grid-template-columns:1fr}}

/* Studio dual-mode shell and dataset-backed figure workbench. */
.studio-mode-shell{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:13px 16px;border:1px solid #cfe1e2;border-radius:15px;background:linear-gradient(135deg,#f5fbfa,#f7f9fc);box-shadow:0 8px 24px rgba(28,76,82,.06)}
.studio-mode-shell>div:first-child{display:grid;gap:3px}.studio-mode-shell>div:first-child strong{color:#153e44;font-size:15px}.studio-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid #d3e2e4;border-radius:13px;background:#eaf2f3}
.studio-mode-switch button{display:grid;gap:2px;min-width:190px;padding:9px 15px;border:0;border-radius:9px;background:transparent;color:#526a70;text-align:left;box-shadow:none}.studio-mode-switch button:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.72)}.studio-mode-switch button.active,.studio-mode-switch button[aria-selected="true"]{background:#fff;color:#0c716c;box-shadow:0 4px 14px rgba(25,80,85,.11)}.studio-mode-switch span{font-weight:850}.studio-mode-switch small{font-size:10px;color:#74878c}
.chart-workbench-page{display:grid;gap:16px}.chart-workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 2px}.chart-workbench-head h3{margin:4px 0;font-size:25px}.chart-workbench-head p{max-width:720px;margin:0;color:var(--muted)}.chart-workbench-trust{display:grid;gap:3px;flex:0 0 auto;padding:10px 13px;border:1px solid #b7ddd8;border-radius:11px;background:#eaf8f5;color:#136c66}.chart-workbench-trust span{font-size:10px;color:#527772}
.chart-workbench-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}.chart-workbench-controls{display:grid;gap:13px;min-width:0}.chart-step{display:grid;gap:14px;margin:0!important}.chart-step>header{display:flex;align-items:center;gap:11px}.chart-step>header>b{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#dff3ef;color:#087a72}.chart-step>header>div{display:grid;gap:2px}.chart-step>header small{color:#71858a;font-size:10px}
.chart-type-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.chart-type-picker button{display:grid;gap:4px;min-height:74px;padding:11px;border:1px solid #d6e3e5;border-radius:11px;background:#fff;color:#25464c;text-align:left;box-shadow:none}.chart-type-picker button:hover{transform:none;box-shadow:none;border-color:#91ccc6}.chart-type-picker button.active{border-color:#15958c;background:#eaf8f5;box-shadow:0 0 0 2px rgba(21,149,140,.09)}.chart-type-picker small{color:#72858a;font-size:10px}
.chart-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.chart-field-grid label{display:grid;align-content:start;gap:6px;min-width:0}.chart-field-grid label.wide{grid-column:1/-1}.chart-field-grid label[hidden]{display:none!important}.chart-field-grid label>span{color:#476167;font-size:12px;font-weight:700}.chart-field-grid input,.chart-field-grid select{width:100%;min-width:0}.chart-field-grid input[type="color"]{height:42px;padding:4px}.chart-toggle{display:flex!important;align-items:center!important;align-self:end;min-height:42px;padding:9px 11px;border:1px solid #d8e5e7;border-radius:9px;background:#fbfdfd}.chart-toggle input{flex:0 0 16px!important;width:16px!important}.chart-inline-status{padding:9px 11px;border-radius:9px;background:#f0f6f7;color:#526d73;font-size:11px}
.chart-action-bar{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 12px;border:1px solid #cfe0e2;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -5px 20px rgba(25,66,72,.08);backdrop-filter:blur(8px)}.chart-action-bar>span{margin-right:auto;color:#657a80;font-size:11px}.chart-action-bar>span[data-state="error"]{color:#ae3e32}.chart-action-bar>span[data-state="ready"]{color:#08776f;font-weight:750}
.chart-preview-column{position:sticky;top:12px;display:grid;gap:13px;min-width:0}.chart-preview-card,.chart-saved-card{overflow:hidden;border:1px solid #d5e3e5;border-radius:14px;background:#fff;box-shadow:0 8px 25px rgba(25,67,72,.06)}.chart-preview-card>header,.chart-saved-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e1eaec}.chart-preview-card>header>div{display:grid;gap:2px}.chart-preview-card>header>span{padding:4px 8px;border-radius:999px;background:#eef6f5;color:#47706d;font-size:10px}.chart-preview-canvas{display:grid;place-items:center;min-height:360px;padding:12px;background:linear-gradient(145deg,#f8fbfb,#fff)}.chart-preview-canvas>div{display:grid;gap:6px;padding:35px;text-align:center;color:#71858a}.chart-preview-canvas img{display:block;width:100%;max-width:100%;max-height:520px;object-fit:contain}.chart-preview-meta{display:flex;flex-wrap:wrap;gap:6px;padding:10px 13px;border-top:1px solid #e5edef}.chart-preview-meta span{padding:4px 7px;border-radius:999px;background:#f0f5f6;color:#60767b;font-size:9px}.chart-export-links{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 13px 13px}.chart-export-links a{display:grid;gap:1px;padding:8px;border:1px solid #d5e4e5;border-radius:8px;color:#176a68;text-align:center;text-decoration:none}.chart-export-links span{font-size:11px;font-weight:850}.chart-export-links small{font-size:9px}.chart-saved-card>header span{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#e4f4f1;color:#08776f;font-size:11px;font-weight:800}.chart-saved-card>div{display:grid;max-height:260px;overflow:auto;padding:8px}.chart-saved-card button{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px;border:0;border-bottom:1px solid #edf1f2;border-radius:7px;background:#fff;color:#24464b;text-align:left;box-shadow:none}.chart-saved-card button:hover{transform:none;background:#f3f9f8;box-shadow:none}.chart-saved-card button>span{display:grid;gap:2px;min-width:0}.chart-saved-card button strong,.chart-saved-card button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-saved-card button small{color:#74878b;font-size:9px}.chart-saved-card button b{color:#0b8078;font-size:10px}
@media(max-width:1080px){.chart-workbench-layout{grid-template-columns:1fr}.chart-preview-column{position:static;grid-template-columns:1fr 1fr}.chart-preview-canvas{min-height:300px}}
@media(max-width:760px){.studio-mode-shell{align-items:stretch;flex-direction:column}.studio-mode-switch{grid-template-columns:1fr}.studio-mode-switch button{min-width:0}.chart-workbench-head{flex-direction:column}.chart-workbench-trust{width:100%}.chart-type-picker,.chart-field-grid,.chart-preview-column{grid-template-columns:1fr}.chart-field-grid label.wide{grid-column:auto}.chart-action-bar{align-items:stretch;flex-wrap:wrap}.chart-action-bar>span{flex:1 0 100%}.chart-action-bar button{flex:1}.chart-export-links{grid-template-columns:repeat(2,1fr)}.chart-preview-canvas{min-height:250px}}
@media (min-width:981px) and (max-width:1700px){body:not(.platform-mode) .topbar.platform-topbar{min-height:160px}}
.workflow-edit-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #d6e5e6;border-radius:11px;background:#f5f9fa}.workflow-edit-toolbar button{min-height:34px;padding:6px 11px;font-size:11px}.workflow-edit-toolbar span{margin-left:auto;color:#6c8186;font-size:10px}.workflow-edit-toolbar button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.workflow-edit-toolbar{align-items:stretch;flex-wrap:wrap}.workflow-edit-toolbar button{flex:1}.workflow-edit-toolbar span{flex:1 0 100%;margin:0}}
.dl-graph-designer{display:grid;gap:13px;padding:16px;border:1px solid #cfe2e2;border-radius:14px;background:linear-gradient(145deg,#f7fbfb,#fff)}.dl-graph-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dl-graph-head h3{margin:4px 0}.dl-graph-head p{max-width:760px;margin:0;color:#667c82}.dl-graph-canvas{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:22px;min-height:142px;padding:18px;overflow:auto;border:1px solid #d9e6e7;border-radius:12px;background-color:#f9fcfc;background-image:radial-gradient(#c9dddd 1px,transparent 1px);background-size:18px 18px}.dl-graph-node{position:relative;display:grid;align-content:start;gap:5px;min-width:135px;padding:12px;border:1px solid #9dccca;border-radius:11px;background:#fff;box-shadow:0 7px 18px rgba(25,78,82,.08)}.dl-graph-node:not(:last-child)::after{content:"→";position:absolute;top:50%;right:-23px;color:#148b83;font-size:19px;font-weight:900;transform:translateY(-50%)}.dl-graph-node small{color:#6f8489;font-size:9px}.dl-graph-node code{padding:4px 6px;border-radius:6px;background:#edf6f5;color:#176a66;font-size:9px}.dl-graph-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dl-graph-actions>span{margin-right:auto;color:#657b80;font-size:11px}.dl-graph-actions>span[data-state="ready"]{color:#08776f;font-weight:750}.dl-graph-actions>span[data-state="error"]{color:#ad3f32}.dl-graph-actions button:disabled{opacity:.45}@media(max-width:760px){.dl-graph-head,.dl-graph-actions{align-items:stretch;flex-direction:column}.dl-graph-actions>span{margin:0}.dl-graph-canvas{grid-template-columns:1fr}.dl-graph-node:not(:last-child)::after{content:"↓";top:auto;right:50%;bottom:-24px;transform:translateX(50%)}}
.billing-order-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf3f4;color:#52696e;font-size:12px;font-weight:800}.billing-order-status.status-paid{background:#dff5ef;color:#08756d}.billing-order-status.status-pending{background:#fff4d9;color:#8b6415}.billing-order-status.status-failed,.billing-order-status.status-refunded{background:#fff0ec;color:#a23a2b}.billing-order-table td>small{display:block;max-width:190px;margin-top:5px;color:#8a5a52}.billing-order-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.wallet-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:16px;border:1px solid #cfe3e2;border-radius:10px;background:linear-gradient(135deg,#f1faf8,#fff)}.wallet-summary>div:first-child{display:grid;gap:3px}.wallet-summary span,.wallet-summary small{color:#647b80}.wallet-summary strong{font-size:27px;color:#08786f}.wallet-recharge{display:flex;gap:7px;flex-wrap:wrap}.single-purchase-catalog{margin:16px 0}.single-purchase-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.single-purchase-head h4{margin:3px 0}.single-purchase-head>span{color:#6b7f83;font-size:12px}.single-purchase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.single-purchase-grid article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;border:1px solid #d8e6e7;border-radius:9px;background:#fbfdfd}.single-purchase-grid article>div{display:grid;gap:3px}.single-purchase-grid small{color:#708387}.single-purchase-grid b{color:#08786f}.commerce-dialog{max-width:560px}.commerce-items{display:grid;gap:8px}.commerce-items>div,.commerce-total{display:flex;align-items:center;justify-content:space-between;gap:14px}.commerce-items>div{padding:10px 0;border-bottom:1px solid #e3ecec}.commerce-total{margin-top:10px;padding:14px;border-radius:9px;background:#edf8f6}.commerce-total strong{font-size:25px;color:#08786f}.commerce-wallet-choice{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;border:1px solid #d8e6e7;border-radius:9px}.commerce-wallet-choice span{display:grid;gap:3px}.commerce-wallet-choice small,.commerce-rule{color:#687d81}.commerce-dialog #confirmCommercePurchase{width:100%}@media(max-width:700px){.wallet-summary,.single-purchase-head{align-items:stretch;flex-direction:column}.single-purchase-grid{grid-template-columns:1fr}.single-purchase-grid article{grid-template-columns:1fr auto}.single-purchase-grid article button{grid-column:1/-1}.wallet-recharge button{flex:1}}
.commerce-consent{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:#61777b;font-size:13px}.commerce-consent button{min-height:0;padding:0;border:0;background:none;color:#08786f;font-size:13px;text-decoration:underline}.commerce-consent button:hover{background:none;color:#075f59}
