:root {
  --brand: #6a0dad;
  --brand-2: #b983ff;
  --ink: #201640;
  --muted: #756c84;
  --line: #e7e0ef;
  --wash: #fbf8ff;
  --paper: #ffffff;
  --green: #58b685;
  --amber: #dca84a;
  --coral: #e8755f;
  --shadow: 0 18px 48px rgba(71, 42, 113, .10);
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; color: var(--ink); background: radial-gradient(circle at 10% 0%, rgba(185,131,255,.18), transparent 28%), #fbf9ff; }
button, input, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.03em; }
h2 { margin-bottom: 8px; font-size: 20px; }
p { color: var(--muted); line-height: 1.5; }

.login-view { display: none; }
body.login-active { min-height: 100vh; overflow-x: hidden; }
body.login-active .app-sidebar,
body.login-active .app-header,
body.login-active .app-main { display: none; }
body.respondent-active .app-sidebar,
body.respondent-active .app-header,
body.respondent-active .app-main,
body.respondent-active .login-view { display: none; }
body.login-active .login-view {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 440px);
  gap: 54px;
  align-items: center;
  padding: clamp(28px, 6vw, 72px);
  background: radial-gradient(circle at 12% 12%, rgba(185,131,255,.24), transparent 28%), linear-gradient(135deg, #fff, #fbf7ff 55%, #f3e9ff);
}

