:root {
  color-scheme: light;
  --violet: #7c3aed;
  --violet-2: #6025c6;
  --violet-soft: #eee7ff;
  --violet-border: #cfc0fa;
  --violet-light: #a78bfa;
  --violet-deep: #6d28d9;
  --on-accent: #ffffff;
  --accent-shadow: #7c3aed34;
  --bg: #f7f7fb;
  --surface: #ffffff;
  --surface-2: #faf9fd;
  --surface-hover: #f4f1fb;
  --text: #172033;
  --text-2: #50586a;
  --text-3: #697180;
  --muted: #667085;
  --line: #e9e7ef;
  --line-strong: #dedbe7;
  --track: #eceaf3;
  --green: #16a36a;
  --amber: #e6a11a;
  --red: #dc4055;
  --grey: #a0a6b2;
  --green-bg: #e6f8ef; --green-fg: #13764f;
  --amber-bg: #fff4dc; --amber-fg: #a56b00;
  --red-bg: #fff0f2; --red-fg: #b52f43; --red-border: #f5c2ca;
  --grey-bg: #f0f1f3;
  --blue-bg: #e8f5ff; --blue-fg: #1476b8;
  --radius: 17px;
  --shadow: 0 5px 20px #19143009;
  --shadow-lg: 0 30px 80px #1714302e;
  --sidebar: 250px;
}

/* Tema escuro: ativado por <html data-theme="dark"> (Configurações > Aparência) */
[data-theme="dark"] {
  color-scheme: dark;
  --violet: #8b5cf6;
  --violet-2: #a78bfa;
  --violet-soft: #2a2145;
  --violet-border: #5b4a91;
  --violet-light: #a78bfa;
  --on-accent: var(--surface);
  --violet-deep: #6d28d9;
  --bg: #0f1117;
  --surface: #171a23;
  --surface-2: #1c202b;
  --surface-hover: #232838;
  --text: #e6e8ef;
  --text-2: #c2c7d3;
  --text-3: #9aa1b2;
  --muted: #8d95a8;
  --line: #262b39;
  --line-strong: #323849;
  --track: #2a3040;
  --green-bg: #12352a; --green-fg: #5fd3a2;
  --amber-bg: #3a2d10; --amber-fg: #f2c15a;
  --red-bg: #3a1820; --red-fg: #ff8a9b; --red-border: #6b2a37;
  --grey-bg: #262b38;
  --blue-bg: #13283d; --blue-fg: #6cb8f0;
  --shadow: 0 5px 20px #00000040;
  --shadow-lg: 0 30px 80px #00000080;
}


* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
a { color: var(--violet); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { margin: 0; letter-spacing: -0.03em; }
h1 { font-size: 29px; font-weight: 850; letter-spacing: -0.04em; }
h2 { font-size: 17px; font-weight: 800; }
h3 { font-size: 14px; font-weight: 800; margin: 18px 0 6px; }
p { margin: 4px 0; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.center { text-align: center; }
.pre { white-space: pre-line; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.eyebrow { margin: 0 0 4px; font-size: 10px; font-weight: 900; letter-spacing: 0.17em; color: var(--violet); }
.eyebrow a { color: inherit; }

/* ---------------------------------------------------------------- Layout */
.sidebar {
  position: fixed; inset: 0 auto 0 0; width: var(--sidebar); z-index: 30;
  display: flex; flex-direction: column; gap: 6px; padding: 22px 16px;
  background: var(--surface); border-right: 1px solid var(--line); overflow-y: auto;
}
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); padding: 0 6px 16px; }
.brand:hover { text-decoration: none; }
.brand strong { display: block; font-size: 17px; font-weight: 900; letter-spacing: -0.03em; }
.brand small { display: block; font-size: 9px; font-weight: 800; letter-spacing: 0.2em; color: var(--muted); }
.brand.large strong { font-size: 20px; }
.brand-mark {
  position: relative; display: grid; place-items: center; width: 38px; height: 38px; flex: none;
  border-radius: 11px; background: var(--violet); color: var(--surface); font-weight: 900; font-size: 18px;
}
.brand-mark::after {
  content: ""; position: absolute; top: -3px; right: -3px; width: 10px; height: 10px;
  border-radius: 50%; background: #e9a8ff; border: 2px solid var(--surface);
}
.brand-mark.small { width: 30px; height: 30px; font-size: 14px; border-radius: 9px; }
.nav-label { margin: 8px 8px 4px; font-size: 10px; font-weight: 900; letter-spacing: 0.17em; color: var(--muted); }
.nav { display: flex; flex-direction: column; gap: 3px; }
.nav a {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 11px;
  color: var(--text-2); font-weight: 700;
}
.nav a span { width: 20px; text-align: center; }
.nav a:hover { background: var(--surface-hover); text-decoration: none; }
.nav a.active { background: var(--violet); color: var(--surface); box-shadow: 0 8px 20px #7c3aed34; }
.support {
  margin-top: auto; display: flex; flex-direction: column; gap: 4px; padding: 14px;
  border-radius: 14px; background: var(--surface-2); border: 1px solid var(--line); font-size: 11.5px;
}
.support strong { color: var(--violet); font-size: 12px; }
.support a { color: var(--text-2); word-break: break-all; }
.profile { display: flex; align-items: center; gap: 10px; padding: 12px 6px 0; border-top: 1px solid var(--line); margin-top: 10px; }
.profile-text { flex: 1; min-width: 0; }
.profile-text strong, .profile-text small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-text small { color: var(--muted); font-size: 11px; }
.avatar {
  display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%;
  background: var(--violet-soft); color: var(--violet); font-weight: 900; font-size: 13px;
}
.avatar.big { width: 64px; height: 64px; font-size: 22px; }
.icon-btn {
  display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line);
  border-radius: 10px; background: var(--surface); cursor: pointer; font-size: 15px; color: var(--text-2);
}
.icon-btn:hover { border-color: var(--violet-border); background: var(--surface-2); }

.shell { margin-left: var(--sidebar); min-height: 100vh; display: flex; flex-direction: column; }
.topbar { display: none; }
.main { flex: 1; width: 100%; max-width: 1600px; padding: 30px 32px 24px; display: flex; flex-direction: column; gap: 18px; }
.main.plain { max-width: 640px; margin: 10vh auto; }
.footer {
  display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 16px 32px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px;
}

.page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.page-head > div:first-child { min-width: 0; max-width: 100%; }
.head-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.head-actions form { margin: 0; }

/* ---------------------------------------------------------------- Cards */
.card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 20px;
}
.card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.card-head form { margin: 0; }
a.card { color: inherit; transition: transform .15s, border-color .15s; }
a.card:hover { transform: translateY(-2px); border-color: var(--violet-border); text-decoration: none; }
.grid-2 { display: grid; grid-template-columns: 1.62fr 1fr; gap: 18px; }
.grid-2 > * { min-width: 0; }
.stack { display: flex; flex-direction: column; gap: 14px; }
.empty { color: var(--muted); text-align: center; padding: 28px 12px; margin: 0; }
.empty-state { text-align: center; display: flex; flex-direction: column; gap: 12px; align-items: center; padding: 40px 20px; }
.pill {
  display: inline-block; padding: 5px 11px; border-radius: 999px; background: var(--violet-soft);
  color: var(--violet); font-size: 11px; font-weight: 800; white-space: nowrap;
}
.chip {
  display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--violet-soft);
  color: var(--violet-2); font-size: 12px; font-weight: 700;
}

/* ---------------------------------------------------------------- Botões e campos */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 42px; padding: 0 16px;
  border-radius: 12px; border: 1px solid transparent; font: inherit; font-size: 13px; font-weight: 750;
  cursor: pointer; white-space: nowrap; text-decoration: none;
}
.btn:hover { text-decoration: none; }
.btn.primary { background: var(--violet); color: var(--on-accent); box-shadow: 0 8px 20px var(--accent-shadow); }
.btn.primary:hover { background: var(--violet-2); }
.btn.outline { background: var(--surface); border-color: var(--line-strong); color: var(--text-2); }
.btn.outline:hover { border-color: var(--violet-border); color: var(--violet); }
.btn.danger { background: var(--red); color: var(--surface); }
.btn.small { height: 34px; padding: 0 12px; font-size: 11.5px; border-radius: 9px; }
.btn.block { width: 100%; }
.btn:disabled, .btn.disabled { opacity: .5; pointer-events: none; box-shadow: none; }

.field { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 700; color: var(--text-2); }
.control {
  width: 100%; height: 41px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 11px;
  background: var(--surface); color: var(--text); font: inherit; font-size: 13px;
}
.control:focus { outline: 2px solid var(--violet-border); border-color: var(--violet); }
.check { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text-2); }
.alert { padding: 10px 12px; border-radius: 11px; font-size: 13px; background: var(--surface-hover); }
.alert.error { background: var(--red-bg); color: var(--red-fg); }
.alert.success { background: var(--green-bg); color: var(--green-fg); }

.filters { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; padding: 16px 18px; }
.filters .field { min-width: 170px; }
.filters .field.grow { flex: 1; min-width: 220px; }
.filter-actions { display: flex; gap: 8px; }
.filter-banner {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-radius: 14px;
  background: var(--violet-soft); color: var(--violet-2);
}
.filter-banner span { flex: 1; }

