
/* Visual suave do admin da Ashiyana: mesma posicao de botoes e comandos, cantos arredondados, mais ar, contraste mais gentil.
   Tudo atras de html:is([data-tema=suave], [data-tema=escuro]); o botao "Visual" do cabecalho volta ao classico. */
html:is([data-tema=suave], [data-tema=escuro]) {
  --t-bg: #F5F5DC;
  --t-surface: #FFFEF7;
  --t-surface-2: #FAF8EA;
  --t-sand: #ECE8CE;
  --t-sand-2: #E2DCB9;
  --t-line: rgba(46, 74, 34, 0.13);
  --t-line-2: rgba(46, 74, 34, 0.24);
  --t-ink: #1E2E18;
  --t-ink-2: #5B6749;
  --t-green: #2E4A22;
  --t-green-2: #3B5C2C;
  --t-terracota: #CA6B3F;
  --t-r-s: 10px;
  --t-r-btn: 10px;
  --t-r-m: 16px;
  --t-r-l: 22px;
  --t-sombra: 0 1px 2px rgba(30, 46, 24, 0.05), 0 6px 20px rgba(30, 46, 24, 0.06);
  --t-sombra-2: 0 2px 4px rgba(30, 46, 24, 0.07), 0 12px 32px rgba(30, 46, 24, 0.12);
  --t-ease: 0.16s ease;
  scrollbar-width: thin;
  scrollbar-color: rgba(46, 74, 34, 0.3) transparent;
}
html:is([data-tema=suave], [data-tema=escuro]) body {
  font-family: 'Jost', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.5;
  color: var(--t-ink);
  background: var(--t-bg);
  -webkit-font-smoothing: antialiased;
}
html:is([data-tema=suave], [data-tema=escuro]) ::selection { background: rgba(202, 107, 63, 0.25); }
html:is([data-tema=suave], [data-tema=escuro]) h1, html:is([data-tema=suave], [data-tema=escuro]) h2, html:is([data-tema=suave], [data-tema=escuro]) h3 {
  font-family: 'EB Garamond', Georgia, serif;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--t-ink);
}
html:is([data-tema=suave], [data-tema=escuro]) h2 { font-size: 1.55rem; }
html:is([data-tema=suave], [data-tema=escuro]) h3 { font-size: 1.25rem; }
html:is([data-tema=suave], [data-tema=escuro]) h4 { font-weight: 600; letter-spacing: 0.01em; color: var(--t-ink); }

