@import url("https://fonts.googleapis.com/css2?family=Varela+Round&display=swap");

:root {
  --golia-navy: #121b2b;
  --golia-blue: #2f66ad;
  --golia-cyan: #18c4d8;
  --golia-pink: #ec4e8b;
  --golia-yellow: #f3ca45;
  --golia-purple: #7452a8;
  --golia-canvas: #f3f7f8;
  --golia-surface: #ffffff;
  --golia-border: #c9d8de;
  --golia-muted: #647681;
  --golia-shadow: 0 14px 34px rgba(18, 27, 43, .09);
  --golia-shadow-hover: 0 18px 40px rgba(18, 27, 43, .14);
  --golia-radius: 18px;
  --ink: var(--golia-navy);
  --paper: var(--golia-canvas);
  --card: var(--golia-surface);
  --line: var(--golia-border);
  --muted: var(--golia-muted);
  --teal: var(--golia-blue);
  --teal-dark: #234f89;
  --teal-soft: #e6f8fa;
  --blue: var(--golia-blue);
  --purple: var(--golia-purple);
  --shadow: var(--golia-shadow);
  --radius: var(--golia-radius);
}

html { color-scheme: light; scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 5% 0%, rgba(24, 196, 216, .09), transparent 30rem),
    var(--golia-canvas);
  color: var(--golia-navy);
  font-family: "Varela Round", Helvetica, Arial, sans-serif;
}
button, input, select, textarea { font-family: inherit; }
a { color: var(--golia-blue); text-underline-offset: .2em; }
a:hover { color: #234f89; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--golia-navy);
  outline-offset: 3px;
}

/* Shared GO-INFO card and control language. Existing selectors remain intact. */
.card,
.endpoint,
.context-block,
.validation-box,
.parameter-section,
.t3-stack > article,
.t3-dashboard,
.modal-target-change-box {
  border-color: var(--golia-border);
}
.card,
section,
.t3-stack > article,
.t3-dashboard {
  border-radius: var(--golia-radius);
  box-shadow: var(--golia-shadow);
}
.card {
  position: relative;
  overflow: hidden;
}
.card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--golia-cyan), var(--golia-blue), var(--golia-pink));
  pointer-events: none;
}
.card:hover { border-color: color-mix(in srgb, var(--golia-blue) 42%, var(--golia-border)); }

.button,
.primary-link {
  min-height: 42px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.button:hover,
.primary-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(18, 27, 43, .14);
}
.button-primary,
.primary-link {
  border-color: var(--golia-blue);
  background: var(--golia-blue);
  color: #fff;
}
.button-primary:hover,
.primary-link:hover { background: #234f89; color: #fff; }
.button-ghost { background: #fff; border-color: var(--golia-border); color: var(--golia-navy); }

input,
select,
textarea {
  border-color: var(--golia-border);
  border-radius: 10px;
  background: #fff;
  color: var(--golia-navy);
}
input:hover,
select:hover,
textarea:hover { border-color: color-mix(in srgb, var(--golia-blue) 50%, var(--golia-border)); }

/* Endpoint catalogue */
body > main {
  width: min(calc(100% - 40px), 1180px);
  margin-inline: auto;
}
body > main > header {
  border-color: var(--golia-border);
  border-left: 0;
  border-radius: var(--golia-radius);
  box-shadow: var(--golia-shadow);
  position: relative;
  overflow: hidden;
}
body > main > header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--golia-cyan), var(--golia-blue), var(--golia-pink));
}
body > main > header h1 {
  color: var(--golia-navy);
  letter-spacing: -.035em;
}
body > main > header p { color: var(--golia-muted); }
body > main > section {
  border-color: var(--golia-border);
  border-radius: var(--golia-radius);
  box-shadow: var(--golia-shadow);
}
.endpoint {
  position: relative;
  background: #fff;
  border-radius: 14px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.endpoint::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 14px 0 0 14px;
  background: var(--golia-cyan);
}
.endpoint:hover {
  border-color: var(--golia-blue);
  box-shadow: 0 10px 24px rgba(18, 27, 43, .09);
  transform: translateY(-2px);
}
.method {
  border: 1px solid rgba(47, 102, 173, .22);
  background: #edf4fb;
  color: var(--golia-blue);
  border-radius: 999px;
  letter-spacing: .08em;
}
.method.post {
  border-color: rgba(24, 196, 216, .35);
  background: #e6f8fa;
  color: #116a78;
}
.description, .note { color: var(--golia-muted); }

