/* Painel IA Fourmaq — tema claro/escuro por tokens. Cores de série validadas (dataviz validator). */
:root {
  color-scheme: light;
  --bg: #f6f6f3; --surface: #ffffff; --surface-2: #fafaf8; --surface-3: #f0f0ec;
  --borda: rgba(15, 17, 21, 0.075); --borda-forte: rgba(15, 17, 21, 0.14);
  --ink: #0f1115; --ink-2: #4b5160; --ink-3: #868b95;
  --pri: #c8102e; --pri-hover: #a80d26; --pri-soft: #fcebee; --pri-ink: #ffffff;
  --ok: #0f7a3d; --ok-soft: #e6f4ec; --aviso: #8a5a00; --aviso-soft: #fdf3dc; --erro: #b42318; --erro-soft: #fdecea;
  --grade: #ebeae5; --base: #c3c2b7;
  --serie-1: #2a78d6; --serie-2: #eb6834; --serie-3: #1baf7a;
  --seq-100: #cde2fb; --seq-200: #9ec5f4; --seq-300: #6da7ec; --seq-400: #3987e5; --seq-500: #256abf; --seq-600: #184f95; --seq-700: #0d366b;
  --sombra: 0 1px 2px rgba(15, 17, 21, 0.035), 0 2px 8px rgba(15, 17, 21, 0.025);
  --sombra-alta: 0 12px 40px rgba(15, 17, 21, 0.16);
  --raio: 14px;
  --realce: 0 0 0 transparent; --sw-on: #1f8f52; --pdf-bg: #fcebee; --pdf-ink: #c8102e; --xls-bg: #e6f4ec; --xls-ink: #0f7a3d;
  --btn-sec-bg: #ffffff; --btn-sec-borda: rgba(15, 17, 21, 0.14); --linha-hover: #fafaf8;
}
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) {
    color-scheme: dark;
    --bg: #0c0f14; --surface: #151a21; --surface-2: #1a2029; --surface-3: #202733;
    --borda: rgba(255, 255, 255, 0.07); --borda-forte: rgba(255, 255, 255, 0.14);
    --ink: #f2f4f7; --ink-2: #b6bdca; --ink-3: #7c8492;
    --pri: #ef4056; --pri-hover: #ff5a6e; --pri-soft: rgba(239, 64, 86, 0.14); --pri-ink: #ffffff;
    --ok: #3fcf7f; --ok-soft: rgba(63, 207, 127, 0.12); --aviso: #f5b83d; --aviso-soft: rgba(245, 184, 61, 0.12); --erro: #ff6b5e; --erro-soft: rgba(255, 107, 94, 0.12);
    --grade: #222a35; --base: #3a4350;
    --serie-1: #3987e5; --serie-2: #d95926; --serie-3: #199e70;
    --seq-100: #15304f; --seq-200: #184f95; --seq-300: #256abf; --seq-400: #3987e5; --seq-500: #6da7ec; --seq-600: #9ec5f4; --seq-700: #cde2fb;
    --sombra: 0 1px 2px rgba(0, 0, 0, 0.35); --sombra-alta: 0 16px 48px rgba(0, 0, 0, 0.5);
    --realce: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    --sw-on: #2f9e64; --pdf-bg: rgba(255, 99, 120, 0.13); --pdf-ink: #ff8f9e; --xls-bg: rgba(63, 207, 127, 0.12); --xls-ink: #7fe0aa;
    --btn-sec-bg: rgba(255, 255, 255, 0.035); --btn-sec-borda: rgba(255, 255, 255, 0.10); --linha-hover: rgba(255, 255, 255, 0.025);
    --surface: #161b23; --borda: rgba(255, 255, 255, 0.065);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0c0f14; --surface: #151a21; --surface-2: #1a2029; --surface-3: #202733;
  --borda: rgba(255, 255, 255, 0.07); --borda-forte: rgba(255, 255, 255, 0.14);
  --ink: #f2f4f7; --ink-2: #b6bdca; --ink-3: #7c8492;
  --pri: #ef4056; --pri-hover: #ff5a6e; --pri-soft: rgba(239, 64, 86, 0.14); --pri-ink: #ffffff;
  --ok: #3fcf7f; --ok-soft: rgba(63, 207, 127, 0.12); --aviso: #f5b83d; --aviso-soft: rgba(245, 184, 61, 0.12); --erro: #ff6b5e; --erro-soft: rgba(255, 107, 94, 0.12);
  --grade: #222a35; --base: #3a4350;
  --serie-1: #3987e5; --serie-2: #d95926; --serie-3: #199e70;
  --seq-100: #15304f; --seq-200: #184f95; --seq-300: #256abf; --seq-400: #3987e5; --seq-500: #6da7ec; --seq-600: #9ec5f4; --seq-700: #cde2fb;
  --sombra: 0 1px 2px rgba(0, 0, 0, 0.35); --sombra-alta: 0 16px 48px rgba(0, 0, 0, 0.5);
  --realce: inset 0 1px 0 rgba(255, 255, 255, 0.045);
  --sw-on: #2f9e64; --pdf-bg: rgba(255, 99, 120, 0.13); --pdf-ink: #ff8f9e; --xls-bg: rgba(63, 207, 127, 0.12); --xls-ink: #7fe0aa;
  --btn-sec-bg: rgba(255, 255, 255, 0.035); --btn-sec-borda: rgba(255, 255, 255, 0.10); --linha-hover: rgba(255, 255, 255, 0.025);
  --surface: #161b23; --borda: rgba(255, 255, 255, 0.065);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/painel/static/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/painel/static/fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
body { background: var(--bg); color: var(--ink); font: 14px/1.5 "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-feature-settings: "cv11", "ss03"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
button, input, select { font: inherit; color: inherit; }
.carregando { padding: 64px; text-align: center; color: var(--ink-3); }

/* ------------------------------------------------ estrutura */
.shell { display: grid; grid-template-columns: 248px 1fr; min-height: 100vh; }
.lateral { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 4px; padding: 20px 14px; background: var(--surface); border-right: 1px solid var(--borda); }
.marca { display: flex; align-items: center; gap: 10px; padding: 4px 8px 20px; }
.marca-logo { width: 32px; height: 32px; border-radius: 9px; background: linear-gradient(135deg, var(--pri), #7a0a1c); display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 15px; letter-spacing: -0.02em; box-shadow: 0 2px 8px rgba(200, 16, 46, 0.35); }
.marca-txt b { display: block; font-size: 15px; letter-spacing: -0.01em; }
.marca-txt span { display: block; font-size: 12px; color: var(--ink-3); }
.nav-item { display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 12px; border: 0; border-radius: 10px; background: none; color: var(--ink-2); cursor: pointer; text-align: left; font-weight: 500; transition: background .12s, color .12s; }
.nav-item svg { width: 18px; height: 18px; flex: none; opacity: .85; }
.nav-item:hover { background: var(--surface-3); color: var(--ink); }
.nav-item.ativo { background: var(--pri-soft); color: var(--pri); font-weight: 600; }
.nav-item.ativo svg { opacity: 1; }
.lateral-rodape { margin-top: auto; border-top: 1px solid var(--borda); padding-top: 12px; display: flex; flex-direction: column; gap: 4px; }
.quem { display: flex; align-items: center; gap: 10px; padding: 8px 10px; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--surface-3); display: grid; place-items: center; font-weight: 700; font-size: 12px; color: var(--ink-2); flex: none; }
.quem-txt { min-width: 0; }
.quem-txt b { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quem-txt span { display: block; font-size: 12px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.conteudo { min-width: 0; padding: 28px 32px 48px; max-width: 1360px; width: 100%; }
.topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.topo h1 { margin: 0; font-size: 24px; letter-spacing: -0.02em; font-weight: 700; }
.topo p { margin: 4px 0 0; color: var(--ink-3); }
.topo-acoes { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* ------------------------------------------------ cartões */
.card { background: var(--surface); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 20px 22px; min-width: 0; }
.card + .card { margin-top: 18px; }
.card-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.card-cab h2 { margin: 0; font-size: 15px; font-weight: 650; letter-spacing: -0.005em; }
.card-cab p { margin: 2px 0 0; color: var(--ink-3); font-size: 13px; }
.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.grade-3 { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; margin-top: 18px; }
.grade-2 > .card + .card, .grade-3 > .card + .card { margin-top: 0; }

/* ------------------------------------------------ tiles */
.tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.tile { background: var(--surface); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra); padding: 16px 18px 14px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.tile-rot { color: var(--ink-3); font-size: 12.5px; font-weight: 500; }
.tile-val { font-size: 26px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tile-rodape { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; }
.delta { font-size: 12.5px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.delta.bom { color: var(--ok); } .delta.ruim { color: var(--erro); }
.delta small { font-weight: 400; color: var(--ink-3); }

/* ------------------------------------------------ status / selos */
.status-linha { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.selo { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--surface-3); color: var(--ink-2); white-space: nowrap; }
.selo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .9; }
.selo.ok { background: var(--ok-soft); color: var(--ok); }
.selo.aviso { background: var(--aviso-soft); color: var(--aviso); }
.selo.erro { background: var(--erro-soft); color: var(--erro); }
.selo.neutro::before { display: none; }
.chip { display: inline-block; padding: 1px 8px; border-radius: 6px; font-size: 12px; background: var(--surface-3); color: var(--ink-2); margin: 1px 3px 1px 0; white-space: nowrap; }

/* ------------------------------------------------ botões e formulários */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--pri); color: var(--pri-ink); border: 1px solid transparent; border-radius: 10px; padding: 9px 16px; font-weight: 600; cursor: pointer; transition: background .12s, transform .06s; white-space: nowrap; }
.btn:hover { background: var(--pri-hover); }
.btn:active { transform: translateY(1px); }
.btn.sec { background: var(--surface); color: var(--ink); border-color: var(--borda-forte); }
.btn.sec:hover { background: var(--surface-3); }
.btn.fantasma { background: none; color: var(--ink-2); border-color: transparent; }
.btn.fantasma:hover { background: var(--surface-3); color: var(--ink); }
.btn.perigo { background: none; color: var(--erro); border-color: var(--borda-forte); }
.btn.peq { padding: 5px 10px; font-size: 13px; border-radius: 8px; }
.btn svg { width: 16px; height: 16px; }
.btn:disabled { opacity: .55; cursor: progress; }
.link { background: none; border: 0; color: var(--pri); cursor: pointer; padding: 2px 4px; font-weight: 600; }
.seg { display: inline-flex; background: var(--surface-3); border-radius: 10px; padding: 3px; gap: 2px; }
.seg button { border: 0; background: none; padding: 6px 12px; border-radius: 8px; color: var(--ink-2); cursor: pointer; font-weight: 500; font-size: 13px; }
.seg button.ativo { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); font-weight: 600; }
label.rot { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 6px; color: var(--ink); }
.campo { width: 100%; padding: 9px 12px; border: 1px solid var(--borda-forte); border-radius: 10px; background: var(--surface-2); color: var(--ink); transition: border-color .12s, box-shadow .12s; }
.campo:focus { outline: none; border-color: var(--pri); box-shadow: 0 0 0 3px var(--pri-soft); }
.busca { max-width: 280px; padding-left: 34px; background-image: none; }
.busca-wrap { position: relative; }
.busca-wrap svg { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--ink-3); pointer-events: none; }
.dica { color: var(--ink-3); font-size: 12.5px; margin-top: 5px; font-weight: 400; }
.form2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0 18px; }
.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.check { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border: 1px solid var(--borda-forte); border-radius: 9px; cursor: pointer; font-size: 13.5px; user-select: none; background: var(--surface-2); transition: border-color .12s, background .12s; }
.check:hover { border-color: var(--ink-3); }
.check input { accent-color: var(--pri); margin: 0; }
.check:has(input:checked) { border-color: var(--pri); background: var(--pri-soft); }
.interruptor { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 10px; background: var(--surface-2); margin-top: 8px; }
.interruptor b { display: block; font-size: 13.5px; }
.interruptor span { display: block; font-size: 12.5px; color: var(--ink-3); }
.sw { position: relative; width: 38px; height: 22px; flex: none; }
.sw input { opacity: 0; width: 100%; height: 100%; margin: 0; position: absolute; cursor: pointer; z-index: 1; }
.sw span { position: absolute; inset: 0; border-radius: 999px; background: var(--borda-forte); transition: background .15s; }
.sw span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: transform .15s; }
.sw input:checked + span { background: var(--ok); }
.sw input:checked + span::after { transform: translateX(16px); }
.sw input:focus-visible + span { box-shadow: 0 0 0 3px var(--ok-soft); }
.secao-form { border-top: 1px solid var(--borda); margin-top: 18px; padding-top: 4px; }
.secao-form h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); margin: 14px 0 0; }
.acoes { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-top: 18px; }
.msg { padding: 10px 14px; border-radius: 10px; margin-top: 12px; font-size: 13.5px; display: flex; gap: 8px; align-items: flex-start; }
.msg.ok { background: var(--ok-soft); color: var(--ok); }
.msg.erro { background: var(--erro-soft); color: var(--erro); }
.msg.aviso { background: var(--aviso-soft); color: var(--aviso); }
.cadeado { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--ink-3); margin-top: 14px; }
.cadeado svg { width: 15px; height: 15px; color: var(--ok); flex: none; }