.respondent-view {
  min-height: 100vh;
  display: none;
  padding: clamp(20px, 5vw, 58px);
  background: radial-gradient(circle at 12% 0%, rgba(185,131,255,.22), transparent 30%), linear-gradient(135deg, #fff, #f8f1ff);
}
body.respondent-active .respondent-view { display: block; }
.respondent-shell { max-width: 920px; margin: 0 auto; display: grid; gap: 18px; }
.respondent-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow);
  padding: clamp(18px, 4vw, 32px);
}
.respondent-card img { width: min(280px, 70vw); margin-bottom: 18px; }
.respondent-card > span,
.question-step > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.question-step { display: grid; gap: 16px; }
.question-step h2 { font-size: clamp(24px, 4vw, 36px); line-height: 1.1; }
.likert-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.likert-row label {
  min-height: 76px;
  display: grid;
  place-items: center;
  gap: 4px;
  border: 1px solid #decff0;
  border-radius: 18px;
  background: #fff;
  color: var(--brand);
  font-weight: 900;
  text-align: center;
}
.likert-row label:has(input:checked) {
  background: linear-gradient(135deg, var(--brand), #b983ff);
  color: #fff;
  border-color: transparent;
}
.likert-row input { accent-color: var(--brand); }
.respondent-progress { height: 10px; border-radius: 999px; background: #eee4f7; overflow: hidden; }
.respondent-progress i { display: block; height: 100%; width: var(--progress, 0%); background: linear-gradient(90deg, var(--brand), #d263cf); }
.respondent-actions { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.respondent-free-text {
  min-height: 120px;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
}
.respondent-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.login-brand {
  max-width: 760px;
  display: grid;
  gap: 18px;
}
.login-brand img {
  width: min(520px, 88vw);
  padding: 18px 22px;
  border: 1px solid rgba(231,224,239,.82);
  border-radius: 30px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 18px 46px rgba(71,42,113,.08);
}
.login-brand > span,
.login-card > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.login-brand h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(38px, 6vw, 68px);
  line-height: .98;
  letter-spacing: -.045em;
}
.login-brand p {
  max-width: 560px;
  margin: 0;
  font-size: 17px;
}
.login-bullets {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}
.login-bullets span {
  padding: 9px 12px;
  border: 1px solid #eadcf5;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--ink);
  font-weight: 900;
}
.login-card {
  display: grid;
  gap: 14px;
  padding: 28px;
  border: 1px solid #eadcf5;
  border-radius: 30px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 24px 70px rgba(71,42,113,.14);
}
.login-card h2 {
  margin: 0;
  font-size: 28px;
}
.login-card .primary-button,
.login-card .soft-button {
  width: 100%;
  justify-content: center;
}
.login-card p {
  margin: 2px 0 0;
  font-size: 12px;
}

.app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 8; width: 310px; display: grid; grid-template-rows: auto 1fr; gap: 22px; padding: 24px 20px; border-right: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.96), #f8f1ff); box-shadow: 18px 0 48px rgba(71,42,113,.08); }
.app-header { position: sticky; top: 0; z-index: 5; display: flex; justify-content: flex-end; align-items: center; min-height: 76px; margin-left: 310px; padding: 14px 28px; background: rgba(255,255,255,.82); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.brand-button { width: 100%; border: 0; border-radius: 22px; background: rgba(255,255,255,.58); padding: 12px 8px; box-shadow: inset 0 0 0 1px rgba(231,224,239,.72); }
.brand-button img { display: block; width: min(100%, 268px); margin: 0 auto; }
.top-nav { display: grid; gap: 10px; align-content: start; }
.top-nav button { min-height: 48px; border: 1px solid transparent; border-radius: 16px; padding: 0 16px; background: transparent; color: var(--muted); font-weight: 900; text-align: left; }
.top-nav button.active, .top-nav button:hover { color: var(--brand); background: #fff; border-color: #decff0; box-shadow: 0 8px 18px rgba(71,42,113,.08); }
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip span, #client-logo { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--brand), #d263cf); font-weight: 900; }
.user-chip button { border: 0; background: transparent; color: var(--muted); font-weight: 800; }
.user-profile-button { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 6px; border-radius: 999px; }
.user-profile-button:hover { background: #f7efff; color: var(--brand); }
.backend-pill { padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 11px; font-weight: 900; }

.app-main { width: min(1320px, calc(100% - 350px)); margin: 0 28px 0 auto; padding: 28px 0 60px; }
.view { display: none; }
.view.active { display: block; }
.account-shell { display: grid; gap: 18px; }
.account-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 22px;
  background: linear-gradient(135deg, #fff, #f6efff);
}
.account-avatar {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--brand), #d263cf);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}
.account-hero span,
.account-card .panel-head small {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.account-hero h2 { margin: 0 0 4px; font-size: 28px; }
.account-hero p { margin: 0; }
.account-status {
  min-width: 220px;
  padding: 14px 16px;
  border: 1px solid #decff0;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
}
.account-status strong,
.account-status small { display: block; }
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.account-card { min-width: 0; display: grid; align-content: start; gap: 14px; }
.account-form-grid label.full { grid-column: 1 / -1; }
.account-form-grid textarea {
  min-height: 96px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
  outline: none;
  background: #fff;
  color: var(--ink);
}
.security-hints,
.settings-list {
  display: grid;
  gap: 10px;
}
.security-hints span,
.settings-list label {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
}
.support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.support-grid button {
  min-height: 92px;
  padding: 14px;
  border: 1px solid #decff0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #faf6ff);
  text-align: left;
}
.support-grid strong,
.support-grid small,
.ticket-list span,
.ticket-list strong,
.ticket-list small { display: block; }
.support-grid small,
.ticket-list small { color: var(--muted); line-height: 1.35; }
.ticket-list { display: grid; gap: 10px; }
.ticket-list article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.ticket-list span {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.compact-actions { margin-top: 0; }
.welcome { margin-bottom: 22px; padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: linear-gradient(135deg, #fff, #f7f0ff); box-shadow: var(--shadow); }
.welcome span, .page-head span { color: var(--brand); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.kpi-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi-row article, .kpi-card, .panel, .table-card { border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.9); box-shadow: 0 10px 26px rgba(71,42,113,.07); }
.kpi-row article, .kpi-card { padding: 18px; }
.kpi-card { min-height: 138px; text-align: left; background: linear-gradient(135deg, #f8f1ff, #efe2ff); border-color: #ddc6f4; color: var(--ink); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.kpi-card:hover { transform: translateY(-2px); border-color: var(--brand-2); box-shadow: 0 18px 36px rgba(106,13,173,.16); }
.kpi-card:focus-visible { outline: 3px solid rgba(185,131,255,.42); outline-offset: 3px; }
.kpi-row span, .kpi-row small { color: var(--muted); display: block; }
.kpi-card small { margin-top: 10px; color: var(--brand); font-weight: 900; }
.kpi-row strong { display: block; margin-top: 6px; font-family: "JetBrains Mono", monospace; font-size: 34px; }
.client-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpi-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--brand); font-style: normal; font-weight: 900; box-shadow: inset 0 0 0 1px #e6d6f6; }
.client-detail-card { display: grid; align-content: start; gap: 3px; }
.client-detail-card.selected { border-color: #d7b6ff; box-shadow: 0 14px 30px rgba(106,13,173,.12); }
.trend { width: fit-content; margin-top: 10px; padding: 4px 8px; border-radius: 999px; font-style: normal; font-size: 11px; font-weight: 900; }
.trend.good { color: #247151; background: rgba(88,182,133,.16); }
.trend.bad { color: #9b2f44; background: rgba(232,117,95,.14); }
.trend.stable { color: var(--muted); background: #f2edf8; }
.risk-evolution { display: flex; align-items: center; gap: 10px; margin: -4px 0 18px; padding: 12px 16px; border: 1px solid #d8eadf; border-radius: 18px; background: #f5fbf7; color: #247151; font-weight: 900; }
.risk-evolution span { color: var(--muted); font-weight: 800; }
.risk-evolution strong { font-family: "JetBrains Mono", monospace; font-size: 20px; }
.risk-evolution i { display: none; }
.executive-summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: -6px 0 18px; padding: 16px 18px; border: 1px solid #eadcf5; border-radius: 22px; background: linear-gradient(135deg, rgba(255,255,255,.96), #fbf8ff); box-shadow: 0 10px 26px rgba(71,42,113,.06); }
.executive-summary span { display: block; margin-bottom: 5px; color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.executive-summary strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 16px; }
.executive-summary p { margin: 0; font-size: 13px; }
.executive-summary .soft-button { flex: 0 0 auto; }
.has-tooltip { position: relative; }
.has-tooltip:hover::after { content: attr(data-tooltip); position: absolute; left: 18px; bottom: calc(100% + 10px); z-index: 20; width: min(280px, 70vw); padding: 10px 12px; border-radius: 12px; background: #201640; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.35; box-shadow: 0 18px 42px rgba(32,22,64,.24); }
.has-tooltip:hover::before { content: ""; position: absolute; left: 28px; bottom: calc(100% + 3px); z-index: 21; border: 7px solid transparent; border-top-color: #201640; }

.home-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 18px; }
.impact-home { margin-top: 18px; }
.impact-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 16px; }
.impact-head span, .library-impact span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.impact-head h2, .library-impact h2 { margin: 4px 0 6px; font-size: 24px; letter-spacing: -.02em; }
.impact-head p { max-width: 720px; margin: 0; }
.impact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.impact-grid article { min-width: 0; padding: 16px; border: 1px solid #eadcf5; border-radius: 18px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.impact-grid strong { display: block; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 28px; line-height: 1; }
.impact-grid span, .impact-grid small { display: block; margin-top: 6px; color: var(--muted); font-weight: 850; }
.impact-grid span { color: var(--ink); }
.panel { padding: 18px; }
.panel-head, .page-head, .client-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.soft-button, .primary-button { min-height: 40px; border: 1px solid var(--line); border-radius: 999px; padding: 0 16px; background: #fff; color: var(--brand); font-weight: 900; }
.primary-button { border-color: transparent; color: #fff; background: linear-gradient(135deg, var(--brand), #8b37dc); box-shadow: 0 12px 24px rgba(106,13,173,.18); }

.task-list { display: grid; gap: 10px; }
.task-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.task { display: grid; grid-template-columns: auto auto 1fr; gap: 8px 12px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.task small { grid-column: 3; color: var(--muted); }
.task.done { opacity: .58; }
.priority { width: fit-content; padding: 4px 8px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.priority.alta { color: #9b2f44; background: #fde5ec; }
.priority.média, .priority.media { color: #97651d; background: #fff1d4; }
.priority.baixa { color: #257353; background: #e4f7ed; }

.quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.logo-tile { min-height: 132px; display: grid; place-items: center; align-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 20px; background: #fff; color: var(--ink); }
.logo-tile span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-2)); font-weight: 900; }
.logo-tile small { color: var(--muted); }

.filters { display: grid; grid-template-columns: 1fr 220px 180px; gap: 12px; margin-bottom: 16px; }
label { display: grid; gap: 6px; color: var(--muted); font-weight: 800; }
input, select { min-height: 42px; border: 1px solid var(--line); border-radius: 14px; padding: 0 12px; background: #fff; color: var(--ink); }
.table-card { overflow-x: auto; }
.table-card.compact { box-shadow: none; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 14px; border-bottom: 1px solid var(--line); text-align: left; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.company-link { border: 0; background: transparent; color: var(--brand); font-weight: 900; }
.status { padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.status.ok { color: #247151; background: #e4f7ed; }
.status.warn { color: #97651d; background: #fff1d4; }
.status.muted { color: var(--muted); background: #f2edf8; }
.icon-action { margin-right: 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; min-width: 36px; min-height: 34px; }

.form-tabs { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.form-tabs button { min-height: 40px; border: 1px solid var(--line); border-radius: 999px; padding: 0 14px; color: var(--muted); background: #fff; font-weight: 800; }
.form-tabs button.active { color: var(--brand); border-color: #dac8ee; background: #f6efff; }
.company-form { padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.field-error { min-height: 16px; color: #a12246; font-size: 12px; }
.logo-preview { width: 110px; height: 110px; display: grid; place-items: center; border: 1px dashed #cdbde1; border-radius: 24px; color: var(--brand); background: #f8f1ff; font-size: 28px; font-weight: 900; overflow: hidden; }
.logo-preview img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.users-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; }
.hierarchy-card { border: 1px solid var(--line); border-radius: 22px; background: #fff; padding: 18px; box-shadow: 0 10px 26px rgba(71,42,113,.05); }
.hierarchy-wide { grid-column: 1 / -1; }
.role-list { display: grid; gap: 10px; }
.role-list article { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fbf8ff; }
.role-list strong { display: block; color: var(--brand); margin-bottom: 6px; }
.role-list p { margin-bottom: 10px; font-size: 13px; }
.hierarchy-map { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.hierarchy-map article { min-height: 130px; padding: 14px; border: 1px solid #dac8ee; border-radius: 18px; background: linear-gradient(135deg, #fff, #f7f0ff); }
.hierarchy-map span { display: block; color: var(--brand); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; }
.hierarchy-map strong, .hierarchy-map small { display: block; }
.hierarchy-map strong { margin-top: 8px; }
.hierarchy-map small { color: var(--muted); }

.library-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.library-overview article,
.library-overview button { width: 100%; min-height: 0; padding: 18px; text-align: left; border: 1px solid #eadcf5; border-radius: 22px; background: linear-gradient(135deg, #fff, #fbf8ff); box-shadow: 0 10px 26px rgba(71,42,113,.06); cursor: pointer; }
.library-overview button:hover { border-color: #d3adff; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(106,13,173,.10); }
.library-overview button:focus-visible { outline: 3px solid rgba(185,131,255,.42); outline-offset: 3px; }
.library-overview .fixed { background: linear-gradient(135deg, #fbf8ff, #f3e9ff); }
.library-overview .editable { background: linear-gradient(135deg, #fff, #fafdfb); }
.library-overview .mapped { background: linear-gradient(135deg, #fff, #f8fbff); }
.library-overview span, .library-overview small { display: block; color: var(--muted); font-weight: 800; }
.library-overview strong { display: block; width: fit-content; margin: 6px 0; font-family: "JetBrains Mono", monospace; color: var(--ink); font-size: 34px; line-height: 1; }
.library-overview button strong { color: var(--brand); }
.library-toolbar { display: grid; grid-template-columns: 1fr 180px 220px; gap: 12px; margin-bottom: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.78); }
.questionnaire-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 14px; }
.questionnaire-card, .cycle-card, .dimension-card { border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 10px 26px rgba(71,42,113,.07); padding: 18px; }
.questionnaire-card h2, .cycle-card h2 { margin-top: 10px; }
.questionnaire-card div { display: flex; gap: 8px; flex-wrap: wrap; }
.questionnaire-metrics { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; }
.questionnaire-metrics span { display: grid; gap: 2px; padding: 10px; border: 1px solid #eee6f6; border-radius: 14px; background: #fbf8ff; color: var(--muted); font-size: 12px; font-weight: 900; }
.questionnaire-metrics b { color: var(--ink); font-family: "JetBrains Mono", monospace; font-size: 18px; }
.library-card { display: grid; gap: 12px; align-content: start; }
.library-card-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.library-card-head small { color: var(--brand); font-size: 12px; font-weight: 900; }
.library-card p { margin-bottom: 0; }
.library-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.library-tags b { padding: 5px 8px; border-radius: 999px; background: #f7f0ff; color: var(--brand); font-size: 11px; font-weight: 900; }
.library-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: center; }
.library-actions .primary-button, .library-actions .soft-button { width: 100%; min-height: 36px; justify-content: center; padding: 0 12px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.library-actions .primary-button { grid-column: 1 / -1; }
.editor-shell { display: grid; grid-template-columns: 300px minmax(0, 1fr) 330px; gap: 18px; align-items: start; }
.editor-side { display: grid; gap: 12px; align-content: start; }
.editor-side p { margin: 0; font-size: 13px; }
.editor-summary { display: grid; gap: 4px; padding: 14px; border: 1px solid #eee6f6; border-radius: 18px; background: #fbf8ff; }
.editor-summary span, .questionnaire-preview > span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.editor-summary strong { font-size: 18px; }
.editor-summary small { color: var(--muted); font-weight: 800; line-height: 1.35; }
.editor-main { display: grid; gap: 14px; }
.thresholds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.dimension-title h2 { margin: 2px 0 0; font-size: 18px; }
.dimension-title small { color: var(--muted); font-weight: 800; }
.question-row { display: grid; grid-template-columns: 46px minmax(240px, 1fr) 150px 128px 96px auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 14px; margin-top: 8px; background: #fff; }
.question-row.selected { border-color: #c99fff; background: linear-gradient(135deg, #fff, #fbf8ff); box-shadow: 0 10px 24px rgba(106,13,173,.08); }
.question-code { border: 0; }
.inline-check { display: flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); font-size: 12px; }
.compact-button { min-height: 36px; padding-inline: 10px; font-size: 12px; }
.questionnaire-preview { position: sticky; top: 94px; display: grid; gap: 12px; }
.questionnaire-preview h2 { margin: 0; }
.questionnaire-preview > small { color: var(--muted); font-weight: 800; }
.respondent-preview { display: grid; gap: 12px; padding: 16px; border: 1px solid #eee6f6; border-radius: 20px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.respondent-preview b { width: fit-content; padding: 5px 9px; border-radius: 999px; background: #f5edff; color: var(--brand); font-size: 12px; }
.respondent-preview strong { font-size: 17px; line-height: 1.35; }
.respondent-preview p { margin: 0; font-size: 12px; }
.respondent-preview textarea { min-height: 92px; border: 1px solid var(--line); border-radius: 14px; padding: 12px; resize: none; }
.likert-preview { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; min-width: 0; }
.likert-preview button { min-width: 0; min-height: 58px; display: grid; place-items: center; gap: 2px; padding: 6px 2px; overflow: hidden; border: 1px solid #eadcf5; border-radius: 14px; background: #fff; color: var(--brand); font-family: "JetBrains Mono", monospace; font-weight: 900; }
.likert-preview small { display: block; width: 100%; min-width: 0; color: var(--muted); font-family: Inter, system-ui, sans-serif; font-size: 9px; font-weight: 800; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
.preview-flow { display: grid; gap: 8px; }
.preview-flow span { padding: 10px 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; color: var(--muted); font-size: 12px; font-weight: 900; }
.questionnaire-preview-modal { display: grid; gap: 12px; }
.questionnaire-preview-modal > span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.questionnaire-preview-modal h3 { margin: 0; font-size: 22px; }
.questionnaire-preview-modal p { margin-bottom: 0; }

.page-head > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.page-head > div:last-child .soft-button,
.page-head > div:last-child .primary-button {
  white-space: nowrap;
}

.matrix-workspace {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.matrix-nav,
.matrix-main {
  min-width: 0;
}
.matrix-nav {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 26px rgba(71,42,113,.06);
}
.matrix-nav > span,
.matrix-detail > span,
.matrix-card span {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.matrix-nav button {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 74px;
  border: 1px solid #eee6f6;
  border-radius: 18px;
  padding: 12px 46px 12px 12px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}
.matrix-nav em {
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f6efff;
  color: var(--brand);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.matrix-nav .base-fixed {
  border-color: #d3adff;
  background: linear-gradient(135deg, #fff, #fbf5ff);
}
.matrix-nav button.active {
  border-color: #c99fff;
  background: linear-gradient(135deg, #fff, #f7efff);
  box-shadow: 0 10px 24px rgba(106,13,173,.08);
}
.matrix-nav strong,
.matrix-nav small {
  min-width: 0;
}
.matrix-nav small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.matrix-nav b {
  position: absolute;
  top: 12px;
  right: 12px;
  min-width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f5edff;
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
}
.matrix-main {
  display: grid;
  gap: 14px;
}
.matrix-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, .5fr) minmax(150px, .45fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
}
.matrix-toolbar label,
.matrix-toolbar input,
.matrix-toolbar select {
  min-width: 0;
  width: 100%;
}
.matrix-cards {
  display: grid;
  gap: 12px;
}
.matrix-detail-slot {
  scroll-margin-top: 24px;
}
.matrix-detail-slot.detail-pulse .matrix-detail,
.matrix-cards.detail-pulse,
.matrix-nav.detail-pulse {
  animation: detailPulse 800ms ease-out;
}
.matrix-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(71,42,113,.05);
}
.matrix-card.selected {
  border-color: #c99fff;
  box-shadow: 0 12px 28px rgba(106,13,173,.10);
}
.matrix-card h2 {
  margin: 4px 0 4px;
  font-size: 20px;
}
.matrix-card p {
  margin: 0;
  font-size: 13px;
}
.matrix-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.matrix-card-actions .soft-button,
.matrix-card-actions .primary-button {
  width: 100%;
  min-width: 0;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@keyframes detailPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(106,13,173,.24), 0 10px 26px rgba(71,42,113,.07);
    transform: translateY(0);
  }
  35% {
    box-shadow: 0 0 0 5px rgba(106,13,173,.10), 0 16px 34px rgba(71,42,113,.11);
    transform: translateY(-1px);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(106,13,173,0), 0 10px 26px rgba(71,42,113,.07);
    transform: translateY(0);
  }
}
.matrix-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), #fbf8ff);
  box-shadow: 0 10px 26px rgba(71,42,113,.07);
}
.matrix-detail-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.matrix-detail h2,
.matrix-detail h3 {
  margin: 0;
}
.matrix-detail p {
  margin: 0;
  font-size: 14px;
}
.matrix-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
}
.matrix-detail-grid article {
  padding: 12px;
  border: 1px solid #eee6f6;
  border-radius: 16px;
  background: #fbf8ff;
}
.matrix-detail-grid b {
  display: block;
  color: var(--ink);
  font-size: 16px;
}
.matrix-detail-grid small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.matrix-question-list {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
}
.matrix-question-list article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  padding: 10px;
  border: 1px solid #eee6f6;
  border-radius: 14px;
  background: #fff;
}
.matrix-question-list strong {
  color: var(--brand);
  font-size: 12px;
}
.matrix-question-list span {
  min-width: 0;
  font-size: 13px;
  line-height: 1.35;
}
.matrix-question-list b {
  color: var(--muted);
  font-size: 12px;
}
.matrix-detail-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.matrix-detail-actions .soft-button,
.matrix-detail-actions .primary-button {
  min-width: 190px;
  justify-content: center;
}

@media (max-width: 1240px) {
  .matrix-workspace {
    grid-template-columns: 260px minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  body.login-active .login-view {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
  .login-brand h1 {
    font-size: 40px;
  }
  .login-card {
    padding: 22px;
    border-radius: 24px;
  }
  .matrix-workspace,
  .matrix-toolbar,
  .matrix-detail {
    grid-template-columns: 1fr;
  }
  .matrix-card-actions {
    grid-template-columns: 1fr;
  }
  .matrix-detail-actions .soft-button,
  .matrix-detail-actions .primary-button {
    width: 100%;
  }
  .respondent-preview {
    padding: 14px;
  }
  .likert-preview {
    gap: 4px;
  }
  .likert-preview button {
    min-height: 54px;
    border-radius: 12px;
    font-size: 15px;
  }
  .likert-preview small {
    font-size: 8px;
  }
}

.editor-shell {
  grid-template-columns: 300px minmax(0, 1fr);
}
.editor-side {
  grid-column: 1;
  grid-row: 1;
}
.editor-main {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
}
.questionnaire-preview {
  grid-column: 1;
  grid-row: 2;
  position: sticky;
  top: 94px;
}
.question-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.question-row .question-code {
  flex: 0 0 46px;
}
.question-row input[data-question-text] {
  flex: 1 1 calc(100% - 56px);
  min-width: 240px;
}
.question-row select {
  flex: 1 1 132px;
}
.question-row .inline-check {
  flex: 1 1 142px;
}
.question-row .compact-button {
  flex: 0 0 auto;
}

@media (min-width: 1500px) {
  .editor-shell {
    grid-template-columns: 300px minmax(0, 1fr) 330px;
  }
  .editor-main {
    grid-column: 2;
    grid-row: 1;
  }
  .questionnaire-preview {
    grid-column: 3;
    grid-row: 1;
  }
}
.cycle-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.progress { height: 10px; border-radius: 999px; background: #f0e9f8; overflow: hidden; margin: 12px 0; }
.progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--brand-2), var(--brand)); }
.stepper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.stepper button { min-height: 42px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-weight: 900; }
.stepper button.active { color: var(--brand); background: #f5edff; border-color: #d8c6ee; }
.cycle-form { min-height: 300px; }
.sector-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.sector-checks label, .check-all { padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.summary-box { padding: 16px; border-radius: 16px; background: #f8f1ff; color: var(--brand); font-weight: 900; }

.client-header { padding: 16px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.client-id { display: flex; align-items: center; gap: 12px; }
.client-id h1 { margin: 0; font-size: 30px; }
.client-id small { color: var(--muted); }
.cycle-compare { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; align-items: end; }
.cycle-compare label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 900; }
.cycle-compare select { min-height: 42px; border: 1px solid #e4d7f0; border-radius: 14px; padding: 0 12px; background: #fff; color: var(--ink); font-weight: 850; }
.client-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 18px; }
.side-stack { display: grid; gap: 18px; }
.heatmap { display: grid; grid-template-columns: 1fr repeat(4, minmax(92px, 1fr)); gap: 8px; overflow-x: auto; }
.heatmap b, .heatmap strong, .heatmap button { min-height: 44px; display: flex; align-items: center; padding: 8px; border-radius: 12px; }
.heatmap b { color: var(--muted); background: #f4eff8; }
.heatmap strong { background: #fff; border: 1px solid var(--line); }
.heatmap button { justify-content: center; border: 0; font-weight: 900; }
.heatmap .low { color: #247151; background: #e4f7ed; }
.heatmap .medium { color: #97651d; background: #fff1d4; }
.heatmap .high { color: #9b2f44; background: #fde5ec; }
.heatmap { display: block; overflow: visible; }
.heatmap-board { display: grid; grid-template-columns: 1fr repeat(var(--heatmap-columns, 4), minmax(100px, 1fr)); gap: 8px; overflow-x: auto; }
.heatmap-board b, .heatmap-board strong, .heatmap-board button { min-height: 48px; display: flex; align-items: center; padding: 8px 10px; border-radius: 14px; }
.heatmap-board b { color: var(--muted); background: #f6f0fb; font-size: 13px; }
.heatmap-board strong { background: #fff; border: 1px solid var(--line); }
.heatmap-board button { justify-content: center; border: 1px solid transparent; color: #fff; font-family: "JetBrains Mono", monospace; font-weight: 900; }
.heatmap-board button.low { background: #dff5e8; color: #236b4b; }
.heatmap-board button.light { background: #dceeff; color: #275b7a; }
.heatmap-board button.medium { background: #fff1b8; color: #7a5a11; }
.heatmap-board button.high { background: #ffd7b5; color: #884515; }
.heatmap-board button.critical { background: #ffc4c4; color: #8b2732; }
.heatmap-scale { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; margin-top: 14px; color: var(--muted); font-size: 12px; font-weight: 900; }
.heatmap-scale i { height: 10px; border-radius: 999px; background: linear-gradient(90deg, #e9d8fd, #b983ff, #6a0dad, #3c075f); }
.radar { display: grid; gap: 12px; }
.radar div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; align-items: center; }
.radar span { color: var(--muted); font-size: 13px; font-weight: 800; }
.radar i { height: 10px; border-radius: 999px; background: linear-gradient(90deg, var(--brand-2), var(--brand)); }
.action-feed { display: grid; gap: 10px; }
.action-feed article { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.action-feed strong, .action-feed small { display: block; margin-top: 5px; }
.action-feed small { color: var(--muted); }

.modal { width: min(520px, calc(100vw - 28px)); border: 0; border-radius: 22px; padding: 0; box-shadow: 0 28px 90px rgba(32, 22, 64, .28); }
.modal::backdrop { background: rgba(32,22,64,.32); backdrop-filter: blur(2px); }
.modal form { padding: 20px; }
.modal-head { display: flex; align-items: center; justify-content: space-between; }
.modal-head button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f4eff8; font-size: 24px; }

@media (max-width: 920px) {
  .app-sidebar { position: sticky; top: 0; width: auto; grid-template-rows: none; gap: 14px; padding: 14px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .app-header { margin-left: 0; }
  .top-nav { display: flex; overflow-x: auto; }
  .top-nav button { white-space: nowrap; text-align: center; }
  .brand-button img { width: 200px; }
  .app-main { width: min(100% - 36px, 1320px); margin: 0 auto; }
  .home-grid, .client-grid, .filters, .form-grid, .users-layout, .hierarchy-map, .library-overview, .library-toolbar, .cycle-compare, .impact-grid, .library-stats, .library-filter-panel, .library-impact, .effectiveness-hero, .effectiveness-story-grid, .account-grid, .account-hero, .support-grid { grid-template-columns: 1fr; }
  .account-status { min-width: 0; }
  .questionnaire-grid, .editor-shell, .cycle-list, .stepper, .sector-checks, .question-row, .task-filters, .template-library-grid { grid-template-columns: 1fr; }
  .kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .app-main { width: min(100% - 24px, 1320px); }
  .kpi-row, .quick-grid { grid-template-columns: 1fr; }
}

.company-tabs { display: flex; gap: 8px; margin: 2px 0 18px; overflow-x: auto; padding-bottom: 4px; }
.company-tabs button { min-height: 42px; white-space: nowrap; border: 1px solid var(--line); border-radius: 999px; padding: 0 16px; background: rgba(255,255,255,.88); color: var(--muted); font-weight: 900; }
.company-tabs button.active, .company-tabs button:hover { color: var(--brand); border-color: #d7c2ee; background: #f7f0ff; box-shadow: 0 8px 20px rgba(71,42,113,.08); }
.company-panel { display: none; }
.company-panel.active { display: block; }
.insight-stack { display: grid; gap: 10px; }
.insight-stack article { padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(135deg, #fff, #fbf7ff); color: var(--ink); font-weight: 700; line-height: 1.45; }
.diagnostic-detail { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); gap: 18px; margin-bottom: 18px; background: rgba(255,255,255,.94); box-shadow: 0 8px 22px rgba(71,42,113,.05); }
.diagnostic-detail span { color: var(--brand); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.diagnostic-detail p { margin-bottom: 0; }
.adherence-ruler { margin-top: 22px; }
.ruler-track { position: relative; height: 16px; border-radius: 999px; background: linear-gradient(90deg, #dff5e8 0 20%, #dceeff 20% 40%, #fff1b8 40% 60%, #ffd7b5 60% 80%, #ffc4c4 80% 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); }
.ruler-track i { position: absolute; left: var(--score); top: 50%; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--brand); transform: translate(-50%, -50%); box-shadow: 0 8px 18px rgba(71,42,113,.22); }
.ruler-labels { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; color: var(--muted); font-size: 12px; font-weight: 900; }
.ruler-labels span { text-align: center; }
.risk-reference { display: grid; gap: 10px; margin-top: 18px; padding: 14px; border: 1px solid #eee6f6; border-radius: 18px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.risk-reference-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.risk-reference-head span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.risk-reference-head strong { color: var(--ink); font-size: 13px; }
.risk-reference-track { position: relative; height: 12px; border-radius: 999px; background: linear-gradient(90deg, #dff5e8 0 20%, #dceeff 20% 40%, #fff1b8 40% 60%, #ffd7b5 60% 80%, #ffc4c4 80% 100%); box-shadow: inset 0 0 0 1px rgba(32,22,64,.06); }
.risk-reference-track i { position: absolute; left: var(--score); top: 50%; width: 18px; height: 18px; border: 3px solid var(--brand); border-radius: 50%; background: #fff; transform: translate(-50%, -50%); box-shadow: 0 8px 18px rgba(71,42,113,.18); }
.risk-reference-labels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.risk-reference-labels b { display: grid; gap: 2px; min-width: 0; padding: 8px 6px; border-radius: 12px; text-align: center; font-weight: 900; }
.risk-reference-labels b.low { background: #f3fbf7; color: #247151; }
.risk-reference-labels b.light { background: #f1f7ff; color: #275b7a; }
.risk-reference-labels b.medium { background: #fffaf0; color: #7a5a11; }
.risk-reference-labels b.high { background: #fff7ef; color: #884515; }
.risk-reference-labels b.critical { background: #fff6f7; color: #8b2732; }
.risk-reference-labels em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-style: normal; }
.risk-reference-labels small { color: inherit; font-family: "JetBrains Mono", monospace; font-size: 10px; opacity: .9; }
.risk-reference-labels span { color: var(--muted); font-size: 10px; line-height: 1.2; }
.risk-reference.compact { gap: 8px; padding: 10px; }
.risk-reference.compact .risk-reference-head strong { font-size: 12px; }
.risk-reference.compact .risk-reference-labels b { padding: 6px 4px; }
.detail-table { display: grid; gap: 8px; }
.detail-table article { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; }
.detail-table b { font-family: "JetBrains Mono", monospace; color: var(--brand); font-size: 17px; }
.detail-table small { color: var(--muted); font-weight: 800; }
.diagnosis-overview { display: grid; gap: 18px; }
.risk-summary { display: grid; gap: 14px; padding: 16px; border: 1px solid #eee6f6; border-radius: 18px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.risk-summary > div:first-child { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.risk-summary span { color: var(--muted); font-weight: 900; }
.risk-summary strong { font-family: "JetBrains Mono", monospace; color: var(--brand); font-size: 34px; line-height: 1; }
.risk-summary small { color: var(--muted); font-weight: 900; }
.risk-scale { display: flex; height: 14px; overflow: hidden; border-radius: 999px; background: #f4eff8; box-shadow: inset 0 0 0 1px rgba(32,22,64,.06); }
.risk-scale i { display: block; height: 100%; }
.scale-low { background: #58b685; }
.scale-medium { background: #dca84a; }
.scale-high { background: #e8755f; }
.scale-critical { background: #9b2f44; }
.scale-legend { display: flex; gap: 8px; flex-wrap: wrap; }
.scale-legend button { display: flex; gap: 7px; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: #fff; color: var(--muted); font-size: 12px; font-weight: 900; }
.scale-legend i { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.low-dot { background: #58b685; }
.medium-dot { background: #dca84a; }
.high-dot { background: #e8755f; }
.critical-dot { background: #9b2f44; }
.attention-list { display: grid; gap: 9px; }
.attention-list h3 { margin: 0; }
.attention-list p { margin: -2px 0 4px; font-size: 13px; }
.attention-item { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; min-height: 48px; border: 1px solid #eee6f6; border-radius: 14px; padding: 8px 10px; background: #fff; text-align: left; font-weight: 900; }
.attention-item span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #f7f0ff; color: var(--brand); font-size: 12px; }
.attention-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attention-item b { font-family: "JetBrains Mono", monospace; color: var(--brand); font-size: 18px; }
.attention-item small { color: var(--muted); }
.attention-item.low { background: #f7fcfa; }
.attention-item.medium { background: #fffaf0; }
.attention-item.high { background: #fff7f5; }
.criteria-list { display: grid; gap: 10px; }
.criteria-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; min-height: 58px; border: 1px solid #eee6f6; border-radius: 14px; padding: 10px 12px; background: #fff; text-align: left; }
.criteria-item span { display: block; color: var(--ink); font-weight: 900; }
.criteria-item strong { font-family: "JetBrains Mono", monospace; color: var(--brand); font-size: 20px; }
.criteria-item small { display: block; margin-top: 2px; color: var(--muted); font-weight: 800; }
.criteria-item em { width: fit-content; border-radius: 999px; padding: 4px 8px; font-style: normal; font-size: 11px; font-weight: 900; }
.criteria-item em.good { color: #247151; background: #e4f7ed; }
.criteria-item em.bad { color: #9b2f44; background: #fde5ec; }
.critical-stack { display: grid; gap: 10px; }
.critical-card { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #eadcf5; border-radius: 16px; background: #fff; }
.critical-card span { display: block; color: var(--ink); font-weight: 900; }
.critical-card small { display: block; margin-top: 2px; color: var(--muted); font-weight: 800; }
.critical-card strong { font-family: "JetBrains Mono", monospace; color: var(--brand); font-size: 22px; }
.critical-card em { border-radius: 999px; padding: 5px 9px; font-style: normal; font-size: 12px; font-weight: 900; }
.critical-card b { width: fit-content; border-radius: 999px; padding: 4px 8px; font-size: 11px; }
.critical-card b.good { color: #247151; background: #e4f7ed; }
.critical-card b.bad { color: #9b2f44; background: #fde5ec; }
.critical-card b.stable { color: var(--muted); background: #f2edf8; }
.critical-card.critical em { color: #6a0dad; background: #f2e6ff; }
.critical-card.high em { color: #8a5b11; background: #fff1d4; }
.critical-card button { min-height: 34px; border: 1px solid #dac8ee; border-radius: 999px; padding: 0 12px; background: #fff; color: var(--brand); font-weight: 900; }
.action-table { display: grid; gap: 8px; overflow-x: auto; }
.action-table > div, .action-table button { display: grid; grid-template-columns: 1.4fr 1fr 1fr .8fr .9fr; gap: 10px; align-items: center; min-width: 620px; }
.action-table > div { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.action-table button { min-height: 46px; border: 1px solid #eee6f6; border-radius: 14px; padding: 10px; background: #fff; text-align: left; }
.action-table strong { color: var(--ink); font-size: 13px; }
.action-table span { width: fit-content; border-radius: 999px; padding: 5px 9px; background: #f7f0ff; color: var(--brand); font-size: 12px; font-weight: 900; }
.method-grid, .indicator-grid, .effectiveness-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.method-card, .indicator-card, .effect-card, .action-card { border: 1px solid var(--line); border-radius: 22px; padding: 18px; background: rgba(255,255,255,.94); box-shadow: 0 10px 26px rgba(71,42,113,.07); }
.method-card span, .indicator-card span, .effect-card span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.method-card h2, .effect-card h2 { margin: 10px 0; font-size: 20px; }
.method-card strong, .indicator-card strong { display: block; font-family: "JetBrains Mono", monospace; font-size: 38px; line-height: 1; margin: 8px 0; }
.method-card p, .method-card small, .indicator-card p, .indicator-card small, .effect-card p, .effect-card small { margin: 0; color: var(--muted); }
.method-card.low { border-color: #bde8d0; background: #f3fbf7; }
.method-card.medium { border-color: #f0dcae; background: #fffaf0; }
.method-card.high { border-color: #f0b7b0; background: #fff5f4; }
.action-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.action-card { display: grid; gap: 14px; }
.action-card h3 { margin: 10px 0 8px; font-size: 22px; }
.action-card dl { display: grid; grid-template-columns: 100px 1fr; gap: 8px 12px; margin: 0; padding: 12px; border-radius: 16px; background: #fbf8ff; }
.action-card dt { color: var(--muted); font-weight: 900; }
.action-card dd { margin: 0; color: var(--ink); font-weight: 700; }
.method-grid:has(.risk-workspace) { grid-template-columns: 1fr; }
.risk-workspace { display: grid; gap: 16px; min-width: 0; }
.risk-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .5fr);
  gap: 16px;
  align-items: end;
  background: linear-gradient(135deg, #fff, #fbf6ff);
}
.risk-hero span,
.risk-list article span,
.risk-summary-grid span {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.risk-hero h2 {
  max-width: 760px;
  margin: 6px 0 8px;
  font-size: clamp(24px, 2.4vw, 38px);
  line-height: 1.05;
}
.risk-hero p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.risk-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.risk-hero-actions label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.risk-hero-actions select {
  min-height: 40px;
  border: 1px solid #e4d7f0;
  border-radius: 14px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
  font-weight: 850;
}
.risk-hero-actions .primary-button {
  grid-column: 1 / -1;
  width: 100%;
  justify-content: center;
}
.risk-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.risk-summary-grid article {
  min-height: 104px;
  border: 1px solid #eee6f6;
  border-radius: 22px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(71,42,113,.06);
}
.risk-summary-grid strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--ink);
  font-family: "JetBrains Mono", monospace;
  font-size: 28px;
  line-height: 1;
}
.risk-summary-grid small {
  color: var(--muted);
  font-weight: 800;
}
.risk-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}
.risk-list {
  display: grid;
  gap: 10px;
}
.risk-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #eee6f6;
  border-left-width: 5px;
  border-radius: 18px;
  padding: 14px;
  background: #fff;
}
.risk-list article.low { border-left-color: #8bd7ad; }
.risk-list article.light { border-left-color: #9cc9f0; }
.risk-list article.medium { border-left-color: #e8c95d; }
.risk-list article.high { border-left-color: #e7a15c; }
.risk-list article.critical { border-left-color: #e9949d; }
.risk-list h3 {
  margin: 4px 0 4px;
  color: var(--ink);
  font-size: 18px;
}
.risk-list p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.risk-list strong {
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
  font-size: 24px;
}
.risk-list em {
  border-radius: 999px;
  padding: 6px 9px;
  background: #f5edff;
  color: var(--brand);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.risk-list b {
  display: block;
  width: fit-content;
  margin-top: 6px;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 900;
}
.risk-list b.good { background: #e4f7ed; color: #247151; }
.risk-list b.bad { background: #fde5ec; color: #9b2f44; }
.risk-list b.stable { background: #f1f3f5; color: var(--muted); }
.risk-list .soft-button,
.risk-list .primary-button {
  min-height: 34px;
  padding-inline: 13px;
  white-space: nowrap;
}
.area-diagnosis-list {
  display: grid;
  gap: 9px;
}
.area-diagnosis-list button {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 6px 10px;
  align-items: center;
  border: 1px solid #eee6f6;
  border-radius: 16px;
  padding: 12px;
  background: #fff;
  text-align: left;
}
.area-diagnosis-list i {
  grid-row: 1 / span 2;
  width: 10px;
  height: 100%;
  min-height: 38px;
  border-radius: 999px;
}
.area-diagnosis-list i.low { background: #8bd7ad; }
.area-diagnosis-list i.light { background: #9cc9f0; }
.area-diagnosis-list i.medium { background: #e8c95d; }
.area-diagnosis-list i.high { background: #e7a15c; }
.area-diagnosis-list i.critical { background: #e9949d; }
.area-diagnosis-list strong {
  color: var(--ink);
}
.area-diagnosis-list span {
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
  font-weight: 900;
}
.area-diagnosis-list small {
  grid-column: 2 / -1;
  color: var(--muted);
  font-weight: 800;
}
.action-create-card {
  border-color: rgba(106,13,173,.28);
  background: linear-gradient(135deg, #fff, #f7edff);
}
.action-create-card .primary-button {
  width: fit-content;
  max-width: 100%;
}
.before-after { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin: 16px 0; }
.before-after strong { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #fff1d4; color: #97651d; font-family: "JetBrains Mono", monospace; font-size: 22px; }
.before-after strong:last-child { background: #e4f7ed; color: #257353; }
.before-after i { height: 8px; border-radius: 999px; background: linear-gradient(90deg, #e8755f, #dca84a, #58b685); }
.indicator-card em { display: inline-block; margin: 4px 0 12px; padding: 5px 10px; border-radius: 999px; font-style: normal; font-size: 12px; font-weight: 900; background: #f2edf8; color: var(--brand); }
.indicator-card.alto em { color: #9b2f44; background: #fde5ec; }
.indicator-card.moderado em { color: #97651d; background: #fff1d4; }
.indicator-card.high em,
.status.high { color: #9b4a1f; background: #ffe6d1; }
.indicator-card.medium em,
.status.medium { color: #8b6416; background: #fff1c7; }
.indicator-card.light em,
.status.light { color: #255d8c; background: #dff0ff; }
.indicator-card.low em,
.status.low { color: #08744f; background: #dff7ee; }
.indicator-card.critical em,
.status.critical { color: #9b2f44; background: #fde5ec; }
.indicator-card.empty em,
.status.empty { color: var(--muted); background: #f3eff8; }
.indicator-card b {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.indicator-workspace {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
}
.indicator-source-note,
.org-data-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  background: linear-gradient(135deg, #fff, #fbf7ff);
}
.indicator-source-note span,
.org-data-hero span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.indicator-source-note h3,
.org-data-hero h2 {
  margin: 4px 0 6px;
  color: var(--ink);
}
.indicator-source-note p,
.org-data-hero p,
.org-data-guide p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.indicator-summary-grid,
.org-data-summary,
.indicator-source-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.indicator-source-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.indicator-source-grid article,
.org-data-summary article,
.org-data-guide article {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px;
  background: rgba(255,255,255,.92);
}
.indicator-source-grid span,
.org-data-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.indicator-source-grid strong,
.org-data-summary strong {
  display: block;
  margin: 6px 0;
  color: var(--ink);
  font-family: "JetBrains Mono", monospace;
  font-size: 30px;
}
.indicator-source-grid small,
.org-data-summary small {
  color: var(--muted);
  font-weight: 800;
}
.org-data-shell {
  display: grid;
  gap: 16px;
}
.org-data-actions,
.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.evidence-flow,
.integration-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.evidence-flow article,
.integration-grid article {
  min-width: 0;
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.92);
}
.evidence-flow b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f3e7ff;
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
}
.evidence-flow strong,
.integration-grid strong {
  color: var(--ink);
}
.evidence-flow small,
.integration-grid small {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.25;
}
.integration-grid em {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  background: #f5edff;
  color: var(--brand);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.org-data-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.org-data-filters label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-weight: 900;
}
.org-data-filters select {
  width: 100%;
}
.org-table-card table {
  min-width: 1040px;
}
.org-table-card td small {
  color: var(--muted);
  font-weight: 800;
  overflow-wrap: anywhere;
}
.danger-lite {
  color: #9b2f44;
}
.org-data-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.org-data-guide strong {
  color: var(--ink);
}
.org-import-modal {
  display: grid;
  gap: 14px;
}
.org-indicator-form.full,
.org-indicator-form .full {
  grid-column: 1 / -1;
}
.report-builder { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 18px; }
.report-builder aside { display: grid; gap: 13px; align-content: start; }
.builder-kicker { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.report-builder aside > p { margin: -4px 0 2px; font-size: 13px; }
.report-type-grid { display: grid; gap: 8px; }
.report-type-grid label,
.report-sections label { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; padding: 12px; border: 1px solid #eee6f6; border-radius: 16px; background: #fff; cursor: pointer; }
.report-type-grid label:has(input:checked),
.report-sections label:has(input:checked) { border-color: #c99fff; background: #fbf7ff; box-shadow: 0 10px 22px rgba(106,13,173,.07); }
.report-type-grid strong,
.report-type-grid small { grid-column: 2; min-width: 0; }
.report-type-grid small { color: var(--muted); font-size: 12px; font-weight: 800; }
.report-form-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.report-form-grid label { min-width: 0; }
.report-form-grid input,
.report-form-grid select { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.field-help-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; color: var(--muted); font-weight: 900; }
.help-dot { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; display: inline-grid; place-items: center; border: 1px solid #dac8ee; border-radius: 50%; padding: 0; background: #fff; color: var(--brand); font-size: 12px; font-weight: 950; line-height: 1; box-shadow: 0 4px 10px rgba(106,13,173,.08); }
.help-dot:hover { background: #f7f0ff; border-color: var(--brand-2); transform: translateY(-1px); }
.report-sections span .help-dot { margin-left: 6px; vertical-align: middle; }
.help-content p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.report-sections { display: grid; grid-template-columns: 1fr; gap: 8px; }
.report-sections span { min-width: 0; font-weight: 900; }
.report-sections small { grid-column: 2 / 3; color: var(--muted); font-size: 11px; font-weight: 800; line-height: 1.25; }
.report-sections em { justify-self: end; align-self: start; border-radius: 999px; padding: 4px 8px; background: #f5edff; color: var(--brand); font-size: 10px; font-style: normal; font-weight: 900; white-space: nowrap; }
.report-sections .required em { background: #eef8f2; color: #247151; }
.report-sections input:disabled { opacity: .6; cursor: not-allowed; }
.report-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.report-preview { min-height: 620px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: radial-gradient(circle at 15% 0%, rgba(185,131,255,.16), transparent 28%), linear-gradient(135deg, #fbf8ff, #fff); box-shadow: var(--shadow); }
.report-builder, .report-preview, .report-page { min-width: 0; }
.report-preview { overflow: hidden; }
.report-page { box-sizing: border-box; width: min(820px, 100%); min-height: 560px; margin: 0 auto; padding: 34px; border-radius: 18px; background: #fff; box-shadow: 0 22px 54px rgba(32,22,64,.13); font-family: "Source Sans 3", Arial, sans-serif; color: #20183a; }
.report-cover { position: relative; overflow: hidden; padding: 26px; border: 1px solid #eee6f6; border-radius: 24px; background: linear-gradient(135deg, #fff 0%, #fbf8ff 62%, #f3e8ff 100%); }
.report-cover::after { content: ""; position: absolute; inset: auto -80px -110px auto; width: 220px; height: 220px; border-radius: 50%; background: rgba(185,131,255,.16); pointer-events: none; }
.report-cover-top, .report-cover-footer { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.report-cover-top b { border-radius: 999px; padding: 6px 10px; background: #fff; color: var(--brand); font-size: 12px; box-shadow: inset 0 0 0 1px #eee6f6; }
.report-cover-footer { margin-top: 14px; justify-content: flex-start; }
.report-cover-footer span { border-radius: 999px; padding: 7px 10px; background: rgba(255,255,255,.76); color: var(--muted); font-size: 11px; font-weight: 900; text-transform: none; letter-spacing: 0; box-shadow: inset 0 0 0 1px #eee6f6; }
.report-page span { color: var(--brand); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.report-page h1 { position: relative; z-index: 1; max-width: 620px; margin: 14px 0 8px; font-family: "Source Sans 3", Arial, sans-serif; font-size: clamp(26px, 4vw, 38px); font-weight: 800; line-height: 1.08; letter-spacing: 0; }
.report-page h2 { margin: 0; color: var(--ink); font-family: "Source Sans 3", Arial, sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 0; }
.report-page ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; list-style: none; }
.report-page li { padding: 10px 12px; border-radius: 12px; background: #fbf8ff; color: var(--brand); font-weight: 800; }
.report-score { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; margin: 18px 0 0; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: inset 0 0 0 1px #eee6f6; }
.report-score strong { font-family: "JetBrains Mono", monospace; font-size: 42px; color: var(--brand); }
.report-score small { color: var(--muted); font-weight: 900; line-height: 1.35; }
.report-score small b { display: block; color: var(--ink); font-size: 14px; }
.report-score.compact strong { font-size: 32px; }
.report-section { margin-top: 22px; }
.report-section p { color: var(--muted); line-height: 1.55; }
.report-callout { padding: 18px; border: 1px solid #e4d7f0; border-radius: 18px; background: #fbf8ff; }
.report-section-head { margin-bottom: 12px; }
.report-section-head h2 { margin-top: 4px; }
.report-visual-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; margin-top: 14px; }
.report-visual-grid > div { min-width: 0; padding: 14px; border: 1px solid #eee6f6; border-radius: 18px; background: rgba(255,255,255,.82); }
.report-visual-grid small { display: block; margin-bottom: 10px; color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.report-trend-bars { display: grid; gap: 9px; }
.report-trend-bars article { display: grid; grid-template-columns: 58px minmax(0, 1fr) 46px; gap: 9px; align-items: center; }
.report-trend-bars b, .report-trend-bars strong { color: var(--ink); font-family: "JetBrains Mono", monospace; font-size: 12px; }
.report-trend-bars i, .report-critical-bars i { height: 9px; border-radius: 999px; background: linear-gradient(90deg, #dff5e8, #fff1b8, #ffc4c4); overflow: hidden; }
.report-trend-bars i::after, .report-critical-bars i::after { content: ""; display: block; width: var(--bar); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8bd7ad, #e8c95d, #e9949d); }
.report-critical-bars { display: grid; gap: 9px; margin-bottom: 12px; }
.report-critical-bars article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, .7fr) 44px; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; }
.report-critical-bars strong, .report-critical-bars small { display: block; }
.report-critical-bars strong { color: var(--ink); line-height: 1.1; }
.report-critical-bars small { color: var(--muted); font-size: 11px; font-weight: 900; }
.report-critical-bars b { color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 13px; }
.report-meta-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.report-meta-row b { border-radius: 999px; padding: 7px 10px; background: #fff; color: var(--ink); font-size: 12px; box-shadow: inset 0 0 0 1px #eee6f6; }
.report-readiness { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.report-readiness article { min-width: 0; padding: 10px; border: 1px solid #eee6f6; border-radius: 14px; background: rgba(255,255,255,.82); }
.report-readiness article.ready { border-color: #d7eadf; background: #f5fbf7; }
.report-readiness article.pending { border-color: #f3d5dc; background: #fff8fa; }
.report-readiness span,
.report-readiness strong { display: block; min-width: 0; overflow-wrap: anywhere; text-transform: none; letter-spacing: 0; }
.report-readiness span { color: var(--muted); font-size: 10px; }
.report-readiness strong { margin-top: 3px; color: var(--ink); font-size: 12px; line-height: 1.2; }
.report-narrative-grid,
.method-note-grid,
.report-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.report-narrative-grid article,
.method-note-grid article,
.report-source-grid article,
.report-open-items { padding: 12px; border: 1px solid #eee6f6; border-radius: 16px; background: #fff; }
.report-narrative-grid b,
.method-note-grid strong,
.report-source-grid strong,
.report-open-items strong { display: block; color: var(--ink); line-height: 1.2; }
.report-narrative-grid p,
.method-note-grid span,
.report-source-grid p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.report-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-source-grid article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.report-source-grid small { display: block; color: var(--muted); font-weight: 850; }
.report-source-grid b { color: var(--brand); font-family: "JetBrains Mono", monospace; }
.report-source-grid p { grid-column: 1 / -1; overflow-wrap: anywhere; }
.report-open-items { margin-top: 12px; }
.report-open-items ul,
.signature-checks { display: grid !important; grid-template-columns: 1fr !important; gap: 7px !important; margin: 8px 0 0; padding: 0; list-style: none; }
.report-open-items li,
.signature-checks li { padding: 8px 10px; border-radius: 12px; background: #fbf8ff; color: var(--ink); font-size: 12px; font-weight: 800; }
.signature-checks li.ready { background: #e4f7ed; color: #247151; }
.signature-checks li.pending { background: #fff1d4; color: #97651d; }
.report-mini-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.report-mini-grid article { padding: 12px; border: 1px solid #eee6f6; border-radius: 16px; background: #fbf8ff; }
.report-mini-grid article.low { background: #f3fbf7; }
.report-mini-grid article.light { background: #f1f7ff; }
.report-mini-grid article.medium { background: #fffaf0; }
.report-mini-grid article.high { background: #fff7ef; }
.report-mini-grid article.critical { background: #fff6f7; }
.report-mini-grid strong,
.report-mini-grid span,
.report-mini-grid small { display: block; }
.report-mini-grid strong { color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 22px; }
.report-mini-grid small { color: var(--muted); font-weight: 800; }
.report-summary ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.report-summary li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 10px; align-items: center; padding: 11px 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; color: var(--ink); font-weight: 800; }
.report-summary li b { grid-row: 1 / span 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #f1e5ff; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 12px; }
.report-summary li em { width: fit-content; border-radius: 999px; padding: 3px 7px; background: #eef8f2; color: #247151; font-size: 10px; font-style: normal; font-weight: 900; }
.report-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.report-data-grid article { padding: 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; }
.report-data-grid small { display: block; color: var(--muted); font-weight: 900; }
.report-data-grid strong { display: block; margin-top: 4px; color: var(--ink); }
.inventory-grid { display: grid; gap: 8px; }
.inventory-grid article { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 12px; border: 1px solid #eee6f6; border-radius: 14px; background: linear-gradient(135deg, #fff, #fdfaff); }
.inventory-grid b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #f1e5ff; color: var(--brand); text-transform: uppercase; }
.inventory-grid strong { color: var(--ink); }
.inventory-grid p { margin: 4px 0 0; }
.risk-scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); overflow: hidden; border: 1px solid #eee6f6; border-radius: 18px; }
.risk-scale span { min-height: 70px; display: grid; place-items: center; text-align: center; color: var(--ink); text-transform: none; letter-spacing: 0; font-size: 12px; }
.risk-scale span:nth-child(1) { background: #dff5e8; }
.risk-scale span:nth-child(2) { background: #dceeff; }
.risk-scale span:nth-child(3) { background: #fff1b8; }
.risk-scale span:nth-child(4) { background: #ffd7b5; }
.risk-scale span:nth-child(5) { background: #ffc4c4; }
.report-risk-list { display: grid; gap: 8px; }
.report-risk-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 8px; align-items: center; padding: 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fff; }
.report-risk-list strong { color: var(--ink); }
.report-risk-list small { display: block; color: var(--muted); font-weight: 800; }
.report-risk-list b { color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 20px; }
.report-risk-list em, .report-risk-list span { border-radius: 999px; padding: 5px 8px; background: #f4ecfb; color: var(--brand); font-size: 11px; font-style: normal; font-weight: 900; white-space: nowrap; }
.report-risk-list span.good { background: #e4f7ed; color: #247151; }
.report-risk-list span.bad { background: #fde5ec; color: #9b2f44; }
.report-risk-list span.stable { background: #f1f3f5; color: var(--muted); }
.report-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0 8px; }
.report-table th { color: var(--muted); font-size: 11px; text-align: left; text-transform: uppercase; letter-spacing: .04em; }
.report-table td { padding: 10px; background: #fbf8ff; color: var(--ink); font-size: 12px; font-weight: 800; vertical-align: top; overflow-wrap: anywhere; }
.report-table td:first-child { border-radius: 12px 0 0 12px; }
.report-table td:last-child { border-radius: 0 12px 12px 0; }
.report-action-list { display: grid; gap: 10px; }
.report-action-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.report-action-status article { padding: 12px; border: 1px solid #eee6f6; border-radius: 16px; background: #fff; }
.report-action-status strong { display: block; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 24px; line-height: 1; }
.report-action-status span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; text-transform: none; letter-spacing: 0; }
.report-action-list article { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 12px; padding: 15px; border: 1px solid #eee6f6; border-radius: 16px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.report-action-main { display: grid; align-content: start; gap: 7px; }
.report-action-list strong { display: block; color: var(--ink); line-height: 1.25; }
.report-action-list small { display: block; color: var(--brand); font-weight: 900; }
.report-action-list p { margin: 2px 0 0; font-size: 12px; line-height: 1.35; }
.report-action-list .priority { width: fit-content; min-height: auto; padding: 4px 9px; border-radius: 999px; color: #6a0dad; background: #f3e8ff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.report-action-list .priority.alta { color: #9b2f44; background: #fde5ec; }
.report-action-list .priority.media { color: #97651d; background: #fff1d4; }
.report-action-list dl { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 5px 8px; margin: 0; }
.report-action-list dt { color: var(--muted); font-size: 11px; font-weight: 900; }
.report-action-list dd { margin: 0; color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.25; overflow-wrap: break-word; }
.effectiveness-report-grid { display: grid; gap: 10px; }
.effectiveness-report-grid article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .7fr) auto auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #eee6f6; border-radius: 16px; background: #fff; }
.effectiveness-report-grid strong, .effectiveness-report-grid small { display: block; }
.effectiveness-report-grid small { color: var(--muted); font-weight: 800; }
.effectiveness-report-grid b { color: var(--brand); font-family: "JetBrains Mono", monospace; }
.effectiveness-report-grid span { border-radius: 999px; padding: 5px 8px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.effectiveness-report-grid span.good { background: #e4f7ed; color: #247151; }
.effectiveness-report-grid span.bad { background: #fde5ec; color: #9b2f44; }
.before-after-bars { display: grid; gap: 5px; }
.before-after-bars i { height: 7px; border-radius: 999px; background: #f3e8ff; }
.before-after-bars i::after { content: ""; display: block; width: var(--bar); height: 100%; border-radius: inherit; background: var(--brand); }
.before-after-bars i:first-child::after { background: #e9949d; }
.before-after-bars i:last-child::after { background: #58b685; }
.report-list { display: grid; grid-template-columns: 1fr !important; }
.signature-block { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 18px; align-items: end; }
.signature-block i { height: 64px; border-bottom: 1px solid #cbb8dc; }

.risk-dimension { display: grid; gap: 14px; }
.dimension-title { display: flex; justify-content: space-between; gap: 14px; align-items: end; flex-wrap: wrap; }
.dimension-title span { color: var(--brand); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.dimension-title label { min-width: min(420px, 100%); color: var(--muted); }
.risk-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.risk-tags button { min-height: 32px; border: 1px solid #efd0c8; border-radius: 999px; padding: 0 12px; background: #fff5f4; color: #9b2f44; font-size: 12px; font-weight: 900; }
.risk-tags button:nth-child(2n) { border-color: #f0dcae; background: #fffaf0; color: #97651d; }
.risk-tags button:nth-child(3n) { border-color: #c8dff4; background: #f1f7ff; color: #285d87; }
.question-list { display: grid; gap: 8px; }
.question-code { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #f5edff; color: var(--brand); font-size: 12px; font-weight: 900; }
.risk-dimension .question-row { grid-template-columns: 40px minmax(260px, 1fr) 150px 100px 96px; margin-top: 0; }

.trend-arrow { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-family: "JetBrains Mono", monospace; font-size: 18px; line-height: 1; }
.trend-arrow.good { color: #247151; background: rgba(88,182,133,.18); }
.heatmap-filters, .critical-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.heatmap-filters select, #critical-area-filter { min-height: 38px; border: 1px solid #e4d7f0; border-radius: 999px; padding: 0 34px 0 13px; background: #fff; color: var(--ink); font-weight: 800; }
.heatmap-board { grid-template-columns: minmax(96px, .72fr) repeat(var(--heatmap-columns, 4), minmax(112px, 1fr)); }
.heat-cell { min-height: 82px; display: grid !important; place-items: center; gap: 4px; border-radius: 18px !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.42), 0 10px 18px rgba(71,42,113,.08); transition: transform .16s ease, box-shadow .16s ease; }
.heat-cell:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), 0 16px 30px rgba(71,42,113,.14); }
.heat-cell.has-tooltip:hover::after, .heat-cell.has-tooltip:hover::before { display: none; }
.heat-cell strong { min-height: auto; padding: 0; border: 0; background: transparent; color: inherit; font-size: 22px; line-height: 1; }
.heat-cell small { display: block; color: inherit; opacity: .86; font-family: Inter, system-ui, sans-serif; font-size: 11px; font-weight: 900; }
.risk-tags-mini { display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; max-width: 100%; }
.risk-tags-mini em { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: 999px; padding: 3px 6px; background: rgba(255,255,255,.55); color: inherit; font-family: Inter, system-ui, sans-serif; font-size: 10px; font-style: normal; font-weight: 900; box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); }
.heatmap-legend { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; color: var(--muted); font-size: 12px; font-weight: 900; }
.heatmap-legend span { display: flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #eee6f6; border-radius: 999px; background: rgba(255,255,255,.72); }
.heatmap-legend i { width: 10px; height: 10px; border-radius: 50%; }
.heatmap-legend .low { background: #dff5e8; }
.heatmap-legend .light { background: #dceeff; }
.heatmap-legend .medium { background: #fff1b8; }
.heatmap-legend .high { background: #ffd7b5; }
.heatmap-legend .critical { background: #ffc4c4; }
.heat-cell.selected { outline: 3px solid rgba(106,13,173,.32); outline-offset: 3px; }
.heatmap-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; padding: 14px; border: 1px solid #eadcf5; border-radius: 20px; background: linear-gradient(135deg, #fff, #fbf8ff); box-shadow: 0 10px 24px rgba(71,42,113,.06); }
.heatmap-detail span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.heatmap-detail h3 { margin: 5px 0 6px; font-size: 18px; }
.heatmap-detail p { margin: 0; font-size: 13px; }
.heatmap-detail-list { display: grid; gap: 7px; }
.heatmap-detail-list b { color: var(--ink); font-size: 13px; }
.heatmap-detail-list small { display: block; padding: 8px 10px; border: 1px solid #eee6f6; border-radius: 12px; background: #fff; color: var(--muted); font-weight: 800; line-height: 1.35; }
.heatmap-detail-action { display: grid; gap: 7px; align-content: start; }
.heatmap-detail-action strong { color: #9b2f44; font-size: 15px; }
.heatmap-detail-action .primary-button { width: fit-content; min-height: 36px; padding-inline: 14px; font-size: 13px; }
.area-risk-list { display: grid; gap: 8px; }
.area-risk-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 9px 10px; border: 1px solid #eee6f6; border-radius: 12px; background: #fff; }
.area-risk-list strong { color: var(--ink); font-size: 13px; }
.area-risk-list small { display: block; margin-top: 2px; color: var(--muted); font-weight: 800; }
.area-risk-list b { font-family: "JetBrains Mono", monospace; color: var(--brand); }
.critical-stack { align-content: start; }
.radar .critical-stack { display: grid; grid-template-columns: 1fr; gap: 10px; }
.critical-card { width: 100%; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: start; text-align: left; padding-bottom: 14px; }
.critical-card small { grid-column: 1; }
.critical-card strong { grid-row: 1 / span 2; grid-column: 2; align-self: center; min-width: 42px; text-align: right; }
.critical-card em { grid-row: 1; grid-column: 3; justify-self: end; display: none; }
.critical-card b { grid-row: 3; grid-column: 1; width: fit-content; padding: 4px 8px; border-radius: 999px; background: #fde5ec; color: #9b2f44; font-size: 11px; font-weight: 900; }
.critical-card i { grid-column: 1 / -1; width: fit-content; max-width: 100%; min-height: 30px; display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; border: 1px solid #dac8ee; border-radius: 999px; padding: 0 14px; color: var(--brand); background: #fff; font-size: 13px; line-height: 1; font-style: normal; font-weight: 900; white-space: nowrap; box-shadow: 0 6px 14px rgba(106,13,173,.06); }
.critical-card.critical { border-left: 4px solid var(--brand-2); background: linear-gradient(135deg, #fff, #fbf8ff); }
.critical-card.high { border-left: 4px solid #dca84a; background: linear-gradient(135deg, #fff, #fffaf0); }
.priority-strip { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #eee6f6; }
.priority-strip > span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.priority-strip button { display: grid; grid-template-columns: 26px 1fr; gap: 2px 8px; align-items: center; min-height: 48px; border: 1px solid #eee6f6; border-radius: 14px; padding: 8px 10px; background: #fff; text-align: left; }
.priority-strip strong { grid-row: 1 / span 2; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #f5edff; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 13px; }
.priority-strip small { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.priority-strip b { color: var(--ink); font-size: 13px; }
.empty-state { padding: 14px; border: 1px dashed #d8c7e8; border-radius: 16px; color: var(--muted); background: #fbf8ff; font-weight: 800; }

@media (max-width: 920px) {
  .method-grid, .indicator-grid, .effectiveness-grid, .action-board, .report-builder, .risk-hero, .risk-main-grid, .risk-summary-grid, .library-impact, .library-stats, .library-filter-panel, .effectiveness-hero, .effectiveness-story-grid, .indicator-summary-grid, .indicator-source-grid, .org-data-summary, .org-data-filters, .org-data-guide, .evidence-flow, .integration-grid, .report-readiness, .report-narrative-grid, .method-note-grid, .report-source-grid { grid-template-columns: 1fr; }
  .indicator-source-note, .org-data-hero { align-items: stretch; flex-direction: column; }
  .diagnostic-detail, .detail-table article, .attention-item, .criteria-item, .heatmap-detail, .report-visual-grid, .report-action-list article, .effectiveness-report-grid article, .template-library-grid { grid-template-columns: 1fr; }
  .client-kpis, .heatmap-board, .critical-card, .risk-list article { grid-template-columns: 1fr; }
  .executive-summary { align-items: flex-start; flex-direction: column; }
  .risk-dimension .question-row { grid-template-columns: 1fr; }
  .risk-list .soft-button,
  .risk-list .primary-button,
  .action-create-card .primary-button {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .report-page { padding: 22px; }
  .report-page ul { grid-template-columns: 1fr; }
  .report-sections,
  .report-mini-grid,
  .report-summary ol,
  .report-data-grid,
  .report-action-status,
  .report-critical-bars article { grid-template-columns: 1fr; }
}

.ruler-track { background: linear-gradient(90deg, #dff5e8 0 20%, #dceeff 20% 40%, #fff1b8 40% 60%, #ffd7b5 60% 80%, #ffc4c4 80% 100%); }
.ruler-labels { grid-template-columns: repeat(5, 1fr); }
.ruler-labels span { text-align: center; }

.critical-card.low { border-left: 4px solid #8bd7ad; background: linear-gradient(135deg, #fff, #f6fcf9); }
.critical-card.light { border-left: 4px solid #9cc9f0; background: linear-gradient(135deg, #fff, #f5faff); }
.critical-card.medium { border-left: 4px solid #e8c95d; background: linear-gradient(135deg, #fff, #fffdf1); }
.critical-card.high { border-left: 4px solid #e7a15c; background: linear-gradient(135deg, #fff, #fff7ef); }
.critical-card.critical { border-left: 4px solid #e9949d; background: linear-gradient(135deg, #fff, #fff6f7); }
.critical-card strong { display: block; min-width: 62px; font-size: 20px; }
.critical-card .score-label { color: var(--muted); font-family: Inter, system-ui, sans-serif; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.critical-card .risk-level { grid-row: 1; grid-column: 3; justify-self: end; display: inline-flex; align-items: center; min-height: 26px; color: var(--brand); background: #f4ecfb; }
.critical-card button { grid-column: 1 / -1; width: fit-content; max-width: 100%; min-height: 30px; margin-top: 8px; box-shadow: 0 6px 14px rgba(106,13,173,.06); }

.action-modal { display: grid; gap: 14px; }
.action-modal dl, .action-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin: 0; }
.action-modal dt { color: var(--muted); font-size: 12px; font-weight: 900; }
.action-modal dd { margin: 0; color: var(--ink); font-weight: 800; }
.action-form .full { grid-column: 1 / -1; }
.action-form textarea { min-height: 88px; resize: vertical; }

.report-status { padding: 10px 12px; border: 1px solid #d8eadf; border-radius: 12px; background: #f5fbf7; color: #247151; font-weight: 900; }

.radar { min-width: 0; }
.radar > div { min-width: 0; }
.radar .priority-strip,
.radar .action-history {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  min-width: 0;
  width: 100%;
}
.radar .priority-strip > span {
  display: block;
  width: 100%;
  min-width: 0;
  line-height: 1.2;
}
.radar .priority-strip button {
  width: 100%;
  min-width: 0;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  padding: 10px 12px;
  overflow: hidden;
}
.radar .priority-strip strong {
  grid-row: 1 / span 2;
  flex: 0 0 auto;
}
.radar .priority-strip small,
.radar .priority-strip b {
  grid-column: 2;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
  line-height: 1.25;
}
.radar .priority-strip small {
  display: block;
  margin-bottom: 2px;
}

.library-impact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-bottom: 14px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.library-impact p { max-width: 760px; margin: 0; }
.library-impact-flow { display: grid; grid-template-columns: auto 28px auto 28px auto 28px auto; align-items: center; gap: 8px; padding: 12px; border: 1px solid #eadcf5; border-radius: 18px; background: rgba(255,255,255,.72); }
.library-impact-flow b { padding: 8px 10px; border-radius: 999px; background: #f7f0ff; color: var(--brand); font-size: 12px; white-space: nowrap; }
.library-impact-flow i { height: 2px; border-radius: 99px; background: linear-gradient(90deg, #d9c1f4, var(--brand-2)); }
.library-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.library-stats article { padding: 16px; border: 1px solid #eadcf5; border-radius: 20px; background: rgba(255,255,255,.9); box-shadow: 0 10px 26px rgba(71,42,113,.06); }
.library-stats strong { display: block; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 30px; line-height: 1; }
.library-stats span, .library-stats small { display: block; margin-top: 6px; color: var(--muted); font-weight: 850; }
.library-stats span { color: var(--ink); }
.library-filter-panel { display: grid; grid-template-columns: minmax(0, 1fr) 220px 210px 180px; gap: 12px; margin-bottom: 16px; }
.template-library-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 14px; }
.template-card { min-width: 0; display: grid; gap: 12px; padding: 18px; border: 1px solid #eadcf5; border-left-width: 5px; border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 12px 30px rgba(71,42,113,.07); }
.template-card.alta { border-left-color: #e9949d; }
.template-card.média, .template-card.media { border-left-color: #e8c95d; }
.template-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.template-card-top span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.template-card-top em { padding: 5px 9px; border-radius: 999px; background: #f7f0ff; color: var(--brand); font-size: 11px; font-style: normal; font-weight: 900; }
.template-card h2 { margin: 0; font-size: 22px; }
.template-card p { margin: 0; }
.template-card dl, .template-detail-modal dl { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 7px 10px; margin: 0; padding: 12px; border-radius: 16px; background: #fbf8ff; }
.template-card dt, .template-detail-modal dt { color: var(--muted); font-size: 11px; font-weight: 900; }
.template-card dd, .template-detail-modal dd { min-width: 0; margin: 0; color: var(--ink); font-size: 12px; font-weight: 850; line-height: 1.28; overflow-wrap: anywhere; }
.template-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.template-actions .soft-button, .template-actions .primary-button { min-width: 0; justify-content: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.template-detail-modal { display: grid; gap: 13px; }
.template-detail-modal > span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.template-detail-modal ol { display: grid; gap: 8px; margin: 0; padding-left: 18px; color: var(--muted); font-weight: 800; }
.risk-card-training { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 8px; }
.risk-card-training small { color: var(--muted); font-size: 11px; font-weight: 900; }
.risk-card-training button { min-height: 28px; border: 1px solid #eadcf5; border-radius: 999px; padding: 0 10px; background: #fbf8ff; color: var(--brand); font-size: 11px; font-weight: 900; }
.effectiveness-grid:has(.effectiveness-workspace) { grid-template-columns: 1fr; }
.effectiveness-workspace { display: grid; gap: 16px; }
.effectiveness-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .58fr); align-items: center; gap: 18px; background: linear-gradient(135deg, #fff, #fbf8ff); }
.effectiveness-hero span { color: var(--brand); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.effectiveness-hero h2 { margin: 4px 0 6px; font-size: 26px; }
.effectiveness-hero p { margin: 0; max-width: 680px; }
.effectiveness-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.effectiveness-kpis article { padding: 14px; border: 1px solid #eadcf5; border-radius: 16px; background: #fff; text-align: center; }
.effectiveness-kpis strong { display: block; color: var(--brand); font-family: "JetBrains Mono", monospace; font-size: 26px; }
.effectiveness-kpis small { display: block; color: var(--muted); font-weight: 850; }
.effectiveness-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.effectiveness-story-card { display: grid; gap: 12px; padding: 18px; border: 1px solid #eadcf5; border-left-width: 5px; border-radius: 22px; background: #fff; box-shadow: 0 10px 26px rgba(71,42,113,.06); }
.effectiveness-story-card.good { border-left-color: #58b685; }
.effectiveness-story-card.bad { border-left-color: #e9949d; }
.effectiveness-story-card span { color: var(--brand); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.effectiveness-story-card h3 { margin: 4px 0; font-size: 22px; }
.effectiveness-story-card p { margin: 0; }
.mini-before-after { position: relative; height: 12px; border-radius: 999px; background: linear-gradient(90deg, #e4f7ed, #eef6ff, #fff1d4, #ffe2c8, #fde5ec); overflow: hidden; }
.mini-before-after i, .mini-before-after b { position: absolute; top: 0; bottom: 0; width: 5px; border-radius: 99px; }
.mini-before-after i { left: var(--before); background: #9b2f44; }
.mini-before-after b { left: var(--after); background: #247151; }
.effectiveness-story-card dl { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 7px 10px; margin: 0; }
.effectiveness-story-card dt { color: var(--muted); font-size: 11px; font-weight: 900; }
.effectiveness-story-card dd { margin: 0; color: var(--ink); font-size: 12px; font-weight: 850; line-height: 1.3; overflow-wrap: anywhere; }
.report-evidence-list { display: grid; gap: 8px; margin-top: 12px; }
.report-evidence-list article { padding: 11px 12px; border: 1px solid #eee6f6; border-radius: 14px; background: #fbf8ff; }
.report-evidence-list strong, .report-evidence-list span, .report-evidence-list small { display: block; }
.report-evidence-list span { color: var(--brand); font-size: 11px; font-weight: 900; }
.report-evidence-list small { color: var(--muted); font-weight: 800; }

.knowledge-shell {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.knowledge-nav {
  position: sticky;
  top: 116px;
  display: grid;
  gap: 10px;
}
.knowledge-nav > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.knowledge-nav button {
  min-height: 70px;
  display: grid;
  gap: 4px;
  border: 1px solid #eee6f6;
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.82);
  color: var(--ink);
  text-align: left;
  box-shadow: 0 8px 18px rgba(71,42,113,.04);
}
.knowledge-nav button.active {
  border-color: rgba(106,13,173,.35);
  background: linear-gradient(135deg, #fff, #f6ecff);
  box-shadow: 0 14px 28px rgba(106,13,173,.10);
}
.knowledge-nav strong {
  font-size: 15px;
  line-height: 1.15;
}
.knowledge-nav small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}
.knowledge-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.knowledge-hero,
.knowledge-panel {
  border: 1px solid #eee6f6;
  border-radius: 24px;
  padding: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(250,246,255,.88));
  box-shadow: 0 18px 40px rgba(71,42,113,.07);
}
.knowledge-hero > span,
.knowledge-card > span,
.action-template-card > span {
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.knowledge-hero h2,
.knowledge-panel h3,
.knowledge-card h3,
.action-template-card h3 {
  margin: 6px 0 8px;
  color: var(--ink);
}
.knowledge-hero h2 {
  max-width: 780px;
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 1.03;
}
.knowledge-hero p,
.knowledge-card p,
.action-template-card p,
.knowledge-panel p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.knowledge-grid,
.action-template-grid {
  display: grid;
  gap: 14px;
}
.knowledge-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.knowledge-grid.three,
.action-template-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.knowledge-card,
.action-template-card {
  min-width: 0;
  border: 1px solid #eee6f6;
  border-radius: 22px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(71,42,113,.05);
}
.knowledge-card h3,
.action-template-card h3 {
  font-size: 21px;
  line-height: 1.16;
}
.knowledge-checklist,
.knowledge-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.knowledge-checklist span,
.knowledge-links a {
  min-height: 46px;
  display: flex;
  align-items: center;
  border: 1px solid #eee6f6;
  border-radius: 16px;
  padding: 10px 12px;
  background: #fff;
  color: var(--ink);
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}
.knowledge-checklist span::before {
  content: "";
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  margin-right: 9px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-2), var(--brand));
}
.knowledge-links a:hover,
.knowledge-nav button:hover,
.action-template-card button:hover {
  transform: translateY(-1px);
}
.knowledge-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.knowledge-flow article {
  min-height: 122px;
  display: grid;
  align-content: start;
  gap: 7px;
  border: 1px solid #eee6f6;
  border-radius: 20px;
  padding: 16px;
  background: #fff;
}
.knowledge-flow b {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f5edff;
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
}
.knowledge-flow strong {
  color: var(--ink);
}
.knowledge-flow small {
  color: var(--muted);
  font-weight: 800;
  line-height: 1.25;
}
.action-template-card {
  display: grid;
  align-content: start;
  gap: 9px;
}
.action-template-card strong {
  color: var(--ink);
  line-height: 1.25;
}
.action-template-card dl,
.knowledge-plan-modal dl {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 6px 10px;
  margin: 0;
}
.action-template-card dt,
.knowledge-plan-modal dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.action-template-card dd,
.knowledge-plan-modal dd {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.action-template-card button {
  width: fit-content;
  max-width: 100%;
  min-height: 34px;
  margin-top: 4px;
  padding-inline: 14px;
}
.knowledge-timeline {
  display: grid;
  gap: 12px;
}
.knowledge-timeline article {
  border: 1px solid #eee6f6;
  border-radius: 18px;
  padding: 16px;
  background: #fff;
}
.knowledge-timeline time {
  color: var(--brand);
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 900;
}
.knowledge-timeline strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
}
.knowledge-script {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
  color: var(--ink);
  font-weight: 800;
}
.knowledge-plan-modal {
  display: grid;
  gap: 14px;
}
.knowledge-plan-modal > span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.knowledge-plan-modal p {
  margin: 0;
  color: var(--muted);
}
.knowledge-plan-modal ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 22px;
}
.knowledge-plan-modal li {
  color: var(--ink);
  font-weight: 800;
}

@media (max-width: 1100px) {
  .knowledge-grid.three,
  .action-template-grid,
  .knowledge-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .knowledge-shell,
  .knowledge-grid.two,
  .knowledge-grid.three,
  .action-template-grid,
  .knowledge-checklist,
  .knowledge-links,
  .knowledge-flow {
    grid-template-columns: 1fr;
  }
  .knowledge-nav {
    position: static;
  }
}

@media print {
  @page { size: A4; margin: 14mm; }
  body { background: #fff; }
  .app-shell > aside, .app-header, .company-tabs, .report-builder aside, .client-header, .client-kpis, #executive-summary { display: none !important; }
  .app-main { width: 100%; margin: 0; padding: 0; }
  .company-panel { display: none !important; }
  #company-tab-reports { display: block !important; }
  .report-builder, .report-preview { display: block; padding: 0; border: 0; box-shadow: none; background: #fff; }
  .report-page { width: 100%; padding: 0; border-radius: 0; box-shadow: none; font-size: 10.5pt; color: #181225; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .report-cover { min-height: 240px; break-inside: avoid; page-break-inside: avoid; }
  .report-page h1 { font-size: 26pt; }
  .report-page h2 { font-size: 15pt; }
  .report-section { break-inside: avoid; page-break-inside: avoid; margin-top: 18px; }
  .report-section:nth-of-type(5n) { break-before: auto; }
  .report-status { display: none; }
  .report-action-list article,
  .inventory-grid article,
  .report-risk-list article,
  .report-mini-grid article,
  .report-summary li { break-inside: avoid; page-break-inside: avoid; }
  .report-preview * { box-shadow: none !important; }
}