/* cabecalho: a faixa verde ganha cantos suaves embaixo */
html:is([data-tema=suave], [data-tema=escuro]) .extranet-header { border-radius: 0 0 26px 26px; box-shadow: 0 6px 18px rgba(30, 46, 24, 0.14); }
html:is([data-tema=suave], [data-tema=escuro]) .extranet-header h1 { font-family: 'EB Garamond', Georgia, serif; font-size: 1.25rem; font-weight: 500; letter-spacing: 0.02em; color: #F5F5DC; }

/* botoes: a acao principal continua verde cheio; navegacao e secundarios ficam em tom suave */
html:is([data-tema=suave], [data-tema=escuro]) button, html:is([data-tema=suave], [data-tema=escuro]) .btn-link, html:is([data-tema=suave], [data-tema=escuro]) input[type=button], html:is([data-tema=suave], [data-tema=escuro]) input[type=submit], html:is([data-tema=suave], [data-tema=escuro]) label.ia-arquivo {
  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.01em;
  border-radius: var(--t-r-btn);
  transition: background-color var(--t-ease), color var(--t-ease), box-shadow var(--t-ease), transform var(--t-ease), border-color var(--t-ease);
}
html:is([data-tema=suave], [data-tema=escuro]) button:not(:disabled):hover { box-shadow: 0 3px 10px rgba(30, 46, 24, 0.2); }
html:is([data-tema=suave], [data-tema=escuro]) button:not(:disabled):active, html:is([data-tema=suave], [data-tema=escuro]) .btn-link:active { transform: translateY(1px); box-shadow: none; }
html:is([data-tema=suave], [data-tema=escuro]) button:disabled { opacity: 0.5; cursor: not-allowed; }
html:is([data-tema=suave], [data-tema=escuro]) button.secundario, html:is([data-tema=suave], [data-tema=escuro]) button.sec, html:is([data-tema=suave], [data-tema=escuro]) .btn-link.secundario {
  background: var(--t-sand);
  color: var(--t-green);
  box-shadow: none;
}
html:is([data-tema=suave], [data-tema=escuro]) button.secundario:not(:disabled):hover, html:is([data-tema=suave], [data-tema=escuro]) button.sec:not(:disabled):hover, html:is([data-tema=suave], [data-tema=escuro]) .btn-link.secundario:hover { background: var(--t-sand-2); box-shadow: none; }
html:is([data-tema=suave], [data-tema=escuro]) button.btn-excluir, html:is([data-tema=suave], [data-tema=escuro]) button.perigo {
  background: #F6E2DA;
  color: #9A2B14;
  box-shadow: none;
}
html:is([data-tema=suave], [data-tema=escuro]) button.btn-excluir:not(:disabled):hover, html:is([data-tema=suave], [data-tema=escuro]) button.perigo:not(:disabled):hover { background: #EFCDC1; box-shadow: none; }
/* links do menu (Dashboard, Reservas, Financeiro...) */
html:is([data-tema=suave], [data-tema=escuro]) .btn-link {
  background: rgba(46, 74, 34, 0.09);
  color: var(--t-green);
  padding: 0.5rem 1rem;
}
html:is([data-tema=suave], [data-tema=escuro]) .btn-link:hover { background: var(--t-green); color: #fff; }
html:is([data-tema=suave], [data-tema=escuro]) a.btn-link[style*=background] { color: #fff; }
html:is([data-tema=suave], [data-tema=escuro]) .info-saida { color: var(--t-ink-2); }
html:is([data-tema=suave], [data-tema=escuro]) .info-saida a { color: var(--t-green); text-underline-offset: 3px; }

/* foco visivel e gentil */
html:is([data-tema=suave], [data-tema=escuro]) button:focus-visible, html:is([data-tema=suave], [data-tema=escuro]) a:focus-visible, html:is([data-tema=suave], [data-tema=escuro]) summary:focus-visible { outline: 3px solid rgba(202, 107, 63, 0.45); outline-offset: 2px; }
html:is([data-tema=suave], [data-tema=escuro]) input:focus, html:is([data-tema=suave], [data-tema=escuro]) select:focus, html:is([data-tema=suave], [data-tema=escuro]) textarea:focus { outline: none; border-color: var(--t-green); box-shadow: 0 0 0 3px rgba(46, 74, 34, 0.15); }

/* campos */
html:is([data-tema=suave], [data-tema=escuro]) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=button]):not([type=submit]),
html:is([data-tema=suave], [data-tema=escuro]) select, html:is([data-tema=suave], [data-tema=escuro]) textarea {
  font-family: inherit;
  border: 1px solid var(--t-line-2);
  border-radius: var(--t-r-s);
  background: var(--t-surface);
  color: var(--t-ink);
  transition: border-color var(--t-ease), box-shadow var(--t-ease), background-color var(--t-ease);
}
html:is([data-tema=suave], [data-tema=escuro]) input::placeholder, html:is([data-tema=suave], [data-tema=escuro]) textarea::placeholder { color: #8E977F; }
html:is([data-tema=suave], [data-tema=escuro]) input[type=checkbox], html:is([data-tema=suave], [data-tema=escuro]) input[type=radio] { accent-color: var(--t-green); }
html:is([data-tema=suave], [data-tema=escuro]) label { color: var(--t-ink-2); }

/* cartoes e paineis */
html:is([data-tema=suave], [data-tema=escuro]) .painel, html:is([data-tema=suave], [data-tema=escuro]) .dash-card, html:is([data-tema=suave], [data-tema=escuro]) .kpi-ano, html:is([data-tema=suave], [data-tema=escuro]) .kpi-tile, html:is([data-tema=suave], [data-tema=escuro]) .kpi,
html:is([data-tema=suave], [data-tema=escuro]) .prev-card, html:is([data-tema=suave], [data-tema=escuro]) .prev-tile, html:is([data-tema=suave], [data-tema=escuro]) .prev-mes, html:is([data-tema=suave], [data-tema=escuro]) .stats-card, html:is([data-tema=suave], [data-tema=escuro]) .hosp-cartao,
html:is([data-tema=suave], [data-tema=escuro]) .padrao-box, html:is([data-tema=suave], [data-tema=escuro]) .rt-kpi, html:is([data-tema=suave], [data-tema=escuro]) .resumo, html:is([data-tema=suave], [data-tema=escuro]) .card, html:is([data-tema=suave], [data-tema=escuro]) .cartao,
html:is([data-tema=suave], [data-tema=escuro]) .res-cartao, html:is([data-tema=suave], [data-tema=escuro]) .op-cartao, html:is([data-tema=suave], [data-tema=escuro]) .pedido, html:is([data-tema=suave], [data-tema=escuro]) .info-bloco, html:is([data-tema=suave], [data-tema=escuro]) .crm-bloco,
html:is([data-tema=suave], [data-tema=escuro]) .painel-categoria, html:is([data-tema=suave], [data-tema=escuro]) .caixa, html:is([data-tema=suave], [data-tema=escuro]) .dados-cliente, html:is([data-tema=suave], [data-tema=escuro]) .resumo-mes, html:is([data-tema=suave], [data-tema=escuro]) .ig-perfil, html:is([data-tema=suave], [data-tema=escuro]) .ig-post {
  background: var(--t-surface);
  border-radius: var(--t-r-m);
  border: 1px solid var(--t-line);
  box-shadow: var(--t-sombra);
}
html:is([data-tema=suave], [data-tema=escuro]) .painel { padding: 1.3rem 1.5rem; }
html:is([data-tema=suave], [data-tema=escuro]) .kpi-ano, html:is([data-tema=suave], [data-tema=escuro]) .prev-tile, html:is([data-tema=suave], [data-tema=escuro]) .dados-cliente { border-top-width: 3px; }
html:is([data-tema=suave], [data-tema=escuro]) .dados-cliente { border-left-width: 1px; border-top-color: var(--t-green); }
html:is([data-tema=suave], [data-tema=escuro]) .dash-card[data-href], html:is([data-tema=suave], [data-tema=escuro]) .kpi-tile[data-href] { cursor: pointer; transition: transform var(--t-ease), box-shadow var(--t-ease); }
html:is([data-tema=suave], [data-tema=escuro]) .dash-card[data-href]:hover, html:is([data-tema=suave], [data-tema=escuro]) .kpi-tile[data-href]:hover { transform: translateY(-2px); box-shadow: var(--t-sombra-2); }
html:is([data-tema=suave], [data-tema=escuro]) .prev-tile, html:is([data-tema=suave], [data-tema=escuro]) .kpi-tile { border-top-color: var(--t-green); }
html:is([data-tema=suave], [data-tema=escuro]) .painel-venda { border-radius: var(--t-r-m); box-shadow: var(--t-sombra-2); }
html:is([data-tema=suave], [data-tema=escuro]) .menu-acoes, html:is([data-tema=suave], [data-tema=escuro]) .menu-ctx, html:is([data-tema=suave], [data-tema=escuro]) .pop { border-radius: 14px; box-shadow: var(--t-sombra-2); border: 1px solid var(--t-line); }

/* tabelas: cabecalho claro em vez do bloco verde escuro; linhas respiram */
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal):not(.cal-grid) { border-collapse: separate; border-spacing: 0; background: var(--t-surface); border-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) thead th {
  background: #EBE7CC;
  color: var(--t-green);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-bottom: 1px solid var(--t-line-2);
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) thead th:first-child { border-top-left-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) thead th:last-child { border-top-right-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody td { border-bottom: 1px solid var(--t-line); padding-top: 0.65rem; padding-bottom: 0.65rem; }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody tr:last-child td { border-bottom: none; }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody tr:last-child td:first-child { border-bottom-left-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody tr:last-child td:last-child { border-bottom-right-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody tr { transition: background-color var(--t-ease); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tbody tr:not(.mes-header):not(.linha-total):hover td { background: rgba(46, 74, 34, 0.045); }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tr.mes-header td, html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tr.grupo td { background: var(--t-sand); color: var(--t-green); font-weight: 600; letter-spacing: 0.03em; }
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tr.linha-total td, html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) tr.total td { background: rgba(46, 74, 34, 0.07); }

/* abas, filtros e etiquetas viram pilulas */
html:is([data-tema=suave], [data-tema=escuro]) [role=tab], html:is([data-tema=suave], [data-tema=escuro]) .aba-btn, html:is([data-tema=suave], [data-tema=escuro]) .abas-orc button, html:is([data-tema=suave], [data-tema=escuro]) .dash-abas button, html:is([data-tema=suave], [data-tema=escuro]) .subabas button,
html:is([data-tema=suave], [data-tema=escuro]) .aba-res, html:is([data-tema=suave], [data-tema=escuro]) .rt-chip, html:is([data-tema=suave], [data-tema=escuro]) .chip, html:is([data-tema=suave], [data-tema=escuro]) .aba-mes, html:is([data-tema=suave], [data-tema=escuro]) .rt-abas button, html:is([data-tema=suave], [data-tema=escuro]) .abas-metas button {
  border-radius: var(--t-r-btn);
  border: 1px solid var(--t-line-2);
  background: var(--t-surface);
  color: var(--t-green);
  box-shadow: none;
  padding: 0.45rem 1rem;
  transition: background-color var(--t-ease), color var(--t-ease), border-color var(--t-ease);
}
html:is([data-tema=suave], [data-tema=escuro]) [role=tab]:hover, html:is([data-tema=suave], [data-tema=escuro]) .aba-btn:hover, html:is([data-tema=suave], [data-tema=escuro]) .abas-orc button:hover, html:is([data-tema=suave], [data-tema=escuro]) .dash-abas button:hover, html:is([data-tema=suave], [data-tema=escuro]) .subabas button:hover,
html:is([data-tema=suave], [data-tema=escuro]) .aba-res:hover, html:is([data-tema=suave], [data-tema=escuro]) .rt-chip:hover, html:is([data-tema=suave], [data-tema=escuro]) .chip:hover, html:is([data-tema=suave], [data-tema=escuro]) .rt-abas button:hover { background: var(--t-sand); }
html:is([data-tema=suave], [data-tema=escuro]) [role=tab].ativa, html:is([data-tema=suave], [data-tema=escuro]) [role=tab][aria-selected=true], html:is([data-tema=suave], [data-tema=escuro]) .aba-btn.ativa, html:is([data-tema=suave], [data-tema=escuro]) .aba-btn.ativo, html:is([data-tema=suave], [data-tema=escuro]) .abas-orc button.ativa, html:is([data-tema=suave], [data-tema=escuro]) .abas-orc button.ativo,
html:is([data-tema=suave], [data-tema=escuro]) .dash-abas button.ativa, html:is([data-tema=suave], [data-tema=escuro]) .dash-abas button.ativo, html:is([data-tema=suave], [data-tema=escuro]) .subabas button.ativa, html:is([data-tema=suave], [data-tema=escuro]) .subabas button.ativo,
html:is([data-tema=suave], [data-tema=escuro]) .aba-res.ativo, html:is([data-tema=suave], [data-tema=escuro]) .aba-res.ativa, html:is([data-tema=suave], [data-tema=escuro]) .rt-chip.ativo, html:is([data-tema=suave], [data-tema=escuro]) .chip.ativa, html:is([data-tema=suave], [data-tema=escuro]) .chip.ativo,
html:is([data-tema=suave], [data-tema=escuro]) .rt-abas button.ativo, html:is([data-tema=suave], [data-tema=escuro]) .abas-metas button.ativa {
  background: var(--t-green);
  color: #fff;
  border-color: var(--t-green);
}
html:is([data-tema=suave], [data-tema=escuro]) .rt-abas { border-bottom: none; gap: 0.5rem; }
html:is([data-tema=suave], [data-tema=escuro]) .abas-metas { border-bottom: 1px solid var(--t-line); }
html:is([data-tema=suave], [data-tema=escuro]) .abas-metas button { border-radius: var(--t-r-btn) var(--t-r-btn) 0 0; border-bottom: none; }
html:is([data-tema=suave], [data-tema=escuro]) .status-badge, html:is([data-tema=suave], [data-tema=escuro]) .rt-tag, html:is([data-tema=suave], [data-tema=escuro]) .tag-pgto, html:is([data-tema=suave], [data-tema=escuro]) .badge { border-radius: 8px; padding-left: 0.6rem; padding-right: 0.6rem; }

/* janelas */
html:is([data-tema=suave], [data-tema=escuro]) dialog {
  border: none;
  border-radius: var(--t-r-l);
  background: var(--t-surface);
  color: var(--t-ink);
  box-shadow: 0 24px 64px rgba(30, 46, 24, 0.3);
}
html:is([data-tema=suave], [data-tema=escuro]) dialog::backdrop { background: rgba(30, 46, 24, 0.4); backdrop-filter: blur(2px); }
html:is([data-tema=suave], [data-tema=escuro]) dialog .acoes, html:is([data-tema=suave], [data-tema=escuro]) dialog .acoes-editor { gap: 0.6rem; }

/* calendario de ocupacao: as celulas continuam firmes (sao dados) */
html:is([data-tema=suave], [data-tema=escuro]) .cal-day, html:is([data-tema=suave], [data-tema=escuro]) .prev-dia { border-radius: 8px; }
html:is([data-tema=suave], [data-tema=escuro]) .prev-barra, html:is([data-tema=suave], [data-tema=escuro]) .prev-mini, html:is([data-tema=suave], [data-tema=escuro]) .kpi-barra, html:is([data-tema=suave], [data-tema=escuro]) .progresso { border-radius: 999px; overflow: hidden; }
html:is([data-tema=suave], [data-tema=escuro]) img.avatar, html:is([data-tema=suave], [data-tema=escuro]) .avatar { border-radius: 50%; }
html:is([data-tema=suave], [data-tema=escuro]) iframe { border-radius: var(--t-r-m); }
html:is([data-tema=suave], [data-tema=escuro]) details > summary { cursor: pointer; border-radius: 8px; }
html:is([data-tema=suave], [data-tema=escuro]) hr { border: none; border-top: 1px solid var(--t-line); }

/* celular: janelas em tela cheia nao ficam arredondadas; cartoes um pouco menos */
@media (max-width: 700px) {
  html:is([data-tema=suave], [data-tema=escuro]) dialog { border-radius: 0; }
  html:is([data-tema=suave], [data-tema=escuro]) .painel { padding: 1rem; }
  html:is([data-tema=suave], [data-tema=escuro]) .extranet-header { border-radius: 0 0 18px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html:is([data-tema=suave], [data-tema=escuro]) *, html:is([data-tema=suave], [data-tema=escuro]) *::before, html:is([data-tema=suave], [data-tema=escuro]) *::after { transition: none !important; animation: none !important; }
}

/* botao com seta (Abrir | v): as duas metades continuam juntas */
html:is([data-tema=suave], [data-tema=escuro]) .btn-abrir:has(+ .btn-menu) { border-radius: var(--t-r-btn) 0 0 var(--t-r-btn); }
html:is([data-tema=suave], [data-tema=escuro]) .btn-abrir + .btn-menu { border-radius: 0 var(--t-r-btn) var(--t-r-btn) 0; }
/* tabelas: so linhas horizontais, sem grade */
html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) th, html:is([data-tema=suave], [data-tema=escuro]) table:not(#grade-cal) td { border-left: none; border-right: none; border-top: none; }

/* ===== painel Aparencia (visual e densidade) ===== */
.aparencia-pop {
  position: fixed; z-index: 100000; width: 15.5rem; padding: 0.9rem 1rem 1rem;
  background: #FFFEF7; color: #1E2E18; border: 1px solid rgba(46, 74, 34, 0.18); border-radius: 18px;
  box-shadow: 0 14px 40px rgba(30, 46, 24, 0.22); font-family: 'Jost', system-ui, sans-serif; font-size: 0.85rem;
}
.aparencia-pop p { margin: 0 0 0.4rem; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: #5B6749; font-weight: 600; }
.aparencia-pop div { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.8rem; }
.aparencia-pop div:last-child { margin-bottom: 0; }
.aparencia-pop .ap-op {
  font: inherit; font-size: 0.8rem; padding: 0.35rem 0.8rem; border-radius: 10px; cursor: pointer;
  background: #ECE8CE; color: #2E4A22; border: 1px solid transparent; transition: background-color 0.16s, color 0.16s;
}
.aparencia-pop .ap-op:hover { background: #E2DCB9; }
.aparencia-pop .ap-op.ativo { background: #2E4A22; color: #fff; }

/* ===== janelas grandes viram painel lateral (a lista continua visivel ao lado) ===== */
@media (min-width: 900px) {
  html:is([data-tema=suave], [data-tema=escuro]) dialog[open]:not(.dialog-pequeno):not([data-modal]) {
    margin: 0 0 0 auto !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
    width: min(900px, 94vw) !important;
    max-width: 94vw !important;
    border-radius: 22px 0 0 22px;
    box-shadow: -18px 0 48px rgba(30, 46, 24, 0.22);
    animation: t-painel 0.2s ease-out;
    overflow: auto;
  }
  html:is([data-tema=suave], [data-tema=escuro]) dialog[open]:not(.dialog-pequeno):not([data-modal])::backdrop { background: rgba(30, 46, 24, 0.26); }
}
@keyframes t-painel { from { transform: translateX(36px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ===== acoes da linha: uma a vista, as outras no menu ===== */
.mais-acoes { display: inline-block; vertical-align: middle; margin-left: 0.3rem; }
.mais-gatilho { padding: 0.35rem 0.7rem !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: 0.1em; }
.mais-menu {
  position: fixed; z-index: 99999; display: flex; flex-direction: column; gap: 2px; min-width: 11rem; padding: 0.4rem;
  background: #FFFEF7; border: 1px solid rgba(46, 74, 34, 0.18); border-radius: 14px; box-shadow: 0 14px 36px rgba(30, 46, 24, 0.22);
}
.mais-menu[hidden] { display: none; }
.mais-menu > button, .mais-menu > a {
  display: block !important; width: 100%; text-align: left !important; background: transparent !important; color: #1E2E18 !important;
  box-shadow: none !important; border-radius: 10px !important; padding: 0.5rem 0.8rem !important; font-size: 0.86rem !important; white-space: nowrap;
}
.mais-menu > button:hover, .mais-menu > a:hover { background: rgba(46, 74, 34, 0.09) !important; }
.mais-menu > button.btn-excluir, .mais-menu > button.perigo { color: #9A2B14 !important; }
.mais-menu > button.btn-excluir:hover, .mais-menu > button.perigo:hover { background: #F6E2DA !important; }

/* ===== estados vazios ===== */
td.vazio-amigavel { text-align: center !important; padding: 2rem 1rem !important; color: #5B6749 !important; font-size: 0.95rem; white-space: normal !important; }
.vazio-icone { display: block; font-size: 1.6rem; margin-bottom: 0.35rem; opacity: 0.75; }

/* ===== densidade compacta (vale em qualquer visual) ===== */
html[data-densidade=compacta] body { font-size: 14px; line-height: 1.4; }
html[data-densidade=compacta] table tbody td { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; font-size: 0.84rem; }
html[data-densidade=compacta] table thead th { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; }
html[data-densidade=compacta] .painel { padding: 0.8rem 1rem !important; }
html[data-densidade=compacta] button, html[data-densidade=compacta] .btn-link { padding-top: 0.3rem !important; padding-bottom: 0.3rem !important; font-size: 0.78rem !important; }
html[data-densidade=compacta] .toolbar { gap: 0.35rem; margin-bottom: 0.7rem; }
html[data-densidade=compacta] h2 { margin-top: 0.8rem; margin-bottom: 0.5rem; }
html[data-densidade=compacta] input:not([type=checkbox]):not([type=radio]), html[data-densidade=compacta] select { padding-top: 0.25rem; padding-bottom: 0.25rem; }

/* ===== escuro suave: a pagina inteira e invertida por filtro (fotos e logos voltam ao normal) ===== */
html[data-tema=escuro] { filter: invert(0.9) hue-rotate(180deg); background: #F5F5DC; }
html[data-tema=escuro] img:not([src*="img-00"]), html[data-tema=escuro] video { filter: invert(1) hue-rotate(180deg); }