/* ---------------------------------------------------------------- Badges */
.badge {
  display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 800;
  background: var(--grey-bg); color: var(--text-3); white-space: nowrap;
}
.badge.green { background: var(--green-bg); color: var(--green-fg); }
.badge.amber { background: var(--amber-bg); color: var(--amber-fg); }
.badge.red { background: var(--red-bg); color: var(--red-fg); }
.badge.violet { background: var(--violet-soft); color: var(--violet-2); }
.badge.blue { background: #2563eb1f; color: #2563eb; }
[data-theme="dark"] .badge.blue { background: #3b82f629; color: #93c5fd; }
.badge.big { padding: 7px 14px; font-size: 12.5px; }

/* ---------------------------------------------------------------- Dashboard */
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.kpi { display: flex; flex-direction: column; gap: 2px; }
.kpi strong { font-size: 32px; font-weight: 900; letter-spacing: -0.04em; }
.kpi small { color: var(--muted); font-size: 12px; }
.kpi-label { font-weight: 700; color: var(--text-2); margin-top: 8px; }
.kpi-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; font-size: 18px; }
.k1 { background: var(--violet-soft); color: var(--violet); }
.k2 { background: var(--blue-bg); color: var(--blue-fg); }
.k3 { background: var(--green-bg); color: var(--green); }
.k4 { background: var(--amber-bg); color: var(--amber-fg); }

.indicators { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.indicator {
  display: flex; flex-direction: column; gap: 2px; padding: 14px; border-radius: 14px;
  background: var(--surface-2); border: 1px solid var(--line);
}
.indicator strong { font-size: 24px; font-weight: 900; }
.indicator span { font-weight: 700; font-size: 12.5px; }
.indicator small { color: var(--violet); font-weight: 800; }
.indicator-icon { color: var(--violet); font-size: 16px; }

.donut-wrap { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; justify-content: center; margin-bottom: 12px; }
.donut { width: 170px; height: 170px; border-radius: 50%; display: grid; place-items: center; flex: none; }
.donut-hole {
  width: 108px; height: 108px; border-radius: 50%; background: var(--surface);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.donut-hole strong { font-size: 28px; font-weight: 900; line-height: 1; }
.donut-hole small { font-size: 10px; font-weight: 800; letter-spacing: .15em; color: var(--muted); }
.legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; min-width: 160px; }
.legend a { display: flex; align-items: center; gap: 8px; color: var(--text); }
.legend strong { margin-left: auto; }
.dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }

.ranking { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ranking .ranking-main {
  display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 13px;
  border: 1px solid var(--line); color: inherit;
}
.ranking .ranking-main:hover { border-color: var(--violet-border); background: var(--surface-2); text-decoration: none; }
.rank-pos { display: grid; place-items: center; min-width: 38px; height: 30px; border-radius: 9px; background: var(--amber-bg); color: var(--amber-fg); font-weight: 900; }
.rank-name { flex: 1; min-width: 0; }
.rank-name strong, .rank-name small { display: block; }
.rank-name small { color: var(--muted); }
.rank-score { text-align: center; }
.rank-score strong { display: block; font-size: 20px; font-weight: 900; color: var(--violet); line-height: 1.1; }
.rank-score small { font-size: 10px; font-weight: 800; color: var(--muted); }

/* ---------------------------------------------------------------- Tabelas */
.table-card { padding: 0; overflow: hidden; }
.card-head.padded { padding: 20px 20px 0; }
.table-scroll { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: 13px; }
.table th {
  text-align: left; padding: 12px 16px; font-size: 10.5px; font-weight: 900; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted); background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap;
}
.table td { padding: 12px 16px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table td.truncate { max-width: 260px; }
.table tr:last-child td { border-bottom: 0; }
.table tr.inactive td { opacity: .55; }
.row-actions { display: flex; gap: 6px; justify-content: flex-end; }
.row-actions form { margin: 0; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px; border-top: 1px solid var(--line); }

/* ---------------------------------------------------------------- Pastas */
.folders { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.folder { position: relative; padding: 0; }
.folder-link { display: flex; flex-direction: column; gap: 4px; padding: 20px; color: inherit; height: 100%; }
.folder-link:hover { text-decoration: none; }
.folder:hover { border-color: var(--violet-border); }
.folder-link strong { font-size: 16px; padding-right: 76px; }
.folder-icon { font-size: 26px; }
.folder-meta { display: flex; gap: 10px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.folder-actions { position: absolute; top: 14px; right: 14px; display: flex; gap: 6px; }
.folder.add {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 150px;
  border: 2px dashed var(--line-strong); border-radius: var(--radius); background: var(--surface-2); cursor: pointer; font: inherit; color: var(--text);
}
.folder.add:hover { border-color: #a78bfa; }

.team-section { display: flex; flex-direction: column; gap: 12px; }
.team-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap;
  padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.team-head form { margin: 0; }
.team-picker { display: flex; align-items: center; gap: 8px; margin: 0; }
.team-picker .control { width: auto; min-width: 200px; }

.team-card { padding: 0; overflow: hidden; }
.team-summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 16px 20px; cursor: pointer; list-style: none; }
.team-summary::-webkit-details-marker { display: none; }
.team-summary:hover { background: var(--surface-2); }
.team-title { display: flex; align-items: center; gap: 10px; font-size: 16px; }
.chevron { color: var(--violet); transition: transform .15s; display: inline-block; }
.team-card[open] .chevron { transform: rotate(90deg); }
.team-stats { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-size: 12.5px; color: var(--muted); }
.team-stats strong { color: var(--text); }
.team-body { border-top: 1px solid var(--line); }
.team-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 20px; }
.team-actions form { margin: 0; }
.cons-table td, .cons-table th { padding: 10px 16px; }
.cons-table .num { text-align: right; white-space: nowrap; }
.cons-name { font-weight: 700; color: var(--text); }
.cons-name:hover { color: var(--violet); }
.nota-badge { display: inline-block; min-width: 38px; text-align: center; padding: 3px 8px; border-radius: 8px; font-weight: 800; font-size: 12.5px; }
.nota-badge.good { background: var(--green-bg); color: var(--green-fg); }
.nota-badge.mid { background: var(--amber-bg); color: var(--amber-fg); }
.nota-badge.bad { background: var(--red-bg); color: var(--red-fg); }
.cons-toolbar { position: sticky; top: 0; z-index: 5; }
@media (max-width: 760px) { .cons-toolbar { position: static; } .cons-table th:nth-child(6), .cons-table td:nth-child(6) { display: none; } }

/* ---------------------------------------------------------------- Upload */
.dropzone {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 34px 18px; text-align: center;
  border: 2px dashed var(--violet-light); border-radius: 18px; background: var(--surface-2); cursor: pointer; transition: background .15s;
}
.dropzone:hover, .dropzone:focus, .dropzone.over { background: var(--surface-hover); outline: none; }
.dropzone strong { font-size: 17px; }
.dz-icon { font-size: 32px; }
.upload-list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.upload-list:empty { display: none; }
.upload-list li {
  display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 10px 12px;
  border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2);
}
.up-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.upload-list .progress { grid-column: 1 / -1; }
.upload-list li.done .up-status { color: var(--green); font-weight: 700; }
.upload-list li.failed { border-color: var(--red-border); background: var(--red-bg); }
.upload-list li.failed .up-status { color: var(--red-fg); font-weight: 700; }

.progress { display: block; height: 6px; border-radius: 999px; background: var(--track); overflow: hidden; }
.progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--violet), var(--violet-light)); transition: width .2s; }
.progress.indeterminate span { width: 35%; animation: slide 1.3s ease-in-out infinite; }
@keyframes slide { from { transform: translateX(-100%); } to { transform: translateX(300%); } }

/* ---------------------------------------------------------------- Áudios */
.audio-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.audio-list .empty { grid-column: 1 / -1; }
.audio-card {
  display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; min-width: 0;
  border: 1px solid var(--line); border-radius: 14px; color: inherit; background: var(--surface);
}
.audio-card:hover { border-color: var(--violet-border); background: var(--surface-2); text-decoration: none; }
.audio-card.erro { border-left: 4px solid var(--red); }
.audio-card.processando { border-left: 4px solid var(--violet); }
.audio-card.na_fila { border-left: 4px solid var(--amber); }
.audio-card.concluido { border-left: 4px solid var(--green); }
.audio-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-width: 0; }
.score {
  flex: none; padding: 3px 10px; border-radius: 9px; background: var(--violet-soft); color: var(--violet-2);
  font-weight: 900; font-size: 15px;
}
.audio-error { margin: 0; color: var(--red-fg); font-size: 12.5px; }
.audio-excerpt {
  margin: 0; color: var(--text-2); font-size: 12.5px; display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line;
}

.player-card { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px 20px; }
.player-card audio { flex: 1; min-width: 240px; }
.processing { display: flex; flex-direction: column; gap: 8px; }
.alert-card.error { border-color: var(--red-border); background: var(--red-bg); color: var(--red-fg); }
.alert-card.info { background: var(--surface-2); }

.highlight { background: linear-gradient(160deg, var(--surface-2), var(--surface) 60%); border-color: var(--violet-border); }
.final-score { display: flex; align-items: baseline; gap: 6px; margin: 4px 0 10px; }
.final-score strong { font-size: 48px; font-weight: 950; letter-spacing: -0.05em; color: var(--violet); line-height: 1; }
.final-score > span:not(.badge) { font-weight: 800; color: var(--muted); margin-right: 10px; }

