[hidden] {
  display: none !important;
}
body {
  background: #0b0b0d;
}
.sidebar {
  background: #101012;
  border-color: #28282c;
  width: 236px;
  padding-top: 25px;
  overflow-y: auto;
}
.brand-mark {
  background: var(--red-500);
  color: white;
  border-radius: 9px;
}
.brand-soc {
  color: var(--red-300);
}
.workspace {
  background: #19191d;
  margin: 27px 0 20px;
}
.workspace-dot {
  background: var(--red-500);
}
.nav-item {
  padding: 10px 13px;
  color: var(--id);
  font-size: var(--fs-xs);
}
.nav-item.active {
  background: #33181d;
  color: #ff8390;
  box-shadow: inset 2px 0 var(--red-500);
}
.nav-item:hover {
  background: #222226;
}
.nav-divider {
  margin: 10px;
}
.sidebar-bottom {
  padding-top: 14px;
}
.integration-symbol {
  color: #ff6577;
}
.local-note {
  color: #82828b;
}
.topbar {
  background: #101012;
  height: 64px;
  padding: 0 30px;
  border-color: #28282c;
}
main {
  margin-left: 236px;
}
.page-wrap {
  padding: 28px 30px 16px;
}
.topbar-right {
  gap: 15px;
}
.avatar {
  background: #2b2024;
  border: 1px solid #553039;
  color: #ffbcc5;
}
.pill {
  background: #201f24;
  color: #e2e2e8;
  border-color: #42424c;
}
.live-banner {
  background: #151517;
  color: #a7a7af;
  border-color: #242429;
  font-size: var(--fs-xs);
  padding: 7px 30px;
}
.live-banner strong {
  color: #e3e3e8;
  margin-right: 8px;
}
.eyebrow {
  color: #ff7383;
}
.button.primary {
  background: var(--red-500);
  border-color: var(--red-500);
  color: white;
}
.button.primary:hover {
  background: var(--red-300);
}
.button.secondary {
  background: #232327;
  border-color: #3b3b42;
  color: #e7e7eb;
}
.button {
  border-radius: 5px;
}
.icon-button {
  background: #202024;
  color: #dedee4;
  border-color: #393940;
}
select,
input,
textarea {
  background: #1b1b1f;
  border: 1px solid #39393f;
  color: #eeeef2;
}
.panel {
  background: #141416;
  border-color: #2a2a30;
  border-radius: 8px;
  box-shadow: none;
}
.panel-heading h2 {
  font-size: var(--fs-sm);
  font-weight: 600;
}
.panel-heading p {
  color: #93939d;
}
.page-heading h1 {
  font-size: 28px;
}
.kpi {
  background: #141416;
  border-color: #2b2b30;
}
.kpi.critical {
  background: linear-gradient(140deg, #241419, #141416 80%);
  border-top: 2px solid var(--red-500);
}
.kpi.warning {
  border-top: 2px solid #a85c65;
}
.kpi.positive {
  border-top: 2px solid #bbb;
}
.kpi.critical .kpi-value {
  color: #ff5467;
}
.kpi-icon {
  color: #9797a1;
}
.kpi-note {
  color: #9999a2;
}
.kpi-top {
  color: #c8c8d0;
}
.kpi-value {
  font-size: 34px;
}
.kpi-grid {
  gap: 12px;
}
.notice {
  background: #1c1c20;
  border-color: #393940;
  color: #b6b6bf;
}
.notice.warning {
  background: #271d19;
  border-color: #54413a;
  color: #dab5a2;
}
.method-item h3 {
  color: #f0b5bd;
}
.code-block {
  background: var(--ink-950);
  color: #c9bfc3;
  border-color: #3c3034;
}
.badge.critical {
  background: #491823;
  color: #ff96a4;
}
.badge.high {
  background: #3b2027;
  color: #f3a3ad;
}
.badge.medium {
  background: #2b252b;
  color: #cebbc8;
}
.badge.low,
.badge.info {
  background: #25252b;
  color: #c5c5d2;
}
.badge.good {
  background: #25342f;
  color: #b8d3c7;
}
.badge.neutral {
  background: #29292e;
  color: #bdbdc6;
}
.text-button {
  color: #ff7a89;
}
.table-wrap th {
  background: #1a1a1e;
  color: #9b9ba5;
  border-color: #303036;
}
td {
  border-color: #29292e;
}
tr[data-detail-source]:hover,
tr[data-finding]:hover {
  background: #23191d;
  cursor: pointer;
}
td small {
  color: #93939d;
}
td strong {
  color: #e2e2e8;
}
.chart-legend {
  color: #b2b2ba;
}
.gridline {
  border-color: #2c2c32;
}
.bar-label,
.gridline span {
  color: #8e8e98;
}
.source-strip {
  background: #151518;
  border-color: #2c2c31;
}
.source-chip {
  color: #c3c3cb;
}
.muted {
  color: #9999a4;
  font-size: var(--fs-xs);
  line-height: 1.8;
}
dialog {
  background: #161619;
  border-color: #4a353b;
}
dialog::backdrop {
  background: #000b;
}
.dialog-top {
  border-color: #36363d;
}
.dialog-description {
  color: #b6b6c0;
}
.method-item {
  border-color: #2c2c32;
}
.detail-grid strong {
  color: #dfdfe6;
}
.detail-grid small {
  color: #9999a4;
}
.status-card {
  background: #17171a;
  border-color: #333339;
}
.status-card .route {
  color: #b78b95;
}
.status-detail strong {
  color: #d5d5dd;
}
.status-message {
  color: #a4a4ae;
}
.empty {
  color: #91919b;
}
.empty strong {
  color: #c8c8d0;
}
.search::placeholder {
  color: #8c8c96;
}
.panel-intro {
  color: #91919c;
}
.client-tabs {
  display: flex;
  gap: 0;
  align-items: center;
  overflow-x: auto;
  background: #111114;
  border-bottom: 1px solid #2a2a30;
  min-height: 47px;
  padding: 0 30px;
}
.client-tab-label {
  font-size: var(--fs-xs);
  letter-spacing: 1.4px;
  color: #787882;
  margin-right: 20px;
}
.client-tab {
  font-size: var(--fs-xs);
  background: transparent;
  color: #90909c;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 15px 18px 13px;
  white-space: nowrap;
}
.client-tab.selected {
  color: #f1f1f5;
  background: #1a1519;
  border-bottom-color: var(--red-500);
}
.client-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--red-500);
  margin-right: 8px;
}
.add-client {
  color: #9b8a90;
}
.command-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #161316;
  border: 1px solid #38292f;
  border-radius: 6px;
  padding: 12px 17px;
  margin-bottom: 16px;
  font-size: var(--fs-xs);
}
.command-strip > div {
  display: flex;
  align-items: center;
  gap: 14px;
}
.command-strip strong {
  letter-spacing: 1.2px;
  color: #e0b4bd;
  font-size: var(--fs-xs);
}
.command-strip span {
  color: #9f9299;
}
.live-dot {
  width: 6px;
  height: 6px;
  background: var(--red-500);
  border-radius: 50%;
  box-shadow: 0 0 0 4px #ec23371a;
}
.severity-stack {
  padding: 5px 22px 16px;
}
.severity-stack > div {
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid #28282e;
  padding: 13px 0;
  font-size: var(--fs-xs);
  color: #bdbdc6;
}
.severity-stack strong {
  margin-left: auto;
  color: var(--white);
  font-size: 23px;
  font-weight: 500;
}
.focus-note {
  font-size: var(--fs-xs);
  border-top: 1px solid #2b2b32;
  background: #1b1519;
  color: #c19ca5;
  padding: 15px 22px;
}
.focus-note button {
  display: block;
  margin-top: 7px;
}
.funnel {
  display: flex;
  gap: 13px;
  padding: 18px 22px 26px;
}
.funnel-step {
  flex: 1;
  min-width: 0;
}
.funnel-step span {
  font-size: var(--fs-xs);
  color: #adadb8;
  display: block;
}
.funnel-step strong {
  font-size: 26px;
  color: #f0e6e9;
  display: block;
  font-weight: 500;
  margin: 8px 0 16px;
}
.funnel-bar {
  height: 35px;
  background: var(--red-500);
  border-radius: 2px;
  min-width: 5px;
}
.service-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
  padding: 20px 22px 34px;
}
.service-metrics > div {
  border-left: 2px solid #70404a;
  padding-left: 15px;
}
.service-metrics span {
  display: block;
  font-size: var(--fs-xs);
  color: #b2b2bd;
}
.service-metrics strong {
  display: block;
  font-size: 26px;
  font-weight: 500;
  margin: 14px 0;
}
.service-metrics small {
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: #9696a1;
}
.mini-bars {
  padding: 4px 22px 24px;
}
.mini-row {
  margin: 14px 0;
}
.mini-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: var(--fs-xs);
  color: #bdbdc6;
  margin-bottom: 7px;
  overflow-wrap: anywhere;
}
.mini-row strong {
  color: #efccd3;
}
.mini-track {
  background: #25252b;
  border-radius: 2px;
  height: 5px;
}
.mini-track i {
  display: block;
  background: #b93145;
  height: 100%;
  border-radius: 2px;
}
.queue-summary {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 20px;
  padding: 17px 20px;
  border: 1px solid #372a30;
  background: #1a1418;
  border-radius: 6px;
  font-size: var(--fs-xs);
  color: #b9a3ac;
}
.queue-summary b {
  font-size: 21px;
  color: #ff8192;
  margin-right: 4px;
}
.pipeline {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #171419;
  border: 1px solid #3a2932;
  border-radius: 8px;
  padding: 23px;
  margin: 0 0 28px;
}
.pipeline > div {
  flex: 1;
}
.pipeline small {
  font-size: var(--fs-xs);
  letter-spacing: 1.2px;
  color: #f56b81;
  display: block;
}
.pipeline strong {
  font-size: var(--fs-sm);
  font-weight: 550;
  display: block;
  margin: 9px 0;
}
.pipeline span {
  display: block;
  font-size: var(--fs-xs);
  color: #9e929d;
}
.pipeline > b {
  font-size: 23px;
  color: #67323f;
  font-weight: 400;
}
.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 25px 0 17px;
}
.section-title h2 {
  font-size: 17px;
  font-weight: 550;
  margin: 0;
}
.section-title > span {
  font-size: var(--fs-xs);
  color: #a798a1;
  letter-spacing: 0.4px;
}
.rules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.rule-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #302c32;
  background: #17161a;
  border-radius: 7px;
  padding: 20px;
}
.rule-card > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rule-card .mono {
  font-size: var(--fs-xs);
  color: #af8995;
}
.rule-card h3 {
  font-size: var(--fs-md);
  font-weight: 550;
  margin: 17px 0 9px;
}
.rule-card p {
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: #a7a2af;
  margin: 0 0 17px;
}
.rule-needs {
  border-top: 1px solid #30292f;
  padding-top: 13px;
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: #bbb2bd;
  margin-top: auto;
}
.rule-needs small {
  font-size: var(--fs-xs);
  letter-spacing: 1px;
  display: block;
  color: #7f7480;
  margin-bottom: 6px;
}
.rule-card footer {
  color: #a9919c;
  border-color: #332a30;
  margin-top: 17px;
  font-size: var(--fs-xs);
  padding-top: 13px;
  gap: 7px;
}
.report-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 22px;
}
.report-builder .panel-heading svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.2;
  color: #ef546d;
}
.report-fields {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 30px;
  padding: 10px 24px 26px;
}
.report-fields label:not(.module-check) {
  display: block;
  font-size: var(--fs-xs);
  color: #beb4c0;
  margin-bottom: 10px;
}
.report-fields select {
  width: 100%;
  margin: 3px 0 17px;
}
.date-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
}
.date-pair input {
  display: block;
  width: 100%;
  font-size: var(--fs-xs);
  margin-top: 7px;
  padding: 8px;
}
.date-pair input:disabled {
  opacity: 0.35;
}
.format-options {
  display: flex;
  gap: 12px;
  margin: 15px 0 24px;
}
.format-options label {
  display: flex !important;
  gap: 4px;
  align-items: center;
}
.format-options input {
  min-height: auto;
  margin: 0;
  accent-color: var(--red-500);
}
.module-check {
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid #37303a;
  border-radius: 5px;
  padding: 13px;
  margin-bottom: 10px;
  background: #1c181f;
  cursor: pointer;
}
.module-check:has(input:checked) {
  border-color: #693642;
  background: #271920;
}
.module-check input {
  accent-color: var(--red-500);
  min-height: 0;
  width: 14px;
  height: 14px;
}
.module-check strong {
  font-size: var(--fs-xs);
  display: block;
  font-weight: 500;
  color: #e5dbe5;
}
.module-check small {
  font-size: var(--fs-xs);
  line-height: 1.7;
  display: block;
  color: #a196a5;
  margin-top: 4px;
}
.builder-actions {
  border-top: 1px solid #342c36;
  padding: 20px 24px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.report-cover {
  border: 1px solid #56303c;
  background: linear-gradient(140deg, #39111e, #171318 70%);
  min-height: 300px;
  padding: 28px;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.report-cover:after {
  content: "F";
  position: absolute;
  right: 0;
  top: 20px;
  font-size: 250px;
  font-weight: 800;
  color: #ed23370b;
  line-height: 1;
  pointer-events: none;
}
.report-cover h2 {
  font-size: 35px;
  font-weight: 550;
  line-height: 1.2;
  letter-spacing: -1px;
  margin: 25px 0;
}
.cover-line {
  height: 3px;
  width: 50px;
  background: var(--red-500);
  margin: 25px 0;
}
.report-cover p {
  font-size: var(--fs-xs);
  color: #e6c2ce;
}
.report-cover small {
  font-size: var(--fs-xs);
  line-height: 1.9;
  letter-spacing: 1px;
  color: #b18b9a;
}
.template-card {
  padding: 19px 22px;
}
.template-card h3 {
  font-size: var(--fs-xs);
  margin: 0 0 15px;
}
.template-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-top: 1px solid #302731;
  background: none;
  padding: 14px 0;
  width: 100%;
  text-align: left;
  color: #e3c3d0;
  font-size: var(--fs-xs);
}
.template-button small {
  display: block;
  font-size: var(--fs-xs);
  color: #9d8795;
  margin-top: 4px;
}
.preview-metrics {
  display: flex;
  gap: 35px;
  margin: 7px 0 25px;
}
.preview-metrics span {
  font-size: var(--fs-xs);
  color: #b7a7b4;
}
.preview-metrics b {
  display: block;
  font-size: 27px;
  color: #f3869c;
  margin-bottom: 4px;
}
.client-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 0 24px 24px;
}
.client-card {
  border: 1px solid #48303c;
  border-radius: 6px;
  padding: 20px;
  background: #21171e;
}
.client-card h3 {
  font-size: 15px;
  font-weight: 500;
  margin: 15px 0;
}
.client-card p {
  font-size: var(--fs-xs);
  color: #b49ba9;
}
.client-card button {
  margin-top: 15px;
}
.steps {
  padding-left: 17px;
  margin: 0;
  line-height: 2;
}
.steps li {
  padding: 5px;
  font-size: var(--fs-xs);
}
.finding-head {
  display: flex;
  gap: 15px;
  align-items: center;
  font-size: var(--fs-xs);
  margin-bottom: 20px;
}
.workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.workflow-grid label,
.workflow-note {
  font-size: var(--fs-xs);
  color: #ae9caa;
  display: block;
}
.workflow-grid input,
.workflow-grid select {
  display: block;
  width: 100%;
  margin-top: 6px;
}
.workflow-note {
  margin: 15px 0;
}
.workflow-note textarea {
  display: block;
  width: 100%;
  min-height: 75px;
  margin-top: 6px;
  padding: 12px;
  font: 12px var(--font);
  border-radius: 5px;
  resize: vertical;
}
.evidence-list {
  margin-top: 20px;
}
.evidence-list > div {
  display: flex;
  gap: 20px;
  border-left: 2px solid #71313f;
  padding: 0 0 22px 15px;
}
.evidence-list time {
  white-space: nowrap;
  font-size: var(--fs-xs);
  color: #b7798a;
  min-width: 68px;
}
.evidence-list strong {
  font-size: var(--fs-xs);
  font-weight: 500;
  display: block;
}
.evidence-list small {
  display: block;
  font-size: var(--fs-xs);
  color: #a298a6;
  line-height: 1.8;
}
.evidence-list section {
  min-width: 0;
}
.evidence-list summary {
  font-size: var(--fs-xs);
  color: #d794a7;
  cursor: pointer;
  margin-top: 8px;
}
.evidence-list pre {
  font-size: var(--fs-xs);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #101013;
  padding: 10px;
  border-radius: 5px;
}
.activity-line {
  font-size: var(--fs-xs);
  border-top: 1px solid #332a33;
  padding: 13px 0;
  color: #b9a6b4;
}
.activity-line p {
  font-size: var(--fs-xs);
  color: #d3c8d1;
  margin: 5px 0;
}
#workflow-feedback {
  font-size: var(--fs-xs);
  color: #ff9fb4;
}
#detail-body h3 {
  font-size: var(--fs-sm);
  margin: 24px 0 14px;
}
@media (min-width: 1500px) {
  .kpi-value {
    font-size: 39px;
  }
  .rules-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1250px) {
  .rules-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .report-layout {
    grid-template-columns: 1fr;
  }
  .report-layout > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .report-cover {
    min-height: 260px;
  }
  .service-metrics {
    gap: 10px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .service-metrics strong {
    font-size: 22px;
  }
  .kpi-value {
    font-size: 30px;
  }
}
@media (max-width: 1000px) {
  .sidebar {
    width: 190px;
    padding: 20px 10px;
  }
  .brand {
    font-size: var(--fs-xl);
  }
  .nav-item {
    font-size: var(--fs-xs);
    padding: 9px;
  }
  .sidebar-bottom {
    display: none;
  }
  main {
    margin-left: 190px;
  }
  .page-wrap {
    padding: 22px 20px;
  }
  .topbar {
    padding: 0 20px;
  }
  .client-tabs {
    padding: 0 15px;
  }
  .client-tab-label {
    display: none;
  }
  .pipeline {
    gap: 12px;
    padding: 17px;
  }
  .pipeline strong {
    font-size: var(--fs-xs);
  }
  .client-cards {
    grid-template-columns: 1fr 1fr;
  }
  .grid-main,
  .grid-half {
    grid-template-columns: 1fr;
  }
  .command-strip > div {
    gap: 8px;
  }
  .command-strip span:last-child {
    display: none;
  }
}
@media (max-width: 700px) {
  .sidebar {
    position: static;
    width: 100%;
    padding: 14px 16px;
  }
  .brand {
    display: none;
  }
  .workspace,
  .nav-label {
    display: none;
  }
  #navigation {
    display: flex;
    overflow-x: auto;
    gap: 5px;
  }
  .nav-item {
    white-space: nowrap;
    width: auto;
    min-width: max-content;
    padding: 9px 12px;
  }
  .nav-item svg {
    width: 14px;
  }
  .nav-divider {
    display: none;
  }
  main {
    margin-left: 0;
  }
  .topbar {
    height: 52px;
  }
  .breadcrumb > span:not(.mobile-brand) {
    display: none;
  }
  .mobile-brand {
    display: block;
    color: var(--white) !important;
  }
  .topbar-right {
    gap: 10px;
  }
  .client-tabs {
    padding: 0 12px;
  }
  .live-banner {
    padding: 7px 18px;
  }
  .page-wrap {
    padding: 20px 16px;
  }
  .rules-grid {
    grid-template-columns: 1fr;
  }
  .pipeline {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .pipeline > b {
    display: none;
  }
  .report-fields {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 8px 18px;
  }
  .report-layout > div {
    display: block;
  }
  .builder-actions {
    flex-direction: column;
  }
  .report-cover {
    min-height: 300px;
  }
  .workflow-grid {
    grid-template-columns: 1fr;
  }
  .client-cards {
    grid-template-columns: 1fr;
  }
  .funnel {
    gap: 8px;
    padding: 14px;
  }
  .funnel-step span {
    font-size: var(--fs-xs);
  }
  .funnel-step strong {
    font-size: 21px;
  }
  .service-metrics {
    grid-template-columns: 1fr;
  }
  .service-metrics strong {
    margin: 6px 0;
  }
  .section-title {
    align-items: flex-start;
    flex-direction: column;
  }
  .command-strip {
    padding: 10px 12px;
  }
  .queue-summary {
    gap: 15px;
  }
  .preview-metrics {
    flex-direction: column;
    gap: 15px;
  }
}
/* Botão real na célula do título da linha clicável (26/10/2026): leitor de tela anuncia "botão"; a linha segue clicável com o mouse. */
.row-open { all: unset; box-sizing: border-box; cursor: pointer; color: inherit; font-weight: inherit; text-decoration: underline transparent; text-underline-offset: 3px; }
.row-open:hover { text-decoration-color: currentColor; }
.row-open:focus-visible { outline: 2px solid var(--focus, var(--focus)); outline-offset: 2px; border-radius: 3px; }

/* UX de Regras, Alertas e Dashboards (26/10/2026) */
.library-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 8px 14px; border: 1px dashed var(--line-soft, var(--line)); border-radius: 8px; font-size: var(--fs-sm); color: var(--muted, var(--quiet)); }
.library-empty b { color: var(--text, #e8e8ea); }
.bt-summary { align-items: baseline; }
.bt-summary .bt-main { font-size: 15px; color: var(--white); }
.bt-summary .bt-main b { font-size: 30px; color: #ffb454; }
.bt-summary .bt-minor { font-size: var(--fs-xs); color: var(--muted, var(--quiet)); }
.bt-summary .bt-minor b { font-size: var(--fs-sm); color: #c3c3cb; }
.bt-new { color: #ffb454; }
.text-button.bt-open { color: var(--text, #e8e8ea); text-decoration: underline; }
.bt-busy { display: flex; align-items: center; gap: 10px; }
.filters-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.filters-chips .search { flex: 1 1 150px; min-width: 150px; }
.filters-chips select { padding-inline: 12px 30px; }
.filters-chips select { flex: 0 0 auto; width: auto; max-width: 100%; border-radius: 999px; }
.period-chip { margin-bottom: 8px; }
.th-sort { all: unset; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; }
.th-sort:hover, .th-sort:focus-visible { color: var(--white); }
.th-sort:focus-visible { outline: 2px solid var(--focus, var(--red-400)); outline-offset: 2px; }
.th-sort span { font-size: var(--fs-xs); opacity: .65; }
th[aria-sort="ascending"] .th-sort span, th[aria-sort="descending"] .th-sort span { opacity: 1; }
.toast-undo-box { display: flex; align-items: center; gap: 12px; }
.toast-undo { margin-left: auto; font-weight: 600; text-decoration: underline; }

/* ---------- falso positivo por regra (26/10/2026) ---------- */
.rule-fp {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
}
.rule-fp p {
  margin: 0;
  font-size: var(--fs-xs);
  color: var(--text);
  line-height: 1.5;
}
.rule-fp .small-sample {
  display: inline-block;
  margin: 0 0 0 4px;
  color: var(--attention);
  border: 1px solid var(--attention);
  white-space: nowrap;
}
.rule-fp .text-button {
  font-size: var(--fs-xs);
  padding: 0;
}
.rule-period {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-xs);
  color: var(--muted);
}
/* Colunas presas pelo subgrid: taxa, contagem e link ficam alinhados de uma linha para outra (26/10/2026). */
.fp-rank {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content max-content max-content;
  column-gap: 24px;
}
.fp-rank li {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  padding: 11px 24px;
  border-top: 1px solid var(--line-soft);
  font-size: var(--fs-sm);
  transition: background-color .15s var(--ease);
}
.fp-rank li:hover {
  background: rgb(255 255 255 / 2.5%);
}
.fp-rank .fp-pos {
  font-size: var(--fs-xs);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.fp-rank .fp-name {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.fp-rank .fp-name strong {
  flex: none;
  font-size: var(--fs-xs);
  font-weight: 500;
  color: var(--id);
}
.fp-rank .fp-name > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fp-rank .fp-rate {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.fp-bar {
  flex: none;
  width: 64px;
  height: 4px;
  border-radius: 999px;
  background: rgb(255 255 255 / 8%);
  overflow: hidden;
}
.fp-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--sev-low);
}
.fp-bar i.fp-mid {
  background: var(--sev-medium);
}
.fp-bar i.fp-high {
  background: var(--sev-high);
}
.fp-rank .fp-n {
  font-size: var(--fs-xs);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.fp-rank .text-button {
  justify-self: end;
  font-size: var(--fs-xs);
  white-space: nowrap;
}
/* Entre 721 e 1199 px as cinco colunas não cabiam: o nome sumia ("Inci...") e no tablet a barra passava por cima do código. Aqui o nome ocupa a linha de cima e os números vão embaixo (26/10/2026). */
@media (min-width: 721px) and (max-width: 1199px) {
  .fp-rank { display: block; }
  .fp-rank li { grid-template-columns: 28px 200px minmax(0, 1fr) max-content; gap: 6px 20px; }
  .fp-rank .fp-pos { grid-row: 1 / span 2; align-self: start; }
  .fp-rank .fp-name { grid-column: 2 / 4; grid-row: 1; }
  .fp-rank .text-button { grid-column: 4; grid-row: 1; }
  .fp-rank .fp-rate { grid-column: 2; grid-row: 2; }
  .fp-rank .fp-n { grid-column: 3 / -1; grid-row: 2; white-space: normal; }
}
@media (max-width: 720px) {
  .fp-rank {
    display: block;
  }
  .fp-rank li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 6px 12px;
    padding: 12px 16px;
  }
  .fp-rank .fp-rate,
  .fp-rank .fp-n,
  .fp-rank .text-button {
    grid-column: 2;
    justify-self: start;
  }
  .fp-rank .fp-name > span {
    white-space: normal;
  }
}