/* ------------------------------------------------ tabelas */
.tabela { overflow-x: auto; margin: 0 -6px; }
table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
th, td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--borda); vertical-align: middle; }
th { color: var(--ink-3); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
tbody tr { transition: background .1s; }
tbody tr:hover { background: var(--surface-2); }
tbody tr:last-child td { border-bottom: 0; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pessoa { display: flex; align-items: center; gap: 12px; }
.pessoa b { display: block; font-weight: 600; }
.pessoa span { display: block; font-size: 12.5px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.vazio { color: var(--ink-3); text-align: center; padding: 36px 16px; }
.vazio b { display: block; color: var(--ink-2); margin-bottom: 4px; }
.trunc { max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
pre.det { white-space: pre-wrap; margin: 0; font-size: 12px; color: var(--ink-3); max-width: 380px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ------------------------------------------------ login */
.login-tela { min-height: 100vh; display: grid; place-items: center; padding: 24px; background:
  radial-gradient(1200px 600px at 10% -10%, var(--pri-soft), transparent 60%), var(--bg); }
.login-card { width: min(400px, 100%); background: var(--surface); border: 1px solid var(--borda); border-radius: 18px; padding: 32px; box-shadow: var(--sombra-alta); }
.login-card .marca { padding: 0 0 22px; }
.login-card h1 { font-size: 21px; margin: 0 0 4px; letter-spacing: -0.02em; }
.login-card p.sub { margin: 0 0 6px; color: var(--ink-3); }
.login-card .btn { width: 100%; margin-top: 20px; padding: 11px; }
.rodape-seg { display: flex; align-items: center; gap: 8px; justify-content: center; margin-top: 18px; font-size: 12px; color: var(--ink-3); }
.rodape-seg svg { width: 14px; height: 14px; }

/* ------------------------------------------------ diálogo */
dialog { border: 1px solid var(--borda); border-radius: 18px; padding: 0; background: var(--surface); color: var(--ink); width: min(780px, 96vw); max-height: 92vh; box-shadow: var(--sombra-alta); }
dialog::backdrop { background: rgba(8, 10, 14, 0.55); backdrop-filter: blur(2px); }
.dlg-cab { padding: 20px 24px 0; }
.dlg-cab h2 { margin: 0; font-size: 18px; letter-spacing: -0.01em; }
.dlg-cab p { margin: 4px 0 0; color: var(--ink-3); font-size: 13px; }
.dlg-corpo { padding: 4px 24px 20px; overflow: auto; max-height: calc(92vh - 150px); }
.dlg-rodape { padding: 14px 24px; border-top: 1px solid var(--borda); display: flex; align-items: center; gap: 10px; background: var(--surface-2); border-radius: 0 0 18px 18px; }
.espaco { flex: 1; }

/* ------------------------------------------------ gráficos */
.legenda { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--ink-2); align-items: center; }
.legenda span { display: inline-flex; align-items: center; gap: 6px; }
.legenda i { width: 10px; height: 10px; border-radius: 3px; background: var(--k); display: inline-block; }
.legenda i.traco { height: 2px; width: 14px; border-radius: 2px; }
.card-cab-dir { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.grafico { position: relative; min-height: 60px; }
.g-grade { stroke: var(--grade); stroke-width: 1; shape-rendering: crispEdges; }
.g-base { stroke: var(--base); stroke-width: 1; shape-rendering: crispEdges; }
.g-tick { fill: var(--ink-3); font-size: 11px; font-variant-numeric: tabular-nums; }
.g-linha { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.g-linha.fina { stroke-width: 1.75; }
.g-area { opacity: .1; }
.g-ponto { stroke: var(--surface); stroke-width: 2; }
.g-mira { stroke: var(--borda-forte); stroke-width: 1; }
.g-alvo { fill: transparent; cursor: crosshair; outline: none; }
.g-col { transition: opacity .1s; }
.g-col.ativo { opacity: .78; }
.g-cel { stroke: none; }
.g-cel.vazia { fill: var(--surface-3); }
.g-cel:hover, .g-cel:focus { stroke: var(--ink); stroke-width: 1.5; outline: none; }
.g-spark { display: block; }
.g-vazio { color: var(--ink-3); text-align: center; padding: 40px 0; margin: 0; }
.g-hbars { display: flex; flex-direction: column; gap: 10px; }
.g-hbar { display: grid; grid-template-columns: minmax(90px, 38%) 1fr auto; align-items: center; gap: 12px; font-size: 13px; padding: 2px 0; border-radius: 6px; outline: none; }
.g-hbar:hover .g-hbar-barra, .g-hbar:focus .g-hbar-barra { filter: brightness(1.12); }
.g-hbar-rot { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ink-2); }
.g-hbar-trilho { height: 10px; border-radius: 0 5px 5px 0; position: relative; }
.g-hbar-barra { display: block; height: 100%; border-radius: 0 4px 4px 0; }
.g-hbar-val { font-weight: 600; font-variant-numeric: tabular-nums; min-width: 48px; text-align: right; }
.gtip { position: fixed; z-index: 1000; pointer-events: none; background: var(--surface); color: var(--ink); border: 1px solid var(--borda-forte); border-radius: 10px; padding: 9px 12px; font-size: 12.5px; box-shadow: var(--sombra-alta); min-width: 140px; }
.gtip-tit { color: var(--ink-3); font-size: 11.5px; margin-bottom: 5px; }
.gtip-row { display: flex; align-items: center; gap: 8px; }
.gtip-row strong { font-variant-numeric: tabular-nums; font-size: 13px; }
.gtip-row span { color: var(--ink-2); }
.gtip-key { width: 12px; height: 2px; border-radius: 2px; background: var(--k); flex: none; }
.troca-vista { font-size: 12.5px; }

/* ------------------------------------------------ responsivo */
@media (max-width: 1180px) { .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } .grade-3 { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }
  .lateral { position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px 12px; border-right: 0; border-bottom: 1px solid var(--borda); }
  .marca { padding: 0 8px 0 0; }
  .marca-txt span { display: none; }
  .nav-item { width: auto; padding: 8px 10px; }
  .nav-item .nav-rot { display: none; }
  .lateral-rodape { margin: 0 0 0 auto; border: 0; padding: 0; flex-direction: row; }
  .quem { display: none; }
  .conteudo { padding: 18px 16px 40px; }
  .grade-2 { grid-template-columns: 1fr; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) { .tiles { grid-template-columns: 1fr; } .topo h1 { font-size: 20px; } }
.g-hbar-tab { grid-template-columns: 44px 1fr; min-width: 160px; }


/* =============================================== sistema visual v2 (elegância e leveza) */
.conteudo > * + * { margin-top: 20px; }
.conteudo > .topo + * { margin-top: 4px; }
.conteudo { padding-top: 32px; }
.topo h1 { font-size: 26px; font-weight: 700; letter-spacing: -0.025em; }
.topo p { font-size: 14px; color: var(--ink-3); max-width: 680px; }
.card { padding: 22px 24px; }
.card-cab h2 { font-size: 15.5px; font-weight: 650; letter-spacing: -0.01em; }
th { font-size: 11px; letter-spacing: .06em; }
.chip { background: var(--surface-3); color: var(--ink-2); border: 1px solid var(--borda); padding: 2px 9px; border-radius: 999px; font-weight: 500; }
.btn { border-radius: 9px; font-weight: 600; letter-spacing: -0.005em; }
.btn.sec { box-shadow: 0 1px 1px rgba(15,17,21,.03); }
.btn-ico { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; border: 1px solid var(--borda-forte);
  background: var(--surface); color: var(--ink-2); cursor: pointer; transition: background .12s, color .12s; }
.btn-ico:hover { background: var(--surface-3); color: var(--ink); }
.btn-ico svg { width: 16px; height: 16px; }

/* faixa de indicadores compacta */
.stat-faixa { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.stat { display: flex; align-items: center; gap: 14px; background: var(--surface); border: 1px solid var(--borda); border-radius: var(--raio);
  box-shadow: var(--sombra); padding: 16px 18px; min-width: 0; }
.stat-ico { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex: none; }
.stat-ico svg { width: 19px; height: 19px; }
.stat-ico.ok { background: var(--ok-soft); color: var(--ok); }
.stat-ico.erro { background: var(--erro-soft); color: var(--erro); }
.stat-ico.aviso { background: var(--aviso-soft); color: var(--aviso); }
.stat-ico.neutro { background: var(--surface-3); color: var(--ink-2); }
.stat-ico.marca { background: var(--pri-soft); color: var(--pri); }
.stat-val { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat.zero .stat-val { color: var(--ink-3); font-weight: 600; }
.stat-rot { font-size: 12.5px; color: var(--ink-3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* lista em linhas (agendamentos) */
.linhas { display: flex; flex-direction: column; }
.linha { display: grid; grid-template-columns: minmax(230px, 1.5fr) minmax(190px, 1.1fr) minmax(170px, 1fr) 128px auto; gap: 18px;
  align-items: center; padding: 14px 12px; margin: 0 -12px; border-radius: 12px; transition: background .12s; }
.linha + .linha { border-top: 1px solid var(--borda); }
.linha:hover { background: var(--surface-2); }
.linha.pausada .linha-titulo, .linha.pausada .quando b { color: var(--ink-3); }
.linha-ident { display: flex; align-items: center; gap: 13px; min-width: 0; }
.linha-titulo { font-weight: 600; font-size: 14.5px; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.linha-meta { font-size: 12.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ico-tipo { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; flex: none; font-size: 10px; font-weight: 800;
  letter-spacing: .04em; }
.ico-tipo.pdf { background: var(--pri-soft); color: var(--pri); }
.ico-tipo.xls { background: var(--ok-soft); color: var(--ok); }
.ico-tipo.peq { width: 30px; height: 30px; border-radius: 8px; font-size: 8.5px; }
.quando b { display: block; font-weight: 600; font-size: 13.5px; }
.quando span { display: block; font-size: 12.5px; color: var(--ink-3); }
.linha-acoes { display: flex; gap: 8px; justify-content: flex-end; }
.estado { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink-2); }

/* avatares */
.avatares { display: flex; align-items: center; min-width: 0; }
.avatares .av { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 700;
  border: 2px solid var(--surface); margin-left: -8px; flex: none; }
.avatares .av:first-child { margin-left: 0; }
.avatares-nomes { margin-left: 10px; font-size: 12.5px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.av-0 { background: #dbe8fb; color: #1d4f91; } .av-1 { background: #e6e0fa; color: #4a3aa7; } .av-2 { background: #d6f2e8; color: #126b4c; }
.av-3 { background: #fbe8d2; color: #8a4a0b; } .av-4 { background: #f8dfe8; color: #9b2c55; } .av-5 { background: #e3e7ec; color: #3b4656; }
@media (prefers-color-scheme: dark) { :root:where(:not([data-theme="light"])) .av-0 { background: #1d3557; color: #b8d4fb; }
  :root:where(:not([data-theme="light"])) .av-1 { background: #2e2757; color: #cfc6fb; } :root:where(:not([data-theme="light"])) .av-2 { background: #163d31; color: #a6e8d1; }
  :root:where(:not([data-theme="light"])) .av-3 { background: #45301a; color: #f4cf9f; } :root:where(:not([data-theme="light"])) .av-4 { background: #48202f; color: #f6bdd1; }
  :root:where(:not([data-theme="light"])) .av-5 { background: #2b323c; color: #c9d1dc; } }
:root[data-theme="dark"] .av-0 { background: #1d3557; color: #b8d4fb; } :root[data-theme="dark"] .av-1 { background: #2e2757; color: #cfc6fb; }
:root[data-theme="dark"] .av-2 { background: #163d31; color: #a6e8d1; } :root[data-theme="dark"] .av-3 { background: #45301a; color: #f4cf9f; }
:root[data-theme="dark"] .av-4 { background: #48202f; color: #f6bdd1; } :root[data-theme="dark"] .av-5 { background: #2b323c; color: #c9d1dc; }
.avatar { font-size: 11.5px; }

/* histórico */
.ponto { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 13px; white-space: nowrap; }
.ponto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ponto.ok { color: var(--ok); } .ponto.erro { color: var(--erro); } .ponto.aviso { color: var(--aviso); } .ponto.neutro { color: var(--ink-3); }
.arquivo { display: flex; align-items: center; gap: 10px; min-width: 0; }
.vazio-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--surface-3); color: var(--ink-3); display: grid; place-items: center; margin: 0 auto 10px; }
.vazio-ico svg { width: 20px; height: 20px; }

/* toasts e confirmação */
.toasts { position: fixed; right: 20px; bottom: 20px; z-index: 2000; display: flex; flex-direction: column; gap: 10px; max-width: min(380px, calc(100vw - 40px)); }
.toast { background: var(--surface); color: var(--ink); border: 1px solid var(--borda-forte); border-left: 3px solid var(--ink-3); border-radius: 12px;
  padding: 12px 16px; box-shadow: var(--sombra-alta); font-size: 13.5px; animation: entra .18s ease-out; }
.toast.ok { border-left-color: var(--ok); } .toast.erro { border-left-color: var(--erro); } .toast.aviso { border-left-color: var(--aviso); }
@keyframes entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
dialog.confirmacao { width: min(440px, 94vw); }
dialog.confirmacao .dlg-corpo { padding-top: 8px; color: var(--ink-2); }
@media (prefers-reduced-motion: reduce) { .toast { animation: none; } * { transition: none !important; } }

@media (max-width: 1100px) {
  .linha { grid-template-columns: 1fr 1fr; }
  .linha-acoes { justify-content: flex-start; }
}
@media (max-width: 640px) { .linha { grid-template-columns: 1fr; gap: 10px; } }

/* =============================================== atividade */
.barra-ferramentas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.barra-ferramentas .busca { width: 300px; max-width: 100%; }
button.linha { width: calc(100% + 24px); text-align: left; background: none; border: 0; font: inherit; color: inherit; cursor: pointer; }
button.linha:focus-visible { outline: 2px solid var(--pri); outline-offset: -2px; }
.linha-log { grid-template-columns: minmax(170px, 210px) minmax(0, 1fr) 150px 64px 14px; gap: 18px; padding: 13px 12px; }
.linha-log.auditoria { grid-template-columns: minmax(170px, 210px) minmax(0, 1fr) 150px 128px 0; cursor: default; }
.log-corpo { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.log-pergunta { font-size: 13.5px; line-height: 1.45; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.log-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.log-chips .chip { margin: 0; font-size: 11.5px; padding: 1px 8px; }
.chip small { color: var(--ink-3); font-weight: 600; }
.chip-falha { text-decoration: line-through; text-decoration-color: var(--ink-3); opacity: .75; }
.log-status { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; }
.log-tempo { text-align: right; font-variant-numeric: tabular-nums; font-size: 13px; color: var(--ink-2); }
.log-seta { color: var(--ink-3); font-size: 18px; transition: transform .12s; }
button.linha:hover .log-seta { transform: translateX(2px); color: var(--ink); }
.pergunta-relatorio { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-2); font-weight: 500; }
.pergunta-relatorio svg { width: 15px; height: 15px; }
.acao-risco { color: var(--aviso); }
.carregando-lista { opacity: .55; transition: opacity .15s; pointer-events: none; }

.paginacao { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--borda);
  margin-top: 6px; padding-top: 14px; }
.pag-botoes { display: flex; align-items: center; gap: 4px; }
.pag-botoes .btn-ico { width: 32px; height: 32px; font-size: 17px; line-height: 1; }
.pag-botoes .btn-ico:disabled { opacity: .4; cursor: not-allowed; }
.pag-num { min-width: 32px; height: 32px; padding: 0 8px; border-radius: 8px; border: 1px solid transparent; background: none; color: var(--ink-2);
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; font-variant-numeric: tabular-nums; }
.pag-num:hover { background: var(--surface-3); color: var(--ink); }
.pag-num.ativo { background: var(--ink); color: var(--surface); }
.pag-reticencias { color: var(--ink-3); padding: 0 4px; }

/* detalhes */
.citacao { background: var(--surface-2); border: 1px solid var(--borda); border-left: 3px solid var(--pri); border-radius: 10px; padding: 12px 14px;
  font-size: 14px; line-height: 1.5; margin: 6px 0 14px; white-space: pre-wrap; }
.kvs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.kv { border: 1px solid var(--borda); border-radius: 10px; padding: 9px 12px; display: flex; flex-direction: column; gap: 2px; }
.kv > span { font-size: 11.5px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.kv > b { font-size: 13.5px; font-weight: 600; }
.sub-secao { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); margin: 18px 0 8px; }
.consultas-det { display: flex; flex-direction: column; gap: 8px; }
.consulta-det { display: flex; align-items: center; gap: 12px; justify-content: space-between; border: 1px solid var(--borda); border-radius: 10px; padding: 9px 12px; }
.consulta-det pre.det { max-width: 60%; overflow-wrap: anywhere; text-align: right; }

@media (max-width: 1100px) {
  .linha-log, .linha-log.auditoria { grid-template-columns: 1fr auto; }
  .linha-log .log-corpo { grid-column: 1 / -1; order: 3; }
  .log-seta { display: none; }
}
.consulta-args { text-align: right; max-width: 65%; }

/* =============================================== v2: correções e componentes das demais telas */
.grade-2, .grade-3 { margin-top: 0; }
.conteudo > .grade-2, .conteudo > .grade-3, .conteudo > .stat-faixa, .conteudo > .tiles, .conteudo > section { margin-top: 20px; }
.conteudo > .topo + * { margin-top: 4px; }
.grade-3 { align-items: start; }
.legenda i.traco { height: 3px; width: 14px; border-radius: 2px; }
.grafico-vazio { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 200px; color: var(--ink-3); text-align: center; gap: 6px; }
.grafico-vazio b { color: var(--ink-2); font-weight: 600; }

/* barra de status da visão geral */
.status-linha { gap: 8px; margin-top: 14px !important; }
.status-linha .selo { padding: 5px 12px; font-size: 12.5px; }

/* conexões */
.conexao-cab { display: flex; align-items: center; gap: 14px; }
.conexao-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex: none; background: var(--surface-3); color: var(--ink-2); }
.conexao-ico svg { width: 21px; height: 21px; }
.conexao-ico.ok { background: var(--ok-soft); color: var(--ok); }
.conexao-ico.aviso { background: var(--aviso-soft); color: var(--aviso); }
.checklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 16px 0 4px; }
.check-item { display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--borda); border-radius: 11px; padding: 11px 13px; background: var(--surface-2); }
.check-item .ci { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; flex: none; font-size: 12px; font-weight: 800; }
.check-item.ok .ci { background: var(--ok-soft); color: var(--ok); }
.check-item.aviso .ci { background: var(--aviso-soft); color: var(--aviso); }
.check-item.erro .ci { background: var(--erro-soft); color: var(--erro); }
.check-item.neutro .ci { background: var(--surface-3); color: var(--ink-3); }
.check-item b { display: block; font-size: 13px; }
.check-item span { display: block; font-size: 12px; color: var(--ink-3); line-height: 1.4; }
.ultimo-teste { font-size: 12.5px; color: var(--ink-3); }
.form-erp { display: grid; grid-template-columns: 2fr 1fr 1.4fr; gap: 0 18px; }
.form-erp .largo { grid-column: span 1; }
@media (max-width: 900px) { .form-erp { grid-template-columns: 1fr; } }
.escolhas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.escolha { position: relative; display: flex; gap: 12px; align-items: flex-start; border: 1.5px solid var(--borda-forte); border-radius: 12px; padding: 14px 16px;
  cursor: pointer; background: var(--surface); transition: border-color .12s, background .12s; }
.escolha:hover { border-color: var(--ink-3); }
.escolha input { accent-color: var(--pri); margin-top: 3px; }
.escolha:has(input:checked) { border-color: var(--pri); background: var(--pri-soft); }
.escolha b { display: block; font-size: 14px; }
.escolha span { display: block; font-size: 12.5px; color: var(--ink-3); margin-top: 2px; line-height: 1.45; }

/* usuários em linhas */
.linha-usuario { grid-template-columns: minmax(220px, 1.3fr) 150px minmax(180px, 1.2fr) minmax(120px, .8fr) 120px 40px; }
.linha-usuario .chip { margin: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 5px; }
.uso b { display: block; font-size: 14px; font-variant-numeric: tabular-nums; }
.uso span { display: block; font-size: 12px; color: var(--ink-3); }
.situacao { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; font-size: 12.5px; color: var(--ink-3); }
@media (max-width: 1100px) { .linha-usuario { grid-template-columns: 1fr 1fr; } }

/* minha conta */
.perfil-cab { display: flex; align-items: center; gap: 18px; }
.perfil-cab .avatar { width: 56px; height: 56px; font-size: 18px; }
.perfil-cab h2 { margin: 0; font-size: 18px; letter-spacing: -0.015em; }
.perfil-cab p { margin: 2px 0 0; color: var(--ink-3); }
.perfil-cab .espaco { flex: 1; }

/* =============================================== refinos do tema escuro (via variáveis; o claro mantém o visual) */
.card, .stat, .tile { box-shadow: var(--sombra), var(--realce); }
.ico-tipo.pdf { background: var(--pdf-bg); color: var(--pdf-ink); }
.ico-tipo.xls { background: var(--xls-bg); color: var(--xls-ink); }
.sw input:checked + span { background: var(--sw-on); }
.btn.sec { background: var(--btn-sec-bg); border-color: var(--btn-sec-borda); }
.btn.sec:hover { background: var(--surface-3); }
.btn-ico { background: var(--btn-sec-bg); border-color: var(--btn-sec-borda); }
.linha:hover { background: var(--linha-hover); }
.avatares .av { border-color: var(--surface); }
:root[data-theme="dark"] .seg, :root[data-theme="dark"] .seg button.ativo { box-shadow: none; }
:root[data-theme="dark"] .seg button.ativo { background: var(--surface-3); }
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) .seg button.ativo { background: var(--surface-3); box-shadow: none; }
}

/* ---------- marcas dos relatórios */
.marcas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 6px; }
.marca-slot { border: 1px solid var(--borda); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 10px; background: var(--surface); }
.marca-previa { height: 112px; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 14px; overflow: hidden; }
.marca-previa img { max-width: 100%; max-height: 100%; object-fit: contain; }
.marca-previa span { color: rgba(255,255,255,.85); font-weight: 700; letter-spacing: .06em; font-size: 13px; }
.capa-vermelha { background: linear-gradient(165deg, #e30613, #a4000e); }
.capa-massey { background: linear-gradient(160deg, #10284a, #123f4a 55%, #17543c); }
.marca-info b { display: block; font-size: 13.5px; }
.marca-info span { display: block; font-size: 12px; color: var(--ink-3); margin-top: 2px; }
.marca-slot .acoes { margin-top: auto; justify-content: flex-start; }

/* ---------- acesso ao painel no cadastro do usuário */
.painel-situacao { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

/* ---------- aprendizado: conversas, perfis e conhecimento */
.barra-filtros { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 16px; }
.grade-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-bottom: 18px; }
.chip.ok { background: var(--ok-soft); color: var(--ok); border-color: transparent; }
.chip.erro { background: var(--erro-soft); color: var(--erro); border-color: transparent; }
.chip.aviso { background: var(--aviso-soft); color: var(--aviso); border-color: transparent; }
.conversa { display: flex; flex-direction: column; gap: 18px; margin-top: 8px; }
.troca { display: flex; flex-direction: column; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid var(--borda); }
.troca:last-child { border-bottom: 0; }
.bolha { max-width: 86%; padding: 10px 14px; border-radius: 14px; font-size: 13.5px; line-height: 1.5; }
.bolha.eu { align-self: flex-end; background: var(--pri-soft); color: var(--ink); border-bottom-right-radius: 4px; }
.bolha.ia { align-self: flex-start; background: var(--surface-2); border: 1px solid var(--borda); border-bottom-left-radius: 4px; }
.bolha-meta { font-size: 11.5px; color: var(--ink-3); margin-bottom: 4px; }
.bolha-txt { white-space: pre-wrap; word-break: break-word; }
.bolha .log-chips { margin-top: 8px; }
.fatos { display: flex; flex-direction: column; }
.fato { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--borda); }
.fato:first-child { border-top: 0; }
.fato-txt { font-size: 14px; color: var(--ink); }
.fato .acoes { margin-top: 0; flex-shrink: 0; }
@media (max-width: 640px) { .bolha { max-width: 100%; } .fato { flex-direction: column; align-items: flex-start; } }

/* ------------------------------------------------ aprendizado */
dialog.confirmacao .dlg-corpo p { white-space: pre-line; }
.seg-apr button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; }
.seg-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; font-size: 11.5px; font-weight: 650;
  background: var(--surface-3); color: var(--ink-2); font-variant-numeric: tabular-nums; vertical-align: middle; }
.seg button.ativo .seg-badge { background: var(--surface-2); }
.seg-badge.alerta { background: var(--aviso-soft); color: var(--aviso); }
.apr-faixa { margin-bottom: 22px; }
.apr-barra { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.apr-barra h2 { margin: 0; font-size: 15px; font-weight: 650; }
.apr-barra p { margin: 2px 0 0; color: var(--ink-3); font-size: 13px; max-width: 640px; }
.busca-campo { width: 240px; }
.selo.marca { background: var(--pri-soft); color: var(--pri); }
.contador { float: right; font-weight: 400; font-size: 12px; color: var(--ink-3); font-variant-numeric: tabular-nums; }

.perfis-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 18px; align-items: start; }
.perfis-grade > .card + .card { margin-top: 0; }
.perfil-card { display: flex; flex-direction: column; gap: 16px; padding: 20px 22px 16px; }
.pcard-cab { display: flex; align-items: center; gap: 13px; }
.pcard-cab .avatar { width: 40px; height: 40px; font-size: 13.5px; }
.perfil-ident { min-width: 0; flex: 1; }
.perfil-ident h3 { margin: 0; font-size: 15.5px; font-weight: 650; letter-spacing: -0.01em; }
.perfil-selos { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.perfil-corpo { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 14px 22px; }
.perfil-bloco { min-width: 0; }
.perfil-lado { border-left: 1px solid var(--borda); padding-left: 20px; }
.perfil-rot { font-size: 11.5px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 8px; }
.perfil-rot:not(:first-child) { margin-top: 14px; }
.perfil-rot.erro { color: var(--erro); } .perfil-rot.ok { color: var(--ok); }
.perfil-instr { margin: 0; padding: 0; list-style: none; counter-reset: instr; display: flex; flex-direction: column; gap: 7px; }
.perfil-instr li { counter-increment: instr; position: relative; padding-left: 28px; font-size: 13.5px; line-height: 1.5; color: var(--ink); }
.perfil-instr li::before { content: counter(instr); position: absolute; left: 0; top: 1px; width: 19px; height: 19px; border-radius: 6px; background: var(--surface-3);
  color: var(--ink-2); font-size: 11px; font-weight: 650; display: grid; place-items: center; font-variant-numeric: tabular-nums; }
.perfil-vazio { margin: 0; color: var(--ink-3); font-size: 13px; }
.perfil-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 0; font-size: 13px; }
.perfil-dl dt { color: var(--ink-3); }
.perfil-dl dd { margin: 0; color: var(--ink); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.perfil-mais { grid-column: 1 / -1; border-top: 1px solid var(--borda); padding-top: 12px; }
.perfil-mais summary, .fatos-grupo > summary { cursor: pointer; color: var(--ink-2); font-size: 13px; font-weight: 600; list-style: none; }
.perfil-mais summary::-webkit-details-marker, .fatos-grupo > summary::-webkit-details-marker { display: none; }
.perfil-mais summary::before, .fatos-grupo > summary h2::before { content: "›"; display: inline-block; margin-right: 8px; transition: transform .15s; color: var(--ink-3); }
.perfil-mais[open] summary::before, .fatos-grupo[open] > summary h2::before { transform: rotate(90deg); }
.perfil-mais > div { display: grid; gap: 4px; margin-top: 12px; }
.perfil-mais ul { margin: 0; padding-left: 18px; font-size: 13px; color: var(--ink-2); display: flex; flex-direction: column; gap: 4px; }
.perfil-area { font: inherit; font-size: 13.5px; line-height: 1.55; resize: vertical; min-height: 150px; }
.perfil-edicao label.rot { margin-top: 0; }
.perfil-msg:empty { display: none; }
.perfil-rodape { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--borda); padding-top: 14px; margin-top: auto; }
.btn.perigo-txt { color: var(--erro); padding-left: 10px; padding-right: 10px; }
.btn.perigo-txt:hover { background: var(--erro-soft); color: var(--erro); }
.btn svg { width: 15px; height: 15px; }

.conhec-grade { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.conhec-lista { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.conhec-lista > .card + .card { margin-top: 0; }
.conhec-form { position: sticky; top: 20px; }
.conhec-form label.rot:first-of-type { margin-top: 0; }
.conhec-form textarea { font: inherit; resize: vertical; }
.fatos-grupo.destaque { border-color: color-mix(in srgb, var(--aviso) 35%, var(--borda)); }
.fatos-grupo > summary h2 { display: inline; margin: 0; font-size: 15px; font-weight: 650; color: var(--ink); }
.fatos-grupo > summary p { margin: 2px 0 0; color: var(--ink-3); font-size: 13px; font-weight: 400; }
.fatos-grupo[open] > summary { margin-bottom: 10px; }
.fato { align-items: flex-start; padding: 14px 0; }
.fato-info { min-width: 0; flex: 1; }
.fato-txt { line-height: 1.5; word-break: break-word; }
.fato-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; font-size: 12.5px; color: var(--ink-3); }
.fato-meta .chip { margin: 0; }
.fato-acoes { display: flex; gap: 8px; flex-shrink: 0; }
.fato-acoes .btn { padding: 7px 13px; font-size: 13px; }
.fato-rejeitado .fato-txt { color: var(--ink-3); text-decoration: line-through; text-decoration-color: var(--borda-forte); }

@media (max-width: 1100px) { .conhec-grade { grid-template-columns: 1fr; } .conhec-form { position: static; order: -1; } }
@media (max-width: 760px) {
  .perfil-corpo { grid-template-columns: 1fr; }
  .perfil-lado { border-left: 0; padding-left: 0; border-top: 1px solid var(--borda); padding-top: 14px; }
  .pcard-cab { flex-wrap: wrap; } .perfil-selos { width: 100%; justify-content: flex-start; }
  .busca-campo { width: 100%; }
  .fato { flex-direction: column; } .fato-acoes { width: 100%; justify-content: flex-end; }
}
.perfil-card .log-chips .chip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.perfis-grade { align-items: stretch; }
.perfil-corpo { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.perfil-dl { grid-template-columns: 1fr; gap: 2px; }
.perfil-dl dt { font-size: 12px; margin-top: 8px; }
.perfil-dl dt:first-child { margin-top: 0; }
.perfil-dl dd { -webkit-line-clamp: 3; line-height: 1.45; }
@media (max-width: 760px) {
  .perfil-corpo { grid-template-columns: 1fr; }
  .perfil-card { padding: 16px; }
  .seg-apr { display: flex; width: 100%; overflow-x: auto; }
  .seg-apr button { flex: none; }
}
@media (max-width: 760px) { .apr-faixa { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .apr-faixa .stat { padding: 12px; gap: 10px; } .apr-faixa .stat-ico { width: 34px; height: 34px; } .apr-faixa .stat-rot { white-space: normal; } }