/* Tool workspace header: GO-INFO floating white navigation treatment. */
.topbar {
  position: sticky;
  z-index: 1000;
  top: 10px;
  width: min(calc(100% - 40px), 1180px);
  min-height: 62px;
  margin: 10px auto 0;
  padding: 9px 18px;
  border: 1px solid rgba(47, 102, 173, .2);
  border-bottom-color: rgba(47, 102, 173, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  color: var(--golia-navy);
  box-shadow: 0 10px 28px rgba(18, 27, 43, .13);
  backdrop-filter: blur(12px);
}
.brand-mark {
  border-color: var(--golia-border);
  border-radius: 50%;
  background: #f7fbfc;
}
.brand-mark span { background: var(--golia-cyan); }
.brand-mark span:nth-child(2) { background: var(--golia-blue); }
.brand-mark span:nth-child(3) { background: var(--golia-pink); }
.brand h1 { color: var(--golia-navy); }
.eyebrow {
  color: var(--golia-blue);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.header-actions .tag {
  border: 1px solid rgba(24, 196, 216, .4);
  background: #e6f8fa;
  color: #116a78;
}

.tabs {
  border-bottom-color: var(--golia-border);
  gap: 6px;
}
.tab {
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--golia-navy);
  font-weight: 800;
  letter-spacing: .035em;
}
.tab:hover,
.tab:focus-visible {
  border-color: rgba(243, 202, 69, .6);
  background: #fff8d9;
}
.tab.is-active {
  border-color: rgba(24, 196, 216, .65);
  background: #e6f8fa;
  color: var(--golia-blue);
}
.tab-badge { border-radius: 999px; }

.tag,
.impact-chip,
.context-label,
.status-pulse,
.run-status {
  border-radius: 999px;
}
.metric,
.extrema-item,
.mini-chart-card,
.persona-contribution-card,
.v39-target-card {
  border-color: var(--golia-border);
  border-radius: 14px;
  background: #fff;
}
.metric strong,
.chart-title,
.mini-title { color: var(--golia-navy); }
.chart-host,
.t3-chart,
.persona-contribution-host {
  border-color: var(--golia-border);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f8fbfc);
}

table { border-color: var(--golia-border); }
th {
  background: #edf4fb;
  color: var(--golia-navy);
  font-size: .78rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}