.scorecard { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.scorecard li { display: grid; grid-template-columns: minmax(120px, 1fr) 1fr 38px; align-items: center; gap: 10px; font-size: 13px; }
.scorecard strong { text-align: right; color: var(--violet); }
.bar { height: 8px; border-radius: 999px; background: var(--track); overflow: hidden; }
.bar span { display: block; height: 100%; border-radius: inherit; }
.bar .good { background: var(--green); }
.bar .mid { background: var(--amber); }
.bar .bad { background: var(--red); }
.yesno { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; font-size: 12.5px; }
.yesno li { display: flex; gap: 6px; align-items: baseline; }
.yesno li span { font-weight: 900; }
.yesno .yes span { color: var(--green); }
.yesno .no { color: var(--muted); }
.yesno .no span { color: var(--red); }

.offers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
.offer { padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2); font-size: 13px; }
.offer-head { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.offer-head span { font-size: 11px; font-weight: 900; }
.offer.yes .offer-head span { color: #10b981; }
.offer.no .offer-head span { color: #ef4444; }

.facts { display: grid; grid-template-columns: minmax(140px, auto) 1fr; gap: 8px 14px; margin: 12px 0 0; font-size: 13px; }
.facts dt { color: var(--muted); font-weight: 600; }
.facts dd { margin: 0; overflow-wrap: anywhere; }

.pdv { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pdv form { margin: 0; }
.pdv-item {
  width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 11px;
  border: 1px solid var(--line); background: var(--surface); font: inherit; cursor: pointer; text-align: left;
}
.pdv-item span { flex: 1; font-weight: 600; }
.pdv-item small { color: var(--muted); font-size: 11px; }
.pdv-item.yes strong { color: var(--green); }
.pdv-item.no strong { color: var(--red); }
.pdv-item:hover { border-color: var(--violet-border); }

.transcript {
  white-space: pre-wrap; font-size: 13.5px; line-height: 1.7; max-height: 560px; overflow-y: auto;
  padding: 16px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line);
}

.profile-big { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.profile-big strong, .profile-big small { display: block; }
.profile-big strong { font-size: 18px; }
.form-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

/* ---------------------------------------------------------------- Modais */
.modal {
  width: min(500px, calc(100vw - 32px)); border: 0; border-radius: 18px; padding: 0;
  box-shadow: var(--shadow-lg); color: var(--text); background: var(--surface);
}
.modal::backdrop { background: rgba(0, 0, 0, .5); }
.modal[open] { animation: up .2s ease-out; }
.modal form { display: flex; flex-direction: column; gap: 12px; padding: 24px; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
@keyframes up { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------------------------------------------------------------- Toasts */
.toasts { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: flex; flex-direction: column; gap: 10px; max-width: min(420px, calc(100vw - 32px)); }
.toast {
  display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 13px;
  background: var(--surface); box-shadow: 0 14px 40px #17143024; border-left: 4px solid var(--violet);
  font-size: 13px; animation: up .2s ease-out; transition: opacity .25s, transform .25s;
}
.toast span:nth-child(2) { flex: 1; }
.toast.success { border-left-color: var(--green); }
.toast.error { border-left-color: var(--red); }
.toast.leaving { opacity: 0; transform: translateX(20px); }
.toast-icon { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--violet-soft); color: var(--violet); font-weight: 900; font-size: 12px; flex: none; }
.toast.success .toast-icon { background: var(--green-bg); color: var(--green); }
.toast.error .toast-icon { background: var(--red-bg); color: var(--red); }
.toast-close { border: 0; background: none; font-size: 18px; line-height: 1; cursor: pointer; color: var(--muted); }

/* ---------------------------------------------------------------- Login */
.login-page { display: grid; grid-template-columns: 1.2fr 1fr; min-height: 100vh; }
.login-hero {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 18px;
  padding: 60px 8vw; background-color: var(--surface-2);
  background-image: linear-gradient(#7c3aed0d 1px, transparent 1px), linear-gradient(90deg, #7c3aed0d 1px, transparent 1px);
  background-size: 34px 34px;
}
.login-hero::after {
  content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -120px;
  border-radius: 50%; background: #d7c6ff66; filter: blur(60px);
}
.login-hero h1 { font-size: clamp(34px, 4.4vw, 57px); font-weight: 950; letter-spacing: -0.055em; line-height: 1.05; max-width: 12ch; }
.login-hero h1 span { color: var(--violet); }
.login-hero p { max-width: 46ch; color: var(--muted); font-size: 15px; }
.login-features { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.login-features li { padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-weight: 700; font-size: 12.5px; }
.login-card-wrap { display: grid; place-items: center; padding: 32px 16px; }
.login-card { width: min(400px, 100%); display: flex; flex-direction: column; gap: 14px; padding: 30px; }
.login-card h2 { font-size: 24px; }

/* ---------------------------------------------------------------- Responsivo */
@media (max-width: 1200px) {
  .kpis { grid-template-columns: repeat(2, 1fr); }
  .folders { grid-template-columns: repeat(2, 1fr); }
  .offers { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  :root { --sidebar: 220px; }
  .grid-2 { grid-template-columns: 1fr; }
  .audio-list { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s; width: 260px; box-shadow: 0 0 40px #0003; }
  body.sidebar-open .sidebar { transform: none; }
  .shell { margin-left: 0; }
  .topbar {
    display: flex; align-items: center; gap: 10px; position: sticky; top: 0; z-index: 20;
    padding: 10px 16px; background: var(--surface); border-bottom: 1px solid var(--line);
  }
  .main { padding: 18px 16px; }
  .footer { padding: 14px 16px; }
  h1 { font-size: 24px; }
  .kpis, .folders, .indicators { grid-template-columns: 1fr 1fr; }
  .kpi strong { font-size: 26px; }
  .filters .field, .filters .field.grow { min-width: 0; flex: 1 1 140px; }
  .login-page { grid-template-columns: 1fr; }
  .login-hero { padding: 36px 20px; }
  .scorecard li { grid-template-columns: 1fr 80px 34px; }
  .yesno { grid-template-columns: 1fr; }
  .facts { grid-template-columns: 1fr; gap: 2px; }
  .facts dd { margin-bottom: 8px; }
}
@media (max-width: 460px) {
  .kpis, .folders, .indicators { grid-template-columns: 1fr; }
  .page-head .btn { width: 100%; }
}

/* ---------------------------------------------------------------- Tema escuro: detalhes */
[data-theme="dark"] .highlight { background: linear-gradient(160deg, #1f1a33, var(--surface) 60%); }
[data-theme="dark"] .login-hero { background-color: #12141c;
  background-image: linear-gradient(var(--violet-light)14 1px, transparent 1px), linear-gradient(90deg, var(--violet-light)14 1px, transparent 1px); }
[data-theme="dark"] .login-hero::after { background: #5b3fa855; }
[data-theme="dark"] .brand-mark::after { border-color: var(--surface); }
[data-theme="dark"] .toast { box-shadow: 0 14px 40px #00000070; }
[data-theme="dark"] .donut-hole { background: var(--surface); }
[data-theme="dark"] img, [data-theme="dark"] audio { color-scheme: dark; }
body, .card, .sidebar, .control, .table th, .modal { transition: background-color .2s, border-color .2s, color .2s; }

/* ---------------------------------------------------------------- Configurações: aparência */
.theme-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.theme-option { display: flex; flex-direction: column; gap: 10px; padding: 12px; border: 2px solid var(--line); border-radius: 14px;
  cursor: pointer; background: var(--surface); }
.theme-option:hover { border-color: var(--violet-border); }
.theme-option.selected, .theme-option:has(input:checked) { border-color: var(--violet); box-shadow: 0 0 0 3px var(--accent-shadow); }
.theme-option input { position: absolute; opacity: 0; pointer-events: none; }
.theme-text { display: flex; flex-direction: column; gap: 2px; }
.theme-preview { display: flex; height: 92px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); }
.tp-side { width: 26%; }
.tp-main { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 8px; }
.tp-bar { height: 8px; width: 45%; border-radius: 4px; background: #7c3aed; }
.tp-card { flex: 1; border-radius: 6px; }
.tp-card.short { flex: .6; }
.theme-preview.claro .tp-side { background: #ffffff; border-right: 1px solid #e9e7ef; }
.theme-preview.claro .tp-main { background: #f7f7fb; }
.theme-preview.claro .tp-card { background: #ffffff; border: 1px solid #e9e7ef; }
.theme-preview.escuro .tp-side { background: #171a23; border-right: 1px solid #262b39; }
.theme-preview.escuro .tp-main { background: #0f1117; }
.theme-preview.escuro .tp-card { background: #171a23; border: 1px solid #262b39; }
.theme-preview.auto { background: linear-gradient(135deg, #f7f7fb 50%, #0f1117 50%); }
.theme-preview.auto .tp-side { background: linear-gradient(135deg, #ffffff 50%, #171a23 50%); }
.theme-preview.auto .tp-card { background: linear-gradient(135deg, #ffffff 50%, #171a23 50%); border: 1px solid #8884; }
@media (max-width: 760px) { .theme-options { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .theme-options { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Parecer v2 */
.yn { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; font-weight: 900; font-size: 12px; }
.yn.yes { background: var(--green-bg); color: var(--green-fg); }
.yn.no { background: var(--grey-bg); color: var(--text-3); }
.muted-row td { color: var(--muted); }
.checklist { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.checklist li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; }
.checklist li span:last-child { display: flex; flex-direction: column; gap: 2px; }
.bullets { margin: 4px 0 0; padding-left: 18px; font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.objections { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.objection { padding: 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface-2); display: flex; flex-direction: column; gap: 8px; }
.example { margin-top: 14px; padding: 14px; border-radius: 12px; border: 1px dashed var(--violet-border); background: var(--violet-soft); }
@media (max-width: 1000px) { .objections { grid-template-columns: 1fr; } }
/* ---------------------------------------------------------------- Dashboard clicável */
.grid-2.even { grid-template-columns: 1fr 1fr; }
.clicavel { cursor: pointer; }
a.card.kpi.clicavel, a.indicator.clicavel, .stat-tile, .legend-link, .recent-list a { transition: transform .15s, border-color .15s, background-color .15s; }
.ver-mais { margin-top: 6px; font-size: 11.5px; font-weight: 700; color: var(--violet); opacity: 0; transition: opacity .15s; }
a.card.kpi:hover .ver-mais, a.card.kpi:focus .ver-mais { opacity: 1; }
a.indicator { color: inherit; text-decoration: none; }
a.indicator:hover { border-color: var(--violet-border); background: var(--surface-hover); transform: translateY(-2px); text-decoration: none; }
.stat-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.stat-tile { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 14px;
  background: var(--surface); color: inherit; text-decoration: none; }
.stat-tile:hover { border-color: var(--violet-border); background: var(--surface-hover); transform: translateY(-2px); text-decoration: none; }
.stat-label { font-size: 12.5px; font-weight: 700; color: var(--text-2); }
.stat-tile strong { font-size: 30px; font-weight: 900; letter-spacing: -0.03em; color: var(--violet); margin-top: 10px; }
.stat-tile small { font-size: 12px; color: var(--muted); }
.periodos { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; width: 100%; }
.chip-link { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--text-2); font-size: 12px; font-weight: 700; text-decoration: none; }
.chip-link:hover { border-color: var(--violet-border); color: var(--violet); text-decoration: none; }
.chip-link.active { background: var(--violet); border-color: var(--violet); color: var(--on-accent); }
.legend-link { padding: 6px 8px; border-radius: 9px; }
.legend-link:hover { background: var(--surface-hover); text-decoration: none; }
.seta { color: var(--violet); font-weight: 800; opacity: .55; }
.legend-link:hover .seta, .recent-list a:hover .seta, tr.row-link:hover .seta { opacity: 1; }
.recent-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.recent-list a { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--line); color: inherit; }
.recent-list a:hover { border-color: var(--violet-border); background: var(--surface-hover); text-decoration: none; }
tr.row-link { cursor: pointer; }
tr.row-link:hover td { background: var(--surface-hover); }
.ranking-row { display: flex; align-items: center; gap: 8px; }
.ranking-row .ranking-main { flex: 1; min-width: 0; }
.ranking-actions { display: flex; gap: 6px; }
@media (max-width: 1000px) { .grid-2.even { grid-template-columns: 1fr; } }
@media (max-width: 460px) { .stat-tiles { grid-template-columns: 1fr; } .ranking-actions { display: none; } }
/* ---------------------------------------------------------------- Dashboard: ranking de equipes */
.team-rank { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.team-rank-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); color: inherit; }
a.team-rank-row[href]:hover { border-color: var(--violet-border); background: var(--surface-hover); text-decoration: none; transform: translateY(-1px); }
a.team-rank-row[href]:hover .seta { opacity: 1; }
.team-rank-row.sem-link { cursor: default; }
.rank-pos.top { background: transparent; font-size: 20px; }
.team-rank-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.team-rank-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.team-bar { height: 8px; border-radius: 999px; background: var(--track); overflow: hidden; }
.team-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--violet), var(--violet-light)); }
.team-rank-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11.5px; color: var(--muted); flex-wrap: wrap; }
.result-split { display: flex; width: 110px; height: 6px; border-radius: 999px; overflow: hidden; background: var(--track); }
.result-split .rs { display: block; min-width: 0; }
.result-split .conforme { background: var(--green); }
.result-split .parcial { background: var(--amber); }
.result-split .nao { background: var(--red); }
.legend-inline { display: flex; gap: 14px; flex-wrap: wrap; margin: 12px 0 0; }
.legend-inline > span { display: inline-flex; align-items: center; gap: 6px; }
/* Menu lateral v2 */
.ico { width: 18px; height: 18px; flex: none; }
.sidebar { gap: 0; padding: 20px 14px 14px; }
.sidebar .brand { padding: 2px 8px 18px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.brand-mark { background: linear-gradient(145deg, var(--violet-deep), var(--violet-light)); box-shadow: 0 6px 16px #7c3aed40; }
.sidebar .nav { gap: 2px; }
.sidebar .nav-label { margin: 16px 12px 6px; font-size: 10px; letter-spacing: .16em; color: var(--muted); opacity: .8; }
.sidebar .nav .nav-item { position: relative; display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: 10px;
  color: var(--text-2); font-weight: 650; font-size: 13.5px; text-decoration: none; }
.sidebar .nav .nav-item .ico { color: var(--muted); transition: color .15s; }
.sidebar .nav .nav-item:hover { background: var(--surface-hover); color: var(--text); text-decoration: none; }
.sidebar .nav .nav-item:hover .ico { color: var(--violet); }
.sidebar .nav .nav-item.active { background: var(--violet-soft); color: var(--violet-2); box-shadow: none; }
.sidebar .nav .nav-item.active .ico { color: var(--violet); }
.sidebar .nav .nav-item.active::before { content: ""; position: absolute; left: -14px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--violet); }
[data-theme="dark"] .sidebar .nav .nav-item.active { color: #ddd0ff; }
.support { margin-top: auto; gap: 6px; padding: 12px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); font-size: 12px; }
.support-head { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.support-head .ico { color: var(--violet); }
.support-head strong { color: var(--text); font-size: 12.5px; }
.support a { display: flex; align-items: center; gap: 8px; color: var(--text-2); word-break: normal; min-width: 0; padding: 3px 2px; border-radius: 6px; }
.support a:hover { color: var(--violet); text-decoration: none; }
.support a .ico { width: 14px; height: 14px; color: var(--muted); }
.support a span { min-width: 0; }
.profile { gap: 8px; padding: 12px 4px 0; margin-top: 12px; }
.profile-link { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 6px; border-radius: 10px; color: inherit; }
.profile-link:hover { background: var(--surface-hover); text-decoration: none; }
.avatar { background: linear-gradient(145deg, var(--violet-deep), var(--violet-light)); color: #fff; }
.icon-btn.logout .ico { width: 16px; height: 16px; }
.icon-btn.logout:hover { color: var(--red); border-color: var(--red-border); background: var(--red-bg); }

/* Marca SM AUDIT */
.brand-mark { font-size: 14px; letter-spacing: -0.02em; }
.brand-mark.small { font-size: 11px; }
.brand strong { letter-spacing: -0.01em; }
.brand small { letter-spacing: .14em; }

/* Logo SM AUDIT (imagem) */
.brand-logo { width: 40px; height: 40px; flex: none; object-fit: contain; filter: drop-shadow(0 4px 10px #2563eb40); }
.brand-logo.small { width: 28px; height: 28px; }
.brand.large .brand-logo { width: 56px; height: 56px; }

/* Perfil Visualizador: esconde ações de alteração (o servidor também bloqueia) */
.perfil-visualizador .edita, .perfil-visualizador #upload-list { display: none !important; }
.perfil-visualizador .pdv-item { pointer-events: none; }
.perfil-visualizador section.card:has(> .dropzone) { display: none; }

/* Dashboard: barrinha de status da FILA */
.fila-status { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); font-size: 12.5px; }
.fs-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--grey); flex: none; }
.fs-text { display: flex; flex-direction: column; min-width: 0; flex: none; }
.fs-titulo { font-size: 13px; }
.fs-detalhe { color: var(--muted); font-size: 11.5px; }
.fs-bar { flex: 1; height: 6px; min-width: 60px; border-radius: 999px; background: var(--track); overflow: hidden; }
.fs-bar span { display: block; height: 100%; width: 0; border-radius: inherit; }
.fila-status.ativo .fs-dot { background: var(--green); box-shadow: 0 0 0 0 #16a36a80; animation: pulso 1.6s infinite; }
.fila-status.ativo .fs-bar span { width: 35%; background: linear-gradient(90deg, var(--violet), var(--violet-light)); animation: slide 1.3s ease-in-out infinite; }
.fila-status.espera .fs-dot { background: var(--green); }
.fila-status.espera .fs-bar span { width: 100%; background: var(--green-bg); }
.fila-status.parado { border-color: var(--red-border); background: var(--red-bg); }
.fila-status.parado .fs-dot { background: var(--red); }
.fila-status.parado .fs-titulo { color: var(--red-fg); }
.fila-status.parado .fs-bar span { width: 100%; background: var(--red-border); }
@keyframes pulso { 0% { box-shadow: 0 0 0 0 #16a36a80; } 70% { box-shadow: 0 0 0 8px #16a36a00; } 100% { box-shadow: 0 0 0 0 #16a36a00; } }
@media (max-width: 760px) { .fila-status { flex-wrap: wrap; } .fs-bar { flex-basis: 100%; } }

/* ---------------------------------------------------------------- Paletas extras (Configurações > Aparência) */
/* Azul SM: claro, com o azul da logo */
[data-palette="azul"] {
  --violet: #2563eb; --violet-2: #1d4ed8; --violet-soft: #e6efff; --violet-border: #b9cffb;
  --violet-light: #60a5fa; --violet-deep: #1e40af; --accent-shadow: #2563eb33;
  --bg: #f4f7fc; --surface-2: #f7faff; --surface-hover: #eef4ff; --line: #e3e9f3; --line-strong: #d4ddeb; --track: #e2e9f5;
}
/* Azul Noite: escuro, azul-marinho */
[data-theme="dark"][data-palette="azul"] {
  --violet: #3b82f6; --violet-2: #93c5fd; --violet-soft: #16284a; --violet-border: #2c4f86;
  --violet-light: #60a5fa; --violet-deep: #1d4ed8; --accent-shadow: #3b82f640;
  --bg: #0a1120; --surface: #101a2e; --surface-2: #14203a; --surface-hover: #1a2946;
  --line: #1e2b47; --line-strong: #293a5c; --track: #21304e; --muted: #8b9bb8; --text-3: #9aaac6;
}
[data-theme="dark"][data-palette="azul"] .highlight { background: linear-gradient(160deg, #13274a, var(--surface) 60%); }
[data-theme="dark"][data-palette="azul"] .sidebar .nav .nav-item.active { color: #cfe2ff; }
/* Grafite Prata: escuro neutro, destaques prateados (como a esfera da logo) */
[data-theme="dark"][data-palette="grafite"] {
  --violet: #c3cad6; --violet-2: #e2e7ef; --violet-soft: #2b2f37; --violet-border: #555c68;
  --violet-light: #eef1f6; --violet-deep: #8a93a2; --on-accent: #15171b; --accent-shadow: #c3cad626;
  --bg: #111214; --surface: #1a1b1f; --surface-2: #1f2126; --surface-hover: #272a30;
  --line: #2a2d33; --line-strong: #363a42; --track: #2e3138; --muted: #969ca8; --text-3: #a6acb7;
}
[data-theme="dark"][data-palette="grafite"] .avatar { color: #15171b; }
[data-theme="dark"][data-palette="grafite"] .highlight { background: linear-gradient(160deg, #262a31, var(--surface) 60%); }
[data-theme="dark"][data-palette="grafite"] .sidebar .nav .nav-item.active { color: #f1f3f7; }
[data-theme="dark"][data-palette="grafite"] .stat-tile strong, [data-theme="dark"][data-palette="grafite"] .final-score strong { color: #e6eaf1; }
/* Prévias dos temas novos */
.theme-preview.azul .tp-side { background: #ffffff; border-right: 1px solid #e3e9f3; }
.theme-preview.azul .tp-main { background: #f4f7fc; }
.theme-preview.azul .tp-card { background: #ffffff; border: 1px solid #e3e9f3; }
.theme-preview.azul .tp-bar { background: #2563eb; }
.theme-preview.noite .tp-side { background: #101a2e; border-right: 1px solid #1e2b47; }
.theme-preview.noite .tp-main { background: #0a1120; }
.theme-preview.noite .tp-card { background: #101a2e; border: 1px solid #1e2b47; }
.theme-preview.noite .tp-bar { background: #3b82f6; }
.theme-preview.grafite .tp-side { background: #1a1b1f; border-right: 1px solid #2a2d33; }
.theme-preview.grafite .tp-main { background: #111214; }
.theme-preview.grafite .tp-card { background: #1a1b1f; border: 1px solid #2a2d33; }
.theme-preview.grafite .tp-bar { background: linear-gradient(90deg, #8a93a2, #eef1f6); }

/* ---------------------------------------------------------------- Espaços de trabalho (uma discadora por espaço) */
.esp-dot { display: inline-block; width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--esp, var(--violet));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--esp, var(--violet)) 22%, transparent); }
.esp-dot.grande { width: 14px; height: 14px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--esp) 20%, transparent); }
.espaco-faixa { height: 3px; background: linear-gradient(90deg, var(--esp), color-mix(in srgb, var(--esp) 35%, transparent)); }

.espaco-switch { margin: 0 2px 14px; }
.esp-menu { position: relative; }
.esp-menu summary, .esp-fixo { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 12px; cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--esp) 35%, var(--line)); background: color-mix(in srgb, var(--esp) 8%, var(--surface));
  list-style: none; transition: border-color .15s, background .15s; }
.esp-fixo { cursor: default; }
.esp-menu summary::-webkit-details-marker { display: none; }
.esp-menu summary:hover { border-color: var(--esp); }
.esp-text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; flex: 1; }
.esp-text small { font-size: 10px; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
.esp-text strong { font-size: 14px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.esp-chev { color: var(--muted); font-size: 12px; transition: transform .15s; }
.esp-menu[open] .esp-chev { transform: rotate(180deg); }
.esp-list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; padding: 6px; border-radius: 12px;
  background: var(--surface); border: 1px solid var(--line-strong); box-shadow: var(--shadow-lg); }
.esp-list a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; color: var(--text-2); font-weight: 600; }
.esp-list a:hover { background: var(--surface-hover); color: var(--text); }
.esp-list a.active { background: color-mix(in srgb, var(--esp) 12%, transparent); color: var(--text); }
.esp-nome { display: flex; flex-direction: column; flex: 1; line-height: 1.2; }
.esp-nome small { font-size: 11px; font-weight: 600; color: var(--muted); }
.esp-check { color: var(--esp); font-weight: 900; }

.esp-eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--esp); }
.esp-eyebrow .esp-dot { width: 7px; height: 7px; box-shadow: none; }
.esp-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 700;
  color: var(--text-2); background: color-mix(in srgb, var(--esp) 12%, transparent); white-space: nowrap; }
.esp-tag .esp-dot { width: 7px; height: 7px; box-shadow: none; }
.esp-tags { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.topbar .esp-tag { margin-left: auto; }

.espaco-aviso { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; margin-bottom: 14px; border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--esp) 55%, var(--line)); background: color-mix(in srgb, var(--esp) 7%, var(--surface)); }
.espaco-aviso .esp-dot { margin-top: 6px; }
.espaco-aviso p { margin: 4px 0 0; }

.esp-escolha { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.esp-escolha legend { padding: 0 6px; font-weight: 600; }
.esp-check-item { display: flex; align-items: center; gap: 9px; font-weight: 600; cursor: pointer; }
.esp-check-item input { accent-color: var(--esp); width: 16px; height: 16px; }

/* Visão geral */
.espacos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; margin: 16px 0; }
.espaco-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 14px; border-top: 4px solid var(--esp); }
.espaco-card-head { display: flex; align-items: center; gap: 12px; }
.espaco-card-head > div { flex: 1; }
.espaco-card-head h2 { margin: 0; }
.espaco-card-head p { margin: 2px 0 0; }
.espaco-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.espaco-numeros > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); }
.espaco-numeros span { font-size: 12px; color: var(--muted); font-weight: 600; }
.espaco-numeros strong { font-size: 22px; color: var(--text); }
.espaco-numeros small { font-size: 11px; color: var(--muted); }
.espaco-barra { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: var(--track); }
.espaco-barra .ok, .espaco-legenda i.ok { background: var(--green); }
.espaco-barra .parcial, .espaco-legenda i.parcial { background: var(--amber); }
.espaco-barra .nao, .espaco-legenda i.nao { background: var(--red); }
.espaco-legenda { display: flex; gap: 14px; flex-wrap: wrap; margin: -6px 0 0; }
.espaco-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.espaco-legenda i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.espaco-destaques h3 { margin: 0 0 8px; font-size: 13px; color: var(--text-2); }
.espaco-destaque { display: grid; grid-template-columns: 32px 1fr auto 44px; align-items: center; gap: 10px; padding: 8px 10px;
  border-radius: 10px; color: var(--text); }
.espaco-destaque:hover { background: var(--surface-hover); }
.espaco-destaque .pos { font-weight: 800; color: var(--esp); }
.espaco-destaque .nome { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.espaco-destaque strong { text-align: right; }
.espaco-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto;
  padding-top: 12px; border-top: 1px solid var(--line); }
.espaco-card-foot .btn.primary { background: var(--esp); box-shadow: 0 8px 20px color-mix(in srgb, var(--esp) 25%, transparent); color: #fff; }
tr.clicavel { cursor: pointer; }
@media (max-width: 760px) { .espaco-numeros { grid-template-columns: repeat(2, 1fr); } .espacos-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------- Foto de perfil */
img.avatar.foto { object-fit: cover; padding: 0; background: var(--surface-2); display: block; }
.avatar.small { width: 28px; height: 28px; font-size: 11px; }
.user-cell { display: inline-flex; align-items: center; gap: 10px; }
.foto-perfil { margin: 0; flex: none; }
.foto-trocar { position: relative; display: inline-block; cursor: pointer; border-radius: 50%; }
.foto-trocar .avatar.big { width: 84px; height: 84px; font-size: 28px; transition: filter .15s; }
.foto-trocar:hover .avatar { filter: brightness(.85); }
.foto-camera { position: absolute; right: -2px; bottom: -2px; width: 30px; height: 30px; border-radius: 50%; display: grid;
  place-items: center; font-size: 14px; background: var(--surface); border: 1px solid var(--line-strong); box-shadow: var(--shadow); }
.avatar.enviando { opacity: .55; }
.foto-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.foto-acoes form { margin: 0; }
.profile-big small.foto-dica { margin-top: 6px; font-size: 12px; }

/* ---------------------------------------------------------------- Acesso por equipe */
.acesso-restrito .gerencia { display: none !important; }
.modal { max-height: calc(100vh - 32px); overflow-y: auto; }
.acesso-equipes p { margin: 0 0 4px; }
.acesso-grupo { display: flex; flex-direction: column; gap: 6px; padding: 8px 10px; border-radius: 10px;
  border-left: 3px solid var(--esp); background: color-mix(in srgb, var(--esp) 6%, transparent); }
.acesso-grupo-titulo { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .04em; color: var(--text-2); }
.acesso-grupo .esp-check-item { font-weight: 500; }
.acesso-grupo .esp-check-item input { accent-color: var(--esp); }
.acesso-resumo { font-size: 13px; color: var(--text-2); }

/* ---------------------------------------------------------------- Elementos extras (só aparecem no tema Executivo) */
.kpi-svg, .kpi-mini, .card-icon, .linha-barra, .btn-ico, .kpi-de { display: none; }

/* ---------------------------------------------------------------- Tema Executivo: creme, verde-escuro e dourado */
[data-palette="executivo"] {
  --violet: #0f4c3a; --violet-2: #0b3b2d; --violet-soft: #e3eee7; --violet-border: #b9d3c3;
  --violet-light: #2f7a5c; --violet-deep: #0b3b2d; --on-accent: #ffffff; --accent-shadow: #0f4c3a2e;
  --bg: #f6f3ec; --surface: #ffffff; --surface-2: #fbf9f4; --surface-hover: #f5f1e7;
  --text: #1b1d1a; --text-2: #474b44; --text-3: #6b6f66; --muted: #777a70;
  --line: #ebe5d8; --line-strong: #ddd5c3; --track: #ece7dc;
  --ouro: #c99a4b; --ouro-escuro: #a8742a; --ouro-suave: #f5ebd8;
  --radius: 16px; --shadow: 0 2px 12px #2a221008; --shadow-lg: 0 24px 60px #2a221022;
  --topo: 76px;
  --ico-equipe: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233f6d5c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.9%22/%3E%3Cpath%20d%3D%22M16%203.1a4%204%200%200%201%200%207.8%22/%3E%3C/svg%3E");
  --ico-consultora: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233f6d5c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22/%3E%3C/svg%3E");
  --titulo: #121512; --forte: #111111; --subtitulo: #3f6d5c; --brilho: #f0e6cf; --topo-bg: rgba(255, 255, 255, .94);
  --campo-bg: #ffffff; --barra-a: #0c3c2e; --barra-b: #1f6a50; --btn-a: #145440; --btn-b: #0c3c2e; --btn-hover-a: #0f4c3a;
  --btn-hover-b: #09302a; --btn-texto: #ffffff; --mini-bg: #eaf3ed; --mini-cor: #2f7a5c; --sombra-btn: #0f4c3a2e;
}
[data-palette="executivo"] body {
  background: radial-gradient(900px 360px at 60% 30px, var(--brilho) 0%, transparent 70%) fixed, var(--bg);
}
[data-palette="executivo"] .brand small { color: var(--ouro-escuro); }
[data-palette="executivo"] .brand-logo { filter: drop-shadow(0 4px 10px #0f4c3a33); }
[data-palette="executivo"] .espaco-faixa { display: none; }
[data-palette="executivo"] .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700;
  letter-spacing: .22em; color: var(--text-2); }
[data-palette="executivo"] .eyebrow::after { content: ""; width: 90px; height: 1px; background: linear-gradient(90deg, var(--ouro), transparent); }

/* Menu no topo (telas largas); em telas menores fica o menu lateral/celular de sempre */
@media (min-width: 1180px) {
  [data-palette="executivo"] .sidebar {
    inset: 0 0 auto 0; width: auto; height: var(--topo); flex-direction: row; align-items: center; gap: 6px;
    padding: 0 28px; border-right: 0; border-bottom: 1px solid var(--line); overflow: visible;
    background: var(--topo-bg); backdrop-filter: blur(8px);
  }
  [data-palette="executivo"] .sidebar .brand { padding: 0; margin: 0 22px 0 0; border-bottom: 0; flex: none; }
  [data-palette="executivo"] .sidebar .brand-logo { width: 44px; height: 44px; }
  [data-palette="executivo"] .sidebar .nav { order: 2; flex-direction: row; align-items: center; gap: 4px; flex: 0 1 auto; }
  [data-palette="executivo"] .sidebar .nav-label,
  [data-palette="executivo"] .sidebar .support,
  [data-palette="executivo"] .sidebar .nav .nav-perfil { display: none; }
  [data-palette="executivo"] .sidebar .nav .nav-item { padding: 9px 14px; border-radius: 10px; font-weight: 600; color: var(--text); white-space: nowrap; }
  [data-palette="executivo"] .sidebar .nav .nav-item .ico { color: var(--text-2); }
  [data-palette="executivo"] .sidebar .nav .nav-item span { width: auto; text-align: left; }
  [data-palette="executivo"] .sidebar .nav .nav-item.active { background: var(--violet-soft); color: var(--violet-2); }
  [data-palette="executivo"] .sidebar .nav .nav-item.active .ico { color: var(--violet); }
  [data-palette="executivo"] .sidebar .nav .nav-item.active::before { display: none; }
  [data-palette="executivo"] .espaco-switch { order: 3; margin: 0 0 0 auto; }
  [data-palette="executivo"] .esp-menu summary, [data-palette="executivo"] .esp-fixo { border: 0; background: transparent; padding: 8px 12px; }
  [data-palette="executivo"] .esp-menu summary:hover { background: var(--surface-hover); }
  [data-palette="executivo"] .esp-text small { display: none; }
  [data-palette="executivo"] .esp-list { left: auto; right: 0; min-width: 240px; }
  [data-palette="executivo"] .sidebar .profile { order: 4; margin: 0 0 0 10px; padding: 0 0 0 14px; border-top: 0; border-left: 1px solid var(--line); }
  [data-palette="executivo"] .sidebar .profile-link { padding: 2px; }
  [data-palette="executivo"] .sidebar .profile-text { display: none; }
  [data-palette="executivo"] .sidebar .avatar { width: 40px; height: 40px; background: var(--ouro-suave); color: var(--text); }
  [data-palette="executivo"] .shell { margin-left: 0; padding-top: var(--topo); }
  [data-palette="executivo"] .main { padding: 30px 40px 26px; }
}

/* Cabeçalho com a onda de áudio dourada */
[data-palette="executivo"] .page-head { position: relative; align-items: center; min-height: 118px; padding: 6px 0; }
[data-palette="executivo"] .page-head > * { position: relative; z-index: 1; }
@media (min-width: 1000px) {
  [data-palette="executivo"] .page-head::before {
    content: ""; position: absolute; z-index: 0; top: -22px; right: 200px; width: 620px; height: 156px; pointer-events: none;
    background: url("../img/onda-executivo.svg") no-repeat center / contain;
  }
}
[data-palette="executivo"] .page-head h1 { font-size: 46px; font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; margin: 8px 0 6px; color: var(--titulo); }
[data-palette="executivo"] .page-head p.muted { color: var(--subtitulo); font-size: 15px; }
[data-palette="executivo"] .btn.primary { background: linear-gradient(180deg, var(--btn-a), var(--btn-b)); color: var(--btn-texto); box-shadow: 0 10px 24px var(--sombra-btn); font-weight: 650; }
[data-palette="executivo"] .btn.primary:hover { background: linear-gradient(180deg, var(--btn-hover-a), var(--btn-hover-b)); }
[data-palette="executivo"] .btn-enviar { height: 52px; padding: 0 28px; font-size: 15px; border-radius: 12px; }
[data-palette="executivo"] .btn-enviar .btn-ico { display: block; width: 19px; height: 19px; margin-right: 4px; }
[data-palette="executivo"] .btn-enviar .btn-mais { display: none; }
[data-palette="executivo"] .chip-link.active { background: var(--violet); }

/* Filtros com ícones */
[data-palette="executivo"] .filters .control { height: 44px; border-radius: 10px; background-color: var(--campo-bg); }
[data-palette="executivo"] #dash-filtros select[name="equipe"], [data-palette="executivo"] #hist-filtros select[name="equipe"] {
  padding-left: 40px; background: var(--campo-bg) var(--ico-equipe) no-repeat 13px center / 18px; }
[data-palette="executivo"] #dash-filtros select[name="consultora"], [data-palette="executivo"] #hist-filtros select[name="consultora"] {
  padding-left: 40px; background: var(--campo-bg) var(--ico-consultora) no-repeat 13px center / 18px; }

/* Números principais num cartão só, com ícones em círculos */
[data-palette="executivo"] .kpis { gap: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
[data-palette="executivo"] .kpis .kpi {
  position: relative; display: grid; grid-template-columns: 66px 1fr; column-gap: 16px; align-items: center; align-content: center;
  padding: 22px 24px; background: transparent; border: 0; border-left: 1px solid var(--line); border-radius: 0; box-shadow: none; transform: none;
}
[data-palette="executivo"] .kpis .kpi:first-child { border-left: 0; }
[data-palette="executivo"] .kpis .kpi:hover { background: var(--surface-hover); }
[data-palette="executivo"] .kpis .kpi > *:not(.kpi-icon):not(.kpi-mini) { grid-column: 2; }
[data-palette="executivo"] .kpi-icon { grid-row: 1 / span 3; width: 64px; height: 64px; border-radius: 50%; background: var(--violet-soft); color: var(--violet); }
[data-palette="executivo"] .kpi-icon.k4 { background: var(--ouro-suave); color: var(--ouro-escuro); }
[data-palette="executivo"] .kpi-emoji { display: none; }
[data-palette="executivo"] .kpi-svg { display: block; width: 28px; height: 28px; }
[data-palette="executivo"] .kpi-mini { display: block; position: absolute; top: 18px; right: 18px; width: 30px; height: 30px; padding: 6px;
  border-radius: 8px; background: var(--mini-bg); color: var(--mini-cor); }
[data-palette="executivo"] .kpis .kpi:nth-child(3) .kpi-mini { background: var(--ouro-suave); color: var(--ouro-escuro); }
[data-palette="executivo"] .kpi-label { margin: 0; font-weight: 600; color: var(--text); }
[data-palette="executivo"] .kpi strong { font-size: 42px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; color: var(--forte); }
[data-palette="executivo"] .kpi small { color: var(--text-3); }
[data-palette="executivo"] .kpis .kpi:first-child small, [data-palette="executivo"] .kpis .kpi:nth-child(3) small { color: var(--ouro-escuro); }
[data-palette="executivo"] .kpis .ver-mais { display: none; }
@media (max-width: 1200px) {
  [data-palette="executivo"] .kpis .kpi:nth-child(odd) { border-left: 0; }
  [data-palette="executivo"] .kpis .kpi:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 460px) {
  [data-palette="executivo"] .kpis .kpi { border-left: 0; }
  [data-palette="executivo"] .kpis .kpi:nth-child(n+2) { border-top: 1px solid var(--line); }
}

/* Cartões com ícone no título; produtos e indicadores em linhas com barra */
[data-palette="executivo"] .card-head { justify-content: flex-start; align-items: center; gap: 14px; }
[data-palette="executivo"] .card-head > .pill, [data-palette="executivo"] .card-head > .btn { margin-left: auto; }
[data-palette="executivo"] .card-icon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 12px;
  background: var(--ouro-suave); color: var(--ouro-escuro); }
[data-palette="executivo"] .card-icon svg { width: 22px; height: 22px; }
[data-palette="executivo"] .stat-tiles, [data-palette="executivo"] .indicators {
  display: flex; flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
[data-palette="executivo"] .stat-tile, [data-palette="executivo"] a.indicator {
  display: grid; grid-template-columns: minmax(120px, 1.1fr) 84px minmax(110px, 2fr) minmax(86px, auto); align-items: center; gap: 14px;
  padding: 12px 16px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; transform: none; color: var(--text);
}
[data-palette="executivo"] .stat-tile:first-child, [data-palette="executivo"] a.indicator:first-child { border-top: 0; }
[data-palette="executivo"] .stat-tile:hover, [data-palette="executivo"] a.indicator:hover { background: var(--surface-hover); transform: none; }
[data-palette="executivo"] .stat-tile .stat-label { order: 1; color: var(--text); font-weight: 500; }
[data-palette="executivo"] .stat-tile strong { order: 2; margin: 0; font-size: 22px; font-weight: 800; color: var(--forte); text-align: right; }
[data-palette="executivo"] .stat-tile small { order: 4; text-align: right; color: var(--text-3); }
[data-palette="executivo"] a.indicator .indicator-icon { display: none; }
[data-palette="executivo"] a.indicator > span:not(.indicator-icon):not(.linha-barra) { order: 1; font-weight: 500; font-size: 13.5px; }
[data-palette="executivo"] a.indicator strong { order: 2; font-size: 22px; font-weight: 800; text-align: right; color: var(--forte); }
[data-palette="executivo"] a.indicator small { order: 4; text-align: right; color: var(--violet-light); font-weight: 700; }
[data-palette="executivo"] .linha-barra { order: 3; display: block; height: 10px; border-radius: 999px; background: var(--track); overflow: hidden; }
[data-palette="executivo"] .linha-barra span { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: linear-gradient(90deg, var(--barra-a), var(--barra-b)); }
@media (max-width: 760px) {
  [data-palette="executivo"] .stat-tile, [data-palette="executivo"] a.indicator { grid-template-columns: 1fr 64px 1fr; }
  [data-palette="executivo"] .stat-tile small, [data-palette="executivo"] a.indicator small { display: none; }
  [data-palette="executivo"] .page-head h1 { font-size: 32px; }
}

/* Barrinha da FILA e demais detalhes */
[data-palette="executivo"] .fila-status { background: var(--surface); border-color: var(--line); }
[data-palette="executivo"] .progress span, [data-palette="executivo"] .team-bar span { background: linear-gradient(90deg, var(--barra-a), var(--barra-b)); }
[data-palette="executivo"] .rank-pos.top { color: var(--ouro-escuro); }

/* Prévia em Configurações */
.theme-preview.executivo { flex-direction: column; background: #f6f3ec; }
.theme-preview.executivo .tp-side { width: 100%; height: 18%; flex: none; background: #fff; border-bottom: 1px solid #ebe5d8; }
.theme-preview.executivo .tp-main { background: radial-gradient(120px 40px at 60% 10px, #f0e6cf, transparent), #f6f3ec; }
.theme-preview.executivo .tp-bar { background: linear-gradient(90deg, #0f4c3a 70%, #c99a4b 70%); }
.theme-preview.executivo .tp-card { background: #fff; border: 1px solid #ebe5d8; }
.theme-preview.executivo .tp-card.short { border-top: 2px solid #c99a4b; }
[data-palette="executivo"] .kpi-de { display: inline; font-size: 24px; font-weight: 700; color: var(--text-2); letter-spacing: 0; }

/* ---------------------------------------------------------------- Tema Ônix Dourado: preto e grafite com dourado
   (mesmo desenho do Executivo: <html data-theme="dark" data-palette="executivo">) */
[data-theme="dark"][data-palette="executivo"] {
  --violet: #d4af61; --violet-2: #e9cb8b; --violet-soft: #2a2418; --violet-border: #5c4b2b;
  --violet-light: #e2c07a; --violet-deep: #9c7633; --on-accent: #15130f; --accent-shadow: #d4af612e;
  --bg: #0c0c0d; --surface: #161618; --surface-2: #1c1c1f; --surface-hover: #232327;
  --text: #ece8df; --text-2: #c4bfb3; --text-3: #9d988c; --muted: #8e897e;
  --line: #29292d; --line-strong: #36363b; --track: #2b2b30;
  --ouro: #d4af61; --ouro-escuro: #e2c07a; --ouro-suave: #2b2519;
  --shadow: 0 4px 18px #00000059; --shadow-lg: 0 24px 60px #000000a6;
  --titulo: #f6f2e9; --forte: #f6f2e9; --subtitulo: #cdb684; --brilho: rgba(212, 175, 97, .13); --topo-bg: rgba(17, 17, 19, .92);
  --campo-bg: #1c1c1f; --barra-a: #9c7633; --barra-b: #e2c07a; --btn-a: #e6c67f; --btn-b: #b88a3e; --btn-hover-a: #f0d595;
  --btn-hover-b: #c69a4c; --btn-texto: #15130f; --mini-bg: #2a2418; --mini-cor: #e2c07a; --sombra-btn: #d4af6126;
  --ico-equipe: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23d4af61%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.9%22/%3E%3Cpath%20d%3D%22M16%203.1a4%204%200%200%201%200%207.8%22/%3E%3C/svg%3E");
  --ico-consultora: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23d4af61%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22/%3E%3C/svg%3E");
}
[data-theme="dark"][data-palette="executivo"] .brand-logo { filter: drop-shadow(0 4px 12px #d4af6133); }
[data-theme="dark"][data-palette="executivo"] .sidebar .nav .nav-item.active { background: #2a2418; color: #f0d595; }
[data-theme="dark"][data-palette="executivo"] .sidebar .avatar { color: #f0d595; }
[data-theme="dark"][data-palette="executivo"] .kpi-icon { background: #241f15; color: #e2c07a; box-shadow: inset 0 0 0 1px #3a3020; }
[data-theme="dark"][data-palette="executivo"] .card-icon { box-shadow: inset 0 0 0 1px #3a3020; }
[data-theme="dark"][data-palette="executivo"] a.indicator small { color: #e2c07a; }
[data-theme="dark"][data-palette="executivo"] .chip-link.active { background: var(--violet); color: var(--on-accent); }
[data-theme="dark"][data-palette="executivo"] .highlight { background: linear-gradient(160deg, #241f15, var(--surface) 60%); }
[data-theme="dark"][data-palette="executivo"] .filters .control { color-scheme: dark; }
.theme-preview.onix { flex-direction: column; background: #0c0c0d; }
.theme-preview.onix .tp-side { width: 100%; height: 18%; flex: none; background: #161618; border-bottom: 1px solid #29292d; }
.theme-preview.onix .tp-main { background: radial-gradient(120px 40px at 60% 10px, #2a2418, transparent), #0c0c0d; }
.theme-preview.onix .tp-bar { background: linear-gradient(90deg, #e6c67f, #b88a3e); }
.theme-preview.onix .tp-card { background: #161618; border: 1px solid #29292d; }
.theme-preview.onix .tp-card.short { border-top: 2px solid #d4af61; }

/* ---------------------------------------------------------------- Tema Ametista Dourada: grafite, roxo e dourado
   (mesmo desenho do Executivo: <html data-theme="dark" data-palette="executivo" data-tom="ametista">) */
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] {
  --violet: #8b5cf6; --violet-2: #c0a8ff; --violet-soft: #251c3b; --violet-border: #4d3b7d;
  --violet-light: #a78bfa; --violet-deep: #6d28d9; --on-accent: #ffffff; --accent-shadow: #8b5cf633;
  --bg: #111015; --surface: #18171e; --surface-2: #1e1c25; --surface-hover: #25222e;
  --text: #ebe8f2; --text-2: #c3bed0; --text-3: #9d97ad; --muted: #8f8a9e;
  --line: #2b2834; --line-strong: #393544; --track: #2c2936;
  --ouro: #d4af61; --ouro-escuro: #e2c07a; --ouro-suave: #2b2519;
  --titulo: #f5f2fb; --forte: #f5f2fb; --subtitulo: #b9a7e6; --brilho: rgba(139, 92, 246, .16); --topo-bg: rgba(20, 19, 25, .92);
  --campo-bg: #1e1c25; --barra-a: #7c4ddb; --barra-b: #d4af61; --btn-a: #9b6cff; --btn-b: #6a3fd2; --btn-hover-a: #a97fff;
  --btn-hover-b: #7a4fe0; --btn-texto: #ffffff; --mini-bg: #2b2519; --mini-cor: #e2c07a; --sombra-btn: #8b5cf640;
}
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .brand-logo { filter: drop-shadow(0 4px 12px #8b5cf640); }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .sidebar .nav .nav-item.active { background: #2a2142; color: #d6c6ff; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .sidebar .nav .nav-item.active .ico { color: #e2c07a; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .sidebar .avatar { background: #2a2142; color: #e2c07a; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .kpi-icon { background: #251c3b; color: #e2c07a; box-shadow: inset 0 0 0 1px #3d2f63; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .kpi-icon.k4 { background: #2b2519; color: #e2c07a; box-shadow: inset 0 0 0 1px #3a3020; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .card-icon { box-shadow: inset 0 0 0 1px #3a3020; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .btn.primary { box-shadow: 0 10px 24px var(--sombra-btn), inset 0 0 0 1px #d4af6155; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] a.indicator small { color: #e2c07a; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .chip-link.active { background: var(--violet); color: #fff; box-shadow: inset 0 0 0 1px #d4af6166; }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .eyebrow::after { background: linear-gradient(90deg, #d4af61, #8b5cf6 60%, transparent); }
[data-theme="dark"][data-palette="executivo"][data-tom="ametista"] .highlight { background: linear-gradient(160deg, #241c38, var(--surface) 60%); }
.theme-preview.ametista { flex-direction: column; background: #111015; }
.theme-preview.ametista .tp-side { width: 100%; height: 18%; flex: none; background: #18171e; border-bottom: 1px solid #2b2834; }
.theme-preview.ametista .tp-main { background: radial-gradient(120px 40px at 60% 10px, #2a2142, transparent), #111015; }
.theme-preview.ametista .tp-bar { background: linear-gradient(90deg, #8b5cf6 60%, #d4af61 60%); }
.theme-preview.ametista .tp-card { background: #18171e; border: 1px solid #2b2834; }
.theme-preview.ametista .tp-card.short { border-top: 2px solid #d4af61; }

/* ---------------------------------------------------------------- Abas de Configurações (Aparência / Usuários) */
.abas { display: flex; gap: 4px; padding: 4px; width: fit-content; max-width: 100%; overflow-x: auto;
  background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.aba { padding: 8px 16px; border-radius: 9px; font-weight: 700; font-size: 13px; color: var(--text-2); white-space: nowrap; }
.aba:hover { background: var(--surface-hover); color: var(--text); text-decoration: none; }
.aba.ativa { background: var(--violet); color: var(--on-accent); }
[data-palette="executivo"] .aba.ativa { background: linear-gradient(180deg, var(--btn-a), var(--btn-b)); color: var(--btn-texto); }

/* Ações nas tabelas: a célula continua célula de tabela (alinha com a linha) e os botões quebram linha se faltar espaço */
td.row-actions { display: table-cell; text-align: right; min-width: 240px; }
td.row-actions > * { display: inline-flex; vertical-align: middle; margin: 3px 0 3px 4px; }

/* ---------------------------------------------------------------- Regras de auditoria por equipe */
.padded-x { padding: 0 20px 16px; }
.regra-form { display: flex; flex-direction: column; gap: 18px; }
.regra-texto { height: auto; min-height: 220px; padding: 12px 14px; line-height: 1.55; resize: vertical; }
.regra-rodape { display: flex; justify-content: flex-end; margin-top: 8px; }
.pesos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.peso-item { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--surface-2); font-weight: 700; font-size: 13px; color: var(--text); }
.peso-item.peso-0 { opacity: .6; border-style: dashed; }
.peso-item.peso-2 { border-color: var(--violet-border); }
.peso-item.peso-3 { border-color: var(--violet); box-shadow: 0 0 0 2px var(--accent-shadow); }
.regra-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.regra-acoes > span { flex: 1; min-width: 240px; }
.regra-padrao { margin: -6px 0 0; display: flex; justify-content: flex-end; }
.prompt-base summary { cursor: pointer; }
.prompt-texto { white-space: pre-wrap; font: 12.5px/1.55 ui-monospace, Consolas, monospace; color: var(--text-2);
  background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin: 12px 0 0; max-height: 420px; overflow: auto; }
.versoes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.versoes li { border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; }
.versoes li.atual { border-color: var(--violet-border); }
.versoes summary { cursor: pointer; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.versoes form { margin: 10px 0 0; }

/* ---------------------------------------------------------------- Perfis (Administrador Master) */
.badge.master { background: linear-gradient(135deg, #f6e7c4, #e8c97f); color: #6b4a12; }
[data-theme="dark"] .badge.master { background: linear-gradient(135deg, #3a2f18, #5a4521); color: #f0d595; }
.papel-form { margin: 0; }
.papel-select { height: 34px; min-width: 190px; font-size: 12.5px; font-weight: 700; padding: 0 10px; }
.papel-select.papel-master { border-color: #d4af61; }
.papel-select.papel-admin { border-color: var(--violet-border); }

.tabela-usuarios td:nth-child(2) { max-width: 230px; overflow-wrap: anywhere; }
.tabela-usuarios .papel-select { min-width: 0; width: 176px; }
.tabela-usuarios td.row-actions { min-width: 0; width: 1%; }
.tabela-usuarios td.row-actions > * { margin: 3px 0 3px 4px; }

.gasto-fontes { display: block; margin-top: 2px; font-size: 11px; color: var(--text-3); }
.kpis .kpi.kpi-gasto strong, [data-palette] .kpis .kpi.kpi-gasto strong { font-size: 30px; white-space: nowrap; }

/* ---------------------------------------------------------------- Temas Água Marinha: verde-água + azul (desenho do Executivo)
   claro: <html data-theme="light" data-palette="executivo" data-tom="aqua"> · escuro: data-theme="dark" */
[data-palette="executivo"][data-tom="aqua"] {
  --violet: #0d9488; --violet-2: #0f766e; --violet-soft: #d5f5f0; --violet-border: #99e0d6;
  --violet-light: #2dd4bf; --violet-deep: #0f766e; --on-accent: #ffffff; --accent-shadow: #14b8a633;
  --bg: #f1f8f9; --surface: #ffffff; --surface-2: #f6fbfb; --surface-hover: #e7f5f4;
  --text: #10242c; --text-2: #3d5a63; --text-3: #5d7a82; --muted: #6a858c;
  --line: #d8eaea; --line-strong: #c2dcdc; --track: #e1eeef;
  --ouro: #2563eb; --ouro-escuro: #1d4ed8; --ouro-suave: #dbeafe;
  --titulo: #0b1f29; --forte: #0b1f29; --subtitulo: #0f766e; --brilho: #c7f0ea; --topo-bg: rgba(255, 255, 255, .94);
  --campo-bg: #ffffff; --barra-a: #14b8a6; --barra-b: #2563eb; --btn-a: #14b8a6; --btn-b: #2563eb;
  --btn-hover-a: #0d9488; --btn-hover-b: #1d4ed8; --btn-texto: #ffffff; --mini-bg: #d5f5f0; --mini-cor: #0f766e; --sombra-btn: #14b8a633;
  --ico-equipe: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230f766e%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.9%22/%3E%3Cpath%20d%3D%22M16%203.1a4%204%200%200%201%200%207.8%22/%3E%3C/svg%3E"); --ico-consultora: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230f766e%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22/%3E%3C/svg%3E");
}
[data-palette="executivo"][data-tom="aqua"] .brand-logo { filter: drop-shadow(0 4px 10px #2563eb33); }
[data-palette="executivo"][data-tom="aqua"] .kpi-icon { background: #d5f5f0; color: #0f766e; }
[data-palette="executivo"][data-tom="aqua"] .kpi-icon.k4 { background: #dbeafe; color: #1d4ed8; }
[data-palette="executivo"][data-tom="aqua"] .sidebar .nav .nav-item.active { background: #d5f5f0; color: #0f766e; }
[data-palette="executivo"][data-tom="aqua"] .eyebrow::after { background: linear-gradient(90deg, #14b8a6, #2563eb 60%, transparent); }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] {
  --violet: #2dd4bf; --violet-2: #5eead4; --violet-soft: #0f3b3f; --violet-border: #1f6f6a;
  --violet-light: #38bdf8; --violet-deep: #0d9488; --on-accent: #04191f; --accent-shadow: #2dd4bf2e;
  --bg: #061820; --surface: #0c232d; --surface-2: #102c37; --surface-hover: #153643;
  --text: #e4f6f8; --text-2: #b4d2d7; --text-3: #8eafb6; --muted: #85a5ac;
  --line: #1b3a45; --line-strong: #254d5b; --track: #183743;
  --ouro: #60a5fa; --ouro-escuro: #93c5fd; --ouro-suave: #12304d;
  --shadow: 0 4px 18px #00000059; --shadow-lg: 0 24px 60px #000000a6;
  --titulo: #ecfeff; --forte: #ecfeff; --subtitulo: #67e8f9; --brilho: rgba(45, 212, 191, .14); --topo-bg: rgba(6, 24, 32, .92);
  --campo-bg: #102c37; --barra-a: #14b8a6; --barra-b: #3b82f6; --btn-a: #0d9488; --btn-b: #1d4ed8;
  --btn-hover-a: #14b8a6; --btn-hover-b: #2563eb; --btn-texto: #ffffff; --mini-bg: #0f3b3f; --mini-cor: #5eead4; --sombra-btn: #2dd4bf33;
  --ico-equipe: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235eead4%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.9%22/%3E%3Cpath%20d%3D%22M16%203.1a4%204%200%200%201%200%207.8%22/%3E%3C/svg%3E"); --ico-consultora: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%235eead4%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22/%3E%3C/svg%3E");
}
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .brand-logo { filter: drop-shadow(0 4px 12px #38bdf840); }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .sidebar .nav .nav-item.active { background: #0f3b3f; color: #99f6e4; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .sidebar .nav .nav-item.active .ico { color: #5eead4; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .sidebar .avatar { background: #0f3b3f; color: #99f6e4; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .kpi-icon { background: #0f3b3f; color: #5eead4; box-shadow: inset 0 0 0 1px #1f6f6a; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .kpi-icon.k4 { background: #12304d; color: #93c5fd; box-shadow: inset 0 0 0 1px #1e4a7a; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .card-icon { box-shadow: inset 0 0 0 1px #1e4a7a; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] a.indicator small { color: #5eead4; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .chip-link.active { background: linear-gradient(90deg, #0d9488, #1d4ed8); color: #fff; }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .eyebrow::after { background: linear-gradient(90deg, #2dd4bf, #3b82f6 60%, transparent); }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .highlight { background: linear-gradient(160deg, #0f3b3f, var(--surface) 60%); }
[data-theme="dark"][data-palette="executivo"][data-tom="aqua"] .badge.master { background: linear-gradient(135deg, #0f3b3f, #12304d); color: #99f6e4; }
/* onda do cabeçalho em verde-água e azul */
[data-palette="executivo"][data-tom="aqua"] .page-head::before { background-image: url("../img/onda-aqua.svg"); }
/* prévias em Configurações */
.theme-preview.aqua { flex-direction: column; background: #f1f8f9; }
.theme-preview.aqua .tp-side { width: 100%; height: 18%; flex: none; background: #fff; border-bottom: 1px solid #d8eaea; }
.theme-preview.aqua .tp-main { background: radial-gradient(120px 40px at 60% 10px, #c7f0ea, transparent), #f1f8f9; }
.theme-preview.aqua .tp-bar { background: linear-gradient(90deg, #14b8a6, #2563eb); }
.theme-preview.aqua .tp-card { background: #fff; border: 1px solid #d8eaea; }
.theme-preview.aqua .tp-card.short { border-top: 2px solid #2563eb; }
.theme-preview.aqua_noite { flex-direction: column; background: #061820; }
.theme-preview.aqua_noite .tp-side { width: 100%; height: 18%; flex: none; background: #0c232d; border-bottom: 1px solid #1b3a45; }
.theme-preview.aqua_noite .tp-main { background: radial-gradient(120px 40px at 60% 10px, #0f3b3f, transparent), #061820; }
.theme-preview.aqua_noite .tp-bar { background: linear-gradient(90deg, #2dd4bf, #3b82f6); }
.theme-preview.aqua_noite .tp-card { background: #0c232d; border: 1px solid #1b3a45; }
.theme-preview.aqua_noite .tp-card.short { border-top: 2px solid #2dd4bf; }
