:root {
  color-scheme: light;
  --ink: #142920;
  --muted: #52635a;
  --soft: #6a776f;
  --forest: #143f30;
  --green: #226044;
  --lime: #c6e898;
  --line: #dee5db;
  --paper: #fbfcf8;
  --ground: #eff3eb;
  --radius: 22px;
  --shadow: 0 18px 34px -27px #18362a86, 0 1px 2px #132e2309, inset 0 1px #fff;
  --font: Inter, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
}

/* Administração discreta, com o mesmo acabamento do painel. */
.admin-access { border: 0; padding: 0; background: transparent; color: inherit; font-size: inherit; font-weight: 760; letter-spacing: .08em; }
.admin-dialog { width: min(570px, calc(100vw - 28px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid #dce5d6; border-radius: 23px; padding: 28px; color: var(--ink); background: radial-gradient(ellipse at top right, #edf4e4, transparent 55%), #fbfcf8; box-shadow: 0 30px 100px #051f2360, inset 0 1px #fff; }
.admin-dialog::backdrop { background: #10291e8c; backdrop-filter: blur(7px); }
.admin-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.admin-kicker { display: block; color: #61745e; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 760; margin-bottom: 8px; }
.admin-heading h2 { font-size: 25px; }
.admin-close { display: grid; place-items: center; flex: 0 0 32px; height: 32px; padding: 0; font-size: 25px; line-height: 1; color: #51614d; background: #e8eee2; border: 1px solid #d7e1d0; border-radius: 10px; }
.admin-close:hover { background: #dce7d5; }
.admin-caption { font-size: 13px; color: var(--muted); margin-top: 12px; line-height: 1.6; }
.admin-form { display: grid; gap: 8px; margin-top: 25px; }
.admin-form label { font-weight: 680; font-size: 12px; }
.admin-form input { width: 100%; border: 1px solid #cfdccb; background: #fff; padding: 12px; border-radius: 10px; min-height: 46px; }
.admin-primary, .admin-secondary { border-radius: 11px; min-height: 43px; padding: 11px 18px; font-size: 12px; font-weight: 730; border: 1px solid #164b34; }
.admin-primary { background: linear-gradient(145deg,#286044,#123c2b); color: #f3ffe8; box-shadow: inset 0 1px #ffffff32, 0 4px 8px #173d2c1a; }
.admin-primary:hover:not(:disabled) { background: linear-gradient(145deg,#32734e,#194932); }
.admin-secondary { background: #f0f4eb; border-color: #d5dfce; color: #3d5945; }
.admin-status { min-height: 22px; margin: 15px 0; font-size: 12px; color: #43704b; line-height: 1.6; }
.admin-status.is-error { color: #ad3c2b; }
.admin-current { display: flex; align-items: center; justify-content: space-between; margin: 21px 0 14px; padding: 10px 13px; font-size: 11px; color: #597052; border: 1px solid #dce5d4; background: #edf3e7; border-radius: 10px; }
.admin-current strong { color: #2b5538; font-size: 12px; }
.admin-file { display: grid; justify-items: center; gap: 6px; position: relative; overflow: hidden; cursor: pointer; border: 1px dashed #9bb58c; border-radius: 15px; padding: 24px 15px; background: linear-gradient(145deg,#fff,#edf5e7); color: #356344; }
.admin-file:hover, .admin-file:focus-within { border-color: #346945; background: #eef6e7; }
.admin-file svg { width: 28px; height: 28px; margin-bottom: 5px; }
.admin-file strong { font-size: 13px; }
.admin-file > span { color: #718068; font-size: 11px; }
.admin-file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.admin-summary { margin-top: 17px; border: 1px solid #dbe5d4; background: #fff; padding: 16px; border-radius: 14px; }
.admin-filename { display: block; font-size: 12px; overflow-wrap: anywhere; color: #3e6146; }
.admin-totals { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 16px 0; }
.admin-totals > span { display: grid; gap: 2px; color: #6b7966; font-size: 11px; }
.admin-totals b { font-size: 25px; color: #1d482e; letter-spacing: -.04em; }
.admin-campaign { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; border-top: 1px solid #e6ecdf; padding: 13px 0 0; margin-top: 12px; }
.admin-campaign div { display: grid; gap: 3px; font-size: 12px; }
.admin-campaign div span { color: #687660; font-size: 11px; }
.admin-campaign b { color: #345e3e; font-size: 16px; align-self: center; font-variant-numeric: tabular-nums; }
.admin-campaign small { grid-column: 1 / -1; color: #687660; font-size: 10px; line-height: 1.6; }
.admin-note { color: #65745d; font-size: 11px; line-height: 1.6; margin: 12px 1px 0; }
.admin-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }
.admin-success { text-align: center; padding: 28px 10px; display: grid; justify-items: center; gap: 12px; }
.admin-success > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e1efd5; color: #30633d; box-shadow: 0 0 0 8px #edf5e7; font-size: 28px; }
.admin-success strong { font-size: 25px; color: #2b5938; }
.admin-success p { color: #67765e; font-size: 12px; }
.admin-reload { width: 100%; }
@media(max-width: 500px) { .admin-dialog { padding: 22px 18px; } .admin-heading h2 { font-size: 22px; } }

* { box-sizing: border-box; }
html { min-width: 320px; }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(ellipse at 78% -18%, #e2ece0 0%, transparent 44%),
    radial-gradient(ellipse at 12% 0%, #f9faf2 0%, transparent 48%), var(--ground);
  font: 14px/1.45 var(--font);
  -webkit-font-smoothing: antialiased;
}
button, select, input { font: inherit; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
button, a, select, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, select:focus-visible, input:focus-visible, [role="button"]:focus-visible, a:focus-visible {
  outline: 3px solid #7ca95d;
  outline-offset: 3px;
}
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(23px, 2.2vw, 31px); font-weight: 740; letter-spacing: -.055em; line-height: 1.15; }
h2 { font-size: 19px; letter-spacing: -.035em; line-height: 1.2; }
h3 { font-size: 15px; letter-spacing: -.018em; }
small { font-size: 11px; }
strong { font-weight: 720; }
.skip { position: fixed; z-index: 20; left: 12px; top: -80px; padding: 10px; background: white; }
.skip:focus { top: 12px; }
.icon { width: 17px; height: 17px; display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.shell, .top-inner { width: min(1336px, calc(100% - 76px)); margin-inline: auto; }
.topbar { position: sticky; z-index: 5; top: 0; background: #f9fbf6f1; backdrop-filter: blur(20px); border-bottom: 1px solid #d7e1d6; box-shadow: inset 0 2px #c4d5bf, 0 4px 15px #203a2e06; }
.top-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 73px; }
.brand { display: flex; align-items: center; gap: 10px; padding: 0; background: transparent; border: 0; text-align: left; white-space: nowrap; }
.brand img { border-radius: 0; box-shadow: none; }
.brand > span { display: grid; gap: 0; }
.brand strong { font-size: 18px; font-weight: 840; letter-spacing: .095em; line-height: 1; }
.brand span span { color: var(--muted); font-size: 11px; font-weight: 610; margin-top: 3px; }
.main-nav { display: flex; align-items: center; gap: 4px; }
.main-nav button {
  min-height: 39px; display: flex; align-items: center; gap: 6px; padding: 7px 12px;
  border-radius: 9px; border: 1px solid transparent; background: transparent;
  white-space: nowrap; font-size: 12.5px; font-weight: 650; color: #42574d;
  transition: color .2s, background .2s, border-color .2s;
}
.main-nav button:hover { background: #ecf1e8; color: var(--forest); }
.main-nav button[aria-current="page"] { background: linear-gradient(160deg, #eef5e9, #e0eddd); color: #174d36; border-color: #d4e2cf; box-shadow: inset 0 1px #fff9, 0 2px 4px #1d3d2710; }
.main-nav [data-icon] { display: grid; place-items: center; }
.main-nav .icon { width: 15px; height: 15px; }
.edition { border: 1px solid #dbe6d7; padding: 5px 9px; border-radius: 7px; color: #496753; font-size: 10px; font-weight: 740; display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.edition::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6f9a56; box-shadow: 0 0 0 3px #87b46f26; }
.toolbar {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 18px;
  padding: 26px 0 19px; min-height: 89px;
}
.heading { min-width: 0; }
.heading .crumbs { margin-bottom: 7px; }
.crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; color: var(--soft); font-size: 11px; font-weight: 620; }
.crumbs button { padding: 0; background: transparent; border: 0; color: #3f6a50; }
.crumbs button:hover { text-decoration: underline; }
.crumbs .icon { width: 12px; height: 12px; }
.filters, .section-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.field { display: inline-flex; align-items: center; gap: 6px; position: relative; }
.field select {
  min-width: 105px; max-width: 100%; height: 36px; border-radius: 9px; border: 1px solid #dbe4d8;
  background: #fbfcf8; padding: 0 29px 0 10px; color: #284337; font-size: 12px;
  font-weight: 660; appearance: none; cursor: pointer; box-shadow: 0 1px 1px #133d2610;
}
.field > .icon { position: absolute; pointer-events: none; right: 8px; width: 14px; height: 14px; color: #61766a; }
.segments { display: inline-flex; align-items: stretch; gap: 2px; padding: 3px; border: 1px solid #dce5d8; border-radius: 9px; background: #e8eee4; }
.segments button {
  border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 4px 9px;
  min-height: 27px; white-space: nowrap; color: #466050; font-size: 11.5px; font-weight: 710;
  transition: background .2s, color .2s, box-shadow .2s;
}
.segments button:hover { background: #f5f8f1; }
.segments button[aria-pressed="true"] { background: #fff; color: #183d2a; border-color: #dbe5d7; box-shadow: 0 1px 2px #19372413; }
.segments.periods button[aria-pressed="true"] { color: #f4faec; background: linear-gradient(153deg,#2d634a,#174333); border-color: #20533e; box-shadow: inset 0 1px #ffffff26, 0 2px 4px #123a2a31; }
.small-control {
  display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d8e3d4; border-radius: 8px;
  padding: 7px 10px; background: #f9fbf5; font-size: 11px; font-weight: 710; color: #315642; white-space: nowrap;
}
.small-control:hover { background: #e9f1e3; }
.small-control .icon { width: 14px; height: 14px; }
.hero {
  --hero-light: #2f5f4d;
  isolation: isolate; position: relative; overflow: hidden; border-radius: 25px; min-height: 282px;
  display: grid; grid-template-columns: minmax(282px, .78fr) minmax(0, 1.25fr);
  gap: clamp(14px, 3.1vw, 51px); align-items: center; padding: 23px clamp(23px, 3.45vw, 52px);
  color: #f4fbef; border: 1px solid #34614d;
  background: radial-gradient(ellipse at 8% 119%, #376a4b 0%, transparent 60%),
    radial-gradient(ellipse at 88% -40%, var(--hero-light) 0%, transparent 65%),
    linear-gradient(118deg, #102f27, #0c382c 65%, #0b2b25);
  box-shadow: 0 29px 54px -34px #08271fbe, inset 0 1px #eaffd842, inset 0 -1px #08231d90, 0 3px 9px #172c2424;
}
.hero-detail { --hero-light: #365e62; }
.hero::before {
  position: absolute; z-index: -1; inset: 0; pointer-events: none; content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h160v160H0z' fill='%23fff' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  opacity: .22; mix-blend-mode: screen;
}
.terrain { position: absolute; inset: 0 auto auto 0; width: 72%; height: 100%; z-index: -1; opacity: .30; pointer-events: none; }
.hero-copy { min-width: 0; }
.hero-kicker { display: flex; align-items: center; gap: 8px; color: #c1dacb; font-size: 11px; font-weight: 760; letter-spacing: .115em; text-transform: uppercase; }
.hero-kicker .icon { width: 15px; height: 15px; color: #c9eaaa; }
.hero-number {
  display: flex; align-items: baseline; gap: 3px; font-size: clamp(56px, 6.5vw, 100px);
  font-weight: 700; line-height: 1.02; letter-spacing: -.095em; font-variant-numeric: tabular-nums;
  margin: 9px 0 13px; white-space: nowrap; color: #f1f9e9;
}
.hero-number .pct { font-size: .46em; letter-spacing: -.065em; margin-left: 4px; color: #cbe7b9; }
.hero-number.warn, .hero-number.warn .pct { color: #ffdbaf; }
.hero-number.bad, .hero-number.bad .pct { color: #ffd3cb; }
.hero-number.missing { font-size: clamp(41px, 5vw, 73px); color: #d4e6d6; }
.hero-meta { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; min-height: 31px; }
.hero-meta button, .hero-meta .mini-tag {
  display: inline-flex; align-items: center; gap: 5px; min-height: 29px; padding: 4px 8px; border-radius: 7px;
  border: 1px solid #a4cdb63b; color: #dceee2; background: #d5f1db13; font-size: 11px; font-weight: 650;
}
.hero-meta button:hover { background: #d5f1db27; }
.hero-meta .mini-tag.positive, .hero-meta button.positive { background: #a1d47220; color: #d4f3b9; border-color: #aad6844a; }
.hero-meta .mini-tag.negative, .hero-meta button.negative { background: #d7a68022; color: #ffd9ad; border-color: #eab78a51; }
.hero-meta .mini-tag .icon, .hero-meta button .icon { width: 13px; height: 13px; }
.hero-benchmark strong { margin-left: 3px; padding-left: 7px; border-left: 1px solid #b9d3bc42; white-space: nowrap; }
.hero-caption { color: #bdd6c8; font-size: 11px; margin-top: 11px; }
.chart-wrap {
  min-width: 0; align-self: center; padding: 12px 14px 5px; border-radius: 17px; border: 1px solid #a3c5af35;
  background: linear-gradient(146deg,#d6ede014,#142f2a37);
  box-shadow: inset 0 1px #e0f8e120, 0 15px 30px -21px #061e18bd;
}
.chart-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #e3f0e5; font-weight: 660; font-size: 12px; margin: 0 0 5px 3px; }
.chart-keys { display: flex; align-items: center; gap: 12px; }
.chart-key { display: flex; align-items: center; gap: 7px; font-size: 10px; color: #c4d8ca; white-space: nowrap; }
.chart-key::before { content: ""; width: 13px; border-top: 1px dashed #c6d9cb; }
.chart-key.benchmark::before { border-top: 2px dotted #afc9c0; }
.plot { display: block; width: 100%; overflow: visible; min-width: 0; }
.plot .point-value { font: 700 13px var(--font); fill: #edf6eb; font-variant-numeric: tabular-nums; }
.plot .point-value.warn { fill: #ffd5a3; }
.plot .point-value.bad { fill: #ffbfb6; }
.plot .point-value.good { fill: #e3f8cc; }
.plot .point-label { font: 700 12px var(--font); fill: #c6dcce; }
.plot .active-label { fill: #edffd4; }
.plot .point-control { cursor: pointer; }
.plot .hit { fill: transparent; stroke: none; }
.plot .point-control:hover .plot-dot, .plot .point-control:focus-visible .plot-dot { stroke-width: 4.5px; }
.plot .plot-stroke { filter: drop-shadow(0 2px 4px #c6ed9c31); }
.plot .draw { stroke-dasharray: 1; stroke-dashoffset: 0; animation: draw 1.12s cubic-bezier(.2,.65,.24,1) both; }
.plot-enter .plot-area { animation: plot-fade .82s .18s ease-out both; }
.plot-enter .plot-labels { animation: plot-fade .62s .22s ease-out both; }
.plot-enter .plot-halo { transform-box: fill-box; transform-origin: center; animation: plot-focus .7s .84s ease-out both; }
@keyframes draw { from { stroke-dashoffset: 1; } }
@keyframes plot-fade { from { opacity: .28; } }
@keyframes plot-focus { from { transform: scale(.6); opacity: .1; } 55% { transform: scale(1.26); opacity: .31; } }
.method-button {
  width: 21px; height: 21px; display: inline-grid; place-items: center; padding: 0;
  border: 1px solid #dce6d9; background: #fbfcf9; border-radius: 50%; color: #5b7466; font: 700 12px/1 Georgia, serif;
  flex: 0 0 auto; cursor: pointer;
}
.method-button:hover { background: #e6f0e0; color: #27543d; }
.hero .method-button { color: #dcf1db; background: #ffffff0f; border-color: #bcdbc05c; }
.hero .method-button:hover { background: #ffffff24; }
.network-analysis { display: grid; gap: 14px; margin-top: 15px; }
.chart-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); align-items: start; gap: 14px; margin-top: 14px; }
.overview-charts { align-items: stretch; }
.overview-charts > .chart-card { display: flex; flex-direction: column; }
.overview-charts .sector-rows { display: grid; grid-auto-rows: minmax(34px,41px); flex: 1; align-content: start; }
.weight-card .weight-figure { flex: 1; }
.surface {
  min-width: 0; border: 1px solid var(--line); border-radius: var(--radius);
  background: linear-gradient(149deg, #ffffff, var(--paper)); box-shadow: var(--shadow);
}
.metric { padding: 15px 17px 13px; min-height: 127px; }
.metric-header { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: #425b4c; font-size: 11.5px; font-weight: 720; }
.metric-label { display: inline-flex; align-items: center; gap: 7px; }
.metric-label .icon { color: #517c5c; width: 15px; height: 15px; }
.metric-link { background: transparent; border: 0; padding: 0; text-align: left; border-radius: 5px; }
.metric-link:hover .metric-value { color: #246445; }
.metric-value { display: flex; align-items: baseline; gap: 5px; font-size: 34px; font-weight: 760; letter-spacing: -.07em; font-variant-numeric: tabular-nums; line-height: 1.1; margin: 7px 0 4px; }
.metric-value small { font-size: 16px; font-weight: 650; letter-spacing: -.025em; color: #63766a; }
.metric-value.good { color: #285e3c; }
.metric-value.warn { color: #9a5b24; }
.metric-value.bad { color: #a4423a; }
.metric-foot { color: var(--muted); font-size: 11px; }
.summary-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: 9px; padding-top: 8px; border-top: 1px solid #dce9dc;
}
.summary-grid .metric {
  display: grid; grid-template-rows: subgrid; grid-row: span 2; align-items: start;
  min-height: 0; padding: 2px 10px 1px; border: 0; border-radius: 0; box-shadow: none; background: transparent;
}
.entry .summary-grid .metric { animation: none; }
.summary-grid .metric:first-child { padding-left: 1px; }
.summary-grid .metric + .metric { padding-right: 1px; border-left: 1px solid #dce9dc; }
.summary-grid .metric-value { font-size: 29px; margin: 4px 0 2px; }
.summary-grid .metric-value small { font-size: 14px; }
.summary-grid .metric-header { gap: 4px; }
.summary-grid .metric-label { gap: 5px; }
.summary-grid .metric-foot { display: block; line-height: 1.35; }
.leaderboard, .chart-card, .recurrence-card, .impact-section, .statistics-card { padding: 14px 16px 12px; }
.overview-charts > .chart-card, .recurrence-card, .impact-section, .statistics-card {
  box-shadow: 0 13px 24px -21px #1d392e75, 0 1px 3px #233d290a, inset 0 1px #fff;
}
.leaderboard {
  --lead-name-width: 4rem;
  --lead-note-width: 3.75rem;
  --lead-cycle-width: clamp(4.5rem, 22%, 14rem);
  --lead-total-width: clamp(4.25rem, 8%, 5.5rem);
  --lead-gap: clamp(9px, 1.1vw, 14px);
  background: linear-gradient(155deg, #fcfdf9, #eff6ed);
  font-variant-numeric: tabular-nums;
}
.leaderboard .lead-head {
  margin-bottom: 8px; padding: 10px 11px; border: 1px solid #335e49; border-radius: 11px;
  color: #f1f9ef;
  background: repeating-linear-gradient(130deg, transparent 0 12px, #ffffff08 12px 13px),
    radial-gradient(ellipse at 100% 150%, #5d8154, transparent 68%), linear-gradient(115deg, #1c4d39, #264d39);
  box-shadow: inset 0 1px #ecffe425, 0 6px 11px -9px #244a39;
}
.lead-head h2, .lead-tools { display: flex; align-items: center; gap: 8px; }
.lead-head h2 .icon { color: #c0dcae; }
.lead-focus {
  color: #e8f5df; font-size: 10px; font-weight: 730; padding: 3px 7px;
  border: 1px solid #bdd5b45b; border-radius: 6px; background: #ecffd014; white-space: nowrap;
}
.lead-head .method-button { color: #eef9eb; border-color: #bfd8bd69; background: #ffffff10; }
.lead-head .method-button:hover { background: #ffffff2b; }
.lead-columns, .lead-row {
  display: grid; grid-template-columns: minmax(0,1fr); gap: var(--lead-gap); align-items: center; padding-inline: 7px;
}
.has-cycles :is(.lead-columns, .lead-row) { grid-template-columns: minmax(0,1fr) var(--lead-cycle-width); }
.has-total :is(.lead-columns, .lead-row) { grid-template-columns: minmax(0,1fr) var(--lead-cycle-width) var(--lead-total-width); }
.lead-main {
  display: grid; grid-template-columns: var(--lead-name-width) minmax(0,1fr) var(--lead-note-width);
  align-items: center; gap: var(--lead-gap); text-align: right; white-space: nowrap; min-width: 0;
}
.lead-main > :first-child { text-align: left; }
.lead-columns { color: #476053; font-size: 10.5px; font-weight: 740; padding-bottom: 5px; }
.lead-total-label { text-align: center; }
.lead-list { list-style: none; margin: 0; padding: 0; }
.lead-row { min-height: 34px; border-top: 1px solid #dce8db; border-radius: 6px; transition: background .2s; }
.lead-row:nth-child(even) { background: #edf4eb; }
.lead-row.warn { background: linear-gradient(90deg,#fbf0df,#faf8ef); box-shadow: inset 2px 0 #c98443; }
.lead-row.bad { background: linear-gradient(90deg,#fbe3df,#fcf1ee); box-shadow: inset 2px 0 #b52b3e; }
.lead-row:hover, .lead-row:focus-within { background: #e3efe1; }
.lead-row.warn:hover, .lead-row.warn:focus-within { background: #f8e9d2; }
.lead-row.bad:hover, .lead-row.bad:focus-within { background: #f8dbd7; }
.lead-row .lead-main { padding: 0; background: transparent; border: 0; border-radius: 4px; min-height: 31px; font-size: 12px; }
.lead-unit { display: flex; align-items: center; gap: 7px; }
.lead-position { width: 16px; text-align: right; color: #61796b; font-weight: 650; font-size: 10px; }
.lead-row:first-child .lead-position { color: #336247; font-weight: 800; }
.lead-main .lead-track { height: 12px; box-shadow: inset 0 1px 2px #25463815; }
.lead-main .lead-reference { top: -8px; bottom: -8px; border-color: #2546389e; }
.lead-row.missing .lead-track { background: repeating-linear-gradient(135deg,#eff4ed 0 4px,#e0e8dd 4px 6px); }
.lead-cycles {
  display: grid; grid-template-columns: repeat(var(--cycles), minmax(0,1fr));
  gap: 2px; padding-left: 7px; border-left: 1px solid #d6e3d6; text-align: center;
}
.lead-columns .lead-cycles span { border-radius: 5px; padding: 2px 0; white-space: nowrap; }
.lead-columns .lead-cycles .is-current { color: #244e37; background: #e1eee0; }
.lead-cycle {
  position: relative; display: grid; place-items: center; height: 29px; padding: 0;
  border: 1px solid transparent; border-radius: 5px; background: transparent;
}
.lead-cycle.is-current { border-color: #d1e2d0; background: #e1eee078; }
.lead-cycle:hover, .lead-cycle:focus-visible { border-color: #82a48c; background: #e1eee0; z-index: 3; }
.lead-cycle::after {
  content: attr(data-note); position: absolute; right: 0; bottom: calc(100% + 4px);
  padding: 3px 6px; color: #f4fbf3; background: #234938; border-radius: 5px;
  box-shadow: 0 3px 7px #1735282c; font-size: 10px; font-weight: 700; white-space: nowrap;
  visibility: hidden; pointer-events: none;
}
.lead-cycle:hover::after, .lead-cycle:focus-visible::after { visibility: visible; }
.cycle-track {
  position: relative; width: clamp(6px,55%,16px); height: 21px; border-radius: 3px;
  background: #dce7dc; box-shadow: inset 0 1px 2px #2b4f3218;
}
.cycle-track i {
  position: absolute; inset: auto 0 0; min-height: 1px; border-radius: inherit; transform-origin: bottom;
  background: linear-gradient(0deg,#427957,#84ad7b); box-shadow: inset 0 1px #ffffff41;
}
.lead-cycle.warn i { background: linear-gradient(0deg,#b46a2c,#e3a55e); }
.lead-cycle.bad i { background: linear-gradient(0deg,#a7273e,#e47165); }
.lead-cycle.missing .cycle-track { height: 1px; box-shadow: none; background: #9fb2a3; }
.entry .cycle-track i { animation: cycle-rise .58s cubic-bezier(.2,.75,.3,1) both; }
@keyframes cycle-rise { from { transform: scaleY(.15); } }
.lead-total {
  justify-self: stretch; min-height: 26px; padding: 2px 0; border: 1px solid #d5e4d5; border-radius: 6px;
  background: #e7f1e5; font-size: 11px; white-space: nowrap;
}
.lead-total.warn { background: #faeddc; border-color: #efdfc8; }
.lead-total.bad { background: #fae5e2; border-color: #f1cfcb; }
.lead-total.missing { background: transparent; border-color: transparent; }
.lead-total:hover { border-color: #82a48c; }
.sector-columns { color: #456052; font-weight: 720; font-size: 11px; padding-bottom: 5px; text-align: right; white-space: nowrap; }
.lead-scale { display: block; height: 21px; position: relative; }
.lead-scale strong {
  position: absolute; top: 1px; transform: translateX(-50%); border-radius: 5px; padding: 1px 5px;
  color: #285143; background: #e1eee0; border: 1px solid #d1e2d2; font-size: 10.5px; font-weight: 780;
}
.sector-score-row {
  width: 100%; border: 0; border-top: 1px solid #dfe9df; text-align: right; font-size: 12px;
  min-height: 34px; background: transparent; border-radius: 5px; font-variant-numeric: tabular-nums;
  transition: background .22s, box-shadow .22s;
}
.sector-score-row:hover { background: #e4f0e3; box-shadow: 0 2px 5px #23392a0c; }
.sector-score-row.warn { background: #fbf0df; box-shadow: inset 2px 0 #c6823e; }
.sector-score-row.bad { background: #fae4e1; box-shadow: inset 3px 0 #b52b3e; }
.sector-score-row.bad:hover { background: #f7d8d4; }
.sector-score-row.warn:hover { background: #f7e6cb; }
.sector-score-row.bad .sector-bar-name { color: #8c2030; }
.lead-track { height: 11px; background: linear-gradient(180deg,#dfe9dd,#ebf1e8); border-radius: 6px; position: relative; }
.lead-bar {
  position: absolute; inset: 0 auto 0 0; border-radius: 6px; background: #63936a;
  box-shadow: inset 0 1px #ffffff37, inset 0 -1px #2446302b;
}
.lead-bar.good { background: linear-gradient(100deg,#3a7550,#7aa670); }
.lead-bar.warn { background: linear-gradient(100deg,#b96a2b,#e5a45a); }
.lead-bar.bad { background: linear-gradient(100deg,#aa263c,#e16860); box-shadow: inset 0 1px #ffffff36, 0 1px 4px #b3213a2b; }
.lead-reference { position: absolute; top: -10px; bottom: -10px; border-left: 1px dashed #254638da; z-index: 1; pointer-events: none; }
.sector-score-row.missing .lead-track { background: repeating-linear-gradient(135deg, #eef2ec 0 4px, #e0e8dd 4px 6px); }
.lead-value { font-weight: 780; }
.lead-value.good, .weight-legend .good { color: #285e3c; }
.lead-value.warn, .weight-legend .warn, .sector-gap.warn { color: #8c521f; }
.lead-value.bad, .weight-legend .bad, .sector-gap.bad { color: #9f2235; }
.lead-value.missing { color: #62766a; }
.lead-value.missing { font-size: 10px; white-space: nowrap; }
.sector-columns, .sector-score-row { display: grid; grid-template-columns: minmax(8.8rem,.8fr) minmax(0,1.35fr) 4.4rem 4.8rem; align-items: center; gap: 8px; padding-inline: 7px; }
.sector-columns > :first-child, .sector-bar-name { text-align: left; }
.sector-bar-name { font-weight: 690; line-height: 1.2; }
.sector-gap { color: #637769; font-size: 11px; font-weight: 750; white-space: nowrap; }
.chart-card { background: linear-gradient(145deg,#fcfdf9,#f1f7ef); }
.weight-figure { display: grid; grid-template-columns: 8rem minmax(0,1fr); align-items: center; gap: 16px; padding: 9px 3px; }
.weight-ring {
  display: grid; place-items: center; width: 8rem; aspect-ratio: 1; border-radius: 50%;
  background: conic-gradient(#b52d42 0 var(--critical), #d58b42 var(--critical) var(--below), #63936c var(--below) 100%);
  box-shadow: 0 8px 22px -15px #2d503c77, inset 0 0 0 1px #30473618;
}
.weight-core {
  display: flex; flex-direction: column; align-items: center; justify-content: center; width: 78%; aspect-ratio: 1;
  background: #f9fcf7; border-radius: 50%; box-shadow: inset 0 0 0 1px #e2ece0, 0 0 0 1px #234c2e19;
}
.weight-core strong { font-size: 22px; letter-spacing: -.06em; line-height: 1.08; color: #2d5c40; font-variant-numeric: tabular-nums; }
.weight-core.attention strong { color: #982637; }
.weight-core small { font-size: 9px; color: #556f60; font-weight: 650; margin-top: 3px; }
.weight-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.weight-legend li { display: grid; grid-template-columns: 9px minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 7px 3px; border-bottom: 1px solid #e1ebe0; font-size: 11px; }
.weight-legend li:last-child { border-bottom: 0; }
.weight-legend i { width: 8px; height: 8px; border-radius: 3px; background: currentColor; }
.weight-legend strong { font-variant-numeric: tabular-nums; }
.safety-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 8px 0 11px; }
.safety-total { display: flex; flex-direction: column; align-items: flex-start; padding: 10px; border-radius: 10px; background: #ecf4eb; border: 1px solid #dce9dc; }
.safety-total:first-child { background: #f8eeea; border-color: #eadbd5; }
.safety-total > span { font-weight: 720; font-size: 11px; color: #325345; }
.safety-total strong { font-size: 32px; line-height: 1; margin: 5px 0 4px; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.safety-total small { font-size: 10px; color: #546d5f; }
.safety-columns, .safety-row { display: grid; grid-template-columns: 2.4rem repeat(2,minmax(0,1fr)); align-items: center; gap: 7px; padding-inline: 5px; }
.safety-columns { color: #446052; font-size: 10px; font-weight: 700; padding-bottom: 4px; }
.safety-row { width: 100%; border: 0; border-top: 1px solid #e0e9de; border-radius: 5px; background: transparent; min-height: 32px; text-align: left; font-size: 11px; }
.safety-row.is-current { background: #e9f3e7; }
.safety-row:hover { background: #dfeddd; }
.safety-cell { display: grid; grid-template-columns: minmax(0,1fr) 1.3rem; align-items: center; gap: 5px; color: #607568; }
.safety-cell strong { text-align: right; font-variant-numeric: tabular-nums; }
.safety-cell.stops.has-count { color: #982637; }
.safety-cell.plans.has-count { color: #2b6645; }
.safety-track { display: block; height: 7px; border-radius: 5px; background: #e2ebe0; }
.safety-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(100deg,#337454,#7fa779); transform-origin: left; }
.safety-cell.stops .safety-track i { background: linear-gradient(100deg,#a52b3f,#db7065); }
.entry .safety-track i, .entry .dev-track i { animation: scale-in .68s cubic-bezier(.2,.75,.3,1) both; }
.recurrence-card {
  --repeat-accent: #8c4a38;
  --repeat-muted: #5b6c62;
  --repeat-line: #e5e9e0;
  font-variant-numeric: tabular-nums;
  background: radial-gradient(ellipse at 0% 0%,#faf7ed 0%,transparent 42%), linear-gradient(152deg,#fdfdf9,#f8faf5);
}
.recurrence-card .recurrence-head { padding: 0 0 10px; }
.recurrence-head .card-title .mark { flex: 0 0 26px; }
.has-repeats .recurrence-head .card-title .mark {
  color: var(--repeat-accent); border-color: #ecdecc; background: #f7efe1;
}
.recurrence-tools { display: flex; align-items: center; gap: 7px; }
.recurrence-period {
  border: 1px solid #e4e8de; border-radius: 6px; padding: 3px 7px;
  background: #f4f6ef; color: var(--repeat-muted); font-size: 10.5px; font-weight: 750; white-space: nowrap;
}
.has-repeats .recurrence-period { border-color: #ece1d0; background: #faf4e7; color: #7c5c40; }
.recurrence-metrics {
  display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1fr);
  margin: 0 0 12px; padding: 8px 0; border-block: 1px solid var(--repeat-line);
}
.recurrence-stat {
  display: grid; grid-template-rows: subgrid; grid-row: span 2; align-items: start;
  min-width: 0; padding: 1px 12px;
}
.recurrence-stat:first-child { padding-left: 0; }
.recurrence-stat + .recurrence-stat { border-left: 1px solid var(--repeat-line); }
.recurrence-stat dt { color: var(--repeat-muted); font-size: 11px; font-weight: 710; }
.recurrence-stat dd { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 9px; row-gap: 2px; margin: 4px 0 0; }
.recurrence-stat strong { font-size: clamp(25px,2.6vw,36px); font-weight: 760; letter-spacing: -.06em; line-height: 1; }
.has-repeats .recurrence-stat.primary strong { color: var(--repeat-accent); }
.recurrence-stat small { color: var(--repeat-muted); font-size: 10.5px; font-weight: 580; }
.recurrence-rate { grid-template-columns: minmax(0,1fr) auto; column-gap: 9px; }
.recurrence-rate dt, .recurrence-rate dd { grid-column: 1; }
.recurrence-ring {
  display: grid; place-items: center; grid-column: 2; grid-row: 1 / span 2; align-self: center;
  width: clamp(45px,5vw,68px); aspect-ratio: 1; border-radius: 50%;
  background: conic-gradient(#a66953 0%,#d1a77f var(--repeat-share),#ebeee5 var(--repeat-share) 100%);
  box-shadow: inset 0 0 0 1px #67574519, 0 4px 12px -9px #7558496c;
}
.recurrence-ring::before {
  content: ""; width: 73%; aspect-ratio: 1; border-radius: 50%; background: #fbfbf6;
  box-shadow: inset 0 0 0 1px #e7e7df;
}
.recurrence-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.88fr) minmax(0,1.2fr); }
.recurrence-layout.is-partial { grid-template-columns: minmax(0,1fr); }
.recurrence-panel { min-width: 0; padding-inline: 13px; }
.recurrence-panel:first-child { padding-left: 0; }
.recurrence-panel:last-child { padding-right: 0; }
.recurrence-panel + .recurrence-panel { border-left: 1px solid var(--repeat-line); }
.recurrence-panel h3 { color: #355143; font-size: 13px; margin-bottom: 6px; }
.recurrence-panel ul { list-style: none; padding: 0; margin: 0; }
.recurrence-columns, .recurrence-row {
  display: grid; grid-template-columns: 3.75rem minmax(0,1fr) 3.55rem 2.35rem;
  gap: 6px; align-items: center; padding-inline: 6px; text-align: right; white-space: nowrap;
}
.recurrence-columns { color: var(--repeat-muted); font-size: 10px; font-weight: 690; padding-bottom: 3px; }
.recurrence-columns > :first-child, .recurrence-row > :first-child { text-align: left; }
.recurrence-row {
  width: 100%; min-height: 31px; border: 0; border-top: 1px solid var(--repeat-line); border-radius: 6px;
  background: transparent; color: var(--ink); font-size: 11px; transition: background .2s;
}
.recurrence-row:hover, .recurrence-row[aria-pressed="true"] { background: #f1f4ed; }
.has-repeats .recurrence-row[aria-pressed="true"] { background: #f8f1e5; color: var(--repeat-accent); }
.recurrence-count { font-weight: 700; }
.recurrence-track { display: block; height: 6px; border-radius: 5px; background: #eeeee6; }
.recurrence-track i {
  display: block; height: 100%; border-radius: inherit; transform-origin: left;
  background: linear-gradient(100deg,#b28d65,#d8bc8e);
}
.has-repeats .recurrence-row[aria-pressed="true"] i { background: linear-gradient(95deg,#aa705b,#c59579); }
.entry .recurrence-track i { animation: scale-in .7s cubic-bezier(.2,.75,.3,1) both; }
.recurrence-sectors li {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; column-gap: 8px; row-gap: 3px;
  padding: 4px 0 5px; font-size: 11px; font-weight: 620; border-top: 1px solid var(--repeat-line);
}
.recurrence-sectors .recurrence-track { grid-column: 1 / -1; height: 5px; }
.recurrence-sectors li strong { color: #5f695a; }
.recurrence-findings li {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center;
  gap: 8px; border-top: 1px solid var(--repeat-line); padding: 6px 0;
}
.recurrence-findings li strong { display: block; color: var(--ink); font-size: 11px; line-height: 1.26; overflow-wrap: anywhere; }
.recurrence-findings li small { display: block; color: var(--repeat-muted); font-size: 10px; margin-top: 2px; }
.recurrence-findings li b { color: #795b48; font-size: 11px; white-space: nowrap; }
.recurrence-findings summary { cursor: pointer; color: #40604e; font-size: 11px; font-weight: 710; padding: 4px 0 1px; }
.recurrence-findings details ul { max-height: 12rem; overflow-y: auto; }
.recurrence-empty { margin: 0 0 9px; padding: 6px 2px; color: var(--repeat-muted); font-size: 12px; font-weight: 650; }
.recurrence-empty:last-child { margin-bottom: 0; }
.statistics-card { background: linear-gradient(145deg,#fcfdf9,#f4f8f2); font-variant-numeric: tabular-nums; }
.statistics-card .statistics-head { padding: 0 0 9px; color: #204535; }
.stats-metrics {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 0 0 11px; padding: 7px 0; border-block: 1px solid #dee9de;
}
.stats-metrics > div {
  display: grid; grid-template-rows: subgrid; grid-row: span 2; align-items: start;
  min-width: 0; padding: 0 11px;
}
.stats-metrics > :first-child { padding-left: 0; }
.stats-metrics > div + div { border-left: 1px solid #dee9de; }
.stats-metrics dt { color: #536a5b; font-size: 11px; font-weight: 710; }
.stats-metrics dd {
  color: #23513e; margin: 3px 0 0; font-size: clamp(22px,2.5vw,33px);
  font-weight: 750; letter-spacing: -.055em; line-height: 1.12;
}
.stats-charts { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(0,1fr); }
.stats-range { min-width: 0; padding-right: 13px; }
.stats-spread { min-width: 0; padding-left: 13px; border-left: 1px solid #dee9de; }
.stats-subhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; margin-bottom: 4px; }
.stats-subhead h3 { color: #325746; font-size: 13px; }
.stats-legend { display: flex; gap: 8px; }
.stats-key { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: #506b5c; white-space: nowrap; }
.stats-key::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2d6550; }
.stats-key.target::before { width: 9px; height: 0; border-radius: 0; background: none; border-top: 1px dashed #416b58; }
.stats-row {
  display: grid; grid-template-columns: 2.8rem minmax(0,1fr) 8.25rem; align-items: center; gap: 8px;
  width: 100%; min-height: 32px; padding: 3px 5px; border: 0; border-top: 1px solid #e1eae0; border-radius: 5px;
  background: transparent; text-align: left; color: #334e40; font-size: 11px;
}
.stats-spread .stats-row { grid-template-columns: 2.8rem minmax(0,1fr) 5.15rem; }
.stats-row > :last-child { text-align: right; white-space: nowrap; }
button.stats-row:hover, .stats-row[aria-pressed="true"] { background: #e8f1e7; }
.stats-axis { min-height: 21px; border-top: 0; color: #577063; font-size: 10px; font-weight: 680; }
.stats-scale { position: relative; display: block; height: 15px; }
.stats-scale > span { position: absolute; top: 0; }
.stats-scale > :first-child { left: 0; }
.stats-scale > :last-child { right: 0; }
.stats-range-track, .stats-spread-track {
  display: block; position: relative; height: 7px; border-radius: 5px; background: #e0ebe0;
}
.stats-interval { position: absolute; inset-block: 0; border-radius: inherit; background: linear-gradient(90deg,#79a785,#a9c8a4); }
.stats-goal { position: absolute; inset-block: -4px; border-left: 1px dashed #416b58a3; }
.stats-dot {
  position: absolute; top: 50%; z-index: 1; width: 10px; height: 10px; transform: translate(-50%,-50%);
  border: 1px solid #f7fcf4; border-radius: 50%; background: #2d6550;
}
.stats-spread-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#467a72,#8bb2a2); transform-origin: left; }
.entry .stats-spread-track i { animation: scale-in .65s cubic-bezier(.2,.75,.3,1) both; }
.section { margin-top: 25px; }
.section-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; min-height: 34px; }
.section-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.section-title .icon { color: #4f7959; }
.section-top h2 { padding-left: 9px; border-left: 3px solid #5e8c70; color: #1c4334; }
.impact-section { margin-top: 14px; background: linear-gradient(145deg,#fcfdf9,#f6f9f3); }
.impact-head {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 8px; padding-bottom: 9px; border-bottom: 1px solid #e0e9df; color: #1c4334;
}
.impact-tools {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 2px; padding: 2px 3px;
  border: 1px solid #dfe8db; border-radius: 8px; background: #eff4eb;
}
.impact-tools .segments { border: 0; border-radius: 0; padding: 0; gap: 1px; background: transparent; }
.impact-tools .segments + .segments { border-left: 1px solid #dce6d9; padding-left: 4px; margin-left: 2px; }
.impact-tools .segments button { min-height: 26px; padding: 3px 8px; font-size: 11px; }
.impact-grid, .detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.impact-list { min-width: 0; padding: 10px 13px 0 0; }
.impact-list + .impact-list { padding: 10px 0 0 13px; border-left: 1px solid #e0e9df; }
.impact-list .card-head { padding: 0 0 7px; color: #274e3c; }
.impact-loss .card-head { color: #82424b; }
.detail-grid { gap: 14px; }
.detail-card { padding: 14px 16px 10px; }
.card-head { display: flex; justify-content: space-between; align-items: center; gap: 7px; padding: 0 1px 10px; }
.chart-card .card-head, .detail-card .card-head {
  background: linear-gradient(135deg,#e1eee3,#eef6ed); border: 1px solid #d8e7da; border-radius: 10px; padding: 8px 9px; margin-bottom: 7px;
  color: #1d4637;
}
.surface.risk-card { border-color: #e8cbc7; background: linear-gradient(151deg,#fffaf8,#fbf0ed); }
.risk-card .card-head { color: #862536; background: linear-gradient(130deg,#f4d9d5,#faece9); border-color: #eac9c4; }
.card-title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.card-title .mark {
  display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px;
  color: #376c47; background: #e6efe2; border: 1px solid #dae6d7;
}
.card-title .mark.neg { color: #a02e3b; background: #f8e8e4; border-color: #ebcfca; }
.card-title .mark .icon { width: 14px; height: 14px; }
.rank-row {
  width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto auto 14px; gap: 10px;
  align-items: center; text-align: left; padding: 8px 4px 8px 0; border: 0;
  border-top: 1px solid #edf1ea; background: transparent; border-radius: 4px;
  font-size: 12px; transition: background .16s, color .16s;
}
.rank-row:hover { background: #edf4e9; color: #1c583c; }
.rank-row .icon { width: 13px; height: 13px; color: #779186; }
.rank-name { font-weight: 680; display: grid; gap: 2px; min-width: 0; }
.rank-name > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rank-name small { color: var(--soft); font-weight: 530; }
.rank-name .rank-track { height: 4px; max-width: 165px; border-radius: 3px; background: #e4eee2; margin-top: 4px; }
.rank-track i { height: 100%; display: block; border-radius: 2px; background: #8bb780; transform-origin: left; animation: scale-in .55s cubic-bezier(.2,.75,.3,1) both; }
.impact-loss .rank-track { background: #f2e6e2; }
.rank-track i.neg { background: linear-gradient(100deg,#ad2c40,#de8276); }
.rank-impact { min-width: 60px; font-weight: 720; font-size: 11px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pos { color: #26623c; }
.neg-text { color: #a32b3e; }
.neutral { color: var(--soft); }
.score-pill {
  display: inline-flex; justify-content: center; min-width: 65px; align-items: center; padding: 4px 7px;
  border-radius: 6px; color: #56675e; font-size: 11px; font-weight: 730;
  letter-spacing: -.01em; white-space: nowrap; font-variant-numeric: tabular-nums; background: #edf0eb;
}
.score-pill.good, .heat-cell.good { background: #e4f0df; color: #245634; }
.score-pill.warn, .heat-cell.warn { background: #faedd7; color: #80501d; }
.score-pill.bad, .heat-cell.bad { background: #f7e4e0; color: #943c37; }
.table-wrap { overflow-x: auto; overscroll-behavior-inline: contain; border-radius: var(--radius); }
.table-panel { padding: 11px 15px 10px; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; text-align: left; font-variant-numeric: tabular-nums; }
th { font-size: 10.5px; font-weight: 730; color: #567064; vertical-align: bottom; }
td { font-size: 12px; }
th, td { border-bottom: 1px solid #e9eee6; padding: 8px 9px; }
tr:last-child td { border-bottom: 0; }
thead th { padding-top: 8px; padding-bottom: 10px; }
th.num, td.num { text-align: center; }
th.selected-col { color: #1e523e; background: #ecf3e8; border-radius: 5px 5px 0 0; }
td.selected-col { background: #f2f6ef; }
.table-link { border: 0; background: transparent; border-radius: 5px; text-align: left; padding: 0; font-weight: 690; font-size: inherit; }
.table-link:hover { color: #226044; text-decoration: underline; }
.table-link small { display: block; color: var(--muted); margin-top: 2px; font-weight: 510; }
.heat { min-width: 620px; }
.heat th, .heat td { padding: 6px; }
.heat-cell { width: 100%; border: 1px solid #e8ede5; border-radius: 6px; font-size: 11px; font-weight: 710; padding: 6px 4px; color: #67796d; background: #f2f4ef; white-space: nowrap; }
.heat-cell:hover { outline: 1px solid #688970; filter: saturate(1.35); }
.heat-cell.bad { background: linear-gradient(145deg,#f0b8ae,#e6a095); color: #752a25; border-color: #cf8176; box-shadow: inset 0 1px #ffebe46b; }
.heat-cell.bad:hover { outline-color: #b45449; filter: saturate(1.12); }
.heat td:first-child, .heat th:first-child { min-width: 65px; }
.heat-unit { display: flex; align-items: center; gap: 6px; }
.cluster-dot { height: 6px; width: 6px; border-radius: 50%; display: inline-block; background: #728b78; }
.cluster-dot[data-cluster="Norte"] { background: #679373; }
.cluster-dot[data-cluster="Centro"] { background: #839eaf; }
.cluster-dot[data-cluster="Sul"] { background: #b2a56e; }
.directory { min-width: 580px; }
.directory td { padding-top: 9px; padding-bottom: 9px; }
.directory tbody tr:hover { background: #f2f6ef; }
.score-button { border: 0; padding: 0; background: transparent; border-radius: 6px; }
.score-button:hover .score-pill { outline: 1px solid #7d9c7f; }
.query { border: 1px solid #dae4d6; background: #fcfdf9; border-radius: 8px; color: #2d4336; height: 34px; width: min(205px, 100%); padding: 0 10px; font-size: 12px; }
.detail-card { padding: 17px; }
.detail-grid { margin-top: 15px; align-items: start; }
.detail-grid.one { grid-template-columns: 1fr; }
.detail-grid.unit-detail { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); }
.unit-context { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.unit-context.has-extrema { grid-template-columns: repeat(4,minmax(0,1fr)); }
.unit-stat { min-height: 110px; padding: 13px 14px 11px; }
.unit-stat .metric-value { font-size: 29px; }
.unit-stat .metric-foot { white-space: normal; }
.unit-stat .metric-label { gap: 5px; }
.sector-timeline .table-wrap { border-radius: 9px; }
.sector-timeline table { min-width: 520px; }
.sector-timeline td, .sector-timeline th { padding-inline: 5px; }
.sector-timeline td .score-pill { min-width: 54px; padding-inline: 4px; }
.sector-timeline td:first-child { min-width: 116px; }
.timeline-impact { white-space: nowrap; font-size: 10.5px; font-weight: 710; }
.detail-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 14px; }
.detail-metric { padding: 13px 16px; }
.detail-metric .metric-value { font-size: 26px; }
.unit-operational {
  gap: 0; margin-top: 9px; border: 1px solid var(--line); border-radius: 13px;
  background: #f9fcf6; box-shadow: var(--shadow);
}
.unit-operational .detail-metric { min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 9px 13px 8px; }
.unit-operational .detail-metric + .detail-metric { border-left: 1px solid #e0e9dd; }
.unit-operational .metric-value { font-size: 21px; margin-top: 3px; }
.detail-subtitle { color: #c4d8cc; font-size: 11px; font-weight: 590; margin-top: 7px; }
.dev-table { width: 100%; }
.dev-table th { padding: 5px 6px; }
.dev-table td { padding: 8px 6px; line-height: 1.3; }
.dev-table th:first-child, .dev-table td:first-child { padding-left: 0; }
.dev-table .number { text-align: right; white-space: nowrap; }
.deviation-chart.has-deviations { border-color: #d9ded2; background: linear-gradient(145deg,#fffef9,#f7f8f1); box-shadow: 0 18px 36px -28px #324d3d6b, inset 0 1px #fff; }
.deviation-chart .card-head { background: linear-gradient(145deg,#eaf3e9,#f4f8f0); }
.deviation-chart.has-deviations .card-head { background: linear-gradient(145deg,#e8efe2,#f3f5eb); border-color: #d5dfcc; }
.deviation-chart.has-deviations .card-title { color: #2e4d3b; }
.deviation-chart.has-deviations .card-title .mark { color: #90654d; background: #f5edde; border-color: #e4d8bf; }
.deviation-chart.has-deviations .method-button { color: #596f59; border-color: #d6e0cf; background: #fafff6; }
.deviation-count { color: #885044; font-weight: 780; }
.deviation-audited { color: #626960; font-weight: 640; }
.deviation-impact { color: #80584a; font-weight: 750; }
.dev-button { width: 100%; padding: 0; background: transparent; border: 0; font-size: 11.5px; font-weight: 650; text-align: left; line-height: 1.35; }
.dev-track { display: block; width: min(91%,145px); height: 4px; margin: 4px 0 0 14px; border-radius: 3px; background: #e4ece1; }
.dev-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(100deg,#507d66,#9ebc98); transform-origin: left; }
.dev-button:hover { color: #215b3f; }
.dev-button .icon { width: 12px; height: 12px; margin-right: 2px; color: #6e8e76; }
.dev-button[aria-expanded="true"] .icon { transform: rotate(90deg); }
.has-deviations .dev-table th { color: #66705d; }
.has-deviations .dev-table th, .has-deviations .dev-table td { border-bottom-color: #e5e6da; }
.has-deviations .dev-track { background: #e9e5d8; }
.has-deviations .dev-track i { background: linear-gradient(100deg,#ac7a5c,#d0b18b); }
.has-deviations .dev-button:hover { color: #704c3b; }
.has-deviations .dev-button .icon { color: #aa9274; }
.has-deviations .dev-history { background: #f0f2e7; color: #56604c; }
.has-deviations .dev-history-inner strong { color: #415d3d; }
.has-deviations .history-legend { color: #68755d; }
.has-deviations .text-button { color: #657352; }
.dev-history { background: #edf4eb; color: #365342; }
.dev-history-inner { display: flex; flex-wrap: wrap; gap: 5px 12px; padding: 4px 7px; font-size: 10.5px; }
.dev-history-inner strong { color: #18402c; }
.history-legend { color: #577264; flex-basis: 100%; }
.text-button { background: transparent; border: 0; color: #2c6448; font-size: 11px; font-weight: 730; padding: 7px 0 0; }
.text-button:hover { text-decoration: underline; }
.empty { padding: 19px 13px; color: #617369; font-weight: 600; font-size: 12px; text-align: center; }
.hero .empty { color: #d5e5d9; border: 1px dashed #bedac15c; border-radius: 12px; }
.empty.small { text-align: left; padding: 12px 0 7px; }
.compare-tools {
  padding: 13px 15px; display: flex; flex-wrap: wrap; align-items: end; gap: 9px 13px;
  background: linear-gradient(145deg,#fcfdf9,#f3f7f0);
}
.compare-tools > .segments { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); max-width: 100%; }
.compare-tools > .segments button { white-space: normal; }
.compare-fields {
  flex: 1 1 380px; display: flex; flex-wrap: wrap; align-items: end; gap: 7px 11px;
  padding-left: 13px; border-left: 1px solid #e0e9df;
}
.compare-tools .field select { max-width: 240px; }
.compare-choice { display: grid; min-width: 0; gap: 3px; }
.compare-choice > span { font-size: 11px; font-weight: 700; color: #566d5c; }
.compare-cards, .compare-visuals { --compare-a: #347c74; --compare-b: #a17848; }
.compare-cards { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr); gap: 14px; margin-top: 14px; }
.compare-score { padding: 17px 18px; }
.compare-score .metric-value { font-size: clamp(27px, 4vw, 50px); margin-top: 11px; }
.compare-meter { margin-top: 3px; }
.compare-meter .lead-scale { height: 18px; }
.compare-meter .lead-track { display: block; height: 8px; }
.compare-meter .lead-reference { inset-block: -4px; }
.compare-score.delta-card { background: linear-gradient(145deg,#154436,#0e3027); color: #edf7eb; border-color: #285a46; }
.compare-score.delta-card .metric-header, .compare-score.delta-card .metric-foot { color: #cee4d5; }
.compare-score.delta-card .metric-value small { color: #d7ebd7; }
.compare-score.delta-card .method-button { color: #e0f2e1; background: #ffffff10; border-color: #acd5b858; }
.compare-scope { margin: 10px 1px 0; color: var(--muted); font-size: 11px; font-weight: 570; }
.compare-visuals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 13px; }
.compare-visuals.one { grid-template-columns: minmax(0,1fr); }
.compare-key { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.compare-key.series-a, .compare-plot .series-a { --series: var(--compare-a); }
.compare-key.series-b, .compare-plot .series-b { --series: var(--compare-b); }
.compare-key::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--series); }
.compare-key.series-b::before { border-radius: 2px; }
.compare-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 13px; padding: 1px 4px 4px; color: #4a6657; font-size: 11px; font-weight: 700; }
.compare-target-key { margin-left: auto; color: #526f5d; font-size: 10.5px; }
.compare-plot { display: block; width: 100%; max-height: 225px; }
.compare-plot .compare-active-band { fill: #e7f0e5; }
.compare-plot .compare-grid { stroke: #dce8dd; stroke-width: 1; }
.compare-plot .compare-grid.target { stroke: #71927d; stroke-dasharray: 4 5; }
.compare-axis-label, .compare-cycle-label { fill: #4c6a5a; font-size: 12px; font-weight: 680; }
.compare-line { fill: none; stroke: var(--series); stroke-width: 2.7; stroke-linecap: round; }
.compare-line.series-b { stroke-dasharray: .018 .012; }
.compare-point { cursor: pointer; }
.compare-hit { fill: transparent; }
.compare-point:hover .compare-hit, .compare-point:focus-visible .compare-hit { fill: #83a48629; stroke: #91b091; }
.compare-dot { fill: var(--series); stroke: #f8fcf6; stroke-width: 1.2; }
.compare-values { margin-top: 5px; border-radius: 7px; }
.compare-trend th, .compare-trend td { padding: 4px 6px; white-space: nowrap; }
.compare-gap-row {
  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr) 4.65rem; align-items: center; gap: 8px;
  width: 100%; min-height: 41px; padding: 5px 4px; border: 0; border-top: 1px solid #e0e9df;
  border-radius: 5px; text-align: left; background: transparent; font-size: 11px; font-variant-numeric: tabular-nums;
}
button.compare-gap-row:hover { background: #e8f2e5; }
.compare-gap-row > :last-child { text-align: right; white-space: nowrap; }
.compare-gap-axis { min-height: 23px; border-top: 0; color: #557060; font-size: 10px; font-weight: 700; }
.compare-zero-label { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; text-align: center; gap: 2px; }
.compare-zero-label > :first-child { text-align: left; }
.compare-zero-label > :last-child { text-align: right; }
.compare-gap-name { display: grid; min-width: 0; gap: 2px; overflow-wrap: anywhere; }
.compare-gap-name small { color: #557060; font-size: 10px; }
.compare-gap-track { position: relative; display: block; height: 7px; border-radius: 5px; background: #e4ede3; }
.compare-gap-track::after { content: ""; position: absolute; inset-block: -4px; left: 50%; border-left: 1px solid #658375; }
.compare-gap-track i { position: absolute; inset-block: 0; border-radius: 4px; }
.compare-gap-track .negative { right: 50%; background: linear-gradient(90deg,#cf857e,#a65351); transform-origin: right; }
.compare-gap-track .positive { left: 50%; background: linear-gradient(90deg,#43795d,#8bb18b); transform-origin: left; }
.entry .compare-gap-track i { animation: scale-in .65s cubic-bezier(.2,.75,.3,1) both; }
.method { position: fixed; z-index: 15; width: min(450px, calc(100vw - 26px)); max-height: calc(100dvh - 28px); overflow-y: auto; overscroll-behavior: contain; padding: 16px 17px; background: linear-gradient(150deg,#fff,#f7fbf5); color: #233c30; border: 1px solid #c8dccb; border-radius: 13px; box-shadow: 0 13px 40px #132c2538, inset 0 1px #fff; font-size: 12px; }
.method-head { display: flex; justify-content: space-between; align-items: start; gap: 8px; font-weight: 740; margin-bottom: 4px; }
.method .close { padding: 0; background: transparent; border: 0; font-size: 19px; line-height: 1; color: #4b6656; }
.method p { line-height: 1.6; }
.method-section { margin-top: 12px; }
.method-section + .method-section { padding-top: 11px; border-top: 1px solid #e3ebdf; }
.method-section h4 { margin: 0 0 4px; color: #28503b; font-size: 12.5px; line-height: 1.35; }
.method .method-context { margin-top: 8px; border-top: 1px solid #dfe9dd; padding-top: 7px; color: #4b6958; font-size: 11.5px; font-variant-numeric: tabular-nums; }
.loading { border: 1px solid #dee9dc; border-radius: 17px; background: #fbfdf8; padding: 24px; color: #4e6959; }
.footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 26px; padding: 15px 0 20px; border-top: 1px solid #dce6d9; color: #5e7265; font-size: 10.5px; }
.footer span:first-child { font-weight: 800; letter-spacing: .09em; }
.entry .reveal { animation: lift .55s cubic-bezier(.19,.74,.25,1) both; animation-delay: calc(var(--order, 0) * 52ms); }
.entry .lead-bar { transform-origin: left; animation: scale-in .68s cubic-bezier(.2,.75,.3,1) both; }
@keyframes lift { from { opacity: .48; transform: translateY(7px); } }
@keyframes scale-in { from { transform: scaleX(.15); } }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .35s; }
::view-transition { pointer-events: none; }
::view-transition-group(scope-hero) { animation-duration: .63s; animation-timing-function: cubic-bezier(.22,.78,.27,1); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 1080px) {
  .shell, .top-inner { width: calc(100% - 48px); }
  .top-inner { gap: 13px; }
  .main-nav button { padding-inline: 8px; }
  .toolbar { align-items: start; }
  .filters { justify-content: flex-end; }
  .hero { padding-inline: 27px; grid-template-columns: minmax(250px,.8fr) minmax(0,1.15fr); }
}
@media (max-width: 960px) {
  .recurrence-layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recurrence-panel.recurrence-sectors { padding-right: 0; }
  .recurrence-panel.recurrence-findings {
    grid-column: 1 / -1; padding: 9px 0 0; margin-top: 9px; border-left: 0; border-top: 1px solid var(--repeat-line);
  }
}
@media (max-width: 890px) {
  .chart-grid, .detail-grid.unit-detail, .compare-visuals { grid-template-columns: minmax(0,1fr); }
  .compare-fields { flex-basis: 100%; padding: 8px 0 0; border-left: 0; border-top: 1px solid #e0e9df; }
}
@media (max-width: 760px) {
  .shell, .top-inner { width: calc(100% - 32px); }
  .top-inner { flex-wrap: wrap; gap: 0; padding: 9px 0 4px; min-height: auto; }
  .brand img { width: 35px; height: 35px; }
  .brand strong { font-size: 16px; }
  .main-nav { order: 3; width: 100%; overflow-x: auto; margin: 5px 0 0; padding: 2px 2px 3px; scrollbar-width: thin; }
  .main-nav button { min-height: 31px; font-size: 11px; padding: 4px 8px; gap: 4px; }
  .main-nav .icon { width: 13px; height: 13px; }
  .toolbar { padding: 17px 0 12px; flex-direction: column; gap: 12px; min-height: 0; }
  .filters { justify-content: flex-start; gap: 6px; }
  .hero { grid-template-columns: 1fr; padding: 19px; gap: 18px; min-height: auto; border-radius: 20px; }
  .hero-number { font-size: 67px; margin: 6px 0 10px; }
  .terrain { width: 100%; }
  .network-analysis, .chart-grid { margin-top: 10px; gap: 10px; }
  .unit-context { gap: 8px; }
  .unit-context.has-extrema { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric { min-height: 117px; padding: 12px; }
  .metric-value { font-size: 29px; }
  .section { margin-top: 19px; }
  .section-top { align-items: start; flex-wrap: wrap; }
  .section-top h2 { margin-top: 4px; }
  .impact-grid, .detail-grid { grid-template-columns: 1fr; }
  .detail-grid { gap: 10px; }
  .impact-list, .impact-list + .impact-list { padding: 9px 0 0; border-left: 0; }
  .impact-list + .impact-list { margin-top: 6px; border-top: 1px solid #e0e9df; }
  .detail-metrics { gap: 8px; }
  .detail-metric { padding: 10px; }
  .detail-metric .metric-header { font-size: 10px; }
  .detail-metric .metric-value { font-size: 20px; }
  .compare-cards { grid-template-columns: 1fr 1fr; gap: 9px; }
  .compare-cards > :last-child { grid-column: 1 / -1; }
  .compare-score { padding: 13px; }
  .compare-tools { padding: 10px; gap: 7px; }
  .compare-tools .field select { max-width: min(232px, calc(100vw - 85px)); }
  .stats-charts { grid-template-columns: minmax(0,1fr); }
  .stats-range { padding-right: 0; }
  .stats-spread { margin-top: 9px; padding: 9px 0 0; border-left: 0; border-top: 1px solid #dee9de; }
}
@media (max-width: 640px) {
  .recurrence-layout { grid-template-columns: minmax(0,1fr); }
  .recurrence-panel { padding-inline: 0; }
  .recurrence-panel + .recurrence-panel { padding-top: 9px; margin-top: 9px; border-left: 0; border-top: 1px solid var(--repeat-line); }
  .recurrence-stat { padding-inline: 8px; }
}
@media (max-width: 365px) {
  .shell, .top-inner { width: calc(100% - 24px); }
  .hero { padding-inline: 14px; }
  .rank-row { gap: 6px; }
  .segments button { padding-inline: 6px; }
}
@media (max-width: 480px) {
  .main-nav { justify-content: space-between; scrollbar-width: none; gap: 3px; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav button { justify-content: center; padding-inline: 4px; min-height: 34px; }
  .main-nav button [data-icon] { display: none; }
  .filters { width: 100%; }
  .filters > .periods { order: 2; flex-basis: 100%; justify-content: space-between; }
  .chart-wrap { padding-inline: 6px; }
  .chart-keys { gap: 6px; }
  .leaderboard, .chart-card, .recurrence-card, .impact-section, .statistics-card { padding: 10px 9px 9px; }
  .impact-tools .segments button { padding-inline: 5px; font-size: 10.5px; }
  .summary-grid .metric-header { font-size: 10.5px; }
  .summary-grid .metric-label .icon { width: 13px; height: 13px; }
  .summary-grid .metric-value { font-size: 26px; }
  .recurrence-head h2 { font-size: 16px; }
  .recurrence-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: 5px; }
  .recurrence-stat.primary {
    display: flex; align-items: center; justify-content: space-between; gap: 6px;
    grid-column: 1 / -1; grid-row: auto; padding: 2px 0 6px; border-bottom: 1px solid var(--repeat-line);
  }
  .recurrence-stat.primary dd { margin: 0; }
  .recurrence-stat.primary strong { font-size: 32px; }
  .recurrence-stat:not(.primary) { padding-top: 5px; }
  .recurrence-stat:nth-child(2) { padding-left: 0; border-left: 0; }
  .recurrence-stat strong { font-size: 25px; }
  .recurrence-rate { column-gap: 4px; }
  .recurrence-ring { width: 34px; }
  .recurrence-rate strong { font-size: 22px; }
  .statistics-head h2 { font-size: 16px; }
  .stats-metrics > div { padding-inline: 6px; }
  .stats-metrics dt { font-size: 10px; }
  .stats-metrics dd { font-size: 19px; }
  .stats-row { grid-template-columns: 2.1rem minmax(0,1fr) 6.65rem; gap: 5px; font-size: 10px; }
  .stats-spread .stats-row { grid-template-columns: 2.1rem minmax(0,1fr) 4.2rem; }
  .stats-axis { font-size: 9.5px; }
  .compare-axis-label, .compare-cycle-label { font-size: 17px; }
  .compare-gap-row { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) 3.7rem; gap: 5px; font-size: 10px; }
  .compare-trend th, .compare-trend td { padding-inline: 3px; }
  .compare-trend .score-pill { min-width: 0; padding-inline: 4px; font-size: 10px; }
  .leaderboard {
    --lead-name-width: 2.8rem; --lead-note-width: 2.8rem; --lead-total-width: 3.1rem;
    --lead-gap: 4px;
  }
  .leaderboard .lead-head { padding: 8px 7px; }
  .lead-head h2 { font-size: 15px; }
  .lead-head h2 .icon { display: none; }
  .lead-tools { gap: 4px; }
  .lead-columns, .lead-row { padding-inline: 4px; }
  .lead-columns, .lead-row .lead-main, .lead-total { font-size: 10px; }
  .lead-unit { gap: 4px; }
  .lead-position { width: 13px; font-size: 9px; }
  .lead-cycles { padding-left: 3px; }
  .sector-columns, .sector-score-row { grid-template-columns: minmax(5.3rem,1fr) minmax(0,1.1fr) 3.55rem 3.8rem; gap: 4px; }
  .sector-bar-name, .sector-gap { font-size: 10px; }
  .unit-operational .detail-metric { padding-inline: 7px; }
  .unit-operational .metric-label .icon { display: none; }
  .unit-stat { padding: 9px 7px; }
  .unit-stat .metric-header { font-size: 10px; gap: 3px; }
  .unit-stat .metric-label .icon { display: none; }
  .unit-stat .metric-value { font-size: 21px; }
  .unit-stat .metric-value small { font-size: 11px; }
  .weight-figure { grid-template-columns: 7rem minmax(0,1fr); gap: 10px; }
  .weight-ring { width: 7rem; }
  .plot .point-label { font-size: 15px; }
  .plot .point-value { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Comparativos e reincidências: superfícies, hierarquia e gráficos. */
.compare-cards, .compare-visuals, .compare-insights { --compare-a: #2f7e76; --compare-b: #ad8657; }
.compare-score { border-color: #d4e0d0; background: linear-gradient(145deg,#fffffb,#f0f5eb); box-shadow: 0 19px 31px -25px #294d396e, inset 0 1px #fff; }
.compare-score .metric-header { font-size: 12px; font-weight: 740; }
.compare-score.delta-card { box-shadow: 0 18px 32px -22px #143a2c99, inset 0 1px #aecfaf36; }
.compare-visuals > .chart-card, .comparison-insight { border-color: #cdddcf; background: radial-gradient(ellipse at top right,#e7f0e477,transparent 55%),linear-gradient(145deg,#fffffb,#f5f8ef); box-shadow: 0 21px 36px -28px #1d483980, 0 2px 5px #30472c08, inset 0 1px #fff; }
.compare-visuals .card-head, .comparison-insight .card-head { background: linear-gradient(135deg,#deecdd,#eff5e8); border-color: #cadfc9; box-shadow: inset 0 1px #fff9, 0 3px 8px -7px #2d5c3f75; padding: 11px 12px; }
.compare-visuals .card-title { font-size: 17px; color: #204d3d; letter-spacing: -.035em; }
.comparison-canvas { margin-top: 8px; padding: 8px 5px 0; border: 1px solid #dbe7d8; border-radius: 12px; background: linear-gradient(180deg,#ffffffab,#edf5eb4d); box-shadow: inset 0 1px #fff; }
.compare-plot { max-height: 245px; }
.compare-line { stroke-width: 3; }
.compare-dot { stroke-width: 1.7; }
.compare-active-band { opacity: .72; }
.compare-legend { padding: 2px 5px 6px; gap: 7px 16px; }
.compare-values { border: 1px solid #e0e8d9; margin-top: 11px; border-radius: 11px; }
.compare-trend thead { background: #eaf2e5; }
.compare-trend th, .compare-trend td { padding: 7px 9px; }
.compare-trend tbody tr:nth-child(even) { background: #edf3e64d; }
.compare-insights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.comparison-insight { min-width: 0; padding: 14px 15px; }
.comparison-insight .card-title { font-size: 15px; color: #244e3b; }
.comparison-insight .card-head { padding: 10px; gap: 6px; }
.comparison-insight .mark { width: 24px; height: 24px; flex: 0 0 24px; }
.insight-caption, .insight-foot { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; color: #4f6b58; font-size: 11px; margin: 12px 1px 0; }
.insight-caption { font-weight: 710; }
.insight-caption > span { color: #77806c; font-size: 10px; font-weight: 600; }
.insight-foot { border-top: 1px solid #dde7d5; padding-top: 9px; margin-top: 12px; }
.insight-foot > span { font-size: 10px; }
.insight-foot strong { color: #35513e; font-size: 13px; }
.comparison-rate, .target-result { margin-top: 16px; }
.comparison-rate > div, .target-result > div { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; margin-bottom: 7px; }
.comparison-rate .compare-key, .target-result .compare-key { font-size: 12px; font-weight: 720; }
.comparison-rate strong, .target-result strong { color: #274c39; font-size: 24px; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.target-result strong small { color: #73806a; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.comparison-rate > small, .target-result > small { display: block; color: #6b7962; font-size: 10px; margin-top: 5px; }
.insight-track { display: block; height: 10px; border-radius: 8px; background: #e7ece0; box-shadow: inset 0 1px 2px #294d3420; overflow: hidden; }
.insight-track i { display: block; height: 100%; border-radius: inherit; }
.insight-track .series-a { background: linear-gradient(90deg,#367f72,#88b3a0); }
.insight-track .series-b { background: linear-gradient(90deg,#a98152,#d6b98c); }
.insight-axis { display: flex; justify-content: space-between; color: #7b866e; font-size: 9px; margin-top: 8px; }
.goal-share-legend, .recurrence-chart-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; font-size: 10px; font-weight: 650; color: #5c725e; margin: 10px 0 6px; }
.goal-share-legend > span, .recurrence-chart-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.goal-share-legend > span::before, .recurrence-chart-legend > span::before { content: ''; width: 8px; height: 8px; border-radius: 3px; background: #7aa58b; }
.goal-share-legend > span:last-child::before { background: #ded1b5; }
.goal-share-track { display: block; height: 12px; background: #e9dfc9; border-radius: 6px; box-shadow: inset 0 1px 2px #4952331a; overflow: hidden; }
.goal-share-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#3f7c60,#9bbb89); }
.goal-share-track.no-data { background: #e7ebe1; }
.difference-plot { display: block; width: 100%; margin-top: 5px; }
.difference-grid { stroke: #e1e9dc; stroke-width: 1; }
.difference-grid.zero { stroke: #6e8a75; stroke-dasharray: 4 4; }
.difference-hit { fill: transparent; }
.difference-point { cursor: pointer; }
.difference-point[aria-pressed=true] .difference-hit { fill: #dfeadd7a; }
.difference-point:hover .difference-hit, .difference-point:focus-visible .difference-hit { fill: #d4e5d275; stroke: #b5cdb3; }
.difference-bar.series-a { fill: #5a9987; }
.difference-bar.series-b { fill: #bd9869; }
.difference-tick, .difference-cycle, .difference-value { fill: #536e59; font: 650 11px var(--font); }
.difference-value { fill: #30523c; font-size: 12px; font-weight: 750; }
.goal-gap-axis { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; color: #77826b; font-size: 9px; margin: 22px 0 14px; }
.goal-gap-axis > :last-child { text-align: right; }
.goal-gap { display: grid; grid-template-columns: 1fr auto; gap: 9px; margin-top: 19px; font-size: 12px; }
.goal-gap strong { color: #456247; font-size: 14px; }
.goal-gap-track { grid-column: 1 / -1; position: relative; height: 13px; border-radius: 8px; background: #e8eddf; }
.goal-gap-track::after { content: ''; position: absolute; left: 50%; inset-block: -6px; border-left: 1px dashed #7a9271; }
.goal-gap-track i { position: absolute; top: 0; bottom: 0; border-radius: inherit; }
.goal-gap-track .series-a { background: linear-gradient(90deg,#42836f,#8eb59c); }
.goal-gap-track .series-b { background: linear-gradient(90deg,#ae8757,#d6bc8b); }
.recurrence-card { border-color: #ccdccb; background: radial-gradient(ellipse at top left,#f5f1e16e,transparent 38%),linear-gradient(145deg,#fffffa,#f3f7ed); box-shadow: 0 22px 38px -28px #234b3a82, inset 0 1px #fff; }
.recurrence-card .recurrence-head { padding: 12px 14px; border: 1px solid #416a50; border-radius: 13px; background: linear-gradient(125deg,#234b3b,#3b6750); box-shadow: inset 0 1px #c5deac28, 0 7px 14px -11px #1e443bad; }
.recurrence-head .card-title { font-size: 21px; font-weight: 780; color: #f4f8e9; letter-spacing: -.045em; }
.recurrence-head .card-title .mark, .has-repeats .recurrence-head .card-title .mark { background: #e7edc915; border-color: #b4cd9a47; color: #e2e9c7; }
.recurrence-head .method-button { background: #eef7dc14; border-color: #c3d3b64f; color: #eef5dc; }
.recurrence-head .recurrence-period { background: #e6efcf16; border-color: #c3d5af3d; color: #e8efd9; }
.recurrence-card .recurrence-metrics { border: 0; padding: 0; gap: 10px; margin: 13px 0; }
.recurrence-card .recurrence-stat { padding: 11px 13px; background: linear-gradient(145deg,#fffffb,#f2f6ec); border: 1px solid #dce5d4; border-radius: 12px; box-shadow: inset 0 1px #fff, 0 4px 9px -8px #2f593d8c; }
.recurrence-stat dt { font-size: 11px; color: #5c7158; }
.recurrence-overview { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 12px; }
.recurrence-details { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 12px; margin-top: 12px; }
.recurrence-overview .recurrence-panel, .recurrence-details .recurrence-panel { padding: 13px 14px; border: 1px solid #dde5d4; border-radius: 13px; background: linear-gradient(140deg,#ffffffb8,#f7f9f0cc); box-shadow: inset 0 1px #fff; }
.recurrence-panel h3 { font-size: 13.5px; font-weight: 760; color: #2b533c; padding-bottom: 9px; margin-bottom: 9px; border-bottom: 1px solid #dbe4d1; letter-spacing: -.025em; }
.recurrence-subhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid #dbe4d1; }
.recurrence-subhead h3 { padding: 0; margin: 0; border: 0; }
.recurrence-chart-legend { margin: 9px 1px 0; }
.recurrence-chart-legend .did-repeat::before { background: #b98f69; }
.recurrence-plot { display: block; width: 100%; max-height: 240px; }
.recurrence-grid { stroke: #e1e8d9; stroke-width: 1; }
.recurrence-axis { fill: #62725a; font: 650 12px var(--font); }
.recurrence-total { fill: #36513b; font: 760 13px var(--font); }
.recurrence-inbar { fill: #193b2c; font: 760 13px var(--font); }
.recurrence-column { cursor: pointer; }
.recurrence-hit { fill: transparent; }
.recurrence-column[aria-pressed=true] .recurrence-hit { fill: #dfe9d850; }
.recurrence-column:hover .recurrence-hit, .recurrence-column:focus-visible .recurrence-hit { fill: #d8e8ce60; stroke: #c1d4b6; }
.recurrence-overview .recurrence-row { min-height: 49px; }
.recurrence-findings li { padding: 8px 0; }
.recurrence-findings li strong { font-size: 11.5px; line-height: 1.4; }
.recurrence-sectors li { padding: 8px 0; }

/* Linguagem visual única dos cards: a mesma moldura e o mesmo título em todas as seções. */
.surface {
  border-color: #d5e2d3;
  border-radius: 21px;
  background: radial-gradient(ellipse at 99% 0%,#e8f2e36b,transparent 47%),linear-gradient(151deg,#fffffc,#f6f9f2);
  box-shadow: 0 18px 39px -29px #284b3582, 0 4px 11px -10px #254f2f34, inset 0 1px #fff;
}
.surface:not(.hero) > .card-head,
.impact-section > .impact-head,
.leaderboard > .lead-head {
  min-height: 47px;
  padding: 10px 13px;
  margin-bottom: 13px;
  border: 1px solid #cbdcca;
  border-radius: 12px;
  color: #214a38;
  background: radial-gradient(ellipse at 95% -25%,#f8fdf1,transparent 55%),linear-gradient(110deg,#dcebdc,#ebf3e7 65%,#f2f7eb);
  box-shadow: inset 0 1px #fff, inset 0 -1px #b5cdb843, 0 8px 17px -13px #28583b91;
}
.surface .card-title,
.surface .card-head h2,
.impact-head h2 { display:flex; align-items:center; gap:9px; color:inherit; font-size:clamp(15px,1.35vw,18px); font-weight:790; letter-spacing:-.038em; line-height:1.2; }
.surface .card-title .mark,
.impact-head .mark {
  display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px;
  color:#2e674b; border:1px solid #c4d9c2; border-radius:10px;
  background:linear-gradient(150deg,#f5fbf0,#e2efdd);
  box-shadow:inset 0 1px #fff, 0 3px 7px -5px #27634166;
}
.surface .card-title .mark .icon,
.impact-head .mark .icon { width:17px; height:17px; }
.surface .card-title .mark.neg { color:#95444d; border-color:#e6ccc9; background:#f9eeeb; }
.leaderboard > .lead-head h2 .icon { display:block; width:20px; height:20px; color:#376e50; }
.leaderboard > .lead-head .lead-focus { color:#496a54; border-color:#c7d9c2; background:#f6faf2; }
.leaderboard > .lead-head .method-button { color:#3e7155; border-color:#c4d8c2; background:#f9fcf5; }
.leaderboard > .lead-head .method-button:hover { background:#e5f0df; }
.surface .card-head .method-button { width:25px; height:25px; font-size:13px; background:#f9fcf6; border-color:#c5d9c3; color:#46755a; box-shadow:inset 0 1px #fff; }
.surface .card-head .method-button:hover { background:#e0eee0; color:#18482f; }
.surface .card-head .method-button:focus-visible { outline-color:#2c684c; }
.surface > .metric-header,
.surface.metric > .metric-header,
.surface.compare-score > .metric-header {
  padding:9px 10px; min-height:38px; border:1px solid #d1e0ce; border-radius:10px;
  color:#28523d; background:linear-gradient(125deg,#e5f0e2,#f0f7ed);
  box-shadow:inset 0 1px #fff,0 5px 10px -9px #2a5b3e70;
}
.surface .metric-header .method-button { background:#fafdf8; }
.summary-grid .metric-header,
.unit-operational .metric-header { padding:0; min-height:0; border:0; background:transparent; box-shadow:none; }
.surface .card-head.critical-head,
.surface.risk-card .card-head,
.surface.recurrence-card .recurrence-head {
  color:#fff3ef;
  border-color:#914a4d;
  background:radial-gradient(ellipse at 100% -15%,#b36865b3,transparent 65%),linear-gradient(117deg,#6b3037,#873e43 60%,#934d4b);
  box-shadow:inset 0 1px #ffc9c041,inset 0 -1px #531e2580,0 9px 18px -13px #76333dc7;
}
.surface .card-head.critical-head .card-title,
.surface .card-head.critical-head h2 { color:#fff7f3; }
.surface .card-head.critical-head .mark,
.surface .card-head.critical-head .mark.neg,
.surface.risk-card .card-head .mark,
.surface.recurrence-card .recurrence-head .mark {
  color:#ffe6df; border-color:#e8b7b55e; background:linear-gradient(140deg,#ffffff24,#f5c9c613); box-shadow:inset 0 1px #ffe4e43d;
}
.surface .card-head.critical-head .method-button,
.surface.risk-card .card-head .method-button,
.surface.recurrence-card .recurrence-head .method-button {
  color:#fff3ee; background:#ffffff16; border-color:#e9bfc05a;
}
.surface .card-head.critical-head .method-button:hover,
.surface.risk-card .card-head .method-button:hover { background:#ffffff2c; }
.surface.recurrence-card .recurrence-head .recurrence-period { color:#fff0e9; border-color:#f2cec256; background:#ffffff15; }
.surface.risk-card { background:radial-gradient(ellipse at top right,#fbece7,transparent 60%),linear-gradient(145deg,#fffdfa,#fbf6f2); border-color:#e0ccc7; }
.deviation-chart.has-deviations { background:linear-gradient(145deg,#fffefa,#faf8f3); border-color:#dfd6cf; }
.deviation-chart.has-deviations .card-head.critical-head { border-color:#914a4d; }
.deviation-chart.has-deviations .card-title { color:#fff7f3; }
.deviation-chart.has-deviations .card-title .mark,
.deviation-chart.has-deviations .method-button { color:#fff0e8; background:#ffffff1a; border-color:#e9bfc05a; }
.deviation-count, .deviation-impact { color:#954650; }
.has-deviations .dev-track i { background:linear-gradient(100deg,#a74a51,#d68b85); }
.has-deviations .dev-history { background:#fbf0eb; }
.recurrence-card { --repeat-accent:#a0434c; --repeat-line:#eadad5; border-color:#e0d0c9; background:radial-gradient(ellipse at top left,#fbefeb9e,transparent 42%),linear-gradient(145deg,#fffffb,#fbf7f2); }
.recurrence-card .recurrence-stat { background:linear-gradient(149deg,#fffdfa,#fbf2ed); border-color:#ecdcd7; border-radius:13px; box-shadow:inset 0 1px #fff,0 6px 11px -10px #91535874; }
.recurrence-card .recurrence-stat.primary strong { color:#a23c46; }
.recurrence-ring { background:conic-gradient(#963c46 0%,#d47b79 var(--repeat-share),#f0e6e1 var(--repeat-share) 100%); box-shadow:0 5px 15px -11px #8b465079; }
.recurrence-overview .recurrence-panel,.recurrence-details .recurrence-panel { border-color:#eaded7; background:linear-gradient(148deg,#fffefd,#fbf7f2); box-shadow:inset 0 1px #fff,0 8px 14px -13px #91525847; }
.recurrence-panel h3 { color:#693b40; border-bottom-color:#eddfda; font-weight:800; }
.recurrence-subhead { border-bottom-color:#eddfda; }
.recurrence-chart-legend .did-repeat::before { background:#b44d59; }
.recurrence-chart-legend .did-not-repeat::before { background:#76a28d; }
.recurrence-track { background:#f0e6e2; height:8px; box-shadow:inset 0 1px 2px #7b475314; }
.recurrence-track i,.has-repeats .recurrence-row[aria-pressed="true"] i { background:linear-gradient(90deg,#9e3948,#da857c); box-shadow:inset 0 1px #ffe1d670; }
.has-repeats .recurrence-row[aria-pressed="true"] { background:#f9e8e5; color:#8e3944; }
.recurrence-findings li b { color:#a04950; }
.recurrence-sectors li strong { color:#9f4e55; }
.recurrence-plot { max-height:270px; filter:drop-shadow(0 4px 6px #7e5a4b13); }
.recurrence-grid { stroke:#e9e1da; }
.recurrence-total { fill:#713f43; font-size:14px; }
.recurrence-inbar { fill:#ffffff; font-size:13px; }
.recurrence-column[aria-pressed=true] .recurrence-hit { fill:#f3e0dd6b; stroke:#e1bbb8; }
.recurrence-column:hover .recurrence-hit,.recurrence-column:focus-visible .recurrence-hit { fill:#f7eae6a6; stroke:#d59e9d; }
.safety-total { border-radius:12px; box-shadow:inset 0 1px #fff,0 6px 12px -11px #4e664e4a; }
.safety-total:first-child { background:linear-gradient(145deg,#fff3f0,#f7e7e5); border-color:#ebd4cf; }
.safety-cell.stops .safety-track i { background:linear-gradient(100deg,#a23b49,#d77770); }
.nonconformity-comparison .comparison-rate strong { color:#883c47; }
.nonconformity-comparison .insight-track .series-a { background:linear-gradient(90deg,#99404b,#d17b78); }
.nonconformity-comparison .insight-track .series-b { background:linear-gradient(90deg,#9b6061,#d6a19a); }
.comparison-insight.nonconformity-comparison .card-head.critical-head { margin-bottom:13px; }
.comparison-insight.nonconformity-comparison .card-head.critical-head .card-title { color:#fff6f0; }
.impact-section > .impact-head { flex-wrap:wrap; border-bottom:1px solid #cbdcca; }
.impact-tools { border-color:#d4e2cf; }
.impact-list .card-head { min-height:42px; padding:8px 10px; }
.impact-list .card-title { font-size:14px; }
.statistics-card .statistics-head { padding:10px 13px; }
.chart-card .card-head, .detail-card .card-head { margin-bottom:13px; }
.method { border-radius:16px; padding:18px; box-shadow:0 21px 50px #163c2c38,inset 0 1px #fff; font-size:12.5px; }
.method-head { font-size:14px; color:#18452e; padding-bottom:9px; border-bottom:1px solid #e0e9dc; margin-bottom:10px; }
.method-section h4 { font-size:13px; }
.method-section p { color:#475b4e; }
.method .method-context { background:#edf5e9; border:1px solid #d9e7d5; border-radius:9px; padding:9px 10px; margin-top:13px; }

/* Comparativo em colunas verticais, com zero central e rótulos sempre legíveis. */
.compare-vbar-summary { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; margin:4px 3px 11px; color:#4f6858; font-size:11px; font-weight:700; }
.compare-vbar-summary > small { margin-left:auto; color:#708074; font-size:10px; font-weight:570; }
.compare-vbar-scroll { overflow-x:auto; overscroll-behavior-inline:contain; border:1px solid #dae6d8; border-radius:14px; padding:14px 12px 12px; background:linear-gradient(165deg,#fffefb,#f3f8f0); box-shadow:inset 0 1px #fff,0 8px 17px -16px #24583757; }
.compare-vbar-chart { display:grid; grid-template-columns:repeat(var(--column-count),minmax(0,1fr)); min-width:max(100%,calc(var(--column-count) * 106px)); align-items:start; gap:7px; }
.compare-vbar { min-width:0; display:grid; grid-template-rows:208px auto auto; justify-items:stretch; gap:6px; border:1px solid transparent; border-radius:10px; background:transparent; padding:4px 4px 9px; text-align:center; }
.compare-vbar:hover,.compare-vbar:focus-visible { background:#e9f2e7; border-color:#bcd5c1; }
.compare-vbar-stage { position:relative; display:block; height:208px; border-radius:9px; background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#dae7d8 calc(25% - 1px),#dae7d8 25%); }
.compare-vbar-stage::after { content:""; position:absolute; left:0; right:0; top:50%; border-top:1.5px dashed #789582; z-index:1; }
.compare-vbar-column { position:absolute; left:calc(50% - 17px); width:34px; height:var(--bar-size); border-radius:7px 7px 3px 3px; bottom:50%; background:linear-gradient(115deg,#3a8172,#78b39c); box-shadow:inset 1px 0 #fff4,0 4px 9px -6px #2767558a; }
.compare-vbar.negative .compare-vbar-column { bottom:auto; top:50%; border-radius:3px 3px 7px 7px; background:linear-gradient(115deg,#a36d55,#d4a478); }
.compare-vbar.zero .compare-vbar-column { height:3px; background:#9fb6a2; }
.compare-vbar-value { position:absolute; left:0; right:0; bottom:calc(50% + var(--bar-size) + 6px); font-size:12px; font-weight:800; letter-spacing:-.03em; color:#276652; font-variant-numeric:tabular-nums; }
.compare-vbar.negative .compare-vbar-value { bottom:auto; top:calc(50% + var(--bar-size) + 6px); color:#a16b45; }
.compare-vbar.zero .compare-vbar-value { bottom:calc(50% + 8px); color:#587363; }
.compare-vbar-name { display:block; min-height:30px; font-size:11px; line-height:1.25; font-weight:760; color:#2a513e; overflow-wrap:anywhere; }
.compare-vbar > small { font-size:9.2px; line-height:1.3; color:#63786c; overflow-wrap:anywhere; }
.compare-vbar > small span { color:#b2bdb0; }
.difference-card .difference-plot { border:1px solid #dce8d9; border-radius:12px; background:linear-gradient(180deg,#ffffff9c,#eff6ec55); padding:6px; box-shadow:inset 0 1px #fff; }
.difference-bar.series-a { fill:#4c9680; }
.difference-bar.series-b { fill:#c18b6b; }
.difference-point[aria-pressed=true] .difference-hit { fill:#dfeaddb9; }
@media(max-width:700px) {
  .surface:not(.hero) > .card-head,.impact-section > .impact-head,.leaderboard > .lead-head { padding:9px 10px; min-height:43px; }
  .surface .card-title,.surface .card-head h2,.impact-head h2 { font-size:15px; }
  .compare-vbar-chart { min-width:max(100%,calc(var(--column-count) * 95px)); }
  .compare-vbar-summary > small { margin-left:0; }
}
@media(max-width: 1050px) {
  .compare-insights { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .compare-insights > :last-child { grid-column: 1 / -1; }
}
@media(max-width: 700px) {
  .recurrence-overview, .recurrence-details { grid-template-columns: minmax(0,1fr); }
  .compare-insights { grid-template-columns: minmax(0,1fr); }
  .recurrence-head .card-title { font-size: 18px; }
  .recurrence-card .recurrence-stat { padding: 9px 10px; }
}

/* Alerta elegante: vermelho mais vivo em pontos de atenção, com fundos leves. */
.surface .card-head.critical-head,
.surface.risk-card .card-head,
.surface.recurrence-card .recurrence-head {
  color:#852d3c;
  border-color:#efc6ca;
  background:radial-gradient(ellipse at 97% -28%,#fffefa,transparent 56%),linear-gradient(114deg,#ffe0e4,#fff0ed 62%,#fff8f3);
  box-shadow:inset 4px 0 #e04459,inset 0 1px #ffffffcc,0 8px 17px -14px #a341536e;
}
.surface .card-head.critical-head .card-title,
.surface .card-head.critical-head h2,
.deviation-chart.has-deviations .card-head.critical-head .card-title,
.comparison-insight.nonconformity-comparison .card-head.critical-head .card-title,
.surface.recurrence-card .recurrence-head .card-title { color:#842b3d; }
.surface .card-head.critical-head .mark,
.surface .card-head.critical-head .mark.neg,
.surface.risk-card .card-head .mark,
.surface.recurrence-card .recurrence-head .mark,
.deviation-chart.has-deviations .card-head.critical-head .mark {
  color:#cf324b;
  background:linear-gradient(135deg,#fff9f6,#ffdce1);
  border-color:#f2b5c1;
  box-shadow:inset 0 1px #fff,0 3px 7px -6px #b62b4d80;
}
.surface .card-head.critical-head .method-button,
.surface.risk-card .card-head .method-button,
.surface.recurrence-card .recurrence-head .method-button,
.deviation-chart.has-deviations .card-head.critical-head .method-button {
  color:#9c4351; background:#fff9f7; border-color:#efc8cc;
}
.surface .card-head.critical-head .method-button:hover,
.surface.risk-card .card-head .method-button:hover { color:#b42744; background:#ffe5e8; }
.surface.recurrence-card .recurrence-head .recurrence-period {
  color:#a53b4d; border-color:#f0cbd0; background:#fff9f6; font-weight:790;
}
.surface.recurrence-card,.surface.risk-card { border-color:#e6d9d5; background:radial-gradient(ellipse at 0 0,#fff2f0bb,transparent 38%),linear-gradient(150deg,#fffefa,#fcfaf6); }
.deviation-chart.has-deviations { background:linear-gradient(145deg,#fffefa,#fdfaf6); }
.deviation-count,.deviation-impact,.recurrence-card .recurrence-stat.primary strong { color:#cf324b; }
.recurrence-card .recurrence-stat { background:linear-gradient(155deg,#fff,#fffaf8); border-color:#ecdfd8; }
.recurrence-card .recurrence-stat dt { color:#626c62; }
.recurrence-ring { background:conic-gradient(#df455e 0%,#ee8b8a var(--repeat-share),#eee9e3 var(--repeat-share) 100%); }
.recurrence-overview { grid-template-columns:minmax(0,1.38fr) minmax(0,.92fr); align-items:stretch; gap:13px; }
.recurrence-overview .recurrence-panel,.recurrence-details .recurrence-panel { background:linear-gradient(145deg,#fff,#fcfbf7); border-color:#e7e4dc; }
.recurrence-panel h3 { color:#354e40; border-color:#e6e9e1; }
.recurrence-subhead { border-color:#e5eae0; }
.recurrence-chart-legend { gap:15px; margin:11px 4px 12px; }
.recurrence-chart-legend .did-repeat::before { background:#dc4258; }
.recurrence-chart-legend .did-not-repeat::before { background:#72aa90; }
.recurrence-card .recurrence-track { background:#f5e9e8; }
.recurrence-card .recurrence-track i { background:linear-gradient(90deg,#c52f49,#ed6d75); }
.recurrence-card .recurrence-row[aria-pressed="true"] { color:#af3047; background:#fff0f0; }
.recurrence-card .recurrence-findings li b,.recurrence-card .recurrence-sectors li strong { color:#c6384f; }

/* Três anéis mostram o destino das falhas, sem o antigo gráfico de barras. */
.recurrence-wheels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:8px; padding:0 1px 3px; }
.recurrence-wheel {
  display:flex; flex-direction:column; align-items:center; min-width:0; gap:8px;
  padding:12px 8px 10px; border:1px solid #e7e9e1; border-radius:15px;
  background:radial-gradient(ellipse at 50% 12%,#f7faf2,transparent 80%),linear-gradient(165deg,#fff,#fbfcf8);
  box-shadow:inset 0 1px #fff,0 6px 12px -11px #23453350;
  transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;
}
.recurrence-wheel:hover,.recurrence-wheel:focus-visible { transform:translateY(-2px); border-color:#dfa9ae; box-shadow:0 11px 23px -17px #b54b5b77,inset 0 1px #fff; }
.recurrence-wheel.is-selected { background:linear-gradient(160deg,#fffafa,#fff5f3); border-color:#e49ea7; box-shadow:inset 0 0 0 1px #f3d5d7,0 9px 16px -13px #bd455b7b; }
.wheel-cycle { color:#52655a; font-size:11px; font-weight:810; letter-spacing:.012em; }
.wheel-cycle > span { color:#bf4357; margin:0 2px; }
.wheel-ring {
  position:relative; display:grid; place-items:center; width:clamp(88px,9.8vw,128px); aspect-ratio:1; border-radius:50%;
  background:conic-gradient(#e14961 0 var(--wheel-repeat),#7eb49b var(--wheel-repeat) 100%);
  box-shadow:0 8px 18px -13px #41634b82,inset 0 0 0 1px #ffffff8a,0 0 0 5px #f4f7f2;
  transform:rotate(-90deg);
}
.wheel-center {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:76%; aspect-ratio:1; border-radius:50%; background:linear-gradient(145deg,#fff,#f9fbf7);
  box-shadow:inset 0 1px 3px #1b493819,0 1px 3px #2e533530;
  transform:rotate(90deg);
}
.wheel-center strong { color:#b62e48; font-size:clamp(15px,1.75vw,23px); font-weight:820; letter-spacing:-.065em; font-variant-numeric:tabular-nums; line-height:1; }
.wheel-center small { color:#627568; font-size:9px; font-weight:700; margin-top:4px; }
.wheel-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:5px; margin-top:2px; }
.wheel-outcomes > span { display:flex; flex-direction:column; align-items:center; gap:0; min-width:0; padding:5px 1px 4px; border:1px solid #e9ede4; border-radius:8px; background:#fbfdf9; }
.wheel-outcomes strong { color:#c63850; font-size:16px; line-height:1.12; font-weight:800; font-variant-numeric:tabular-nums; }
.wheel-outcomes .wheel-cleared strong { color:#3c8f6d; }
.wheel-outcomes small { font-size:9px; line-height:1.25; color:#637467; white-space:nowrap; }
.wheel-total { width:100%; color:#778279; border-top:1px solid #ebeee7; padding-top:7px; font-size:10px; font-weight:650; text-align:center; }
.recurrence-wheel.is-empty .wheel-ring { background:#e8ece7; }
.recurrence-wheel.is-empty .wheel-center strong { color:#84908b; }

/* Evolução por linha: complementar aos anéis, sem repetir o gráfico anterior. */
.recurrence-trend { display:block; width:100%; margin:15px 0 2px; overflow:visible; }
.recurrence-trend-grid { stroke:#e6ebe2; stroke-width:1; }
.recurrence-trend-tick { fill:#829083; font:620 10px var(--font); }
.recurrence-trend-line { fill:none; stroke:#d83e58; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 3px 4px #d44b6033); }
.recurrence-trend-area { opacity:.9; }
.recurrence-trend-point { cursor:pointer; }
.recurrence-trend-hit { fill:transparent; }
.recurrence-trend-point:hover .recurrence-trend-hit,.recurrence-trend-point:focus-visible .recurrence-trend-hit { fill:#fbe5e77d; stroke:#f2bec4; }
.recurrence-trend-point[aria-pressed="true"] .recurrence-trend-hit { fill:#f9e4e580; }
.recurrence-trend-halo { fill:#f9d7db; }
.recurrence-trend-dot { fill:#df435d; stroke:#fffefa; stroke-width:2.7; }
.recurrence-trend-value { fill:#9d2e44; font:800 14px var(--font); }
.recurrence-trend-cycle { fill:#56695b; font:720 12px var(--font); }
.recurrence-trend-summary { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin:2px 3px 0; padding:11px 2px 2px; border-top:1px solid #e7ebe2; }
.recurrence-trend-summary span { color:#64766a; font-size:11px; font-weight:650; }
.recurrence-trend-summary strong { color:#af3048; white-space:nowrap; font-size:17px; font-variant-numeric:tabular-nums; letter-spacing:-.045em; }
.recurrence-trend-summary strong.improved { color:#27865b; }
.recurrence-trend-note { margin:4px 3px 1px; color:#788778; font-size:10px; }

@media(max-width:1080px) { .wheel-ring { width:clamp(83px,11vw,119px); } }
@media(max-width:900px) { .recurrence-overview { grid-template-columns:1fr; } .wheel-ring { width:clamp(100px,17vw,134px); } .recurrence-trend { max-width:520px; margin-inline:auto; } }
@media(max-width:520px) { .recurrence-wheels { gap:5px; } .recurrence-wheel { padding:10px 4px 9px; gap:7px; } .wheel-ring { width:clamp(69px,22vw,99px); box-shadow:0 7px 14px -13px #41634b82,0 0 0 3px #f4f7f2; } .wheel-center strong { font-size:clamp(14px,3.9vw,19px); } .wheel-center small { font-size:8px; } .wheel-outcomes strong { font-size:13px; } .wheel-outcomes small { font-size:8px; white-space:normal; } .wheel-total { font-size:9px; } .recurrence-trend-cycle { font-size:13px; } }

/* Comparação: primeiro o gráfico geral; depois o detalhamento em largura total. */
.compare-visuals { grid-template-columns:minmax(0,1fr); }
.compare-visuals > .chart-card { min-width:0; }
.compare-breakdown { background:linear-gradient(155deg,#fff,#fcfefb) !important; box-shadow:0 18px 36px -29px #27483779,inset 0 1px #fff; }
.compare-hbar-legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px 19px; padding:2px 4px 12px; color:#405c4c; font-size:11px; font-weight:750; }
.compare-hbar-legend > small { margin-left:auto; font-weight:600; font-size:10.5px; color:#708476; }
.compare-hbar-frame { padding:13px 16px 16px; border:1px solid #d6e5d8; border-radius:16px; background:linear-gradient(165deg,#fff,#f8fbf7); box-shadow:inset 0 1px #fff,0 12px 24px -21px #245b4073; }
.compare-hbar-axis,.compare-hbar-row { display:grid; grid-template-columns:minmax(150px,235px) minmax(0,1fr) 110px; align-items:center; gap:16px; }
.compare-hbar-axis { padding:0 12px 9px; color:#637968; font-size:10px; font-weight:730; border-bottom:1px solid #dce9de; }
.compare-hbar-axis > :last-child { text-align:right; }
.compare-hbar-axis > :nth-child(2) { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.compare-hbar-axis b { font-weight:720; white-space:nowrap; }
.compare-hbar-axis i { font-style:normal; background:#eaf2e8; color:#577463; border:1px solid #d8e5d6; border-radius:20px; padding:2px 7px; }
.compare-hbar-list { display:grid; gap:3px; padding-top:5px; }
.compare-hbar-row { width:100%; min-height:57px; padding:8px 12px; border:1px solid transparent; border-bottom-color:#e6eee6; border-radius:10px; background:transparent; color:inherit; text-align:left; cursor:pointer; transition:background .18s,box-shadow .18s,transform .18s,border-color .18s; }
.compare-hbar-row:last-child { border-bottom-color:transparent; }
.compare-hbar-row:hover,.compare-hbar-row:focus-visible { transform:translateY(-1px); background:#f2f8f1; border-color:#cadfce; box-shadow:0 9px 14px -13px #255b3c7a; outline-offset:2px; }
.compare-hbar-name { display:grid; gap:5px; min-width:0; }
.compare-hbar-name strong { font-size:12.5px; line-height:1.25; font-weight:790; color:#254f3b; overflow-wrap:anywhere; }
.compare-hbar-name small { color:#6a8173; font-size:10px; line-height:1.3; font-weight:640; }
.compare-hbar-name em { font-style:normal; color:#b3c3b6; padding:0 3px; }
.compare-hbar-track,.difference-horizontal-track { position:relative; display:block; min-width:0; height:23px; border-radius:7px; background:linear-gradient(180deg,#eff5ee,#f6f9f4); box-shadow:inset 0 2px 5px #31513b0b,inset 0 0 0 1px #e7efe5; }
.compare-hbar-track::after,.difference-horizontal-track::after { content:""; position:absolute; z-index:1; left:50%; top:-4px; bottom:-4px; width:1.5px; background:#789b85; border-radius:2px; }
.compare-hbar-track i,.difference-horizontal-track i { position:absolute; top:4px; bottom:4px; border-radius:5px; box-shadow:inset 0 1px #ffffff7d,0 3px 8px -5px #33665077; transition:width .55s cubic-bezier(.17,.75,.3,1); }
.compare-hbar-row.positive .compare-hbar-track i,.difference-horizontal-row.positive .difference-horizontal-track i { left:50%; background:linear-gradient(90deg,#358b78,#76baa4); }
.compare-hbar-row.negative .compare-hbar-track i,.difference-horizontal-row.negative .difference-horizontal-track i { right:50%; background:linear-gradient(90deg,#d4a06e,#a87655); }
.compare-hbar-row.zero .compare-hbar-track i,.difference-horizontal-row.zero .difference-horizontal-track i { left:50%; background:#90aaa0; }
.compare-hbar-value { text-align:right; color:#27715e; font-size:13.5px; font-weight:860; font-variant-numeric:tabular-nums; letter-spacing:-.035em; white-space:nowrap; }
.compare-hbar-row.negative .compare-hbar-value { color:#a46d47; }
.compare-hbar-row.empty .compare-hbar-value,.compare-hbar-row.zero .compare-hbar-value { color:#789082; }

/* Diferença por ciclo em barras horizontais, sem o gráfico de colunas. */
.difference-horizontal { padding:12px 10px 10px; border:1px solid #d7e5d6; border-radius:14px; background:linear-gradient(157deg,#fff,#f8fbf6); box-shadow:inset 0 1px #fff,0 12px 22px -19px #27573b56; }
.difference-horizontal-axis { display:grid; grid-template-columns:1fr 27px 1fr; align-items:center; gap:4px; margin-left:53px; margin-right:74px; padding:0 4px 10px; color:#567461; font-size:10px; font-weight:750; }
.difference-horizontal-axis > :nth-child(2) { text-align:center; background:#eaf2e7; border:1px solid #dbe7d9; border-radius:20px; padding:3px 0; }
.difference-horizontal-axis > :last-child { text-align:right; }
.difference-horizontal-row { display:grid; grid-template-columns:42px minmax(0,1fr) 69px; align-items:center; gap:10px; width:100%; min-height:53px; padding:7px 5px; border:1px solid transparent; border-top-color:#e4ece2; border-radius:8px; background:transparent; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
.difference-horizontal-row:hover,.difference-horizontal-row:focus-visible { background:#eef6eb; border-color:#c4dac6; box-shadow:0 6px 12px -10px #396c4f62; }
.difference-horizontal-row[aria-pressed="true"] { background:#edf5e9; border-color:#bbd4c0; box-shadow:inset 3px 0 #449680,0 6px 12px -11px #3b614977; }
.difference-horizontal-cycle { color:#315944; font-size:12px; font-weight:840; text-align:center; }
.difference-horizontal-track { height:19px; }
.difference-horizontal-track i { top:3px; bottom:3px; }
.difference-horizontal-value { font-size:11px; color:#2d866f; font-weight:820; font-variant-numeric:tabular-nums; letter-spacing:-.025em; white-space:nowrap; text-align:right; }
.difference-horizontal-row.negative .difference-horizontal-value { color:#aa7850; }
.difference-horizontal-row.zero .difference-horizontal-value,.difference-horizontal-row.empty .difference-horizontal-value { color:#849187; }

/* Reincidências: superfícies brancas, relevo discreto e vermelho vivo apenas nos dados. */
.network-analysis.last-panel { margin-top:17px; }
.surface.recurrence-card { background:#fff; border-color:#dbe8de; box-shadow:0 22px 42px -35px #1d4c3669,0 3px 13px -10px #45624b2c,inset 0 1px #fff; }
.recurrence-card .recurrence-stat { background:linear-gradient(150deg,#fff,#fdfefd); border-color:#e1e9e2; box-shadow:0 8px 15px -13px #24533759,inset 0 1px #fff; }
.recurrence-overview .recurrence-panel,.recurrence-details .recurrence-panel { background:#fff; border-color:#e0e8e0; box-shadow:inset 0 1px #fff,0 11px 24px -22px #2a654452; }
.recurrence-panel h3 { color:#2c563f; border-bottom-color:#e2ebe3; }
.recurrence-wheel,.recurrence-wheel.is-selected { background:#fff; }
.recurrence-wheel { border-color:#dee8df; box-shadow:0 8px 15px -14px #28604461,inset 0 1px #fff; }
.recurrence-wheel.is-selected { border-color:#e8b8c0; box-shadow:inset 0 0 0 1px #f5e2e4,0 12px 23px -19px #b9446075; }
.wheel-ring { background:conic-gradient(#ec4862 0 var(--wheel-repeat),#83baa1 var(--wheel-repeat) 100%); box-shadow:0 9px 21px -15px #275e4373,inset 0 0 0 1px #ffffff92,0 0 0 5px #f4f9f4; }
.wheel-center { background:#fff; box-shadow:inset 0 2px 4px #1c543518,0 2px 7px #204d381e; }
.wheel-outcomes > span { background:#fff; border-color:#e4ece4; }
.recurrence-trend-line { stroke:#e54560; filter:drop-shadow(0 2px 3px #d9495d38); }
.recurrence-trend-dot { fill:#e84c64; }
.recurrence-trend-grid { stroke:#e3ebe3; }
.recurrence-trend-summary { border-top-color:#e1eae2; }

@media(max-width:700px) {
  .compare-hbar-frame { padding:10px 8px; }
  .compare-hbar-axis,.compare-hbar-row { grid-template-columns:minmax(98px,120px) minmax(0,1fr) 67px; gap:7px; }
  .compare-hbar-row { padding:8px 5px; min-height:62px; }
  .compare-hbar-name strong { font-size:11px; }
  .compare-hbar-name small { font-size:9px; }
  .compare-hbar-value { font-size:10px; }
  .compare-hbar-axis b { font-size:9px; }
  .compare-hbar-axis { padding:0 5px 9px; }
  .compare-hbar-legend > small { margin-left:0; }
}

/* Revisão executiva: ritmo, materiais e legibilidade consistentes em todo o Site. */
:root { --board-shadow:0 24px 48px -36px #163b2b8c,0 7px 19px -15px #1e4d3854,inset 0 1px #fff; }
body { background:radial-gradient(ellipse at 90% -4%,#dce8d984,transparent 43%),radial-gradient(ellipse at 4% 40%,#f6f8eea6,transparent 49%),#eef3ed; }
.topbar { border-bottom-color:#d1e0d3; box-shadow:inset 0 2px #9ebb9f78,0 8px 22px -20px #173a2d9e; }
.brand strong { letter-spacing:.075em; }
.edition { background:linear-gradient(135deg,#fff,#f5faf3); border-color:#d9e7d9; box-shadow:inset 0 1px #fff,0 3px 9px -8px #24503965; cursor:help; }
.main-nav button { transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s; }
.main-nav button:hover { transform:translateY(-1px); box-shadow:inset 0 1px #fff,0 4px 9px -9px #315e486c; }
.main-nav button[aria-current="page"] { box-shadow:inset 0 1px #fff,0 5px 11px -9px #2b67447c; }
.toolbar h1 { color:#173d2e; text-shadow:0 1px #fff8; }
.field select,.segments,.small-control { box-shadow:inset 0 1px #fff8,0 4px 11px -10px #254d3b64; }
.field select:hover,.query:hover { border-color:#a9c8b0; background:#fff; }
.segments button[aria-pressed="true"] { box-shadow:inset 0 1px #fff,0 3px 9px -7px #325c426e; }
.surface:not(.hero) { transition:box-shadow .23s ease,border-color .23s ease; }
.surface:not(.hero):hover { box-shadow:var(--board-shadow); border-color:#cadccf; }
.surface.recurrence-card:hover { border-color:#dbe8de; }
.surface.risk-card:hover,.surface.deviation-chart.has-deviations:hover { border-color:#e6d1cf; }
.surface .card-head .method-button { transition:background .18s,border-color .18s,transform .18s,box-shadow .18s; }
.surface .card-head .method-button:hover { transform:translateY(-1px); box-shadow:0 4px 9px -7px #2f6a4a80; }
.surface .card-head.critical-head .method-button:hover,.surface.recurrence-card .recurrence-head .method-button:hover { background:#fff6f5; border-color:#eaaeb6; color:#b92e48; }
.chart-card,.statistics-card,.impact-section { border-color:#d4e3d6; }
.chart-card .card-head:not(.critical-head),.statistics-card .statistics-head,.impact-section > .impact-head { border-color:#c9dfcb; background:linear-gradient(117deg,#dcebe0,#edf5e9 72%,#f7faf3); box-shadow:inset 0 1px #fff,0 8px 18px -15px #2b67457a; }
.chart-card .card-title,.statistics-card .card-title { color:#234d3b; }
.weight-ring,.wheel-ring { filter:drop-shadow(0 3px 4px #29594114); }
.weight-core { background:linear-gradient(145deg,#fff,#f7fbf6); box-shadow:inset 0 0 0 1px #dce9dd,0 3px 9px #204d3422; }
.weight-legend li { padding-block:9px; }
.weight-legend li strong { font-size:12px; }
.stats-range-track,.stats-spread-track { box-shadow:inset 0 1px 3px #2f62421e; }
.stats-metrics dd { letter-spacing:-.055em; }
.lead-row { transition:background .18s,box-shadow .18s; }
.lead-row:hover,.lead-row:focus-within { box-shadow:inset 3px 0 #7ba78d,0 5px 12px -12px #2b6e4587; }
.lead-row.bad:hover,.lead-row.bad:focus-within { box-shadow:inset 3px 0 #db4760; }
.lead-main .lead-track { box-shadow:inset 0 2px 4px #31553c1f; }
.lead-total { box-shadow:inset 0 1px #fff8; }
.impact-list .rank-row { min-height:47px; padding:10px 6px; }
.impact-list .rank-row:hover { background:#eef6ed; border-radius:9px; }
.impact-loss .rank-row:hover { background:#fdf2f0; }
.heat-cell { transition:filter .18s,border-color .18s,box-shadow .18s,transform .18s; }
.heat-cell:hover,.heat-cell:focus-visible { transform:translateY(-1px); box-shadow:0 7px 12px -9px #275d417c; }
.detail-metrics .metric-value { font-size:clamp(24px,2.2vw,30px); letter-spacing:-.06em; }
.detail-metrics .metric-header { font-size:12px; }
.detail-metrics .risk-metric > .metric-header { color:#973c4c; border-color:#efd0d3; background:linear-gradient(117deg,#fce6e9,#fff7f4); box-shadow:inset 3px 0 #dc5369,inset 0 1px #fff,0 5px 10px -9px #b44c5f68; }
.detail-metrics .risk-metric .metric-label .icon { color:#d2465f; }
.detail-metrics .risk-metric .metric-value.risk { color:#be344d; }
.unit-operational .risk-metric > .metric-header { border:0; background:transparent; box-shadow:none; }
.unit-context .unit-stat { position:relative; overflow:hidden; background:linear-gradient(165deg,#fff,#fbfdf9); border-color:#d8e6db; box-shadow:0 15px 28px -23px #28523d75,inset 0 1px #fff; }
.unit-context .unit-stat::after { position:absolute; content:""; height:2px; left:16px; right:16px; bottom:0; border-radius:3px; background:linear-gradient(90deg,#dcebd8,#8aaf90,#dcebd8); opacity:.75; }
.unit-context .unit-stat:hover { border-color:#bed8c3; }
.detail-card .rank-row:hover { border-radius:8px; box-shadow:inset 3px 0 #86aa8f; }
.deviation-chart .dev-table th { font-size:11px; }
.deviation-chart .dev-table td { padding-block:9px; }
.deviation-chart .dev-button { font-size:12px; }
.deviation-chart .dev-table tbody tr:hover td { background:#fcf6f4; }
.compare-score .metric-value { letter-spacing:-.075em; }
.comparison-canvas { box-shadow:inset 0 1px #fff,0 8px 18px -18px #24573d76; }
.comparison-insight .insight-track { box-shadow:inset 0 2px 4px #2b513720; }
.comparison-insight .compare-key { letter-spacing:-.01em; }
.footer { padding-top:18px; border-top-color:#d3e1d5; color:#597663; font-size:11px; }

/* Diretórios executivos: a comparação fica clara sem disputar atenção com os dados. */
.directory-panel { padding:15px 16px 15px; background:linear-gradient(145deg,#fff,#fbfdf9) !important; box-shadow:var(--board-shadow); }
.directory-panel > .directory-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 20px; margin-bottom:8px; padding:11px 14px; }
.directory-head .card-title { font-size:17px; }
.directory-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; min-width:0; }
.directory-tools .segments { background:#e8f0e6; }
.directory-tools .field select { height:35px; }
.directory-total { color:#44634e; white-space:nowrap; font-size:11px; font-weight:800; padding:7px 10px; background:#f8fbf4; border:1px solid #d6e6d6; border-radius:9px; box-shadow:inset 0 1px #fff; }
.directory-kpis { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 4px 15px; border-bottom:1px solid #e2ece3; margin-bottom:4px; }
.directory-kpi { display:inline-flex; align-items:center; gap:5px; min-height:31px; padding:6px 10px; border:1px solid #e0eae1; border-radius:9px; background:#fff; color:#63776a; font-size:11px; line-height:1.2; box-shadow:inset 0 1px #fff,0 4px 10px -10px #2d5b405b; }
.directory-kpi i,.directory-status { display:inline-block; width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#b0bab0; box-shadow:0 0 0 3px #e6ede6; }
.directory-kpi strong { font-size:13px; font-weight:870; font-variant-numeric:tabular-nums; margin-right:2px; }
.directory-kpi.good { color:#27694c; border-color:#d5e7da; background:#f5fbf5; }
.directory-kpi.warn { color:#93602d; border-color:#ecdcc3; background:#fffbf5; }
.directory-kpi.bad { color:#b8404e; border-color:#efd2d5; background:#fff9f8; }
.directory-kpi.good i,.directory-status.good { background:#42946c; box-shadow:0 0 0 3px #e4f2e7; }
.directory-kpi.warn i,.directory-status.warn { background:#d39647; box-shadow:0 0 0 3px #fbefdf; }
.directory-kpi.bad i,.directory-status.bad { background:#dc5262; box-shadow:0 0 0 3px #fbe4e7; }
.directory-kpi.missing i { background:#a4b4aa; }
.directory thead { background:linear-gradient(180deg,#f1f7ee,#eaf3ea); }
.directory th { color:#436953; font-size:11px; font-weight:820; letter-spacing:.015em; padding-block:12px; border-bottom:1px solid #d6e5d7; }
.directory th:first-child { border-radius:9px 0 0 9px; }
.directory th:last-child { border-radius:0 9px 9px 0; }
.directory td { padding:11px 9px; border-bottom-color:#e5ede5; font-size:12px; }
.directory tbody tr { transition:background .18s,box-shadow .18s; }
.directory tbody tr:nth-child(even) { background:#f8fbf7; }
.directory tbody tr:hover { background:#eef7ed; box-shadow:inset 3px 0 #87b49b; }
.directory .selected-col { background:#e9f4e9ab; }
.directory th.selected-col { border-radius:8px 8px 0 0; color:#225a3f; background:#dfedde; }
.directory td.selected-col { background:#ecf5ebc4; }
.directory-entry { display:inline-flex; align-items:center; gap:12px; max-width:100%; padding:3px 2px; color:#264c39; font-size:12.5px; font-weight:800; line-height:1.3; }
.directory-entry > span { display:block; min-width:0; }
.directory-entry small { margin-top:4px; color:#728777; font-size:10.5px; font-weight:620; }
.directory-entry:hover { color:#1b6645; text-decoration:none; }
.directory .score-button { min-width:71px; }
.directory .score-pill { min-width:72px; padding:6px 9px; font-size:11.5px; font-weight:810; border:1px solid transparent; box-shadow:inset 0 1px #fff9; }
.directory .score-pill.good { background:linear-gradient(150deg,#e0f1e3,#f0f9ec); border-color:#d5e9d6; }
.directory .score-pill.warn { background:linear-gradient(150deg,#fae8cc,#fff4e4); border-color:#f3dfc4; }
.directory .score-pill.bad { background:linear-gradient(150deg,#f7dfe1,#fff0ee); border-color:#edcfd2; }
.directory .score-button:hover .score-pill,.directory .score-button:focus-visible .score-pill { outline:0; border-color:#87ad93; box-shadow:inset 0 1px #fff,0 5px 10px -8px #31714c78; }
.directory-checklists { color:#476957; font-size:12px; font-weight:810; }

@media(max-width:760px) {
  .directory-panel { padding:10px 9px 12px; }
  .directory-panel > .directory-head { gap:8px; padding:9px 10px; }
  .directory-head .card-title { font-size:15px; }
  .directory-tools { justify-content:flex-start; width:100%; gap:7px; }
  .directory-kpis { gap:5px; padding:8px 2px 11px; }
  .directory-kpi { min-height:29px; padding:5px 7px; font-size:10px; }
  .directory { min-width:730px; }
  .directory td,.directory th { padding-inline:7px; }
  .directory-entry { font-size:11.5px; gap:7px; }
  .directory .score-pill { min-width:62px; font-size:10.5px; }
  .detail-metrics .metric-value { font-size:clamp(20px,3.4vw,26px); }
}
@media(max-width:480px) {
  .directory-tools .segments button { padding-inline:6px; font-size:10.5px; }
  .directory-total { font-size:10px; padding:5px 7px; }
  .unit-context .unit-stat::after { left:9px; right:9px; }
  .detail-metrics .metric-header { font-size:10px; }
  .detail-metrics .metric-value { font-size:20px; }
}

/* Um ciclo disponível: uma régua real ocupa melhor a área que uma linha sem histórico. */
.one-cycle-view { min-height:197px; display:flex; flex-direction:column; justify-content:center; gap:12px; padding:12px 17px 15px; }
.one-cycle-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:3px; color:#d0e8d6; font-size:11px; font-weight:640; }
.one-cycle-top strong { color:#e9fbdd; font-size:22px; font-weight:850; letter-spacing:-.055em; }
.one-cycle-select { display:block; width:100%; padding:5px; margin:-5px; text-align:left; border:1px solid transparent; border-radius:11px; background:transparent; }
.one-cycle-select:hover,.one-cycle-select:focus-visible { border-color:#b8d8ba54; background:#ffffff0a; }
.one-cycle-row { display:grid; gap:7px; }
.one-cycle-label { display:flex; align-items:baseline; justify-content:space-between; gap:12px; color:#d7ebdf; font-size:11.5px; font-weight:700; }
.one-cycle-label strong { color:#edf9e9; font-size:20px; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.one-cycle-row.benchmark .one-cycle-label { color:#adc9c3; }
.one-cycle-row.benchmark .one-cycle-label strong { color:#c5dcd5; font-size:16px; }
.one-cycle-track { height:19px; position:relative; overflow:visible; border-radius:10px; background:#09291f65; box-shadow:inset 0 2px 6px #09251f75,0 0 0 1px #c2dbc126; }
.one-cycle-fill { display:block; height:100%; border-radius:inherit; background:linear-gradient(95deg,#72a376,#c1de91); box-shadow:inset 0 1px #f4ffe94c,0 3px 9px -5px #badcae87; }
.one-cycle-fill.unit.good { background:linear-gradient(95deg,#548ca4,#98d7ed); }
.one-cycle-fill.warn { background:linear-gradient(95deg,#c88340,#f0b777); }
.one-cycle-fill.bad { background:linear-gradient(95deg,#bd4a56,#ed8890); }
.one-cycle-fill.benchmark { background:linear-gradient(95deg,#6c9690,#aecac1); box-shadow:inset 0 1px #fff6; }
.one-cycle-goal { position:absolute; top:-6px; bottom:-6px; width:2px; border-radius:2px; background:#e4f7dbd1; box-shadow:0 0 0 3px #d8f4ce16; }
.one-cycle-row.benchmark .one-cycle-track { height:12px; }
.one-cycle-scale { display:flex; justify-content:space-between; gap:12px; color:#bbd4c2; font-size:10px; font-weight:750; }
.one-cycle-scale > :nth-child(2) { color:#e7f3d9; }
@media(max-width:480px) {
  .one-cycle-view { min-height:180px; padding:7px 5px 10px; }
  .one-cycle-top strong { font-size:19px; }
  .one-cycle-label strong { font-size:18px; }
}

/* Acabamento dos comparativos e das análises operacionais. */
.method-button { position:relative; width:10.5px; height:10.5px; font-size:6px; }
.surface .card-head .method-button { width:12.5px; height:12.5px; font-size:6.5px; }
.method-button::after { content:""; position:absolute; inset:-6px; border-radius:50%; }
.method-button:focus-visible { outline:2px solid #477d5d; outline-offset:4px; }
.surface.compare-score.delta-card > .metric-header { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#d2e8d7; font-size:14px; }
.compare-score.delta-card { background:radial-gradient(ellipse at 95% -20%,#2b67564d,transparent 65%),linear-gradient(135deg,#164736,#10382c 65%,#0f3228); box-shadow:inset 0 1px #bfd9c13b,inset 0 -1px #082c26,0 22px 34px -26px #153b2eba; }
.compare-trend-card { background:radial-gradient(ellipse at 100% 0,#e6f0e54d,transparent 58%),linear-gradient(150deg,#fff,#f9fcf7); }
.compare-trend-card .card-head { margin-bottom:15px; }
.compare-trend-card .comparison-canvas { padding:14px 12px 5px; border-color:#d7e5d7; border-radius:16px; background:radial-gradient(ellipse at 50% 105%,#e9f2e744,transparent 72%),#fff; box-shadow:inset 0 1px #fff,inset 0 -2px 6px #294c3410,0 12px 24px -24px #244e3f8c; }
.compare-trend-card .compare-plot { max-height:275px; }
.compare-trend-card .compare-line { filter:drop-shadow(0 3px 2px #226c5918); }
.compare-trend-card .compare-dot { stroke:#fff; stroke-width:2; }
.compare-trend-card .compare-values { margin-top:14px; background:#ffffff7d; border-color:#dce8d9; box-shadow:inset 0 1px #fff,0 8px 16px -19px #28513988; }
.compare-trend-card .compare-trend th { padding-block:10px; color:#4c6e58; }
.compare-trend-card .compare-trend td { padding-block:9px; }

.heatmap-card { margin-top:16px; padding:16px; }
.surface .heatmap-head { border-color:#c9dfcb; background:linear-gradient(117deg,#dcebe0,#edf5e9 72%,#f7faf3); box-shadow:inset 0 1px #fff,0 8px 18px -15px #2b67457a; }
.heatmap-table { margin-top:14px; padding:0 3px; }

/* Uma única leitura por grupo: coluna, identificação e nota. */
.surface.impact-v2 { background:linear-gradient(165deg,#fff,#fcfefb); }
.impact-reading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:4px 5px 17px; font-size:10.5px; color:#7b8b7d; font-weight:580; }
.impact-v2 .impact-chart-key { display:flex; align-items:center; gap:17px; color:#627566; font-size:10.5px; font-weight:650; }
.impact-v2 .impact-chart-key span { display:flex; align-items:center; gap:6px; }
.impact-v2 .impact-chart-key span::before { content:""; width:7px; height:7px; border-radius:2px; background:#649a7e; }
.impact-v2 .impact-chart-key .loss::before { background:#de5268; }
.impact-unified-scroll { overflow-x:auto; padding:3px 0 1px; }
.impact-landscape { position:relative; min-width:850px; }
.impact-y-axis { position:absolute; inset:0 auto 0 0; width:44px; color:#8a9a8e; font-size:10px; font-variant-numeric:tabular-nums; }
.impact-y-axis > small { position:absolute; top:-5px; right:1px; color:#9aa89d; font-size:9px; }
.impact-y-axis > span { position:absolute; right:0; transform:translateY(-50%); }
.impact-landscape-body { position:relative; margin-left:56px; }
.impact-rules { position:absolute; inset:0; pointer-events:none; }
.impact-rules i { position:absolute; left:0; right:0; height:1px; background:#e9efea; }
.impact-rules i.zero { height:0; background:none; border-top:1px dashed #9bb3a3; }
.impact-entries { position:relative; display:grid; grid-template-columns:repeat(var(--impact-columns),minmax(0,1fr)); gap:7px; align-items:stretch; }
.impact-entry { display:grid; grid-template-rows:250px 1fr auto; gap:12px; min-width:0; border:1px solid transparent; border-radius:13px; padding:0 6px 15px; background:transparent; text-align:center; color:inherit; cursor:pointer; transition:background .2s,box-shadow .2s,border-color .2s; }
.impact-entry:hover,.impact-entry:focus-visible { border-color:#d7e6da; background:#f5f9f383; box-shadow:0 8px 16px -16px #2e644b83; }
.impact-entry-visual { position:relative; display:block; }
.impact-entry-bar { position:absolute; left:50%; transform:translateX(-50%); width:min(48px,64%); min-height:2px; border-radius:6px; background:linear-gradient(180deg,#468b6b,#96bda5); box-shadow:inset 0 1px #ffffff63,0 5px 8px -7px #2d664b5c; }
.impact-entry.negative .impact-entry-bar { background:linear-gradient(180deg,#f0848d,#d73d5b); box-shadow:inset 0 1px #ffffff50,0 5px 8px -7px #b5365552; }
.impact-entry.zero .impact-entry-bar { background:#b0c3b5; }
.impact-entry-value { position:absolute; left:50%; transform:translateX(-50%); font-size:11.5px; line-height:16px; font-weight:780; letter-spacing:-.025em; color:#39765b; white-space:nowrap; }
.impact-entry.negative .impact-entry-value { color:#c84059; }
.impact-entry.zero .impact-entry-value { color:#7e9384; }
.impact-entry-label { display:flex; flex-direction:column; gap:5px; min-width:0; padding-inline:2px; }
.impact-entry-label > strong { font-size:11.5px; line-height:1.4; font-weight:700; color:#365940; overflow-wrap:anywhere; }
.impact-entry-label > small { font-size:10px; line-height:1.35; color:#8a988c; }
.impact-entry-score { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px; margin-top:1px; }
.impact-entry-score > small { color:#8b988c; font-size:9px; font-weight:550; }
.impact-entry-score .score-pill { min-width:0; border-radius:7px; padding:5px 8px; font-size:10px; }

/* Reincidências: composição assimétrica, sem uma caixa para cada número. */
.surface.recurrence-card.recurrence-v2 { padding:20px 23px; background:#fff; border-color:#dbe6dd; box-shadow:0 22px 38px -32px #2a563b78,0 3px 10px -10px #254c373b,inset 0 1px #fff; }
.surface.recurrence-card.recurrence-v2 > .recurrence-head { padding:0 0 15px; margin:0; border:0; border-bottom:1px solid #e4ece5; border-radius:0; min-height:43px; background:transparent; box-shadow:none; }
.surface.recurrence-card.recurrence-v2 > .recurrence-head .card-title { color:#264a38; }
.surface.recurrence-card.recurrence-v2 > .recurrence-head .mark { color:#c04d63; background:#fff4f5; border-color:#f0dce0; box-shadow:inset 0 1px #fff; }
.surface.recurrence-card.recurrence-v2 > .recurrence-head .method-button { color:#6e8977; background:#fff; border-color:#dbe5da; }
.surface.recurrence-card.recurrence-v2 > .recurrence-head .recurrence-period { color:#68806c; background:#f5f8f2; border-color:#e3ebdf; border-radius:6px; font-weight:600; }
.repeat-layout { display:grid; grid-template-columns:minmax(185px,.27fr) minmax(0,1fr); gap:29px; padding:23px 2px 2px; }
.repeat-sidebar { min-width:0; padding-right:28px; border-right:1px solid #e7eee7; }
.repeat-focus { display:flex; flex-direction:column; gap:9px; }
.repeat-focus > span { color:#687d6e; font-size:11.5px; font-weight:650; }
.repeat-focus > strong { color:#d53c5b; font-size:clamp(56px,5.8vw,78px); line-height:1; letter-spacing:-.075em; font-weight:730; font-variant-numeric:tabular-nums; }
.recurrence-v2:not(.has-repeats) .repeat-focus > strong { color:#6f8a78; }
.repeat-support { display:grid; gap:18px; margin:22px 0 0; }
.repeat-support dt { color:#7a8c7e; font-size:10.5px; line-height:1.4; font-weight:550; }
.repeat-support dd { margin:5px 0 0; color:#294d39; font-size:29px; letter-spacing:-.055em; line-height:1.1; font-weight:650; font-variant-numeric:tabular-nums; }
.repeat-support dd > strong { font-weight:650; }
.repeat-support dd > small { display:block; color:#91a091; font-size:10px; letter-spacing:0; font-weight:500; margin-top:6px; }
.repeat-support .repeat-reach { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:15px; padding-top:13px; border-top:1px solid #edf1ec; }
.repeat-support .repeat-reach dd { margin:0; font-size:22px; font-weight:620; }
.repeat-sectors { padding-top:20px; margin-top:21px; border-top:1px solid #e7eee6; }
.repeat-sectors h3,.repeat-chart-head h3,.repeat-findings h3 { margin:0; font-size:12px; font-weight:730; color:#365c43; letter-spacing:-.015em; }
.repeat-sectors ul,.repeat-findings ul { list-style:none; padding:0; margin:10px 0 0; }
.repeat-sectors li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; padding:9px 0; font-size:10.5px; color:#758777; }
.repeat-sectors li > strong { color:#a85b69; font-size:11px; font-weight:650; }
.repeat-sector-track { grid-column:1 / -1; height:3px; border-radius:4px; background:#edf1ec; overflow:hidden; }
.repeat-sector-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#d95f74,#e8b0b9); }
.repeat-analysis { min-width:0; }
.repeat-chart-head { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:31px; }
.repeat-chart-head .segments { padding:3px; background:#f1f6ef; border-color:#e4ece0; box-shadow:inset 0 1px #fff; }
.repeat-chart-head .segments button { font-size:10px; padding:5px 10px; }
.repeat-chart-head .segments button[aria-pressed="true"] { color:#365b43; border-color:#dbe8d8; background:#fff; }
.repeat-cycles { height:300px; }
.recurrence-v2 .recurrence-chart-legend { margin:9px 0 2px; font-size:9.5px; gap:14px; }
.recurrence-v2 .recurrence-wheels { gap:0; padding:2px 0 0; }
.recurrence-v2 .recurrence-wheel { padding:12px 12px 10px; gap:10px; border:1px solid transparent; border-radius:11px; background:transparent; box-shadow:none; }
.recurrence-v2 .recurrence-wheel + .recurrence-wheel { border-left-color:#e7eee5; }
.recurrence-v2 .recurrence-wheel:hover,.recurrence-v2 .recurrence-wheel:focus-visible { transform:translateY(-1px); background:#f8faf6; border-color:#e0eade; box-shadow:0 5px 12px -12px #27614061; }
.recurrence-v2 .recurrence-wheel.is-selected { background:#f8fbf6; border-color:transparent; box-shadow:inset 0 -2px #8daf97; }
.recurrence-v2 .wheel-ring { width:108px; box-shadow:inset 0 0 0 1px #fff5,0 0 0 4px #f4f8f2,0 5px 13px -11px #3f72555c; }
.recurrence-v2 .wheel-center { width:79%; box-shadow:inset 0 1px 4px #38523e10,0 1px 3px #385e4921; }
.recurrence-v2 .wheel-center strong { color:#c3415a; font-size:21px; font-weight:720; }
.recurrence-v2 .wheel-center small { color:#9aa69a; font-size:8px; font-weight:550; }
.recurrence-v2 .wheel-cycle { color:#63806c; font-size:10px; font-weight:650; }
.recurrence-v2 .wheel-cycle > span { color:#97b09c; }
.recurrence-v2 .wheel-outcomes { max-width:185px; gap:8px; margin-top:2px; }
.recurrence-v2 .wheel-outcomes > span { border:0; background:transparent; padding:0; }
.recurrence-v2 .wheel-outcomes strong { font-size:14px; font-weight:680; }
.recurrence-v2 .wheel-outcomes small { color:#8d9c8f; font-size:8.5px; }
.recurrence-v2 .wheel-total { border:0; padding-top:0; font-size:9px; color:#9aa89c; font-weight:500; }
.repeat-trend-view { height:269px; display:grid; grid-template-rows:minmax(0,1fr) auto; }
.recurrence-v2 .recurrence-trend { height:100%; min-height:0; max-height:236px; margin:0 auto; }
.recurrence-v2 .recurrence-trend-line { stroke-width:2.7; }
.recurrence-v2 .recurrence-trend-value { font-size:12px; font-weight:740; }
.repeat-trend-change { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:3px 14px 10px; color:#8b9b8d; font-size:10px; }
.repeat-trend-change strong { color:#c34560; font-size:16px; font-weight:700; letter-spacing:-.035em; }
.repeat-trend-change strong.improved { color:#4a8869; }
.repeat-trend-change strong.neutral { color:#9ba99e; }
.repeat-findings { margin-top:17px; padding-top:18px; border-top:1px solid #e5ede4; }
.repeat-findings li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid #edf2eb; }
.repeat-findings li:last-child { border-bottom:0; }
.repeat-findings li > span { display:flex; flex-direction:column; gap:4px; min-width:0; }
.repeat-findings li strong { color:#35503e; font-size:12px; font-weight:650; line-height:1.4; }
.repeat-findings li small { color:#91a091; font-size:10px; line-height:1.3; }
.repeat-findings li b { flex:0 0 auto; padding:5px 8px; border-radius:7px; background:#fcf0f2; color:#c5576b; font-size:12px; font-weight:650; }
.repeat-findings details { margin-top:8px; }
.repeat-findings summary { color:#66806b; font-size:10.5px; font-weight:600; cursor:pointer; }
.repeat-no-prior { color:#8a9c8e; font-size:12px; line-height:1.6; margin:0; }

@media(max-width:900px) {
  .repeat-layout { grid-template-columns:175px minmax(0,1fr); gap:20px; }
  .repeat-sidebar { padding-right:19px; }
  .recurrence-v2 .wheel-ring { width:90px; }
  .recurrence-v2 .recurrence-wheel { padding-inline:6px; }
  .recurrence-v2 .wheel-center strong { font-size:17px; }
}
@media(max-width:650px) {
  .surface.recurrence-card.recurrence-v2 { padding:16px; }
  .repeat-layout { grid-template-columns:1fr; gap:20px; padding-top:17px; }
  .repeat-sidebar { display:grid; grid-template-columns:1fr 1.1fr; align-items:start; column-gap:18px; border:0; padding-right:0; }
  .repeat-focus > strong { font-size:59px; }
  .repeat-support { margin:0; gap:12px; }
  .repeat-support dd { font-size:25px; }
  .repeat-support .repeat-reach { padding-top:9px; gap:10px; }
  .repeat-support .repeat-reach dd { font-size:19px; }
  .repeat-sectors { grid-column:1 / -1; margin-top:18px; padding-top:16px; }
  .repeat-sectors ul { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; margin-top:4px; }
  .repeat-analysis { padding-top:17px; border-top:1px solid #e5ede4; }
  .repeat-chart-head .segments button { font-size:9px; padding:5px 7px; }
  .recurrence-v2 .wheel-ring { width:clamp(72px,21vw,100px); }
  .recurrence-v2 .wheel-center strong { font-size:16px; }
  .recurrence-v2 .recurrence-wheel { padding-inline:3px; }
  .recurrence-v2 .wheel-outcomes { gap:2px; }
  .recurrence-v2 .wheel-outcomes strong { font-size:13px; }
  .repeat-cycles { height:269px; }
  .repeat-trend-view { height:238px; }
  .recurrence-v2 .recurrence-trend-value { font-size:24px; }
  .recurrence-v2 .recurrence-trend-tick { font-size:20px; }
  .recurrence-v2 .recurrence-trend-cycle { font-size:22px; }
  .repeat-findings li { gap:12px; }
  .impact-reading { font-size:10px; padding-inline:1px; }
  .impact-landscape { min-width:880px; }
}

.unit-nc-card { margin-top:16px; padding:16px; background:radial-gradient(ellipse at 100% 0,#eef5ea66,transparent 60%),#fff; }
.unit-nc-layout { display:grid; grid-template-columns:minmax(170px,.27fr) minmax(0,1fr); gap:24px; margin:18px 5px 16px; }
.unit-nc-summary { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:10px 25px 10px 13px; border-right:1px solid #e1eae2; color:#596f60; font-size:12px; font-weight:650; }
.unit-nc-period { font-size:10px; font-weight:750; color:#7c8b7f; }
.unit-nc-summary > strong { color:#d63855; font-size:clamp(48px,5.5vw,70px); line-height:1.15; letter-spacing:-.065em; font-weight:790; margin-top:4px; }
.unit-nc-base { display:flex; flex-direction:column; gap:3px; margin-top:17px; padding-top:13px; border-top:1px solid #e6ede5; font-size:10px; font-weight:550; }
.unit-nc-base b { font-size:19px; color:#86535b; letter-spacing:-.04em; font-weight:750; }
.unit-nc-chart { min-width:0; }
.unit-nc-legend { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; font-weight:670; color:#6d8172; margin:0 10px 5px; }
.unit-nc-legend > span { display:flex; align-items:center; gap:6px; }
.unit-nc-legend > span::before { content:""; width:7px; height:7px; border-radius:2px; background:#df4964; }
.unit-nc-legend small { font-size:10px; color:#8b998d; font-weight:550; }
.unit-nc-plot { width:100%; max-height:244px; display:block; overflow:visible; }
.nc-gridline { stroke:#e5eee5; fill:none; stroke-width:1; }
.nc-axis { fill:#819084; font:600 11px var(--font); }
.nc-hit { fill:transparent; stroke:transparent; transition:fill .2s,stroke .2s; }
.nc-cycle { cursor:pointer; }
.nc-cycle:hover .nc-hit,.nc-cycle:focus-visible .nc-hit { fill:#fcf0f18c; stroke:#edcad1; }
.nc-cycle.is-selected .nc-hit { fill:#fcf2f4a3; stroke:#efd5dc; }
.nc-column { filter:drop-shadow(0 4px 3px #b33d5020); }
.nc-value { fill:#c13553; font:800 17px var(--font); }
.nc-cycle-label { fill:#516f5b; font:720 13px var(--font); }
.unit-nc-table { border:1px solid #dce7dc; border-radius:12px; }
.unit-nc-table table { width:100%; border-collapse:collapse; font-size:11px; }
.unit-nc-table thead { background:#eff5eb; color:#5d7663; }
.unit-nc-table th,.unit-nc-table td { padding:9px 14px; }
.unit-nc-table tbody tr + tr { border-top:1px solid #e7eee5; }
.unit-nc-table tbody th { text-align:left; font-weight:720; }
.unit-nc-table tbody tr.is-selected { background:#f6f9f2; }
.unit-nc-table .nc-table-count { color:#c73552; font-weight:790; }

@media(max-width:900px) {
  .surface.recurrence-card .recurrence-stat { padding:16px; }
  .surface.recurrence-card .recurrence-rate { padding-right:16px; }
  .surface.recurrence-card .recurrence-ring { display:none; }
  .unit-nc-layout { grid-template-columns:minmax(140px,.28fr) minmax(0,1fr); gap:14px; }
  .unit-nc-summary { padding-left:5px; padding-right:15px; }
}
@media(max-width:620px) {
  .surface.recurrence-card .recurrence-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .surface.recurrence-card .recurrence-stat { min-height:90px; padding:14px; }
  .surface.recurrence-card .recurrence-stat.primary { grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:space-between; }
  .surface.recurrence-card .recurrence-stat.primary dd { margin:0; }
  .surface.recurrence-card .recurrence-stat.primary strong { font-size:56px; }
  .impact-chart-panel { padding:13px 9px 5px; }
  .impact-chart-heading { align-items:flex-start; flex-direction:column; gap:8px; padding-inline:3px; }
  .heatmap-card,.unit-nc-card { padding:12px; }
  .unit-nc-layout { grid-template-columns:1fr; margin:14px 0; gap:15px; }
  .unit-nc-summary { border:0; border-bottom:1px solid #e1eae2; padding:0 7px 15px; display:grid; grid-template-columns:1fr auto; column-gap:14px; }
  .unit-nc-period { grid-column:1; }
  .unit-nc-summary > strong { grid-row:2 / 4; grid-column:1; font-size:52px; }
  .unit-nc-summary > span:not(.unit-nc-period) { grid-column:1; }
  .unit-nc-base { grid-column:2; grid-row:1 / 5; border-top:0; border-left:1px solid #e4ebe2; padding:0 0 0 14px; margin:0; align-self:center; max-width:150px; }
  .unit-nc-table th,.unit-nc-table td { padding:9px 8px; font-size:10px; }
  .compare-trend-card .comparison-canvas { padding:9px 2px 0; }
}

/* O relevo pertence ao card; os títulos ficam livres, com ícone e nome. */
.shell,.top-inner { width:min(1480px,calc(100% - 56px)); }
#panel .surface { border-color:#d3e1d5; border-radius:22px; background:radial-gradient(ellipse at 100% 0,#f1f7ed55,transparent 58%),#fff; box-shadow:0 19px 35px -29px #244f3b88,0 3px 12px -10px #3a624a35,inset 0 1px #fff; }
#panel .surface .card-head,
#panel .surface > .card-head,
#panel .leaderboard > .lead-head { min-height:32px; margin-bottom:16px; padding:0 1px 0; border:0; border-radius:0; background:none; box-shadow:none; color:#264c38; }
#panel .surface .card-title,
#panel .surface .card-head h2,
#panel .leaderboard > .lead-head h2 { color:#264c38; font-weight:730; letter-spacing:-.03em; }
#panel .surface .card-title .mark,
#panel .impact-head .mark { width:22px; height:22px; flex-basis:22px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#648c70; }
#panel .surface .card-title .mark .icon,
#panel .impact-head .mark .icon { width:19px; height:19px; }
#panel .surface .critical-head .mark,
#panel .surface .mark.neg,
#panel .recurrence-v2 > .recurrence-head .mark { color:#cd566b; }
#panel .surface .metric-header { min-height:0; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; font-size:11.5px; font-weight:650; line-height:1.45; }
#panel .surface .metric-label { gap:8px; align-items:center; }
#panel .surface .metric-label .icon { width:15px; height:15px; color:#71957b; }
#panel .surface .metric-label { color:#52735c; }
#panel .surface.risk-metric .metric-label,#panel .surface.risk-metric .metric-label .icon { color:#b94d63; }
#panel .surface.metric { padding:23px 25px 22px; min-height:133px; }
#panel .metric .metric-value { display:block; font-size:clamp(26px,2.2vw,35px); letter-spacing:-.05em; line-height:1.12; margin-top:12px; max-width:100%; font-variant-numeric:tabular-nums; }
#panel .metric .metric-value small { font-size:14px; font-weight:580; color:#6a8070; margin-left:6px; letter-spacing:-.015em; }
#panel .metric .metric-foot { display:block; line-height:1.45; margin-top:8px; color:#87988a; }
#panel .metric-link { display:block; width:100%; padding:0; text-align:left; }
#panel .unit-context .unit-stat { overflow:visible; }
#panel .unit-context .unit-stat::after { display:none; }
#panel .surface .surface.metric { padding:18px 13px 8px; border:0; border-radius:0; box-shadow:none; background:transparent; }
#panel .compare-score { padding:23px 25px 22px; }
#panel .compare-score .metric-header { color:#54755d; }
#panel .compare-score .metric-value { margin-top:17px; line-height:1.1; }
#panel .compare-score.delta-card { border-color:#2e604a; background:radial-gradient(ellipse at 100% 0,#32715b44,transparent 65%),linear-gradient(135deg,#164636,#10352b); }
#panel .compare-score.delta-card .metric-header { color:#c3dccc; }
#panel .chart-card,#panel .statistics-card,#panel .detail-card,#panel .heatmap-card,#panel .impact-section { padding:22px 24px; }
#panel .surface.risk-card,#panel .surface.deviation-chart.has-deviations { background:#fff; border-color:#e4d2d7; }
#panel .statistics-card .stats-metrics { margin-top:4px; padding-top:6px; }
#panel .statistics-card .stats-metrics > div { min-width:0; padding-inline:16px; }
#panel .statistics-card .stats-metrics > div:first-child { padding-left:0; }
#panel .statistics-card .stats-metrics dt { font-size:10.5px; min-height:29px; line-height:1.4; color:#799080; font-weight:600; }
#panel .statistics-card .stats-metrics dd { font-size:clamp(23px,2.3vw,31px); line-height:1.2; letter-spacing:-.045em; white-space:nowrap; }

/* Impacto volta à leitura horizontal, sem repetir a lista em outro gráfico. */
.impact-horizontal .impact-grid { gap:29px; }
#panel .impact-horizontal > .impact-head { margin-bottom:23px; padding-bottom:0; }
#panel .impact-horizontal .impact-list .card-head { min-height:25px; margin-bottom:7px; }
#panel .impact-horizontal .impact-list .card-title { font-size:12px; font-weight:680; color:#53735b; }
#panel .impact-horizontal .impact-loss .card-title { color:#a34f60; }
.impact-horizontal .rank-row { padding:13px 5px; min-height:66px; grid-template-columns:minmax(0,1fr) 65px 76px 12px; gap:11px; }
.impact-horizontal .rank-name > span { font-weight:650; font-size:12px; line-height:1.4; }
.impact-horizontal .rank-name small { margin-top:4px; color:#8a9a8c; font-size:10px; }
.impact-horizontal .rank-track { max-width:210px; height:3px; margin-top:9px; }
.impact-horizontal .rank-impact { font-size:11px; font-weight:700; }
.impact-horizontal .score-pill { font-size:10.5px; min-width:61px; }

/* Nas unidades, a evolução abre a coluna de aderência e as NCs abrem a de desvios. */
.unit-analysis-grid { display:grid; grid-template-columns:minmax(0,1.07fr) minmax(0,1fr); grid-template-areas:"sectors ncs" "adherence deviations"; align-items:stretch; gap:20px; margin-top:20px; }
.unit-analysis-grid > .sector-timeline { grid-area:sectors; }
.unit-analysis-grid > .unit-nc-card { grid-area:ncs; }
.unit-analysis-grid > .unit-adherence-flow { grid-area:adherence; }
.unit-analysis-grid > .unit-deviations-flow { grid-area:deviations; }
.unit-adherence-flow,.unit-deviations-flow { display:flex; flex-direction:column; gap:20px; min-width:0; align-self:start; }
.unit-analysis-grid .unit-context { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin-top:0; }
.audit-basis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.unit-analysis-grid .chart-card,.unit-analysis-grid .unit-nc-card,.unit-analysis-grid .statistics-card { margin-top:0; }
.unit-analysis-grid .sector-timeline table { width:100%; min-width:0; font-size:11px; }
.unit-analysis-grid .sector-timeline th,.unit-analysis-grid .sector-timeline td { padding:11px 5px; }
.unit-analysis-grid .sector-timeline th:first-child,.unit-analysis-grid .sector-timeline td:first-child { padding-left:0; min-width:115px; }
.unit-analysis-grid .sector-timeline .table-link { font-size:11px; line-height:1.4; }
.unit-analysis-grid .sector-timeline .score-pill { min-width:55px; padding:6px 5px; font-size:11px; border-radius:6px; }
.unit-analysis-grid .timeline-impact { font-size:10.5px; white-space:nowrap; }
.unit-analysis-grid .unit-nc-layout { grid-template-columns:minmax(118px,.31fr) minmax(0,1fr); gap:16px; margin:13px 0 15px; }
.unit-analysis-grid .unit-nc-summary { padding:5px 16px 5px 0; font-size:10.5px; }
.unit-analysis-grid .unit-nc-summary > strong { font-size:48px; margin-block:5px; }
.unit-analysis-grid .unit-nc-base { margin-top:13px; padding-top:11px; font-size:9px; }
.unit-analysis-grid .unit-nc-base b { font-size:17px; }
.unit-analysis-grid .unit-nc-legend { margin-inline:0; }
.unit-analysis-grid .unit-nc-plot { max-height:206px; }
.unit-analysis-grid .unit-nc-table th,.unit-analysis-grid .unit-nc-table td { padding:9px 10px; font-size:11px; }
.unit-analysis-grid .sector-columns,.unit-analysis-grid .sector-score-row { grid-template-columns:minmax(125px,1.15fr) minmax(75px,1fr) 53px 63px; gap:10px; }
.unit-analysis-grid .sector-bar-name { font-size:11px; }
.unit-analysis-grid .sector-gap,.unit-analysis-grid .sector-score-row .lead-value { font-size:10px; }
.unit-analysis-grid .stats-charts { grid-template-columns:1fr; gap:20px; }
.unit-analysis-grid .stats-spread { border-left:0; padding-left:0; padding-top:17px; border-top:1px solid #e8eee6; }
.unit-analysis-grid .stats-range { padding-right:0; }

/* A tendência mantém uma proporção própria, em vez de ocupar toda a largura. */
.recurrence-v2 { container:recurrence / inline-size; }
#panel .surface.recurrence-card.recurrence-v2 { padding:23px 25px; border-color:#d8e4da; background:radial-gradient(ellipse at 0 0,#f8faf555,transparent 60%),#fff; }
#panel .recurrence-v2 > .recurrence-head { padding-bottom:16px; margin-bottom:0; border-bottom:1px solid #e8eee6; }
.recurrence-v2 .repeat-layout { gap:30px; padding-top:24px; }
.recurrence-v2 .repeat-sidebar { padding-right:29px; }
.recurrence-v2 .repeat-focus { gap:12px; }
.recurrence-v2 .repeat-focus > strong { font-size:clamp(58px,5.2vw,73px); letter-spacing:-.065em; font-weight:720; }
.recurrence-v2 .repeat-support { margin-top:24px; }
.recurrence-v2 .repeat-support dd { font-size:28px; }
.recurrence-v2 .repeat-trend-view { width:min(100%,600px); height:269px; margin-inline:auto; }
.recurrence-v2 .recurrence-trend { max-height:234px; }
.recurrence-v2 .recurrence-trend-line { stroke-width:2.6; filter:drop-shadow(0 2px 3px #d9495d23); }
.recurrence-v2 .recurrence-trend-dot { stroke-width:3; }
.recurrence-v2 .repeat-trend-change { padding-inline:10px; }
.recurrence-v2 .wheel-ring { background:conic-gradient(#e85a72 0 var(--wheel-repeat),#8cbba2 var(--wheel-repeat) 100%); box-shadow:inset 0 0 0 1px #fff7,0 0 0 4px #f6f9f3,0 7px 14px -12px #2f614b61; }
.recurrence-v2 .repeat-findings li { padding-block:12px; }
.recurrence-v2 .repeat-findings li b { background:#fcf2f3; color:#c35b6d; font-weight:650; }
@container recurrence (max-width:740px) {
  .repeat-layout { grid-template-columns:1fr; gap:19px; }
  .repeat-sidebar { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr); gap:0 22px; border-right:0; padding-right:0 !important; }
  .repeat-focus { justify-content:center; }
  .repeat-focus > strong { font-size:64px; }
  .repeat-support { margin-top:0 !important; gap:13px; }
  .repeat-support .repeat-reach { padding-top:10px; }
  .repeat-sectors { grid-column:1 / -1; margin-top:21px; padding-top:17px; }
  .repeat-sectors ul { display:grid; grid-template-columns:1fr 1fr; gap:0 21px; margin-top:5px; }
  .repeat-analysis { padding-top:17px; border-top:1px solid #e8eee6; }
  .repeat-cycles { height:294px; }
  .repeat-trend-view { height:263px !important; }
  .repeat-findings { margin-top:12px; }
}
@media(max-width:1100px) {
  .unit-analysis-grid { grid-template-columns:1fr; grid-template-areas:"sectors" "ncs" "deviations" "adherence"; gap:17px; }
  .unit-analysis-grid .unit-nc-layout { grid-template-columns:minmax(150px,.27fr) minmax(0,1fr); }
  .unit-analysis-grid .unit-nc-summary > strong { font-size:58px; }
}
@media(max-width:700px) {
  .shell,.top-inner { width:calc(100% - 28px); }
  #panel .chart-card,#panel .statistics-card,#panel .detail-card,#panel .heatmap-card,#panel .impact-section { padding:18px; }
  #panel .surface.metric,#panel .compare-score { padding:20px; }
  #panel .metric .metric-value { font-size:28px; }
  #panel .metric .metric-value small { font-size:12px; }
  .unit-analysis-grid .unit-context,.audit-basis { gap:12px; }
  .unit-analysis-grid .sector-timeline .table-wrap { overflow-x:auto; }
  .unit-analysis-grid .sector-timeline table { min-width:570px; }
  .unit-analysis-grid .unit-nc-layout { grid-template-columns:1fr; }
  .unit-analysis-grid .unit-nc-summary { display:grid; grid-template-columns:1fr auto; padding:0 5px 15px; }
  .impact-horizontal .impact-grid { gap:15px; }
  .impact-horizontal .rank-row { grid-template-columns:minmax(0,1fr) 60px 65px 9px; gap:7px; }
  #panel .statistics-card .stats-metrics > div { padding-inline:10px; }
  #panel .statistics-card .stats-metrics dd { font-size:23px; }
  #panel .statistics-card .stats-metrics dt { font-size:9px; min-height:28px; }
  #panel .surface.recurrence-card.recurrence-v2 { padding:19px; }
  .recurrence-v2 .repeat-focus > strong { font-size:60px; }
  .recurrence-v2 .repeat-support dd { font-size:25px; }
  .recurrence-v2 .recurrence-trend-value { font-size:15px; }
  .recurrence-v2 .recurrence-trend-tick { font-size:13px; }
  .recurrence-v2 .recurrence-trend-cycle { font-size:14px; }
}

/* Tendência horizontal: proporção natural e relevo suave no gráfico. */
.repeat-analysis { position:relative; }
.repeat-view-toolbar { position:absolute; top:0; right:0; display:flex; justify-content:flex-end; min-height:31px; }
.repeat-view-toolbar .segments { padding:3px; background:#f1f6ef; border-color:#e4ece0; box-shadow:inset 0 1px #fff; }
.repeat-view-toolbar .segments button { font-size:10px; padding:5px 10px; }
.repeat-view-toolbar .segments button[aria-pressed="true"] { color:#365b43; border-color:#dbe8d8; background:#fff; }
.repeat-analysis .repeat-chart-head { padding-right:170px; }
.recurrence-v2 .repeat-analysis.is-trend-view { display:block; }
.is-trend-view .repeat-cycles { height:auto; min-width:0; padding:0; border:0; }
.is-trend-view .repeat-chart-head { min-height:31px; margin-bottom:15px; }
.recurrence-v2 .is-trend-view .repeat-trend-view {
  display:block; width:100%; max-width:none; height:auto !important; margin:0;
  padding:15px 15px 12px; border:1px solid #e1e9df; border-radius:16px;
  background:radial-gradient(ellipse at 95% 0,#f0f6e978,transparent 65%),repeating-linear-gradient(0deg,#49663d02 0 1px,transparent 1px 4px),linear-gradient(155deg,#fff,#fdfefb);
  box-shadow:inset 0 1px #fff,inset 0 -1px #dfe9db55,0 14px 24px -23px #2b5a4380;
}
.recurrence-horizontal-trend { display:block; width:100%; height:auto; overflow:visible; }
.rh-grid { fill:none; stroke:#e4ece3; stroke-width:1; }
.rh-tick { fill:#8a9c8c; font:550 11px var(--font); }
.rh-line-shadow { fill:none; stroke:#c14b6620; stroke-width:7; stroke-linecap:round; stroke-linejoin:round; transform:translateY(2px); }
.rh-line { fill:none; stroke-width:3.1; stroke-linecap:round; stroke-linejoin:round; }
.rh-point { cursor:pointer; }
.rh-hit { fill:transparent; stroke:transparent; transition:fill .18s,stroke .18s; }
.rh-point:hover .rh-hit,.rh-point:focus-visible .rh-hit { fill:#edf4eb55; stroke:#d9e7d7; }
.rh-point.is-selected .rh-hit { fill:#eef5e96b; stroke:#d4e3d0; }
.rh-halo { fill:#f9e3e8; }
.rh-dot { fill:#e25874; stroke:#fff; stroke-width:2.7; filter:drop-shadow(0 2px 2px #b5476033); }
.rh-glint { fill:#fff; opacity:.5; pointer-events:none; }
.rh-value { fill:#bb3e5b; font:730 18px var(--font); letter-spacing:-.035em; }
.rh-value.missing { fill:#a4b1a5; }
.rh-cycle { fill:#5a7762; font:680 12.5px var(--font); }
.rh-base { fill:#98a69a; font:500 10px var(--font); }
.is-trend-view .repeat-trend-change { margin-top:3px; padding:12px 7px 0; border-top:1px solid #e5ece2; gap:12px; align-items:center; }
.is-trend-view .repeat-trend-change > span { color:#8a9c8d; font-size:10.5px; line-height:1.5; }
.is-trend-view .repeat-trend-change strong { padding:5px 8px; border-radius:7px; color:#bd5066; background:#fcf1f4; font-size:17px; font-weight:700; white-space:nowrap; }
.is-trend-view .repeat-trend-change strong.improved { color:#397d59; background:#edf5e9; }
.is-trend-view .repeat-trend-change strong.neutral { color:#8c9b8e; background:#f1f4ee; }
#panel .is-trend-view .repeat-findings { min-width:0; padding-top:20px; margin-top:20px; border-top:1px solid #e6eee3; }
.is-trend-view .repeat-findings li { padding-block:12px; }
@container recurrence (max-width:740px) {
  .recurrence-v2 .is-trend-view .repeat-trend-view { padding:14px 7px 11px; border-radius:13px; }
  .rh-value { font-size:20px; }
  .rh-cycle { font-size:14px; }
  .rh-base { font-size:11px; }
}
@container recurrence (max-width:500px) {
  .repeat-view-toolbar .segments button { font-size:9px; padding:5px 7px; }
  .repeat-analysis .repeat-chart-head { padding-right:155px; }
  .rh-value { font-size:22px; }
  .rh-cycle { font-size:15px; }
  .rh-base { font-size:12px; }
  .rh-tick { font-size:13px; }
}

/* Os indicadores de contexto abrem a página da unidade. */
.unit-leading-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.unit-leading-metrics > .unit-context,.unit-leading-metrics > .audit-basis { display:contents; }
@media(max-width:900px) { .unit-leading-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }
@media(max-width:480px) { .unit-leading-metrics { gap:12px; } #panel .unit-leading-metrics .surface.metric { padding:19px 18px; } }

/* Categorias da unidade: resultado e distância da meta numa leitura única. */
#panel .unit-categories-card { container:unit-categories / inline-size; background:radial-gradient(ellipse at 100% 0,#edf5e754,transparent 58%),linear-gradient(155deg,#fff,#fdfefb); }
.unit-category-controls { display:grid; grid-template-columns:minmax(145px,1fr) auto; align-items:center; gap:11px; margin-top:3px; }
.unit-category-controls .field { min-width:0; width:100%; }
.unit-category-controls select { width:100%; max-width:100%; height:35px; font-size:10.5px; text-overflow:ellipsis; }
.unit-category-controls .segments { padding:3px; border-color:#e0e9da; background:#f1f6ed; box-shadow:inset 0 1px #fff; }
.unit-category-controls .segments button { padding:6px 8px; font-size:9.5px; white-space:nowrap; }
.unit-category-summary { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 12px; margin:17px 0 12px; color:#7c9181; font-size:11px; }
.unit-category-summary strong { color:#347456; font-size:21px; font-weight:730; letter-spacing:-.04em; margin-right:3px; }
.unit-category-summary > small { color:#9ba99d; font-size:10px; }
.unit-category-plot { padding-top:4px; }
.uc-axis,.uc-row { display:grid; grid-template-columns:minmax(155px,1.1fr) minmax(120px,1fr) 72px 10px; align-items:center; gap:13px; }
.uc-axis { padding:0 6px 9px; border-bottom:1px solid #e6eee2; font-size:9.5px; color:#93a395; font-weight:550; }
.uc-axis > :nth-child(3) { text-align:right; }
.uc-axis-goal { display:block; position:relative; height:17px; }
.uc-axis-goal i { position:absolute; top:1px; transform:translateX(-100%); color:#729078; font-style:normal; white-space:nowrap; font-size:9.5px; font-weight:650; }
.uc-row { --uc-color:#478966; --uc-fill:#a6c8ad; --uc-glow:#e6f1e4; width:100%; min-width:0; min-height:74px; padding:12px 6px; text-align:left; border:1px solid transparent; border-bottom-color:#eaf0e6; border-radius:10px; background:transparent; color:inherit; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
.uc-row.warn { --uc-color:#b27b36; --uc-fill:#e8c793; --uc-glow:#faf1e0; }
.uc-row.bad { --uc-color:#cc4c69; --uc-fill:#edb3c0; --uc-glow:#fae7ed; }
.uc-row.missing { --uc-color:#a0afa1; --uc-fill:#dce4d8; --uc-glow:#eff3ed; }
.uc-row:last-child { border-bottom-color:transparent; }
.uc-row:hover,.uc-row:focus-visible { background:#f5f9f1; border-color:#dce8d7; box-shadow:0 7px 13px -14px #2f654b85; }
.uc-name { display:flex; flex-direction:column; gap:5px; min-width:0; }
.uc-name strong { color:#365640; font-size:11.5px; line-height:1.4; font-weight:670; }
.uc-name small { color:#96a397; font-size:9.5px; line-height:1.35; }
.uc-track { display:block; position:relative; height:14px; min-width:0; }
.uc-track::before { content:""; position:absolute; top:6px; left:0; right:0; height:2px; border-radius:3px; background:#eaf0e5; box-shadow:inset 0 1px 1px #3e6b4510; }
.uc-target { position:absolute; top:-6px; bottom:-6px; border-left:1px dashed #90ab94; opacity:.7; }
.uc-gap { position:absolute; top:4px; height:5px; min-width:1px; border-radius:5px; background:linear-gradient(90deg,var(--uc-fill),var(--uc-color)); opacity:.75; box-shadow:inset 0 1px #fff5; }
.uc-dot { position:absolute; top:50%; width:11px; height:11px; transform:translate(-50%,-50%); border:2px solid #fff; border-radius:50%; background:var(--uc-color); box-shadow:0 0 0 3px var(--uc-glow),0 3px 5px -3px var(--uc-color); }
.uc-dot::after { content:""; position:absolute; width:2px; height:2px; left:1px; top:1px; background:#fff8; border-radius:50%; }
.uc-reading { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.uc-reading .score-pill { min-width:63px; padding:5px 7px; font-size:11px; border:0; border-radius:7px; }
.uc-reading > small { color:var(--uc-color); font-size:9px; font-weight:600; letter-spacing:-.015em; white-space:nowrap; }
.uc-row > .icon { width:12px; height:12px; color:#93ad99; opacity:.6; }
.unit-category-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:13px; padding-top:12px; border-top:1px solid #e6eee3; color:#9aa79b; font-size:9.5px; }
.unit-category-footer button { display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid #deead9; border-radius:8px; background:linear-gradient(145deg,#fff,#f3f8ed); color:#50765b; font-size:10px; font-weight:650; box-shadow:inset 0 1px #fff,0 5px 10px -11px #32614471; }
.unit-category-footer button:hover { background:#edf5e7; border-color:#c4d9bd; }
.unit-category-footer .icon { width:12px; height:12px; transition:transform .18s; }
.unit-category-footer [aria-expanded="true"] .icon { transform:rotate(180deg); }
@container unit-categories (max-width:520px) {
  .unit-category-controls { grid-template-columns:1fr; gap:9px; }
  .unit-category-controls .segments { justify-self:start; }
  .uc-axis { grid-template-columns:minmax(0,1fr) 72px 10px; gap:12px; }
  .uc-axis > :first-child { display:none; }
  .uc-axis-goal { grid-column:1; }
  .uc-axis > :nth-child(3) { grid-column:2; }
  .uc-row { grid-template-columns:minmax(0,1fr) 72px 10px; grid-template-areas:"name name arrow" "track reading arrow"; gap:10px 12px; padding-block:13px; }
  .uc-name { grid-area:name; }
  .uc-track { grid-area:track; }
  .uc-reading { grid-area:reading; }
  .uc-row > .icon { grid-area:arrow; }
  .uc-name strong { font-size:12px; }
}