td, th { border-color: var(--golia-border); }
tbody tr:hover { background: #f4fbfc; }

.t3-flow span {
  border-color: rgba(24, 196, 216, .42);
  border-radius: 999px;
  background: #e6f8fa;
  color: var(--golia-navy);
}
.t3-message,
.interpretation-note,
.mechanism-callout,
.v39-background-note {
  border-color: var(--golia-border);
  border-radius: 14px;
}

[role="dialog"],
dialog,
.parameter-help-panel {
  border-radius: var(--golia-radius);
  border-color: var(--golia-border);
  box-shadow: 0 24px 60px rgba(18, 27, 43, .22);
}

@media (max-width: 760px) {
  body > main { width: min(calc(100% - 24px), 1180px); }
  .topbar {
    top: 6px;
    width: calc(100% - 20px);
    min-height: 54px;
    margin-top: 6px;
    padding: 7px 12px;
  }
  .header-actions { gap: 6px; }
  .header-actions .tag { display: none; }
  .tab { min-height: 40px; font-size: 11px; }
}

@media (max-width: 520px) {
  .topbar { border-radius: 18px; }
  .brand-mark { width: 36px; height: 36px; }
  body > main { width: calc(100% - 20px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Batch 06 polish: scope the theme to each page and undo over-broad decoration. */
.catalog-page > main {
  width: min(calc(100% - 40px), 1180px);
  margin-inline: auto;
}
.catalog-page > main > header,
.catalog-page > main > section {
  border: 1px solid var(--golia-border);
  border-radius: var(--golia-radius);
  background: var(--golia-surface);
  box-shadow: var(--golia-shadow);
}
.catalog-page > main > section { overflow: clip; }
.catalog-page .endpoint-list { gap: 12px; }
.catalog-page .endpoint { padding-block: 15px; }
.catalog-page .primary-link { margin-top: 18px; }

/* The earlier generic rules decorated every nested section and constrained Tool 3
   to the landing-page width. Restore the workspace's intentional layout. */
.tool-workspace-page > main {
  width: min(1540px, 100%);
  margin-inline: auto;
}
.tool-workspace-page section {
  border-radius: initial;
  box-shadow: none;
}
.tool-workspace-page .card,
.tool-workspace-page .t3-stack > article,
.tool-workspace-page .t3-dashboard {
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(18, 27, 43, .075);
}
.tool-workspace-page .card {
  overflow: visible;
}
.tool-workspace-page .card::before { content: none; }
.tool-workspace-page .workspace-main > .card,
.tool-workspace-page .workspace-side > .card,
.tool-workspace-page .tab-panel > .card {
  border-top: 3px solid rgba(24, 196, 216, .72);
}
.tool-workspace-page .card:hover {
  border-color: var(--golia-border);
}

/* The original white-on-dark header controls became white-on-white after the
   top bar changed surface. Make every action visible again. */
.tool-workspace-page .topbar {
  top: 8px;
  width: min(calc(100% - 32px), 1540px);
  min-height: 68px;
  padding: 10px clamp(14px, 2vw, 26px);
  border-radius: 18px;
  gap: 18px;
}
.tool-workspace-page .topbar .button-ghost {
  border-color: var(--golia-border);
  background: #fff;
  color: var(--golia-navy);
}
.tool-workspace-page .topbar .button-ghost:hover {
  border-color: var(--golia-blue);
  background: #edf4fb;
  color: var(--golia-blue);
}
.tool-workspace-page .topbar .run-dot {
  background: var(--golia-cyan);
  box-shadow: 0 0 0 4px rgba(24, 196, 216, .14);
}
.tool-workspace-page .header-actions {
  justify-content: flex-end;
  align-items: center;
}
.tool-workspace-page .brand { min-width: 0; }
.tool-workspace-page .brand > div:last-child { min-width: 0; }
.tool-workspace-page .brand h1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Keep dense technical controls readable. Uppercasing every generated button
   created crowding and clipping in narrow cards and action toolbars. */
.tool-workspace-page .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 10px;
  letter-spacing: .01em;
  line-height: 1.25;
  text-transform: none;
}
.tool-workspace-page .button-small {
  min-height: 34px;
  padding: 6px 10px;
}
.tool-workspace-page .button-primary {
  border-color: var(--golia-blue);
  background: var(--golia-blue);
}
.tool-workspace-page .button-primary:hover { background: #234f89; }
.tool-workspace-page .button-full { width: 100%; }

/* Restore breathing room and prevent the sticky navigation from crowding the
   first row of controls while retaining the existing responsive grid logic. */
.tool-workspace-page .control-strip {
  padding-top: 26px;
  gap: 18px;
}
.tool-workspace-page .workspace-grid {
  gap: 22px;
  padding-top: 4px;
}
.tool-workspace-page .card { padding: 22px; }
.tool-workspace-page .card-heading { margin-bottom: 20px; }
.tool-workspace-page .tabs {
  margin-inline: clamp(18px, 3vw, 42px);
  padding: 10px 0 12px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.tool-workspace-page .tab {
  flex: 0 0 auto;
  padding-inline: 14px;
  white-space: nowrap;
}
.tool-workspace-page .tab-panel { padding-top: 22px; }

/* Keep long tables/charts contained without clipping menus, help popovers or
   sticky dialog actions at card boundaries. */
.tool-workspace-page .t3-scroll,
.tool-workspace-page .kpi-table-wrap,
.tool-workspace-page .coefficient-table-wrap,
.tool-workspace-page .weight-table-wrap,
.tool-workspace-page .prior-table-wrap {
  max-width: 100%;
  overflow: auto;
}
.tool-workspace-page .chart-host,
.tool-workspace-page .t3-chart,
.tool-workspace-page .persona-contribution-host {
  max-width: 100%;
  overflow: hidden;
}
.tool-workspace-page .metric,
.tool-workspace-page .mini-chart-card,
.tool-workspace-page .persona-contribution-card,
.tool-workspace-page .v39-target-card {
  box-shadow: none;
}

/* Reduce visual noise inside nested Tool 3 content. */
.tool-workspace-page .parameter-section,
.tool-workspace-page .context-block,
.tool-workspace-page .validation-box,
.tool-workspace-page .modal-target-change-box,
.tool-workspace-page .t3-message,
.tool-workspace-page .interpretation-note,
.tool-workspace-page .mechanism-callout,
.tool-workspace-page .v39-background-note {
  box-shadow: none;
}
.tool-workspace-page th { line-height: 1.3; }
.tool-workspace-page td,
.tool-workspace-page th { vertical-align: top; }
.tool-workspace-page tbody tr:hover { background: #f4fbfc; }

@media (max-width: 980px) {
  .tool-workspace-page .topbar {
    position: relative;
    top: auto;
    align-items: flex-start;
    border-radius: 16px;
  }
  .tool-workspace-page .header-actions { max-width: 52%; }
}

@media (max-width: 760px) {
  .catalog-page > main { width: min(calc(100% - 24px), 1180px); }
  .tool-workspace-page > main { width: 100%; }
  .tool-workspace-page .topbar {
    width: calc(100% - 20px);
    margin-top: 8px;
    padding: 10px 12px;
  }
  .tool-workspace-page .header-actions { max-width: none; }
  .tool-workspace-page .header-actions .tag { display: none; }
  .tool-workspace-page .control-strip { padding-top: 20px; }
  .tool-workspace-page .tabs { margin-inline: 14px; }
  .tool-workspace-page .card { padding: 18px; }
}

@media (max-width: 520px) {
  .catalog-page > main { width: calc(100% - 20px); }
  .tool-workspace-page .topbar {
    align-items: center;
    border-radius: 14px;
  }
  .tool-workspace-page .brand h1 { font-size: 16px; }
  .tool-workspace-page .eyebrow { font-size: 10px; }
  .tool-workspace-page .header-actions { width: 100%; justify-content: stretch; }
  .tool-workspace-page .header-actions .button { flex: 1 1 auto; }
  .tool-workspace-page .button { white-space: normal; }
}

/* Batch 07: second-round alignment and control polish. */
.catalog-page .primary-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid var(--golia-blue);
  border-radius: 999px;
  background: var(--golia-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}
.catalog-page .primary-link::after {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: width .18s ease;
}
.catalog-page .primary-link:hover::after { width: 30px; }
.catalog-page .endpoint {
  overflow: hidden;
  border-radius: 14px;
  box-shadow: inset 4px 0 0 var(--golia-cyan);
}
.catalog-page .endpoint::before { content: none; }
.catalog-page .endpoint:hover {
  box-shadow: inset 4px 0 0 var(--golia-blue), 0 10px 24px rgba(18, 27, 43, .09);
}
.tool-workspace-page .tab {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--golia-muted);
  box-shadow: none;
}
.tool-workspace-page .tab:hover,
.tool-workspace-page .tab:focus-visible {
  border-color: transparent;
  background: transparent;
  color: var(--golia-navy);
}
.tool-workspace-page .tab.is-active {
  border-color: transparent;
  background: transparent;
  color: var(--golia-blue);
  font-weight: 900;
}
.tool-workspace-page .tab.is-active::after {
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--golia-cyan);
}
.tool-workspace-page #modelParametersDialog .parameter-help-panel {
  border: 1px solid var(--golia-border);
  border-radius: 10px;
  background: #f8fbfc;
  box-shadow: none;
}
.tool-workspace-page #modelParametersDialog .parameter-help-panel blockquote {
  border-radius: 0 8px 8px 0;
  background: #fff;
  box-shadow: none;
}
.tool-workspace-page #modelParametersDialog .parameter-section {
  border-radius: 12px;
  box-shadow: none;
}
.tool-workspace-page #modelParametersDialog .parameter-table-scroll { border-radius: 10px; }
.tool-workspace-page .v42-variability-panel {
  overflow: hidden;
  border-color: var(--golia-border);
  border-radius: 14px;
  background: #f5fafb;
  box-shadow: none;
}
.tool-workspace-page .v42-variability-grid label {
  border-color: var(--golia-border);
  border-radius: 10px;
}
.tool-workspace-page select,
.tool-workspace-page select option,
.catalog-page select,
.catalog-page select option {
  font-family: "Varela Round", Helvetica, Arial, sans-serif;
  font-weight: 650;
}
.tool-workspace-page select {
  max-width: 100%;
  text-overflow: ellipsis;
}
.tool-workspace-page .control-field,
.tool-workspace-page .context-block,
.tool-workspace-page .run-status {
  border-radius: 12px;
  box-shadow: 0 3px 12px rgba(18, 27, 43, .045);
}
.tool-workspace-page .details-block,
.tool-workspace-page .t3-scroll,
.tool-workspace-page .t3-chart { border-radius: 12px; }
.tool-workspace-page .parameter-dialog-header,
.tool-workspace-page .modal-apply-bar { box-shadow: none; }
.tool-workspace-page #modelParametersDialog { border-radius: 16px; }
@media (max-width: 520px) {
  .catalog-page .primary-link {
    width: 100%;
    justify-content: center;
  }
  .tool-workspace-page .tab { padding-inline: 11px; }
}

/* Batch 08: Configure target-change cards and native-select consistency. */
.tool-workspace-page .modal-target-change-box {
  overflow: hidden;
  border: 1px solid var(--golia-border);
  border-radius: 14px;
  background: #f8fbfc;
}
.tool-workspace-page .modal-target-change-grid {
  align-items: stretch;
}
.tool-workspace-page .modal-target-change-item,
.tool-workspace-page .v39-target-card {
  overflow: hidden;
  border: 1px solid var(--golia-border);
  border-radius: 12px;
  background: #fff;
  background-clip: padding-box;
  box-shadow: none;
}
.tool-workspace-page .modal-target-change-item > input,
.tool-workspace-page .modal-target-change-item > select,
.tool-workspace-page .v39-target-card input,
.tool-workspace-page .v39-target-card select {
  border-radius: 9px;
}
.tool-workspace-page .modal-target-change-header,
.tool-workspace-page .v39-target-card-head {
  border-radius: 11px 11px 0 0;
}

/* The closed select can be styled reliably. Expanded native option menus are
   rendered by the browser or operating system on some platforms, so their
   typography cannot be guaranteed without replacing the native control. */
.tool-workspace-page select {
  font-family: "Varela Round", Helvetica, Arial, sans-serif !important;
  font-style: normal;
  font-synthesis: none;
}
.tool-workspace-page select option,
.tool-workspace-page select optgroup {
  font-family: "Varela Round", Helvetica, Arial, sans-serif !important;
  font-style: normal;
}

/* Batch 09: retain the shared rounded-section treatment in Tool 3. */
.tool-workspace-page section {
  border-radius: var(--golia-radius);
}

/* Tool 1 uses the established GO-INFO design tokens and component language. */
.tool1-page { margin: 0; min-height: 100vh; }
.tool1-page * { box-sizing: border-box; }
.tool1-header { position: sticky; z-index: 20; top: 10px; display: flex; width: min(calc(100% - 32px), 1420px); align-items: center; justify-content: space-between; gap: 20px; margin: 10px auto 0; padding: 14px 20px; border: 1px solid var(--golia-border); border-radius: var(--golia-radius); background: rgba(255,255,255,.96); box-shadow: var(--golia-shadow); }
.tool1-brand h1 { margin: 2px 0 0; font-size: clamp(1.1rem, 2vw, 1.55rem); }.tool1-brand p { margin: 0; }.tool1-header nav { display: flex; gap: 8px; }
.tool1-main { width: min(calc(100% - 32px), 1420px); margin: 0 auto; padding: 22px 0 64px; }
.tool1-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(500px,.9fr); gap: 30px; align-items: center; padding: 26px; border: 1px solid var(--golia-border); border-radius: var(--golia-radius); background: var(--golia-surface); box-shadow: var(--golia-shadow); }
.tool1-intro h2,.tool1-step-heading h2 { margin: 4px 0 7px; }.tool1-intro p:last-child,.tool1-step-heading p:last-child { margin-bottom: 0; color: var(--golia-muted); line-height: 1.55; }
.tool1-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }.tool1-progress li { display: grid; gap: 5px; justify-items: center; padding: 10px 7px; border: 1px solid var(--golia-border); border-radius: 12px; color: var(--golia-muted); font-size: .72rem; font-weight: 800; }.tool1-progress span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #edf3f5; }.tool1-progress li.is-active { border-color: var(--golia-cyan); background: var(--teal-soft); color: var(--golia-navy); }.tool1-progress li.is-active span { background: var(--golia-blue); color: #fff; }
.tool1-notice { margin: 14px 0; padding: 11px 14px; border: 1px solid var(--golia-border); border-radius: 10px; background: #fff; color: var(--golia-muted); font-size: .78rem; }.tool1-notice.is-success { border-color: #9ed8cf; background: #effaf7; color: #176d60; }.tool1-notice.is-error { border-color: #edb8c6; background: #fff3f6; color: #9a3651; }
.tool1-step { padding: 26px; border: 1px solid var(--golia-border); border-radius: var(--golia-radius); background: var(--golia-surface); box-shadow: var(--golia-shadow); }.tool1-step[hidden] { display: none; }
.tool1-step-heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--golia-border); }.tool1-step-heading .eyebrow { margin: 0; }.tool1-contract-tag { flex: none; padding: 7px 10px; border-radius: 999px; background: var(--teal-soft); color: var(--golia-blue); font: 700 .68rem ui-monospace, monospace; }
.tool1-grid { display: grid; gap: 16px; }.tool1-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }.tool1-grid-persona { grid-template-columns: minmax(260px,.55fr) minmax(500px,1.45fr); }.tool1-stack { display: grid; gap: 14px; }
.tool1-card { min-width: 0; margin: 0 0 16px; padding: 18px; border: 1px solid var(--golia-border); border-radius: 14px; background: #fbfcfd; box-shadow: none; }.tool1-card legend { padding: 0 8px; color: var(--golia-navy); font-size: .9rem; font-weight: 900; }.tool1-card h3 { margin-top: 0; }
.tool1-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.tool1-field-grid-3 { grid-template-columns: 2fr 1fr 1fr; }
.tool1-field { display: grid; gap: 6px; min-width: 0; }.tool1-field > span { color: var(--golia-navy); font-size: .72rem; font-weight: 800; }.tool1-field small,.tool1-field-help { color: var(--golia-muted); font-size: .68rem; line-height: 1.45; }
.tool1-field input,.tool1-field select,.tool1-weight-row input[type="number"] { width: 100%; min-height: 42px; padding: 9px 10px; border: 1px solid var(--golia-border); border-radius: 9px; background: #fff; color: var(--golia-navy); }.tool1-field input[readonly] { background: #eef3f5; color: var(--golia-muted); }
.tool1-component-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }.tool1-component-list article { padding: 13px; border: 1px solid var(--golia-border); border-radius: 10px; background: #fff; }.tool1-component-list strong { font-size: .75rem; }.tool1-component-list p { margin: 5px 0 0; color: var(--golia-muted); font-size: .68rem; line-height: 1.4; }
.tool1-kpi-row { display: grid; grid-template-columns: minmax(240px,1fr) 160px 160px; gap: 14px; align-items: end; padding: 12px 0; border-bottom: 1px solid var(--golia-border); }.tool1-kpi-row:last-child { border-bottom: 0; }.tool1-kpi-row > div:first-child { align-self: center; }.tool1-kpi-row strong,.tool1-kpi-row small { display: block; }.tool1-kpi-row small { margin-top: 4px; color: var(--golia-muted); font-size: .67rem; }
.tool1-weight-list { display: grid; gap: 10px; }.tool1-weight-row { display: grid; grid-template-columns: minmax(140px,1fr) minmax(180px,1.5fr) 90px; gap: 12px; align-items: center; font-size: .73rem; font-weight: 800; }.tool1-weight-row input[type="range"] { accent-color: var(--golia-blue); }.tool1-weight-total { display: flex; justify-content: flex-end; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--golia-border); }
.tool1-persona-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.tool1-persona-card { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--golia-border); border-radius: 10px; background: #fff; color: var(--golia-navy); text-align: left; cursor: pointer; }.tool1-persona-card span { color: var(--golia-muted); font-size: .68rem; }
.tool1-form-actions { position: sticky; z-index: 10; bottom: 10px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--golia-border); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: var(--golia-shadow); }.tool1-form-actions span { margin-right: auto; color: var(--golia-muted); font-size: .74rem; }
.tool1-result-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 16px; }.tool1-result-metrics article { padding: 18px; border: 1px solid var(--golia-border); border-radius: 12px; background: #fff; }.tool1-result-metrics span,.tool1-result-metrics strong { display: block; }.tool1-result-metrics span { color: var(--golia-muted); font-size: .72rem; }.tool1-result-metrics strong { margin-top: 6px; color: var(--golia-blue); font-size: 1.65rem; }.tool1-result-row { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--golia-border); font-size: .75rem; }.tool1-result-row span { color: var(--golia-muted); }
.tool1-table-wrap { overflow: auto; }.tool1-table-wrap table { width: 100%; border-collapse: collapse; }.tool1-table-wrap th,.tool1-table-wrap td { padding: 9px; border-bottom: 1px solid var(--golia-border); font-size: .7rem; text-align: left; }.tool1-empty { padding: 50px 20px; text-align: center; color: var(--golia-muted); }.tool1-raw { margin-top: 16px; border: 1px solid var(--golia-border); border-radius: 12px; background: #fff; overflow: hidden; }.tool1-raw summary { padding: 12px; cursor: pointer; font-weight: 800; }.tool1-raw pre { max-height: 420px; overflow: auto; margin: 0; padding: 14px; border-top: 1px solid var(--golia-border); font-size: .7rem; }
@media(max-width:980px){.tool1-intro,.tool1-grid-2,.tool1-grid-persona{grid-template-columns:1fr}.tool1-component-list{grid-template-columns:repeat(2,1fr)}.tool1-persona-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.tool1-header{position:relative;top:auto;align-items:flex-start;flex-direction:column}.tool1-header nav{width:100%}.tool1-header nav a{flex:1;text-align:center}.tool1-main{width:calc(100% - 20px)}.tool1-intro,.tool1-step{padding:18px}.tool1-progress{grid-template-columns:repeat(2,1fr)}.tool1-step-heading{flex-direction:column}.tool1-field-grid,.tool1-field-grid-3,.tool1-component-list,.tool1-persona-overview,.tool1-result-metrics{grid-template-columns:1fr}.tool1-kpi-row{grid-template-columns:1fr 1fr}.tool1-kpi-row>div:first-child{grid-column:1/-1}.tool1-weight-row{grid-template-columns:1fr 80px}.tool1-weight-row input[type="range"]{grid-column:1/-1;grid-row:2}.tool1-form-actions{flex-wrap:wrap}.tool1-form-actions span{width:100%}}
