:root {
  --bg: #f3f6fb;
  --bg-elevated: #ffffff;
  --bg-soft: #f8fbff;
  --text: #172033;
  --muted: #64748b;
  --border: #d9e2ef;
  --border-strong: #c7d3e4;
  --primary: #2563eb;
  --primary-soft: #eff6ff;
  --primary-strong: #1d4ed8;
  --nav-bg: #0f172a;
  --nav-surface: rgba(255,255,255,0.035);
  --nav-border: rgba(148, 163, 184, 0.18);
  --success-bg: #ecfdf5;
  --success-text: #065f46;
  --danger-bg: #fef2f2;
  --danger-text: #991b1b;
  --warning-bg: #fff7ed;
  --warning-text: #9a3412;
  --shadow-sm: 0 12px 32px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 24px 54px rgba(15, 23, 42, 0.12);
  --radius-lg: 20px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --sidebar-width: 290px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(59, 130, 246, 0.05), transparent 28%),
    linear-gradient(180deg, #f8fafc 0%, #f3f6fb 100%);
}
a { color: inherit; text-decoration: none; }
.layout { display: flex; min-height: 100vh; }
.sidebar {
  width: var(--sidebar-width);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  background:
    linear-gradient(180deg, rgba(37, 99, 235, 0.16), transparent 18%),
    linear-gradient(180deg, #0f172a 0%, #111827 100%);
  color: #fff;
  padding: 26px 18px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid rgba(255,255,255,0.05);
}
.sidebar-inner { display: grid; gap: 22px; }
.brand-panel {
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
  border: 1px solid var(--nav-border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 24px rgba(0,0,0,0.16);
}
.brand { font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.brand-subtitle { margin-top: 8px; color: #cbd5e1; font-size: 13px; line-height: 1.5; }
.menu-section { display: grid; gap: 10px; }
.menu-section-title {
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #93c5fd;
}
.menu { display: grid; gap: 8px; }
.menu a,
.menu-disabled {
  border-radius: 14px;
  border: 1px solid transparent;
  background: var(--nav-surface);
  padding: 12px 14px;
  transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease, box-shadow .18s ease;
}
.menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #d7e2f1;
}
.menu a::after { content: "›"; color: #94a3b8; font-size: 18px; line-height: 1; }
.menu a:hover {
  background: rgba(255,255,255,0.075);
  border-color: rgba(96,165,250,0.22);
  color: #ffffff;
  transform: translateX(2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.menu a.active {
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.92), rgba(29, 78, 216, 0.96));
  border-color: rgba(147, 197, 253, 0.45);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}
.menu a.active::after { color: #ffffff; }
.menu-disabled {
  color: #94a3b8;
  border-style: dashed;
  border-color: rgba(255,255,255,0.10);
  display: grid;
  gap: 4px;
}
.menu-disabled small { color: #64748b; font-size: 11px; }
.sidebar-footer { display: grid; gap: 12px; }
.user-badge,
.permission-badge {
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--nav-border);
}
.user-badge { display: grid; gap: 4px; }
.user-badge strong { font-size: 14px; }
.user-badge span,
.permission-badge { color: #cbd5e1; font-size: 13px; }
.logout-link {
  text-align: center;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px;
  color: #fff;
  background: rgba(255,255,255,0.04);
}
.logout-link:hover { background: rgba(255,255,255,0.09); }
.content { flex: 1; min-width: 0; padding: 28px 30px 36px; }
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 13px;
}
.breadcrumbs a,
.breadcrumbs span { display: inline-flex; align-items: center; gap: 8px; }
.breadcrumbs a:hover { color: var(--primary-strong); }
.breadcrumbs a::after,
.breadcrumbs span:not(:last-child)::after {
  content: '›';
  color: #94a3b8;
  margin-left: 8px;
}
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 24px;
  padding: 24px 26px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(255,255,255,0.88));
  border: 1px solid rgba(199, 211, 228, 0.72);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}
.page-header h1 { margin: 0; font-size: 30px; letter-spacing: -.03em; }
.page-header p { margin: 8px 0 0; color: var(--muted); line-height: 1.6; }
.page-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--primary-strong);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--primary);
}
.header-actions { display: flex; align-items: flex-start; justify-content: flex-end; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  background: var(--primary-soft);
  color: var(--primary-strong);
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}
.pill-muted { background: #eef2f7; color: #475569; border: 1px solid #d8e0ea; }
.alert {
  padding: 14px 16px;
  border-radius: 16px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}
.alert-success { background: var(--success-bg); color: var(--success-text); border-color: #a7f3d0; }
.alert-danger { background: var(--danger-bg); color: var(--danger-text); border-color: #fecaca; }
.alert-warning { background: var(--warning-bg); color: var(--warning-text); border-color: #fed7aa; }
.grid { display: grid; gap: 20px; }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card,
.table-wrap {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.90));
  border: 1px solid rgba(199, 211, 228, 0.72);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}
.card { padding: 24px; }
.card h3 { margin-top: 0; }
.section-heading { margin-bottom: 18px; }
.section-heading h3 { margin: 0 0 6px; font-size: 20px; letter-spacing: -.02em; }
.section-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.page-section { display: grid; gap: 14px; }
.kpis { margin-bottom: 22px; }
.kpi-card { position: relative; overflow: hidden; }

.kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.kpi-card {
  padding: 20px;
  min-height: 148px;
  background: #ffffff;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}
.kpi-card > span,
.kpi-card > strong,
.kpi-card > small {
  display: block;
  position: relative;
  z-index: 1;
}
.kpi-card > span {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #64748b;
}
.kpi-card > strong {
  margin: 0 0 8px;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #0f172a;
}
.kpi-card > small {
  color: #475569;
  line-height: 1.45;
}
.kpi-card::after {
  content: "";
  position: absolute;
  inset: auto -40px -50px auto;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.12), transparent 65%);
}
.stat-number { font-size: 34px; font-weight: 800; letter-spacing: -.03em; margin: 10px 0 4px; }
.muted { color: var(--muted); }
.table-wrap { overflow: hidden; }
.table-header { padding: 18px 20px 0; }
.table-header h3 { margin: 0 0 4px; font-size: 18px; }
.table-header p { margin: 0; color: var(--muted); font-size: 14px; }
table { width: 100%; border-collapse: collapse; }
th, td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.5;
}
th {
  background: #f8fbff;
  color: #334155;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
tr:hover td { background: #fbfdff; }
tbody tr:last-child td { border-bottom: none; }
.form-grid,
.form-grid-3 { display: grid; gap: 14px; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #334155;
}
input, select, textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  font-size: 14px;
  color: var(--text);
  background: #fff;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: #93c5fd;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
}
input:disabled, select:disabled, textarea:disabled { background: #f8fafc; color: #94a3b8; }
textarea { min-height: 110px; resize: vertical; }
button, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  background: var(--primary);
  color: #fff;
  padding: 12px 16px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.15);
}
button:hover, .button:hover { transform: translateY(-1px); }
.button.secondary, button.secondary {
  background: #eef2f7;
  color: #0f172a;
  box-shadow: none;
  border: 1px solid #d8e0ea;
}
.button.danger, button.danger {
  background: #dc2626;
  box-shadow: 0 10px 18px rgba(220, 38, 38, 0.16);
}
.actions-inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.check-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; margin-bottom: 0; }
.check-row input { width: auto; }
.permission-table table select { min-width: 180px; }
.permission-summary { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.permission-pill {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid #bfdbfe;
}
.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #eff6ff, #f8fafc);
}
.login-card {
  width: 100%;
  max-width: 440px;
  background: var(--bg-elevated);
  border-radius: 24px;
  box-shadow: var(--shadow-md);
  padding: 28px;
  border: 1px solid rgba(199, 211, 228, 0.72);
}
.login-title { margin: 0 0 8px; font-size: 30px; }
.login-demo {
  margin-top: 18px;
  padding: 14px;
  border-radius: 14px;
  background: #eff6ff;
  color: #1e3a8a;
  font-size: 14px;
}
.empty, .empty-state-box { color: var(--muted); }
.empty { padding: 28px; text-align: center; }
.empty-state-box {
  min-height: 180px;
  border-radius: 18px;
  padding: 18px;
  border: 1px dashed var(--border-strong);
  background: var(--bg-soft);
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
.status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}
.status.livre { background: #ecfdf5; color: #065f46; }
.status.ocupado { background: #fef2f2; color: #991b1b; }
.table-link { color: var(--text); }
.table-link:hover { color: var(--primary); }
.residente-hero { margin-bottom: 18px; }
.residente-hero-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
}
.residente-nome { margin: 0 0 12px; font-size: 30px; }
.residente-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  color: var(--muted);
  font-size: 14px;
}
.mini-card {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  background: #fcfdff;
}
.mini-card h4 { margin-top: 0; margin-bottom: 14px; }
.detail-list { display: grid; gap: 12px; margin: 0; }
.detail-list div { display: grid; gap: 4px; }
.detail-list dt {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.detail-list dd { margin: 0; font-weight: 600; }
.observacoes-box {
  min-height: 180px;
  border-radius: 18px;
  padding: 18px;
  border: 1px solid var(--border);
  background: #fcfdff;
  line-height: 1.6;
}
@media (max-width: 1240px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .layout { flex-direction: column; }
  .sidebar { width: 100%; position: relative; height: auto; }
}
@media (max-width: 860px) {
  .content { padding: 18px; }
  .page-header { padding: 20px; }
  .page-header,
  .page-header .header-actions,
  .residente-hero-top { flex-direction: column; }
  .form-grid, .form-grid-3, .grid-2, .grid-4, .residente-meta-grid { grid-template-columns: 1fr; }
}
.tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 20px;
}
.tab-link {
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.9);
  font-weight: 700;
  color: #334155;
}
.tab-link.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.16);
}
.hub-counter-grid,
.summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}
.summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mini-stat,
.summary-tile {
  padding: 16px 18px;
  border-radius: 18px;
  background: #fcfdff;
  border: 1px solid var(--border);
  display: grid;
  gap: 8px;
}
.mini-stat span,
.summary-tile span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.mini-stat strong,
.summary-tile strong {
  font-size: 26px;
  letter-spacing: -.03em;
}
.task-list,
.timeline-list {
  display: grid;
  gap: 14px;
}
.task-item {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  background: #fcfdff;
}
.task-header-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}
.task-header-row h4 { margin: 0 0 10px; font-size: 18px; }
.task-badges,
.task-meta { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.task-description { color: #334155; line-height: 1.6; margin: 14px 0; }
.task-meta { color: var(--muted); font-size: 13px; }
.task-status-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.status-task,
.priority-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  border: 1px solid transparent;
}
.status-task.pending { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.status-task.progress { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.status-task.done { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.priority-badge.low { background: #f8fafc; color: #475569; border-color: #e2e8f0; }
.priority-badge.medium { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.priority-badge.high { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 14px;
  align-items: start;
}
.timeline-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--primary);
  margin-top: 5px;
  box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.10);
}
.timeline-content {
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 16px 18px;
  background: #fcfdff;
}
.timeline-topline {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.timeline-content p { margin: 0 0 10px; line-height: 1.65; color: #334155; }
.timeline-content small,
.timeline-topline span { color: var(--muted); }
.tipo-vinculo .timeline-dot { background: #0f766e; box-shadow: 0 0 0 5px rgba(15, 118, 110, 0.10); }
.tipo-tarefa .timeline-dot { background: #d97706; box-shadow: 0 0 0 5px rgba(217, 119, 6, 0.10); }
.tipo-evolucao .timeline-dot,
.evolucao-item .timeline-dot { background: #7c3aed; box-shadow: 0 0 0 5px rgba(124, 58, 237, 0.10); }
@media (max-width: 1240px) {
  .hub-counter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .hub-counter-grid,
  .summary-grid { grid-template-columns: 1fr; }
  .task-header-row,
  .task-status-form,
  .timeline-topline { flex-direction: column; align-items: stretch; }
}


.acompanhamento-toolbar-card { display: grid; gap: 18px; }
.acompanhamento-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 280px) auto;
  gap: 14px;
  align-items: end;
}
.acompanhamento-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.acompanhamento-card {
  display: grid;
  gap: 18px;
}
.acompanhamento-card-top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: start;
}
.avatar-circle {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: var(--primary-strong);
  background: linear-gradient(180deg, #eff6ff, #dbeafe);
  border: 1px solid #bfdbfe;
}
.acompanhamento-card-head h3 { margin: 0 0 6px; font-size: 20px; }
.card-submeta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
}
.acompanhamento-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.meta-label {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.last-evolution-box {
  padding: 16px 18px;
  border-radius: 16px;
  background: #f8fbff;
  border: 1px solid var(--border);
}
.last-evolution-box p { margin: 0; color: #334155; line-height: 1.6; }
.status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.status-chip.success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.status-chip.warning { background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; }
.status-chip.neutral { background: #eef2f7; color: #475569; border: 1px solid #d8e0ea; }
.empty-state-card { text-align: center; padding: 40px 24px; }
.acompanhamento-actions { justify-content: flex-end; }

@media (max-width: 1180px) {
  .acompanhamento-toolbar { grid-template-columns: 1fr 1fr; }
  .toolbar-actions { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .acompanhamento-toolbar,
  .acompanhamento-card-top,
  .acompanhamento-meta-grid {
    grid-template-columns: 1fr;
  }
  .status-chip { justify-self: start; }
}
.status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .03em;
  border: 1px solid transparent;
}
.status-badge.success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.status-badge.warning { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }
.status-badge.muted { background: #eef2f7; color: #475569; border-color: #d8e0ea; }
.form-grid-responsaveis-filtro { grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); }
.responsavel-layout .mini-card { display: grid; gap: 14px; }
.responsavel-layout .mini-card + .mini-card { margin-top: 2px; }
.responsavel-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.stack-info { display: grid; gap: 12px; }
.stack-info p { margin: 0; line-height: 1.6; }
.linked-residents-list { display: grid; gap: 12px; }
.linked-resident-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fcfdff;
}
.linked-resident-item h4 { margin: 0 0 8px; font-size: 17px; }
.linked-resident-side { display: grid; gap: 8px; text-align: right; }
button:disabled, .button:disabled {
  cursor: not-allowed;
  opacity: .6;
  transform: none;
}
@media (max-width: 860px) {
  .form-grid-responsaveis-filtro,
  .responsavel-summary-grid { grid-template-columns: 1fr; }
  .linked-resident-item,
  .linked-resident-side { display: grid; text-align: left; }
}

.filters-inline { padding: 16px 20px 0; }
.filters-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.filters-form input, .filters-form select { max-width: 260px; }
.leito-operacional-wrap table td { vertical-align: middle; }
.estrutura-page .kpi-card p { margin-bottom: 0; }
@media (max-width: 860px) {
  .filters-form { flex-direction: column; align-items: stretch; }
  .filters-form input, .filters-form select { max-width: 100%; }
}


.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-stack { display: grid; gap: 22px; }
.dashboard-hero {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: stretch;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.10), rgba(255,255,255,0.98));
}
.dashboard-hero h2 { margin: 0 0 8px; font-size: 28px; letter-spacing: -.03em; }
.dashboard-hero p { margin: 0; color: var(--muted); line-height: 1.7; max-width: 760px; }
.dashboard-hero-meta {
  min-width: 320px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.dashboard-hero-meta div {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(191, 219, 254, 0.9);
  display: grid;
  gap: 6px;
}
.dashboard-hero-meta strong { font-size: 24px; letter-spacing: -.03em; }
.dashboard-hero-meta span { font-size: 12px; color: var(--muted); line-height: 1.4; }
.dashboard-section-title { display: grid; gap: 4px; }
.dashboard-section-title h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.dashboard-section-title p { margin: 0; color: var(--muted); }
.dashboard-kpis { margin-bottom: 0; }
.kpi-highlight { border-color: rgba(96, 165, 250, 0.55); background: linear-gradient(180deg, rgba(239, 246, 255, 0.96), rgba(255,255,255,0.95)); }
.shortcut-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.shortcut-card {
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,251,255,0.96));
  border: 1px solid rgba(199, 211, 228, 0.72);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
  display: grid;
  gap: 10px;
  transition: .18s ease;
}
.shortcut-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: #bfdbfe; }
.shortcut-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shortcut-top strong { font-size: 18px; }
.shortcut-top span { font-size: 12px; color: var(--primary-strong); font-weight: 700; background: var(--primary-soft); border: 1px solid #bfdbfe; padding: 6px 10px; border-radius: 999px; }
.shortcut-card p { margin: 0; color: var(--muted); line-height: 1.6; }
.shortcut-card small { color: #475569; font-weight: 700; }
.dashboard-panels,.dashboard-tables { align-items: start; }
.dashboard-panel { display: grid; gap: 16px; }
.no-pad { padding: 0; }
.compact-panel { padding: 20px; }
.mini-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mini-stats div, .finance-summary-box, .simple-list-item, .unit-item {
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fbfdff;
}
.mini-stats span, .finance-summary-box span, .simple-list-item span, .unit-item span { display: block; color: var(--muted); font-size: 13px; }
.mini-stats strong, .finance-summary-box strong { display: block; margin-top: 6px; font-size: 22px; }
.simple-list, .unit-list, .finance-summary-stack { display: grid; gap: 10px; }
.finance-summary-title { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--primary-strong); font-weight: 700; }
.simple-list-item small { display: block; margin-top: 6px; color: #475569; }
.empty-state.small { padding: 16px; border: 1px dashed var(--border-strong); border-radius: 16px; color: var(--muted); }
.status.ativo, .status.livre, .status.recebido, .status.pago {
  display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: var(--success-bg); color: var(--success-text); font-size: 12px; font-weight: 700;
}
.status.ocupado, .status.pendente, .status.rascunho {
  display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: var(--warning-bg); color: var(--warning-text); font-size: 12px; font-weight: 700;
}
.status.vencido, .status.cancelado, .status.inativo, .status.encerrado, .status.pre_cadastro {
  display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: var(--danger-bg); color: var(--danger-text); font-size: 12px; font-weight: 700;
}
@media (max-width: 1280px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3, .shortcut-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-hero { flex-direction: column; }
}
@media (max-width: 900px) {
  .grid-2, .grid-3, .grid-4, .shortcut-grid, .dashboard-hero-meta, .mini-stats { grid-template-columns: 1fr; }
  .content { padding: 20px; }
  .page-header { flex-direction: column; }
}


html, body { max-width: 100%; overflow-x: hidden; }
body.sidebar-open { overflow: hidden; }
img, svg, iframe, video, canvas { max-width: 100%; height: auto; }
.table-wrap, .card, .page-header, .mini-card, .shortcut-card, .timeline-content, .task-item, .last-evolution-box, .simple-list-item, .unit-item, .finance-summary-box {
  min-width: 0;
}
.content > * { min-width: 0; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { min-width: 720px; }

.mobile-topbar,
.sidebar-overlay {
  display: none;
}

.mobile-topbar {
  position: sticky;
  top: 0;
  z-index: 1200;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(199, 211, 228, 0.72);
}

.mobile-topbar-brand {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mobile-topbar-brand strong {
  font-size: 15px;
  line-height: 1.2;
  color: var(--text);
}

.mobile-topbar-brand span {
  font-size: 12px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mobile-menu-toggle {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  padding: 0;
  flex: 0 0 46px;
  box-shadow: none;
  flex-direction: column;
}

.mobile-menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 1090;
  background: rgba(15, 23, 42, 0.48);
}

.content {
  width: 100%;
}

.page-shell,
.dashboard-stack,
.page-section,
.grid,
.grid-2,
.grid-3,
.grid-4,
.shortcut-grid,
.summary-grid,
.hub-counter-grid {
  min-width: 0;
}

.actions-inline > * {
  min-width: 0;
}

.filters-form input,
.filters-form select,
.filters-form .button,
.actions-inline .button,
.actions-inline button {
  min-height: 44px;
}

@media (max-width: 980px) {
  .mobile-topbar { display: flex; }
  .sidebar-overlay { display: block; }
  .layout { display: block; }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(88vw, 320px);
    height: 100vh;
    z-index: 1100;
    transform: translateX(-102%);
    transition: transform .22s ease;
    border-right: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.30);
  }
  .sidebar.is-open { transform: translateX(0); }
  .content {
    padding: 18px 16px 24px;
  }
  .page-header {
    padding: 20px 18px;
    border-radius: 20px;
  }
  .page-header h1 {
    font-size: 26px;
  }
  .brand-panel {
    padding: 16px;
  }
}

@media (max-width: 860px) {
  table { min-width: 640px; }
  .card,
  .compact-panel,
  .table-header {
    padding-left: 16px;
    padding-right: 16px;
  }
  .card { padding-top: 18px; padding-bottom: 18px; }
  th, td { padding: 12px 12px; }
}

@media (max-width: 640px) {
  :root {
    --radius-lg: 18px;
    --radius-md: 14px;
    --radius-sm: 12px;
  }

  .content {
    padding: 14px 12px 20px;
  }

  .page-header {
    margin-bottom: 18px;
    padding: 18px 16px;
  }

  .page-header h1,
  .residente-nome,
  .dashboard-hero h2,
  .login-title {
    font-size: 24px;
  }

  .page-header p,
  .dashboard-hero p,
  .brand-subtitle,
  .section-heading p {
    font-size: 14px;
  }

  .card,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box {
    border-radius: 16px;
  }

  .actions-inline,
  .filters-form,
  .task-badges,
  .task-meta,
  .permission-summary {
    gap: 10px;
  }

  .actions-inline .button,
  .actions-inline button,
  .filters-form .button,
  .filters-form button,
  .header-actions,
  .header-actions .pill {
    width: 100%;
  }

  .header-actions .pill {
    justify-content: center;
  }

  .dashboard-hero-meta div,
  .mini-stat,
  .summary-tile,
  .kpi-card {
    padding: 14px;
  }

  .kpis {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .kpi-card > strong {
    font-size: 24px;
  }

  .stat-number,
  .mini-stat strong,
  .summary-tile strong,
  .dashboard-hero-meta strong {
    font-size: 24px;
  }

  .residente-meta-grid,
  .acompanhamento-meta-grid,
  .dashboard-hero-meta,
  .mini-stats {
    gap: 10px;
  }

  .task-status-form > *,
  .filters-form > * {
    width: 100%;
  }

  input, select, textarea, button, .button, .tab-link {
    font-size: 16px;
  }
}


/* Camada 2 — refinamento visual sistêmico */
body { color-scheme: light; }
.layout { min-height: 100vh; }
.sidebar { box-shadow: inset -1px 0 0 rgba(255,255,255,0.04); }
.content-inner {
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  gap: 0;
}
.page-header {
  position: relative;
  overflow: hidden;
}
.page-header::after {
  content: "";
  position: absolute;
  inset: auto -40px -58px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.10), transparent 66%);
  pointer-events: none;
}
.page-header > * { position: relative; z-index: 1; }
.page-header h1 { max-width: 20ch; }
.card,
.table-wrap,
.shortcut-card,
.mini-card,
.task-item,
.timeline-content,
.last-evolution-box,
.simple-list-item,
.unit-item,
.finance-summary-box,
.login-card,
.login-aside {
  backdrop-filter: blur(8px);
}
.card:hover,
.table-wrap:hover,
.shortcut-card:hover {
  border-color: rgba(148, 163, 184, 0.38);
}
.table-wrap {
  position: relative;
}
.table-wrap::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(59,130,246,0.30), rgba(255,255,255,0));
}
.table-header {
  display: grid;
  gap: 4px;
}
th {
  position: sticky;
  top: 0;
  z-index: 1;
}
input, select, textarea {
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}
input::placeholder,
textarea::placeholder { color: #94a3b8; }
button, .button {
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease;
}
button:hover, .button:hover { filter: saturate(1.02); }
button:active, .button:active { transform: translateY(0); }
.button.secondary:hover, button.secondary:hover {
  background: #e5ebf3;
}
.check-row {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fbfdff;
}
.empty-state-box,
.empty-state.small {
  background-image: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(248,250,252,0.96));
}
.filters-inline {
  border-bottom: 1px solid rgba(226,232,240,0.9);
  padding-bottom: 16px;
  margin-bottom: 2px;
}
.filters-form {
  align-items: end;
}
.filters-form > * {
  flex: 1 1 180px;
}
.filters-form .button,
.filters-form button {
  flex: 0 0 auto;
}
.actions-inline .button,
.actions-inline button {
  min-height: 44px;
}
.tab-link {
  transition: .18s ease;
}
.tab-link:hover {
  border-color: #bfdbfe;
  color: var(--primary-strong);
  background: #f8fbff;
}
.simple-list-item,
.unit-item,
.finance-summary-box,
.mini-stat,
.summary-tile {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}
.status,
.status-badge,
.status-chip,
.priority-badge,
.status-task,
.permission-pill,
.pill {
  white-space: nowrap;
}
.table-link,
table a {
  font-weight: 700;
}
.login-shell {
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(14, 165, 233, 0.14), transparent 30%),
    linear-gradient(135deg, #eff6ff, #f8fafc);
}
.login-layout {
  width: 100%;
  max-width: 1080px;
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(320px, 0.95fr);
  gap: 24px;
  align-items: stretch;
}
.login-aside {
  padding: 34px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(15,23,42,0.96), rgba(30,41,59,0.96));
  color: #e2e8f0;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 28px 60px rgba(15,23,42,0.20);
  display: grid;
  gap: 24px;
}
.login-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #93c5fd;
}
.login-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}
.login-aside h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -.04em;
  color: #fff;
}
.login-aside p {
  margin: 0;
  line-height: 1.7;
  color: #cbd5e1;
}
.login-feature-list {
  display: grid;
  gap: 12px;
}
.login-feature-item {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
.login-feature-item strong { color: #fff; font-size: 15px; }
.login-feature-item span { color: #cbd5e1; font-size: 14px; line-height: 1.55; }
.login-card {
  max-width: none;
  padding: 32px;
  display: grid;
  gap: 20px;
}
.login-card-header {
  display: grid;
  gap: 8px;
}
.login-form-grid {
  display: grid;
  gap: 16px;
}
.login-form-grid .field {
  display: grid;
  gap: 8px;
}
.login-card .alert {
  margin-bottom: 0;
}
.login-submit {
  width: 100%;
  min-height: 48px;
}
.login-demo {
  margin-top: 0;
  border: 1px solid #bfdbfe;
}
@media (max-width: 1180px) {
  .login-layout {
    max-width: 880px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px) {
  .content-inner { max-width: none; }
  .page-header h1 { max-width: none; }
}
@media (max-width: 640px) {
  .mobile-topbar {
    padding: 12px;
  }
  .mobile-menu-toggle {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .login-shell {
    padding: 14px;
  }
  .login-layout {
    gap: 16px;
  }
  .login-aside,
  .login-card {
    padding: 22px 18px;
    border-radius: 22px;
  }
  .login-aside h2 {
    font-size: 28px;
  }
}


/* Camada 3 — redesign claro, leve e responsivo */
:root {
  --bg: #f8fafc;
  --bg-elevated: #ffffff;
  --bg-soft: #f8fbff;
  --text: #0f172a;
  --muted: #64748b;
  --border: #e2e8f0;
  --border-strong: #d6e0ea;
  --primary: #2563eb;
  --primary-soft: #eff6ff;
  --primary-strong: #1d4ed8;
  --nav-bg: #ffffff;
  --nav-surface: #f8fafc;
  --nav-border: #e2e8f0;
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 18px 46px rgba(15, 23, 42, 0.08);
  --sidebar-width: 304px;
}

body {
  background:
    radial-gradient(circle at top left, rgba(59,130,246,0.08), transparent 24%),
    linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
  color: var(--text);
}

.sidebar {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #0f172a;
  border-right: 1px solid var(--nav-border);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.6) inset;
}

.brand-panel {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  border: 1px solid #dbeafe;
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset;
}

.brand { color: #0f172a; }
.brand-subtitle { color: #64748b; }
.menu-section-title { color: #2563eb; }
.menu a,
.menu-disabled {
  background: #ffffff;
  border-color: var(--nav-border);
}
.menu a { color: #334155; }
.menu a::after { color: #94a3b8; }
.menu a:hover {
  background: #f8fbff;
  border-color: #bfdbfe;
  color: #0f172a;
  transform: none;
}
.menu a.active {
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  border-color: #93c5fd;
  color: #1d4ed8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}
.menu a.active::after { color: #2563eb; }
.menu-disabled { color: #94a3b8; }
.menu-disabled small { color: #94a3b8; }
.user-badge,
.permission-badge {
  background: #ffffff;
  border: 1px solid var(--nav-border);
  color: #475569;
}
.user-badge span,
.permission-badge { color: #64748b; }
.logout-link {
  background: #0f172a;
  color: #ffffff;
  border-color: #0f172a;
}
.logout-link:hover { background: #1e293b; }

.content {
  padding: 26px 28px 34px;
}
.content-inner {
  max-width: 1440px;
}

.page-header {
  background: #ffffff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
}
.page-header::after {
  content: "";
  position: absolute;
  inset: auto -46px -60px auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.08), transparent 68%);
  pointer-events: none;
}
.page-header h1,
.dashboard-hero h2,
.section-heading h3,
.dashboard-section-title h3,
.shortcut-top strong,
.table-header h3,
.card h3,
.login-title,
.login-aside h2 {
  color: #0f172a;
}
.page-header p,
.dashboard-hero p,
.section-heading p,
.table-header p,
.shortcut-card p,
.muted,
.brand-subtitle {
  color: #64748b;
}
.pill {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.card,
.table-wrap,
.shortcut-card,
.mini-card,
.task-item,
.timeline-content,
.last-evolution-box,
.simple-list-item,
.unit-item,
.finance-summary-box,
.login-card,
.login-aside {
  background: #ffffff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(8px);
  backdrop-filter: none;
}
.card:hover,
.table-wrap:hover,
.shortcut-card:hover {
  box-shadow: 0 14px 34px rgba(15,23,42,0.07);
  border-color: #d7e3f0;
}
.kpi-card::after {
  background: radial-gradient(circle, rgba(59,130,246,0.08), transparent 66%);
}
.kpi-highlight {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  border-color: #bfdbfe;
}

.dashboard-hero {
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 58%);
  border-color: #dbeafe;
}
.dashboard-hero-meta div,
.mini-stats div,
.finance-summary-box,
.simple-list-item,
.unit-item,
.mini-stat,
.summary-tile,
.task-item,
.observacoes-box {
  background: #fbfdff;
  border-color: #e2e8f0;
}
.table-wrap::before {
  background: linear-gradient(90deg, rgba(37,99,235,0.12), rgba(255,255,255,0));
}
th {
  background: #f8fafc;
  color: #475569;
}
tr:hover td { background: #fcfdff; }

input,
select,
textarea {
  background: #ffffff;
  border-color: #dbe3ec;
  color: #0f172a;
}
input:focus,
select:focus,
textarea:focus {
  border-color: #93c5fd;
  box-shadow: 0 0 0 4px rgba(37,99,235,0.10);
}
.check-row {
  background: #ffffff;
}
button,
.button {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 10px 24px rgba(37,99,235,0.18);
}
.button.secondary,
button.secondary {
  background: #ffffff;
  color: #334155;
  border: 1px solid #dbe3ec;
}
.button.secondary:hover,
button.secondary:hover {
  background: #f8fafc;
}

.mobile-topbar {
  background: rgba(255,255,255,0.96);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}
.mobile-menu-toggle {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(37,99,235,0.18);
}
.mobile-menu-toggle:hover { filter: brightness(1.03); }
.sidebar-overlay {
  background: rgba(15, 23, 42, 0.08);
}
[hidden] { display: none !important; }

.login-shell {
  background:
    radial-gradient(circle at top left, rgba(59,130,246,0.10), transparent 24%),
    radial-gradient(circle at bottom right, rgba(14,165,233,0.08), transparent 24%),
    linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
}
.login-aside {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  color: #0f172a;
  border: 1px solid #dbeafe;
  box-shadow: var(--shadow-md);
}
.login-kicker { color: #2563eb; }
.login-aside h2 { color: #0f172a; }
.login-aside p,
.login-feature-item span { color: #64748b; }
.login-feature-item {
  background: #ffffff;
  border: 1px solid var(--border);
}
.login-feature-item strong { color: #0f172a; }

.table-wrap,
.card { overflow: hidden; }
.filters-inline {
  border-bottom-color: #e5edf5;
}
.tab-link {
  background: #ffffff;
  border-color: #dbe3ec;
}
.tab-link:hover {
  background: #f8fbff;
}

/* Melhorias de densidade e alinhamento */
.section-heading { display: grid; gap: 6px; }
.page-section,
.dashboard-stack { gap: 20px; }
.shortcut-card small { color: #1e293b; }
.finance-summary-title,
.page-eyebrow { color: #2563eb; }
.empty-state.small,
.empty-state-box {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* Responsivo refinado */
@media (max-width: 1280px) {
  .content-inner { max-width: none; }
}
@media (max-width: 980px) {
  .sidebar {
    width: min(88vw, 318px);
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(15,23,42,0.12);
  }
  .content {
    padding: 18px 16px 26px;
  }
  .page-header,
  .dashboard-hero {
    border-radius: 20px;
  }
}
@media (max-width: 860px) {
  .content {
    padding: 16px 14px 24px;
  }
  .page-header {
    padding: 18px 16px;
  }
  .page-header h1,
  .dashboard-hero h2,
  .residente-nome,
  .login-title { font-size: 26px; }
  .stat-number,
  .dashboard-hero-meta strong,
  .mini-stat strong,
  .summary-tile strong { font-size: 26px; }
  table { min-width: 620px; }
}
@media (max-width: 640px) {
  body {
    background: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
  }
  .mobile-topbar {
    padding: 12px 14px;
  }
  .content {
    padding: 14px 12px 20px;
  }
  .page-header,
  .card,
  .table-wrap,
  .shortcut-card,
  .compact-panel,
  .login-card,
  .login-aside {
    border-radius: 18px;
  }
  .page-header h1,
  .dashboard-hero h2,
  .residente-nome,
  .login-title { font-size: 24px; }
  .page-header p,
  .dashboard-hero p,
  .section-heading p,
  .shortcut-card p,
  .login-aside p,
  .login-feature-item span { font-size: 14px; }
  .shortcut-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .shortcut-top span {
    align-self: flex-start;
  }
  .dashboard-hero-meta div,
  .mini-stats div,
  .finance-summary-box,
  .simple-list-item,
  .unit-item,
  .mini-stat,
  .summary-tile,
  .task-item { padding: 14px; }
}


/* ===== Camada 4 · redesign cirúrgico por módulo ===== */
.content-inner {
  max-width: 1480px;
  margin: 0 auto;
}
.page-shell { display: grid; gap: 22px; }
.page-shell-tight { gap: 18px; }

.module-hero {
  position: relative;
  overflow: hidden;
  padding: 26px 28px;
  border-radius: 28px;
  border: 1px solid rgba(191,219,254,0.95);
  background:
    radial-gradient(circle at top right, rgba(37,99,235,0.12), transparent 28%),
    linear-gradient(135deg, #f8fbff 0%, #ffffff 55%, #f9fbff 100%);
  box-shadow: 0 20px 44px rgba(15,23,42,0.06);
}
.module-hero::after {
  content: "";
  position: absolute;
  inset: auto -80px -90px auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37,99,235,0.10), transparent 68%);
  pointer-events: none;
}
.module-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
  gap: 18px;
  align-items: stretch;
}
.module-hero-content { position: relative; z-index: 1; }
.module-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.module-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}
.module-hero h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1.02;
  letter-spacing: -.035em;
  color: #0f172a;
}
.module-hero p {
  margin: 12px 0 0;
  max-width: 760px;
  color: #475569;
  font-size: 15px;
  line-height: 1.7;
}
.module-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.module-stat-band {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  align-content: start;
}
.module-stat {
  padding: 16px 16px 14px;
  border-radius: 20px;
  background: rgba(255,255,255,0.85);
  border: 1px solid #dbeafe;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
}
.module-stat span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.module-stat strong {
  display: block;
  margin-top: 8px;
  font-size: 30px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.module-stat small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  line-height: 1.5;
}
.module-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.module-toolbar .summary-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.summary-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  border: 1px solid #dbe3ec;
  font-size: 12px;
  font-weight: 700;
}
.page-dashboard .dashboard-kpis,
.page-financeiro .kpis,
.page-comandas .kpis,
.page-links_pagamento .kpis,
.page-responsaveis .kpis {
  margin-top: -6px;
}
.page-dashboard .kpi-card,
.page-financeiro .kpi-card,
.page-comandas .kpi-card,
.page-links_pagamento .kpi-card,
.page-responsaveis .kpi-card {
  min-height: 168px;
  padding: 20px;
}
.page-dashboard .shortcut-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.page-dashboard .dashboard-panels { margin-top: 2px; }
.page-residentes .residente-form-shell,
.page-residentes .grid,
.page-responsaveis .grid,
.page-financeiro .grid,
.page-comandas .grid,
.page-contratos .grid,
.page-links_pagamento .grid {
  gap: 22px;
}
.page-residentes .residente-form-card,
.page-financeiro .page-section,
.page-comandas .page-section,
.page-contratos .page-section {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #e2e8f0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}
.page-residentes .residente-anchor-nav {
  padding: 12px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
}
.page-residentes .residente-toolbar {
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #e2e8f0;
}
.page-residentes .residente-info-list,
.page-financeiro .summary-grid,
.page-links_pagamento .summary-grid {
  gap: 12px;
}
.page-residentes .residente-list-name strong,
.page-responsaveis td strong,
.page-financeiro td strong,
.page-comandas td strong,
.page-contratos td strong,
.page-links_pagamento td strong {
  color: #0f172a;
}
.page-financeiro .summary-tile,
.page-links_pagamento .summary-tile {
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page-financeiro .table-wrap,
.page-comandas .table-wrap,
.page-contratos .table-wrap,
.page-links_pagamento .table-wrap,
.page-responsaveis .table-wrap {
  border-radius: 24px;
}
.page-financeiro .actions-inline .button,
.page-comandas .actions-inline .button,
.page-contratos .actions-inline .button,
.page-links_pagamento .actions-inline .button {
  min-height: 44px;
}
.page-comandas .mini-card {
  border-radius: 18px;
  border: 1px solid #dbeafe;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.page-comandas .form-grid-3[style*="background:#f8fafc"] {
  background: linear-gradient(180deg, #fbfdff 0%, #ffffff 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
}
.page-links_pagamento .alert-warning {
  box-shadow: none;
}
.page-contratos .actions-inline form select {
  min-width: 138px;
}
.metric-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.metric-inline .metric-box {
  min-width: 160px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #dbe3ec;
}
.metric-inline .metric-box span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}
.metric-inline .metric-box strong {
  display: block;
  margin-top: 6px;
  font-size: 22px;
  color: #0f172a;
}
@media (max-width: 1180px) {
  .module-hero-grid,
  .page-dashboard .shortcut-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 860px) {
  .module-hero {
    padding: 22px 18px;
    border-radius: 22px;
  }
  .module-hero h2 { font-size: 28px; }
  .module-stat-band { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .module-hero-grid,
  .module-stat-band,
  .page-dashboard .shortcut-grid {
    grid-template-columns: 1fr;
  }
  .module-hero {
    padding: 18px 16px;
    border-radius: 20px;
  }
  .module-hero h2 { font-size: 24px; }
  .module-hero p { font-size: 14px; }
  .module-stat strong { font-size: 26px; }
  .module-toolbar { align-items: stretch; }
  .module-toolbar .summary-pills { width: 100%; }
  .summary-chip { width: 100%; justify-content: center; }
}


.content-inner {
  animation: fadePage .28s ease;
}
@keyframes fadePage {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.card,
.table-wrap,
.page-header,
.menu a,
button, .button,
input, select, textarea {
  will-change: transform;
}
.card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(15,23,42,0.08);
  border-color: rgba(147,197,253,0.35);
}
.table-wrap {
  transition: box-shadow .18s ease, border-color .18s ease;
}
.table-wrap:hover {
  box-shadow: 0 18px 38px rgba(15,23,42,0.07);
}
button, .button {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
button:hover, .button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(37,99,235,0.20);
}
button:active, .button:active {
  transform: translateY(0) scale(.985);
}
.button.secondary:hover, button.secondary:hover {
  box-shadow: 0 10px 20px rgba(15,23,42,0.06);
}
.table-wrap table tbody tr {
  transition: background .14s ease;
}
.table-wrap table tbody tr:hover td {
  background: #f8fbff;
}
.status, .permission-pill, .pill {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}
.quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.quick-action {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border: 1px solid rgba(199,211,228,0.72);
  box-shadow: var(--shadow-sm);
}
.quick-action strong {
  font-size: 15px;
}
.quick-action span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.form-actions-sticky {
  position: sticky;
  bottom: 16px;
  z-index: 5;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(199,211,228,0.72);
  box-shadow: 0 18px 40px rgba(15,23,42,0.10);
  backdrop-filter: blur(12px);
}
.sidebar-overlay {
  background: rgba(15, 23, 42, 0.26);
  backdrop-filter: blur(2px);
}
.mobile-topbar {
  background: rgba(255,255,255,0.92);
  border-bottom: 1px solid rgba(199,211,228,0.72);
  backdrop-filter: blur(10px);
}
.mobile-menu-toggle {
  box-shadow: 0 12px 26px rgba(37,99,235,0.22);
}
body.sidebar-open {
  overflow: hidden;
}
[data-loading],
.is-loading {
  pointer-events: none;
  opacity: .78;
  position: relative;
}
[data-loading]::after,
.is-loading::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.75);
  border-top-color: transparent;
  animation: spin360 .7s linear infinite;
}
.button.secondary[data-loading]::after,
button.secondary[data-loading]::after {
  border-color: rgba(15,23,42,0.35);
  border-top-color: transparent;
}
@keyframes spin360 {
  to { transform: rotate(360deg); }
}
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
@media (max-width: 980px) {
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(86vw, 320px);
    height: 100vh;
    transform: translateX(-104%);
    transition: transform .22s ease;
    z-index: 40;
  }
  .sidebar.is-open {
    transform: translateX(0);
  }
  .sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 30;
  }
  .layout {
    display: block;
  }
  .content {
    padding-top: 96px;
  }
}
@media (max-width: 860px) {
  .quick-actions,
  .hub-counter-grid,
  .summary-grid {
    grid-template-columns: 1fr;
  }
}


/* Dashboard final professional redesign */
.dashboard-product-page { display: grid; gap: 22px; }
.dashboard-product-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
}
.dashboard-product-header-main h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.035em;
}
.dashboard-product-header-main p {
  margin: 10px 0 0;
  color: var(--muted);
  max-width: 760px;
  line-height: 1.7;
}
.dashboard-product-header-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 14px;
  min-width: 320px;
}
.dashboard-mini-kpi {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #f8fbff, #ffffff);
}
.dashboard-mini-kpi span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.dashboard-mini-kpi strong {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  letter-spacing: -.03em;
}
.dashboard-kpis-primary .kpi-card,
.dashboard-kpis-secondary .kpi-card {
  min-height: 148px;
}
.kpi-primary {
  border-color: rgba(37,99,235,0.26);
  background: linear-gradient(180deg, rgba(239,246,255,0.95), rgba(255,255,255,0.98));
}
.dashboard-overview-panels { align-items: stretch; }
.dashboard-overview-card { display: grid; gap: 18px; }
.dashboard-overview-accent {
  background: linear-gradient(180deg, rgba(248,251,255,0.98), rgba(255,255,255,0.96));
  border-color: rgba(37,99,235,0.20);
}
.dashboard-overview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.dashboard-overview-head h3 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.02em;
}
.overview-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary-strong);
  font-size: 12px;
  font-weight: 700;
  border: 1px solid #bfdbfe;
  white-space: nowrap;
}
.dashboard-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-finance-summary { gap: 12px; }
.compact-finance-summary .finance-summary-box strong { font-size: 20px; }
.dashboard-panel .table-header p { max-width: 28ch; }
.dashboard-tables .table-wrap,
.dashboard-panels .card,
.dashboard-product-header,
.dashboard-overview-card,
.dashboard-kpis .kpi-card,
.shortcut-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-tables .table-wrap:hover,
.dashboard-panels .card:hover,
.dashboard-product-header:hover,
.dashboard-overview-card:hover,
.dashboard-kpis .kpi-card:hover,
.shortcut-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08);
}
.shortcut-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.93));
}
.dashboard-tables table tbody tr:hover td { background: #f8fbff; }
@media (max-width: 1180px) {
  .dashboard-product-header { flex-direction: column; align-items: stretch; }
  .dashboard-product-header-side { min-width: 0; }
}
@media (max-width: 780px) {
  .dashboard-product-header { padding: 22px; border-radius: 20px; }
  .dashboard-product-header-main h2 { font-size: 28px; }
  .dashboard-product-header-side,
  .dashboard-overview-stats { grid-template-columns: 1fr; }
}

/* WordPress premium final overrides */
:root {
  --bg: #f1f5f9;
  --bg-elevated: #ffffff;
  --bg-soft: #f8fafc;
  --border: #dbe4ee;
  --border-strong: #c7d2e0;
  --shadow-sm: 0 8px 24px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 18px 42px rgba(15, 23, 42, 0.08);
}
body {
  background: #f1f5f9;
}
.sidebar {
  background: linear-gradient(180deg, #0f172a 0%, #162033 100%);
}
.brand-panel,
.user-badge,
.permission-badge,
.logout-link,
.menu a,
.menu-disabled {
  backdrop-filter: none;
  box-shadow: none;
}
.menu a {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.06);
}
.menu a:hover {
  background: rgba(255,255,255,0.08);
}
.page-header,
.card,
.table-wrap {
  background: #ffffff;
  backdrop-filter: none;
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
}
.page-header {
  border-radius: 18px;
}
.card,
.table-wrap,
.dashboard-product-header,
.dashboard-overview-card,
.shortcut-card,
.dashboard-mini-kpi,
.finance-summary-box,
.dashboard-status-card,
.dashboard-wp-summary {
  border-radius: 14px;
}
.pill,
.overview-badge,
.summary-chip {
  font-size: 12px;
  font-weight: 700;
}
.page-dashboard-wp-premium {
  gap: 18px;
}
.dashboard-wp-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
}
.dashboard-wp-summary h2 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}
.dashboard-wp-summary p {
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 720px;
}
.dashboard-summary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.summary-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 12px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  white-space: nowrap;
}
.summary-chip strong {
  color: #0f172a;
}
.dashboard-kpis .kpi-card,
.dashboard-status-card,
.shortcut-card,
.dashboard-panel,
.dashboard-tables .table-wrap {
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.dashboard-kpis .kpi-card:hover,
.dashboard-status-card:hover,
.shortcut-card:hover,
.dashboard-panel:hover,
.dashboard-tables .table-wrap:hover {
  transform: translateY(-2px);
  border-color: #bfd1e5;
  box-shadow: var(--shadow-md);
}
.kpi-primary {
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
  border-color: #cfe0fb;
}
.dashboard-status-row {
  align-items: stretch;
}
.dashboard-status-card {
  display: grid;
  gap: 16px;
}
.dashboard-status-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.dashboard-status-head h3 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -.02em;
}
.overview-badge {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.shortcut-card {
  background: #ffffff;
  border: 1px solid var(--border);
}
.shortcut-card p {
  color: var(--muted);
}
.dashboard-section-title {
  display: grid;
  gap: 4px;
  margin-top: 4px;
}
.dashboard-section-title h3 {
  margin: 0;
  font-size: 19px;
}
.dashboard-section-title p {
  margin: 0;
  color: var(--muted);
}
.dashboard-tables table tbody tr:hover td {
  background: #f8fafc;
}
@media (max-width: 1080px) {
  .dashboard-wp-summary {
    flex-direction: column;
  }
  .dashboard-summary-meta {
    justify-content: flex-start;
  }
}
@media (max-width: 780px) {
  .dashboard-wp-summary {
    padding: 18px;
  }
  .dashboard-wp-summary h2 {
    font-size: 24px;
  }
  .dashboard-summary-meta {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
}


/* =========================================================
   PATCH FINAL SEGURO — CONTRASTE E LEGIBILIDADE
   Colar no FINAL de app/assets/style.css
========================================================= */

/* 1) MENU LATERAL — texto sempre claro e visível */
.sidebar .menu a,
.sidebar .menu a:link,
.sidebar .menu a:visited {
  color: #dbe7f5 !important;
}

.sidebar .menu a:hover,
.sidebar .menu a:focus {
  color: #ffffff !important;
}

.sidebar .menu a.active,
.sidebar .menu a.active:link,
.sidebar .menu a.active:visited,
.sidebar .menu a.active:hover {
  color: #ffffff !important;
}

.sidebar .menu a::after,
.sidebar .menu a.active::after,
.sidebar .menu a:hover::after {
  color: inherit !important;
}

/* 2) MARCA / TEXTO DO TOPO DO MENU */
.brand,
.brand-subtitle,
.user-badge strong,
.user-badge span,
.permission-badge,
.logout-link {
  color: #ffffff !important;
}

/* 3) BOTÕES PADRÃO — texto sempre branco nos botões fortes */
button,
.button,
input[type="submit"],
input[type="button"] {
  color: #ffffff;
}

button *,
.button *,
input[type="submit"] *,
input[type="button"] * {
  color: inherit !important;
}

/* 4) BOTÃO SECUNDÁRIO — texto escuro */
.button.secondary,
button.secondary {
  color: #0f172a !important;
}

.button.secondary *,
button.secondary * {
  color: inherit !important;
}

/* 5) BOTÃO DANGER — texto branco */
.button.danger,
button.danger {
  color: #ffffff !important;
}

.button.danger *,
button.danger * {
  color: inherit !important;
}

/* 6) PILLS / CHIPS / BADGES CLAROS */
.pill,
.summary-chip,
.overview-badge,
.permission-pill,
.status-chip.neutral,
.status-badge.muted {
  color: #1d4ed8 !important;
}

.pill strong,
.summary-chip strong,
.overview-badge strong,
.permission-pill strong {
  color: inherit !important;
}

/* 7) PILLS ESCUROS OU DE STATUS — manter boa leitura */
.status-chip.success,
.status-chip.warning,
.status-badge.success,
.status-badge.warning,
.status-task.pending,
.status-task.progress,
.status-task.done,
.priority-badge.low,
.priority-badge.medium,
.priority-badge.high,
.status.ativo,
.status.livre,
.status.recebido,
.status.pago,
.status.ocupado,
.status.pendente,
.status.rascunho,
.status.vencido,
.status.cancelado,
.status.inativo,
.status.encerrado,
.status.pre_cadastro {
  font-weight: 800;
}

/* 8) BOTÕES/ATALHOS NO TOPO DO DASHBOARD */
.header-actions .pill,
.dashboard-summary-meta .summary-chip,
.module-hero-actions .pill {
  color: #1d4ed8 !important;
}

/* 9) LINKS DE AÇÃO DENTRO DE TABELA */
.table-link,
table a {
  color: #0f172a;
}

.table-link:hover,
table a:hover {
  color: #2563eb;
}

/* 10) MENU MOBILE — ícone visível */
.mobile-menu-toggle,
.mobile-menu-toggle span {
  color: #ffffff !important;
}

/* 11) GARANTIA EXTRA DE CONTRASTE NOS BOTÕES AZUIS */
button:not(.secondary):not(.danger),
.button:not(.secondary):not(.danger) {
  color: #ffffff !important;
}

/* 12) EVITA HERANÇA ERRADA DE LINKS GLOBAIS DENTRO DE BOTÕES */
button a,
.button a {
  color: inherit !important;
}

.brand,
.brand-subtitle,
.user-badge strong,
.user-badge span,
.permission-badge,
.logout-link {
  color: #ffffff !important;
}

.sidebar .brand-panel {
  box-shadow: 0 10px 24px rgba(0,0,0,0.10) !important;
  border-radius: 18px !important;
}
/* ===== Fechamento comercial · centro de decisão ===== */
.decisao-shell {
  display: grid;
  gap: 18px;
  border: 1px solid #dbe4ee;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.decisao-header {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 18px;
}
.decisao-header h3 {
  margin: 0;
  font-size: 28px;
  letter-spacing: -.03em;
}
.decisao-header p {
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 760px;
  line-height: 1.65;
}
.score-card {
  min-width: 200px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  box-shadow: var(--shadow-sm);
  display: grid;
  align-content: center;
  gap: 4px;
}
.score-card span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #64748b;
  font-weight: 700;
}
.score-card strong {
  font-size: 40px;
  line-height: 1;
  letter-spacing: -.04em;
  color: #0f172a;
}
.score-card small {
  font-size: 14px;
  font-weight: 700;
}
.score-card.score-estavel { border-color: #86efac; background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%); }
.score-card.score-estavel small { color: #166534; }
.score-card.score-atencao { border-color: #fde68a; background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%); }
.score-card.score-atencao small { color: #a16207; }
.score-card.score-critico,
.score-card.score-colapso { border-color: #fca5a5; background: linear-gradient(180deg, #fef2f2 0%, #ffffff 100%); }
.score-card.score-critico small,
.score-card.score-colapso small { color: #b91c1c; }
.decisao-kpis {
  gap: 14px;
}
.decisao-kpi {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
}
.decisao-kpi span {
  display: block;
  color: #64748b;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
}
.decisao-kpi strong {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  letter-spacing: -.03em;
  color: #0f172a;
}
.prioridade-grid {
  align-items: stretch;
}
.prioridade-card {
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  display: grid;
  gap: 14px;
}
.prioridade-imediata { border-color: #fecaca; background: linear-gradient(180deg, #fff7f7 0%, #ffffff 100%); }
.prioridade-atencao { border-color: #fde68a; background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%); }
.prioridade-financeira { border-color: #bfdbfe; background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); }
.prioridade-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.prioridade-head h4 {
  margin: 0;
  font-size: 18px;
}
.prioridade-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,0.85);
  border: 1px solid #dbe4ee;
  color: #334155;
  white-space: nowrap;
}
.prioridade-list {
  display: grid;
  gap: 10px;
}
.prioridade-item {
  padding: 14px 15px;
  border-radius: 14px;
  background: rgba(255,255,255,0.9);
  border: 1px solid #e5edf5;
}
.prioridade-item strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
}
.prioridade-item p {
  margin: 6px 0 0;
  color: #64748b;
  line-height: 1.55;
  font-size: 13px;
}
.prioridade-empty {
  padding: 16px;
  border-radius: 14px;
  border: 1px dashed #dbe4ee;
  color: #64748b;
  background: rgba(255,255,255,0.7);
}

/* ===== Fechamento comercial · mobile limpo ===== */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none;
    opacity: 0;
    pointer-events: none;
    background: rgba(15, 23, 42, 0.22);
    backdrop-filter: none;
  }
  body.sidebar-open .sidebar-overlay {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }
  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section {
    filter: none !important;
    backdrop-filter: none !important;
  }
  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .decisao-shell,
  .prioridade-card,
  .score-card {
    background: #ffffff !important;
    backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }
  .page-header::after,
  .module-hero::after,
  .page-header::before,
  .module-hero::before {
    display: none !important;
  }
  body {
    background: #f4f7fb !important;
  }
  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }
  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }
  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome,
  .decisao-header h3 {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }
  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted,
  .prioridade-item p {
    color: #64748b !important;
    opacity: 1 !important;
  }
  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
  }
  .kpi-card,
  .dashboard-mini-kpi,
  .mini-stat,
  .summary-tile,
  .decisao-kpi {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  }
  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }
  .decisao-header,
  .dashboard-wp-summary,
  .dashboard-summary-meta,
  .prioridade-grid,
  .decisao-kpis {
    grid-template-columns: 1fr !important;
    display: grid;
  }
  .dashboard-summary-meta {
    gap: 10px;
  }
}


/* ===== Revisão final visual para hospedagem ===== */
.sidebar .brand-panel {
  background: #ffffff !important;
  border: 1px solid #dbe4ee !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10) !important;
}
.sidebar .brand-panel .brand,
.sidebar .brand-panel .brand-subtitle,
.sidebar .brand-panel strong,
.sidebar .brand-panel span,
.sidebar .brand-panel p,
.sidebar .brand-panel small {
  color: #0f172a !important;
}
.sidebar .menu a,
.sidebar .menu a:link,
.sidebar .menu a:visited {
  color: #e5eefc !important;
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
.sidebar .menu a:hover,
.sidebar .menu a:focus {
  color: #ffffff !important;
  background: rgba(255,255,255,0.11) !important;
  border-color: rgba(147,197,253,0.30) !important;
}
.sidebar .menu a.active,
.sidebar .menu a.active:link,
.sidebar .menu a.active:visited,
.sidebar .menu a.active:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color: rgba(147,197,253,0.45) !important;
  box-shadow: 0 10px 22px rgba(37,99,235,0.28) !important;
}
.sidebar .menu a::after,
.sidebar .menu a.active::after { color: inherit !important; }
.user-badge, .permission-badge {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.10) !important;
}
.user-badge strong, .user-badge span, .permission-badge, .logout-link {
  color: #e5eefc !important;
}

/* Painel de enfermagem */
.enfermagem-executive-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.enf-kpi-card { padding: 20px; border-radius: 18px; background: #ffffff; border:1px solid #dbe4ee; box-shadow: var(--shadow-sm); display:grid; gap:8px; }
.enf-kpi-card span { font-size: 12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#64748b; }
.enf-kpi-card strong { font-size: 34px; letter-spacing:-.03em; color:#0f172a; }
.enf-kpi-card small { color:#475569; line-height:1.45; }
.enf-kpi-card.variant-danger { background: linear-gradient(180deg, #fff7f7, #ffffff); border-color: #fecaca; }
.enf-kpi-card.variant-success, .enf-kpi-card.variant-success-soft { background: linear-gradient(180deg, #f1fcf6, #ffffff); border-color: #bbf7d0; }
.enf-kpi-card.variant-primary, .enf-kpi-card.variant-accent { background: linear-gradient(180deg, #eff6ff, #ffffff); border-color: #bfdbfe; }
.enf-kpi-card.variant-neutral { background: linear-gradient(180deg, #f8fafc, #ffffff); }
.enf-shift-card, .enf-panel-card { min-height: 100%; }
.enf-critical-item { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:16px 18px; border:1px solid var(--border); border-radius:18px; background:#fcfdff; }
.enf-critical-item strong { font-size:17px; color:var(--text); }
.enf-critical-side { display:grid; gap:8px; justify-items:end; }
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.enf-table-tight th, .enf-table-tight td { white-space: nowrap; }
.enf-task-item { display:grid; gap:14px; }
.enf-task-item.is-overdue { border-color:#fecaca; background:linear-gradient(180deg,#fff8f8,#ffffff); }
.enf-task-meta-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
@media (max-width: 1080px) { .enfermagem-executive-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 860px) { .enfermagem-executive-grid { grid-template-columns: 1fr; } .enf-task-meta-grid { grid-template-columns:1fr; } .enf-critical-item { flex-direction:column; } .enf-critical-side { justify-items:start; } }


/* ===== Revisão final do menu lateral: submenu por hover no desktop ===== */
.sidebar-inner {
  gap: 18px;
}

.menu-section {
  display: grid;
  gap: 10px;
}

.menu-section-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 10px;
  margin: 0;
  border-radius: 12px;
  cursor: default;
  transition: color .18s ease, background .18s ease, border-color .18s ease;
}

.menu-section-title::after {
  content: "›";
  font-size: 16px;
  line-height: 1;
  color: rgba(147,197,253,0.8);
  transition: transform .18s ease, color .18s ease;
}

.menu-section:hover .menu-section-title,
.menu-section:focus-within .menu-section-title,
.menu-section.is-current .menu-section-title {
  color: #bfdbfe;
  background: rgba(255,255,255,0.03);
}

.menu-section:hover .menu-section-title::after,
.menu-section:focus-within .menu-section-title::after,
.menu-section.is-current .menu-section-title::after {
  color: #ffffff;
  transform: rotate(90deg);
}

@media (min-width: 981px) {
  .menu-section .menu {
    display: grid;
    gap: 8px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transition: max-height .22s ease, opacity .18s ease, transform .18s ease;
  }

  .menu-section:hover .menu,
  .menu-section:focus-within .menu,
  .menu-section.is-current .menu {
    max-height: 420px;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

@media (max-width: 980px) {
  .menu-section .menu {
    display: grid;
    gap: 8px;
  }

  .menu-section-title {
    min-height: 34px;
    padding: 0 6px;
  }

  .menu-section-title::after {
    display: none;
  }
}

.priority-now-panel {
  border: 1px solid #dbe4ee;
  background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%);
}
.priority-now-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.priority-now-card {
  border-radius: 16px;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  padding: 16px;
  display: grid;
  gap: 12px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.priority-now-card.level-urgente {
  border-color: #fecaca;
  background: linear-gradient(180deg, #fff1f2 0%, #ffffff 100%);
}
.priority-now-card.level-critico {
  border-color: #fdba74;
  background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
}
.priority-now-card.level-atencao {
  border-color: #fde68a;
  background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%);
}
.priority-now-card.level-estavel {
  border-color: #bbf7d0;
  background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%);
}
.priority-now-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.priority-now-head strong {
  display: block;
  font-size: 16px;
  color: #0f172a;
}
.priority-now-head small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  line-height: 1.4;
}
.priority-now-body {
  display: grid;
  gap: 10px;
}
.priority-now-body div {
  display: grid;
  gap: 3px;
}
.priority-now-body span {
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}
.priority-now-body strong {
  font-size: 14px;
  color: #0f172a;
  line-height: 1.4;
}
@media (max-width: 980px) {
  .priority-now-grid {
    grid-template-columns: 1fr;
  }
}


.priority-now-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.priority-now-action-reason {
  color: #475569;
  line-height: 1.45;
  margin-top: 2px;
}
.priority-now-actions {
  display: flex;
  align-items: center;
}
.priority-action-button {
  width: 100%;
  justify-content: center;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10);
}
.priority-now-card.level-urgente .priority-action-button {
  background: #dc2626;
  border-color: #dc2626;
  color: #fff;
}
.priority-now-card.level-critico .priority-action-button {
  background: #ea580c;
  border-color: #ea580c;
  color: #fff;
}
.priority-now-card.level-atencao .priority-action-button {
  background: #ca8a04;
  border-color: #ca8a04;
  color: #fff;
}
.priority-now-card.level-estavel .priority-action-button {
  background: #15803d;
  border-color: #15803d;
  color: #fff;
}
@media (max-width: 980px) {
  .priority-now-meta-grid {
    grid-template-columns: 1fr;
  }
}


.priority-now-body .priority-now-action-reason {
  margin: 0;
}

/* ===== ENTERPRISE MOTOR DE DECISÃO FINAL ===== */
.menu-group {
  margin-bottom: 10px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.18);
  overflow: hidden;
}

.menu-group-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 0;
  background: transparent;
  color: #e2e8f0;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 14px 16px;
  cursor: pointer;
}

.menu-group-icon {
  transition: transform .18s ease;
}

.menu-submenu {
  display: none;
  padding: 0 10px 12px;
}

.menu-group:hover .menu-submenu,
.menu-group:focus-within .menu-submenu,
.menu-group.is-current .menu-submenu,
.menu-group.is-open .menu-submenu {
  display: grid;
}

.menu-group:hover .menu-group-icon,
.menu-group:focus-within .menu-group-icon,
.menu-group.is-open .menu-group-icon,
.menu-group.is-current .menu-group-icon {
  transform: rotate(180deg);
}

.menu-submenu a,
.menu-submenu .menu-disabled {
  border-radius: 12px;
}

.row-overdue td {
  background: rgba(254, 242, 242, 0.92);
}

.priority-now-card.level-critico,
.priority-now-card.level-alto,
.priority-now-card.level-critico .priority-now-head,
.priority-now-card.level-alto .priority-now-head {
  border-color: rgba(239, 68, 68, 0.35);
}

@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.26) !important;
    backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .mobile-topbar,
  .page-header,
  .card,
  .table-wrap,
  .module-hero,
  .kpi-card,
  .summary-tile,
  .priority-now-card,
  .mini-card,
  .simple-list-item {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
  }

  .content {
    padding-top: 88px !important;
  }

  .page-header,
  .card,
  .table-wrap,
  .module-hero,
  .kpi-card,
  .summary-tile,
  .priority-now-card,
  .mini-card,
  .simple-list-item,
  .menu-group {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
  }

  .brand-panel,
  .sidebar,
  .sidebar-inner,
  .sidebar-footer {
    backdrop-filter: none !important;
  }

  .menu-group-trigger,
  .menu a,
  .menu-disabled,
  .brand,
  .brand-subtitle,
  .sidebar-footer,
  .user-badge strong,
  .user-badge span,
  .menu-section-title {
    color: #0f172a !important;
  }

  .menu-submenu {
    display: none;
  }

  .menu-group.is-current .menu-submenu,
  .menu-group.is-open .menu-submenu {
    display: grid;
  }
}


/* =========================================================
   AUTONOMIA TOTAL V1
========================================================= */
.next-action-system,
.forced-action-banner {
  border-left: 4px solid #dc2626;
}
.priority-now-panel .button,
.next-action-system .button,
.forced-action-banner .button {
  min-height: 44px;
}
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section {
    filter: none !important;
    backdrop-filter: none !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary {
    background: #ffffff !important;
    backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }

  .page-header::after,
  .module-hero::after,
  .page-header::before,
  .module-hero::before {
    display: none !important;
  }

  body {
    background: #f4f7fb !important;
  }

  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content {
    padding: 16px 12px 96px !important;
    padding-top: 92px !important;
  }

  .priority-action-button,
  .action-immediate-fixed,
  .next-action-system .button,
  .forced-action-banner .button {
    width: 100% !important;
    min-height: 56px !important;
    font-size: 16px !important;
    position: sticky;
    bottom: 10px;
  }

  body.page-enfermagem .content::after,
  body.page-dashboard .content::after {
    content: 'AÇÃO IMEDIATA';
    position: fixed;
    right: 14px;
    left: 14px;
    bottom: 12px;
    z-index: 1200;
    text-align: center;
    background: #dc2626;
    color: #fff;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    font-weight: 700;
    letter-spacing: .03em;
    pointer-events: none;
  }
}


/* ===== Refinamento total final ===== */
.decisao-unica-card { border-left: 5px solid #dc2626; }
.decisao-unica-grid { display:grid; grid-template-columns: 1.7fr 0.8fr; gap:24px; align-items:start; }
.decisao-unica-actions { display:grid; gap:12px; }
.action-immediate-button, .mobile-action-fixed {
  position: relative;
  min-height: 52px;
  font-size: 15px;
  font-weight: 800;
}
.prioridade-critica-shell { border-left: 5px solid #dc2626; }
.inline-form-grow { display:flex; gap:8px; flex:1; justify-content:flex-end; }
.inline-form-grow input[type="text"] { min-width: 180px; }
.menu-problem-badge {
  margin-left: auto;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  background: #dc2626;
  box-shadow: 0 4px 10px rgba(220,38,38,.28);
}
.menu-group-trigger { gap:10px; }
.menu-group.is-current .menu-group-trigger,
.menu-group:hover .menu-group-trigger { color:#fff; }
@media (max-width: 980px) {
  .decisao-unica-grid { grid-template-columns: 1fr; }
  .content { padding-bottom: 96px !important; }
  .action-immediate-button {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 60;
    box-shadow: 0 14px 32px rgba(37,99,235,.28);
  }
  .card,
  .table-wrap,
  .page-header,
  .mobile-topbar {
    backdrop-filter: none !important;
  }
  .sidebar-overlay {
    background: rgba(15,23,42,.22) !important;
    backdrop-filter: none !important;
  }
}

/* =========================================================
   BLOCO 2 UX OPERACIONAL
========================================================= */
.menu-group.has-issue .menu-group-trigger {
  border-color: rgba(248, 113, 113, 0.55);
  box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.18);
}
.menu-group.has-issue .menu-group-trigger span:first-child {
  color: #fee2e2;
}
.menu-group .menu-problem-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(239, 68, 68, 0.22);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.menu a.has-problem {
  border-color: rgba(248, 113, 113, 0.16);
}
.menu a.active.has-problem,
.menu-group.has-issue.is-current .menu-group-trigger {
  background: linear-gradient(180deg, rgba(220, 38, 38, 0.95), rgba(153, 27, 27, 0.98));
  border-color: rgba(254, 202, 202, 0.5);
  color: #fff;
}
.care-focus-shell {
  padding: 18px 18px 16px;
}
.care-focus-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.persistent-warning {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fee2e2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.care-columns-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.care-column {
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  background: #fff;
  min-height: 100%;
  padding: 12px;
}
.care-column.critical {
  border-color: #fecaca;
  background: #fff7f7;
}
.care-column.attention {
  border-color: #fde68a;
  background: #fffdf4;
}
.care-column.general {
  border-color: #dbe4ee;
}
.care-column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.care-column-head h4 {
  margin: 0;
  font-size: 14px;
  letter-spacing: .04em;
}
.care-column-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 800;
}
.compact-care-list {
  display: grid;
  gap: 8px;
}
.compact-care-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.compact-care-item.is-critical {
  border-color: #fca5a5;
  background: #fff1f2;
}
.compact-care-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.compact-care-main strong,
.compact-care-main span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compact-care-main span {
  font-size: 13px;
  color: #64748b;
}
.compact-care-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.care-chip {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 800;
}
.care-chip.danger {
  background: #fee2e2;
  color: #991b1b;
}
.compact-empty {
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b;
  font-size: 13px;
}
.button-sm {
  padding: 8px 12px;
  min-height: 36px;
}
.button-block {
  width: 100%;
  justify-content: center;
}
.mobile-clean-card {
  padding: 18px;
}
.care-action-stack,
.ignore-justify-form {
  display: grid;
  gap: 12px;
}
.care-action-summary,
.ignore-justify-summary {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.care-action-summary span,
.ignore-justify-summary span {
  color: #64748b;
  font-size: 13px;
}
.ignore-justify-form textarea {
  width: 100%;
  resize: vertical;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  padding: 12px 14px;
  font: inherit;
  color: var(--text);
  background: #fff;
}
.ignore-justify-form textarea:focus {
  outline: 2px solid rgba(37, 99, 235, 0.18);
  border-color: #93c5fd;
}
.action-immediate-button {
  min-height: 54px;
  font-size: 15px;
  font-weight: 800;
  width: 100%;
  justify-content: center;
}
.care-fixed-action-bar {
  position: fixed;
  left: calc(var(--sidebar-width) + 22px);
  right: 22px;
  bottom: 18px;
  z-index: 40;
  display: none;
}
.care-fixed-action-bar.is-visible {
  display: block;
}
.care-fixed-action-form {
  max-width: 440px;
  margin-left: auto;
}

@media (max-width: 980px) {
  body {
    background: #f4f7fb !important;
  }
  .page-header,
  .card,
  .table-wrap,
  .mobile-topbar,
  .page-section,
  .care-column,
  .compact-care-item,
  .care-action-summary,
  .ignore-justify-summary {
    backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
  }
  .content {
    padding: 12px 12px 110px !important;
    padding-top: 88px !important;
  }
  .page-header {
    padding: 18px 18px 16px !important;
    border-radius: 18px !important;
  }
  .page-header h1 {
    font-size: 24px !important;
  }
  .care-focus-header {
    grid-template-columns: 1fr;
    display: grid;
  }
  .care-columns-3 {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .care-column {
    padding: 10px;
    border-radius: 16px;
  }
  .compact-care-item {
    padding: 10px;
    align-items: flex-start;
    flex-direction: column;
  }
  .compact-care-meta {
    width: 100%;
    justify-content: flex-start;
  }
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .button,
  .action-immediate-button,
  .button-block {
    min-height: 52px;
    font-size: 15px;
  }
  .sidebar-overlay {
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }
  .care-fixed-action-bar {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .care-fixed-action-form {
    max-width: none;
    margin: 0;
  }
}


.dashboard-dominant-card { padding: 28px; }
.dashboard-dominant-grid { display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(280px, .7fr); gap:18px; align-items:stretch; }
.dashboard-dominant-main { display:grid; gap:14px; }
.dashboard-dominant-main h2 { margin:0; font-size:34px; line-height:1.02; }
.dashboard-dominant-problem { font-size:20px; font-weight:800; color:#0f172a; }
.dashboard-dominant-pill { display:inline-flex; width:max-content; padding:9px 14px; border-radius:999px; background:#dbeafe; color:#1d4ed8; font-weight:800; }
.dashboard-dominant-side { display:grid; gap:12px; align-content:start; }
.dashboard-insight-stack { display:grid; gap:10px; }
.dashboard-insight-box { border:1px solid #dbe4ee; border-radius:16px; background:#f8fafc; padding:14px; display:grid; gap:4px; }
.dashboard-insight-box.is-alert { border-color:#fdba74; background:#fff7ed; }
.dashboard-secondary-strip { padding-top:18px; }
.dominant-list .simple-list-item { align-items:flex-start; }
.alert-analytics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.menu-inline-badge { min-width: 22px; height: 22px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-size:11px; font-weight:800; margin-left:auto; }
.menu a { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.risk-trend-chip.trend-subindo { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.risk-trend-chip.trend-estavel { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
.risk-trend-chip.trend-caindo { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.compact-care-item { padding:8px 10px; min-height: 62px; }
.compact-care-main strong { font-size:13px; }
.compact-care-main span { font-size:12px; }
.care-chip { height:24px; padding:0 8px; }
.care-column { padding:12px; }
@media (max-width: 980px) {
  .dashboard-dominant-grid, .alert-analytics-grid { grid-template-columns:1fr; }
  .dashboard-dominant-card { padding:18px; }
  .dashboard-dominant-main h2 { font-size:26px; }
  .dashboard-dominant-problem { font-size:17px; }
  .dashboard-secondary-strip { display:none; }
  .menu-inline-badge { min-width:20px; height:20px; }
  .compact-care-item { padding:8px 9px; }
  .compact-care-main strong { font-size:12px; }
  .compact-care-main span { font-size:11px; }
  .summary-chip, .pill, .care-chip { font-size:10px !important; }
}


/* =========================================================
   BLOCO 1 FINAL — FOCO VISUAL E USABILIDADE OPERACIONAL
========================================================= */
.dashboard-focus-max {
  padding: 28px !important;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08) !important;
}

.dashboard-dominant-grid-single {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(260px, 0.7fr);
  gap: 18px;
  align-items: stretch;
}

.dashboard-primary-zone {
  min-height: 360px;
  justify-content: center;
}

.dashboard-focus-heading h3 {
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}

.dashboard-focus-heading p,
.dashboard-support-zone small,
.dashboard-support-zone span {
  color: #5b687c;
}

.dominant-list-tight .simple-list-item {
  padding: 12px 14px;
}

.dashboard-dominant-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 18px;
  max-width: 420px;
}

.dashboard-inline-alert {
  margin-top: 14px;
}

.dashboard-support-zone {
  background: #f8fafc;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  padding: 16px;
}

.dashboard-insight-stack-minimal {
  gap: 10px;
}

.dashboard-insight-stack-minimal .dashboard-insight-box {
  padding: 12px 14px;
  background: #fff;
}

.dashboard-secondary-strip {
  display: none !important;
}

.care-focus-shell-compact {
  padding: 18px !important;
}

.care-columns-3-compact {
  gap: 12px !important;
}

.care-column {
  padding: 12px !important;
}

.care-column-head {
  margin-bottom: 10px !important;
}

.compact-care-list-dense {
  gap: 8px !important;
}

.compact-care-item {
  padding: 10px 12px !important;
  min-height: auto !important;
}

.compact-care-main strong {
  font-size: 0.95rem;
}

.compact-care-main span,
.compact-care-meta .care-chip {
  font-size: 0.78rem;
}

.care-secondary-grid .mobile-clean-card {
  padding: 16px !important;
}

.menu-group-trigger {
  border-radius: 14px;
  font-weight: 700;
}

.menu-group.is-current .menu-group-trigger {
  background: linear-gradient(135deg, #0f172a, #1d4ed8) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(29, 78, 216, 0.2);
}

.menu-group.has-issue .menu-group-trigger {
  border: 1px solid rgba(220, 38, 38, 0.28) !important;
}

.menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.menu-link:hover {
  background: rgba(37, 99, 235, 0.08);
}

.menu-link.active {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.16), rgba(15, 23, 42, 0.08));
  color: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.18);
}

.menu-link.has-problem {
  background: rgba(220, 38, 38, 0.08);
}

.menu-link.active.has-problem {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.14), rgba(37, 99, 235, 0.08));
}

.menu-inline-badge,
.menu-problem-badge {
  font-weight: 800;
}

@media (max-width: 980px) {
  .dashboard-focus-max {
    padding: 18px !important;
  }

  .dashboard-dominant-grid-single {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .dashboard-primary-zone {
    min-height: auto;
  }

  .dashboard-support-zone {
    padding: 12px;
  }

  .dashboard-support-zone .dashboard-insight-box:last-child {
    display: none;
  }

  .care-focus-shell-compact {
    padding: 14px !important;
  }

  .care-columns-3-compact {
    grid-template-columns: 1fr;
    gap: 10px !important;
  }

  .care-column {
    padding: 10px !important;
  }

  .care-column.general {
    display: none;
  }

  .compact-care-item {
    padding: 9px 10px !important;
  }

  .compact-care-meta {
    gap: 6px !important;
    flex-wrap: wrap;
  }

  .care-secondary-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .care-fixed-action-bar {
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12);
  }

  .action-immediate-button {
    min-height: 52px;
    font-size: 0.98rem;
    font-weight: 800;
  }

  .menu-group-trigger {
    min-height: 48px;
    padding: 12px 14px;
  }

  .menu-link {
    padding: 11px 12px;
  }

  .page-header,
  .module-hero,
  .dashboard-secondary-strip,
  .summary-strip,
  .shortcut-card,
  .overview-panel-muted {
    display: none !important;
  }
}


/* =========================================================
   BLOCO 2 FINAL — LEITURA CLÍNICA E VISÃO GERENCIAL
========================================================= */
.resident-risk-grid { align-items: stretch; }
.resident-risk-hero {
  border: 1px solid #dbe4ee;
  border-radius: 20px;
  padding: 22px;
  display: grid;
  gap: 12px;
}
.resident-risk-hero-subindo { background: linear-gradient(180deg, #fff1f2 0%, #ffffff 100%); border-color: #fecdd3; }
.resident-risk-hero-estavel { background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%); border-color: #bfdbfe; }
.resident-risk-hero-caindo { background: linear-gradient(180deg, #ecfdf5 0%, #ffffff 100%); border-color: #bbf7d0; }
.resident-risk-kicker { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #64748b; }
.resident-risk-hero h3 { margin: 0; font-size: 28px; line-height: 1.05; }
.resident-risk-hero p { margin: 0; color: #475569; }
.resident-risk-hero-meta, .resident-risk-line-meta { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.resident-risk-factors .simple-list-item { padding-left: 0; padding-right: 0; }
.resident-risk-timeline .simple-list-item { align-items: center; }
.alert-analytics-grid .dashboard-insight-box small { color: #64748b; }
@media (max-width: 980px) {
  .resident-risk-hero { padding: 16px; }
  .resident-risk-hero h3 { font-size: 22px; }
  .resident-risk-line-item { align-items: flex-start; }
}


/* =========================================================
   MENU MOBILE NÍVEL APP — POLIMENTO FINAL
========================================================= */
.app-menu {
  display: grid;
  gap: 12px;
}

.menu-group-title-wrap {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: left;
}

.menu-group-title {
  display: block;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.menu-group-meta {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  color: #94a3b8;
  letter-spacing: 0.02em;
}

.menu-group-actions,
.menu-link-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.menu-link-arrow {
  color: #94a3b8;
  font-size: 16px;
  line-height: 1;
}

.menu-link.active .menu-link-arrow {
  color: currentColor;
}

@media (max-width: 980px) {
  .mobile-topbar {
    gap: 12px !important;
    padding: 12px 14px !important;
    background: rgba(255,255,255,0.98) !important;
  }

  .mobile-topbar-brand strong {
    font-size: 1.05rem !important;
    letter-spacing: -0.02em;
  }

  .mobile-topbar-brand span {
    font-size: 0.72rem !important;
    letter-spacing: 0.12em;
  }

  .mobile-menu-toggle {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(37,99,235,0.22) !important;
  }

  .mobile-menu-toggle span {
    width: 20px !important;
  }

  .sidebar {
    width: min(86vw, 340px) !important;
    padding: 14px 12px calc(18px + env(safe-area-inset-bottom)) !important;
    background: linear-gradient(180deg, #081225 0%, #0f172a 18%, #0f172a 100%) !important;
    border-right: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 24px 60px rgba(15,23,42,0.34) !important;
  }

  .sidebar-inner {
    gap: 14px !important;
  }

  .sidebar .brand-panel {
    background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04)) !important;
    border: 1px solid rgba(148,163,184,0.18) !important;
    border-radius: 22px !important;
    padding: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 28px rgba(0,0,0,0.18) !important;
  }

  .sidebar .brand-panel .brand,
  .sidebar .brand-panel strong,
  .sidebar .brand-panel span,
  .sidebar .brand-panel p,
  .sidebar .brand-panel small {
    color: #f8fafc !important;
  }

  .sidebar .brand-panel .brand {
    font-size: 1.45rem !important;
    line-height: 1.1;
  }

  .sidebar .brand-panel .brand-subtitle {
    color: #cbd5e1 !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    margin-top: 8px !important;
  }

  .app-menu {
    gap: 10px !important;
  }

  .menu-group {
    margin: 0 !important;
    border-radius: 22px !important;
    border: 1px solid rgba(148,163,184,0.14) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .menu-group-trigger {
    min-height: 60px !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
    color: #f8fafc !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .menu-group-title {
    color: #f8fafc !important;
  }

  .menu-group-meta {
    color: #94a3b8 !important;
  }

  .menu-group-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: #cbd5e1;
    font-size: 12px;
  }

  .menu-group.is-current {
    border-color: rgba(96,165,250,0.38) !important;
    background: linear-gradient(180deg, rgba(37,99,235,0.26), rgba(15,23,42,0.74)) !important;
  }

  .menu-group.is-current .menu-group-trigger {
    background: transparent !important;
    box-shadow: none !important;
  }

  .menu-group.has-issue {
    border-color: rgba(248,113,113,0.28) !important;
  }

  .menu-group.has-issue .menu-group-trigger {
    border: 0 !important;
    box-shadow: none !important;
  }

  .menu-group.has-issue .menu-group-title {
    color: #fff1f2 !important;
  }

  .menu-group .menu-problem-badge,
  .menu-inline-badge {
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #fb7185 0%, #e11d48 100%) !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(225,29,72,0.28) !important;
  }

  .menu-submenu {
    padding: 0 10px 10px !important;
    gap: 8px !important;
  }

  .menu-link,
  .menu-disabled,
  .menu-submenu a,
  .menu-submenu .menu-disabled,
  .sidebar .menu a,
  .sidebar .menu a:link,
  .sidebar .menu a:visited {
    min-height: 50px;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .menu-link:hover,
  .menu-link:focus,
  .sidebar .menu a:hover,
  .sidebar .menu a:focus {
    background: rgba(255,255,255,0.10) !important;
    border-color: rgba(147,197,253,0.18) !important;
    color: #ffffff !important;
  }

  .menu-link.active,
  .sidebar .menu a.active,
  .sidebar .menu a.active:link,
  .sidebar .menu a.active:visited,
  .sidebar .menu a.active:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    border-color: rgba(147,197,253,0.34) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(37,99,235,0.22) !important;
  }

  .menu-link.has-problem:not(.active) {
    background: linear-gradient(180deg, rgba(127,29,29,0.30), rgba(255,255,255,0.05)) !important;
    border-color: rgba(248,113,113,0.16) !important;
  }

  .menu-link-label {
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: -0.01em;
  }

  .menu-disabled {
    display: grid !important;
    gap: 4px !important;
    color: #94a3b8 !important;
  }

  .menu-disabled small {
    color: #94a3b8 !important;
    font-size: 0.72rem !important;
  }

  .sidebar-footer {
    gap: 10px !important;
    padding-top: 6px;
  }

  .user-badge,
  .permission-badge,
  .logout-link {
    border-radius: 18px !important;
    border: 1px solid rgba(148,163,184,0.14) !important;
    background: rgba(255,255,255,0.05) !important;
    color: #e2e8f0 !important;
    box-shadow: none !important;
  }

  .user-badge strong,
  .user-badge span,
  .permission-badge,
  .logout-link {
    color: #e2e8f0 !important;
  }

  .logout-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
  }
}


/* =========================================================
   AJUSTES RESIDUAIS FINAIS — RELATÓRIO DA EQUIPE
========================================================= */
.dashboard-residual-final {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.dashboard-residual-final .dashboard-primary-zone {
  grid-template-rows: auto auto auto auto auto 1fr auto;
}
.dashboard-clinical-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.dashboard-clinical-strip-item {
  border: 1px solid #dbe4ee;
  background: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
}
.dashboard-clinical-strip-item strong {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #475569;
}
.dashboard-support-zone-compact .dashboard-insight-box strong {
  font-size: 13px;
}
.care-header-metrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 4px 0 10px;
}
.resident-risk-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
.resident-risk-bar-fill {
  height: 100%;
  border-radius: 999px;
}
.resident-risk-bar-fill.trend-subindo { background: linear-gradient(90deg, #fb7185, #ef4444); }
.resident-risk-bar-fill.trend-estavel { background: linear-gradient(90deg, #60a5fa, #2563eb); }
.resident-risk-bar-fill.trend-caindo { background: linear-gradient(90deg, #4ade80, #16a34a); }
.page-alerts .simple-list-item, .page-tarefas .simple-list-item, .page-financeiro .simple-list-item {
  align-items: center;
}
.audit-kpis .summary-chip { min-height: 44px; display:flex; align-items:center; justify-content:center; }
@media (max-width: 980px) {
  .dashboard-clinical-strip { grid-template-columns: 1fr; }
  .dashboard-residual-final .dashboard-support-zone { display: none; }
  .care-header-metrics { margin-bottom: 8px; }
  .resident-risk-grid { grid-template-columns: 1fr; }
  .resident-risk-line-item { gap: 10px; }
  .menu-group-title { font-size: .94rem !important; }
  .menu-group-meta { font-size: .68rem !important; }
}


/* =========================================================
   AJUSTES FINOS FINAIS — POLIMENTO PREMIUM
========================================================= */
.dashboard-dominant-pill-ultra {
  padding: 10px 16px;
  border: 1px solid rgba(29, 78, 216, 0.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.45);
}
.dashboard-dominant-problem-ultra {
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.dashboard-insight-stack-ultra .dashboard-insight-box {
  border-radius: 18px;
  padding: 13px 14px;
}
.care-focus-shell-ultra .care-column {
  padding: 10px !important;
}
.care-columns-3-ultra {
  gap: 10px !important;
}
.care-columns-3-ultra .compact-care-list-dense {
  gap: 6px !important;
}
.care-columns-3-ultra .compact-care-item {
  padding: 8px 10px !important;
  min-height: 56px !important;
}
.care-columns-3-ultra .compact-care-meta {
  gap: 6px;
}
.resident-risk-bar-ultra {
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fee2e2 0%, #eff6ff 50%, #dcfce7 100%);
  overflow: hidden;
  border: 1px solid #e2e8f0;
}
.resident-risk-trend-legend {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.resident-risk-timeline-ultra .resident-risk-line-item {
  border-left: 3px solid #dbe4ee;
  padding-left: 10px;
}
.section-heading-strong h3 {
  font-size: 1.05rem;
}
.alert-pattern-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  font-weight: 800;
}
.finance-scenario-grid .finance-scenario-card {
  position: relative;
  overflow: hidden;
}
.finance-scenario-bar {
  margin-top: 12px;
  height: 10px;
  background: #e2e8f0;
  border-radius: 999px;
  overflow: hidden;
}
.finance-scenario-bar > span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #1d4ed8, #60a5fa);
}
.finance-scenario-card-risk .finance-scenario-bar > span {
  background: linear-gradient(90deg, #dc2626, #fb7185);
}
.finance-scenario-card-good .finance-scenario-bar > span {
  background: linear-gradient(90deg, #16a34a, #4ade80);
}
.menu-inline-badge-soft {
  border: 1px solid rgba(29, 78, 216, 0.14);
}
.audit-kpi-grid .card,
.audit-analytics-grid .card {
  border-radius: 18px;
}
@media (max-width: 980px) {
  .dashboard-dominant-card.dashboard-residual-final {
    padding: 16px !important;
  }
  .dashboard-support-zone-compact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .dashboard-support-zone-compact .dashboard-insight-box {
    min-height: 84px;
  }
  .dashboard-support-zone-compact .dashboard-insight-box:last-child {
    display: block;
  }
  .dashboard-dominant-problem-ultra {
    font-size: 19px;
  }
  .care-focus-shell-ultra .care-columns-3-ultra {
    grid-template-columns: 1fr;
  }
  .care-focus-shell-ultra .care-column.critical {
    order: -1;
  }
  .care-focus-shell-ultra .compact-care-item {
    min-height: 52px !important;
    padding: 7px 8px !important;
  }
  .resident-risk-trend-legend {
    gap: 6px;
  }
  .finance-scenario-grid {
    grid-template-columns: 1fr;
  }
  .app-menu .menu-group-title {
    font-size: 15px;
  }
}

/* =========================================================
   DECISION ENGINE + MOBILE FINAL
========================================================= */
.decision-dashboard-shell {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.decision-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.decision-status-box {
  border: 1px solid #dbe4ee;
  border-radius: 16px;
  padding: 14px;
  background: #fff;
  display: grid;
  gap: 6px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}
.decision-status-box strong {
  color: #0f172a;
}
.decision-status-box span {
  color: #1e293b;
  font-weight: 700;
}
.decision-status-box small {
  color: #64748b;
}
.decision-status-box.status-estavel {
  border-color: #86efac;
}
.decision-status-box.status-atencao {
  border-color: #facc15;
  background: #fffbeb;
}
.decision-status-box.status-critico,
.decision-status-box.status-colapso {
  border-color: #f87171;
  background: #fff1f2;
}
.compact-care-item.is-attention {
  border-left: 4px solid #facc15;
}
.compact-care-item.is-critical {
  border-left: 4px solid #ef4444;
}
.care-chip.warning {
  background: #fffbeb;
  color: #a16207;
  border: 1px solid #fde68a;
}

@media (max-width: 980px) {

  /* 1) Overlay só aparece com menu aberto */
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* 2) Conteúdo mobile sem blur/lavagem */
  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section {
    filter: none !important;
    backdrop-filter: none !important;
  }

  /* 3) Cards e blocos mais sólidos no mobile */
  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary {
    background: #ffffff !important;
    backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }

  /* 4) Remove efeito visual excessivo do topo */
  .page-header::after,
  .module-hero::after,
  .page-header::before,
  .module-hero::before {
    display: none !important;
  }

  /* 5) Fundo mobile mais limpo */
  body {
    background: #f4f7fb !important;
  }

  /* 6) Topbar mobile mais seca e profissional */
  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  /* 7) Conteúdo com espaçamento melhor */
  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }

  /* 8) Títulos mais firmes no mobile */
  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  /* 9) Textos secundários mais legíveis */
  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted {
    color: #64748b !important;
    opacity: 1 !important;
  }

  /* 10) Chips mobile com contraste limpo */
  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
  }

  /* 11) KPI cards com leitura melhor */
  .kpi-card,
  .dashboard-mini-kpi,
  .mini-stat,
  .summary-tile {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  }

  /* 12) Remove qualquer opacidade estranha quando menu fecha */
  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }

  .decision-status-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== Refinamento final enterprise ===== */
.dashboard-prime-fold .dashboard-dominant-main { min-height: 430px; }
.dashboard-prime-fold .dashboard-dominant-pill-ultra { font-size: 14px; padding: 10px 16px; }
.dashboard-prime-fold .action-immediate-button { min-height: 58px; font-size: 16px; font-weight: 800; }
.dashboard-support-zone-final { max-width: 330px; opacity: .96; }
.dashboard-first-fold .decision-status-box strong { font-size: 20px; }
.care-focus-shell-final { padding: 20px; }
.compact-care-list-dense { gap: 8px; }
.compact-care-item-final { padding: 10px 12px; border-radius: 14px; }
.compact-care-item-final .compact-care-main strong { font-size: 14px; }
.compact-care-item-final .compact-care-main span { font-size: 12px; }
.resident-trend-chip-strong { font-weight: 800; letter-spacing: .04em; }
.resident-risk-hero-meta-strong { align-items: center; }
.alert-pattern-badge.is-strong { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }
.alert-filter-toolbar .button { min-width: 88px; }
.finance-trend-panel { overflow: hidden; }
.finance-trend-graph { display: grid; gap: 12px; }
.finance-trend-item { display: grid; grid-template-columns: 110px minmax(0,1fr) 130px; gap: 12px; align-items: center; }
.finance-trend-item strong { text-align: right; }
.finance-trend-item.is-negative strong { color: #b91c1c; }
.finance-trend-bar { height: 12px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.finance-trend-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #2563eb, #1d4ed8); }
.finance-trend-item.is-negative .finance-trend-bar span { background: linear-gradient(90deg, #f97316, #dc2626); }
.menu-group.has-issue .menu-group-trigger, .menu-link.has-problem { border-color: rgba(248,113,113,.32); }
@media (max-width: 980px) {
  .page-header, .card, .table-wrap, .alert { backdrop-filter: none !important; }
  .page-header, .card, .table-wrap { box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important; }
  .dashboard-prime-fold .dashboard-dominant-main { min-height: auto; }
  .dashboard-prime-fold .dashboard-dominant-grid-single { grid-template-columns: 1fr !important; }
  .dashboard-support-zone-final { max-width: none; }
  .care-focus-shell-final { padding: 16px !important; }
  .compact-care-item-final { padding: 8px 10px !important; }
  .compact-care-item-final .button-sm { min-height: 36px; padding: 8px 10px; }
  .finance-trend-item { grid-template-columns: 1fr; gap: 6px; }
  .mobile-topbar, .sidebar-overlay { backdrop-filter: none !important; }
}

.password-field-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.password-field-wrap input {
  padding-right: 94px;
}

.password-toggle {
  position: absolute;
  right: 10px;
  border: 0;
  background: transparent;
  color: #2563eb;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
}

.password-toggle:hover {
  background: rgba(37, 99, 235, 0.08);
}

.login-helper-row {
  margin-top: 14px;
  text-align: center;
}

.login-helper-link {
  color: #2563eb;
  font-weight: 600;
  text-decoration: none;
}

.login-helper-link:hover {
  text-decoration: underline;
}


/* =========================================================
   LAYOUT DESKTOP ESTÁVEL
   - menu fixo
   - rolagem na área principal
   - cards com altura automática
   - rolagem interna apenas onde fizer sentido
========================================================= */
html, body {
  height: 100%;
}

@media (min-width: 981px) {
  html, body {
    overflow: hidden;
  }

  .layout {
    min-height: 100vh;
    height: 100vh;
    align-items: stretch;
  }

  .sidebar {
    flex: 0 0 var(--sidebar-width);
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .content {
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 28px;
  }

  .content-inner {
    height: auto;
    max-height: none;
    overflow: visible;
    padding-right: 6px;
  }

  .content::-webkit-scrollbar,
  .sidebar::-webkit-scrollbar {
    width: 10px;
  }

  .content::-webkit-scrollbar-thumb,
  .sidebar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
  }

  .content::-webkit-scrollbar-track,
  .sidebar::-webkit-scrollbar-track {
    background: #eef2f7;
    border-radius: 999px;
  }

  .page-header {
    position: relative;
    top: auto;
  }

  /* LEITOS: somente aqui manter rolagem interna controlada */
  .page-leitos .grid.grid-2 {
    align-items: start;
  }

  .page-leitos .grid.grid-2 > .card,
  .page-leitos .grid.grid-2 > .table-wrap {
    min-height: 0;
    height: calc(100vh - 360px);
    max-height: calc(100vh - 360px);
  }

  .page-leitos .grid.grid-2 > .card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .page-leitos .grid.grid-2 > .card form {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
  }

  .page-leitos .grid.grid-2 > .table-wrap {
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }

  .page-leitos .grid.grid-2 > .table-wrap table {
    width: 100%;
    border-collapse: collapse;
  }

  .page-leitos .grid.grid-2 > .table-wrap thead,
  .page-leitos .grid.grid-2 > .table-wrap tbody,
  .page-leitos .grid.grid-2 > .table-wrap tr {
    display: table;
    width: 100%;
    table-layout: fixed;
  }

  .page-leitos .grid.grid-2 > .table-wrap tbody {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100vh - 520px);
  }

  .page-leitos .grid.grid-2 > .table-wrap thead {
    width: calc(100% - 10px);
  }

  .page-leitos .grid.grid-2 > .table-wrap tbody::-webkit-scrollbar,
  .page-leitos .grid.grid-2 > .card form::-webkit-scrollbar {
    width: 10px;
  }

  .page-leitos .grid.grid-2 > .table-wrap tbody::-webkit-scrollbar-thumb,
  .page-leitos .grid.grid-2 > .card form::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
  }
}

@media (max-width: 980px) {
  html, body {
    overflow: auto;
  }

  .content,
  .content-inner {
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .page-header {
    position: relative;
    top: auto;
  }
}


/* ===== GeriFacil-inspired global shell ===== */
:root{--geri-bg:#eaf3ee;--geri-panel:#f8fbf8;--geri-card:#fbfdfb;--geri-border:#dbe5df;--geri-accent:#17b8c6;--geri-accent-dark:#0d8c97;--geri-text:#2c3a3f;--geri-muted:#6d7d82;--geri-danger:#ff5d67;}
body.geri-body{background:var(--geri-bg)!important;color:var(--geri-text);}
.geri-header{max-width:1560px;margin:0 auto;padding:18px 18px 0;}
.geri-header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:12px;}
.geri-header-logo-wrap{justify-self:center;display:flex;align-items:center;gap:12px;}
.geri-header-logo-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#0c4a6e,#18b7c4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.35rem;box-shadow:0 12px 24px rgba(15,23,42,.12);}
.geri-header-logo-text{font-size:2.8rem;font-weight:800;line-height:1;color:#103b63;}
.geri-header-logo-text span{color:#49c8d3;font-weight:600;}
.geri-header-user-badge,.geri-header-brand-badge{justify-self:end;padding:7px 12px;border-radius:999px;border:1px solid rgba(23,184,198,.35);background:#fff;color:#2786c3;font-size:.85rem;white-space:nowrap;}
.geri-header-brand-badge{justify-self:start;color:#c97818;border-color:rgba(201,120,24,.28);}
.geri-header-nav{background:rgba(255,255,255,.28);border-top:1px solid rgba(255,255,255,.7);padding:8px 0 6px;}
.geri-nav{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;}
.geri-nav-item{position:relative;}
.geri-nav-link{display:flex;align-items:center;gap:7px;padding:10px 4px 12px;color:#2f4448;font-weight:500;border-bottom:2px solid transparent;}
.geri-nav-item.is-active>.geri-nav-link,.geri-nav-item:hover>.geri-nav-link{color:var(--geri-accent-dark);border-bottom-color:var(--geri-accent);}
.geri-nav-icon{font-size:.9rem;color:var(--geri-accent-dark);opacity:.9;}
.geri-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:none;min-width:240px;background:#fff;border:1px solid var(--geri-border);border-radius:14px;box-shadow:0 18px 36px rgba(15,23,42,.14);padding:8px;z-index:40;}
.geri-nav-item:hover .geri-dropdown,.geri-nav-item:focus-within .geri-dropdown{display:block;}
.geri-dropdown-link{display:block;padding:11px 14px;border-radius:10px;color:#31464a;font-size:.95rem;}
.geri-dropdown-link:hover{background:#f2fbfc;color:var(--geri-accent-dark);}
.geri-main{max-width:1560px;margin:0 auto;padding:0 18px 30px;}
.content-inner{display:grid;gap:16px;}
.geri-page-intro{display:none;}
.page-section,.card,.table-wrap,.module-hero,.page-header,.mini-card,.kpi-card{background:rgba(255,255,255,.64)!important;border:1px solid var(--geri-border)!important;border-radius:14px!important;box-shadow:none!important;}
.grid.kpis{gap:12px;}
.kpi-card{padding:18px 16px!important;min-height:auto;}
.kpi-card .stat-number{font-size:2rem;}
button,.button,.actions-inline .button,a.button{border-radius:8px!important;}
button,.button:not(.secondary):not(.danger),a.button:not(.secondary):not(.danger){background:var(--geri-accent)!important;border-color:var(--geri-accent)!important;color:#fff!important;}
.button.secondary,button.secondary,a.button.secondary{background:#fff!important;color:#3d4c51!important;border:1px solid #d4ded8!important;}
button.danger,a.button.danger{background:var(--geri-danger)!important;border-color:var(--geri-danger)!important;color:#fff!important;}
input,select,textarea{border-radius:8px!important;border:1px solid #d5dfda!important;background:#fff!important;box-shadow:none!important;}
.table-wrap table thead th{background:#f8fbf9;color:#46575c;font-size:.84rem;text-transform:none;}
.table-wrap table tbody tr:hover{background:#fcfffe;}
.status-badge.success,.status.success{background:#eefaf2!important;color:#23794e!important;}
.status-badge.warning{background:#fff7eb!important;color:#c27412!important;}
.status-badge.muted,.status.muted{background:#f2f4f5!important;color:#6b7280!important;}
.mobile-topbar{display:none;}
.sidebar-overlay{display:none!important;}
/* residentes operating list */
.hospedes-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 18px;}
.hospedes-toolbar .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex:1;}
.hospedes-toolbar .filters input{min-width:320px;}
.hospedes-quick-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 18px 18px;}
.hospedes-quick-links a{display:flex;justify-content:center;align-items:center;padding:12px;border:1px solid #d6dfda;border-radius:9px;background:#fff;color:#3e4c51;font-size:.92rem;}
.hospede-card{display:grid;grid-template-columns:120px minmax(280px,1fr) repeat(3,minmax(180px,240px)) 70px;gap:18px;align-items:center;padding:18px;border-top:1px solid #e6ede8;}
.hospede-card:first-child{border-top:none;}
.hospede-avatar{width:82px;height:82px;border-radius:999px;object-fit:cover;background:#e9eef1;border:1px solid #d4ddd8;}
.hospede-primary{display:grid;gap:8px;}
.hospede-primary h4{margin:0;font-size:1.95rem;color:#0e9cac;font-weight:500;letter-spacing:-.02em;}
.hospede-primary .meta{font-size:.95rem;color:#27353b;}
.hospede-actions-col{display:grid;gap:8px;}
.hospede-actions-col a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:#fff;border:1px solid #edf2ef;color:#2f3f44;font-size:.93rem;}
.hospede-side-icons{display:grid;gap:8px;justify-items:end;}
.hospede-side-icons a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #d7e0db;border-radius:8px;background:#fff;color:#5b6a70;}
.hospede-side-icons a.danger{background:var(--geri-danger)!important;color:#fff!important;border-color:var(--geri-danger)!important;}
.geri-empty-page{padding:0 0 24px;}
.geri-empty-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;}
.geri-empty-toolbar .left{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex:1;}
.geri-empty-toolbar input,.geri-empty-toolbar select{min-width:260px;}
.geri-empty-panel{min-height:320px;display:grid;place-items:center;text-align:center;color:#5f6f74;padding:28px;}
.geri-empty-panel strong{display:block;font-size:1.35rem;color:#43565b;margin-bottom:8px;}
.geri-empty-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 0 16px;}
.geri-empty-stats .box{background:rgba(255,255,255,.64);border:1px solid var(--geri-border);border-radius:10px;padding:16px;text-align:center;}
.geri-empty-stats .box strong{display:block;font-size:2rem;margin-top:8px;color:#233338;}
.contract-editor-shell{background:rgba(255,255,255,.64);border:1px solid var(--geri-border);border-radius:14px;padding:18px;}
.geri-footer-note{display:flex;justify-content:center;padding:16px;color:#51656b;font-size:.92rem;}
.page-shell>.card.page-section.residente-form-shell{order:2;}
.page-shell>.table-wrap.residentes-operacionais{order:1;}
@media (max-width: 1200px){.hospede-card{grid-template-columns:100px 1fr 1fr;}.hospede-actions-col{grid-column:span 1;}.hospede-side-icons{grid-column:3;grid-row:1 / span 2;}}
@media (max-width: 980px){.mobile-topbar{display:flex;position:sticky;top:0;z-index:60;padding:12px 16px;background:var(--geri-bg);align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.6);}.mobile-topbar-brand{display:grid;}.geri-header-top{grid-template-columns:1fr;justify-items:center;}.geri-header-brand-badge,.geri-header-user-badge{justify-self:center;}.geri-header-nav{display:none;position:fixed;left:14px;right:14px;top:70px;background:#fff;border:1px solid var(--geri-border);border-radius:16px;padding:14px;box-shadow:0 24px 48px rgba(15,23,42,.2);}.geri-header-nav.is-open{display:block;}.geri-nav{flex-direction:column;align-items:stretch;gap:4px;}.geri-nav-link{padding:10px 12px;border-bottom:none;border-radius:10px;background:#f8fbf8;}.geri-nav-item.is-active>.geri-nav-link{background:#eefafb;}.geri-dropdown{position:static;transform:none;display:block;box-shadow:none;border:none;padding:4px 0 0 22px;min-width:100%;}.hospedes-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));}.hospede-card{grid-template-columns:1fr;}.hospede-side-icons{grid-auto-flow:column;justify-content:start;}.geri-empty-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.page-shell>.card.page-section.residente-form-shell,.page-shell>.table-wrap.residentes-operacionais{order:initial;}}


/* ===== Mobile menu closer to GeriFácil ===== */
.geri-nav-row{display:flex;align-items:center;}
.geri-nav-row .geri-nav-link{flex:1;}
.geri-nav-expand{display:none;border:none;background:transparent;color:#41565b;font-size:1rem;padding:10px 12px;cursor:pointer;}
.geri-mobile-nav-head,.geri-mobile-nav-close{display:none;}

@media (max-width: 980px){
  .mobile-topbar{padding:10px 12px;background:#f6fbf8;border-bottom:1px solid #dbe6e0;gap:12px;}
  .mobile-topbar-brand{margin-left:auto;text-align:right;}
  .mobile-topbar-brand strong{font-size:1.15rem;line-height:1;color:#203338;}
  .mobile-topbar-brand span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#7b8d90;}
  .mobile-menu-toggle{width:38px;height:38px;border-radius:12px;background:var(--geri-accent);box-shadow:none;}
  .mobile-menu-toggle span{width:16px;background:#fff;}
  .sidebar-overlay{display:none!important;position:fixed;inset:0;background:rgba(33,43,52,.42)!important;opacity:0!important;pointer-events:none!important;transition:opacity .22s ease;z-index:79;}
  body.sidebar-open .sidebar-overlay{opacity:1!important;pointer-events:auto!important;}

  .geri-header-nav{display:block;position:fixed;left:0;top:0;bottom:0;right:auto;width:min(82vw, 330px);max-width:330px;height:100dvh;background:#f7fbf8;border:none;border-right:1px solid #d6e1db;border-radius:0;padding:0;box-shadow:20px 0 48px rgba(15,23,42,.18);z-index:80;transform:translateX(-104%);transition:transform .22s ease;overflow-y:auto;}
  .geri-header-nav.is-open{display:block;transform:translateX(0);}

  .geri-mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;background:#fff;border-bottom:1px solid #dde7e1;position:sticky;top:0;z-index:2;}
  .geri-mobile-nav-brand{display:grid;gap:4px;}
  .geri-mobile-nav-brand .geri-header-logo-wrap{gap:10px;}
  .geri-mobile-nav-brand small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7d8c90;padding-left:48px;}
  .geri-mobile-nav-close{display:grid;place-items:center;width:36px;height:36px;border:none;border-radius:10px;background:#f3f6f5;color:#394c52;font-size:1.7rem;line-height:1;cursor:pointer;}

  .geri-nav{display:block;padding:8px 0 14px;}
  .geri-nav-item{border-bottom:1px solid #e5eeea;}
  .geri-nav-link{padding:13px 16px;background:transparent;border:none;border-radius:0;color:#2f4348;font-weight:500;}
  .geri-nav-link:hover,.geri-nav-item.is-active>.geri-nav-link{background:#eef5f2;color:var(--geri-accent-dark);}
  .geri-nav-item.is-active>.geri-nav-link{border-left:3px solid var(--geri-accent);padding-left:13px;}
  .geri-nav-icon{width:18px;display:inline-flex;justify-content:center;color:#1aa8b5;}
  .geri-nav-expand{display:block;}
  .geri-nav-item.is-open>.geri-nav-row .geri-nav-expand{transform:rotate(180deg);}
  .geri-nav-item.has-dropdown .geri-dropdown{display:none;position:static;transform:none;min-width:100%;background:transparent;box-shadow:none;border:none;border-top:1px solid #ecf2ef;border-radius:0;padding:6px 0 10px 0;}
  .geri-nav-item.has-dropdown.is-open .geri-dropdown,.geri-nav-item.has-dropdown.is-active .geri-dropdown{display:block;}
  .geri-dropdown-link{padding:10px 20px 10px 44px;border-radius:0;font-size:.95rem;color:#475c60;}
  .geri-dropdown-link:hover{background:#eef5f2;color:#21353a;}

  .geri-main{padding:0 10px 22px;}
  .geri-header-top{padding:10px 12px;gap:8px;}
  .geri-header-brand-badge,.geri-header-user-badge{font-size:.72rem;padding:6px 10px;}
}


/* ===== Layout stabilization + global footer + scroll fix ===== */
html, body {
  min-height: 100%;
  height: auto !important;
  overflow-x: hidden;
}

body.geri-body {
  display: block;
  min-height: 100vh;
}

.geri-main {
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 18px 36px;
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

.content-inner,
.page-shell,
.page-section,
.table-wrap,
.module-hero,
.page-header,
.card {
  min-height: auto;
}

.geri-footer {
  max-width: 1560px;
  margin: 18px auto 0;
  padding: 18px;
}

.geri-footer-inner {
  border-top: 1px solid #d7e3dc;
  padding: 18px 12px 26px;
  text-align: center;
  color: #5f7075;
  font-size: .92rem;
}

.geri-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.geri-footer-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg,#0c4a6e,#18b7c4);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.geri-footer-text {
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  color: #103b63;
}

.geri-footer-text span {
  color: #49c8d3;
  font-weight: 600;
}

.geri-footer-meta {
  display: grid;
  gap: 4px;
  justify-items: center;
}

@media (min-width: 981px) {
  html, body {
    overflow-y: auto !important;
  }

  .layout,
  .content,
  .content-inner,
  .wrapper,
  .container,
  .page,
  .page-shell {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .sidebar {
    height: auto !important;
    max-height: none !important;
  }

  .page-leitos .grid.grid-2 > .card,
  .page-leitos .grid.grid-2 > .table-wrap {
    min-height: 0;
    height: calc(100vh - 360px);
    max-height: calc(100vh - 360px);
  }

  .page-leitos .grid.grid-2 > .card form {
    overflow-y: auto !important;
  }

  .page-leitos .grid.grid-2 > .table-wrap tbody {
    overflow-y: auto !important;
    max-height: calc(100vh - 520px);
  }
}

@media (max-width: 980px) {
  .geri-main {
    padding: 0 10px 30px;
  }

  .content-inner,
  .page-shell,
  .wrapper,
  .container,
  .page {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .geri-footer {
    padding: 14px 10px 28px;
  }

  .geri-footer-text {
    font-size: 1.65rem;
  }
}

/* ===== module factory rows ===== */
.geri-rows{display:grid;gap:0;}
.geri-row-item{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 20px;border-top:1px solid #e8efeb;}
.geri-row-item:first-child{border-top:none;}
.geri-row-main{display:grid;gap:5px;}
.geri-row-main strong{font-size:1rem;color:#203338;}
.geri-row-meta{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:.86rem;}
.geri-row-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:980px){.geri-row-item{flex-direction:column;}.geri-row-side{justify-content:flex-start;}}


/* === Modal de acompanhamento operacional === */
body.modal-open { overflow: hidden; }
#acompanhamento-modal-root { position: relative; z-index: 80; }
.acompanhamento-modal { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.42); display: flex; align-items: center; justify-content: center; padding: 14px; z-index: 9999; }
.acompanhamento-modal-dialog { width: min(1600px, 99vw); height: min(88vh, 920px); background: #fff; border-radius: 18px; box-shadow: 0 32px 80px rgba(15,23,42,.28); display: flex; flex-direction: column; overflow: hidden; }
.acompanhamento-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:16px 20px; border-bottom:1px solid #e5edf4; background:#fbfdff; }
.acompanhamento-modal-title-wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; }
.acompanhamento-modal-title-wrap strong { display:block; font-size:22px; color:#0f172a; }
.acompanhamento-modal-title-wrap span { color:#64748b; font-size:13px; }
.acompanhamento-modal-badges { display:flex; gap:8px; flex-wrap:wrap; }
.mini-pill { border:1px solid #bfdbfe; background:#eff6ff; color:#1d4ed8; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:700; }
.mini-pill.warning { border-color:#fdba74; background:#fff7ed; color:#c2410c; }
.mini-pill.accent { border-color:#d8b4fe; background:#faf5ff; color:#7e22ce; }
.acompanhamento-modal-close { border:none; background:#fff; width:42px; height:42px; border-radius:12px; font-size:28px; line-height:1; color:#334155; cursor:pointer; box-shadow:0 10px 30px rgba(15,23,42,.08); }
.acompanhamento-modal-patientbar { display:grid; grid-template-columns:auto auto 1fr; gap:20px; align-items:center; padding:18px 20px; border-bottom:1px solid #e5edf4; }
.acompanhamento-modal-patient { display:flex; gap:16px; align-items:center; }
.avatar-circle.lg { width:74px; height:74px; font-size:24px; }
.acompanhamento-modal-tabs { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.acompanhamento-tab { border:none; background:transparent; color:#475569; padding:10px 12px; border-radius:12px; cursor:pointer; font-weight:600; }
.acompanhamento-tab.is-active { background:#f8fbff; color:#0f172a; box-shadow:inset 0 0 0 1px #d8e4f0; }
.acompanhamento-modal-body { display:grid; grid-template-columns:330px 1fr; min-height:0; flex:1; }
.acompanhamento-modal-sidebar { padding:18px; border-right:1px solid #e5edf4; overflow:auto; background:#fcfeff; }
.acompanhamento-modal-content { padding:18px; overflow:auto; }
.modal-field-group { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.modal-field-group label { font-size:13px; font-weight:700; color:#334155; }
.modal-field-group select, .modal-field-group input, .modal-field-group textarea { width:100%; border:1px solid #d8e4f0; border-radius:12px; padding:12px 14px; font:inherit; background:#fff; color:#0f172a; }
.modal-field-group textarea { resize:vertical; min-height:170px; }
.modal-checkboxes { display:grid; gap:8px; margin-bottom:18px; color:#475569; font-size:13px; }
.date-range-inline { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; }
.acompanhamento-timeline { display:grid; gap:12px; }
.timeline-card { border:1px solid #dbe7f1; border-radius:14px; padding:12px; background:#fff; box-shadow:0 12px 28px rgba(15,23,42,.04); }
.timeline-card-head { display:flex; gap:10px; justify-content:space-between; align-items:flex-start; font-size:12px; color:#64748b; margin-bottom:8px; }
.timeline-card p { margin:0; color:#0f172a; font-size:14px; line-height:1.55; }
.timeline-empty, .modal-inline-error { border:1px dashed #cbd5e1; border-radius:14px; padding:16px; color:#64748b; background:#fff; }
.acompanhamento-content-panel { display:none; }
.acompanhamento-content-panel.is-active { display:block; }
.acompanhamento-modal-form { display:grid; gap:18px; }
.acompanhamento-form-row { display:grid; grid-template-columns:1fr 240px; gap:14px; }
.acompanhamento-form-row .grow { flex:1; }
.acompanhamento-form-row .compact { width:auto; }
.acompanhamento-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mini-list { margin:0; padding-left:18px; color:#334155; display:grid; gap:8px; }
.acompanhamento-modal-footer { display:flex; gap:10px; justify-content:flex-end; align-items:center; padding-top:8px; border-top:1px solid #e5edf4; }
.button.full { width:100%; }
.acompanhamento-toast { border-radius:12px; padding:12px 14px; font-weight:600; }
.acompanhamento-toast.success { background:#ecfdf5; color:#166534; border:1px solid #86efac; }
.acompanhamento-toast.error { background:#fff1f2; color:#be123c; border:1px solid #fda4af; }
.timeline-card-new { border-color:#93c5fd; background:#f8fbff; }
@media (max-width: 1180px) {
  .acompanhamento-modal-dialog { width: 99vw; height: 94vh; }
  .acompanhamento-modal-patientbar { grid-template-columns:1fr; }
  .acompanhamento-modal-tabs { justify-content:flex-start; }
  .acompanhamento-modal-body { grid-template-columns:1fr; }
  .acompanhamento-modal-sidebar { border-right:none; border-bottom:1px solid #e5edf4; max-height:32vh; }
}
@media (max-width: 780px) {
  .acompanhamento-modal { padding:0; }
  .acompanhamento-modal-dialog { width:100vw; height:100vh; border-radius:0; }
  .acompanhamento-modal-header, .acompanhamento-modal-patientbar, .acompanhamento-modal-sidebar, .acompanhamento-modal-content { padding:14px; }
  .acompanhamento-modal-title-wrap { flex-direction:column; align-items:flex-start; }
  .acompanhamento-form-row, .acompanhamento-mini-grid { grid-template-columns:1fr; }
  .acompanhamento-modal-footer { flex-wrap:wrap; }
  .acompanhamento-modal-footer .button { flex:1 1 calc(50% - 8px); }
}
.acompanhamento-global-toast { margin-bottom: 14px; }
.modal-kpi-list { display:grid; gap:10px; }
.modal-kpi-list > div { display:flex; justify-content:space-between; gap:10px; border:1px solid #dbe7f1; border-radius:12px; padding:10px 12px; background:#fff; }
.modal-kpi-list strong { color:#0f172a; font-size:16px; }
.modal-kpi-list span { color:#64748b; font-size:13px; }
.tab-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dense-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dense-grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; }
.list-rows { display:grid; gap:12px; }
.list-rows.compact { gap:10px; }
.list-row-item { border:1px solid #dbe7f1; border-radius:12px; padding:12px 14px; background:#fff; display:grid; gap:4px; }
.list-row-item strong { color:#0f172a; font-size:14px; }
.list-row-item span { color:#64748b; font-size:13px; }
.metric-highlight { font-size:28px; font-weight:800; color:#0f172a; margin-bottom:14px; }
.metric-highlight span { display:block; font-size:13px; font-weight:600; color:#64748b; margin-top:4px; }
.acompanhamento-modal-footer.slim { border-top:none; padding-top:0; justify-content:flex-end; }
@media (max-width: 980px) {
  .tab-grid-2, .dense-grid-2, .dense-grid-3 { grid-template-columns:1fr; }
}

/* === Submodais: emergência + antibióticos === */
.mini-pill-button{cursor:pointer;border:none;}
.acompanhamento-submodal{position:absolute;inset:0;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;padding:24px;z-index:30;}
.acompanhamento-submodal[hidden]{display:none!important;}
.acompanhamento-submodal-dialog{width:min(860px,92vw);max-height:82vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(15,23,42,.22);border:1px solid #dbe7f1;}
.acompanhamento-submodal-dialog.large{width:min(1080px,94vw);}
.acompanhamento-submodal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5edf4;position:sticky;top:0;background:#fff;z-index:2;}
.acompanhamento-submodal-close{border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#64748b;}
.acompanhamento-submodal-body{padding:18px 20px;display:grid;gap:16px;}
.acompanhamento-submodal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;}
.inline-check{display:flex;align-items:center;gap:8px;color:#334155;font-size:14px;}
.compact-width{max-width:270px;}
.subtabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e5edf4;padding-bottom:8px;}
.subtab{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #19b7c6;border-radius:10px;background:#fff;color:#19b7c6;font-size:14px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:all .18s ease;box-shadow:none;}
.subtab:hover{background:#f0fbfc;color:#1199a8;border-color:#1199a8;}
.subtab.is-active{background:#19b7c6;color:#fff;border-color:#19b7c6;box-shadow:0 8px 18px rgba(25,183,198,.18);}
.subtab-panel{display:none;}
.subtab-panel.is-active{display:block;}
.submodal-history{max-height:180px;overflow:auto;}
.antibiotics-table-wrap{overflow:auto;}
.antibiotics-table{min-width:980px;}
.table-empty{text-align:center;color:#94a3b8;padding:14px;}
@media (max-width:780px){.acompanhamento-submodal{padding:10px}.acompanhamento-submodal-dialog,.acompanhamento-submodal-dialog.large{width:100%;max-height:90vh;border-radius:14px}.acompanhamento-submodal-body,.acompanhamento-submodal-header{padding:14px}.compact-width{max-width:none}.acompanhamento-submodal-footer{flex-wrap:wrap}.acompanhamento-submodal-footer .button{flex:1 1 calc(50% - 8px)}}


.acompanhamento-submodal-header strong{font-size:1.15rem;line-height:1.2;color:#0f172a;}
.acompanhamento-submodal-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#19b7c6;color:#fff;font-size:28px;transition:transform .18s ease,opacity .18s ease;}
.acompanhamento-submodal-close:hover{transform:scale(1.03);opacity:.94;}
.acompanhamento-submodal .table-wrap{border:1px solid #e5edf4;border-radius:14px;overflow:hidden;background:#fff;}
.acompanhamento-submodal table thead th{background:#f8fbfd;color:#334155;font-size:13px;font-weight:700;padding:12px 14px;}
.acompanhamento-submodal table tbody td{padding:13px 14px;vertical-align:middle;}
.acompanhamento-submodal table tbody tr:hover{background:#fbfeff;}
.acompanhamento-submodal-footer .button{min-height:40px;padding:0 18px;border-radius:10px;font-weight:700;}
@media (max-width:780px){.subtabs{gap:8px}.subtab{min-height:38px;padding:0 14px;font-size:13px}.acompanhamento-submodal-close{width:40px;height:40px;border-radius:10px}}

/* ===== Acompanhamentos | Fase barra operacional ===== */
.acompanhamento-operational-card { gap: 22px; }
.acompanhamento-operational-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.acompanhamento-operational-form { display:grid; gap:16px; }
.operational-bar-grid {
  display:grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr);
  gap:16px;
  align-items:start;
}
.operational-filters-group {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfdff;
}
.quick-check,
.quick-radio {
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #d7e4ee;
  background:#fff;
  color:#475569;
  font-weight:700;
  cursor:pointer;
  transition:all .18s ease;
}
.quick-check input,
.quick-radio input { position:absolute; opacity:0; pointer-events:none; }
.quick-check:hover,
.quick-radio:hover { transform:translateY(-1px); border-color:#9fd8de; }
.quick-check.is-active,
.quick-check:has(input:checked),
.quick-radio.is-active,
.quick-radio:has(input:checked) {
  background:#edfafa;
  color:#0f766e;
  border-color:#8edee1;
  box-shadow:0 10px 24px rgba(25,183,198,.10);
}
.operational-toggle { white-space:nowrap; }
.operational-actions-grid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.operational-action-card {
  display:grid;
  gap:6px;
  min-height:78px;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid #dbe7f1;
  background:#fff;
  color:#0f172a;
  box-shadow:0 12px 30px rgba(15, 23, 42, 0.04);
}
.operational-action-card strong { font-size:15px; line-height:1.3; }
.operational-action-card span { color:#64748b; font-size:13px; line-height:1.45; }
.operational-action-card:hover { transform:translateY(-1px); box-shadow:0 18px 32px rgba(15, 23, 42, 0.08); }
.operational-action-card.danger { border-color:#fecaca; background:#fff7f7; }
.operational-action-card.danger strong { color:#b91c1c; }
.operational-action-card.highlight { border-color:#a5f3fc; background:#f0fdff; }
.operational-action-card.highlight strong { color:#0f766e; }
.operational-more-filters {
  display:none;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid #dbe7f1;
  background:#f8fbff;
  gap:16px;
}
.operational-more-filters.is-open { display:grid; }
.more-filters-row { display:flex; flex-wrap:wrap; gap:10px; }
.more-filters-actions { display:flex; justify-content:flex-end; gap:10px; }
.acompanhamento-inline-badges { display:flex; flex-wrap:wrap; gap:8px; }
.mini-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  border:1px solid transparent;
}
.mini-pill.success { background:#ecfdf5; color:#166534; border-color:#a7f3d0; }
.mini-pill.warning { background:#fff7ed; color:#9a3412; border-color:#fdba74; }
.mini-pill.danger { background:#fff1f2; color:#be123c; border-color:#fda4af; }
.mini-pill.info { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
.status-chip.danger { background:#fff1f2; color:#be123c; border:1px solid #fda4af; }
.last-evolution-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.small-inline { font-size:12px; }
.acompanhamento-card { transition:transform .18s ease, box-shadow .18s ease; }
.acompanhamento-card:hover { transform:translateY(-2px); box-shadow:0 20px 38px rgba(15, 23, 42, 0.08); }

@media (max-width: 1260px) {
  .operational-bar-grid { grid-template-columns:1fr; }
  .operational-actions-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .acompanhamento-operational-heading,
  .last-evolution-head,
  .more-filters-actions { flex-direction:column; align-items:stretch; }
  .operational-actions-grid { grid-template-columns:1fr; }
  .operational-filters-group { overflow:auto; flex-wrap:nowrap; padding-bottom:12px; }
  .quick-check,
  .quick-radio,
  .operational-toggle { flex:0 0 auto; }
}

/* ===== Acompanhamentos | Fase cards operacionais completos ===== */
.operational-summary-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.operational-summary-card {
  display:grid;
  gap:8px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid #dbe7f1;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.04);
}
.operational-summary-card .summary-label { color:#64748b; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.operational-summary-card .summary-value { font-size:32px; line-height:1; color:#0f172a; }
.operational-summary-card p { margin:0; color:#64748b; font-size:13px; line-height:1.45; }
.operational-summary-card.tone-warning { background:#fffaf0; border-color:#fed7aa; }
.operational-summary-card.tone-danger { background:#fff5f5; border-color:#fecaca; }
.operational-summary-card.tone-info { background:#f3fbff; border-color:#bae6fd; }

.operational-premium-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.operational-premium-card {
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:20px;
  border:1px solid #dbe7f1;
  background:linear-gradient(180deg, #ffffff 0%, #fbfeff 100%);
  color:#0f172a;
  box-shadow:0 16px 36px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.operational-premium-card:hover { transform:translateY(-2px); box-shadow:0 22px 42px rgba(15,23,42,.08); }
.premium-card-topline {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.premium-card-label { color:#475569; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.premium-card-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:800;
  font-size:13px;
}
.premium-card-value { font-size:42px; line-height:1; color:#0f172a; }
.operational-premium-card p { margin:0; color:#64748b; font-size:14px; line-height:1.5; }
.premium-card-cta { color:#0f766e; font-weight:800; font-size:13px; }
.operational-premium-card.tone-warning { border-color:#fdba74; background:linear-gradient(180deg, #fffdf7 0%, #fff7ed 100%); }
.operational-premium-card.tone-warning .premium-card-badge { background:#fff7ed; color:#c2410c; }
.operational-premium-card.tone-danger { border-color:#fda4af; background:linear-gradient(180deg, #fff8f8 0%, #fff1f2 100%); }
.operational-premium-card.tone-danger .premium-card-badge,
.operational-premium-card.tone-danger-strong .premium-card-badge { background:#ffe4e6; color:#be123c; }
.operational-premium-card.tone-highlight { border-color:#99f6e4; background:linear-gradient(180deg, #f6fffe 0%, #ecfeff 100%); }
.operational-premium-card.tone-highlight .premium-card-badge { background:#ccfbf1; color:#0f766e; }
.operational-premium-card.tone-neutral { border-color:#cbd5e1; background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.operational-premium-card.tone-neutral .premium-card-badge { background:#eef2ff; color:#4338ca; }
.operational-premium-card.tone-info { border-color:#bae6fd; background:linear-gradient(180deg, #f8fdff 0%, #eff6ff 100%); }
.operational-premium-card.tone-danger-strong {
  border-color:#fb7185;
  background:linear-gradient(180deg, #fff7f8 0%, #ffe4e6 100%);
}
.operational-premium-card.tone-danger-strong .premium-card-value,
.operational-premium-card.tone-danger strong { color:#9f1239; }

@media (max-width: 1180px) {
  .operational-summary-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .operational-premium-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .operational-summary-grid,
  .operational-premium-grid { grid-template-columns:1fr; }
  .premium-card-value { font-size:36px; }
}

/* === Ajuste fino submodal de medicamentos enterprise === */
.meds-submodal-header{align-items:flex-start;}
.submodal-caption{display:block;margin-top:4px;color:#64748b;font-size:13px;}
.meds-filter-tabs{gap:8px;}
.meds-submodal-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:18px;align-items:start;}
.meds-table-pane,.meds-timeline-pane{min-width:0;}
.meds-timeline-pane{border:1px solid #e5edf4;border-radius:14px;background:#fbfdff;padding:14px;}
.meds-timeline-list{max-height:460px;overflow:auto;padding-right:4px;}
.meds-timeline-card p strong{font-size:14px;color:#0f172a;}
.meds-action-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.meds-action-group .button.small{min-height:34px;padding:0 12px;font-size:12px;line-height:1.1;border-radius:10px;white-space:nowrap;}
.button.danger{background:#ef4444;border-color:#ef4444;color:#fff;}
.button.danger:hover{background:#dc2626;border-color:#dc2626;color:#fff;}
.meds-alert-box{border:1px solid #fecaca;background:#fff7f7;color:#991b1b;border-radius:14px;padding:14px 16px;}
.meds-alert-box strong{display:block;margin-bottom:8px;}
.table-note{margin-top:4px;font-size:11px;color:#7e22ce;font-weight:700;}
.section-heading-compact h4{margin:0;font-size:15px;color:#0f172a;}
.section-heading-compact p{margin:4px 0 0;color:#64748b;font-size:12px;}
@media (max-width: 1080px){.meds-submodal-layout{grid-template-columns:1fr;}.meds-timeline-list{max-height:260px;}}
@media (max-width: 780px){.meds-action-group{gap:6px}.meds-action-group .button.small{flex:1 1 auto;justify-content:center;}.meds-filter-tabs .subtab{flex:1 1 calc(50% - 6px);padding:0 10px;font-size:12px;}}


/* =========================================================
   QA HARD PATCH — MOBILE LIMPO, OVERLAY CONTROLADO, LEITURA FIRME
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack,
  body:not(.sidebar-open) .page-section {
    opacity: 1 !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
  }

  body {
    background: #f4f7fb !important;
  }

  .mobile-topbar,
  .app-topbar,
  .topbar-mobile {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
    overflow-x: hidden !important;
  }

  .page-header::before,
  .page-header::after,
  .module-hero::before,
  .module-hero::after,
  .dashboard-hero::before,
  .dashboard-hero::after {
    display: none !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .finance-scenario-card,
  .operational-premium-card,
  .operational-summary-card {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }

  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted,
  .text-muted {
    color: #64748b !important;
    opacity: 1 !important;
  }

  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
  }

  .grid,
  .table-wrap,
  .content,
  .page-shell,
  .dashboard-stack,
  .card {
    max-width: 100% !important;
  }
}

/* PRE-CADASTRO EXTERNO */
.pre-cadastro-public-body{background:#f4f7fb;margin:0;font-family:inherit;color:#0f172a}
.pre-cadastro-public-shell{max-width:1180px;margin:0 auto;padding:32px 16px 48px}
.pre-cadastro-public-card{background:#fff;border:1px solid #dbe4ee;border-radius:24px;box-shadow:0 20px 45px rgba(15,23,42,.07);padding:24px}
.pre-cadastro-public-head{display:grid;gap:10px;margin-bottom:18px}
.pre-cadastro-public-head h1{margin:0;font-size:2rem}
.pre-cadastro-progress{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}
.pre-cadastro-progress span{padding:9px 14px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-weight:700;font-size:13px}
.pre-cadastro-progress .is-active{background:#dbeafe}
.pre-cadastro-public-form{display:grid;gap:18px}
.pre-public-section{border:1px solid #e2e8f0;border-radius:18px;padding:18px;background:#fbfdff}
.pre-public-section textarea{min-height:110px}
.pre-public-actions{justify-content:flex-end}
.pre-cadastro-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.pre-link-box{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pre-link-box input{flex:1;min-width:280px}
.pre-detail-grid{display:grid;gap:18px}
.pre-detail-list{display:grid;gap:10px;font-size:14px}
.pre-detail-list div{padding-bottom:10px;border-bottom:1px solid #edf2f7}
.pre-attachments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pre-attachment-card{display:grid;gap:4px;padding:14px;border:1px solid #dbe4ee;border-radius:14px;background:#f8fbff;color:#0f172a}
.pre-log-list{display:grid;gap:12px}
.pre-log-list article{padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfdff}
@media (max-width:980px){.pre-cadastro-public-shell{padding:18px 12px 28px}.pre-cadastro-public-card{padding:18px;border-radius:18px}.pre-cadastro-public-head h1{font-size:1.65rem}.pre-public-actions{justify-content:stretch}.pre-public-actions button{width:100%}}


/* =========================================================
   V98 OPERACIONAL INTELIGENTE — mobile e leitura de plantão
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }
  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section,
  .table-wrap {
    filter: none !important;
    backdrop-filter: none !important;
  }
  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary {
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }
  .page-header::after,
  .module-hero::after,
  .page-header::before,
  .module-hero::before {
    display: none !important;
  }
  body { background: #f4f7fb !important; }
  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }
  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }
}

/* V101.1 PLANTÃO REAL — simplificação radical mobile */
@media (max-width: 980px) {
  .decision-status-grid,
  .grid.grid-2,
  .grid.grid-3,
  .form-grid-4,
  .form-grid-5,
  .admissao-steps {
    grid-template-columns: 1fr !important;
  }
  .simple-list-item,
  .table-wrap,
  .card.page-section,
  .residente-form-card {
    border-radius: 16px !important;
  }
  .button,
  .button.secondary,
  button,
  input,
  select,
  textarea {
    min-height: 44px;
  }
  table thead {
    display: none !important;
  }
  table,
  table tbody,
  table tr,
  table td {
    display: block;
    width: 100%;
  }
  table tr {
    padding: 12px;
    border-bottom: 1px solid #e5e7eb;
  }
  table td {
    padding: 6px 0 !important;
    border: 0 !important;
  }
  .actions-inline {
    gap: 8px !important;
  }
  .actions-inline .button,
  .actions-inline .tab-link {
    width: 100%;
    justify-content: center;
  }
}


/* =========================================================
   PATCH MOBILE FINAL — CONTEÚDO LIMPO E SEM NÉVOA
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }
  body.sidebar-open .sidebar-overlay,
  .sidebar.is-open + .content .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section {
    filter: none !important;
    backdrop-filter: none !important;
  }
  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .decision-status-box,
  .dashboard-insight-box {
    background: #ffffff !important;
    backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }
  .page-header::after,
  .module-hero::after,
  .page-header::before,
  .module-hero::before {
    display: none !important;
  }
  body {
    background: #f4f7fb !important;
  }
  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }
  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }
  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }
  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted {
    color: #64748b !important;
    opacity: 1 !important;
  }
  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
  }
  .kpi-card,
  .dashboard-mini-kpi,
  .mini-stat,
  .summary-tile {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  }
  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }
}


/* =========================================================
   POLIMENTO FINAL V101.1 — CHECKLIST / ADMISSÃO / MOBILE
========================================================= */
.checklist-puro-row{grid-template-columns:minmax(0,1fr) 84px 120px auto}
.checklist-puro-row strong{font-size:14px;color:#0f172a}
.checklist-puro-row span{color:#334155}
.checklist-puro-hora{font-weight:800;color:#0f172a!important}
.checklist-puro-status{font-weight:800}
.row-overdue .checklist-puro-status,
.plantao-row.is-overdue .plantao-status{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important}
@media (max-width:980px){
  .checklist-puro-row{grid-template-columns:1fr;align-items:flex-start!important}
  .checklist-puro-hora,.checklist-puro-status{text-align:left!important;min-width:0!important}
}
@media (max-width:768px){
  .admissao-steps{grid-template-columns:1fr 1fr}
  .wizard-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .wizard-nav-btn{width:100%}
}
@media (max-width:980px){
  .page-header,
  .card,
  .table-wrap,
  .mini-card,
  .shortcut-card,
  .timeline-content,
  .task-item,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .decision-status-box,
  .dashboard-insight-box,
  .dashboard-dominant-main,
  .dashboard-dominant-side,
  .module-hero,
  .wizard-actions {
    background:#fff!important;
    border-color:#dbe4ee!important;
    box-shadow:0 6px 18px rgba(15,23,42,.06)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .mobile-topbar,
  .sidebar-overlay,
  .module-hero::before,
  .module-hero::after,
  .page-header::before,
  .page-header::after {
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .summary-chip,
  .status-badge,
  .care-chip,
  .pill {
    box-shadow:none!important;
  }
  body,
  .content,
  .page-shell {
    background:#f4f7fb!important;
  }
}


/* =========================================================
   POLIMENTO FINAL V101.5 — DASHBOARD + ADMISSÃO GUIADA
========================================================= */
.admissao-wizard-shell{display:grid;gap:14px;border:1px solid #dbe4ee}
.admissao-wizard-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.admissao-progress-bar{width:100%;height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.admissao-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#0f766e);transition:width .2s ease}
.admissao-stage-card{display:grid;gap:6px;padding:14px 16px;border:1px solid #dbe4ee;border-radius:16px;background:#f8fbff}
.admissao-stage-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.admissao-stage-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe;font-weight:800;font-size:12px;letter-spacing:.04em}
.admissao-stage-meta{font-size:12px;font-weight:700;color:#475569}
.admissao-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.admissao-step{display:grid;gap:4px;padding:12px;border:1px solid #dbe4ee;border-radius:16px;background:#fff;transition:.2s ease}
.admissao-step span{display:inline-flex;width:28px;height:28px;border-radius:999px;align-items:center;justify-content:center;background:#e2e8f0;color:#334155;font-weight:800}
.admissao-step strong{font-size:13px;color:#0f172a}
.admissao-step small{font-size:12px;color:#64748b}
.admissao-step.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 24px rgba(37,99,235,.10)}
.admissao-step.active span{background:#2563eb;color:#fff}
.admissao-step.done{border-color:#bbf7d0;background:#f0fdf4}
.admissao-step.done span{background:#16a34a;color:#fff}
.wizard-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.wizard-nav-btn{width:100%;justify-content:center}
.page-dashboard .section-heading p{display:none}
.page-dashboard .dashboard-focus-heading p{display:none}
.page-dashboard .decision-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){
  .admissao-steps,.wizard-nav,.page-dashboard .decision-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:768px){
  .admissao-wizard-head,.admissao-stage-top{align-items:flex-start}
  .admissao-steps,.wizard-nav,.page-dashboard .decision-status-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .admissao-steps,.wizard-nav,.page-dashboard .decision-status-grid{grid-template-columns:1fr}
}


/* Final absolute polish v101 */
.page-dashboard .section-heading p{display:none}
.page-dashboard .dashboard-focus-heading p{display:none}
.dashboard-action-card-critico{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}
.dashboard-action-card-risco{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffdf5)}
.dashboard-action-card-operacao{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f8fbff)}
.dashboard-zero-idle .section-heading h3{letter-spacing:.02em}
.admissao-wizard-shell{border:1px solid #dbe4ee;background:linear-gradient(180deg,#fff,#f8fbff)}
.admissao-wizard-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.admissao-stage-card .muted{margin:0}
@media (max-width: 980px){
  .dashboard-action-grid{grid-template-columns:1fr}
}


/* POLIMENTO FINAL FECHADO — PRESCRIÇÃO + DASHBOARD + ADMISSÃO */
.dashboard-action-only .dashboard-dominant-main{gap:16px}
.dashboard-heading-compact h3{margin:0;font-size:15px;letter-spacing:.08em}
.dashboard-critical-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dashboard-critical-kpi{display:grid;gap:6px;padding:18px 20px;border:1px solid #dbe4ee;background:#fff}
.dashboard-critical-kpi span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#64748b}
.dashboard-critical-kpi strong{font-size:34px;line-height:1;color:#0f172a}
.dashboard-critical-kpi.is-critical{border-color:#fecaca;background:#fff7f7}
.dashboard-critical-kpi.is-risk{border-color:#fdba74;background:#fff7ed}
.dashboard-critical-kpi.is-operation{border-color:#bfdbfe;background:#eff6ff}
.dashboard-action-grid-pure .section-heading{margin-bottom:4px}
.dashboard-action-grid-pure .section-heading p{display:none}
.dashboard-action-grid-pure .simple-list-item{align-items:flex-start}
.dashboard-priority-metrics .simple-list-item strong{min-width:78px}
.admissao-status-line{font-weight:700;color:#334155}
.admissao-stage-counters{display:flex;gap:8px;flex-wrap:wrap}
.admissao-wizard-shell .summary-chip{font-size:11px;font-weight:800}
.admissao-step{position:relative}
.admissao-step.done::after{content:'OK';position:absolute;top:10px;right:10px;font-size:10px;font-weight:900;letter-spacing:.08em;color:#166534}
.admissao-step.active{box-shadow:0 0 0 3px rgba(37,99,235,.12),0 12px 28px rgba(37,99,235,.14)}
.wizard-nav-btn{transition:transform .15s ease,background .15s ease,border-color .15s ease}
.wizard-nav-btn.active{transform:translateY(-1px)}
@media (max-width: 980px){
  .dashboard-critical-strip{grid-template-columns:1fr}
}
@media (max-width: 768px){
  .admissao-stage-counters{width:100%}
  .admissao-stage-counters .summary-chip{justify-content:center}
}


/* =========================================================
   POLIMENTO FINAL V101.6 — ESCOPO FECHADO
   PRESCRIÇÃO + DASHBOARD + ADMISSÃO
========================================================= */
.prescricao-grade-lock{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:800}
.dashboard-action-only .section-heading p,
.dashboard-action-card .section-heading p,
.dashboard-zero-idle .section-heading p{display:none}
.dashboard-priority-metrics .simple-list-item strong,
.dashboard-priority-metrics .simple-list-item span{font-weight:800}
.dashboard-critical-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dashboard-critical-kpi{padding:18px 20px;border:1px solid #dbe4ee;border-radius:18px;background:#fff;display:grid;gap:6px}
.dashboard-critical-kpi span{font-size:12px;font-weight:900;letter-spacing:.08em;color:#475569}
.dashboard-critical-kpi strong{font-size:34px;line-height:1;color:#0f172a}
.dashboard-critical-kpi.is-critical{border-color:#fecaca;background:#fff7f7}
.dashboard-critical-kpi.is-risk{border-color:#fdba74;background:#fff7ed}
.dashboard-critical-kpi.is-operation{border-color:#bfdbfe;background:#f8fbff}
.dashboard-action-grid-pure .card{border-width:1px}
.dashboard-action-grid-pure .simple-list-item{align-items:center}
.admissao-wizard-shell{position:relative;overflow:hidden}
.admissao-wizard-shell::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e);opacity:.95}
.admissao-status-line{font-weight:700;color:#334155}
.admissao-stage-card{border-width:1px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.admissao-stage-top strong{font-size:18px;color:#0f172a}
.admissao-step{position:relative}
.admissao-step.done{background:#ecfdf5;border-color:#86efac}
.admissao-step.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12),0 12px 28px rgba(37,99,235,.12)}
.admissao-step.pending{background:#fffaf0;border-color:#fcd34d}
.admissao-step[aria-current='step']::after{content:'ETAPA ATUAL';position:absolute;top:10px;right:10px;font-size:10px;font-weight:900;letter-spacing:.08em;color:#1d4ed8}
.wizard-nav-btn{min-height:48px;font-weight:800}
.wizard-nav-btn.active{box-shadow:0 0 0 3px rgba(15,23,42,.08)}
@media (max-width: 900px){
  .dashboard-critical-strip{grid-template-columns:1fr}
}


/* POLIMENTO FINAL ABSOLUTO — admissão guiada */
.admissao-wizard-shell{border:1px solid #dbe4ee;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.admissao-status-line{font-weight:800;color:#0f172a}
.admissao-stage-card{border:1px solid #bfdbfe;background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);box-shadow:0 14px 30px rgba(37,99,235,.10)}
.admissao-chip-strong{font-weight:900;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}
.admissao-step{position:relative}
.admissao-step.active{border-width:2px;box-shadow:0 0 0 4px rgba(37,99,235,.16),0 18px 36px rgba(37,99,235,.18);transform:translateY(-3px) scale(1.01)}
.admissao-step.active strong,.admissao-step.active small{color:#0f172a}
.admissao-step.future{opacity:.72}
.wizard-nav-btn{font-weight:900}
.wizard-nav-btn.active{box-shadow:0 10px 24px rgba(15,23,42,.16)}
.wizard-nav-btn.done{background:#ecfdf5;border-color:#86efac;color:#166534}

/* POLIMENTO FINAL ABSOLUTO — dashboard ação */
.dashboard-action-card .simple-list-item strong{font-size:13px;letter-spacing:.02em}
.dashboard-action-card .simple-list-item span{color:#334155;font-weight:700}
.dashboard-action-card .button-sm{font-weight:900;letter-spacing:.02em}
.dashboard-critical-kpi{min-height:112px}
.dashboard-zero-idle .simple-list-item strong{letter-spacing:.04em}


/* =========================================================
   POLIMENTO FINAL V103 — DASHBOARD + ADMISSÃO
========================================================= */
.dashboard-click-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-decoration:none;color:inherit;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.dashboard-click-row:hover{border-color:#2563eb;box-shadow:0 10px 24px rgba(37,99,235,.10);transform:translateY(-1px)}
.dashboard-click-row span{max-width:100%}
.dashboard-click-row .status-badge{white-space:nowrap}
.residente-form-shell .wizard-step[data-step='5']{display:none}
.residente-form-shell .wizard-step.active[data-step='5']{display:block}
@media (max-width: 980px){
  .dashboard-click-row{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   PATCH MOBILE PLANTÃO — PRESCRIÇÕES + TAREFAS + FINANCEIRO
========================================================= */
.plantao-turn-card .section-heading p{margin-bottom:0}
.plantao-turn-item{align-items:center;gap:10px}
.plantao-turn-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.plantao-execute-btn{font-weight:900;letter-spacing:.03em}
.summary-chip.danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
@media (max-width: 980px){
  .sidebar-overlay{display:none!important;opacity:0!important;pointer-events:none!important;background:rgba(15,23,42,.22)!important;backdrop-filter:none!important}
  body.sidebar-open .sidebar-overlay{display:block!important;opacity:1!important;pointer-events:auto!important}
  .content,.content-inner,.page-shell,.dashboard-stack,.page-section{filter:none!important;backdrop-filter:none!important}
  .card,.table-wrap,.page-header,.shortcut-card,.mini-card,.task-item,.timeline-content,.last-evolution-box,.simple-list-item,.unit-item,.finance-summary-box,.dashboard-product-header,.dashboard-overview-card,.dashboard-mini-kpi,.dashboard-wp-summary{background:#fff!important;backdrop-filter:none!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important;border:1px solid #dbe4ee!important}
  .page-header::after,.module-hero::after,.page-header::before,.module-hero::before{display:none!important}
  body{background:#f4f7fb!important}
  .mobile-topbar{background:#fff!important;border-bottom:1px solid #dbe4ee!important;backdrop-filter:none!important;box-shadow:0 2px 8px rgba(15,23,42,.04)!important}
  .content{padding:16px 12px 22px!important;padding-top:92px!important}
  .page-header h1,.dashboard-wp-summary h2,.dashboard-product-header-main h2,.module-hero h2,.dashboard-hero h2,.residente-nome{color:#0f172a!important;font-size:24px!important;line-height:1.1!important}
  .page-header p,.dashboard-wp-summary p,.dashboard-product-header-main p,.module-hero p,.dashboard-hero p,.section-heading p,.card p,.muted{color:#64748b!important;opacity:1!important}
  .pill,.summary-chip,.overview-badge,.permission-pill{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;box-shadow:none!important}
  .kpi-card,.dashboard-mini-kpi,.mini-stat,.summary-tile{background:#fff!important;border:1px solid #dbe4ee!important;box-shadow:0 4px 14px rgba(15,23,42,.05)!important}
  body:not(.sidebar-open) .content,body:not(.sidebar-open) .content-inner,body:not(.sidebar-open) .page-shell,body:not(.sidebar-open) .dashboard-stack{opacity:1!important}
  .plantao-turn-item,.checklist-puro-row,.simple-list-item{padding:12px 14px!important}
  .plantao-turn-actions,.actions-inline{width:100%}
  .plantao-turn-actions form,.actions-inline form,.actions-inline a,.plantao-turn-actions a{flex:1 1 auto}
  .button,.button-sm,.plantao-execute-btn{min-height:46px!important;justify-content:center}
  .table-wrap table thead{display:none}
  .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}
  .table-wrap tr{padding:12px;border-bottom:1px solid #e5e7eb}
  .table-wrap td{padding:6px 0!important;border:none!important}
}

/* POLIMENTO FINAL ABSOLUTO — EXECUÇÃO DIRETA */
[data-inline-row].is-executed{opacity:.72;transition:opacity .15s ease,background .15s ease,border-color .15s ease}
[data-inline-row].is-executed [data-inline-status].summary-chip,
[data-inline-row].is-executed [data-inline-status].status-badge{background:#ecfdf5!important;border:1px solid #86efac!important;color:#166534!important}
.plantao-turn-item [data-inline-status],
.checklist-puro-row [data-inline-status]{font-weight:900}
@media (max-width: 980px){
  .plantao-turn-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px!important;align-items:center!important}
  .checklist-puro-row{gap:8px!important}
  .plantao-execute-btn,.js-inline-exec-form .button{font-size:15px!important;font-weight:900!important;padding:0 16px!important}
  .plantao-turn-item strong,.checklist-puro-row strong{font-size:15px!important}
  .plantao-turn-item span,.checklist-puro-row span,.checklist-puro-hora{font-size:13px!important}
}


/* V101_23 FINAL — EXECUTAR DOMINANTE E ZERO ESTRUTURA VAZIA */
@media (max-width:980px){
  .plantao-row{box-shadow:none!important}
  .plantao-row-main{gap:2px!important}
  .plantao-row-main span{font-size:13px!important}
  .plantao-row .plantao-execute-dominant,
  .plantao-actions .plantao-execute-dominant,
  .plantao-actions .button{min-height:54px!important;font-size:16px!important;font-weight:900!important}
}


/* =========================================================
   PATCH MOBILE OPERACIONAL V101_49
========================================================= */
@media (max-width: 980px) {
  .content, .content-inner, .page-shell, .dashboard-stack, .page-section, .dashboard-recent-feed, .dashboard-resident-focus, .plantao-turn-card, .simple-list-item {
    background:#ffffff !important;
    filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
  }
  .plantao-turn-card, .dashboard-recent-feed, .dashboard-resident-focus, .card, .table-wrap, .page-header {
    border:1px solid #dbe4ee !important;
    border-radius:16px !important;
  }
  .simple-list-item, .plantao-turn-item, .dashboard-resident-item {
    min-height:52px !important;
    align-items:center !important;
  }
  .button, .button-sm, .plantao-execute-btn, .js-inline-exec-form .button {
    min-height:48px !important;
    border-radius:12px !important;
    font-weight:900 !important;
  }
  .summary-chip.danger, .status-badge.danger {
    background:#fff1f2 !important;
    color:#be123c !important;
    border:1px solid #fecdd3 !important;
  }
  .summary-chip.success, .status-badge.success {
    background:#ecfdf5 !important;
    color:#166534 !important;
    border:1px solid #86efac !important;
  }
}


/* =========================================================
   PATCH MOBILE OPERACIONAL V101_51
========================================================= */
@media (max-width: 980px) {
  .dashboard-integrity-proof,
  .dashboard-integrity-proof .simple-list-item,
  .alert-card,
  .plantao-turn-card,
  .task-item,
  .summary-tile,
  .kpi-card,
  .button,
  .button-primary,
  .button-sm {
    backdrop-filter: none !important;
    filter: none !important;
  }

  .dashboard-integrity-proof,
  .dashboard-integrity-proof .simple-list-item,
  .alert-card,
  .plantao-turn-card,
  .task-item,
  .summary-tile,
  .kpi-card,
  .mobile-topbar,
  .page-header,
  .card {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
  }

  .button,
  .button-primary,
  .button-sm,
  .plantao-execute-btn,
  .js-inline-exec-form .button {
    min-height: 48px !important;
    min-width: 48px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
  }

  .summary-chip,
  .status-badge,
  .pill {
    opacity: 1 !important;
    font-weight: 800 !important;
  }
}


/* ===== V101_52D · estrutura residentes sem esmagamento lateral ===== */
.page-residentes .residentes-layout {
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.16fr);
  align-items: start;
}

.page-residentes .residentes-layout > .residentes-col-left,
.page-residentes .residentes-layout > .residentes-col-right,
.page-residentes .residentes-layout > .card,
.page-residentes .residentes-layout > .table-wrap {
  min-width: 0;
  width: 100%;
}

.page-residentes .residentes-col-right {
  min-width: 0;
}

.page-residentes .residentes-col-right .hospedes-toolbar,
.page-residentes .residentes-col-right .hospedes-quick-links,
.page-residentes .residentes-col-right .hospede-card {
  min-width: 0;
}

.page-residentes .residentes-col-right .hospedes-toolbar .filters,
.page-residentes .residentes-col-right .hospede-primary,
.page-residentes .residentes-col-right .hospede-actions-col,
.page-residentes .residentes-col-right .hospede-side-icons {
  min-width: 0;
}

.page-residentes .residentes-col-right .hospedes-toolbar .filters input {
  min-width: 0;
  width: min(100%, 340px);
}

.page-residentes .residentes-col-right .hospede-card {
  grid-template-columns:
    96px
    minmax(0, 1.35fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    56px;
  align-items: start;
}

.page-residentes .residentes-col-right .hospede-primary h4,
.page-residentes .residentes-col-right .hospede-primary .meta,
.page-residentes .residentes-col-right .hospede-actions-col strong,
.page-residentes .residentes-col-right .hospede-actions-col span,
.page-residentes .residentes-col-right .hospede-actions-col a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.page-residentes .residentes-col-right .hospede-actions-col a,
.page-residentes .residentes-col-right .hospede-actions-col span {
  width: 100%;
}

.page-residentes .residentes-col-right .hospede-side-icons {
  align-self: stretch;
  justify-items: stretch;
}

.page-residentes .residentes-col-right .hospede-side-icons a {
  width: 100%;
}

@media (max-width: 1440px) {
  .page-residentes .residentes-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  }

  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns:
      88px
      minmax(0, 1.2fr)
      minmax(0, 0.95fr)
      minmax(0, 0.95fr)
      minmax(0, 0.95fr)
      52px;
    gap: 14px;
  }
}

@media (max-width: 1280px) {
  .page-residentes .residentes-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
  }

  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 88px minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
    grid-template-areas:
      'avatar primary operacao icons'
      'avatar primary pendencias icons'
      'avatar primary administrativo icons';
  }

  .page-residentes .residentes-col-right .hospede-card > :nth-child(1) { grid-area: avatar; }
  .page-residentes .residentes-col-right .hospede-card > :nth-child(2) { grid-area: primary; }
  .page-residentes .residentes-col-right .hospede-card > :nth-child(3) { grid-area: operacao; }
  .page-residentes .residentes-col-right .hospede-card > :nth-child(4) { grid-area: pendencias; }
  .page-residentes .residentes-col-right .hospede-card > :nth-child(5) { grid-area: administrativo; }
  .page-residentes .residentes-col-right .hospede-card > :nth-child(6) {
    grid-area: icons;
    justify-items: stretch;
    align-self: start;
  }
}

@media (max-width: 1120px) {
  .page-residentes .residentes-layout {
    grid-template-columns: 1fr;
  }

  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 88px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      'avatar primary icons'
      'operacao operacao operacao'
      'pendencias pendencias pendencias'
      'administrativo administrativo administrativo';
  }

  .page-residentes .residentes-col-right .hospede-side-icons {
    grid-auto-flow: row;
  }
}


/* ===== V101_52E · regressão tableExists + polimento card direito ===== */
.page-residentes .residentes-col-right .hospede-card {
  gap: 20px;
  padding: 20px 22px;
  grid-template-columns:
    96px
    minmax(0, 1.45fr)
    minmax(210px, 1fr)
    minmax(190px, 0.92fr)
    minmax(220px, 1.02fr)
    64px;
}

.page-residentes .residentes-col-right .hospede-primary {
  gap: 10px;
  padding-right: 4px;
}

.page-residentes .residentes-col-right .hospede-actions-col {
  gap: 10px;
  align-content: start;
  padding: 10px 12px;
  border: 1px solid #e5edf5;
  border-radius: 14px;
  background: #fcfdff;
}

.page-residentes .residentes-col-right .hospede-actions-col strong {
  display: block;
  margin: 0;
  color: #0f172a;
  line-height: 1.2;
}

.page-residentes .residentes-col-right .hospede-actions-col a,
.page-residentes .residentes-col-right .hospede-actions-col span {
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 10px;
  line-height: 1.35;
}

.page-residentes .residentes-col-right .hospede-actions-col span {
  display: flex;
  align-items: center;
  border: 1px solid #edf2f7;
  background: #ffffff;
  color: #334155;
}

.page-residentes .residentes-col-right .hospede-actions-col-admin {
  min-width: 220px;
}

.page-residentes .residentes-col-right .hospede-actions-col-admin a {
  gap: 10px;
  font-weight: 700;
}

.page-residentes .residentes-col-right .hospede-actions-col-pendencias span {
  justify-content: flex-start;
}

.page-residentes .residentes-col-right .hospede-side-icons {
  gap: 10px;
  padding-left: 2px;
}

.page-residentes .residentes-col-right .hospede-side-icons a {
  min-width: 40px;
  min-height: 40px;
  width: 40px;
  height: 40px;
  font-size: 16px;
}

@media (max-width: 1440px) {
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns:
      88px
      minmax(0, 1.28fr)
      minmax(190px, 0.98fr)
      minmax(176px, 0.9fr)
      minmax(205px, 1fr)
      58px;
    gap: 16px;
  }
}

@media (max-width: 1280px) {
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 88px minmax(0, 1.3fr) minmax(0, 1fr) 64px;
    grid-template-areas:
      'avatar primary operacao icons'
      'avatar primary pendencias icons'
      'avatar primary administrativo icons';
    gap: 14px;
  }

  .page-residentes .residentes-col-right .hospede-actions-col {
    padding: 10px 11px;
  }
}

@media (max-width: 1180px) {
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 88px minmax(0, 1fr) 58px;
    grid-template-areas:
      'avatar primary icons'
      'operacao operacao operacao'
      'pendencias pendencias pendencias'
      'administrativo administrativo administrativo';
  }
}


/* ===== V101_52F · correção de colapso, texto vertical e grid do card ===== */
.page-residentes .residentes-layout,
.page-residentes .residentes-page {
  display: grid;
  grid-template-columns: minmax(420px, 1.1fr) minmax(520px, 1fr);
  gap: 24px;
  align-items: start;
}

.page-residentes .residentes-col-right,
.page-residentes .residentes-col-left {
  width: 100%;
}

.page-residentes .resident-card,
.page-residentes .residentes-col-right .hospede-card {
  display: grid;
  grid-template-columns: 80px minmax(220px, 1fr) minmax(180px, 220px) minmax(180px, 220px) minmax(160px, 200px);
  grid-template-areas: "avatar main actions pending admin";
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
}

.page-residentes .resident-card > :nth-child(1) { grid-area: avatar; }
.page-residentes .resident-card > :nth-child(2) { grid-area: main; }
.page-residentes .resident-card > :nth-child(3) { grid-area: actions; }
.page-residentes .resident-card > :nth-child(4) { grid-area: pending; }
.page-residentes .resident-card > :nth-child(5) { grid-area: admin; }
.page-residentes .resident-card > :nth-child(6) {
  grid-area: admin;
  justify-self: end;
  align-self: center;
  margin-left: 8px;
}

.page-residentes .resident-main,
.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin {
  min-width: auto;
}

.page-residentes .resident-main {
  min-width: 220px;
  padding-right: 8px;
}

.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin {
  min-width: 160px;
}

.page-residentes .resident-name,
.page-residentes .resident-main h4 {
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
  display: block;
  max-width: 100%;
}

.page-residentes .resident-main .meta,
.page-residentes .resident-actions strong,
.page-residentes .resident-actions a,
.page-residentes .resident-pending strong,
.page-residentes .resident-pending span,
.page-residentes .resident-admin strong,
.page-residentes .resident-admin a {
  word-break: normal;
  overflow-wrap: break-word;
}

.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin {
  gap: 10px;
  padding: 12px 14px;
}

.page-residentes .resident-card .hospede-side-icons {
  grid-area: admin;
  justify-self: end;
  align-self: center;
  display: grid;
  grid-auto-flow: row;
  gap: 8px;
  padding-left: 12px;
}

@media (max-width: 1460px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: minmax(380px, 1.02fr) minmax(500px, 1fr);
    gap: 20px;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 80px minmax(220px, 1fr) minmax(170px, 210px) minmax(170px, 210px) minmax(150px, 190px);
    gap: 14px;
  }
}

@media (max-width: 1320px) {
  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 80px minmax(220px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr);
    grid-template-areas:
      "avatar main actions admin"
      "avatar main pending admin";
    align-items: start;
  }

  .page-residentes .resident-card .hospede-side-icons {
    align-self: start;
  }
}

@media (max-width: 1160px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: 1fr;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 80px minmax(220px, 1fr) 64px;
    grid-template-areas:
      "avatar main admin"
      "actions actions actions"
      "pending pending pending";
  }

  .page-residentes .resident-admin {
    min-width: 180px;
  }
}


/* ===== V101_52G · ajuste final de largura do card direito ===== */
.page-residentes .residentes-layout,
.page-residentes .residentes-page {
  grid-template-columns: minmax(400px, 1.02fr) minmax(460px, 0.98fr);
  gap: 20px;
}

.page-residentes .resident-card,
.page-residentes .residentes-col-right .hospede-card {
  grid-template-columns:
    72px
    minmax(180px, 1fr)
    minmax(138px, 172px)
    minmax(136px, 170px)
    minmax(142px, 178px)
    48px;
  grid-template-areas: "avatar main actions pending admin icons";
  gap: 12px;
  align-items: start;
  padding: 16px 18px;
}

.page-residentes .resident-card > :nth-child(6),
.page-residentes .residentes-col-right .hospede-card > :nth-child(6) {
  grid-area: icons;
  justify-self: end;
  align-self: start;
  margin-left: 0;
}

.page-residentes .resident-main {
  min-width: 180px;
  padding-right: 4px;
}

.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin,
.page-residentes .residentes-col-right .hospede-actions-col {
  min-width: 0;
  padding: 10px 11px;
  gap: 8px;
}

.page-residentes .residentes-col-right .hospede-actions-col-admin {
  min-width: 0;
}

.page-residentes .resident-card .hospede-side-icons,
.page-residentes .residentes-col-right .hospede-side-icons {
  grid-area: icons;
  justify-self: end;
  align-self: start;
  gap: 8px;
  padding-left: 4px;
}

.page-residentes .resident-card .hospede-side-icons a,
.page-residentes .residentes-col-right .hospede-side-icons a {
  min-width: 36px;
  min-height: 36px;
  width: 36px;
  height: 36px;
}

@media (max-width: 1460px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: minmax(370px, 1fr) minmax(430px, 1fr);
    gap: 18px;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns:
      72px
      minmax(172px, 1fr)
      minmax(130px, 160px)
      minmax(128px, 156px)
      minmax(134px, 168px)
      44px;
    gap: 10px;
  }
}

@media (max-width: 1320px) {
  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 72px minmax(180px, 1fr) minmax(136px, 156px) minmax(136px, 156px) 44px;
    grid-template-areas:
      "avatar main actions admin icons"
      "avatar main pending admin icons";
    gap: 10px;
  }
}

@media (max-width: 1180px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: 1fr;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 72px minmax(180px, 1fr) 44px;
    grid-template-areas:
      "avatar main icons"
      "actions actions actions"
      "pending pending pending"
      "admin admin admin";
    gap: 10px;
  }
}

/* ===== V101_52H · eliminação final do corte lateral da direita ===== */
.page-residentes .residentes-layout,
.page-residentes .residentes-page {
  grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
}

.page-residentes .residentes-col-left,
.page-residentes .residentes-col-right,
.page-residentes .residentes-operacionais,
.page-residentes .residentes-operacionais .table-wrap,
.page-residentes .resident-card,
.page-residentes .residentes-col-right .hospede-card {
  min-width: 0;
}

.page-residentes .resident-card,
.page-residentes .residentes-col-right .hospede-card {
  grid-template-columns:
    64px
    minmax(160px, 1fr)
    minmax(120px, 148px)
    minmax(118px, 144px)
    minmax(122px, 150px)
    40px;
  grid-template-areas: "avatar main actions pending admin icons";
  gap: 8px;
  align-items: start;
  padding: 14px 14px;
}

.page-residentes .resident-card > :nth-child(1),
.page-residentes .residentes-col-right .hospede-card > :nth-child(1) { grid-area: avatar; }
.page-residentes .resident-card > :nth-child(2),
.page-residentes .residentes-col-right .hospede-card > :nth-child(2) { grid-area: main; }
.page-residentes .resident-card > :nth-child(3),
.page-residentes .residentes-col-right .hospede-card > :nth-child(3) { grid-area: actions; }
.page-residentes .resident-card > :nth-child(4),
.page-residentes .residentes-col-right .hospede-card > :nth-child(4) { grid-area: pending; }
.page-residentes .resident-card > :nth-child(5),
.page-residentes .residentes-col-right .hospede-card > :nth-child(5) { grid-area: admin; }
.page-residentes .resident-card > :nth-child(6),
.page-residentes .residentes-col-right .hospede-card > :nth-child(6) {
  grid-area: icons;
  justify-self: end;
  align-self: start;
  margin-left: 0;
}

.page-residentes .resident-main,
.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin,
.page-residentes .residentes-col-right .hospede-primary,
.page-residentes .residentes-col-right .hospede-actions-col,
.page-residentes .residentes-col-right .hospede-side-icons {
  min-width: 0;
}

.page-residentes .resident-main,
.page-residentes .residentes-col-right .hospede-primary {
  padding-right: 2px;
}

.page-residentes .resident-main h4,
.page-residentes .resident-name {
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.page-residentes .resident-actions,
.page-residentes .resident-pending,
.page-residentes .resident-admin,
.page-residentes .residentes-col-right .hospede-actions-col {
  gap: 7px;
  padding: 8px 9px;
}

.page-residentes .residentes-col-right .hospede-actions-col strong {
  font-size: 0.98rem;
}

.page-residentes .residentes-col-right .hospede-actions-col a,
.page-residentes .residentes-col-right .hospede-actions-col span,
.page-residentes .resident-actions a,
.page-residentes .resident-pending span,
.page-residentes .resident-admin a {
  padding: 6px 8px;
}

.page-residentes .resident-card .hospede-side-icons,
.page-residentes .residentes-col-right .hospede-side-icons {
  grid-area: icons;
  justify-self: end;
  align-self: start;
  gap: 6px;
  padding-left: 0;
}

.page-residentes .resident-card .hospede-side-icons a,
.page-residentes .residentes-col-right .hospede-side-icons a {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
}

@media (max-width: 1500px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr);
    gap: 16px;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns:
      60px
      minmax(150px, 1fr)
      minmax(114px, 138px)
      minmax(112px, 136px)
      minmax(118px, 140px)
      36px;
    gap: 7px;
    padding: 13px 12px;
  }
}

@media (max-width: 1380px) {
  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns:
      58px
      minmax(148px, 1fr)
      minmax(110px, 132px)
      minmax(110px, 132px)
      minmax(114px, 134px)
      36px;
    gap: 6px;
  }
}

@media (max-width: 1280px) {
  .page-residentes .residentes-layout,
  .page-residentes .residentes-page {
    grid-template-columns: 1fr;
  }

  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 64px minmax(180px, 1fr) minmax(120px, 150px) 40px;
    grid-template-areas:
      "avatar main admin icons"
      "actions actions pending pending";
    gap: 8px;
  }
}

@media (max-width: 1080px) {
  .page-residentes .resident-card,
  .page-residentes .residentes-col-right .hospede-card {
    grid-template-columns: 64px minmax(180px, 1fr) 40px;
    grid-template-areas:
      "avatar main icons"
      "actions actions actions"
      "pending pending pending"
      "admin admin admin";
  }
}


/* ===== V101_54 — polimento final das etapas de admissão ===== */
.residente-form-shell .wizard-nav{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;align-items:stretch}
.residente-form-shell .wizard-nav-btn{min-height:56px;padding:12px 14px;border-radius:16px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;white-space:normal;word-break:normal;overflow-wrap:normal}
.residente-form-shell .admissao-steps{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;align-items:stretch}
.residente-form-shell .admissao-step{min-height:124px;padding:18px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.residente-form-shell .admissao-step strong{font-size:14px;line-height:1.2;font-weight:800;white-space:normal;word-break:normal;overflow-wrap:normal;max-width:100%}
.residente-form-shell .admissao-step small{font-size:12px;line-height:1.25;font-weight:700;white-space:normal;word-break:normal;overflow-wrap:normal;max-width:100%}
.residente-form-shell .admissao-step span{width:32px;height:32px;flex:0 0 auto}
@media (max-width: 1280px){
  .residente-form-shell .wizard-nav,.residente-form-shell .admissao-steps{grid-template-columns:repeat(3,minmax(170px,1fr))}
}
@media (max-width: 900px){
  .residente-form-shell .wizard-nav,.residente-form-shell .admissao-steps{grid-template-columns:repeat(2,minmax(180px,1fr))}
}
@media (max-width: 768px){
  .residente-form-shell .wizard-nav,.residente-form-shell .admissao-steps{grid-template-columns:1fr}
  .residente-form-shell .admissao-step{min-height:110px}
}

/* =========================================================
   PATCH V101_55B — FIXAÇÃO GLOBAL REAL DO HEADER/MENU
========================================================= */
:root {
  --geri-header-offset-desktop: 164px;
  --geri-header-offset-mobile: 78px;
}

html {
  scroll-padding-top: var(--geri-header-offset-desktop);
}

body.geri-body {
  overflow-x: clip;
}

.geri-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1560px, calc(100vw - 24px));
  z-index: 96;
  padding: 10px 18px 0;
  background: transparent;
}

.geri-header::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  height: calc(100% + 8px);
  background: linear-gradient(180deg, rgba(244, 249, 246, 0.985) 0%, rgba(244, 249, 246, 0.965) 82%, rgba(244, 249, 246, 0.90) 100%);
  border-bottom: 1px solid rgba(190, 206, 198, 0.78);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(14px);
  pointer-events: none;
  z-index: -1;
}

.geri-header-top,
.geri-header-nav {
  position: relative;
  z-index: 1;
}

.geri-header-top {
  margin-bottom: 10px;
}

.geri-header-nav {
  background: rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(214, 225, 219, 0.96);
  border-radius: 18px;
  padding: 8px 10px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.geri-main {
  padding-top: calc(var(--geri-header-offset-desktop) + 14px);
}

.geri-main > .content-inner > :first-child,
.geri-main > :first-child {
  scroll-margin-top: calc(var(--geri-header-offset-desktop) + 12px);
}

@media (max-width: 980px) {
  html {
    scroll-padding-top: var(--geri-header-offset-mobile);
  }

  .geri-header {
    position: static;
    left: auto;
    transform: none;
    width: auto;
    padding-top: 0;
  }

  .geri-header::before {
    display: none;
  }

  .mobile-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 98;
    background: rgba(244, 249, 246, 0.98) !important;
    border-bottom: 1px solid rgba(214, 225, 219, 0.92) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(14px);
  }

  .geri-main {
    padding-top: calc(var(--geri-header-offset-mobile) + 12px);
  }

  .geri-main > .content-inner > :first-child,
  .geri-main > :first-child {
    scroll-margin-top: calc(var(--geri-header-offset-mobile) + 12px);
  }
}

/* =========================================================
   V101_56 — PADRONIZAÇÃO GLOBAL FINAL DO DESIGN SYSTEM
   ========================================================= */
:root {
  --ds-bg: #f4f7fb;
  --ds-surface: #ffffff;
  --ds-surface-soft: #f8fbff;
  --ds-text: #172033;
  --ds-muted: #64748b;
  --ds-border: #d9e2ef;
  --ds-border-strong: #c7d3e4;
  --ds-primary: #2563eb;
  --ds-primary-strong: #1d4ed8;
  --ds-primary-soft: #eff6ff;
  --ds-danger: #ef4444;
  --ds-radius-xl: 24px;
  --ds-radius-lg: 20px;
  --ds-radius-md: 16px;
  --ds-radius-sm: 12px;
  --ds-space-1: 8px;
  --ds-space-2: 12px;
  --ds-space-3: 16px;
  --ds-space-4: 20px;
  --ds-space-5: 24px;
  --ds-space-6: 28px;
  --ds-shadow-1: 0 10px 28px rgba(15, 23, 42, 0.06);
  --ds-shadow-2: 0 18px 42px rgba(15, 23, 42, 0.10);
}

html { background: var(--ds-bg); }
body.geri-body {
  color: var(--ds-text) !important;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.05), transparent 26%),
    linear-gradient(180deg, #f8fbff 0%, var(--ds-bg) 100%) !important;
}

body.geri-body,
body.geri-body input,
body.geri-body select,
body.geri-body textarea,
body.geri-body button {
  font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
}

.geri-main,
.content,
.content-inner {
  min-width: 0;
}

.content {
  padding-left: 30px;
  padding-right: 30px;
}

.content-inner {
  display: grid !important;
  gap: var(--ds-space-4) !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
}

.geri-page-intro,
.page-header,
.module-hero {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-space-4);
  padding: var(--ds-space-5) var(--ds-space-6) !important;
  border-radius: var(--ds-radius-xl) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;
  border: 1px solid rgba(199, 211, 228, 0.78) !important;
  box-shadow: var(--ds-shadow-1) !important;
  backdrop-filter: none !important;
}

.geri-page-intro h1,
.page-header h1,
.module-hero h2,
.dashboard-product-header-main h2 {
  margin: 0;
  color: var(--ds-text) !important;
  font-size: clamp(28px, 2.2vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em;
}

.geri-page-intro p,
.page-header p,
.module-hero p,
.dashboard-product-header-main p,
.section-heading p,
.table-header p,
.muted {
  color: var(--ds-muted) !important;
  line-height: 1.6 !important;
}

.page-eyebrow,
.module-kicker,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--ds-primary-strong) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-eyebrow::before,
.module-kicker::before,
.eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ds-primary);
}

.card,
.table-wrap,
.mini-card,
.shortcut-card,
.dashboard-product-header,
.dashboard-overview-card,
.dashboard-status-card,
.summary-chip,
.last-evolution-box,
.simple-list-item,
.finance-summary-box,
.operational-summary-card,
.operational-action-card,
.operational-premium-card,
.empty-state-card,
.geri-empty-panel,
.residente-form-card,
.acompanhamento-card,
.acompanhamento-toolbar-card,
.acompanhamento-operational-card,
.acompanhamento-decision-card,
.login-card,
.dashboard-panel,
.score-card,
.priority-now-card,
.next-action-system,
.forced-action-banner {
  background: var(--ds-surface) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-lg) !important;
  box-shadow: var(--ds-shadow-1) !important;
  backdrop-filter: none !important;
}

.card,
.mini-card,
.shortcut-card,
.dashboard-overview-card,
.dashboard-status-card,
.operational-summary-card,
.operational-action-card,
.operational-premium-card,
.acompanhamento-card,
.acompanhamento-toolbar-card,
.acompanhamento-operational-card,
.acompanhamento-decision-card,
.score-card,
.priority-now-card,
.next-action-system,
.forced-action-banner,
.login-card {
  padding: var(--ds-space-5) !important;
}

.table-wrap,
.dashboard-product-header,
.empty-state-card,
.geri-empty-panel,
.residente-form-card {
  padding: var(--ds-space-5) !important;
}

.card:hover,
.shortcut-card:hover,
.dashboard-overview-card:hover,
.dashboard-status-card:hover,
.acompanhamento-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--ds-shadow-2) !important;
}

.table-header,
.section-heading,
.acompanhamento-operational-heading,
.task-header-row,
.last-evolution-head,
.decisao-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ds-space-3);
  margin-bottom: var(--ds-space-3);
}

.table-header h3,
.section-heading h3,
.card h3,
.shortcut-top strong,
.decisao-header h3,
.acompanhamento-card-head h3,
.task-header-row h4 {
  margin: 0;
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: var(--ds-text) !important;
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.shortcut-grid,
.kpis,
.acompanhamento-grid,
.acompanhamento-kpis,
.operational-summary-grid,
.operational-actions-grid,
.operational-bar-grid,
.module-hero-grid,
.dashboard-panels,
.dashboard-kpis,
.dashboard-kpis-primary,
.dashboard-kpis-secondary,
.summary-pills {
  gap: var(--ds-space-4) !important;
}

.kpi-card,
.module-stat,
.summary-chip,
.mini-pill,
.stat-number {
  border-radius: var(--ds-radius-md) !important;
}

.kpi-card,
.module-stat,
.summary-chip,
.summary-value,
.stat-number,
.premium-card-value {
  background: linear-gradient(180deg, #ffffff, #f9fbff) !important;
  border: 1px solid rgba(206, 218, 233, 0.92) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
}

.kpi-card {
  padding: 20px !important;
}

.kpi-card > span,
.kpi-card > small,
.summary-label,
.card-submeta,
.meta,
.meta-label,
.small-inline {
  color: var(--ds-muted) !important;
}

.kpi-card > strong,
.summary-value,
.stat-number,
.premium-card-value {
  color: var(--ds-text) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

button,
.button,
a.button,
input[type="button"],
input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px !important;
  border-radius: 12px !important;
  border: 1px solid transparent;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-decoration: none;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

button:not(.secondary):not(.danger),
.button:not(.secondary):not(.danger),
a.button:not(.secondary):not(.danger),
input[type="submit"] {
  background: var(--ds-primary) !important;
  border-color: var(--ds-primary) !important;
  color: #fff !important;
}

.button.secondary,
button.secondary,
a.button.secondary,
input[type="button"].secondary {
  background: #fff !important;
  color: #334155 !important;
  border-color: var(--ds-border-strong) !important;
}

.button.danger,
button.danger,
a.button.danger {
  background: var(--ds-danger) !important;
  border-color: var(--ds-danger) !important;
  color: #fff !important;
}

button:hover,
.button:hover,
a.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.16) !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  min-height: 46px;
  padding: 11px 14px !important;
  border-radius: 12px !important;
  border: 1px solid var(--ds-border) !important;
  background: #fff !important;
  color: var(--ds-text) !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus,
.button:focus {
  outline: none;
  border-color: rgba(37, 99, 235, 0.42) !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10) !important;
}

.filters-inline,
.filters,
.toolbar-filter,
.operational-filters-group,
.more-filters-row,
.hospedes-toolbar,
.module-toolbar,
.residente-toolbar,
.acompanhamento-toolbar,
.alert-filter-toolbar {
  display: grid;
  gap: var(--ds-space-3);
  padding: var(--ds-space-4) !important;
  background: var(--ds-surface) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-lg) !important;
  box-shadow: var(--ds-shadow-1) !important;
}

.filters-form,
.toolbar-actions,
.actions-inline,
.more-filters-actions,
.operational-more-filters,
.summary-pills,
.acompanhamento-inline-badges,
.hospedes-quick-links,
.wizard-actions,
.wizard-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px !important;
}

.pill,
.mini-pill,
.summary-chip,
.admissao-stage-badge,
.admissao-chip-strong,
.overview-badge,
.permission-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: var(--ds-primary-soft) !important;
  color: var(--ds-primary-strong) !important;
  border: 1px solid #bfdbfe !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.simple-list,
.residente-info-list,
.compact-care-list-dense {
  display: grid;
  gap: 12px;
}

.simple-list-item,
.residente-info-row,
.compact-care-item-final,
.task-item,
.unit-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px !important;
}

.admissao-wizard-shell,
.admissao-steps,
.wizard-nav,
.wizard-actions {
  gap: 14px !important;
}

.admissao-stage-card,
.wizard-step,
.wizard-nav-btn,
.admissao-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 110px;
  padding: 18px 16px !important;
  border-radius: 18px !important;
  border: 1px solid var(--ds-border) !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  box-shadow: var(--ds-shadow-1) !important;
  text-align: center !important;
}

.admissao-stage-top,
.admissao-stage-meta {
  justify-content: center !important;
  gap: 8px !important;
}

.admissao-stage-card strong,
.wizard-step strong,
.wizard-nav-btn strong,
.admissao-step strong {
  display: block;
  color: var(--ds-text) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.admissao-stage-card small,
.wizard-step small,
.wizard-nav-btn small,
.admissao-step small {
  color: var(--ds-muted) !important;
  line-height: 1.4 !important;
}

.geri-header,
.mobile-topbar,
.geri-header-nav {
  backdrop-filter: none !important;
}

.geri-header-nav {
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(214, 225, 219, 0.96) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

.geri-header-brand-badge,
.geri-header-user-badge {
  border-radius: 999px;
}

.page-shell,
.page-shell-tight,
.residentes-layout,
.acompanhamento-page,
.residente-form-shell {
  gap: var(--ds-space-4) !important;
}

@media (max-width: 1280px) {
  .content {
    padding-left: 24px;
    padding-right: 24px;
  }

  .content-inner {
    max-width: 1200px !important;
  }

  .grid-4,
  .shortcut-grid,
  .dashboard-kpis-primary,
  .dashboard-kpis-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  .content {
    padding-left: 14px;
    padding-right: 14px;
  }

  .content-inner {
    gap: 14px !important;
  }

  .geri-page-intro,
  .page-header,
  .module-hero,
  .table-header,
  .section-heading,
  .task-header-row,
  .decisao-header {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 18px !important;
  }

  .card,
  .table-wrap,
  .mini-card,
  .shortcut-card,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-status-card,
  .operational-summary-card,
  .operational-action-card,
  .operational-premium-card,
  .acompanhamento-card,
  .acompanhamento-toolbar-card,
  .acompanhamento-operational-card,
  .acompanhamento-decision-card,
  .filters-inline,
  .filters,
  .toolbar-filter,
  .operational-filters-group,
  .module-toolbar,
  .residente-toolbar,
  .acompanhamento-toolbar,
  .alert-filter-toolbar,
  .residente-form-card,
  .empty-state-card,
  .geri-empty-panel,
  .login-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .shortcut-grid,
  .kpis,
  .acompanhamento-grid,
  .acompanhamento-kpis,
  .operational-summary-grid,
  .operational-actions-grid,
  .operational-bar-grid,
  .module-hero-grid,
  .dashboard-panels,
  .dashboard-kpis,
  .dashboard-kpis-primary,
  .dashboard-kpis-secondary,
  .residentes-layout,
  .page-shell,
  .page-shell-tight {
    grid-template-columns: 1fr !important;
  }

  .admissao-stage-card,
  .wizard-step,
  .wizard-nav-btn,
  .admissao-step {
    min-height: 96px;
  }
}


/* =========================================================
   V101_57 — PADRONIZAÇÃO VISUAL GLOBAL (BASE ORGANIZACIONAL)
   ========================================================= */
:root {
  --v57-bg: #f6f8fb;
  --v57-surface: #ffffff;
  --v57-surface-soft: #fbfcfe;
  --v57-border: #dbe4ee;
  --v57-border-soft: #e9eef5;
  --v57-text: #142235;
  --v57-muted: #5f7288;
  --v57-primary: #2563eb;
  --v57-primary-soft: #eff6ff;
  --v57-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  --v57-shadow-soft: 0 4px 16px rgba(15, 23, 42, 0.04);
  --v57-radius: 18px;
  --v57-radius-sm: 14px;
}

body.geri-body {
  background: linear-gradient(180deg, #f7fafc 0%, var(--v57-bg) 100%) !important;
  color: var(--v57-text);
}

.content-inner {
  max-width: 1320px !important;
  display: grid;
  gap: 20px;
}

.geri-header::before {
  background: linear-gradient(180deg, rgba(247,250,252,0.98) 0%, rgba(247,250,252,0.95) 70%, rgba(247,250,252,0.88) 100%) !important;
  border-bottom: 1px solid var(--v57-border-soft) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05) !important;
}

.geri-header-top {
  margin-bottom: 12px !important;
}

.geri-header-logo-mark {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #1d4ed8 0%, #0f766e 100%) !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.18) !important;
}

.geri-header-logo-text {
  font-size: 2.25rem !important;
  letter-spacing: -0.04em;
  color: #16324f !important;
}

.geri-header-logo-text span {
  color: #0f766e !important;
}

.geri-header-brand-badge,
.geri-header-user-badge {
  min-height: 36px;
  padding: 8px 14px !important;
  background: var(--v57-surface) !important;
  color: var(--v57-muted) !important;
  border: 1px solid var(--v57-border) !important;
  box-shadow: none !important;
  font-weight: 700;
}

.geri-header-nav {
  padding: 8px 10px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,0.98) !important;
  border: 1px solid var(--v57-border-soft) !important;
  box-shadow: var(--v57-shadow-soft) !important;
}

.menu, .geri-nav {
  gap: 8px !important;
}

.menu a, .geri-nav-link, .sidebar .menu a {
  min-height: 42px;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  color: #334155 !important;
  font-weight: 700 !important;
  background: transparent !important;
}

.menu a:hover, .geri-nav-link:hover, .sidebar .menu a:hover {
  background: #f8fbff !important;
  color: #16324f !important;
}

.menu a.active, .geri-nav-item.is-active > .geri-nav-link, .sidebar .menu a.active {
  background: var(--v57-primary-soft) !important;
  color: var(--v57-primary) !important;
  border: 1px solid #bfdbfe !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.geri-page-intro,
.page-header,
.module-hero,
.table-header,
.section-heading,
.residente-toolbar,
.acompanhamento-toolbar,
.filters-inline,
.filters,
.toolbar-filter,
.module-toolbar,
.alert-filter-toolbar,
.hospedes-toolbar {
  border-radius: var(--v57-radius) !important;
  border: 1px solid var(--v57-border) !important;
  background: linear-gradient(180deg, var(--v57-surface) 0%, var(--v57-surface-soft) 100%) !important;
  box-shadow: var(--v57-shadow-soft) !important;
}

.geri-page-intro, .page-header, .module-hero {
  padding: 22px 24px !important;
}

.page-eyebrow, .module-kicker, .eyebrow {
  margin-bottom: 8px !important;
}

.geri-page-intro h1, .page-header h1, .module-hero h2 {
  font-size: clamp(26px, 2vw, 32px) !important;
  font-weight: 800 !important;
}

.geri-page-intro p, .page-header p, .module-hero p, .table-header p, .section-heading p {
  max-width: 78ch;
  color: var(--v57-muted) !important;
  font-size: 14px !important;
}

.card, .mini-card, .shortcut-card, .table-wrap, .dashboard-product-header, .dashboard-overview-card,
.dashboard-status-card, .residente-form-card, .acompanhamento-card, .acompanhamento-toolbar-card,
.acompanhamento-operational-card, .acompanhamento-decision-card, .empty-state-card, .geri-empty-panel,
.login-card, .dashboard-panel, .score-card, .priority-now-card, .next-action-system, .forced-action-banner,
.page-section {
  border-radius: var(--v57-radius) !important;
  border: 1px solid var(--v57-border) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
  box-shadow: var(--v57-shadow) !important;
}

.card, .mini-card, .shortcut-card, .residente-form-card, .acompanhamento-card, .acompanhamento-toolbar-card,
.acompanhamento-operational-card, .acompanhamento-decision-card, .empty-state-card, .geri-empty-panel,
.page-section {
  padding: 20px !important;
}

.table-wrap {
  overflow: hidden;
}

.table-wrap table {
  border-collapse: separate;
  border-spacing: 0;
}

.table-wrap table thead th {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  background: #f8fafc !important;
  color: #526273 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--v57-border-soft) !important;
}

.table-wrap table tbody td {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.table-wrap table tbody tr:last-child td {
  border-bottom: none !important;
}

input:not([type="checkbox"]):not([type="radio"]), select, textarea {
  min-height: 44px !important;
  border-radius: 12px !important;
  border-color: var(--v57-border) !important;
  background: #fff !important;
}

.filters-form, .toolbar-actions, .actions-inline, .summary-pills, .hospedes-quick-links {
  gap: 10px !important;
}

button, .button, a.button, input[type="submit"], input[type="button"] {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

.button.secondary, button.secondary, a.button.secondary {
  background: #fff !important;
  border: 1px solid var(--v57-border) !important;
  color: #334155 !important;
}

.kpis, .dashboard-kpis, .dashboard-kpis-primary, .dashboard-kpis-secondary, .shortcut-grid, .grid-2, .grid-3, .grid-4,
.acompanhamento-grid, .acompanhamento-kpis, .dashboard-panels, .module-hero-grid, .operational-summary-grid, .operational-actions-grid,
.residentes-layout, .page-shell, .page-shell-tight {
  gap: 18px !important;
}

.kpi-card, .module-stat, .summary-tile, .summary-chip {
  min-height: 132px;
  padding: 18px !important;
  border-radius: 16px !important;
  border: 1px solid var(--v57-border-soft) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%) !important;
  box-shadow: var(--v57-shadow-soft) !important;
}

.simple-list-item, .residente-info-row, .task-item, .unit-item, .compact-care-item-final {
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid #e8eef5 !important;
  background: #fbfcfe !important;
}

.page-residentes .resident-card,
.page-residentes .residentes-col-right .hospede-card {
  border-radius: 18px !important;
  border: 1px solid var(--v57-border) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: var(--v57-shadow-soft) !important;
}

.page-residentes .residentes-col-right .hospede-actions-col a,
.page-residentes .residentes-col-right .hospede-actions-col span {
  min-height: 34px;
  border-radius: 10px !important;
}

.admissao-stage-card, .wizard-step, .wizard-nav-btn, .admissao-step {
  min-height: 104px !important;
  border-radius: 16px !important;
  border: 1px solid var(--v57-border) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: var(--v57-shadow-soft) !important;
}

.admissao-stage-card.is-active, .wizard-step.is-active, .wizard-nav-btn.active, .admissao-step.active {
  border-color: #93c5fd !important;
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%) !important;
}

@media (max-width: 1180px) {
  .content-inner { max-width: 1140px !important; }
  .grid-4, .shortcut-grid, .dashboard-kpis-primary, .dashboard-kpis-secondary {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 980px) {
  .content-inner { gap: 16px !important; }
  .geri-page-intro, .page-header, .module-hero, .filters-inline, .filters, .toolbar-filter, .module-toolbar, .hospedes-toolbar, .residente-toolbar, .acompanhamento-toolbar, .table-wrap, .card, .mini-card, .shortcut-card, .page-section {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  .geri-header-logo-text { font-size: 1.55rem !important; }
  .geri-header-brand-badge, .geri-header-user-badge { font-size: .76rem; }
}

/* =========================================================
   V101_58 — CORREÇÃO ESTRUTURAL GLOBAL DO LAYOUT
   ========================================================= */
:root {
  --geri-header-offset-desktop: 148px;
  --geri-header-offset-mobile: 72px;
  --v58-page-bg: #eef5ef;
  --v58-surface: #ffffff;
  --v58-surface-soft: #f8fbf8;
  --v58-border: #d8e3db;
  --v58-border-strong: #c7d6cb;
  --v58-text: #27363b;
  --v58-muted: #667b80;
  --v58-accent: #18b7c4;
  --v58-accent-soft: #eefbfc;
  --v58-danger: #ff5757;
}

html {
  scroll-padding-top: var(--geri-header-offset-desktop);
}

body.geri-body {
  background: var(--v58-page-bg) !important;
  color: var(--v58-text) !important;
  overflow-x: clip;
}

.geri-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 1000 !important;
  background: rgba(238, 245, 239, 0.96) !important;
  border-bottom: 1px solid var(--v58-border);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(10px);
}

.geri-header::before {
  display: none !important;
}

.geri-header-shell {
  max-width: 1560px;
  margin: 0 auto;
  padding: 12px 18px 10px;
}

.geri-header-top {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  margin-bottom: 10px !important;
}

.geri-header-logo-wrap {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 12px;
}

.geri-header-logo-mark {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #0f4a78 0%, var(--v58-accent) 100%) !important;
  box-shadow: 0 8px 18px rgba(24, 183, 196, 0.18) !important;
}

.geri-header-logo-text {
  font-size: 2.15rem !important;
  line-height: 1 !important;
  letter-spacing: -0.04em;
  color: #17395d !important;
}

.geri-header-logo-text span {
  color: #57cad2 !important;
}

.geri-header-brand-badge,
.geri-header-user-badge {
  min-height: 34px;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--v58-border-strong) !important;
  color: #5e7480 !important;
  box-shadow: none !important;
  white-space: nowrap;
}

.geri-header-brand-badge {
  justify-self: end;
}

.geri-header-user-badge {
  justify-self: start;
}

.geri-header-nav {
  position: relative !important;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.geri-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 18px !important;
}

.geri-nav-item {
  position: relative !important;
  min-width: 0;
}

.geri-nav-row {
  position: relative;
  display: flex;
  align-items: stretch;
}

.geri-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px;
  padding: 10px 6px 12px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #32484e !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.geri-nav-link:hover,
.geri-nav-item.is-active > .geri-nav-link,
.geri-nav-item:hover > .geri-nav-row > .geri-nav-link {
  color: #149dac !important;
  border-bottom-color: var(--v58-accent) !important;
  background: transparent !important;
}

.geri-nav-icon {
  color: #149dac !important;
  opacity: .95;
}

.geri-nav-expand {
  display: none;
}

.geri-dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  transform: none !important;
  display: none;
  min-width: 240px;
  max-width: 300px;
  padding: 8px !important;
  background: #fff !important;
  border: 1px solid var(--v58-border) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14) !important;
  z-index: 2000 !important;
}

.geri-nav-item.has-dropdown:hover > .geri-dropdown,
.geri-nav-item.has-dropdown:focus-within > .geri-dropdown {
  display: block;
}

.geri-dropdown-link {
  display: block;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  color: #31464a !important;
  font-size: 14px !important;
  line-height: 1.3;
}

.geri-dropdown-link:hover {
  background: #f2fbfc !important;
  color: #149dac !important;
}

.mobile-topbar {
  display: none;
}

.sidebar-overlay {
  display: none;
}

.geri-main {
  max-width: 1560px !important;
  margin: 0 auto !important;
  padding: calc(var(--geri-header-offset-desktop) + 18px) 18px 30px !important;
}

.content {
  padding: 0 !important;
}

.content-inner {
  max-width: 1560px !important;
  margin: 0 auto !important;
  gap: 18px !important;
}

.geri-page-intro,
.page-header,
.module-hero,
.filters-inline,
.filters,
.toolbar-filter,
.module-toolbar,
.residente-toolbar,
.acompanhamento-toolbar,
.hospedes-toolbar,
.table-wrap,
.card,
.page-section,
.shortcut-card,
.mini-card,
.dashboard-product-header,
.geri-empty-panel,
.empty-state-card {
  background: var(--v58-surface) !important;
  border: 1px solid var(--v58-border) !important;
  box-shadow: none !important;
}

.table-wrap,
.card,
.page-section,
.shortcut-card,
.mini-card,
.dashboard-product-header,
.geri-empty-panel,
.empty-state-card {
  overflow: hidden;
}

.grid,
.grid-2,
.grid-3,
.grid-4,
.kpis,
.shortcut-grid,
.page-shell,
.page-shell-tight,
.residentes-layout,
.dashboard-panels,
.acompanhamento-grid,
.acompanhamento-kpis {
  gap: 20px !important;
}

.hospede-card,
.page-residentes .resident-card {
  overflow: hidden;
}

.table-wrap table,
.table-wrap .table,
.table-wrap .table-responsive {
  width: 100%;
}

@media (max-width: 980px) {
  html {
    scroll-padding-top: var(--geri-header-offset-mobile);
  }

  .mobile-topbar {
    display: flex !important;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001 !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px !important;
    background: rgba(238, 245, 239, 0.98) !important;
    border-bottom: 1px solid var(--v58-border) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  }

  .geri-header {
    position: static !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .geri-header-shell,
  .geri-header-top {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }

  .geri-header-top {
    display: none !important;
  }

  .sidebar-overlay {
    display: block !important;
    position: fixed !important;
    inset: 0;
    background: rgba(33, 43, 52, 0.42) !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
    z-index: 1098 !important;
  }

  body.sidebar-open .sidebar-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .geri-header-nav {
    display: block !important;
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(84vw, 330px);
    max-width: 330px;
    height: 100dvh;
    padding: 0 !important;
    background: #f7fbf8 !important;
    border-right: 1px solid var(--v58-border) !important;
    box-shadow: 20px 0 48px rgba(15, 23, 42, 0.18) !important;
    transform: translateX(-104%);
    transition: transform .22s ease;
    z-index: 1099 !important;
    overflow-y: auto !important;
  }

  .geri-header-nav.is-open {
    transform: translateX(0);
  }

  .geri-mobile-nav-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px 12px;
    background: #fff;
    border-bottom: 1px solid #dde7e1;
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .geri-mobile-nav-close {
    display: grid !important;
    place-items: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: #f3f6f5;
    color: #394c52;
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer;
  }

  .geri-nav {
    display: block !important;
    padding: 8px 0 14px;
  }

  .geri-nav-item {
    border-bottom: 1px solid #e5eeea;
  }

  .geri-nav-link {
    display: flex !important;
    align-items: center;
    padding: 13px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .geri-nav-item.is-active > .geri-nav-link {
    background: #eef5f2 !important;
    border-left: 3px solid var(--v58-accent) !important;
    padding-left: 13px !important;
  }

  .geri-nav-expand {
    display: block;
    border: 0;
    background: transparent;
    color: #41565b;
    font-size: 1rem;
    padding: 10px 12px;
    cursor: pointer;
  }

  .geri-nav-item.is-open > .geri-nav-row .geri-nav-expand {
    transform: rotate(180deg);
  }

  .geri-dropdown {
    position: static !important;
    top: auto !important;
    left: auto !important;
    max-width: none;
    min-width: 100%;
    display: none;
    transform: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid #ecf2ef !important;
    border-radius: 0 !important;
    padding: 6px 0 10px 0 !important;
    z-index: auto !important;
  }

  .geri-nav-item.has-dropdown.is-open > .geri-dropdown,
  .geri-nav-item.has-dropdown.is-active > .geri-dropdown {
    display: block;
  }

  .geri-dropdown-link {
    padding: 10px 20px 10px 44px !important;
    border-radius: 0 !important;
  }

  .geri-main {
    padding: calc(var(--geri-header-offset-mobile) + 12px) 10px 22px !important;
  }

  .content-inner {
    gap: 14px !important;
  }
}


/* =========================================================
   V101_58B — OFFSET GLOBAL FINAL DO HEADER FIXO
   ========================================================= */
:root {
  --geri-top-offset: 178px;
  --geri-top-offset-mobile: 86px;
}

html {
  scroll-padding-top: var(--geri-top-offset);
}

body.geri-body {
  padding-top: 0 !important;
}

.geri-header {
  isolation: isolate;
}

.geri-header-shell {
  position: relative;
}

.geri-header-nav {
  overflow: visible !important;
}

.geri-main {
  padding-top: var(--geri-top-offset) !important;
}

.geri-main > .content-inner {
  padding-top: 0 !important;
}

.geri-page-intro,
.page-header,
.module-hero,
.filters-inline,
.filters,
.toolbar-filter,
.module-toolbar,
.residente-toolbar,
.acompanhamento-toolbar,
.hospedes-toolbar,
.page-shell,
.page-shell-tight {
  margin-top: 0 !important;
}

.geri-main > .content-inner > :first-child,
.geri-main > :first-child {
  scroll-margin-top: calc(var(--geri-top-offset) + 8px) !important;
}

.geri-nav-item,
.geri-nav-row {
  overflow: visible !important;
}

.geri-dropdown {
  top: calc(100% + 8px) !important;
}

@media (max-width: 980px) {
  html {
    scroll-padding-top: var(--geri-top-offset-mobile);
  }

  .mobile-topbar {
    isolation: isolate;
  }

  .geri-main {
    padding-top: var(--geri-top-offset-mobile) !important;
  }

  .geri-main > .content-inner > :first-child,
  .geri-main > :first-child {
    scroll-margin-top: calc(var(--geri-top-offset-mobile) + 8px) !important;
  }
}


/* =========================================================
   LEITOS V101_60 — DIVISÃO ESTRUTURAL EM 2 PÁGINAS
========================================================= */
.page-leitos .module-toolbar {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.page-leitos .toolbar-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.page-leitos .leito-form-card {
  max-width: 980px;
}
.page-leitos .leito-form-layout {
  display:block;
}
.page-leitos .leitos-operacao-page .table-header {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.page-leitos .leitos-operacao-page .table-header h3 {
  margin-bottom:6px;
}
@media (max-width: 980px) {
  .page-leitos .module-toolbar,
  .page-leitos .leitos-operacao-page .table-header {
    flex-direction:column;
    align-items:stretch;
  }
  .page-leitos .toolbar-actions,
  .page-leitos .leitos-operacao-page .table-header .button {
    width:100%;
  }
  .page-leitos .toolbar-actions .button {
    justify-content:center;
  }
}

/* MENU SaaS */
.main-menu {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
}
.main-menu ul {
  list-style: none;
  display: flex;
  gap: 20px;
  padding: 10px 20px;
  margin: 0;
}
.main-menu a {
  text-decoration: none;
  color: #334155;
  font-size: 14px;
}
.main-menu a:hover {
  color: #2563eb;
}
.dropdown {
  position: relative;
}
.submenu {
  display: none;
  position: absolute;
  top: 35px;
  left: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  padding: 10px;
}
.dropdown:hover .submenu {
  display: block;
}
.submenu li {
  margin: 5px 0;
}


/* =========================================================
   V101_62 — MENU SUPERIOR SaaS PROFISSIONAL COM DROPDOWN
========================================================= */

:root {
  --saas-nav-text: #334155;
  --saas-nav-text-strong: #0f172a;
  --saas-nav-muted: #64748b;
  --saas-nav-border: rgba(148, 163, 184, 0.22);
  --saas-nav-surface: rgba(255, 255, 255, 0.84);
  --saas-nav-surface-solid: #ffffff;
  --saas-nav-hover: #eff6ff;
  --saas-nav-active: #dbeafe;
  --saas-nav-shadow: 0 14px 34px rgba(15, 23, 42, 0.10);
}

.geri-header {
  max-width: 1560px;
}

.geri-header::before {
  background: linear-gradient(180deg, rgba(247, 250, 252, 0.96), rgba(247, 250, 252, 0.88));
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.geri-header-top {
  margin-bottom: 10px;
}

.geri-header-nav {
  position: relative;
  background: var(--saas-nav-surface);
  border: 1px solid var(--saas-nav-border);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
  backdrop-filter: blur(12px);
  padding: 6px 10px;
}

.geri-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.geri-nav-item {
  position: relative;
}

.geri-nav-row {
  display: flex;
  align-items: center;
  gap: 2px;
}

.geri-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--saas-nav-text);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.geri-nav-label {
  white-space: nowrap;
}

.geri-nav-icon {
  width: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--saas-nav-muted);
  font-size: .82rem;
  opacity: .95;
}

.geri-nav-caret {
  font-size: .72rem;
  color: #94a3b8;
  margin-left: 2px;
}

.geri-nav-expand {
  display: none;
  width: 34px;
  height: 34px;
  margin-right: 4px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.geri-nav-link:hover,
.geri-nav-item:hover > .geri-nav-row > .geri-nav-link,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link {
  background: var(--saas-nav-hover);
  color: var(--saas-nav-text-strong);
  border-color: rgba(191, 219, 254, 0.9);
}

.geri-nav-item:hover > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item.is-active > .geri-nav-link .geri-nav-icon {
  color: #2563eb;
}

.geri-nav-item.is-active > .geri-nav-link,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link {
  background: var(--saas-nav-active);
  color: #1d4ed8;
  border-color: rgba(147, 197, 253, 0.95);
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.65);
}

.geri-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  min-width: 248px;
  max-width: 320px;
  display: none;
  padding: 10px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  background: var(--saas-nav-surface-solid);
  box-shadow: var(--saas-nav-shadow);
  z-index: 120;
}

.geri-nav-item.has-dropdown:hover > .geri-dropdown,
.geri-nav-item.has-dropdown:focus-within > .geri-dropdown {
  display: block;
  transform: translateX(-50%) translateY(0);
}

.geri-dropdown::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 12px;
  height: 12px;
  background: var(--saas-nav-surface-solid);
  border-left: 1px solid rgba(226, 232, 240, 0.95);
  border-top: 1px solid rgba(226, 232, 240, 0.95);
  transform: translateX(-50%) rotate(45deg);
}

.geri-dropdown-link {
  display: block;
  padding: 11px 13px;
  border-radius: 10px;
  color: var(--saas-nav-text);
  font-size: 0.92rem;
  line-height: 1.25;
}

.geri-dropdown-link:hover {
  background: #f8fafc;
  color: var(--saas-nav-text-strong);
}

@media (max-width: 980px) {
  .geri-header-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(84vw, 340px);
    max-width: 340px;
    height: 100dvh;
    border-radius: 0;
    padding: 74px 0 18px;
    border-right: 1px solid rgba(226, 232, 240, 0.95);
    border-left: none;
    border-top: none;
    border-bottom: none;
    background: #ffffff;
    box-shadow: 24px 0 48px rgba(15, 23, 42, 0.16);
    backdrop-filter: none;
    transform: translateX(-104%);
    transition: transform .22s ease;
    overflow-y: auto;
    z-index: 90;
  }

  .geri-header-nav.is-open {
    transform: translateX(0);
  }

  .geri-nav {
    display: block;
    padding: 6px 10px 12px;
  }

  .geri-nav-item {
    border-bottom: 1px solid #edf2f7;
  }

  .geri-nav-item:last-child {
    border-bottom: none;
  }

  .geri-nav-link {
    width: 100%;
    min-height: 46px;
    padding: 12px 14px;
    border-radius: 12px;
    justify-content: flex-start;
    background: transparent;
  }

  .geri-nav-expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .geri-nav-item.is-open > .geri-nav-row .geri-nav-expand {
    transform: rotate(180deg);
    color: #1d4ed8;
    background: #eff6ff;
  }

  .geri-nav-item.has-dropdown > .geri-dropdown {
    position: static;
    transform: none;
    min-width: 100%;
    max-width: none;
    display: none;
    margin: 0;
    padding: 4px 0 10px 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .geri-nav-item.has-dropdown > .geri-dropdown::before {
    display: none;
  }

  .geri-nav-item.has-dropdown.is-open > .geri-dropdown,
  .geri-nav-item.has-dropdown.is-active > .geri-dropdown {
    display: block;
  }

  .geri-dropdown-link {
    padding: 10px 14px 10px 42px;
    color: #475569;
  }

  .geri-dropdown-link:hover {
    background: #f8fafc;
  }
}


/* =========================================================
   V101_65 — HEADER ULTRA PREMIUM FINAL
========================================================= */
:root {
  --header-premium-bg: rgba(255,255,255,.92);
  --header-premium-border: rgba(226,232,240,.96);
  --header-premium-text: #0f172a;
  --header-premium-muted: #64748b;
  --header-premium-accent: #2563eb;
  --header-premium-accent-soft: rgba(37,99,235,.10);
  --header-premium-shadow: 0 16px 36px rgba(15,23,42,.08);
}

.geri-header {
  width: min(1480px, calc(100vw - 28px)) !important;
  padding: 10px 18px 0 !important;
}

.geri-header::before {
  background: linear-gradient(180deg, rgba(248,250,252,.96) 0%, rgba(248,250,252,.93) 75%, rgba(248,250,252,.88) 100%) !important;
  border-bottom: 1px solid rgba(226,232,240,.92) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.05) !important;
  backdrop-filter: blur(12px) !important;
}

.geri-header-shell {
  display: grid;
  gap: 10px;
}

.geri-header-top {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
  padding: 0 4px !important;
}

.geri-header-branding {
  min-width: 0;
}

.geri-header-logo-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
}

.geri-header-logo-mark {
  width: 40px !important;
  height: 40px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #1d4ed8 0%, #0ea5e9 100%) !important;
  box-shadow: 0 10px 24px rgba(37,99,235,.18) !important;
  font-size: 1rem !important;
}

.geri-header-logo-copy {
  display: grid;
  gap: 2px;
}

.geri-header-logo-text {
  font-size: 1.28rem !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
  color: var(--header-premium-text) !important;
  line-height: 1 !important;
}

.geri-header-logo-text span {
  color: #2563eb !important;
  font-weight: 700 !important;
}

.geri-header-logo-subtitle {
  font-size: .69rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--header-premium-muted);
}

.geri-header-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.geri-header-pill,
.geri-header-brand-badge,
.geri-header-user-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  background: rgba(255,255,255,.82) !important;
  color: #475569 !important;
  font-size: .77rem !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

.geri-header-pill--brand {
  color: #0f766e !important;
  background: rgba(236,253,245,.9) !important;
  border-color: rgba(167,243,208,.95) !important;
}

.geri-header-pill--user {
  color: #1e293b !important;
  font-weight: 600;
}

.geri-header-pill--role {
  color: #475569 !important;
  background: rgba(248,250,252,.96) !important;
}

.geri-header-nav {
  background: var(--header-premium-bg) !important;
  border: 1px solid var(--header-premium-border) !important;
  border-radius: 16px !important;
  padding: 4px 8px !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.05) !important;
}

.geri-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.geri-nav-item {
  position: relative;
}

.geri-nav-row {
  display: flex;
  align-items: center;
}

.geri-nav-link {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #334155 !important;
  font-size: .88rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.geri-nav-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: transparent;
  transform: scaleX(.45);
  transform-origin: center;
  transition: transform .18s ease, background-color .18s ease, opacity .18s ease;
  opacity: 0;
}

.geri-nav-icon {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(148,163,184,.95), rgba(203,213,225,.95));
  flex: 0 0 8px;
  transition: transform .18s ease, background-color .18s ease;
}

.geri-nav-label {
  white-space: nowrap;
}

.geri-nav-caret {
  width: 8px;
  height: 8px;
  border-right: 1.8px solid #94a3b8;
  border-bottom: 1.8px solid #94a3b8;
  transform: rotate(45deg);
  margin-top: -3px;
  transition: transform .18s ease, border-color .18s ease;
}

.geri-nav-expand {
  display: none !important;
  border: none !important;
  background: transparent !important;
  color: #94a3b8 !important;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  margin-left: -2px;
}

.geri-nav-link:hover,
.geri-nav-item:hover > .geri-nav-row > .geri-nav-link,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link {
  color: var(--header-premium-accent) !important;
  background: rgba(248,250,252,.96) !important;
  transform: translateY(-1px);
}

.geri-nav-link:hover::after,
.geri-nav-item:hover > .geri-nav-row > .geri-nav-link::after,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link::after,
.geri-nav-item.is-active > .geri-nav-link::after,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link::after {
  background: var(--header-premium-accent);
  transform: scaleX(1);
  opacity: 1;
}

.geri-nav-item:hover > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link .geri-nav-icon,
.geri-nav-item.is-active > .geri-nav-link .geri-nav-icon {
  background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.95));
  transform: scale(1.1);
}

.geri-nav-item:hover > .geri-nav-row > .geri-nav-link .geri-nav-caret,
.geri-nav-item:focus-within > .geri-nav-row > .geri-nav-link .geri-nav-caret,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link .geri-nav-caret {
  border-color: var(--header-premium-accent);
}

.geri-nav-item.has-dropdown:hover > .geri-nav-row > .geri-nav-link .geri-nav-caret,
.geri-nav-item.has-dropdown:focus-within > .geri-nav-row > .geri-nav-link .geri-nav-caret {
  transform: rotate(225deg);
  margin-top: 2px;
}

.geri-nav-item.is-active > .geri-nav-link,
.geri-nav-item.is-active > .geri-nav-row > .geri-nav-link {
  color: #0f172a !important;
  font-weight: 600 !important;
  background: rgba(37,99,235,.07) !important;
}

.geri-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;
  min-width: 220px !important;
  max-width: 280px;
  display: none;
  padding: 8px !important;
  border: 1px solid rgba(226,232,240,.96) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: var(--header-premium-shadow) !important;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease;
}

.geri-dropdown::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 22px;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,.98);
  border-top: 1px solid rgba(226,232,240,.96);
  border-left: 1px solid rgba(226,232,240,.96);
  transform: rotate(45deg);
}

.geri-nav-item.has-dropdown:hover > .geri-dropdown,
.geri-nav-item.has-dropdown:focus-within > .geri-dropdown {
  display: block;
  transform: translateY(0);
}

.geri-dropdown-link {
  display: block;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  color: #334155 !important;
  font-size: .83rem !important;
  line-height: 1.3;
  text-decoration: none !important;
  transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.geri-dropdown-link:hover {
  background: rgba(37,99,235,.08) !important;
  color: #1d4ed8 !important;
  transform: translateX(2px);
}

.geri-header.is-scrolled::before {
  box-shadow: 0 14px 34px rgba(15,23,42,.08) !important;
}

.mobile-topbar {
  display: none;
}

@media (max-width: 1180px) {
  .geri-header-top {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .geri-header-meta {
    justify-content: flex-start;
  }

  .geri-nav {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 980px) {
  .geri-header {
    position: static !important;
    width: auto !important;
    transform: none !important;
    padding: 0 !important;
  }

  .geri-header::before,
  .geri-header-top {
    display: none !important;
  }

  .mobile-topbar {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 98;
    padding: 10px 14px !important;
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid rgba(226,232,240,.96) !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.06) !important;
    backdrop-filter: blur(12px);
  }

  .mobile-topbar-brand {
    display: grid !important;
    gap: 2px;
    margin-left: 0 !important;
    text-align: left !important;
  }

  .mobile-topbar-brand strong {
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #0f172a !important;
  }

  .mobile-topbar-brand span {
    font-size: .62rem !important;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #64748b !important;
  }

  .mobile-topbar-context {
    display: flex;
    justify-content: flex-end;
  }

  .mobile-topbar-context .geri-header-pill {
    padding: 6px 10px !important;
    font-size: .67rem !important;
  }

  .mobile-menu-toggle {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(226,232,240,.96);
    background: rgba(248,250,252,.95);
    box-shadow: none;
  }

  .mobile-menu-toggle span {
    background: #334155 !important;
  }

  .geri-header-nav {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: min(86vw, 340px) !important;
    max-width: 340px;
    height: 100dvh;
    padding: 0 !important;
    border: none !important;
    border-right: 1px solid rgba(226,232,240,.96) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 24px 0 48px rgba(15,23,42,.16) !important;
    transform: translateX(-104%);
    transition: transform .22s ease;
    overflow-y: auto;
    z-index: 99;
  }

  .geri-header-nav.is-open {
    transform: translateX(0);
  }

  .geri-mobile-nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 12px;
    border-bottom: 1px solid rgba(226,232,240,.96);
    background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.98));
  }

  .geri-mobile-nav-brand {
    display: grid;
    gap: 3px;
  }

  .geri-mobile-nav-brand strong {
    font-size: 1rem;
    color: #0f172a;
  }

  .geri-mobile-nav-brand small {
    font-size: .68rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #64748b;
  }

  .geri-mobile-nav-close {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(226,232,240,.96);
    background: #fff;
    color: #334155;
    font-size: 1.15rem;
  }

  .geri-nav {
    display: block;
    padding: 8px 10px 18px;
  }

  .geri-nav-item {
    border-bottom: 1px solid #edf2f7;
  }

  .geri-nav-item:last-child {
    border-bottom: none;
  }

  .geri-nav-row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  .geri-nav-link {
    min-height: 48px;
    width: 100%;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    justify-content: flex-start;
  }

  .geri-nav-link::after {
    display: none;
  }

  .geri-nav-expand {
    display: inline-flex !important;
  }

  .geri-nav-item.is-open > .geri-nav-row .geri-nav-expand {
    background: rgba(37,99,235,.08) !important;
  }

  .geri-nav-item.is-open > .geri-nav-row .geri-nav-expand .geri-nav-caret {
    transform: rotate(225deg);
    margin-top: 2px;
    border-color: #1d4ed8;
  }

  .geri-nav-item.has-dropdown > .geri-dropdown {
    position: static !important;
    top: auto !important;
    left: auto !important;
    min-width: 100% !important;
    max-width: none;
    display: none;
    margin: 0 !important;
    padding: 4px 0 10px 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .geri-nav-item.has-dropdown > .geri-dropdown::before {
    display: none;
  }

  .geri-nav-item.has-dropdown.is-open > .geri-dropdown,
  .geri-nav-item.has-dropdown.is-active > .geri-dropdown {
    display: block;
  }

  .geri-dropdown-link {
    padding: 10px 14px 10px 34px !important;
    border-radius: 10px !important;
    font-size: .81rem !important;
  }

  .sidebar-overlay {
    background: rgba(15,23,42,.28) !important;
    backdrop-filter: none !important;
  }
}


/* ===== V101_66 — CENTRALIZAÇÃO ABSOLUTA DO HEADER ===== */
@media (min-width: 981px) {
  .geri-header-shell {
    position: relative;
    gap: 0 !important;
  }

  .geri-header-top {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px;
    gap: 18px !important;
    padding: 0 6px !important;
  }

  .geri-header-branding,
  .geri-header-meta {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
  }

  .geri-header-branding {
    min-width: 260px;
    justify-content: flex-start;
  }

  .geri-header-meta {
    min-width: 260px;
    justify-content: flex-end;
    margin-left: auto;
  }

  .geri-header-center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: calc(100% - 560px);
  }

  .geri-header-center .geri-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-wrap: nowrap;
  }

  .geri-header-center .geri-nav-item,
  .geri-header-center .geri-nav-link,
  .geri-header-center .geri-nav-label {
    white-space: nowrap;
  }

  .geri-header-center .geri-dropdown {
    left: 50% !important;
    transform: translate(-50%, 6px);
  }

  .geri-header-center .geri-nav-item.has-dropdown:hover > .geri-dropdown,
  .geri-header-center .geri-nav-item.has-dropdown:focus-within > .geri-dropdown {
    transform: translate(-50%, 0);
  }

  .geri-header > .geri-header-shell > .geri-header-nav {
    display: none !important;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .geri-header-center {
    max-width: calc(100% - 460px);
  }

  .geri-header-meta {
    min-width: 220px;
  }

  .geri-header-branding {
    min-width: 220px;
  }
}

@media (max-width: 980px) {
  .geri-header-center {
    display: none !important;
  }
}

/* ===== V101_67 — DESCOLAR MENU DA ESQUERDA E CENTRALIZAR DE VERDADE ===== */
@media (min-width: 981px) {
  .geri-header {
    width: min(1520px, calc(100vw - 28px)) !important;
    margin: 0 auto !important;
  }

  .geri-header-shell {
    position: relative;
    display: block !important;
    gap: 0 !important;
  }

  .geri-header-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr) !important;
    align-items: center !important;
    column-gap: 20px !important;
    min-height: 72px !important;
    padding: 0 8px !important;
    margin-bottom: 0 !important;
  }

  .geri-header-branding {
    grid-column: 1 !important;
    justify-self: start !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
    z-index: 3 !important;
  }

  .geri-header-center {
    grid-column: 2 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    justify-self: center !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    max-width: none !important;
    z-index: 2 !important;
    margin: 0 auto !important;
  }

  .geri-header-meta {
    grid-column: 3 !important;
    justify-self: end !important;
    margin-left: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
    z-index: 3 !important;
  }

  .geri-header-logo-wrap,
  .geri-header-branding > * {
    max-width: max-content !important;
  }

  .geri-header-center .geri-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: max-content !important;
    max-width: none !important;
    flex-wrap: nowrap !important;
    margin: 0 auto !important;
  }

  .geri-header-center .geri-nav-item,
  .geri-header-center .geri-nav-row,
  .geri-header-center .geri-nav-link,
  .geri-header-center .geri-nav-label {
    white-space: nowrap !important;
  }

  .geri-header-center .geri-dropdown {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) translateY(6px) !important;
  }

  .geri-header-center .geri-nav-item.has-dropdown:hover > .geri-dropdown,
  .geri-header-center .geri-nav-item.has-dropdown:focus-within > .geri-dropdown {
    transform: translateX(-50%) translateY(0) !important;
  }
}

@media (min-width: 981px) and (max-width: 1340px) {
  .geri-header-top {
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr) !important;
    column-gap: 16px !important;
  }

  .geri-header-center .geri-nav {
    gap: 2px !important;
  }

  .geri-header-center .geri-nav-link {
    padding-left: 10px !important;
    padding-right: 10px !important;
    font-size: .84rem !important;
  }
}

/* V101_68 header two rows final override */

/* V101_68 header two rows final override */
@media (min-width: 981px) {
  .geri-header-shell {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 12px 20px 10px;
  }

  .geri-header-top {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 10px !important;
    padding: 0 !important;
    grid-template-columns: none !important;
  }

  .geri-header-top-left,
  .geri-header-top-right {
    display: flex;
    align-items: flex-start;
    min-width: 0;
  }

  .geri-header-top-right {
    margin-left: auto;
    justify-content: flex-end;
  }

  .geri-header-branding,
  .geri-header-logo-wrap {
    display: inline-flex;
    align-items: center;
  }

  .geri-header-logo-wrap {
    gap: 12px;
  }

  .geri-header-logo-mark {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    flex: 0 0 42px;
  }

  .geri-header-logo-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .geri-header-logo-text {
    font-size: 18px;
    line-height: 1;
  }

  .geri-header-logo-subtitle {
    font-size: 10px;
    letter-spacing: .22em;
    text-transform: uppercase;
  }

  .geri-header-meta {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
  }

  .geri-header-pill {
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1;
  }

  .geri-header-bottom {
    display: flex;
    align-items: center;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
    padding-top: 10px;
    min-height: 44px;
  }

  .geri-header-center {
    position: static !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    display: flex;
    align-items: center;
    justify-content: flex-start !important;
  }

  .geri-header-center .geri-nav {
    justify-content: flex-start !important;
    gap: 18px;
    width: 100%;
    flex-wrap: wrap;
  }

  .geri-header-center .geri-nav-item,
  .geri-header-center .geri-nav-row,
  .geri-header-center .geri-nav-link,
  .geri-header-center .geri-nav-label {
    white-space: nowrap;
  }
}

@media (max-width: 980px) {
  .geri-header-top-left,
  .geri-header-top-right,
  .geri-header-bottom {
    display: contents;
  }
}

/* =========================================================
   V101_69 — POLIMENTO FINAL DO HEADER (DESIGN SYSTEM)
   ========================================================= */
:root {
  --geri-header-surface: rgba(248, 251, 249, 0.96);
  --geri-header-surface-strong: rgba(248, 251, 249, 0.985);
  --geri-header-line: rgba(205, 218, 211, 0.92);
  --geri-header-line-soft: rgba(221, 231, 225, 0.78);
  --geri-header-shadow-soft: 0 10px 26px rgba(15, 23, 42, 0.05);
  --geri-header-shadow-scroll: 0 16px 36px rgba(15, 23, 42, 0.09);
  --geri-header-text: #2b3c41;
  --geri-header-text-strong: #1f2f34;
  --geri-header-muted: #6e8084;
  --geri-header-accent: #0f9faa;
  --geri-header-accent-strong: #0b7f88;
  --geri-header-pill-bg: rgba(255, 255, 255, 0.92);
  --geri-header-pill-border: rgba(204, 216, 210, 0.92);
}

.geri-header {
  transition: filter .18s ease, transform .18s ease;
}

.geri-header::before {
  background: linear-gradient(180deg, var(--geri-header-surface-strong) 0%, var(--geri-header-surface) 82%, rgba(248, 251, 249, 0.94) 100%) !important;
  border-bottom: 1px solid var(--geri-header-line) !important;
  box-shadow: var(--geri-header-shadow-soft) !important;
  backdrop-filter: none !important;
}

.geri-header-shell {
  display: grid;
  gap: 0;
}

.geri-header-top {
  margin-bottom: 0 !important;
  padding: 2px 0 12px;
  border-bottom: 1px solid var(--geri-header-line-soft);
}

.geri-header-bottom {
  padding-top: 10px;
}

.geri-header-logo-wrap {
  gap: 11px;
  text-decoration: none;
}

.geri-header-logo-mark {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  font-size: 1.02rem;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10);
}

.geri-header-logo-copy {
  display: grid;
  gap: 2px;
}

.geri-header-logo-text {
  font-size: 1.08rem !important;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #18324e;
}

.geri-header-logo-subtitle {
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7b8d91;
}

.geri-header-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.geri-header-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--geri-header-pill-border) !important;
  background: var(--geri-header-pill-bg) !important;
  color: var(--geri-header-text) !important;
  font-size: 0.79rem !important;
  line-height: 1;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 0 rgba(255,255,255,0.7) inset;
}

.geri-header-pill--brand {
  color: var(--geri-header-accent-strong) !important;
  border-color: rgba(80, 201, 177, 0.48) !important;
  background: rgba(240, 253, 250, 0.92) !important;
}

.geri-header-pill--user,
.geri-header-pill--role {
  color: #40545a !important;
}

.geri-header-center {
  display: flex;
  justify-content: center;
}

.geri-nav {
  gap: 24px !important;
}

.geri-nav-item {
  position: relative;
}

.geri-nav-link {
  position: relative;
  padding: 9px 2px 11px !important;
  border-bottom: 1px solid transparent !important;
  color: var(--geri-header-text) !important;
  font-size: 0.95rem;
  line-height: 1.2;
  transition: color .16s ease, border-color .16s ease, transform .16s ease;
}

.geri-nav-label {
  font-weight: 500;
  letter-spacing: -0.01em;
}

.geri-nav-icon {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #bcc9cf;
  opacity: 1 !important;
  margin-right: 2px;
  flex: 0 0 6px;
}

.geri-nav-caret {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-right: 1.5px solid #8ba0a6;
  border-bottom: 1.5px solid #8ba0a6;
  transform: rotate(45deg) translateY(-1px);
  margin-left: 2px;
  transition: transform .16s ease, border-color .16s ease;
}

.geri-nav-item:hover > .geri-nav-link,
.geri-nav-item:focus-within > .geri-nav-link {
  color: var(--geri-header-accent-strong) !important;
}

.geri-nav-item:hover > .geri-nav-link .geri-nav-caret,
.geri-nav-item:focus-within > .geri-nav-link .geri-nav-caret,
.geri-nav-item.is-open > .geri-nav-row .geri-nav-caret {
  border-color: var(--geri-header-accent-strong);
}

.geri-nav-item.is-active > .geri-nav-link {
  color: var(--geri-header-text-strong) !important;
  border-bottom-color: rgba(15, 159, 170, 0.78) !important;
}

.geri-nav-item.is-active > .geri-nav-link .geri-nav-label {
  font-weight: 600;
}

.geri-nav-item.is-active > .geri-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(15,159,170,.88), rgba(34,197,94,.72));
}

.geri-dropdown {
  margin-top: 10px;
  min-width: 228px !important;
  padding: 8px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(216, 226, 232, 0.92) !important;
  background: rgba(255,255,255,0.98) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.10) !important;
}

.geri-dropdown::before {
  width: 9px;
  height: 9px;
  top: -5px;
  left: 20px;
  background: rgba(255,255,255,0.98);
}

.geri-dropdown-link {
  padding: 9px 11px !important;
  border-radius: 10px !important;
  font-size: 0.82rem !important;
  color: #41545c !important;
}

.geri-dropdown-link:hover {
  background: rgba(15,159,170,0.08) !important;
  color: var(--geri-header-accent-strong) !important;
  transform: translateX(1px);
}

.geri-header.is-scrolled::before {
  background: linear-gradient(180deg, rgba(248, 251, 249, 0.992) 0%, rgba(248, 251, 249, 0.985) 100%) !important;
  box-shadow: var(--geri-header-shadow-scroll) !important;
}

@media (max-width: 1180px) {
  .geri-nav {
    gap: 18px !important;
  }

  .geri-header-meta {
    gap: 6px;
  }
}

@media (max-width: 980px) {
  .mobile-topbar {
    background: rgba(248, 251, 249, 0.985) !important;
    border-bottom: 1px solid var(--geri-header-line) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  }

  .mobile-topbar-brand strong {
    font-size: .95rem;
  }

  .mobile-topbar-brand span {
    font-size: .74rem;
    color: #73868b;
  }

  .geri-header-nav {
    background: rgba(248, 251, 249, 0.99) !important;
    box-shadow: 20px 0 48px rgba(15,23,42,.16) !important;
  }

  .geri-mobile-nav-head {
    background: rgba(255,255,255,0.96) !important;
    border-bottom: 1px solid var(--geri-header-line-soft) !important;
  }

  .geri-nav-link {
    font-size: 0.94rem;
  }
}


/* ===== V101_70 — dropdown persistente e selecionável ===== */
@media (min-width: 981px) {
  .geri-header-center .geri-nav-item.has-dropdown {
    padding-bottom: 14px;
    margin-bottom: -14px;
  }

  .geri-header-center .geri-nav-item.has-dropdown > .geri-dropdown {
    top: calc(100% - 2px) !important;
    margin-top: 0 !important;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transform: translateY(4px);
  }

  .geri-header-center .geri-nav-item.has-dropdown > .geri-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -18px;
    height: 18px;
    background: transparent;
  }

  .geri-header-center .geri-nav-item.has-dropdown:hover > .geri-dropdown,
  .geri-header-center .geri-nav-item.has-dropdown:focus-within > .geri-dropdown,
  .geri-header-center .geri-nav-item.has-dropdown.is-open > .geri-dropdown {
    display: block;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateY(0);
  }

  .geri-header-center .geri-nav-item.has-dropdown.is-open > .geri-nav-row > .geri-nav-link,
  .geri-header-center .geri-nav-item.has-dropdown.is-open > .geri-nav-link {
    color: var(--geri-header-accent-strong) !important;
  }

  .geri-header-center .geri-nav-item.has-dropdown.is-open > .geri-nav-row > .geri-nav-link .geri-nav-caret,
  .geri-header-center .geri-nav-item.has-dropdown.is-open > .geri-nav-link .geri-nav-caret {
    border-color: var(--geri-header-accent-strong) !important;
    transform: rotate(225deg) translateY(1px);
  }

  .geri-header-center .geri-dropdown-link {
    position: relative;
    z-index: 2;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
  }

  .geri-header-center .geri-nav-row,
  .geri-header-center .geri-nav-link {
    position: relative;
    z-index: 3;
  }
}


/* ===== V101_71 FIX REAL — menu mobile com accordion touch funcional ===== */
@media (max-width: 980px) {
  .geri-nav-row {
    display: flex;
    align-items: stretch;
    min-height: 52px;
  }

  .geri-nav-row > .geri-nav-link {
    flex: 1 1 auto;
    min-width: 0;
  }

  .geri-nav-expand {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #e5eeea;
    transition: transform .18s ease, background-color .18s ease;
  }

  .geri-nav-item.has-dropdown .geri-dropdown {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    transition: max-height .22s ease, opacity .18s ease, padding .18s ease;
  }

  .geri-nav-item.has-dropdown.is-open .geri-dropdown {
    max-height: 420px;
    opacity: 1;
    padding-top: 6px;
    padding-bottom: 10px;
    border-top-width: 1px;
  }

  .geri-nav-item.has-dropdown.is-open > .geri-nav-row .geri-nav-expand {
    background: #eef5f2;
    transform: rotate(180deg);
  }
}


/* ===== V101_72 — MENU MOBILE RECONSTRUÍDO ===== */
@media (max-width: 980px) {
  .geri-header-nav > .geri-nav {
    display: none !important;
  }

  .geri-mobile-menu {
    display: grid;
    gap: 2px;
    padding: 10px 10px 18px;
    overflow-y: auto;
    max-height: calc(100dvh - 68px);
  }

  .geri-mobile-item {
    border-bottom: 1px solid #edf2f7;
  }

  .geri-mobile-item:last-child {
    border-bottom: none;
  }

  .geri-mobile-item-link,
  .geri-mobile-item-toggle {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: #334155;
    text-decoration: none;
    font-size: .92rem;
    font-weight: 500;
    text-align: left;
  }

  .geri-mobile-item-main {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .geri-mobile-item-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(148,163,184,.95), rgba(203,213,225,.95));
    flex: 0 0 7px;
  }

  .geri-mobile-item-label {
    line-height: 1.3;
    color: inherit;
  }

  .geri-mobile-item-arrow {
    width: 8px;
    height: 8px;
    border-right: 1.8px solid #94a3b8;
    border-bottom: 1.8px solid #94a3b8;
    transform: rotate(45deg);
    transition: transform .18s ease, border-color .18s ease;
    flex: 0 0 8px;
    margin-right: 2px;
  }

  .geri-mobile-item-link:hover,
  .geri-mobile-item-toggle:hover,
  .geri-mobile-item.is-active > .geri-mobile-item-link,
  .geri-mobile-item.is-active > .geri-mobile-item-toggle {
    background: #eef5f2;
    color: #0f172a;
  }

  .geri-mobile-item.is-open > .geri-mobile-item-toggle .geri-mobile-item-arrow {
    transform: rotate(225deg);
    border-color: #1d4ed8;
    margin-top: 4px;
  }

  .geri-mobile-item.is-open > .geri-mobile-item-toggle,
  .geri-mobile-item.is-active > .geri-mobile-item-toggle {
    background: #eef5f2;
  }

  .geri-mobile-submenu {
    display: none;
    padding: 2px 0 10px 0;
  }

  .geri-mobile-submenu.is-open {
    display: grid;
    gap: 2px;
  }

  .geri-mobile-submenu-link {
    display: block;
    margin-left: 18px;
    padding: 11px 14px 11px 18px;
    border-radius: 10px;
    color: #475569;
    text-decoration: none;
    font-size: .84rem;
    line-height: 1.35;
  }

  .geri-mobile-submenu-link:hover,
  .geri-mobile-submenu-link:active {
    background: #f8fafc;
    color: #1d4ed8;
  }
}


/* ===== V101_72 FIX REAL — mobile drawer acima de tudo + accordion funcional ===== */
@media (max-width: 980px) {
  .sidebar-overlay {
    z-index: 4998 !important;
  }

  .geri-header-nav {
    z-index: 4999 !important;
    display: block !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    isolation: isolate;
  }

  .geri-header-nav > .geri-nav,
  .geri-header-nav .geri-nav-row,
  .geri-header-nav .geri-nav-item,
  .geri-header-nav .geri-dropdown,
  .geri-header-nav .geri-nav-link,
  .geri-header-nav .geri-nav-expand {
    display: none !important;
  }

  .geri-mobile-nav-head {
    display: flex !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
  }

  .geri-mobile-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 8px 10px 22px !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .geri-mobile-item {
    display: block !important;
    position: relative !important;
    border-bottom: 1px solid #edf2f7 !important;
  }

  .geri-mobile-item-toggle,
  .geri-mobile-item-link {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #334155 !important;
    text-decoration: none !important;
    text-align: left !important;
  }

  .geri-mobile-item-main {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .geri-mobile-item-arrow {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
    border-right: 1.8px solid #94a3b8 !important;
    border-bottom: 1.8px solid #94a3b8 !important;
    transform: rotate(45deg) !important;
    transition: transform .18s ease, border-color .18s ease !important;
    margin-right: 2px !important;
  }

  .geri-mobile-item.is-open > .geri-mobile-item-toggle .geri-mobile-item-arrow {
    transform: rotate(225deg) !important;
    border-color: #1d4ed8 !important;
    margin-top: 4px !important;
  }

  .geri-mobile-submenu {
    display: none !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 2px 0 10px 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .geri-mobile-item.is-open > .geri-mobile-submenu,
  .geri-mobile-submenu.is-open {
    display: block !important;
  }

  .geri-mobile-submenu-link {
    display: block !important;
    margin-left: 18px !important;
    padding: 11px 14px 11px 18px !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #475569 !important;
    text-decoration: none !important;
  }

  .geri-page-intro,
  .alert,
  .card,
  .table-wrap,
  .page-shell,
  .page-section {
    position: relative;
    z-index: 1 !important;
  }
}


/* ===== V101_73 FIX REAL — drawer mobile em camada global acima de tudo ===== */
@media (max-width: 980px) {
  body.mobile-menu-open,
  body.sidebar-open {
    overflow: hidden !important;
    touch-action: none;
  }

  .sidebar-overlay {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(15, 23, 42, 0.34) !important;
    z-index: 2147483000 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.sidebar-open .sidebar-overlay,
  body.mobile-menu-open .sidebar-overlay {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .geri-header-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: auto !important;
    width: min(88vw, 360px) !important;
    max-width: 360px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: #f8fbf9 !important;
    border: 0 !important;
    border-right: 1px solid rgba(226,232,240,.96) !important;
    border-radius: 0 !important;
    box-shadow: 28px 0 52px rgba(15,23,42,.24) !important;
    transform: translate3d(-104%,0,0) !important;
    transition: transform .22s ease !important;
    z-index: 2147483640 !important;
    overflow: hidden !important;
    isolation: auto !important;
  }

  .geri-header-nav.is-open {
    transform: translate3d(0,0,0) !important;
  }

  .geri-mobile-nav-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    background: #ffffff !important;
  }

  .geri-mobile-menu {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 8px 10px 24px !important;
    height: calc(100dvh - 72px) !important;
    max-height: calc(100dvh - 72px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    background: #f8fbf9 !important;
  }

  .geri-mobile-item {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
  }

  .geri-mobile-submenu {
    display: none !important;
    position: static !important;
    z-index: auto !important;
    padding: 4px 0 12px 0 !important;
    background: transparent !important;
  }

  .geri-mobile-item.is-open > .geri-mobile-submenu,
  .geri-mobile-submenu.is-open {
    display: block !important;
  }

  .geri-mobile-submenu-link {
    display: block !important;
    margin-left: 16px !important;
    padding: 12px 14px 12px 18px !important;
  }

  .geri-main,
  .content-inner,
  .geri-page-intro,
  .page-shell,
  .page-section,
  .card,
  .table-wrap,
  .alert {
    z-index: auto !important;
  }
}


/* V112 — feedback visual nativo e execução isolada */
.bmc-inline-toast-root{position:fixed;top:calc(var(--geri-top-offset,96px) + 12px);right:18px;z-index:10030;display:grid;gap:10px;max-width:min(360px,calc(100vw - 24px));}
.bmc-inline-toast{opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;padding:12px 14px;border-radius:14px;border:1px solid #dbe7f1;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.14);font-weight:700;color:#0f172a;}
.bmc-inline-toast.is-visible{opacity:1;transform:translateY(0);}
.bmc-inline-toast.success{background:#ecfdf5;border-color:#86efac;color:#166534;}
.bmc-inline-toast.warning{background:#fff7ed;border-color:#fdba74;color:#9a3412;}
.bmc-inline-toast.error{background:#fff1f2;border-color:#fda4af;color:#be123c;}
.bmc-inline-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:10020;padding:18px;}
.bmc-inline-modal{background:#fff;border-radius:18px;max-width:580px;width:100%;padding:18px;box-shadow:0 24px 80px rgba(15,23,42,.28);display:grid;gap:14px;}
.bmc-inline-modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.bmc-inline-modal-header h3{margin:0 0 4px;font-size:20px;color:#0f172a;}
.bmc-inline-modal-header p{margin:0;color:#64748b;}
.bmc-inline-modal-close{border:none;background:transparent;font-size:28px;line-height:1;color:#64748b;cursor:pointer;}
.bmc-inline-modal-resume{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:grid;gap:6px;color:#334155;}
.bmc-inline-modal-field{display:grid;gap:8px;}
.bmc-inline-modal-field label{font-weight:700;color:#0f172a;}
.bmc-inline-modal-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font:inherit;resize:vertical;min-height:120px;}
.bmc-inline-modal-error{border:1px solid #fecdd3;background:#fff1f2;color:#be123c;border-radius:10px;padding:10px 12px;font-weight:700;}
.bmc-inline-modal-actions{display:flex;justify-content:flex-end;gap:8px;}
[data-inline-row].is-processing{opacity:.92;box-shadow:0 0 0 2px rgba(13,148,136,.14) inset;}
[data-inline-row].is-processing .js-inline-exec-form .button{pointer-events:none;}
@media (max-width:780px){.bmc-inline-toast-root{left:12px;right:12px;max-width:none;}.bmc-inline-modal-overlay{padding:12px;}.bmc-inline-modal{padding:16px;}.bmc-inline-modal-actions{flex-wrap:wrap;}.bmc-inline-modal-actions .button{flex:1 1 calc(50% - 6px);}}

@media (max-width:980px){.sidebar-overlay{display:none;opacity:0;pointer-events:none;}body.sidebar-open .sidebar-overlay{display:block;opacity:1;pointer-events:auto;}}


/* V140 — entrada por prioridade fecha dropdowns transitórios */
.flow-priority-entry .geri-dropdown{display:none !important;opacity:0 !important;visibility:hidden !important;pointer-events:none !important;}

/* =========================================================
   MOBILE FINAL CONSOLIDADO — V144 POS QA
   Bloco único autoritativo para overlay, topbar e conteúdo mobile.
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 79 !important;
  }

  body.sidebar-open .sidebar-overlay,
  body.mobile-menu-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .mobile-topbar,
  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section,
  .card,
  .table-wrap,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .dashboard-recent-feed,
  .dashboard-resident-focus,
  .plantao-turn-card,
  .summary-tile,
  .kpi-card,
  .mini-stat {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .page-header::before,
  .page-header::after,
  .module-hero::before,
  .module-hero::after,
  body.page-enfermagem .content::after,
  body.page-dashboard .content::after {
    display: none !important;
  }

  body {
    background: #f4f7fb !important;
  }

  .mobile-topbar {
    display: flex !important;
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .dashboard-recent-feed,
  .dashboard-resident-focus,
  .plantao-turn-card,
  .summary-tile,
  .kpi-card,
  .mini-stat {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
  }

  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted {
    color: #64748b !important;
    opacity: 1 !important;
  }

  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
  }

  body:not(.sidebar-open):not(.mobile-menu-open) .content,
  body:not(.sidebar-open):not(.mobile-menu-open) .content-inner,
  body:not(.sidebar-open):not(.mobile-menu-open) .page-shell,
  body:not(.sidebar-open):not(.mobile-menu-open) .dashboard-stack {
    opacity: 1 !important;
  }
}

/* =========================================================
   FASE 3 — BLOCO MOBILE AUTORITATIVO
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .mobile-topbar {
    display: flex !important;
    position: sticky;
    top: 0;
    z-index: 60;
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section,
  .table-wrap,
  .card {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .content {
    padding: 16px 12px 24px !important;
    padding-top: 92px !important;
    background: #f4f7fb !important;
  }

  .content-inner,
  .page-shell,
  .dashboard-stack {
    gap: 16px !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .summary-tile,
  .kpi-card,
  .mini-stat {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .page-header::before,
  .page-header::after,
  .module-hero::before,
  .module-hero::after,
  .content::after,
  .content::before {
    display: none !important;
  }

  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }
}


/* =========================================================
   MOBILE CANONICO GO LIVE — FONTE UNICA DE VERDADE
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 2147483000 !important;
  }

  body.sidebar-open .sidebar-overlay,
  body.mobile-menu-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body:not(.sidebar-open):not(.mobile-menu-open) .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section,
  .card,
  .table-wrap {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body,
  .content {
    background: #f4f7fb !important;
  }

  .mobile-topbar {
    display: flex !important;
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .dashboard-priority-now {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
  }

  .page-header::before,
  .page-header::after,
  .module-hero::before,
  .module-hero::after {
    display: none !important;
  }

  .page-header h1,
  .dashboard-wp-summary h2,
  .dashboard-product-header-main h2,
  .module-hero h2,
  .dashboard-hero h2,
  .residente-nome {
    color: #0f172a !important;
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  .page-header p,
  .dashboard-wp-summary p,
  .dashboard-product-header-main p,
  .module-hero p,
  .dashboard-hero p,
  .section-heading p,
  .card p,
  .muted {
    color: #64748b !important;
    opacity: 1 !important;
  }

  .pill,
  .summary-chip,
  .overview-badge,
  .permission-pill {
    box-shadow: none !important;
  }

  .kpi-card,
  .dashboard-mini-kpi,
  .mini-stat,
  .summary-tile {
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
  }

  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }
}
/* =========================================================
   V148 — DASHBOARD DECISÓRIO OPERACIONAL
   NÃO ALTERAR NADA ACIMA — SOMENTE ADIÇÃO
========================================================= */

/* ================================
   1. PRIORIDADE AGORA — DOMINÂNCIA
================================ */
.prioridade-agora,
.card-prioridade,
.priority-highlight {
  border: 2px solid #2563eb !important;
  background: #eff6ff !important;
  position: relative;
}

.prioridade-agora::before,
.card-prioridade::before,
.priority-highlight::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: #2563eb;
  border-radius: 6px 0 0 6px;
}

/* ================================
   2. BOTÃO EXECUTAR
================================ */
.btn-executar,
.btn-primary,
button.executar {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25) !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

.btn-executar:hover,
.btn-primary:hover,
button.executar:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.35) !important;
}

/* ================================
   3. TOP 5 CRÍTICOS
================================ */
.top-critico,
.card-critico,
.item-critico {
  border-left: 6px solid #dc2626 !important;
  background: #fef2f2 !important;
  transition: all 0.2s ease !important;
}

.top-critico:hover,
.card-critico:hover,
.item-critico:hover {
  background: #fee2e2 !important;
}

/* ================================
   4. SALA DE COMANDO (KPIs)
================================ */
.kpi-card,
.dashboard-kpi,
.kpi {
  background: #ffffff !important;
  border: 1px solid #dbe4ee !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}

.kpi-alerta {
  border: 1px solid #dc2626 !important;
  background: #fef2f2 !important;
}

/* ================================
   5. AÇÃO IMEDIATA
================================ */
.acao-imediata,
.card-acao,
.action-block {
  border: 2px dashed #2563eb !important;
  background: #f0f7ff !important;
}

/* ================================
   6. FEED OPERACIONAL
================================ */
.feed-operacional,
.timeline-item,
.event-item {
  border-left: 5px solid #16a34a !important;
  background: #f0fdf4 !important;
}

/* ================================
   7. HIERARQUIA DE TEXTO
================================ */
h1, .title-main {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

h2, .title-section {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
}

h3, .title-sub {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}


p, .text, .muted {
  color: #64748b !important;
  font-size: 14px !important;
}

/* ================================
   AJUSTE GERAL DE CARDS (SEM QUEBRAR)
================================ */
.card,
.dashboard-card,
.module-card {
  border-radius: 10px !important;
}

/* ================================
   GARANTIA DE NÃO QUEBRA MOBILE
================================ */
@media (max-width: 980px) {

  .prioridade-agora,
  .card-prioridade {
    border-width: 2px !important;
  }

  .btn-executar,
  .btn-primary {
    width: 100% !important;
  }

}

/* ===== V149 PRO DASHBOARD HIERARQUIA ===== */

/* PRIORIDADE */
.dashboard-prioridade {
  border-left: 6px solid #2563eb;
  background: #f8fbff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border-radius: 10px;
}

/* TOP CRITICOS */
.dashboard-top-criticos .dashboard-critico-item {
  border-left: 4px solid #dc2626;
  background: #fff7f7;
  padding: 12px;
  margin-bottom: 8px;
}

/* ACAO IMEDIATA */
.dashboard-acao-imediata {
  border: 2px solid #3b82f6;
  background: #f0f7ff;
  border-radius: 10px;
}

/* SALA COMANDO */
.dashboard-sala-comando .dashboard-kpi-card {
  background: #ffffff;
  border: 1px solid #dbe4ee;
  font-weight: 600;
}

.dashboard-kpi-alerta {
  border-left: 4px solid #f59e0b;
}

.dashboard-kpi-critico {
  border-left: 4px solid #dc2626;
}

/* FEED */
.dashboard-feed-operacional .dashboard-feed-item {
  border-left: 3px solid #16a34a;
  padding: 10px;
  margin-bottom: 6px;
}

/* COERENCIA */
.dashboard-coerencia {
  opacity: 0.7;
}


/* =========================================================
   V150 FINAL — ACABAMENTO PROFISSIONAL DO DASHBOARD DECISÓRIO
========================================================= */
body.page-dashboard .content{background:linear-gradient(180deg,#f4f7fb 0%,#eef4fb 100%)}
.dashboard-priority-section,
.dashboard-criticals-section,
.dashboard-immediate-section,
.dashboard-command-room,
.dashboard-recent-feed,
.dashboard-integrity-proof{position:relative;overflow:hidden}
.dashboard-priority-section::before,
.dashboard-command-room::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,rgba(37,99,235,.00),rgba(37,99,235,.22),rgba(37,99,235,.00));pointer-events:none}
.dashboard-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:7px 10px}
.dashboard-priority-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:22px;align-items:stretch;padding:24px 24px 22px;border-radius:22px;border:1px solid #dbe4ee;box-shadow:0 14px 36px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.65);position:relative;overflow:hidden}
.dashboard-priority-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:22px 0 0 22px;background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%)}
.dashboard-priority-card::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 72%);pointer-events:none}
.dashboard-priority-card.danger{background:linear-gradient(180deg,#fff9f9 0%,#fffdfd 100%);border-color:#fecaca}
.dashboard-priority-card.warning{background:linear-gradient(180deg,#fffaf5 0%,#fffdfb 100%);border-color:#fed7aa}
.dashboard-priority-card.success{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);border-color:#bfdbfe}
.dashboard-priority-card.neutral{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border-color:#cbd5e1}
.dashboard-priority-main{display:grid;gap:10px;align-content:start}
.dashboard-priority-title{margin:0;color:#0f172a;font-size:32px;line-height:1.02;letter-spacing:-.04em}
.dashboard-priority-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.dashboard-priority-summary strong{display:block;font-size:17px;line-height:1.45;color:#0f172a}
.dashboard-priority-immediate{font-size:14px;line-height:1.55;color:#475569 !important}
.dashboard-priority-actions{display:grid;gap:10px;align-content:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.74);border:1px solid rgba(219,228,238,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}
.dashboard-primary-cta{min-height:52px;justify-content:center;font-weight:900;letter-spacing:.02em;box-shadow:0 14px 28px rgba(37,99,235,.22)}
.dashboard-secondary-cta{min-height:44px;justify-content:center;font-weight:700;opacity:.88}
.dashboard-primary-cta:hover{transform:translateY(-1px);box-shadow:0 18px 30px rgba(37,99,235,.26)}
.dashboard-secondary-cta:hover{opacity:1}
.dashboard-criticals-section .section-heading,
.dashboard-immediate-section .section-heading,
.dashboard-command-room .section-heading,
.dashboard-recent-feed .section-heading{margin-bottom:16px}
.dashboard-resident-list{gap:0;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#fff}
.dashboard-resident-item{display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:0;padding:17px 20px;min-height:90px;background:#fff;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.dashboard-resident-item + .dashboard-resident-item{border-top:1px solid #e2e8f0}
.dashboard-resident-item:hover{transform:translateY(-1px)}
.dashboard-resident-item.is-top-critical{background:linear-gradient(180deg,#fff9f9 0%,#ffffff 100%);box-shadow:inset 0 0 0 1px rgba(220,38,38,.10)}
.dashboard-resident-item.is-top-critical .dashboard-resident-main strong{font-size:17px}
.dashboard-resident-main{display:grid;gap:6px;min-width:0}
.dashboard-resident-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dashboard-resident-main strong{font-size:15px;color:#0f172a;letter-spacing:-.01em}
.dashboard-resident-main span{color:#475569;font-weight:700;line-height:1.45}
.dashboard-rank-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;background:#f8fafc;border:1px solid #dbe4ee;color:#475569}
.dashboard-resident-item.is-top-critical .dashboard-rank-pill{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.dashboard-resident-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.dashboard-row-cta{min-width:92px;justify-content:center;font-weight:800}
.dashboard-resident-item.dashboard-priority-danger{border-left:4px solid #dc2626;background-image:linear-gradient(90deg,rgba(220,38,38,.045) 0%,rgba(255,255,255,0) 22%)}
.dashboard-resident-item.dashboard-priority-warning{border-left:4px solid #f97316;background-image:linear-gradient(90deg,rgba(249,115,22,.05) 0%,rgba(255,255,255,0) 22%)}
.dashboard-resident-item.dashboard-priority-success{border-left:4px solid #0ea5e9;background-image:linear-gradient(90deg,rgba(14,165,233,.05) 0%,rgba(255,255,255,0) 22%)}
.dashboard-resident-item.dashboard-priority-neutral{border-left:4px solid #64748b;background-image:linear-gradient(90deg,rgba(100,116,139,.05) 0%,rgba(255,255,255,0) 22%)}
.dashboard-immediate-section{display:grid;align-content:start}
.dashboard-action-execution{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 18px;border-radius:18px;border:1px solid #dbe4ee;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);box-shadow:0 10px 26px rgba(15,23,42,.06)}
.dashboard-action-execution strong{font-size:17px;color:#0f172a;letter-spacing:-.02em}
.dashboard-action-execution span{line-height:1.5}
.dashboard-execute-badge{min-height:44px;padding:0 16px;font-size:12px;font-weight:900;letter-spacing:.08em;display:inline-flex;align-items:center;justify-content:center}
.dashboard-command-room #dashboard-summary-grid{gap:14px}
.dashboard-command-kpi{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid #dbe4ee;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.dashboard-command-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}
.dashboard-command-kpi:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.07)}
.dashboard-command-kpi .muted{font-size:11px !important;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#64748b !important}
.dashboard-command-kpi .stat-number{font-size:38px;line-height:1;font-weight:900;letter-spacing:-.05em;color:#0f172a;margin:4px 0 8px}
.dashboard-command-kpi p{margin:0;color:#475569 !important;line-height:1.5}
.dashboard-command-kpi.kpi-tarefas-criticas{background:linear-gradient(180deg,#fff8f8 0%,#ffffff 100%);border-color:#fecaca}
.dashboard-command-kpi.kpi-tarefas-criticas::before{background:#dc2626}
.dashboard-command-kpi.kpi-tarefas-criticas .stat-number{color:#991b1b}
.dashboard-command-kpi.kpi-sem-evolucao{background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%);border-color:#fed7aa}
.dashboard-command-kpi.kpi-sem-evolucao::before{background:#f97316}
.dashboard-command-kpi.kpi-sem-cuidado{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border-color:#bfdbfe}
.dashboard-command-kpi.kpi-sem-cuidado::before{background:#2563eb}
.dashboard-command-kpi.kpi-medicacao-pendente{background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border-color:#cbd5e1}
.dashboard-command-kpi.kpi-medicacao-pendente::before{background:#475569}
.dashboard-feed-list{gap:10px}
.dashboard-feed-item{display:block;padding:15px 16px;border-radius:16px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 8px 20px rgba(15,23,42,.04);position:relative;overflow:hidden}
.dashboard-feed-item::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:999px;background:linear-gradient(180deg,#16a34a 0%,#22c55e 100%)}
.dashboard-feed-main{display:grid;gap:5px;padding-left:10px}
.dashboard-feed-main strong{font-size:14px;color:#0f172a;line-height:1.45}
.dashboard-feed-main span{font-size:12px;color:#64748b;line-height:1.45}
.dashboard-proof-muted{background:linear-gradient(180deg,#fbfcfe 0%,#ffffff 100%);border:1px solid #dbe4ee;box-shadow:0 8px 20px rgba(15,23,42,.04);opacity:.96}
.dashboard-proof-muted .card-header{padding:16px 18px 8px;align-items:center}
.dashboard-proof-muted h3{font-size:15px;letter-spacing:-.01em;color:#334155}
.dashboard-proof-muted .simple-list{padding:0 14px 14px}
.dashboard-proof-muted .simple-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:8px;min-height:unset;padding:12px 14px}
.dashboard-proof-muted .simple-list-item strong{font-size:11px;letter-spacing:.08em;color:#64748b}
.dashboard-proof-muted .simple-list-item span{font-size:12px;color:#475569;word-break:break-all}
@media (max-width: 980px){
  .dashboard-priority-card{grid-template-columns:1fr;padding:18px 16px 16px;border-radius:18px}
  .dashboard-priority-title{font-size:26px}
  .dashboard-priority-actions{padding:12px}
  .dashboard-primary-cta,.dashboard-secondary-cta{width:100%}
  .dashboard-resident-item{flex-direction:column;align-items:flex-start;padding:16px 14px;min-height:unset}
  .dashboard-resident-side{width:100%;justify-content:space-between}
  .dashboard-rank-pill{min-height:26px}
  .dashboard-action-execution{grid-template-columns:1fr;padding:16px 14px}
  .dashboard-execute-badge{width:100%}
  .dashboard-command-kpi{padding:16px 14px}
  .dashboard-command-kpi .stat-number{font-size:34px}
  .dashboard-feed-item{padding:14px}
  .dashboard-feed-main{padding-left:8px}
  .dashboard-proof-muted .card-header{padding:14px 14px 6px}
  .dashboard-proof-muted .simple-list{padding:0 10px 10px}
}

/* =========================================================
   V151 FINAL — MICRO-HIERARQUIA + DOMINÂNCIA VISUAL DO DASHBOARD
   Patch cirúrgico em cima do V150, sem alterar estrutura.
========================================================= */
body.page-dashboard .dashboard-priority-now,
body.page-dashboard .dashboard-priority-card{
  background:#ffffff !important;
  border-left:4px solid #2563eb !important;
  border-top:1px solid #dbe4ee !important;
  border-right:1px solid #dbe4ee !important;
  border-bottom:1px solid #dbe4ee !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
body.page-dashboard .dashboard-priority-card::before{
  width:4px !important;
  background:#2563eb !important;
}
body.page-dashboard .dashboard-priority-title,
body.page-dashboard .dashboard-priority-now h2,
body.page-dashboard .dashboard-priority-now h3{
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
  color:#111827 !important;
}
body.page-dashboard .dashboard-priority-summary,
body.page-dashboard .dashboard-priority-immediate,
body.page-dashboard .dashboard-priority-main .muted,
body.page-dashboard .dashboard-priority-main p{
  font-size:13px !important;
  color:#374151 !important;
}
body.page-dashboard .dashboard-priority-actions,
body.page-dashboard .dashboard-priority-card .acoes{
  background:#f9fafb !important;
  border-radius:10px !important;
  padding:16px !important;
  border:1px solid #e5e7eb !important;
  box-shadow:none !important;
}
body.page-dashboard .dashboard-primary-cta,
body.page-dashboard .dashboard-priority-card .btn-executar{
  min-height:44px !important;
  height:44px !important;
  font-size:14px !important;
  font-weight:600 !important;
  box-shadow:none !important;
}
body.page-dashboard .dashboard-secondary-cta{
  min-height:44px !important;
}

body.page-dashboard .dashboard-resident-item.is-top-critical,
body.page-dashboard .top-criticos .item:first-child{
  border:1px solid #fecaca !important;
  background:#fff5f5 !important;
  box-shadow:0 6px 18px rgba(239,68,68,.08) !important;
}
body.page-dashboard .dashboard-rank-pill,
body.page-dashboard .badge-urgencia{
  background:#fee2e2 !important;
  color:#b91c1c !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  border:1px solid #fecaca !important;
}
body.page-dashboard .dashboard-resident-main strong,
body.page-dashboard .top-criticos h4{
  font-size:14px !important;
  font-weight:600 !important;
}

body.page-dashboard .dashboard-command-kpi .stat-number,
body.page-dashboard .kpi-card .numero,
body.page-dashboard .kpi-card .stat-number{
  font-size:26px !important;
  font-weight:700 !important;
}
body.page-dashboard .dashboard-command-kpi > span,
body.page-dashboard .dashboard-command-kpi .muted,
body.page-dashboard .kpi-card .label{
  font-size:11px !important;
  color:#6b7280 !important;
}
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas,
body.page-dashboard .kpi-card.critico{
  border-left:3px solid #ef4444 !important;
}

body.page-dashboard .dashboard-feed-item:nth-child(even),
body.page-dashboard .feed-item:nth-child(even){
  background:#f9fafb !important;
}
body.page-dashboard .dashboard-feed-item,
body.page-dashboard .feed-item{
  border-left:3px solid #22c55e !important;
}
body.page-dashboard .dashboard-feed-item span,
body.page-dashboard .dashboard-feed-item small,
body.page-dashboard .feed-item small{
  font-size:11px !important;
  color:#6b7280 !important;
}

body.page-dashboard .dashboard-immediate-section,
body.page-dashboard .acao-imediata{
  background:#ffffff !important;
  border:1px dashed #d1d5db !important;
  padding:16px !important;
}
body.page-dashboard .dashboard-immediate-section h3,
body.page-dashboard .dashboard-immediate-section h4,
body.page-dashboard .acao-imediata h4{
  font-size:13px !important;
  font-weight:600 !important;
}

body.page-dashboard .card,
body.page-dashboard .page-section{
  padding:18px !important;
  border-radius:12px !important;
}
body.page-dashboard .card:hover,
body.page-dashboard .page-section:hover{
  transform:translateY(-1px);
  transition:all .2s ease;
}


/* =========================================================
   V152 FINAL — UX + DOMINÂNCIA INSTANTÂNEA DO DASHBOARD
   Ajuste visual cirúrgico em cima do V151, preservando estrutura.
========================================================= */
body.page-dashboard .dashboard-priority-card,
body.page-dashboard .dashboard-priority-now{
  background:#ffffff !important;
  border-left:4px solid #2563eb !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
body.page-dashboard .dashboard-priority-card::before{width:4px !important;background:#2563eb !important}
body.page-dashboard .dashboard-priority-title,
body.page-dashboard .dashboard-priority-now h2,
body.page-dashboard .dashboard-priority-now h3{
  font-size:20px !important;
  font-weight:700 !important;
  color:#111827 !important;
}
body.page-dashboard .dashboard-priority-summary,
body.page-dashboard .dashboard-priority-immediate,
body.page-dashboard .dashboard-priority-main p,
body.page-dashboard .dashboard-priority-main .muted{
  font-size:13px !important;
  color:#374151 !important;
}
body.page-dashboard .dashboard-priority-actions{
  background:#f9fafb !important;
  border-radius:10px !important;
  padding:16px !important;
}
body.page-dashboard .dashboard-primary-cta{
  min-height:44px !important;
  height:44px !important;
  font-size:14px !important;
  font-weight:600 !important;
}

body.page-dashboard .dashboard-resident-item.is-top-critical{
  border:1px solid #fecaca !important;
  background:#fff5f5 !important;
  box-shadow:0 6px 18px rgba(239,68,68,.08) !important;
}
body.page-dashboard .dashboard-rank-pill{
  background:#fee2e2 !important;
  color:#b91c1c !important;
  font-size:11px !important;
  font-weight:600 !important;
  border-color:#fecaca !important;
}
body.page-dashboard .dashboard-resident-main strong{
  font-size:14px !important;
  font-weight:600 !important;
}

body.page-dashboard .dashboard-command-kpi .stat-number{
  font-size:26px !important;
  font-weight:700 !important;
}
body.page-dashboard .dashboard-command-kpi .muted{
  font-size:11px !important;
  color:#6b7280 !important;
}
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas{
  border-left:3px solid #ef4444 !important;
}
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas::before{
  width:3px !important;
  background:#ef4444 !important;
}

body.page-dashboard .dashboard-feed-item:nth-child(even){
  background:#f9fafb !important;
}
body.page-dashboard .dashboard-feed-item{
  border-left:3px solid #22c55e !important;
}
body.page-dashboard .dashboard-feed-item::before{
  width:3px !important;
  background:#22c55e !important;
}
body.page-dashboard .dashboard-feed-item span,
body.page-dashboard .dashboard-feed-item small{
  font-size:11px !important;
  color:#6b7280 !important;
}

body.page-dashboard .dashboard-action-execution{
  background:#ffffff !important;
  border:1px dashed #d1d5db !important;
  padding:16px !important;
}
body.page-dashboard .dashboard-action-execution strong,
body.page-dashboard .dashboard-immediate-section h4{
  font-size:13px !important;
  font-weight:600 !important;
}

body.page-dashboard .card{
  padding:18px;
  border-radius:12px;
}
body.page-dashboard .card:hover{
  transform:translateY(-1px);
  transition:all .2s ease;
}

@media (max-width: 980px){
  body.page-dashboard .dashboard-priority-card,
  body.page-dashboard .dashboard-priority-now,
  body.page-dashboard .dashboard-action-execution,
  body.page-dashboard .dashboard-command-kpi,
  body.page-dashboard .dashboard-feed-item,
  body.page-dashboard .dashboard-resident-item,
  body.page-dashboard .card{
    padding:14px !important;
  }
  body.page-dashboard .dashboard-primary-cta,
  body.page-dashboard .dashboard-secondary-cta,
  body.page-dashboard .dashboard-execute-badge,
  body.page-dashboard .dashboard-row-cta{
    width:100%;
  }
}


/* =========================================================
   V153 — PSICOLOGIA DE DECISÃO + EXECUÇÃO OPERACIONAL
   Ajuste estritamente visual, sem alterar lógica ou estrutura
========================================================= */
.prioridade-agora {
  position: relative;
  animation: prioridadePulse 2.5s infinite;
}

@keyframes prioridadePulse {
  0% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.15); }
  70% { box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}

.prioridade-agora .acao-texto {
  font-weight: 600;
  color: #111827 !important;
}

.prioridade-agora .dashboard-priority-summary strong {
  font-size: 17px;
  line-height: 1.35;
}

.btn-executar {
  animation: botaoChamada 1.8s infinite;
  font-weight: 900 !important;
  letter-spacing: 0.04em;
  min-width: 200px;
}

@keyframes botaoChamada {
  0% { transform: scale(1); }
  50% { transform: scale(1.015); }
  100% { transform: scale(1); }
}

.top-criticos .item {
  transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}

.top-criticos .item:nth-child(1) {
  transform: scale(1.01);
}

.top-criticos .item:nth-child(2) {
  opacity: 0.95;
}

.top-criticos .item:nth-child(3) {
  opacity: 0.92;
}

.top-criticos .item:hover {
  transform: translateX(2px);
}

.kpi-card.sem-cuidado .numero {
  color: #2563eb !important;
}

.kpi-card.sem-evolucao .numero {
  color: #f97316 !important;
}

.kpi-card.critico .numero {
  color: #dc2626 !important;
}

.kpi-card.medicacao .numero {
  color: #374151 !important;
}

.feed-item:first-child {
  font-weight: 600;
}

.feed-item small,
.feed-item span {
  opacity: 0.8;
}

.card {
  margin-bottom: 14px;
}

.card * {
  line-height: 1.4;
}

.dashboard-priority-actions .dashboard-primary-cta,
.dashboard-priority-actions .dashboard-secondary-cta {
  min-height: 46px;
}

@media (prefers-reduced-motion: reduce) {
  .prioridade-agora,
  .btn-executar {
    animation: none !important;
  }
}


/* =========================================================
   V154 — MODO PLANTÃO REAL / PRESSÃO OPERACIONAL
   Ajuste visual/comportamental cirúrgico sobre V153.
   Sem alteração de backend, lógica ou estrutura HTML.
========================================================= */
body.page-dashboard .dashboard-principal,
body.page-dashboard .dashboard-priority-section,
body.page-dashboard .dashboard-priority-card,
body.page-dashboard .prioridade-agora {
  position: relative;
}

body.page-dashboard .prioridade-agora {
  z-index: 3;
  animation: none !important;
  border-left: 6px solid #dc2626 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff7f7 100%) !important;
  box-shadow: 0 12px 30px rgba(220, 38, 38, 0.10) !important;
}

body.page-dashboard .dashboard-priority-card::before,
body.page-dashboard .prioridade-agora::before {
  width: 6px !important;
  background: linear-gradient(180deg, #dc2626 0%, #ef4444 100%) !important;
}

body.page-dashboard .dashboard-priority-card::after,
body.page-dashboard .dashboard-principal .prioridade-agora::after,
body.page-dashboard .prioridade-agora::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 14px;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.08);
}

body.page-dashboard .prioridade-agora .dashboard-priority-title,
body.page-dashboard .prioridade-agora h2,
body.page-dashboard .prioridade-agora h3 {
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  color: #111827 !important;
}

body.page-dashboard .prioridade-agora .dashboard-priority-summary strong {
  font-size: 18px !important;
  line-height: 1.38 !important;
  color: #111827 !important;
}

body.page-dashboard .prioridade-agora .dashboard-priority-immediate,
body.page-dashboard .prioridade-agora .acao-texto,
body.page-dashboard .prioridade-agora p,
body.page-dashboard .prioridade-agora span,
body.page-dashboard .prioridade-agora small {
  line-height: 1.45 !important;
}

body.page-dashboard .btn-executar,
body.page-dashboard .prioridade-agora .btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar {
  animation: none !important;
  height: 48px !important;
  min-height: 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.22) !important;
}

body.page-dashboard .btn-executar:hover,
body.page-dashboard .prioridade-agora .btn-executar:hover,
body.page-dashboard .dashboard-priority-card .btn-executar:hover {
  transform: translateY(-1px) scale(1.01) !important;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28) !important;
}

body.page-dashboard .prioridade-agora .dashboard-secondary-cta,
body.page-dashboard .prioridade-agora .btn-secundario,
body.page-dashboard .prioridade-agora .btn-abrir-geral,
body.page-dashboard .prioridade-agora .secondary {
  opacity: 0.78 !important;
  box-shadow: none !important;
}

body.page-dashboard .dashboard-action-execution,
body.page-dashboard .dashboard-immediate-section,
body.page-dashboard .acao-imediata,
body.page-dashboard .card-acao-imediata {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border: 1px dashed #bfdbfe !important;
  box-shadow: inset 0 0 0 1px rgba(191, 219, 254, 0.15) !important;
}

body.page-dashboard .dashboard-action-execution strong,
body.page-dashboard .dashboard-immediate-section h4,
body.page-dashboard .acao-imediata h4,
body.page-dashboard .card-acao-imediata h4 {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

body.page-dashboard .dashboard-action-execution span,
body.page-dashboard .dashboard-immediate-section p,
body.page-dashboard .acao-imediata p,
body.page-dashboard .card-acao-imediata p {
  font-size: 13px !important;
  color: #4b5563 !important;
}

body.page-dashboard .top-criticos .item,
body.page-dashboard .dashboard-resident-item {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
  margin-bottom: 12px;
}

body.page-dashboard .dashboard-resident-item + .dashboard-resident-item {
  margin-top: 0 !important;
}

body.page-dashboard .top-criticos .item:hover,
body.page-dashboard .dashboard-resident-item:hover {
  transform: translateX(3px) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06) !important;
}

body.page-dashboard .top-criticos .item:first-child,
body.page-dashboard .dashboard-resident-item.is-top-critical {
  border-left: 4px solid #dc2626 !important;
}

body.page-dashboard .kpi-card .numero,
body.page-dashboard .kpi-card .stat-number,
body.page-dashboard .dashboard-command-kpi .stat-number {
  font-size: 34px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
}

body.page-dashboard .kpi-card.critico,
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas {
  box-shadow: 0 10px 24px rgba(239, 68, 68, 0.08) !important;
}

body.page-dashboard .kpi-card.sem-cuidado,
body.page-dashboard .kpi-card.sem-evolucao,
body.page-dashboard .kpi-card.medicacao,
body.page-dashboard .dashboard-command-kpi.kpi-sem-cuidado,
body.page-dashboard .dashboard-command-kpi.kpi-sem-evolucao,
body.page-dashboard .dashboard-command-kpi.kpi-medicacao-pendente {
  border-left-width: 4px !important;
}

body.page-dashboard .kpi-card.critico,
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas {
  border-left-width: 5px !important;
}

body.page-dashboard .dashboard-feed-item:first-child,
body.page-dashboard .feed-item:first-child {
  background: #f0fdf4 !important;
  border-left-width: 4px !important;
}

body.page-dashboard .card p,
body.page-dashboard .card span,
body.page-dashboard .card small,
body.page-dashboard .dashboard-feed-item p,
body.page-dashboard .dashboard-feed-item span,
body.page-dashboard .dashboard-feed-item small {
  line-height: 1.45 !important;
}

body.page-dashboard .card,
body.page-dashboard .kpi-card,
body.page-dashboard .feed-item,
body.page-dashboard .dashboard-feed-item,
body.page-dashboard .top-criticos .item,
body.page-dashboard .dashboard-resident-item {
  margin-bottom: 12px;
}

body.page-dashboard .section-title,
body.page-dashboard .section-heading h3,
body.page-dashboard .card h3,
body.page-dashboard .card h4 {
  letter-spacing: -0.2px !important;
}

@media (max-width: 980px) {
  body.page-dashboard .prioridade-agora,
  body.page-dashboard .dashboard-priority-card {
    border-left-width: 5px !important;
  }

  body.page-dashboard .prioridade-agora .btn-executar,
  body.page-dashboard .dashboard-primary-cta,
  body.page-dashboard .dashboard-secondary-cta,
  body.page-dashboard .dashboard-row-cta,
  body.page-dashboard .dashboard-execute-badge {
    width: 100% !important;
  }

  body.page-dashboard .dashboard-command-kpi .stat-number,
  body.page-dashboard .kpi-card .numero,
  body.page-dashboard .kpi-card .stat-number {
    font-size: 30px !important;
  }

  body.page-dashboard .dashboard-feed-item,
  body.page-dashboard .feed-item,
  body.page-dashboard .dashboard-action-execution,
  body.page-dashboard .dashboard-resident-item,
  body.page-dashboard .kpi-card,
  body.page-dashboard .card {
    margin-bottom: 12px !important;
  }
}

/* =========================================================
   V155 — INSTINTIVO, REATIVO E EM TEMPO REAL
   Microinterações cirúrgicas do dashboard, sem backend/HTML.
========================================================= */
@keyframes pulseUrgenciaV155 {
  0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.20), 0 14px 32px rgba(220, 38, 38, 0.10); }
  68% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0), 0 16px 34px rgba(220, 38, 38, 0.13); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0), 0 14px 32px rgba(220, 38, 38, 0.10); }
}

body.page-dashboard .prioridade-agora {
  transform: scale(1.01);
  transform-origin: center;
  animation: pulseUrgenciaV155 2.5s infinite !important;
  will-change: transform, box-shadow;
}

body.page-dashboard .prioridade-agora .btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar,
body.page-dashboard .dashboard-primary-cta.btn-executar {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  box-shadow:
    0 12px 28px rgba(37, 99, 235, 0.35),
    inset 0 1px 0 rgba(255,255,255,0.20) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
}

body.page-dashboard .prioridade-agora .btn-executar:hover,
body.page-dashboard .dashboard-priority-card .btn-executar:hover,
body.page-dashboard .dashboard-primary-cta.btn-executar:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    0 16px 32px rgba(37, 99, 235, 0.45),
    inset 0 1px 0 rgba(255,255,255,0.20) !important;
}

body.page-dashboard .prioridade-agora .btn-executar:active,
body.page-dashboard .dashboard-priority-card .btn-executar:active,
body.page-dashboard .dashboard-primary-cta.btn-executar:active {
  transform: scale(0.97) !important;
}

body.page-dashboard .dashboard-feed-item,
body.page-dashboard .feed-item {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

body.page-dashboard .dashboard-feed-item:hover,
body.page-dashboard .feed-item:hover {
  transform: translateX(2px) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07) !important;
}

body.page-dashboard .dashboard-command-kpi.critico .numero,
body.page-dashboard .dashboard-command-kpi.critico .stat-number,
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas .numero,
body.page-dashboard .dashboard-command-kpi.kpi-tarefas-criticas .stat-number,
body.page-dashboard .kpi-card.critico .numero,
body.page-dashboard .kpi-card.critico .stat-number {
  color: #dc2626 !important;
}

body.page-dashboard .dashboard-command-kpi .numero,
body.page-dashboard .dashboard-command-kpi .stat-number,
body.page-dashboard .kpi-card .numero,
body.page-dashboard .kpi-card .stat-number {
  letter-spacing: -0.5px !important;
}

body.page-dashboard .dashboard-action-execution,
body.page-dashboard .acao-imediata {
  border: 1px dashed #93c5fd !important;
  background: linear-gradient(180deg, #ffffff, #eff6ff) !important;
  min-height: 120px;
  display: flex;
  align-items: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

body.page-dashboard .dashboard-action-execution:hover,
body.page-dashboard .acao-imediata:hover {
  border-color: #2563eb !important;
  box-shadow: 0 12px 26px rgba(37, 99, 235, 0.08) !important;
}

body.page-dashboard button:active,
body.page-dashboard .button:active,
body.page-dashboard a.button:active {
  filter: brightness(0.95);
}

body.page-dashboard .dashboard-priority-section .card,
body.page-dashboard .dashboard-operational-duo > .card,
body.page-dashboard .dashboard-command-room,
body.page-dashboard .dashboard-recent-feed,
body.page-dashboard .dashboard-integrity-proof,
body.page-dashboard .dashboard-resident-item,
body.page-dashboard .dashboard-feed-item,
body.page-dashboard .dashboard-command-kpi {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

@media (prefers-reduced-motion: reduce) {
  body.page-dashboard .prioridade-agora {
    animation: none !important;
    transform: none !important;
  }

  body.page-dashboard .dashboard-feed-item,
  body.page-dashboard .feed-item,
  body.page-dashboard .dashboard-command-room,
  body.page-dashboard .dashboard-command-kpi,
  body.page-dashboard .dashboard-action-execution,
  body.page-dashboard .dashboard-resident-item,
  body.page-dashboard .prioridade-agora .btn-executar,
  body.page-dashboard .dashboard-primary-cta.btn-executar {
    transition: none !important;
  }
}

@media (max-width: 980px) {
  body.page-dashboard .prioridade-agora {
    transform: none;
  }

  body.page-dashboard .dashboard-action-execution,
  body.page-dashboard .acao-imediata {
    min-height: 108px;
  }
}

/* =========================================================
   V156 — IA VISUAL + ALERTA DE COLAPSO ANTES DE ACONTECER
   Camada cognitiva de agravamento sem tocar em backend ou fluxo.
========================================================= */
body.page-dashboard .prioridade-agora,
body.page-dashboard .dashboard-priority-card {
  position: relative;
  overflow: hidden;
}

body.page-dashboard .prioridade-agora {
  transform: none !important;
  animation: none !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
}

body.page-dashboard .prioridade-agora.risco-crescente::before,
body.page-dashboard .dashboard-priority-card.risco-crescente::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px !important;
  height: 100%;
  background: linear-gradient(180deg, #f97316 0%, #dc2626 100%) !important;
}

body.page-dashboard .prioridade-agora.risco-crescente {
  background: linear-gradient(180deg, #ffffff 0%, #fff7f5 100%) !important;
  border-color: #fed7aa !important;
}

body.page-dashboard .prioridade-agora .descricao,
body.page-dashboard .top-criticos .descricao {
  color: #1f2937 !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

body.page-dashboard .prioridade-agora strong,
body.page-dashboard .top-criticos strong {
  font-weight: 700 !important;
}

body.page-dashboard .prioridade-agora .btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar,
body.page-dashboard .dashboard-primary-cta.btn-executar {
  box-shadow:
    0 12px 30px rgba(37, 99, 235, 0.32),
    0 0 0 3px rgba(191, 219, 254, 0.22) !important;
}

body.page-dashboard .prioridade-agora .btn-executar:hover,
body.page-dashboard .dashboard-priority-card .btn-executar:hover,
body.page-dashboard .dashboard-primary-cta.btn-executar:hover {
  box-shadow:
    0 16px 36px rgba(37, 99, 235, 0.40),
    0 0 0 4px rgba(147, 197, 253, 0.24) !important;
}

body.page-dashboard .top-criticos .item:nth-child(1) {
  border-left: 4px solid #dc2626 !important;
  background: #fff5f5 !important;
  box-shadow: 0 10px 22px rgba(220, 38, 38, 0.10) !important;
}

body.page-dashboard .top-criticos .item:nth-child(2) { border-left: 4px solid #ef4444 !important; }
body.page-dashboard .top-criticos .item:nth-child(3) { border-left: 4px solid #f97316 !important; }
body.page-dashboard .top-criticos .item:nth-child(4) { border-left: 4px solid #fb7185 !important; }
body.page-dashboard .top-criticos .item:nth-child(5) { border-left: 4px solid #fca5a5 !important; }

body.page-dashboard .kpi-card.sem-cuidado {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
}

body.page-dashboard .kpi-card.sem-evolucao {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
}

body.page-dashboard .kpi-card.critico {
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%) !important;
}

body.page-dashboard .kpi-card.medicacao {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.page-dashboard .kpi-card .numero,
body.page-dashboard .kpi-card .stat-number {
  font-size: 36px !important;
  font-weight: 800 !important;
}

body.page-dashboard .kpi-card .label,
body.page-dashboard .kpi-card .descricao {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body.page-dashboard .feed-vazio,
body.page-dashboard .feed-empty {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border-left: 4px solid #94a3b8 !important;
}

body.page-dashboard .feed-vazio p,
body.page-dashboard .feed-vazio span,
body.page-dashboard .feed-empty p,
body.page-dashboard .feed-empty span {
  color: #475569 !important;
  line-height: 1.5 !important;
}

body.page-dashboard .acao-imediata,
body.page-dashboard .card-acao-imediata,
body.page-dashboard .dashboard-action-execution {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border: 1px dashed #93c5fd !important;
}

body.page-dashboard .acao-imediata h4,
body.page-dashboard .card-acao-imediata h4,
body.page-dashboard .dashboard-action-execution h4,
body.page-dashboard .dashboard-action-execution strong {
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.page-dashboard .acao-imediata .acao-label,
body.page-dashboard .card-acao-imediata .acao-label,
body.page-dashboard .dashboard-action-execution .acao-label,
body.page-dashboard .dashboard-action-execution .status-badge {
  color: #1d4ed8 !important;
  font-weight: 600 !important;
}

body.page-dashboard .card,
body.page-dashboard .kpi-card,
body.page-dashboard .top-criticos .item,
body.page-dashboard .feed-item,
body.page-dashboard .dashboard-feed-item {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

body.page-dashboard .top-criticos .item:hover,
body.page-dashboard .kpi-card:hover,
body.page-dashboard .feed-item:hover,
body.page-dashboard .dashboard-feed-item:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 980px) {
  body.page-dashboard .prioridade-agora,
  body.page-dashboard .dashboard-priority-card,
  body.page-dashboard .dashboard-action-execution,
  body.page-dashboard .top-criticos .item,
  body.page-dashboard .dashboard-feed-item,
  body.page-dashboard .kpi-card {
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06) !important;
  }

  body.page-dashboard .top-criticos .item:hover,
  body.page-dashboard .kpi-card:hover,
  body.page-dashboard .feed-item:hover,
  body.page-dashboard .dashboard-feed-item:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-dashboard .card,
  body.page-dashboard .kpi-card,
  body.page-dashboard .top-criticos .item,
  body.page-dashboard .feed-item,
  body.page-dashboard .dashboard-feed-item,
  body.page-dashboard .prioridade-agora .btn-executar {
    transition: none !important;
  }
}

/* =========================================================
   V158 — DOMINÂNCIA OPERACIONAL (AÇÃO / CRÍTICO / FOCO)
========================================================= */

@media (max-width: 980px) {

  /* 🔴 BLOCO AÇÃO IMEDIATA = DOMINANTE */
  .acao-imediata,
  .bloco-acao-imediata {
    border: 2px solid #ef4444 !important;
    background: linear-gradient(180deg, #fff1f2 0%, #ffffff 100%) !important;
    box-shadow: 0 10px 30px rgba(239, 68, 68, 0.15) !important;
    position: relative;
  }

  .acao-imediata::before {
    content: "AÇÃO IMEDIATA";
    position: absolute;
    top: -10px;
    left: 14px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    letter-spacing: 0.5px;
  }

  /* 🔴 BOTÃO PRINCIPAL (EXECUTAR) */
  .btn-executar,
  .btn-primary,
  .btn-acao,
  button.primary {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    height: 52px !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35) !important;
    border: none !important;
  }

  /* 🔴 EFEITO DE CHAMADA (PULSO LEVE) */
  .btn-executar:active {
    transform: scale(0.97);
  }

  /* 🔴 CRÍTICO PRECISA GRITAR */
  .critico,
  .badge-critico {
    background: #ef4444 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
  }

  /* 🔴 CARDS CRÍTICOS COM BORDA FORTE */
  .card-critico,
  .residente-critico {
    border-left: 6px solid #ef4444 !important;
    background: linear-gradient(180deg, #fff5f5 0%, #ffffff 100%) !important;
  }

  /* 🔴 KPI CRÍTICO NÃO PODE SER NEUTRO */
  .kpi-critico {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
  }

  .kpi-critico .numero {
    color: #dc2626 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
  }

  /* 🔴 TOP 5 CRÍTICOS = PRIORIDADE VISUAL */
  .top-criticos .card {
    border-left: 5px solid #ef4444 !important;
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.12) !important;
  }

  /* 🔴 REMOVE CONCORRÊNCIA VISUAL */
  .card,
  .page-header,
  .dashboard-wp-summary {
    border: 1px solid #e5e7eb !important;
  }

  /* 🔴 SEÇÃO PRINCIPAL MAIS FORTE */
  .section-priority,
  .prioridade-agora {
    border: 2px solid #3b82f6 !important;
    box-shadow: 0 8px 28px rgba(59, 130, 246, 0.12) !important;
  }

  /* 🔴 DIMINUI IMPORTÂNCIA DE SEÇÕES SECUNDÁRIAS */
  .feed-operacional,
  .prova-coerencia {
    opacity: 0.75;
  }

}

/* =========================================================
   V159 — LIMPEZA DE DOMINÂNCIA + CORREÇÃO DE BOTÕES MOBILE
========================================================= */

@media (max-width: 980px) {

  /* 1) REMOVE REDUNDÂNCIA DO SELO EM AÇÃO IMEDIATA */
  .acao-imediata::before,
  .bloco-acao-imediata::before {
    display: none !important;
    content: none !important;
  }

  /* 2) BOTÃO REAL DE EXECUÇÃO — FORÇA TOTAL */
  .acao-imediata a,
  .acao-imediata button,
  .acao-imediata .btn,
  .acao-imediata .btn-primary,
  .acao-imediata .btn-executar,
  .acao-imediata input[type="submit"],
  .bloco-acao-imediata a,
  .bloco-acao-imediata button,
  .bloco-acao-imediata .btn,
  .bloco-acao-imediata .btn-primary,
  .bloco-acao-imediata .btn-executar,
  .bloco-acao-imediata input[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    border: none !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28) !important;
  }

  .acao-imediata a:visited,
  .bloco-acao-imediata a:visited {
    color: #ffffff !important;
  }

  /* 3) CONTAINER DE AÇÃO IMEDIATA MENOS “CAIXA VAZIA” */
  .acao-imediata,
  .bloco-acao-imediata {
    padding: 16px !important;
    border: 1.5px solid #fecaca !important;
    background: linear-gradient(180deg, #fff7f7 0%, #ffffff 100%) !important;
    box-shadow: 0 10px 24px rgba(239, 68, 68, 0.10) !important;
  }

  .acao-imediata .card,
  .acao-imediata .inner,
  .acao-imediata .acao-box,
  .bloco-acao-imediata .card,
  .bloco-acao-imediata .inner,
  .bloco-acao-imediata .acao-box {
    padding: 14px !important;
    border: 1px dashed #93c5fd !important;
    border-radius: 18px !important;
    background: #ffffff !important;
  }

  /* 4) BLOCO PRIORIDADE AGORA — REDUZ ALTURA MORTA */
  .prioridade-agora .status-box,
  .prioridade-agora .motivo-box,
  .prioridade-agora .critical-box,
  .prioridade-agora .dominant-reason,
  .prioridade-agora .status-highlight,
  .prioridade-agora .reason-highlight {
    min-height: 96px !important;
    padding: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 20px !important;
  }

  /* 5) TÍTULO DO RESIDENTE MAIS FORTE */
  .prioridade-agora h2,
  .prioridade-agora h3,
  .card-prioridade h2,
  .card-prioridade h3 {
    font-size: 24px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 10px !important;
  }

  /* 6) TEXTO LONGO DA PRIORIDADE — MELHOR LEITURA */
  .prioridade-agora p,
  .prioridade-agora .descricao,
  .prioridade-agora .motivo,
  .card-prioridade p,
  .card-prioridade .descricao,
  .card-prioridade .motivo {
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #1e293b !important;
  }

  /* 7) BOTÃO SECUNDÁRIO MAIS DISCRETO */
  .prioridade-agora .btn-secondary,
  .prioridade-agora .btn-outline,
  .prioridade-agora .btn-light,
  .card-prioridade .btn-secondary,
  .card-prioridade .btn-outline,
  .card-prioridade .btn-light {
    min-height: 50px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: none !important;
    font-weight: 700 !important;
  }

  /* 8) FEED E PROVA DE COERÊNCIA VIRAM SECUNDÁRIOS */
  .feed-operacional,
  .prova-coerencia,
  .bloco-feed-operacional,
  .bloco-prova-coerencia {
    opacity: 0.88 !important;
  }

  .feed-operacional .card,
  .prova-coerencia .card,
  .bloco-feed-operacional .card,
  .bloco-prova-coerencia .card {
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
  }

  /* 9) HASH / INTEGRIDADE COMPACTOS */
  .hash-box,
  .integridade-box,
  .coerencia-hash,
  .coerencia-runtime {
    padding: 14px !important;
    min-height: auto !important;
  }

  /* 10) TOP 5 — MAIS APERTO VERTICAL */
  .top-criticos .card,
  .top5-criticos .card {
    padding: 18px !important;
  }

  .top-criticos .card p,
  .top5-criticos .card p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}

/* =========================================================
   V160 — CORREÇÃO FINAL DO BLOCO AÇÃO IMEDIATA + DENSIDADE
========================================================= */

@media (max-width: 980px) {

  /* 1) SEÇÃO AÇÃO IMEDIATA = MAIS COMPACTA */
  .acao-imediata,
  .bloco-acao-imediata,
  .card-acao-imediata,
  .acao-box-wrapper {
    padding: 14px !important;
    border: 1px solid #dbe4ee !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
  }

  /* 2) CAIXA INTERNA DA AÇÃO IMEDIATA */
  .acao-imediata .card,
  .acao-imediata .inner,
  .acao-imediata .acao-box,
  .acao-imediata .acao-card,
  .acao-imediata .acao-imediata-card,
  .bloco-acao-imediata .card,
  .bloco-acao-imediata .inner,
  .bloco-acao-imediata .acao-box,
  .bloco-acao-imediata .acao-card,
  .bloco-acao-imediata .acao-imediata-card,
  .card-acao-imediata .card,
  .card-acao-imediata .inner,
  .card-acao-imediata .acao-box {
    padding: 16px !important;
    border: 1px dashed #93c5fd !important;
    border-radius: 18px !important;
    background: #ffffff !important;
  }

  /* 3) TÍTULOS DO BLOCO */
  .acao-imediata h2,
  .acao-imediata h3,
  .acao-imediata strong,
  .bloco-acao-imediata h2,
  .bloco-acao-imediata h3,
  .bloco-acao-imediata strong {
    font-size: 17px !important;
    line-height: 1.25 !important;
    color: #0f172a !important;
    font-weight: 800 !important;
  }

  .acao-imediata p,
  .acao-imediata small,
  .bloco-acao-imediata p,
  .bloco-acao-imediata small {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.45 !important;
  }

  /* 4) FORÇA ABSOLUTA NO BOTÃO DO BLOCO AÇÃO IMEDIATA */
  .acao-imediata a,
  .acao-imediata button,
  .acao-imediata .btn,
  .acao-imediata .btn-primary,
  .acao-imediata .btn-executar,
  .acao-imediata .button,
  .acao-imediata [role="button"],
  .acao-imediata input[type="submit"],
  .acao-imediata input[type="button"],
  .acao-imediata .action-btn,
  .acao-imediata .execute-btn,
  .bloco-acao-imediata a,
  .bloco-acao-imediata button,
  .bloco-acao-imediata .btn,
  .bloco-acao-imediata .btn-primary,
  .bloco-acao-imediata .btn-executar,
  .bloco-acao-imediata .button,
  .bloco-acao-imediata [role="button"],
  .bloco-acao-imediata input[type="submit"],
  .bloco-acao-imediata input[type="button"],
  .bloco-acao-imediata .action-btn,
  .bloco-acao-imediata .execute-btn,
  .card-acao-imediata a,
  .card-acao-imediata button,
  .card-acao-imediata .btn,
  .card-acao-imediata input[type="submit"],
  .card-acao-imediata input[type="button"] {
    display: flex !important;
    width: 100% !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border-radius: 16px !important;
    border: none !important;
    outline: none !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .acao-imediata a *,
  .acao-imediata button *,
  .acao-imediata .btn *,
  .acao-imediata input[type="submit"] *,
  .acao-imediata input[type="button"] *,
  .bloco-acao-imediata a *,
  .bloco-acao-imediata button *,
  .bloco-acao-imediata .btn *,
  .bloco-acao-imediata input[type="submit"] *,
  .bloco-acao-imediata input[type="button"] * {
    color: #ffffff !important;
  }

  /* 5) CASO O “BOTÃO” ESTEJA VINDO COMO CAMPO ESTILIZADO */
  .acao-imediata input:not([type="text"]):not([type="hidden"]),
  .bloco-acao-imediata input:not([type="text"]):not([type="hidden"]),
  .card-acao-imediata input:not([type="text"]):not([type="hidden"]) {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 16px !important;
    min-height: 54px !important;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28) !important;
  }

  /* 6) PRIORIDADE AGORA = MENOS ALTURA MORTA */
  .prioridade-agora,
  .card-prioridade,
  .resident-priority-card {
    padding: 14px !important;
  }

  .prioridade-agora .status-box,
  .prioridade-agora .motivo-box,
  .prioridade-agora .critical-box,
  .prioridade-agora .dominant-reason,
  .prioridade-agora .status-highlight,
  .prioridade-agora .reason-highlight,
  .card-prioridade .status-box,
  .card-prioridade .motivo-box,
  .card-prioridade .critical-box,
  .card-prioridade .dominant-reason {
    min-height: 72px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .prioridade-agora h2,
  .prioridade-agora h3,
  .card-prioridade h2,
  .card-prioridade h3 {
    font-size: 22px !important;
    line-height: 1.1 !important;
    margin-bottom: 10px !important;
  }

  .prioridade-agora p,
  .card-prioridade p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* 7) BOTÃO SECUNDÁRIO DA PRIORIDADE */
  .prioridade-agora .btn-secondary,
  .prioridade-agora .btn-outline,
  .prioridade-agora .btn-light,
  .card-prioridade .btn-secondary,
  .card-prioridade .btn-outline,
  .card-prioridade .btn-light {
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  /* 8) PROVA DE COERÊNCIA = BLOCO SECUNDÁRIO */
  .prova-coerencia,
  .bloco-prova-coerencia,
  .coerencia-operacional {
    opacity: 0.82 !important;
  }

  .prova-coerencia .integridade-box,
  .bloco-prova-coerencia .integridade-box,
  .coerencia-operacional .integridade-box,
  .prova-coerencia .status-box,
  .bloco-prova-coerencia .status-box {
    min-height: 80px !important;
    padding: 14px !important;
    font-size: 15px !important;
  }

  .prova-coerencia .hash-box,
  .bloco-prova-coerencia .hash-box,
  .coerencia-operacional .hash-box {
    padding: 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* 9) FEED MAIS ENXUTO */
  .feed-operacional .card,
  .bloco-feed-operacional .card {
    padding: 16px !important;
  }

  /* 10) TOP 5 MAIS EXECUTIVO */
  .top-criticos .card,
  .top5-criticos .card {
    padding: 16px !important;
  }

  .top-criticos .card h3,
  .top5-criticos .card h3 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  .top-criticos .card p,
  .top5-criticos .card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
}


/*=================== Começa Aqui a resvisão 21/04/2026 ======================*/

/* =========================================================
   V157 MICRO AJUSTES — DOMINÂNCIA OPERACIONAL
   Colar no FINAL do app/assets/style.css
========================================================= */

body {
  background: #f1f5f9;
}

/* =========================================================
   1) PRIORIDADE AGORA — mais tensão operacional
========================================================= */
.prioridade-agora {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
  border: 1px solid #fdba74 !important;
  box-shadow: 0 12px 28px rgba(249, 115, 22, 0.08) !important;
}

.prioridade-agora .status-box,
.prioridade-agora .status,
.prioridade-agora .criticidade-box {
  background: #fff1f2 !important;
  border: 1px solid #fecaca !important;
}

.prioridade-agora .descricao,
.prioridade-agora p {
  color: #334155 !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}

.prioridade-agora strong {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* Faixa lateral de agravamento */
.prioridade-agora::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #f97316 0%, #dc2626 100%);
  border-radius: 999px;
  opacity: 0.95;
}

.prioridade-agora {
  position: relative;
  overflow: hidden;
}

/* =========================================================
   2) BOTÕES DE AÇÃO — mais presença
========================================================= */
.prioridade-agora .btn-executar,
.prioridade-agora .btn-primary,
.top-criticos .btn-executar,
.top-criticos .btn-primary,
.card-acao-imediata .btn,
.card-acao-imediata .btn-primary,
.acao-imediata .btn,
.acao-imediata .btn-primary {
  min-height: 56px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  border-radius: 18px !important;
  box-shadow:
    0 12px 30px rgba(37, 99, 235, 0.28),
    0 0 0 3px rgba(191, 219, 254, 0.18) !important;
}

.prioridade-agora .btn-executar:hover,
.prioridade-agora .btn-primary:hover,
.top-criticos .btn-executar:hover,
.top-criticos .btn-primary:hover,
.card-acao-imediata .btn:hover,
.card-acao-imediata .btn-primary:hover,
.acao-imediata .btn:hover,
.acao-imediata .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow:
    0 16px 34px rgba(37, 99, 235, 0.34),
    0 0 0 4px rgba(147, 197, 253, 0.22) !important;
}

/* =========================================================
   3) TOP 5 CRÍTICOS — progressão visual real
========================================================= */
.top-criticos .item:nth-child(1) {
  border-left: 4px solid #dc2626 !important;
  background: #fff5f5 !important;
  transform: scale(1.02);
  box-shadow: 0 14px 28px rgba(220, 38, 38, 0.10) !important;
  opacity: 1 !important;
}

.top-criticos .item:nth-child(2) {
  border-left: 4px solid #ef4444 !important;
  opacity: 0.96;
}

.top-criticos .item:nth-child(3) {
  border-left: 4px solid #f97316 !important;
  opacity: 0.92;
}

.top-criticos .item:nth-child(4) {
  border-left: 4px solid #fb7185 !important;
  opacity: 0.88;
}

.top-criticos .item:nth-child(5) {
  border-left: 4px solid #fca5a5 !important;
  opacity: 0.84;
}

.top-criticos .item {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, opacity 0.18s ease !important;
}

.top-criticos .item:hover {
  transform: translateY(-1px);
}

.top-criticos .descricao,
.top-criticos p {
  color: #334155 !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
}

.top-criticos strong {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* =========================================================
   4) SALA DE COMANDO / KPI — mais peso de pressão
========================================================= */
.kpi-card,
.dashboard-mini-kpi,
.mini-stat,
.summary-tile {
  border-radius: 22px !important;
}

.kpi-card .numero,
.dashboard-mini-kpi .numero,
.mini-stat .numero,
.summary-tile .numero {
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.kpi-card .label,
.kpi-card .descricao,
.dashboard-mini-kpi .label,
.dashboard-mini-kpi .descricao {
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.kpi-card.sem-cuidado {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
}

.kpi-card.sem-evolucao {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
  border: 1px solid #fed7aa !important;
}

.kpi-card.critico,
.kpi-card.tarefas-criticas {
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%) !important;
  border: 1px solid #fecaca !important;
}

.kpi-card.medicacao {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

.kpi-card.critico .numero,
.kpi-card.tarefas-criticas .numero {
  font-size: 42px !important;
}

/* fallback por posição caso não existam classes específicas */
.sala-comando .kpi-card:nth-child(1) {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
}

.sala-comando .kpi-card:nth-child(2) {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%) !important;
  border: 1px solid #fed7aa !important;
}

.sala-comando .kpi-card:nth-child(3) {
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%) !important;
  border: 1px solid #fecaca !important;
}

.sala-comando .kpi-card:nth-child(3) .numero {
  font-size: 42px !important;
}

/* =========================================================
   5) AÇÃO IMEDIATA — tirar cara de placeholder
========================================================= */
.acao-imediata,
.card-acao-imediata {
  background: #eff6ff !important;
  border: 1px solid #93c5fd !important;
  box-shadow: 0 10px 24px rgba(59, 130, 246, 0.08) !important;
}

.acao-imediata h4,
.card-acao-imediata h4,
.acao-imediata .titulo,
.card-acao-imediata .titulo {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
}

.acao-imediata .acao-label,
.card-acao-imediata .acao-label,
.acao-imediata p,
.card-acao-imediata p {
  color: #1d4ed8 !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* remove tracejado fraco, se existir */
.acao-imediata,
.card-acao-imediata,
.acao-imediata *,
.card-acao-imediata * {
  border-style: solid !important;
}

/* =========================================================
   6) FEED VAZIO — monitoramento ativo
========================================================= */
.feed-vazio,
.feed-empty {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border-left: 4px solid #94a3b8 !important;
}

.feed-vazio p,
.feed-empty p {
  color: #475569 !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* =========================================================
   7) LIMPEZA DE NÉVOA / GLASS SOBRANDO
========================================================= */
.card,
.kpi-card,
.top-criticos .item,
.feed-item,
.prioridade-agora,
.card-acao-imediata,
.acao-imediata {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.page-header::before,
.page-header::after,
.module-hero::before,
.module-hero::after {
  display: none !important;
}

/* =========================================================
   8) MOBILE — manter forte sem poluir
========================================================= */
@media (max-width: 980px) {
  body {
    background: #f1f5f9 !important;
  }

  .prioridade-agora {
    box-shadow: 0 10px 22px rgba(249, 115, 22, 0.08) !important;
  }

  .prioridade-agora .btn-executar,
  .prioridade-agora .btn-primary,
  .top-criticos .btn-executar,
  .top-criticos .btn-primary,
  .card-acao-imediata .btn,
  .card-acao-imediata .btn-primary,
  .acao-imediata .btn,
  .acao-imediata .btn-primary {
    min-height: 54px !important;
    font-size: 15px !important;
  }

  .kpi-card .numero,
  .dashboard-mini-kpi .numero,
  .mini-stat .numero,
  .summary-tile .numero {
    font-size: 34px !important;
  }

  .kpi-card.critico .numero,
  .kpi-card.tarefas-criticas .numero,
  .sala-comando .kpi-card:nth-child(3) .numero {
    font-size: 38px !important;
  }
  
  /* =========================================================
   HOTFIX — corrigir bordas internas quebradas da ação imediata
========================================================= */

/* remove a força de borda em todos os descendentes */
.acao-imediata *,
.card-acao-imediata * {
  border-style: initial !important;
  border-width: 0 !important;
  box-shadow: none !important;
}

/* mantém borda apenas no container principal */
.acao-imediata,
.card-acao-imediata {
  border: 1px solid #93c5fd !important;
  background: #eff6ff !important;
  box-shadow: 0 10px 24px rgba(59, 130, 246, 0.08) !important;
}

/* título e descrição limpos */
.acao-imediata h4,
.card-acao-imediata h4,
.acao-imediata .titulo,
.card-acao-imediata .titulo,
.acao-imediata p,
.card-acao-imediata p,
.acao-imediata span,
.card-acao-imediata span,
.acao-imediata strong,
.card-acao-imediata strong {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* botão continua forte */
.acao-imediata .btn,
.card-acao-imediata .btn,
.acao-imediata .btn-primary,
.card-acao-imediata .btn-primary {
  min-height: 54px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  border-radius: 18px !important;
}

/* =========================================================
   HOTFIX VISUAL — AÇÃO IMEDIATA MOBILE
========================================================= */

/* container externo mais limpo e menos "solto" */
.acao-imediata,
.card-acao-imediata {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.06) !important;
  border-radius: 22px !important;
}

/* bloco interno da ação */
.acao-imediata .acao-box,
.card-acao-imediata .acao-box,
.acao-imediata .acao-wrap,
.card-acao-imediata .acao-wrap,
.acao-imediata .acao-content,
.card-acao-imediata .acao-content {
  background: #ffffff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 20px !important;
  padding: 18px !important;
  box-shadow: none !important;
}

/* título e descrição mais firmes */
.acao-imediata h4,
.card-acao-imediata h4,
.acao-imediata .titulo,
.card-acao-imediata .titulo {
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 6px !important;
}

.acao-imediata p,
.card-acao-imediata p,
.acao-imediata .acao-label,
.card-acao-imediata .acao-label {
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

/* botão executar precisa parecer ativo */
.acao-imediata .btn,
.card-acao-imediata .btn,
.acao-imediata .btn-primary,
.card-acao-imediata .btn-primary,
.acao-imediata .btn-executar,
.card-acao-imediata .btn-executar {
  width: 100% !important;
  min-height: 54px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid #1d4ed8 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  box-shadow:
    0 12px 28px rgba(37, 99, 235, 0.24),
    0 0 0 3px rgba(191, 219, 254, 0.18) !important;
}

/* hover/foco */
.acao-imediata .btn:hover,
.card-acao-imediata .btn:hover,
.acao-imediata .btn-primary:hover,
.card-acao-imediata .btn-primary:hover,
.acao-imediata .btn-executar:hover,
.card-acao-imediata .btn-executar:hover {
  transform: translateY(-1px);
  box-shadow:
    0 16px 34px rgba(37, 99, 235, 0.30),
    0 0 0 4px rgba(147, 197, 253, 0.22) !important;
}

/* remove aparência de desabilitado herdada */
.acao-imediata .btn:disabled,
.card-acao-imediata .btn:disabled,
.acao-imediata .btn-primary:disabled,
.card-acao-imediata .btn-primary:disabled,
.acao-imediata .btn-executar:disabled,
.card-acao-imediata .btn-executar:disabled {
  opacity: 1 !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
}

/* mobile fino */
@media (max-width: 980px) {
  .acao-imediata,
  .card-acao-imediata {
    border-radius: 20px !important;
    padding: 14px !important;
  }

  .acao-imediata .btn,
  .card-acao-imediata .btn,
  .acao-imediata .btn-primary,
  .card-acao-imediata .btn-primary,
  .acao-imediata .btn-executar,
  .card-acao-imediata .btn-executar {
    min-height: 52px !important;
    font-size: 15px !important;
  }
}

/* =========================================================
   HOTFIX FORTE — AÇÃO IMEDIATA / BOTÃO REAL
========================================================= */

/* card externo */
.acao-imediata,
.card-acao-imediata {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.06) !important;
}

/* card interno */
.acao-imediata > div,
.card-acao-imediata > div,
.acao-imediata .card,
.card-acao-imediata .card,
.acao-imediata .inner,
.card-acao-imediata .inner,
.acao-imediata .content,
.card-acao-imediata .content,
.acao-imediata .acao-box,
.card-acao-imediata .acao-box,
.acao-imediata .acao-wrap,
.card-acao-imediata .acao-wrap,
.acao-imediata .acao-content,
.card-acao-imediata .acao-content {
  background: #ffffff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

/* texto */
.acao-imediata h4,
.card-acao-imediata h4,
.acao-imediata .titulo,
.card-acao-imediata .titulo {
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin-bottom: 6px !important;
}

.acao-imediata p,
.card-acao-imediata p,
.acao-imediata span,
.card-acao-imediata span,
.acao-imediata .acao-label,
.card-acao-imediata .acao-label {
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================================
   BOTÃO — pega button, a, input e classes comuns
========================================================= */
.acao-imediata button,
.card-acao-imediata button,
.acao-imediata a,
.card-acao-imediata a,
.acao-imediata input[type="button"],
.card-acao-imediata input[type="button"],
.acao-imediata input[type="submit"],
.card-acao-imediata input[type="submit"],
.acao-imediata .btn,
.card-acao-imediata .btn,
.acao-imediata .btn-primary,
.card-acao-imediata .btn-primary,
.acao-imediata .btn-executar,
.card-acao-imediata .btn-executar,
.acao-imediata [class*="btn"],
.card-acao-imediata [class*="btn"],
.acao-imediata [class*="execut"],
.card-acao-imediata [class*="execut"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid #1d4ed8 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  text-align: center !important;
  opacity: 1 !important;
  box-shadow:
    0 12px 28px rgba(37, 99, 235, 0.24),
    0 0 0 3px rgba(191, 219, 254, 0.18) !important;
}

/* texto interno do botão */
.acao-imediata button *,
.card-acao-imediata button *,
.acao-imediata a *,
.card-acao-imediata a *,
.acao-imediata [class*="btn"] *,
.card-acao-imediata [class*="btn"] *,
.acao-imediata [class*="execut"] *,
.card-acao-imediata [class*="execut"] * {
  color: #ffffff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* estados que podem deixar "apagado" */
.acao-imediata button:disabled,
.card-acao-imediata button:disabled,
.acao-imediata a[disabled],
.card-acao-imediata a[disabled],
.acao-imediata input:disabled,
.card-acao-imediata input:disabled,
.acao-imediata .disabled,
.card-acao-imediata .disabled,
.acao-imediata [aria-disabled="true"],
.card-acao-imediata [aria-disabled="true"] {
  opacity: 1 !important;
  filter: none !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border-color: #1d4ed8 !important;
  pointer-events: auto !important;
}

/* hover */
.acao-imediata button:hover,
.card-acao-imediata button:hover,
.acao-imediata a:hover,
.card-acao-imediata a:hover,
.acao-imediata .btn:hover,
.card-acao-imediata .btn:hover,
.acao-imediata [class*="btn"]:hover,
.card-acao-imediata [class*="btn"]:hover,
.acao-imediata [class*="execut"]:hover,
.card-acao-imediata [class*="execut"]:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    0 16px 34px rgba(37, 99, 235, 0.30),
    0 0 0 4px rgba(147, 197, 253, 0.22) !important;
}

/* =========================================================
   HOTFIX FINO — limpar cápsula interna + corrigir texto do botão
========================================================= */

/* remove fundo/cápsula do bloco de texto interno */
.acao-imediata h4,
.card-acao-imediata h4,
.acao-imediata .titulo,
.card-acao-imediata .titulo,
.acao-imediata p,
.card-acao-imediata p,
.acao-imediata .acao-label,
.card-acao-imediata .acao-label,
.acao-imediata .acao-texto,
.card-acao-imediata .acao-texto,
.acao-imediata .acao-info,
.card-acao-imediata .acao-info,
.acao-imediata .acao-header,
.card-acao-imediata .acao-header {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: none !important;
}

/* garante que wrappers internos também não virem cápsula */
.acao-imediata .acao-header *,
.card-acao-imediata .acao-header *,
.acao-imediata .acao-info *,
.card-acao-imediata .acao-info *,
.acao-imediata .acao-texto *,
.card-acao-imediata .acao-texto * {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* botão com texto realmente branco e legível */
.acao-imediata button,
.card-acao-imediata button,
.acao-imediata a,
.card-acao-imediata a,
.acao-imediata input[type="button"],
.card-acao-imediata input[type="button"],
.acao-imediata input[type="submit"],
.card-acao-imediata input[type="submit"],
.acao-imediata .btn,
.card-acao-imediata .btn,
.acao-imediata .btn-primary,
.card-acao-imediata .btn-primary,
.acao-imediata .btn-executar,
.card-acao-imediata .btn-executar,
.acao-imediata [class*="btn"],
.card-acao-imediata [class*="btn"],
.acao-imediata [class*="execut"],
.card-acao-imediata [class*="execut"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* qualquer texto dentro do botão fica branco */
.acao-imediata button *,
.card-acao-imediata button *,
.acao-imediata a *,
.card-acao-imediata a *,
.acao-imediata input[type="button"] *,
.card-acao-imediata input[type="button"] *,
.acao-imediata input[type="submit"] *,
.card-acao-imediata input[type="submit"] *,
.acao-imediata .btn *,
.card-acao-imediata .btn *,
.acao-imediata .btn-primary *,
.card-acao-imediata .btn-primary *,
.acao-imediata .btn-executar *,
.card-acao-imediata .btn-executar *,
.acao-imediata [class*="btn"] *,
.card-acao-imediata [class*="btn"] *,
.acao-imediata [class*="execut"] *,
.card-acao-imediata [class*="execut"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* se existir span/label interno específico no botão */
.acao-imediata button span,
.card-acao-imediata button span,
.acao-imediata a span,
.card-acao-imediata a span,
.acao-imediata .btn span,
.card-acao-imediata .btn span,
.acao-imediata .btn-primary span,
.card-acao-imediata .btn-primary span,
.acao-imediata .btn-executar span,
.card-acao-imediata .btn-executar span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.acao-imediata .card,
.card-acao-imediata .card,
.acao-imediata .acao-box,
.card-acao-imediata .acao-box,
.acao-imediata .acao-wrap,
.card-acao-imediata .acao-wrap,
.acao-imediata .acao-content,
.card-acao-imediata .acao-content {
  padding: 16px !important;
}

.acao-imediata .btn,
.card-acao-imediata .btn,
.acao-imediata .btn-primary,
.card-acao-imediata .btn-primary,
.acao-imediata .btn-executar,
.card-acao-imediata .btn-executar {
  min-height: 50px !important;
}

.acao-imediata,
.card-acao-imediata {
  padding-top: 12px !important;
}

/* REMOVE BORDA TRACEJADA E EFEITO DUPLO */
.acao-imediata .inner,
.acao-imediata .box,
.acao-imediata .wrapper,
.acao-imediata .content,
.card-acao-imediata .inner,
.card-acao-imediata .box,
.card-acao-imediata .wrapper,
.card-acao-imediata .content {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* CARD PRINCIPAL */
.acao-imediata,
.card-acao-imediata {
  background: linear-gradient(180deg, #f8fafc, #eef2f7) !important;
  border-radius: 16px !important;
  padding: 20px !important;
}

/* TÍTULO */
.acao-imediata h3,
.card-acao-imediata h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 4px !important;
}

/* SUBTEXTO */
.acao-imediata p,
.card-acao-imediata p {
  font-size: 14px !important;
  color: #64748b !important;
  margin-bottom: 16px !important;
}

/* BOTÃO (AGORA É O FOCO TOTAL) */
.acao-imediata .btn,
.card-acao-imediata .btn {
  width: 100% !important;
  height: 56px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35) !important;
  transition: all 0.2s ease;
}

/* INTERAÇÃO */
.acao-imediata .btn:active {
  transform: scale(0.97);
}

/* =========================================================
   HOTFIX FINAL — remover cápsula do texto na ação imediata
========================================================= */

/* zera qualquer caixa ao redor do texto */
.acao-imediata .header,
.acao-imediata .info,
.acao-imediata .texto,
.acao-imediata .text,
.acao-imediata .meta,
.acao-imediata .details,
.acao-imediata .descricao,
.acao-imediata .description,
.acao-imediata .copy,
.acao-imediata .content-header,
.card-acao-imediata .header,
.card-acao-imediata .info,
.card-acao-imediata .texto,
.card-acao-imediata .text,
.card-acao-imediata .meta,
.card-acao-imediata .details,
.card-acao-imediata .descricao,
.card-acao-imediata .description,
.card-acao-imediata .copy,
.card-acao-imediata .content-header {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 14px 0 !important;
  min-height: auto !important;
  max-width: none !important;
  width: auto !important;
}

/* garante que o texto não herde cápsula */
.acao-imediata h3,
.acao-imediata h4,
.acao-imediata h5,
.acao-imediata p,
.acao-imediata span,
.acao-imediata strong,
.card-acao-imediata h3,
.card-acao-imediata h4,
.card-acao-imediata h5,
.card-acao-imediata p,
.card-acao-imediata span,
.card-acao-imediata strong {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* se existir o primeiro bloco interno envolvendo título + subtítulo */
.acao-imediata > div:first-child,
.card-acao-imediata > div:first-child {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 14px !important;
}

/* AÇÃO IMEDIATA — versão correta baseada no HTML real */
.acao-imediata.card-acao-imediata {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 22px !important;
  padding: 18px !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.06) !important;
  text-decoration: none !important;
}

.acao-imediata.card-acao-imediata > div {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.acao-imediata.card-acao-imediata strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}

.acao-imediata.card-acao-imediata > div > span {
  display: block !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.acao-imediata .dashboard-execute-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid #1d4ed8 !important;
  border-radius: 18px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.24) !important;
}

@media (max-width: 980px) {
  .acao-imediata.card-acao-imediata {
    padding: 16px !important;
    gap: 12px !important;
  }

  .acao-imediata .dashboard-execute-badge {
    min-height: 52px !important;
    font-size: 15px !important;
  }
}

  .top-criticos .item:nth-child(1) {
    transform: none !important;
  }

  .top-criticos .item:nth-child(2),
  .top-criticos .item:nth-child(3),
  .top-criticos .item:nth-child(4),
  .top-criticos .item:nth-child(5) {
    opacity: 1 !important;
  }
}

/* AÇÃO IMEDIATA — versão correta baseada no HTML real */
.acao-imediata.card-acao-imediata {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 22px !important;
  padding: 18px !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.06) !important;
  text-decoration: none !important;
}

.acao-imediata.card-acao-imediata > div {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.acao-imediata.card-acao-imediata strong {
  display: block !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}

.acao-imediata.card-acao-imediata > div > span {
  display: block !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.acao-imediata .dashboard-execute-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  border: 1px solid #1d4ed8 !important;
  border-radius: 18px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.24) !important;
}

@media (max-width: 980px) {
  .acao-imediata.card-acao-imediata {
    padding: 16px !important;
    gap: 12px !important;
  }

  .acao-imediata .dashboard-execute-badge {
    min-height: 52px !important;
    font-size: 15px !important;
  }
}

.btn-executar {
    width: 100%;
    height: 56px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 14px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35);
    letter-spacing: 0.5px;
}

.acao-imediata-box {
    border: none;
    background: #f8fafc;
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* =========================================================
   V157 — DOMINÂNCIA TOTAL DO BOTÃO / AÇÃO ÚNICA
   Neutraliza competição visual e consolida um único CTA dominante.
========================================================= */
body.page-dashboard .dashboard-priority-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-dashboard .btn-executar-principal,
body.page-dashboard .prioridade-agora .btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar,
body.page-dashboard .acao-imediata .btn-executar,
body.page-dashboard .dashboard-primary-cta.btn-executar {
  width: 100% !important;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  box-shadow:
    0 14px 30px rgba(37, 99, 235, 0.34),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

body.page-dashboard .btn-executar-principal:hover,
body.page-dashboard .prioridade-agora .btn-executar:hover,
body.page-dashboard .dashboard-priority-card .btn-executar:hover,
body.page-dashboard .acao-imediata .btn-executar:hover,
body.page-dashboard .dashboard-primary-cta.btn-executar:hover {
  transform: translateY(-1px) scale(1.01);
  box-shadow:
    0 18px 36px rgba(37, 99, 235, 0.42),
    inset 0 1px 0 rgba(255,255,255,0.20) !important;
}

body.page-dashboard .btn-executar-principal:active,
body.page-dashboard .prioridade-agora .btn-executar:active,
body.page-dashboard .dashboard-priority-card .btn-executar:active,
body.page-dashboard .acao-imediata .btn-executar:active,
body.page-dashboard .dashboard-primary-cta.btn-executar:active {
  transform: scale(0.985);
  filter: brightness(0.96);
}

body.page-dashboard .acao-imediata,
body.page-dashboard .acao-imediata-box,
body.page-dashboard .card-acao-imediata,
body.page-dashboard .dashboard-action-execution {
  border: 1px solid #dbeafe !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05) !important;
  position: relative;
}

body.page-dashboard .acao-imediata::before,
body.page-dashboard .bloco-acao-imediata::before,
body.page-dashboard .card-acao-imediata::before,
body.page-dashboard .dashboard-action-execution::before {
  display: none !important;
  content: none !important;
}

body.page-dashboard .acao-imediata h4,
body.page-dashboard .card-acao-imediata h4,
body.page-dashboard .dashboard-action-execution h4,
body.page-dashboard .dashboard-action-execution strong {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 6px;
}

body.page-dashboard .acao-imediata p,
body.page-dashboard .card-acao-imediata p,
body.page-dashboard .dashboard-action-execution p,
body.page-dashboard .dashboard-action-execution span {
  font-size: 13px !important;
  color: #475569 !important;
}

body.page-dashboard .dashboard-secondary-cta,
body.page-dashboard .btn-secundario,
body.page-dashboard .btn-abrir-geral,
body.page-dashboard .prioridade-agora .btn-secundario,
body.page-dashboard .prioridade-agora .secondary {
  min-height: 44px;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  opacity: 0.72;
  box-shadow: none !important;
  background: #ffffff !important;
  color: #475569 !important;
  border: 1px solid #dbe4ee !important;
}

body.page-dashboard .dashboard-secondary-cta:hover,
body.page-dashboard .btn-secundario:hover,
body.page-dashboard .btn-abrir-geral:hover,
body.page-dashboard .prioridade-agora .btn-secundario:hover,
body.page-dashboard .prioridade-agora .secondary:hover {
  opacity: 0.88;
  color: #334155 !important;
  background: #f8fafc !important;
}

body.page-dashboard .dashboard-row-cta,
body.page-dashboard .dashboard-execute-badge {
  min-height: 34px;
  padding: 8px 12px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
  box-shadow: none !important;
  text-transform: uppercase;
}

body.page-dashboard .dashboard-resident-item .dashboard-row-cta {
  min-width: 112px;
}

body.page-dashboard .top-criticos .item:nth-child(1) .dashboard-row-cta,
body.page-dashboard .top-criticos .item:nth-child(2) .dashboard-row-cta,
body.page-dashboard .top-criticos .item:nth-child(3) .dashboard-row-cta,
body.page-dashboard .top-criticos .item:nth-child(4) .dashboard-row-cta,
body.page-dashboard .top-criticos .item:nth-child(5) .dashboard-row-cta {
  background: #ffffff !important;
  color: #475569 !important;
  border-color: #dbe4ee !important;
}

body.page-dashboard button,
body.page-dashboard .btn,
body.page-dashboard a.btn,
body.page-dashboard .button {
  -webkit-tap-highlight-color: transparent;
}

body.page-dashboard .btn-executar-principal:focus-visible,
body.page-dashboard .prioridade-agora .btn-executar:focus-visible,
body.page-dashboard .dashboard-priority-card .btn-executar:focus-visible,
body.page-dashboard .acao-imediata .btn-executar:focus-visible,
body.page-dashboard .dashboard-primary-cta.btn-executar:focus-visible {
  outline: 3px solid rgba(147, 197, 253, 0.45);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  body.page-dashboard .btn-executar-principal,
  body.page-dashboard .prioridade-agora .btn-executar,
  body.page-dashboard .dashboard-priority-card .btn-executar,
  body.page-dashboard .acao-imediata .btn-executar,
  body.page-dashboard .dashboard-primary-cta.btn-executar {
    min-height: 58px;
    font-size: 17px !important;
    border-radius: 18px !important;
  }

  body.page-dashboard .acao-imediata,
  body.page-dashboard .acao-imediata-box,
  body.page-dashboard .card-acao-imediata,
  body.page-dashboard .dashboard-action-execution {
    padding: 16px !important;
  }

  body.page-dashboard .dashboard-secondary-cta,
  body.page-dashboard .btn-secundario,
  body.page-dashboard .btn-abrir-geral {
    min-height: 42px;
    font-size: 13px !important;
  }

  body.page-dashboard .dashboard-secondary-cta {
    display: none !important;
  }

  body.page-dashboard .dashboard-priority-actions {
    gap: 10px;
  }
}

/* FORÇA TODOS OS BOTÕES CRÍTICOS */
.btn-executar,
.btn-executar-principal,
button[data-acao="executar"] {
  width: 100%;
  min-height: 56px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 800;
  text-transform: uppercase;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.35);
}

/* REMOVE BOTÕES FRACOS */
.btn-ver-detalhe,
button[data-acao="detalhe"] {
  display: none !important;
}

/* BLOCO AÇÃO IMEDIATA ATIVO */
.acao-imediata {
  border: none !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  border-radius: 18px;
}

/* GARANTE DOMINÂNCIA VISUAL */
.acao-imediata .btn-executar {
  margin-top: 10px;
}
/* =========================================================
   CONSOLIDACAO CENTRAL — DASHBOARD CTA / QA HARD
   Base oficial a partir do ZIP de hospedagem consolidado
   ========================================================= */
body.page-dashboard .dashboard-priority-card,
body.page-dashboard .prioridade-agora {
  border-left: 6px solid #f97316;
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

body.page-dashboard .dashboard-priority-card .dashboard-priority-title,
body.page-dashboard .prioridade-agora .dashboard-priority-title {
  font-size: 20px;
  font-weight: 800;
  color: #111827;
  letter-spacing: -0.02em;
}

body.page-dashboard .dashboard-priority-card .dashboard-priority-summary,
body.page-dashboard .dashboard-priority-card .dashboard-priority-immediate,
body.page-dashboard .prioridade-agora .dashboard-priority-summary,
body.page-dashboard .prioridade-agora .dashboard-priority-immediate {
  color: #1f2937;
  line-height: 1.5;
}

body.page-dashboard .dashboard-priority-actions,
body.page-dashboard .dashboard-priority-card .dashboard-priority-actions {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #dbeafe;
  border-radius: 18px;
  padding: 16px;
  box-shadow: inset 0 0 0 1px rgba(219, 234, 254, 0.45);
}

body.page-dashboard .dashboard-primary-cta.btn-executar,
body.page-dashboard .prioridade-agora .btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar {
  width: 100%;
  min-height: 56px;
  border-radius: 16px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.34);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

body.page-dashboard .dashboard-primary-cta.btn-executar:hover,
body.page-dashboard .prioridade-agora .btn-executar:hover,
body.page-dashboard .dashboard-priority-card .btn-executar:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.42);
}

body.page-dashboard .dashboard-primary-cta.btn-executar:active,
body.page-dashboard .prioridade-agora .btn-executar:active,
body.page-dashboard .dashboard-priority-card .btn-executar:active {
  transform: scale(0.985);
  filter: brightness(0.97);
}

body.page-dashboard .dashboard-secondary-cta,
body.page-dashboard .prioridade-agora .dashboard-secondary-cta {
  width: 100%;
  min-height: 42px;
  border-radius: 14px;
  opacity: .78;
  box-shadow: none;
}

body.page-dashboard .dashboard-operational-duo .dashboard-row-cta,
body.page-dashboard .dashboard-immediate-section .dashboard-row-cta,
body.page-dashboard .dashboard-criticals-section .dashboard-row-cta,
body.page-dashboard .btn-executar-mini {
  min-width: 112px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #ffffff;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20);
}

body.page-dashboard .dashboard-resident-item {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.page-dashboard .dashboard-resident-item:hover {
  transform: translateX(2px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

body.page-dashboard .dashboard-resident-item.is-top-critical {
  border-left: 4px solid #dc2626;
  background: linear-gradient(180deg, #fff 0%, #fff5f5 100%);
}

body.page-dashboard .dashboard-rank-pill {
  background: #fee2e2;
  color: #b91c1c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution,
body.page-dashboard .acao-imediata,
body.page-dashboard .card-acao-imediata {
  display: block;
  border: none;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
  padding: 18px;
}

body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution strong,
body.page-dashboard .acao-imediata strong,
body.page-dashboard .card-acao-imediata strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 800;
  color: #111827;
}

body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution span,
body.page-dashboard .acao-imediata span,
body.page-dashboard .card-acao-imediata span {
  color: #475569;
  line-height: 1.5;
}

body.page-dashboard .dashboard-immediate-section .dashboard-execute-badge,
body.page-dashboard .dashboard-immediate-section .status-badge.dashboard-execute-badge {
  display: none !important;
}

body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution::after {
  content: 'EXECUTAR AGORA';
  margin-top: 14px;
  width: 100%;
  min-height: 56px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28);
}

body.page-dashboard .dashboard-command-room .kpi-card.sem-cuidado {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}
body.page-dashboard .dashboard-command-room .kpi-card.sem-evolucao {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%);
}
body.page-dashboard .dashboard-command-room .kpi-card.critico {
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%);
}
body.page-dashboard .dashboard-command-room .kpi-card.medicacao {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
body.page-dashboard .dashboard-command-room .numero {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.04em;
}

body.page-dashboard .dashboard-recent-feed .feed-vazio,
body.page-dashboard .dashboard-recent-feed .feed-empty {
  border-left: 4px solid #94a3b8;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

@media (max-width: 768px) {
  body.page-dashboard .dashboard-primary-cta.btn-executar,
  body.page-dashboard .prioridade-agora .btn-executar,
  body.page-dashboard .dashboard-priority-card .btn-executar,
  body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution::after {
    min-height: 58px;
    font-size: 17px;
    border-radius: 18px;
  }

  body.page-dashboard .dashboard-priority-actions {
    padding: 14px;
  }

  body.page-dashboard .dashboard-operational-duo .dashboard-row-cta,
  body.page-dashboard .dashboard-immediate-section .dashboard-row-cta,
  body.page-dashboard .dashboard-criticals-section .dashboard-row-cta,
  body.page-dashboard .btn-executar-mini {
    min-width: 104px;
    min-height: 40px;
    font-size: 12px;
  }
}


/* ========================= */
/* V158 — LIMPEZA TOTAL      */
/* ========================= */
body.page-dashboard .dashboard-criticals-section .btn-detalhe-mini {
  background: #f8fafc !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
  min-width: 116px;
  justify-content: center;
}

body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata {
  display: block;
  border: none !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

body.page-dashboard .dashboard-immediate-section .acao-header {
  font-size: 14px;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

body.page-dashboard .dashboard-immediate-section .acao-body {
  font-size: 16px;
  line-height: 1.5;
  color: #1f2937;
  margin-bottom: 18px;
}

body.page-dashboard .btn-executar-principal {
  width: 100%;
  min-height: 58px;
  border-radius: 16px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #ffffff;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.35);
}

body.page-dashboard .btn-executar-principal:hover {
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.42);
}

body.page-dashboard .btn-executar-principal:active {
  transform: scale(0.985);
}

body.page-dashboard .dashboard-immediate-section .simple-list-item.dashboard-action-execution::after {
  content: none !important;
}

@media (max-width: 768px) {
  body.page-dashboard .btn-executar-principal {
    min-height: 60px;
    font-size: 18px;
    border-radius: 18px;
  }

  body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
  body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
  body.page-dashboard .dashboard-immediate-section .card-acao-imediata {
    padding: 16px;
  }
}


/* ===== V159 CONSOLIDADO ===== */
body.page-dashboard .dashboard-immediate-section,
body.page-dashboard .dashboard-immediate-section .simple-list-item,
body.page-dashboard .suporte-acao-imediata {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 10px 26px rgba(15,23,42,0.05) !important;
}
body.page-dashboard .dashboard-immediate-section {
  border-style: solid !important;
}
body.page-dashboard .suporte-acao-imediata {
  display:block !important;
  padding: 18px !important;
  border-radius: 14px !important;
}
body.page-dashboard .suporte-acao-imediata .acao-header {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  border: none !important;
  outline: none !important;
}
body.page-dashboard .suporte-acao-imediata .acao-body {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  margin-bottom: 8px !important;
  border: none !important;
  outline: none !important;
}
body.page-dashboard .suporte-acao-imediata .acao-helper {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 14px !important;
}
body.page-dashboard .btn-detalhe-mini {
  background: #f8fafc !important;
  color: #475569 !important;
  border: 1px solid #dbe2ea !important;
  box-shadow: none !important;
}
body.page-dashboard .btn-detalhe-mini:hover {
  background: #eef2f7 !important;
  transform: none !important;
}
body.page-dashboard .dashboard-row-cta.btn-detalhe-mini {
  min-width: 118px !important;
  text-align:center !important;
}
body.page-dashboard .dashboard-primary-cta.btn-executar,
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta {
  height: 48px !important;
  font-size: 15px !important;
}


/* ===== V160 — AÇÃO IMEDIATA REAL ===== */
body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live {
  display: grid !important;
  gap: 10px !important;
  align-content: start !important;
  padding: 20px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

body.page-dashboard .dashboard-immediate-section .acao-header {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
}

body.page-dashboard .dashboard-immediate-section .acao-resident {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

body.page-dashboard .dashboard-immediate-section .acao-body {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  outline: none !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #334155 !important;
}

body.page-dashboard .dashboard-immediate-section .acao-helper {
  display: none !important;
}

body.page-dashboard .dashboard-immediate-section .btn-executar-principal {
  width: 100% !important;
  min-height: 56px !important;
  margin-top: 6px !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border: 1px solid rgba(37, 99, 235, 0.92) !important;
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.28) !important;
}

body.page-dashboard .dashboard-immediate-section .btn-executar-principal:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 34px rgba(37, 99, 235, 0.34) !important;
}

body.page-dashboard .dashboard-immediate-section .btn-executar-principal:active {
  transform: translateY(0) scale(0.99) !important;
}

@media (max-width: 768px) {
  body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
  body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
  body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
  body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live {
    padding: 16px !important;
    gap: 8px !important;
  }

  body.page-dashboard .dashboard-immediate-section .acao-resident {
    font-size: 16px !important;
  }

  body.page-dashboard .dashboard-immediate-section .btn-executar-principal {
    min-height: 58px !important;
    font-size: 17px !important;
  }
}

/* ===== V161 — POLIMENTO FINAL DO DASHBOARD ===== */
body.page-dashboard .dashboard-priority-section .section-heading p,
body.page-dashboard .dashboard-criticals-section .section-heading p,
body.page-dashboard .dashboard-immediate-section .section-heading p,
body.page-dashboard .dashboard-command-room .section-heading p,
body.page-dashboard .dashboard-recent-feed .section-heading p{
  color:#5f6f85 !important;
  font-size:13px !important;
}

body.page-dashboard .dashboard-priority-now{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,460px) !important;
  gap:22px !important;
  padding:26px !important;
  border-radius:22px !important;
  border:1px solid rgba(249,115,22,.34) !important;
  background:linear-gradient(180deg,#fffdfa 0%,#ffffff 100%) !important;
  box-shadow:0 16px 40px rgba(15,23,42,.06) !important;
}
body.page-dashboard .dashboard-priority-main{display:grid !important;align-content:start !important;gap:0 !important;min-width:0;}
body.page-dashboard .dashboard-priority-title{
  margin:4px 0 2px !important;
  font-size:34px !important;
  line-height:1.02 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
  color:#0f172a !important;
}
body.page-dashboard .dashboard-priority-code{
  margin:0 0 14px !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
}
body.page-dashboard .dashboard-priority-meta{margin-bottom:14px !important;}
body.page-dashboard .dashboard-priority-live-chip{
  background:#fff1f2 !important;
  color:#be123c !important;
  border-color:#fecdd3 !important;
}
body.page-dashboard .dashboard-priority-summary{
  margin:0 0 10px !important;
  font-size:16px !important;
  line-height:1.55 !important;
  color:#233247 !important;
}
body.page-dashboard .dashboard-priority-immediate{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#536277 !important;
}
body.page-dashboard .dashboard-priority-actions{
  display:grid !important;
  align-content:center !important;
  gap:12px !important;
  padding:18px !important;
  border:1px solid #dbe7f5 !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fbff 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}
body.page-dashboard .dashboard-primary-cta.btn-executar,
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta{
  min-height:58px !important;
  border-radius:18px !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%) !important;
  box-shadow:0 18px 34px rgba(37,99,235,.28) !important;
}
body.page-dashboard .dashboard-primary-cta.btn-executar:hover,
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta:hover{
  transform:translateY(-1px) scale(1.01) !important;
  box-shadow:0 20px 40px rgba(37,99,235,.34) !important;
}
body.page-dashboard .dashboard-secondary-cta{
  min-height:44px !important;
  border-radius:14px !important;
  font-weight:700 !important;
}

body.page-dashboard .dashboard-operational-duo > .card{
  border-radius:22px !important;
}
body.page-dashboard .dashboard-resident-list{display:grid !important;gap:12px !important;}
body.page-dashboard .dashboard-resident-item{
  border-radius:18px !important;
  border:1px solid #e3ebf4 !important;
  padding:18px 18px !important;
  min-height:unset !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
body.page-dashboard .dashboard-resident-item + .dashboard-resident-item{border-top:none !important;}
body.page-dashboard .dashboard-resident-main strong{
  font-size:17px !important;
  font-weight:800 !important;
  color:#0f172a !important;
}
body.page-dashboard .dashboard-resident-main > span{
  display:block !important;
  margin-top:8px !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#475569 !important;
}
body.page-dashboard .dashboard-resident-side{align-self:center !important;gap:10px !important;}
body.page-dashboard .dashboard-row-cta.btn-detalhe-mini{
  min-width:124px !important;
  min-height:42px !important;
  border-radius:14px !important;
  font-weight:800 !important;
}
body.page-dashboard .dashboard-rank-pill{
  min-height:30px !important;
  padding:0 12px !important;
  font-size:10px !important;
  letter-spacing:.09em !important;
}
body.page-dashboard .dashboard-resident-item.is-top-critical{
  border-color:#fecaca !important;
  background:linear-gradient(180deg,#fff7f7 0%,#ffffff 100%) !important;
  box-shadow:0 14px 28px rgba(220,38,38,.08) !important;
}

body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live{
  display:grid !important;
  gap:10px !important;
  align-content:start !important;
  padding:20px !important;
  border-radius:20px !important;
  border:1px solid #d8e7fb !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 14px 34px rgba(37,99,235,.08) !important;
}
body.page-dashboard .dashboard-immediate-section .acao-header{
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
  margin:0 !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident{
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  color:#0f172a !important;
  margin:0 !important;
}
body.page-dashboard .dashboard-immediate-section .acao-body{
  font-size:15px !important;
  line-height:1.55 !important;
  color:#475569 !important;
  margin:0 0 4px !important;
}
body.page-dashboard .dashboard-immediate-section .btn-executar-principal{
  width:100% !important;
  min-height:58px !important;
  border-radius:18px !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%) !important;
  box-shadow:0 18px 34px rgba(37,99,235,.28) !important;
}
body.page-dashboard .dashboard-immediate-section .btn-executar-principal:hover{
  transform:translateY(-1px) scale(1.01) !important;
  box-shadow:0 20px 40px rgba(37,99,235,.34) !important;
}
body.page-dashboard .dashboard-command-kpi{
  min-height:156px !important;
  padding:20px 18px !important;
}
body.page-dashboard .dashboard-command-kpi .stat-number,
body.page-dashboard .dashboard-command-kpi .numero{
  font-size:42px !important;
  font-weight:900 !important;
}
body.page-dashboard .dashboard-feed-item,
body.page-dashboard .feed-vazio{
  border-radius:16px !important;
}
@media (max-width: 980px){
  body.page-dashboard .dashboard-priority-now{grid-template-columns:1fr !important;padding:18px !important;gap:16px !important;}
  body.page-dashboard .dashboard-priority-title{font-size:26px !important;}
  body.page-dashboard .dashboard-immediate-section .acao-resident{font-size:20px !important;}
  body.page-dashboard .dashboard-primary-cta.btn-executar,
  body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta,
  body.page-dashboard .dashboard-immediate-section .btn-executar-principal{min-height:56px !important;font-size:17px !important;}
}

/* V162 — consolidação decisória final do dashboard */
body.page-dashboard .dashboard-priority-card.dashboard-priority-now{
  grid-template-columns:minmax(0,1.55fr) minmax(340px,430px) !important;
  gap:24px !important;
  border:1px solid rgba(249,115,22,.40) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.07) !important;
}
body.page-dashboard .dashboard-priority-title{
  font-size:36px !important;
  margin-bottom:4px !important;
}
body.page-dashboard .dashboard-priority-meta .summary-chip{
  min-height:34px !important;
  padding:0 12px !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
}
body.page-dashboard .dashboard-priority-live-chip{
  background:#fff1f2 !important;
  color:#be123c !important;
  border-color:#fecdd3 !important;
  box-shadow:0 6px 16px rgba(190,24,93,.08) !important;
}
body.page-dashboard .dashboard-priority-actions,
body.page-dashboard .dashboard-priority-card .dashboard-priority-actions{
  align-content:center !important;
  min-height:100% !important;
}
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta,
body.page-dashboard .dashboard-primary-cta.btn-executar{
  min-height:60px !important;
  font-size:19px !important;
  box-shadow:0 20px 38px rgba(37,99,235,.30) !important;
}
body.page-dashboard .dashboard-priority-actions .dashboard-secondary-cta{
  min-height:46px !important;
}

body.page-dashboard .dashboard-operational-duo{
  align-items:start !important;
}
body.page-dashboard .dashboard-immediate-section .simple-list,
body.page-dashboard #dashboard-immediate-action{
  display:block !important;
}
body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live{
  display:grid !important;
  gap:12px !important;
  align-content:start !important;
  justify-items:start !important;
  padding:22px !important;
  min-height:210px !important;
  border:1px solid #d8e7fb !important;
  box-shadow:0 18px 36px rgba(37,99,235,.10) !important;
}
body.page-dashboard .dashboard-immediate-section .acao-header{
  margin:0 !important;
  font-size:12px !important;
  letter-spacing:.10em !important;
  color:#64748b !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident-wrap{
  display:grid !important;
  gap:4px !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  font-size:28px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  color:#0f172a !important;
  background:transparent !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident-code{
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
}
body.page-dashboard .dashboard-immediate-section .acao-body{
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  font-size:15px !important;
  line-height:1.55 !important;
  color:#475569 !important;
  background:transparent !important;
}
body.page-dashboard .dashboard-immediate-section .btn-executar-principal{
  width:auto !important;
  min-width:240px !important;
  padding:0 26px !important;
  margin-top:2px !important;
  justify-self:start !important;
}

body.page-dashboard .dashboard-resident-item{
  align-items:center !important;
  border-radius:20px !important;
}
body.page-dashboard .dashboard-resident-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
body.page-dashboard .dashboard-rank-pill{
  background:#fff4f4 !important;
  border:1px solid #fecdd3 !important;
  color:#dc2626 !important;
}
body.page-dashboard .dashboard-row-cta.btn-detalhe-mini{
  min-width:126px !important;
  font-weight:800 !important;
}

body.page-dashboard .dashboard-command-kpi{
  min-height:168px !important;
}
body.page-dashboard .dashboard-command-kpi .stat-number,
body.page-dashboard .dashboard-command-kpi .numero{
  font-size:44px !important;
  font-weight:900 !important;
}
body.page-dashboard .dashboard-command-kpi::before{
  opacity:.9 !important;
}

body.page-dashboard .dashboard-feed-item,
body.page-dashboard .feed-vazio{
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
}
body.page-dashboard .feed-vazio strong{
  color:#1f2937 !important;
}
body.page-dashboard .feed-vazio span{
  color:#64748b !important;
}

@media (max-width: 980px){
  body.page-dashboard .dashboard-priority-card.dashboard-priority-now{
    grid-template-columns:1fr !important;
  }
  body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
  body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
  body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
  body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live{
    min-height:auto !important;
    padding:18px !important;
  }
  body.page-dashboard .dashboard-immediate-section .acao-resident{
    font-size:22px !important;
  }
  body.page-dashboard .dashboard-immediate-section .btn-executar-principal{
    width:100% !important;
    min-width:0 !important;
  }
}


/* V163 — dominância operacional final */
body.page-dashboard .dashboard-priority-section,
body.page-dashboard .dashboard-criticals-section,
body.page-dashboard .dashboard-immediate-section,
body.page-dashboard .dashboard-command-room,
body.page-dashboard .dashboard-recent-feed,
body.page-dashboard .dashboard-integrity-proof{
  border-radius:22px !important;
  border:1px solid #dbe4ee !important;
  box-shadow:0 12px 30px rgba(15,23,42,.05) !important;
}
body.page-dashboard .dashboard-priority-card.dashboard-priority-now{
  position:relative !important;
  overflow:hidden !important;
  grid-template-columns:minmax(0,1.7fr) minmax(320px,420px) !important;
  gap:28px !important;
  padding:26px !important;
  border:1px solid rgba(249,115,22,.45) !important;
  background:linear-gradient(180deg,#fff8f5 0%,#fffdfb 100%) !important;
  box-shadow:0 22px 48px rgba(15,23,42,.08) !important;
}
body.page-dashboard .dashboard-priority-card.dashboard-priority-now::after{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:280px;
  height:280px;
  background:radial-gradient(circle,rgba(249,115,22,.12) 0%,rgba(249,115,22,0) 70%);
  pointer-events:none;
}
body.page-dashboard .dashboard-priority-title{
  font-size:38px !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  color:#0f172a !important;
}
body.page-dashboard .dashboard-priority-code{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:0 10px !important;
  margin:2px 0 14px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}
body.page-dashboard .dashboard-priority-summary{
  font-size:15px !important;
  line-height:1.7 !important;
  color:#1f2937 !important;
}
body.page-dashboard .dashboard-priority-immediate{
  font-size:14px !important;
  color:#475569 !important;
}
body.page-dashboard .dashboard-priority-actions{
  display:grid !important;
  gap:14px !important;
  align-content:center !important;
  padding:14px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid #dbeafe !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important;
}
body.page-dashboard .dashboard-primary-cta.btn-executar,
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta,
body.page-dashboard .dashboard-immediate-section .btn-executar-principal{
  min-height:64px !important;
  border-radius:20px !important;
  font-size:19px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  box-shadow:0 22px 40px rgba(37,99,235,.28) !important;
}
body.page-dashboard .dashboard-secondary-cta{
  min-height:46px !important;
  border-radius:16px !important;
  font-weight:700 !important;
}
body.page-dashboard .dashboard-resident-list .dashboard-resident-item{
  padding:16px 16px 16px 18px !important;
  border-radius:20px !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
body.page-dashboard .dashboard-resident-list .dashboard-resident-item:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 32px rgba(15,23,42,.07) !important;
}
body.page-dashboard .dashboard-resident-list .dashboard-resident-item.is-top-critical{
  background:linear-gradient(180deg,#fff8f8 0%,#fffefe 100%) !important;
  border-color:#fecaca !important;
  box-shadow:0 14px 32px rgba(239,68,68,.08) !important;
}
body.page-dashboard .dashboard-rank-pill{
  min-height:28px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  font-size:10px !important;
  letter-spacing:.1em !important;
  font-weight:900 !important;
}
body.page-dashboard .dashboard-row-cta.btn-detalhe-mini{
  min-width:124px !important;
  min-height:42px !important;
  border-radius:14px !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
}
body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live{
  min-height:208px !important;
  padding:22px !important;
  gap:14px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid #dbeafe !important;
  box-shadow:0 20px 42px rgba(37,99,235,.10) !important;
}
body.page-dashboard .dashboard-immediate-section .acao-header{
  margin:0 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  color:#64748b !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident-wrap{
  display:grid !important;
  gap:4px !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident{
  margin:0 !important;
  font-size:26px !important;
  line-height:1.04 !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
  color:#0f172a !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
body.page-dashboard .dashboard-immediate-section .acao-resident-code{
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
}
body.page-dashboard .dashboard-immediate-section .acao-body{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.6 !important;
  color:#334155 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
body.page-dashboard .dashboard-command-kpi{
  min-height:168px !important;
  border-radius:20px !important;
}
body.page-dashboard .dashboard-command-kpi .stat-number,
body.page-dashboard .dashboard-command-kpi .numero{
  font-size:46px !important;
  line-height:1 !important;
  letter-spacing:-.05em !important;
}
body.page-dashboard .dashboard-recent-feed .feed-vazio,
body.page-dashboard .dashboard-recent-feed .dashboard-feed-item{
  border-radius:18px !important;
  min-height:70px !important;
}
body.page-dashboard .dashboard-recent-feed .feed-vazio strong{
  color:#1f2937 !important;
}
body.page-dashboard .dashboard-recent-feed .feed-vazio span{
  color:#64748b !important;
}
@media (max-width:980px){
  body.page-dashboard .dashboard-priority-card.dashboard-priority-now{
    grid-template-columns:1fr !important;
    padding:18px !important;
    gap:18px !important;
  }
  body.page-dashboard .dashboard-priority-title{font-size:30px !important;}
  body.page-dashboard .dashboard-priority-actions{padding:10px !important;}
  body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
  body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
  body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
  body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live{
    min-height:auto !important;
    padding:18px !important;
  }
  body.page-dashboard .dashboard-immediate-section .acao-resident{font-size:22px !important;}
  body.page-dashboard .dashboard-primary-cta.btn-executar,
  body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta,
  body.page-dashboard .dashboard-immediate-section .btn-executar-principal{min-height:56px !important;font-size:17px !important;}
}

/* =========================================================
   V164 — CONSOLIDAÇÃO VISUAL FINAL DO DASHBOARD
========================================================= */
body.page-dashboard .dashboard-operational-duo {
  align-items: stretch !important;
}

body.page-dashboard .dashboard-operational-duo > .page-section {
  height: 100% !important;
}

body.page-dashboard .dashboard-criticals-section,
body.page-dashboard .dashboard-immediate-section {
  min-height: 100% !important;
}

body.page-dashboard .dashboard-priority-card,
body.page-dashboard .dashboard-priority-now {
  border-left: 0 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff7f7 100%) !important;
  border-color: #fed7aa !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08), 0 8px 20px rgba(249, 115, 22, 0.08) !important;
}

body.page-dashboard .dashboard-priority-card::before,
body.page-dashboard .dashboard-priority-now::before {
  width: 6px !important;
  background: linear-gradient(180deg, #f97316 0%, #ea580c 100%) !important;
}

body.page-dashboard .dashboard-priority-title,
body.page-dashboard .dashboard-priority-now h2 {
  font-size: 40px !important;
  line-height: 0.96 !important;
  letter-spacing: -0.05em !important;
}

body.page-dashboard .dashboard-priority-code {
  display: inline-flex !important;
  width: max-content !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid #dbe4ee !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}

body.page-dashboard .dashboard-priority-live-chip {
  background: #fff1f2 !important;
  color: #be123c !important;
  border: 1px solid #fecdd3 !important;
}

body.page-dashboard .dashboard-priority-summary {
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: #0f172a !important;
}

body.page-dashboard .dashboard-priority-immediate {
  font-size: 15px !important;
  color: #475569 !important;
}

body.page-dashboard .dashboard-priority-actions {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid #dbe4ee !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

body.page-dashboard .dashboard-primary-cta.btn-executar,
body.page-dashboard .dashboard-priority-card .btn-executar,
body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta {
  min-height: 60px !important;
  border-radius: 18px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: 0.03em !important;
}

body.page-dashboard .dashboard-secondary-cta {
  min-height: 46px !important;
  border-radius: 14px !important;
}

body.page-dashboard .dashboard-resident-item {
  min-height: 108px !important;
  padding: 20px !important;
  border-radius: 0 !important;
}

body.page-dashboard .dashboard-resident-item .dashboard-resident-head strong {
  font-size: 18px !important;
  color: #0f172a !important;
}

body.page-dashboard .dashboard-resident-item .dashboard-resident-main span {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #475569 !important;
}

body.page-dashboard .dashboard-resident-item.is-top-critical {
  background: linear-gradient(180deg, #fff7f7 0%, #ffffff 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(220,38,38,.10), 0 8px 18px rgba(220,38,38,.06) !important;
}

body.page-dashboard .dashboard-row-cta.btn-detalhe-mini {
  min-width: 124px !important;
  min-height: 42px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body.page-dashboard .dashboard-immediate-section .dashboard-action-box,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata,
body.page-dashboard .dashboard-immediate-section .dashboard-action-execution-live {
  min-height: 220px !important;
  gap: 12px !important;
  padding: 22px !important;
  border: 1px solid #dbe7f5 !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 18px 34px rgba(37, 99, 235, 0.10) !important;
}

body.page-dashboard .dashboard-immediate-section .dashboard-action-box *,
body.page-dashboard .dashboard-immediate-section .acao-imediata-box *,
body.page-dashboard .dashboard-immediate-section .card-acao-imediata * {
  outline: none !important;
}

body.page-dashboard .dashboard-immediate-section .acao-header,
body.page-dashboard .dashboard-immediate-section .acao-resident-wrap,
body.page-dashboard .dashboard-immediate-section .acao-resident,
body.page-dashboard .dashboard-immediate-section .acao-resident-code,
body.page-dashboard .dashboard-immediate-section .acao-body {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.page-dashboard .dashboard-immediate-section .acao-header {
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  color: #64748b !important;
}

body.page-dashboard .dashboard-immediate-section .acao-resident {
  font-size: 22px !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

body.page-dashboard .dashboard-immediate-section .acao-resident-code {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: #64748b !important;
}

body.page-dashboard .dashboard-immediate-section .acao-body {
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: #334155 !important;
}

body.page-dashboard .dashboard-immediate-section .btn-executar-principal {
  width: max-content !important;
  min-width: 240px !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  border-radius: 18px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 18px 32px rgba(37,99,235,.28) !important;
}

body.page-dashboard .dashboard-command-room .grid.grid-2 {
  gap: 20px !important;
  align-items: stretch !important;
}

body.page-dashboard #dashboard-summary-grid > .resumo-card {
  min-height: 168px !important;
}

body.page-dashboard .dashboard-recent-feed .simple-list-item,
body.page-dashboard #dashboard-feed .simple-list-item,
body.page-dashboard .feed-item {
  border-left: 4px solid #94a3b8 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
}

body.page-dashboard .feed-empty span {
  color: #64748b !important;
}

@media (max-width: 980px) {
  body.page-dashboard .dashboard-priority-card,
  body.page-dashboard .dashboard-priority-now {
    grid-template-columns: 1fr !important;
  }

  body.page-dashboard .dashboard-priority-title,
  body.page-dashboard .dashboard-priority-now h2 {
    font-size: 32px !important;
  }

  body.page-dashboard .dashboard-primary-cta.btn-executar,
  body.page-dashboard .dashboard-priority-card .btn-executar,
  body.page-dashboard .dashboard-priority-actions .dashboard-primary-cta,
  body.page-dashboard .dashboard-immediate-section .btn-executar-principal {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-dashboard .dashboard-resident-item {
    min-height: unset !important;
    padding: 16px !important;
  }
}

/* ===== V165 — POLIMENTO FINAL DO DASHBOARD ===== */
body.page-dashboard .dashboard-operational-duo {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

body.page-dashboard .dashboard-operational-duo > .card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

body.page-dashboard .dashboard-criticals-section,
body.page-dashboard .dashboard-immediate-section {
  min-height: 100% !important;
}

body.page-dashboard .dashboard-immediate-section {
  position: relative;
}

body.page-dashboard .dashboard-immediate-section .section-heading {
  margin-bottom: 14px !important;
}

body.page-dashboard #dashboard-immediate-action {
  flex: 1 1 auto !important;
  display: flex !important;
}

body.page-dashboard .acao-imediata-box,
body.page-dashboard .card-acao-imediata,
body.page-dashboard .dashboard-action-box {
  width: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fd 100%) !important;
  border: 1px solid #dbe5f2 !important;
  border-left: 5px solid #2563eb !important;
  border-radius: 18px !important;
  padding: 24px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06) !important;
}

body.page-dashboard .acao-imediata-box:hover,
body.page-dashboard .card-acao-imediata:hover,
body.page-dashboard .dashboard-action-box:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08) !important;
}

body.page-dashboard .acao-imediata-box .acao-header,
body.page-dashboard .card-acao-imediata .acao-header,
body.page-dashboard .dashboard-action-box .acao-header {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

body.page-dashboard .acao-imediata-box .acao-resident,
body.page-dashboard .card-acao-imediata .acao-resident,
body.page-dashboard .dashboard-action-box .acao-resident {
  font-size: 30px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

body.page-dashboard .acao-imediata-box .acao-resident-code,
body.page-dashboard .card-acao-imediata .acao-resident-code,
body.page-dashboard .dashboard-action-box .acao-resident-code {
  display: inline-flex !important;
  align-self: flex-start !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid #dbe5f2 !important;
  background: #f8fafc !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

body.page-dashboard .acao-imediata-box .acao-body,
body.page-dashboard .card-acao-imediata .acao-body,
body.page-dashboard .dashboard-action-box .acao-body {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #334155 !important;
  margin: 0 !important;
  max-width: 34ch !important;
}

body.page-dashboard .acao-imediata-box .btn-executar-principal,
body.page-dashboard .card-acao-imediata .btn-executar-principal,
body.page-dashboard .dashboard-action-box .btn-executar-principal {
  margin-top: auto !important;
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 16px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28) !important;
}

body.page-dashboard .dashboard-criticals-section .simple-list,
body.page-dashboard .dashboard-immediate-section .simple-list {
  flex: 1 1 auto !important;
}

body.page-dashboard .dashboard-criticals-section .simple-list-item {
  min-height: 128px !important;
}

@media (max-width: 1024px) {
  body.page-dashboard .dashboard-operational-duo {
    grid-template-columns: 1fr !important;
  }

  body.page-dashboard .acao-imediata-box,
  body.page-dashboard .card-acao-imediata,
  body.page-dashboard .dashboard-action-box {
    min-height: auto !important;
    padding: 20px !important;
  }

  body.page-dashboard .acao-imediata-box .acao-resident,
  body.page-dashboard .card-acao-imediata .acao-resident,
  body.page-dashboard .dashboard-action-box .acao-resident {
    font-size: 24px !important;
  }

  body.page-dashboard .acao-imediata-box .acao-body,
  body.page-dashboard .card-acao-imediata .acao-body,
  body.page-dashboard .dashboard-action-box .acao-body {
    max-width: none !important;
    font-size: 16px !important;
  }
}


/* =========================================================
   PATCH V170 MOBILE — LEITURA OPERACIONAL LIMPA
========================================================= */
@media (max-width: 980px) {
  .sidebar-overlay {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: rgba(15, 23, 42, 0.22) !important;
    backdrop-filter: none !important;
  }

  body.sidebar-open .sidebar-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .content,
  .content-inner,
  .page-shell,
  .dashboard-stack,
  .page-section,
  .mobile-topbar,
  .page-header,
  .card,
  .table-wrap,
  .kpi-card,
  .dashboard-mini-kpi,
  .summary-tile {
    filter: none !important;
    backdrop-filter: none !important;
  }

  .card,
  .table-wrap,
  .page-header,
  .shortcut-card,
  .mini-card,
  .task-item,
  .timeline-content,
  .last-evolution-box,
  .simple-list-item,
  .unit-item,
  .finance-summary-box,
  .dashboard-product-header,
  .dashboard-overview-card,
  .dashboard-mini-kpi,
  .dashboard-wp-summary,
  .kpi-card,
  .summary-tile {
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid #dbe4ee !important;
  }

  .page-header::before,
  .page-header::after,
  .module-hero::before,
  .module-hero::after {
    display: none !important;
  }

  body {
    background: #f4f7fb !important;
  }

  .mobile-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ee !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  }

  .content {
    padding: 16px 12px 22px !important;
    padding-top: 92px !important;
  }

  body:not(.sidebar-open) .content,
  body:not(.sidebar-open) .content-inner,
  body:not(.sidebar-open) .page-shell,
  body:not(.sidebar-open) .dashboard-stack {
    opacity: 1 !important;
  }
}

/* V179 — Feed operacional inteligente */
body.page-dashboard .dashboard-feed-item{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:flex-start;
}
body.page-dashboard .dashboard-feed-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
body.page-dashboard .dashboard-feed-item .dashboard-feed-main{padding-left:0}
body.page-dashboard .dashboard-feed-item .dashboard-feed-main strong{display:block;margin-bottom:2px}
body.page-dashboard .dashboard-feed-item .dashboard-feed-main span{display:block;margin-bottom:2px}
body.page-dashboard .dashboard-feed-item .dashboard-feed-main small{display:block;color:#64748b;line-height:1.4}
body.page-dashboard .dashboard-feed-item.severity-danger::before{background:linear-gradient(180deg,#dc2626 0%,#ef4444 100%)}
body.page-dashboard .dashboard-feed-item.severity-warning::before{background:linear-gradient(180deg,#d97706 0%,#f59e0b 100%)}
body.page-dashboard .dashboard-feed-item.severity-success::before{background:linear-gradient(180deg,#16a34a 0%,#22c55e 100%)}
body.page-dashboard .dashboard-feed-item.severity-neutral::before{background:linear-gradient(180deg,#475569 0%,#64748b 100%)}
body.page-dashboard .dashboard-feed-item.is-priority-related{
  border-color:#fecaca;
  box-shadow:0 10px 24px rgba(220,38,38,.08);
}
body.page-dashboard .dashboard-feed-item.is-priority-related .dashboard-feed-icon{
  background:#fef2f2;
  border-color:#fecaca;
}
body.page-dashboard .dashboard-feed-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:6px;
}

/* V180 — feed decisório real */
body.page-dashboard .dashboard-feed-headline{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-bottom:2px}
body.page-dashboard .dashboard-feed-impact-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}
body.page-dashboard .dashboard-feed-impact-badge.impact-critico{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
body.page-dashboard .dashboard-feed-impact-badge.impact-assistencial{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
body.page-dashboard .dashboard-feed-impact-badge.impact-administrativo{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
body.page-dashboard .dashboard-feed-impact-badge.impact-positivo{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
body.page-dashboard .dashboard-feed-impact-badge.impact-neutro{background:#f8fafc;color:#475569;border-color:#cbd5e1}
body.page-dashboard .dashboard-feed-action{margin-top:8px;padding-top:8px;border-top:1px dashed #dbe4ee;color:#0f172a;font-weight:700;font-size:.83rem;line-height:1.45}
body.page-dashboard .dashboard-feed-item.is-priority-related .dashboard-feed-action{color:#7c2d12}
@media (max-width: 980px){
  body.page-dashboard .dashboard-feed-headline{align-items:flex-start}
  body.page-dashboard .dashboard-feed-impact-badge{font-size:.69rem;padding:3px 7px}
  body.page-dashboard .dashboard-feed-action{font-size:.8rem}
}


/* =========================
   SaaS banner
========================= */
.saas-banner{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0 14px;padding:12px 14px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#0f172a}
.saas-banner.is-blocked{background:#fef2f2;border-color:#fecaca}
.saas-banner-main{display:flex;flex-direction:column;gap:4px}
.saas-banner-main strong{font-size:14px}
.saas-banner-main span{font-size:13px;color:#475569}
.saas-banner-meta{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:980px){.saas-banner{margin:8px 0 12px;padding:12px}.saas-banner-meta{width:100%}}
