/**
 * NuvemClin — tema corporativo (tokens em brand.css)
 * Fontes: Poppins (títulos) + Inter (corpo) via brand-head.php
 */

html {
  font-size: 15px;
}

html,
body {
  height: 100%;
}

body.mc-body,
.mc-body {
  font-family: var(--mc-font);
  background: var(--mc-gray-50);
  color: #0f172a;
  -webkit-font-smoothing: antialiased;
}

.mc-guest {
  min-height: 100vh;
  font-family: var(--mc-font);
  -webkit-font-smoothing: antialiased;
}

.mc-brand {
  width: 56px;
  height: 56px;
}

.mc-brand-sm {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--mc-blue), #34d399);
}

/* ——— Sidebar desktop ——— */
.mc-app {
  align-items: flex-start;
  min-height: 100vh;
}

.mc-sidebar {
  --mc-sidebar-w: 260px;
  --mc-sidebar-w-collapsed: 76px;
  width: var(--mc-sidebar-w);
  min-height: 100vh;
  max-height: 100vh;
  position: sticky;
  top: 0;
  align-self: flex-start;
  flex-shrink: 0;
  overflow: visible;
  background: linear-gradient(180deg, var(--mc-sidebar), var(--mc-sidebar-2));
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  transition: width 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1030;
}

.mc-sidebar-nav {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.mc-sidebar-nav::-webkit-scrollbar {
  width: 6px;
}

.mc-sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
}

.mc-sidebar-brand-wrap {
  position: relative;
}

.mc-sidebar-logo-row {
  position: relative;
}

.mc-sidebar-toggle {
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 0.85rem;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.mc-sidebar-toggle:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.mc-sidebar-toggle:focus-visible {
  outline: 2px solid rgba(96, 165, 250, 0.85);
  outline-offset: 2px;
}

/* Menu recolhido (ícones + tooltips) */
body.mc-app--sidebar-collapsed .mc-sidebar {
  width: var(--mc-sidebar-w-collapsed);
}

body.mc-app--sidebar-collapsed .mc-sidebar-brand-text,
body.mc-app--sidebar-collapsed .mc-nav-label,
body.mc-app--sidebar-collapsed .mc-sidebar-footer-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mc-sidebar-logo-icon {
  display: none;
}

body.mc-app--sidebar-collapsed .mc-sidebar-logo-full {
  display: none !important;
}

body.mc-app--sidebar-collapsed .mc-sidebar-logo-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

body.mc-app--sidebar-collapsed .mc-sidebar-brand-wrap {
  padding-left: 0.65rem !important;
  padding-right: 0.65rem !important;
  padding-bottom: 0.85rem !important;
}

body.mc-app--sidebar-collapsed .mc-sidebar-logo-row {
  justify-content: center;
  min-height: 2.75rem;
}

/* Botão flutua na borda — não empilha sob a logo */
body.mc-app--sidebar-collapsed .mc-sidebar-toggle {
  position: absolute;
  right: -0.7rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.4rem;
  height: 1.4rem;
  font-size: 0.7rem;
  z-index: 5;
  color: #fff !important;
  background: var(--mc-sidebar-2, #1e3a5f) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

body.mc-app--sidebar-collapsed .mc-nav-link {
  justify-content: center;
  gap: 0 !important;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}

body.mc-app--sidebar-collapsed .mc-nav-link.active {
  box-shadow: inset 0 0 0 999px rgba(13, 110, 253, 0.2);
}

body.mc-app--sidebar-collapsed .mc-sidebar-nav > .mc-nav-section-label:first-of-type {
  margin-top: 0.35rem !important;
}

body.mc-app--sidebar-collapsed .mc-nav-section-label {
  display: block;
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  color: transparent !important;
  height: 1px;
  margin: 1.15rem 0.65rem 0.5rem !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 1px;
  overflow: hidden;
  text-indent: -99px;
}

@media (prefers-reduced-motion: reduce) {
  .mc-sidebar {
    transition: none;
  }
}

.mc-nav-section-label {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
}

.mc-nav-link {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
  font-weight: 500;
}

.mc-nav-link:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}

.mc-nav-link.active {
  background: rgba(13, 110, 253, 0.22);
  color: #fff;
  box-shadow: inset 3px 0 0 rgba(59, 130, 246, 0.9);
}

/* ——— Sidebar modular (módulos em blocos) ——— */
.mc-module-back:hover {
  color: #fff !important;
  opacity: 1 !important;
}
.mc-sidebar-module-context-title {
  letter-spacing: 0.04em;
}
.mc-sidebar-modules {
  padding-top: 0.25rem;
}

.mc-modules-grid {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.mc-module-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.65rem;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.84rem;
  line-height: 1.25;
  transition: background 0.18s ease, color 0.18s ease, transform 0.15s ease;
  border: 1px solid transparent;
}

.mc-module-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.mc-module-btn.active {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: inset 3px 0 0 var(--mc-mod-accent, rgba(59, 130, 246, 0.95));
}

.mc-module-btn-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.55rem;
  background: rgba(255, 255, 255, 0.08);
  font-size: 1.05rem;
}

.mc-module-btn-label {
  flex: 1;
  min-width: 0;
}

.mc-module-btn-badge {
  position: absolute;
  top: 0.35rem;
  right: 0.45rem;
  font-size: 0.62rem;
  min-width: 1.1rem;
}

.mc-module-btn--painel {
  opacity: 0.92;
}

.mc-module-btn--locked {
  opacity: 0.55;
}
.mc-module-btn--locked:hover {
  opacity: 0.85;
}
.mc-module-btn-lock {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.55);
}
body.mc-app--sidebar-collapsed .mc-module-btn-lock {
  position: absolute;
  top: 0.2rem;
  right: 0.25rem;
  font-size: 0.65rem;
}

.mod-clientes { --mc-mod-accent: #2dd4bf; }
.mod-fidelidade { --mc-mod-accent: #f59e0b; }
.mod-crm { --mc-mod-accent: #f59e0b; }
.mod-atendimento { --mc-mod-accent: #f472b6; }
.mod-equipe { --mc-mod-accent: #fb7185; }
.mod-documentos { --mc-mod-accent: #a78bfa; }
.mod-estoque { --mc-mod-accent: #38bdf8; }
.mod-financeiro { --mc-mod-accent: #34d399; }
.mod-caixa { --mc-mod-accent: #fbbf24; }
.mod-gestao { --mc-mod-accent: #60a5fa; }
.mod-admin { --mc-mod-accent: #94a3b8; }
.mod-painel { --mc-mod-accent: #3b82f6; }

.mod-clientes .mc-module-btn-icon { background: rgba(45, 212, 191, 0.18); color: #99f6e4; }
.mod-fidelidade .mc-module-btn-icon { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }
.mod-crm .mc-module-btn-icon { background: rgba(245, 158, 11, 0.18); color: #fcd34d; }
.mod-atendimento .mc-module-btn-icon { background: rgba(244, 114, 182, 0.18); color: #fbcfe8; }
.mod-equipe .mc-module-btn-icon { background: rgba(251, 113, 133, 0.18); color: #fecdd3; }
.mod-documentos .mc-module-btn-icon { background: rgba(167, 139, 250, 0.18); color: #ddd6fe; }
.mod-estoque .mc-module-btn-icon { background: rgba(56, 189, 248, 0.18); color: #bae6fd; }
.mod-financeiro .mc-module-btn-icon { background: rgba(52, 211, 153, 0.18); color: #a7f3d0; }
.mod-caixa .mc-module-btn-icon { background: rgba(251, 191, 36, 0.18); color: #fde68a; }
.mod-gestao .mc-module-btn-icon { background: rgba(96, 165, 250, 0.18); color: #bfdbfe; }
.mod-admin .mc-module-btn-icon { background: rgba(148, 163, 184, 0.18); color: #e2e8f0; }
.mod-painel .mc-module-btn-icon { background: rgba(59, 130, 246, 0.18); color: #bfdbfe; }

body.mc-app--sidebar-collapsed .mc-module-btn {
  justify-content: center;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  gap: 0;
}

body.mc-app--sidebar-collapsed .mc-module-btn-badge {
  top: 0.15rem;
  right: 0.2rem;
}

body.mc-app--sidebar-collapsed .mc-sidebar-painel {
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

/* ——— Subnav horizontal do módulo ativo ——— */
.mc-module-subnav-wrap {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.mc-module-subnav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  padding: 0.65rem 0.85rem;
  background: #fff;
  border: 1px solid var(--mc-gray-200, #e5e7eb);
  border-radius: 0.85rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.mc-module-subnav-home {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.55rem;
  border-radius: 0.55rem;
  color: var(--mc-gray-700, #374151);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
  white-space: nowrap;
}

.mc-module-subnav-home:hover {
  background: var(--mc-gray-100, #f3f4f6);
  color: var(--mc-gray-900, #111827);
}

.mc-module-subnav-sep {
  width: 1px;
  height: 1.5rem;
  background: var(--mc-gray-200, #e5e7eb);
  flex-shrink: 0;
}

.mc-module-subnav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.mc-module-subnav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--mc-gray-600, #4b5563);
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.mc-module-subnav-link:hover {
  background: var(--mc-gray-100, #f3f4f6);
  color: var(--mc-gray-900, #111827);
}

.mc-module-subnav-link.active {
  background: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.25);
  color: #1d4ed8;
}

/* ——— Hub de módulo (tiles) ——— */
.mc-module-hub-back:hover {
  color: var(--mc-gray-800, #1f2937) !important;
}

.mc-module-hub-icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.55rem;
  background: var(--mc-gray-100, #f3f4f6);
  color: var(--mc-gray-700, #374151);
  flex-shrink: 0;
}

.mc-module-hub-icon.mod-clientes { background: rgba(45, 212, 191, 0.15); color: #0f766e; }
.mc-module-hub-icon.mod-crm { background: rgba(245, 158, 11, 0.15); color: #d97706; }
.mc-module-hub-icon.mod-atendimento { background: rgba(244, 114, 182, 0.15); color: #db2777; }

/* CRM pipeline + chat */
.mc-crm-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.1rem;
  align-items: flex-start;
  padding: 0.95rem 1.1rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(37, 99, 235, 0.18);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(13, 148, 136, 0.07));
}
.mc-crm-intro__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #2563eb;
  color: #fff;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.mc-crm-intro__body {
  flex: 1 1 16rem;
  font-size: 0.9rem;
  color: #334155;
  line-height: 1.45;
}
.mc-crm-intro__body strong { color: #0f172a; }
.mc-crm-intro__body ul {
  padding-left: 1.1rem;
  margin: 0.35rem 0 0;
  color: #475569;
}
.mc-crm-intro__cta { margin-left: auto; align-self: center; }
.mc-crm-pipeline { min-height: 280px; padding-bottom: 0.5rem; }
.mc-crm-col { width: 17rem; --mc-crm-cor: #94a3b8; }
.mc-crm-col-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--mc-crm-cor) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--mc-crm-cor) 28%, transparent);
}
.mc-crm-col-head__title { display: flex; gap: 0.55rem; align-items: flex-start; min-width: 0; }
.mc-crm-col-ico {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-crm-cor);
  color: #fff;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.mc-crm-col-label {
  display: block;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #0f172a;
  line-height: 1.2;
}
.mc-crm-col-hint {
  font-size: 0.68rem;
  color: #64748b;
  line-height: 1.25;
  margin-top: 0.15rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mc-crm-col-count {
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: var(--mc-crm-cor);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mc-crm-col-body {
  min-height: 14rem;
  padding: 0.45rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--mc-crm-cor) 7%, #f8fafc);
  border: 1px dashed color-mix(in srgb, var(--mc-crm-cor) 22%, transparent);
  transition: background .15s ease, border-color .15s ease;
}
.mc-crm-col-body--over {
  background: color-mix(in srgb, var(--mc-crm-cor) 18%, #fff);
  border-style: solid;
  border-color: var(--mc-crm-cor);
}
.mc-crm-col-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 7.5rem;
  padding: 1rem 0.5rem;
  text-align: center;
  color: #94a3b8;
  font-size: 0.78rem;
}
.mc-crm-col-empty > i { font-size: 1.35rem; opacity: 0.55; color: var(--mc-crm-cor); }
.mc-crm-col-empty-hint { font-size: 0.7rem; opacity: 0.85; }
.mc-crm-card {
  display: block;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-left: 3px solid var(--mc-crm-cor);
  border-radius: 0.65rem;
  padding: 0.75rem 0.85rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  cursor: grab;
  transition: border-color .15s ease, box-shadow .15s ease, opacity .15s ease, transform .15s ease;
}
.mc-crm-card:hover {
  border-color: color-mix(in srgb, var(--mc-crm-cor) 45%, rgba(15, 23, 42, 0.08));
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}
.mc-crm-card--dragging { opacity: 0.55; cursor: grabbing; transform: rotate(1deg); }
.mc-crm-origem {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 600;
  color: #475569;
  background: #f1f5f9;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
}
.mc-crm-chat { min-height: 420px; }
.mc-crm-chat-body {
  height: min(55vh, 420px);
  overflow-y: auto;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1rem;
}
.mc-crm-bubble {
  max-width: 85%;
  padding: 0.55rem 0.75rem;
  border-radius: 0.85rem;
  font-size: 0.92rem;
  line-height: 1.4;
}
.mc-crm-bubble--in {
  align-self: flex-start;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-bottom-left-radius: 0.25rem;
}
.mc-crm-bubble--out {
  align-self: flex-end;
  background: #dcf8c6;
  border-bottom-right-radius: 0.25rem;
}
.mc-crm-bubble-meta {
  font-size: 0.7rem;
  color: #64748b;
  margin-top: 0.25rem;
  text-align: right;
}
.mc-crm-inbox-avatar {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(34, 197, 94, 0.12);
  color: #16a34a;
  flex-shrink: 0;
}
.mc-crm-inbox-item--unread { background: rgba(245, 158, 11, 0.06); }
.mc-module-hub-icon.mod-equipe { background: rgba(251, 113, 133, 0.15); color: #e11d48; }
.mc-module-hub-icon.mod-documentos { background: rgba(167, 139, 250, 0.15); color: #7c3aed; }
.mc-module-hub-icon.mod-estoque { background: rgba(56, 189, 248, 0.15); color: #0284c7; }
.mc-module-hub-icon.mod-financeiro { background: rgba(52, 211, 153, 0.15); color: #059669; }
.mc-module-hub-icon.mod-caixa { background: rgba(251, 191, 36, 0.15); color: #d97706; }
.mc-module-hub-icon.mod-gestao { background: rgba(96, 165, 250, 0.15); color: #2563eb; }
.mc-module-hub-icon.mod-admin { background: rgba(148, 163, 184, 0.15); color: #475569; }

/* Tooltip do hub / ações — leve, marca NuvemClin (não o preto padrão) */
.tooltip.mc-tip {
  --bs-tooltip-bg: #fff;
  --bs-tooltip-color: #0f172a;
  --bs-tooltip-opacity: 1;
  --bs-tooltip-padding-x: 0.85rem;
  --bs-tooltip-padding-y: 0.55rem;
  --bs-tooltip-font-size: 0.8rem;
  --bs-tooltip-border-radius: 0.65rem;
  --bs-tooltip-max-width: 16.5rem;
  filter: drop-shadow(0 8px 20px rgba(15, 23, 42, 0.12));
}
.tooltip.mc-tip .tooltip-inner {
  background: #fff;
  color: #334155;
  border: 1px solid rgba(20, 166, 151, 0.22);
  border-left: 3px solid #14a697;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  box-shadow: none;
}
.tooltip.mc-tip .tooltip-arrow::before {
  border-top-color: #fff !important;
  border-bottom-color: #fff !important;
}

/* Hub tiles — número de fundo + CTA leve (link), sem botão “bloco” */
.mc-module-tile {
  --mc-tile-accent: #0d9488;
  --mc-tile-accent-soft: color-mix(in srgb, var(--mc-tile-accent) 18%, #fff);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: 100%;
  min-height: 14.25rem;
  padding: 1.25rem 1.15rem 1.1rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.mc-module-tile-num {
  position: absolute;
  top: 0.15rem;
  left: 0.55rem;
  font-family: var(--mc-font-display, inherit);
  font-size: 3.4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(15, 23, 42, 0.06);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

.mc-module-tile-accent {
  position: absolute;
  top: 0.85rem;
  right: 0.9rem;
  width: 2.1rem;
  height: 0.28rem;
  background: var(--mc-tile-accent);
  z-index: 1;
}

.mc-module-tile:hover {
  border-color: color-mix(in srgb, var(--mc-tile-accent) 40%, rgba(15, 23, 42, 0.08));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
  transform: translateY(-2px);
  color: inherit;
}

.mc-module-tile-icon {
  position: relative;
  z-index: 1;
  width: 3.4rem;
  height: 3.4rem;
  margin: 0.55rem 0 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #0f172a;
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}

.mc-module-tile-icon .bi {
  -webkit-text-stroke: 0.2px currentColor;
}

.mc-module-tile-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  flex: 1 1 auto;
}

.mc-module-tile-title {
  display: block;
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.25;
  color: #0f172a;
  letter-spacing: -0.015em;
}

.mc-module-tile-desc {
  font-size: 0.78rem;
  line-height: 1.4;
  color: #64748b;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mc-module-tile-cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.85rem;
  padding: 0.35rem 0.15rem 0;
  background: transparent;
  color: var(--mc-tile-accent);
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 0;
  box-shadow: none;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  width: 100%;
  transition: color 0.12s ease, gap 0.12s ease;
}

.mc-module-tile-cta::after {
  content: "→";
  font-weight: 700;
  transition: transform 0.12s ease;
}

.mc-module-tile:hover .mc-module-tile-cta {
  color: color-mix(in srgb, var(--mc-tile-accent) 82%, #0f172a);
  gap: 0.5rem;
}

.mc-module-tile:hover .mc-module-tile-cta::after {
  transform: translateX(3px);
}

.mc-module-tile:active .mc-module-tile-cta {
  transform: none;
  box-shadow: none;
}

.mc-module-tile-badge {
  position: absolute;
  top: 0.55rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.mc-module-tile--locked {
  opacity: 0.92;
  cursor: pointer;
  --mc-tile-accent: #d97706;
  --mc-tile-accent-soft: #fde68a;
}
.mc-module-tile--locked .mc-module-tile-icon {
  color: #64748b;
}
.mc-module-tile--locked:hover {
  border-color: rgba(245, 158, 11, 0.45);
}
.mc-module-tile-plan {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  margin-top: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #92400e;
  background: rgba(245, 158, 11, 0.14);
}
.mc-module-tile-lock {
  position: absolute;
  top: 0.7rem;
  left: 0.75rem;
  z-index: 2;
  color: #d97706;
  font-size: 0.95rem;
}

/* Paleta por card (ciclo) — cara de sistema feito à mão */
.mc-module-hub .col-6:nth-child(6n + 1) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 1) .mc-module-tile { --mc-tile-accent: #e11d8c; --mc-tile-accent-soft: #f9a8d4; }
.mc-module-hub .col-6:nth-child(6n + 2) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 2) .mc-module-tile { --mc-tile-accent: #2563eb; --mc-tile-accent-soft: #93c5fd; }
.mc-module-hub .col-6:nth-child(6n + 3) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 3) .mc-module-tile { --mc-tile-accent: #d97706; --mc-tile-accent-soft: #fcd34d; }
.mc-module-hub .col-6:nth-child(6n + 4) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 4) .mc-module-tile { --mc-tile-accent: #059669; --mc-tile-accent-soft: #6ee7b7; }
.mc-module-hub .col-6:nth-child(6n + 5) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 5) .mc-module-tile { --mc-tile-accent: #7c3aed; --mc-tile-accent-soft: #c4b5fd; }
.mc-module-hub .col-6:nth-child(6n + 6) .mc-module-tile,
.mc-doc-painel .col-6:nth-child(6n + 6) .mc-module-tile { --mc-tile-accent: #dc2626; --mc-tile-accent-soft: #fca5a5; }

.mc-module-hub .mc-module-tile--locked,
.mc-doc-painel .mc-module-tile--locked {
  --mc-tile-accent: #d97706;
  --mc-tile-accent-soft: #fde68a;
}

.mc-module-subnav-link--locked {
  opacity: 0.65;
}
.mc-module-subnav-link--locked:hover {
  opacity: 0.9;
}

@media (max-width: 575.98px) {
  .mc-module-subnav-sep {
    display: none;
  }

  .mc-module-subnav-home {
    width: 100%;
  }

  .mc-module-subnav-links {
    width: 100%;
  }
}

/* ——— Offcanvas mobile ——— */
.mc-offcanvas {
  width: min(300px, 92vw) !important;
  background: linear-gradient(180deg, var(--mc-sidebar), var(--mc-sidebar-2)) !important;
}

.mc-offcanvas .offcanvas-header {
  padding: 1rem 1.1rem;
}

.mc-offcanvas .btn-close {
  opacity: 0.85;
}

/* ——— Main / topbar ——— */
.mc-main {
  background: var(--mc-gray-50);
  min-width: 0;
  flex: 1 1 auto;
  min-height: 100vh;
}

.mc-topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}

.mc-topbar .mc-search .form-control {
  min-height: 2.65rem;
  border-radius: var(--mc-radius-sm);
  font-size: 0.9rem;
}

.mc-topbar .mc-search .input-group-text {
  border-radius: var(--mc-radius-sm) 0 0 var(--mc-radius-sm);
}

.mc-topbar .mc-search .form-control {
  border-radius: 0 var(--mc-radius-sm) var(--mc-radius-sm) 0;
}

.mc-search .form-control:focus {
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
  border-color: rgba(13, 110, 253, 0.45);
}

.mc-usuario-foto-preview {
  width: 96px;
  height: 96px;
}

.mc-avatar {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, var(--mc-blue), #34d399);
  font-size: 0.95rem;
}

.mc-content {
  background: linear-gradient(180deg, rgba(232, 241, 255, 0.45), rgba(248, 250, 252, 0.25));
}

/* ——— Breadcrumbs ——— */
.mc-breadcrumb {
  --bs-breadcrumb-divider: "›";
  font-size: 0.875rem;
  padding: 0.5rem 0.85rem;
  background: #fff;
  border-radius: var(--mc-radius-sm);
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: var(--mc-shadow);
}

.mc-breadcrumb .breadcrumb-item a {
  color: var(--mc-blue);
  font-weight: 500;
  text-decoration: none;
}

.mc-breadcrumb .breadcrumb-item a:hover {
  text-decoration: underline;
}

.mc-breadcrumb .breadcrumb-item.active {
  color: var(--mc-gray-700);
  font-weight: 600;
}

/* ——— Alerts ——— */
.mc-alert {
  border-radius: var(--mc-radius);
  padding: 0.85rem 1.1rem;
  font-size: 0.925rem;
}

/* ——— Cards ——— */
.mc-card {
  border-radius: 1rem;
}

.mc-card-elevated {
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: var(--mc-radius);
  box-shadow: var(--mc-shadow-lg);
  background: #fff;
}

.mc-kpi {
  border-radius: var(--mc-radius);
  border: 1px solid rgba(15, 23, 42, 0.06);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.mc-kpi:hover {
  box-shadow: var(--mc-shadow-lg);
  transform: translateY(-1px);
}

/* ——— Page header ——— */
.mc-page-header {
  margin-bottom: 1.5rem;
}

.mc-page-header .mc-page-title {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0f172a;
}

.mc-page-header .mc-page-lead {
  color: var(--mc-gray-500);
  font-size: 0.9rem;
  max-width: 42rem;
}

/* ——— Toolbar (busca + ações em listagens) ——— */
.mc-toolbar {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: var(--mc-radius);
  padding: 0.85rem 1rem;
  box-shadow: var(--mc-shadow);
  margin-bottom: 1.25rem;
}

.mc-table-card {
  border-radius: var(--mc-radius);
  overflow: hidden;
  border: 1px solid var(--mc-gray-200, #e2e9f0);
  box-shadow: var(--mc-shadow);
  background: #fff;
}

.mc-table-card .table {
  margin: 0;
}

.mc-table-card .table thead th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 700;
  color: var(--mc-gray-500);
  background: var(--mc-gray-50, #f2f6f9);
  border-bottom: 1px solid var(--mc-gray-200, #e2e9f0);
  border-top: 0;
  padding: 0.85rem 1rem;
  white-space: nowrap;
}

.mc-table-card .table tbody td {
  padding: 0.8rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid rgba(15, 23, 42, 0.05);
  font-size: 0.9rem;
  color: var(--mc-gray-700, #334155);
}

.mc-table-card .table tbody tr {
  transition: background 0.12s ease;
}

.mc-table-card .table tbody tr:last-child td {
  border-bottom: 0;
}

.mc-table-card .table.table-hover tbody tr:hover {
  background: var(--nc-teal-soft, #eef6f5);
}

/* primeira coluna em destaque + respiro nas bordas */
.mc-table-card .table tbody td:first-child {
  color: var(--mc-slate, #0f1f2e);
}
.mc-table-card .table thead th:first-child,
.mc-table-card .table tbody td:first-child {
  padding-left: 1.25rem;
}
.mc-table-card .table thead th:last-child,
.mc-table-card .table tbody td:last-child {
  padding-right: 1.25rem;
}

/* Pílulas de movimentação de estoque */
.mc-pill-entrada {
  background: rgba(20, 166, 151, 0.12);
  color: #0c8678;
  border-color: rgba(20, 166, 151, 0.22);
}
.mc-pill-saida {
  background: rgba(244, 124, 93, 0.14);
  color: #c2410c;
  border-color: rgba(244, 124, 93, 0.26);
}

/* ——— Forms ——— */
.mc-form .form-label,
.mc-label {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-gray-700);
  margin-bottom: 0.4rem;
}

.mc-form .form-control,
.mc-form .form-select,
.mc-control {
  border-radius: var(--mc-radius-sm);
  border: 1px solid var(--mc-gray-200);
  padding: 0.6rem 0.85rem;
  font-size: 0.95rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mc-form .form-control:focus,
.mc-form .form-select:focus,
.mc-control:focus {
  border-color: rgba(13, 110, 253, 0.55);
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

.mc-form .form-select {
  background-position: right 0.65rem center;
}

/* Selects padronizados (app inteiro) */
.form-select,
select.mc-control {
  min-height: 2.85rem;
  padding: 0.65rem 2.5rem 0.65rem 0.95rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  color: #1e293b;
  border: 1px solid #cfd8e3;
  border-radius: 0.7rem;
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.form-select:focus,
select.mc-control:focus {
  border-color: rgba(19, 124, 137, 0.55);
  box-shadow: 0 0 0 3px rgba(19, 124, 137, 0.14);
}

.form-select-sm,
select.mc-control.form-select-sm {
  min-height: 2.35rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  font-size: 0.95rem;
}

.form-select option,
select.mc-control option {
  font-size: 1rem;
  font-weight: 500;
  padding: 0.55rem 0.75rem;
  color: #1e293b;
}

.mc-select {
  position: relative;
  display: block;
  width: 100%;
}

.mc-select.d-inline-block,
.mc-toolbar .mc-select,
.mc-actions .mc-select {
  width: auto;
  min-width: 8.5rem;
  display: inline-block;
  vertical-align: middle;
}

.mc-select__icon {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  font-size: 1.05rem;
  color: #5b6b7c;
  pointer-events: none;
  line-height: 1;
}

.mc-select__control,
.mc-select > .form-select,
.mc-select > select.mc-control {
  width: 100%;
  padding-left: 2.45rem !important;
}

.mc-select__control:disabled + .mc-select__icon,
.mc-select:has(select:disabled) .mc-select__icon {
  opacity: 0.45;
}

.mc-color-input-group .mc-color-swatch {
  flex: 0 0 auto;
  width: 3rem;
  min-width: 3rem;
  min-height: 2.65rem;
  padding: 0.2rem;
  cursor: pointer;
  border-radius: var(--mc-radius-sm) 0 0 var(--mc-radius-sm);
}

.mc-color-input-group .mc-color-swatch:focus {
  border-color: rgba(13, 110, 253, 0.55);
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
  z-index: 3;
}

.mc-form .mc-color-input-group > .mc-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.mc-form-section {
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: var(--mc-radius);
  box-shadow: var(--mc-shadow);
  background: #fff;
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.mc-form-section .card-header,
.mc-card-header {
  background: linear-gradient(180deg, #fff 0%, var(--mc-gray-50) 100%);
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
  padding: 1rem 1.25rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mc-gray-700);
}

.mc-form-section .card-body {
  padding: 1.35rem 1.35rem 1.5rem;
}

.mc-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding: 1.25rem 1.35rem;
  background: var(--mc-gray-50);
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 0 0 var(--mc-radius) var(--mc-radius);
  margin: 0 -1.35rem -1.35rem;
  width: calc(100% + 2.7rem);
}

.mc-form-check {
  padding: 0.75rem 1rem;
  background: var(--mc-gray-50);
  border-radius: var(--mc-radius-sm);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-form-check .form-check-input {
  width: 1.1em;
  height: 1.1em;
  margin-top: 0.15em;
}

.mc-form-submit-bar {
  border-color: rgba(15, 23, 42, 0.08) !important;
  padding-top: 1.35rem !important;
  margin-top: 0.25rem;
}

/* Formulários de cadastro — largura total do conteúdo (não col-xl-8 centralizado) */
.mc-content .container-fluid > .row.justify-content-center > [class*="col-"] {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

.mc-pill {
  font-weight: 600;
  font-size: 0.72rem;
  padding: 0.4em 0.75em;
  background: var(--mc-gray-100);
  color: var(--mc-gray-700);
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.mc-pill-status-nova {
  background: rgba(25, 118, 210, 0.1);
  color: #1565c0;
  border-color: rgba(25, 118, 210, 0.18);
}

.mc-pill-status-em_contato {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.22);
}

.mc-pill-status-agendada {
  background: rgba(0, 191, 165, 0.12);
  color: #00796b;
  border-color: rgba(0, 191, 165, 0.22);
}

.mc-pill-status-recusada {
  background: var(--mc-gray-100);
  color: var(--mc-gray-600);
  border-color: rgba(15, 23, 42, 0.1);
}

/* Pílulas de status de assinatura */
.mc-pill-ok {
  background: rgba(20, 166, 151, 0.12);
  color: #0c8678;
  border-color: rgba(20, 166, 151, 0.22);
}
.mc-pill-info {
  background: rgba(46, 159, 212, 0.12);
  color: #1b7fb0;
  border-color: rgba(46, 159, 212, 0.22);
}
.mc-pill-warn {
  background: rgba(244, 124, 93, 0.14);
  color: #c2410c;
  border-color: rgba(244, 124, 93, 0.26);
}
.mc-pill-danger {
  background: rgba(220, 38, 38, 0.1);
  color: #b91c1c;
  border-color: rgba(220, 38, 38, 0.2);
}

/* Card do plano atual em destaque */
.mc-plan-current {
  box-shadow: 0 0 0 2px var(--mc-green) inset, var(--mc-shadow);
}

/* Assinatura — direitos por plano e comparação comercial */
.mc-plan-card {
  border: 1px solid var(--mc-gray-200);
  border-radius: var(--mc-radius);
  box-shadow: none;
  background: #fff;
}

.mc-plan-card.mc-plan-current {
  border-color: var(--mc-green);
  box-shadow: 0 0 0 1px var(--mc-green);
}

.plano-card-descricao {
  min-height: 3.75rem;
  line-height: 1.5;
}

.plano-recursos-scroll {
  min-height: 16.5rem;
  color: var(--mc-gray-700) !important;
}

.plano-recursos-scroll li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  line-height: 1.4;
}

.plano-recursos-scroll li .bi {
  flex: 0 0 auto;
  margin-top: 0.12rem;
}

.plano-recursos-scroll .plano-recursos-restantes {
  color: var(--mc-blue-dark);
  font-weight: 600;
}

.mc-plan-comparison {
  scroll-margin-top: 1.25rem;
}

.mc-plan-comparison-scroll {
  overflow: auto;
  border: 1px solid var(--mc-gray-200);
  border-radius: var(--mc-radius);
  background: #fff;
}

.mc-plan-comparison-scroll:focus-visible {
  outline: 3px solid rgba(46, 159, 212, 0.3);
  outline-offset: 3px;
}

.mc-plan-comparison-table {
  min-width: 860px;
  color: var(--mc-gray-700);
}

.mc-plan-comparison-table > :not(caption) > * > * {
  padding: 0.78rem 0.9rem;
  border-color: var(--mc-gray-200);
  vertical-align: middle;
}

.mc-plan-comparison-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  min-width: 138px;
  background: #fff;
  color: var(--mc-gray-700);
  font-family: var(--mc-font-display);
  font-size: 0.82rem;
}

.mc-plan-comparison-table .mc-plan-feature-col,
.mc-plan-comparison-table tbody th[scope="row"] {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 270px;
  background: #fff;
}

.mc-plan-comparison-table thead .mc-plan-feature-col {
  z-index: 3;
}

.mc-plan-comparison-table tbody th[scope="row"] {
  color: #1f2937;
  font-size: 0.88rem;
  font-weight: 500;
}

.mc-plan-comparison-table tbody tr:not(.mc-plan-category-row):hover > * {
  background: #f8fbfc;
}

.mc-plan-comparison-table .is-current {
  background: rgba(20, 166, 151, 0.065);
}

.mc-plan-comparison-table tbody tr:not(.mc-plan-category-row):hover > .is-current {
  background: rgba(20, 166, 151, 0.11);
}

.mc-plan-category-row th {
  background: var(--mc-gray-100);
  color: var(--mc-gray-700);
  font-family: var(--mc-font-display);
  font-size: 0.78rem;
  font-weight: 600;
}

.mc-plan-check {
  color: var(--mc-green);
  font-size: 1.05rem;
}

.mc-plan-unavailable {
  color: #94a3b8;
}

@media (max-width: 767.98px) {
  .plano-card-descricao,
  .plano-recursos-scroll {
    min-height: 0;
  }

  .mc-plan-comparison-table .mc-plan-feature-col,
  .mc-plan-comparison-table tbody th[scope="row"] {
    min-width: 220px;
  }
}

/* Onboarding — primeiros passos */
.mc-onboarding {
  border: 1px solid rgba(20, 166, 151, 0.32) !important;
}
.mc-onboarding-bar {
  height: 8px;
  border-radius: 99px;
  background: var(--mc-gray-100);
  overflow: hidden;
}
.mc-onboarding-bar .progress-bar {
  background: linear-gradient(90deg, var(--mc-green), var(--mc-blue));
  border-radius: 99px;
}
.mc-step {
  border: 1.5px solid var(--mc-gray-200);
  border-radius: 14px;
  padding: 1rem;
  height: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mc-step:hover {
  border-color: rgba(20, 166, 151, 0.35);
  box-shadow: var(--mc-shadow);
}
.mc-step-ico {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #fff;
  background: linear-gradient(135deg, var(--mc-green), var(--mc-blue));
  margin-bottom: 0.6rem;
}
.mc-step-done {
  border-color: rgba(20, 166, 151, 0.35);
  background: rgba(20, 166, 151, 0.05);
}
.mc-step-done .mc-step-ico {
  background: var(--mc-green);
}

.mc-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.mc-filter-tabs__label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--mc-gray-500);
  margin-right: 0.15rem;
}

.mc-filter-tab {
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.95rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid var(--mc-gray-200);
  background: #fff;
  color: var(--mc-gray-700);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.mc-filter-tab:hover {
  background: var(--mc-gray-50);
  border-color: rgba(25, 118, 210, 0.22);
  color: #0f172a;
}

.mc-filter-tab.is-active {
  background: var(--nc-gradient-brand, linear-gradient(135deg, #1976d2, #00bfa5));
  border-color: transparent;
  color: #fff;
  box-shadow: var(--nc-shadow-brand, 0 2px 8px rgba(25, 118, 210, 0.35));
}

.mc-filter-tab.is-active:hover {
  color: #fff;
  filter: brightness(1.05);
}

.mc-btn-whatsapp {
  background: #25d366;
  border: 0;
  color: #fff;
}

.mc-btn-whatsapp:hover {
  background: #20bd5a;
  color: #fff;
  filter: none;
}

.mc-perm-item {
  background: var(--mc-gray-50);
  border: 1px solid rgba(15, 23, 42, 0.06);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mc-perm-item:hover {
  border-color: rgba(13, 110, 253, 0.25);
  box-shadow: var(--mc-shadow);
}

.mc-perm-item .form-check-input:checked {
  background-color: var(--mc-blue);
  border-color: var(--mc-blue);
}

/* ——— Permissões por perfil ——— */
.mc-perm-summary {
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
}

.mc-perm-accordion .accordion-button {
  padding: 0.9rem 1.15rem;
  font-size: 0.95rem;
  background: linear-gradient(180deg, #fff 0%, var(--mc-gray-50) 100%);
  box-shadow: none;
}

.mc-perm-accordion .accordion-button:not(.collapsed) {
  background: #fff;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-perm-accordion .accordion-button::after {
  margin-left: auto;
}

.mc-perm-mod-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--mc-radius-sm);
  background: rgba(13, 110, 253, 0.1);
  color: var(--mc-blue);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mc-perm-table thead th {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: var(--mc-gray-500);
  border-bottom-width: 1px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.mc-perm-table tbody td {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  vertical-align: middle;
}

.mc-perm-table tbody tr:hover {
  background: rgba(13, 110, 253, 0.03);
}

.mc-perm-table code {
  font-size: 0.8rem;
  color: var(--mc-gray-700);
  background: var(--mc-gray-100);
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
}

.mc-perm-check {
  width: 1.15rem;
  height: 1.15rem;
  cursor: pointer;
}

.mc-perm-footer {
  border-color: rgba(15, 23, 42, 0.08) !important;
}

.mc-timezone-list .list-group-item {
  border-left: 0;
  border-right: 0;
}

.mc-timezone-list .list-group-item:first-child {
  border-top: 0;
}

.mc-timezone-option:hover {
  background: rgba(13, 110, 253, 0.06);
}

/* Auth / guest */
.mc-auth-card {
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: var(--mc-radius);
  box-shadow: var(--mc-shadow-lg);
  background: #fff;
}

.mc-card-actions {
  background: var(--mc-gray-50);
  border-color: rgba(15, 23, 42, 0.06) !important;
}

.mc-auth-card .mc-auth-title {
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* ——— Carrinho do atendimento ——— */
.mc-atendimento-carrinho .mc-cart-kpi {
  padding: 0.65rem 0.85rem;
  border-radius: 0.65rem;
  background: var(--mc-gray-50, #f9fafb);
  border: 1px solid var(--mc-gray-200, #e5e7eb);
  height: 100%;
}

.mc-cart-add-item summary {
  cursor: pointer;
  list-style: none;
}

.mc-cart-add-item summary::-webkit-details-marker {
  display: none;
}

.mc-input-icon .input-group-text {
  background: var(--mc-gray-50);
  border-color: var(--mc-gray-200);
  color: var(--mc-gray-500);
  border-radius: var(--mc-radius-sm) 0 0 var(--mc-radius-sm);
}

.mc-input-icon .form-control {
  border-color: var(--mc-gray-200);
  border-radius: 0 var(--mc-radius-sm) var(--mc-radius-sm) 0;
}

.mc-input-icon .form-control:focus {
  z-index: 3;
}

/* ——— Buttons (estilo manual: canto reto + sombra offset) ——— */
.mc-btn {
  font-weight: 700;
  padding: 0.55rem 1.15rem;
  border-radius: 0;
  letter-spacing: 0.02em;
  transition: filter 0.15s ease, box-shadow 0.12s ease, transform 0.12s ease;
}

.mc-btn-primary {
  background: #14a697;
  border: 0;
  color: #fff;
  box-shadow: 4px 4px 0 #99f6e4;
}

.mc-btn-primary:hover {
  filter: brightness(1.04);
  color: #fff;
  transform: translate(1px, 1px);
  box-shadow: 2px 2px 0 #99f6e4;
}

.mc-btn-primary:active {
  transform: translate(3px, 3px);
  box-shadow: 0 0 0 #99f6e4;
}

.mc-btn-secondary {
  background: #fff;
  border: 2px solid #0f172a;
  color: var(--mc-gray-700);
  font-weight: 700;
  box-shadow: 4px 4px 0 #cbd5e1;
}

.mc-btn-secondary:hover {
  background: #fff;
  border-color: #0f172a;
  color: #0f172a;
  transform: translate(1px, 1px);
  box-shadow: 2px 2px 0 #cbd5e1;
}

.mc-btn-ghost {
  background: transparent;
  border: 1px solid transparent;
  color: var(--mc-gray-500);
  font-weight: 500;
}

.mc-btn-ghost:hover {
  background: var(--mc-gray-100);
  color: var(--mc-gray-700);
}

.mc-btn-sm {
  padding: 0.4rem 0.85rem;
  font-size: 0.875rem;
}

.mc-btn-lg {
  padding: 0.7rem 1.25rem;
  font-size: 1rem;
}

/* ——— Modais (Bootstrap) ——— */
.modal-content.mc-modal {
  border: none;
  border-radius: var(--mc-radius);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.15);
}

.modal-header.mc-modal-header {
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding: 1.1rem 1.35rem;
}

.modal-footer.mc-modal-footer {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding: 0.85rem 1.35rem;
  background: var(--mc-gray-50);
}

/* ——— Confirmação profissional (substitui window.confirm) ——— */
.mc-confirm-modal .modal-dialog {
  max-width: 420px;
}
.mc-confirm-card {
  overflow: hidden;
  border-radius: 16px !important;
  box-shadow: 0 28px 64px rgba(15, 31, 46, 0.22) !important;
}
.mc-confirm-body {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.5rem 1.5rem 0.75rem;
}
.mc-confirm-icon-wrap {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--nc-teal-soft, #d7f3ee);
}
.mc-confirm-icon {
  font-size: 1.35rem;
  color: var(--nc-teal, #14a697);
  line-height: 1;
}
.mc-confirm--danger .mc-confirm-icon-wrap {
  background: #fde8e8;
}
.mc-confirm--danger .mc-confirm-icon {
  color: #c62828;
}
.mc-confirm--warning .mc-confirm-icon-wrap {
  background: #fff3e0;
}
.mc-confirm--warning .mc-confirm-icon {
  color: #ef6c00;
}
.mc-confirm-title {
  font-family: var(--mc-font-display, Poppins, system-ui, sans-serif);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--nc-slate, #0f1f2e);
  margin: 0 0 0.4rem;
  line-height: 1.3;
}
.mc-confirm-message {
  font-size: 0.95rem;
  color: var(--nc-gray, #6e7b8a);
  line-height: 1.5;
}
.mc-confirm-footer {
  padding: 0.85rem 1.5rem 1.35rem !important;
  background: transparent !important;
  gap: 0.5rem;
}
.mc-confirm-footer .btn {
  min-width: 7.5rem;
  border-radius: 10px;
  font-weight: 600;
  padding: 0.55rem 1rem;
}
.mc-confirm-btn-ok.btn-primary {
  background: linear-gradient(135deg, var(--nc-teal-deep, #0c8678), var(--nc-teal, #14a697));
  border-color: transparent;
  box-shadow: 0 6px 16px rgba(20, 166, 151, 0.28);
}
.mc-confirm-btn-ok.btn-danger {
  box-shadow: 0 6px 16px rgba(198, 40, 40, 0.22);
}
.mc-confirm-btn-cancel {
  color: var(--nc-slate, #0f1f2e);
  border-color: var(--nc-border, #e2e9f0);
}
.mc-confirm-modal + .modal-backdrop,
.modal-backdrop.show {
  backdrop-filter: blur(2px);
}

/* ——— Paginação ——— */
.pagination.mc-pagination .page-link {
  border-radius: var(--mc-radius-sm);
  font-weight: 500;
  color: var(--mc-gray-700);
  border-color: var(--mc-gray-200);
}

.pagination.mc-pagination .page-item.active .page-link {
  background: linear-gradient(135deg, #0d6efd, #2563eb);
  border-color: transparent;
}

.mc-dropdown-menu {
  border-radius: var(--mc-radius-sm);
  padding: 0.35rem;
  box-shadow: var(--mc-shadow-lg);
}

.mc-dropdown-menu .dropdown-item {
  border-radius: 0.35rem;
  font-weight: 500;
  padding: 0.45rem 0.65rem;
}

/* ——— Ficha (detalhe paciente / somente leitura) ——— */
.mc-detail-table {
  --mc-detail-label-w: 42%;
  table-layout: fixed;
}

.mc-detail-table th {
  width: var(--mc-detail-label-w);
  max-width: 12rem;
  padding: 0.55rem 0.75rem 0.55rem 0;
  vertical-align: middle;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mc-gray-500);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-detail-table td {
  padding: 0.55rem 0;
  vertical-align: middle;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  word-break: break-word;
}

.mc-detail-table tr:last-child th,
.mc-detail-table tr:last-child td {
  border-bottom: none;
}

.mc-upload-zone {
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border: 1px dashed rgba(15, 23, 42, 0.14) !important;
  border-radius: var(--mc-radius);
}

.mc-empty-hint {
  border: 1px dashed rgba(15, 23, 42, 0.1);
  border-radius: var(--mc-radius);
  background: var(--mc-gray-50);
}

.mc-paciente-foto-preview {
  width: 88px;
  height: 88px;
}

.mc-table-avatar {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.mc-table-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Avatar paciente (foto ou iniciais) — PDV, listas, sala do médico */
.mc-pac-ava {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid rgba(16, 32, 47, 0.08);
  background: #e8eef2;
  vertical-align: middle;
}
.mc-pac-ava--sm { width: 28px; height: 28px; }
.mc-pac-ava--md { width: 40px; height: 40px; }
.mc-pac-ava--lg { width: 56px; height: 56px; }
.mc-pac-ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mc-pac-ava__fb {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}
.mc-pac-ava--sm .mc-pac-ava__fb { font-size: 0.65rem; }
.mc-pac-ava--md .mc-pac-ava__fb { font-size: 0.85rem; }
.mc-pac-ava--lg .mc-pac-ava__fb { font-size: 1.05rem; }

/* Avatar com iniciais (fallback sem foto) */
.mc-avatar-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  line-height: 1;
}

/* Empty state das listas */
.mc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  text-align: center;
  padding: 1rem;
}
.mc-empty-ico {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--mc-green);
  background: var(--nc-teal-soft, #d7f3ee);
}
.mc-empty-title {
  margin: 0;
  color: var(--mc-gray-500);
  font-size: 0.95rem;
}

/* Miniatura clicável na lista de medicamentos → modal médio */
.mc-med-thumb {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  vertical-align: middle;
}

.mc-med-thumb:hover {
  transform: scale(1.06);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.18);
}

.mc-med-thumb:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 2px;
}

button.mc-med-thumb {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

button.mc-med-thumb:hover img {
  transform: scale(1.04);
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.18);
}

button.mc-med-thumb:focus-visible {
  outline: 2px solid var(--mc-blue);
  outline-offset: 2px;
}

.mc-med-img-modal-preview {
  max-height: min(420px, 70vh);
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* ——— Gestão de estoque (painel operacional) ——— */
.mc-estoque-painel-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  background: rgba(56, 189, 248, 0.15);
  color: #0284c7;
}

.mc-estoque-alertas {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mc-estoque-alerta {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  line-height: 1.4;
}

.mc-estoque-alerta i {
  font-size: 1.1rem;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.mc-estoque-alerta--danger {
  background: rgba(239, 68, 68, 0.1);
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.mc-estoque-alerta--warn {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.mc-estoque-alerta--info {
  background: rgba(59, 130, 246, 0.1);
  color: #1d4ed8;
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.mc-estoque-kpi {
  background: #fff;
  border: 1px solid var(--mc-gray-200, #e2e8f0);
  border-radius: 14px;
  padding: 1rem 1.1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.mc-estoque-kpi:hover {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  border-color: var(--mc-gray-300, #cbd5e1);
}

.mc-estoque-kpi-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mc-gray-500, #64748b);
}

.mc-estoque-kpi-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--mc-gray-900, #0f172a);
  line-height: 1.2;
}

.mc-estoque-kpi-sub {
  font-size: 0.72rem;
  color: var(--mc-gray-500, #64748b);
}

.mc-estoque-kpi-mov {
  font-size: 1.1rem !important;
}

.mc-estoque-kpi--warn {
  border-color: rgba(245, 158, 11, 0.35);
  background: rgba(255, 251, 235, 0.6);
}

.mc-estoque-kpi--warn .mc-estoque-kpi-value {
  color: #b45309;
}

.mc-estoque-kpi--cost .mc-estoque-kpi-value {
  color: #475569;
  font-size: 1.05rem;
}

.mc-estoque-kpi--sale .mc-estoque-kpi-value {
  color: #059669;
  font-size: 1.05rem;
}

.mc-estoque-card {
  border-radius: 14px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.mc-estoque-card-header {
  background: var(--mc-gray-50, #f8fafc) !important;
  border-bottom: 1px solid var(--mc-gray-200, #e2e8f0) !important;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.85rem 1.15rem;
}

.mc-estoque-action-tile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--mc-gray-200, #e2e8f0);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.mc-estoque-action-tile:hover {
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
  color: inherit;
}

.mc-estoque-action-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(56, 189, 248, 0.12);
  color: #0284c7;
  font-size: 1.1rem;
}

.mc-estoque-action-label {
  flex: 1;
  font-weight: 600;
  font-size: 0.88rem;
}

.mc-estoque-action-arrow {
  color: var(--mc-gray-400, #94a3b8);
  font-size: 0.85rem;
}

.mc-estoque-mov-list .list-group-item {
  border-color: var(--mc-gray-100, #f1f5f9);
  padding: 0.75rem 1.15rem;
}

.mc-estoque-mov-item:last-child {
  border-bottom: 0;
}

.mc-estoque-form-tip {
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.2) !important;
  border-radius: 14px;
}

.mc-estoque-form-tip ol li {
  margin-bottom: 0.25rem;
}

.mc-estoque-list-page .mc-estoque-row--danger {
  background: rgba(239, 68, 68, 0.04);
}

.mc-estoque-list-page .mc-estoque-row--warn {
  background: rgba(245, 158, 11, 0.05);
}

.mc-estoque-badge {
  font-weight: 600;
  font-size: 0.72rem;
}

.mc-estoque-badge--danger {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #b91c1c !important;
}

.mc-estoque-badge--warn {
  background: rgba(245, 158, 11, 0.18) !important;
  color: #b45309 !important;
}

.mc-estoque-badge--ok {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #047857 !important;
}

.mc-estoque-prod-ico {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-gray-100, #f1f5f9);
  color: var(--mc-gray-400, #94a3b8);
  font-size: 1.1rem;
}

.mc-estoque-badge--servico {
  background: rgba(139, 92, 246, 0.18) !important;
  color: #6d28d9 !important;
}

/* ── Financeiro (painel e listagens) ── */
.mc-financeiro-page {
  --mc-fin-accent: #059669;
  --mc-fin-accent-soft: rgba(5, 150, 105, 0.12);
}

.mc-financeiro-page .mc-financeiro-painel-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-fin-accent-soft);
  color: var(--mc-fin-accent);
  font-size: 1.35rem;
  flex-shrink: 0;
}

.mc-financeiro-filter-card {
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.mc-financeiro-table-card {
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.mc-financeiro-table-card .mc-card-header,
.mc-financeiro-table-card .card-header {
  background: #f8fafc;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.85rem 1.15rem;
}

.mc-financeiro-table thead th {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-gray-500, #64748b);
  border-bottom-width: 1px;
  white-space: nowrap;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

.mc-financeiro-table tbody td {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  vertical-align: middle;
}

.mc-financeiro-list-page .mc-financeiro-row--danger {
  background: rgba(239, 68, 68, 0.04);
}

.mc-financeiro-list-page .mc-financeiro-row--warn {
  background: rgba(245, 158, 11, 0.05);
}

.mc-financeiro-avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}

/* ── Caixa operacional ── */
.mc-caixa-page {
  --mc-caixa-accent: #059669;
  --mc-caixa-accent-soft: rgba(5, 150, 105, 0.12);
}

.mc-caixa-status-card {
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-caixa-status-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}

.mc-caixa-status-icon.is-open {
  background: var(--mc-caixa-accent-soft);
  color: var(--mc-caixa-accent);
}

.mc-caixa-status-icon.is-closed {
  background: rgba(100, 116, 139, 0.12);
  color: #64748b;
}

.mc-caixa-select-form {
  min-width: 180px;
}

.mc-caixa-kpi .card-body {
  padding: 1rem 1.15rem;
}

.mc-caixa-kpi-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.35rem;
}

.mc-caixa-kpi-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;
}

.mc-caixa-kpi-hint {
  font-size: 0.75rem;
  color: #94a3b8;
  margin-top: 0.25rem;
}

.mc-caixa-open-banner {
  display: flex;
  align-items: flex-start;
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  background: rgba(5, 150, 105, 0.08);
  font-size: 0.875rem;
  color: #134e4a;
}

.mc-caixa-shortcut {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #fff;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mc-caixa-shortcut:hover {
  border-color: rgba(5, 150, 105, 0.35);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  color: inherit;
}

.mc-caixa-shortcut strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
}

.mc-caixa-shortcut small {
  display: block;
  color: #64748b;
  font-size: 0.75rem;
}

.mc-caixa-shortcut-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-caixa-accent-soft);
  color: var(--mc-caixa-accent);
  font-size: 1.1rem;
  flex-shrink: 0;
}

.mc-caixa-badge-in {
  background: rgba(5, 150, 105, 0.14) !important;
  color: #047857 !important;
  font-weight: 600;
}

.mc-caixa-badge-out {
  background: rgba(239, 68, 68, 0.12) !important;
  color: #b91c1c !important;
  font-weight: 600;
}

.mc-caixa-empty-icon {
  width: 64px;
  height: 64px;
  margin-inline: auto;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-caixa-accent-soft);
  color: var(--mc-caixa-accent);
  font-size: 1.75rem;
}

.mc-caixa-ss-form .form-control,
.mc-caixa-ss-form .input-group-text {
  min-height: 42px;
  font-size: 0.9375rem;
}

.mc-caixa-ss-form .input-group-text {
  display: flex;
  align-items: center;
}

.mc-financeiro-hub-section-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 0.75rem;
}

.mc-financeiro-action-tile {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mc-financeiro-action-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.mc-financeiro-avatar--muted {
  background: var(--mc-gray-200, #e2e8f0) !important;
  color: var(--mc-gray-500, #64748b);
}

.mc-financeiro-cell-title {
  font-weight: 600;
  color: var(--mc-gray-800, #1e293b);
  line-height: 1.25;
}

.mc-financeiro-cell-sub {
  font-size: 0.78rem;
  color: var(--mc-gray-500, #64748b);
  line-height: 1.3;
}

.mc-financeiro-badge {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.35em 0.75em;
}

.mc-financeiro-badge--danger {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #b91c1c !important;
}

.mc-financeiro-badge--warn {
  background: rgba(245, 158, 11, 0.18) !important;
  color: #b45309 !important;
}

.mc-financeiro-badge--info {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #1d4ed8 !important;
}

.mc-financeiro-badge--ok {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #047857 !important;
}

.mc-financeiro-badge--muted {
  background: rgba(100, 116, 139, 0.12) !important;
  color: #475569 !important;
}

.mc-financeiro-badge--default {
  background: rgba(148, 163, 184, 0.15) !important;
  color: #334155 !important;
}

.mc-financeiro-saldo {
  font-weight: 600;
}

.mc-financeiro-saldo--zero {
  color: var(--mc-gray-400, #94a3b8);
  font-weight: 500;
}

.mc-financeiro-page .mc-estoque-kpi {
  border-radius: 14px;
}

.mc-financeiro-action-tile {
  border-radius: 14px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mc-financeiro-action-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

@media (max-width: 767.98px) {
  .mc-financeiro-table .mc-financeiro-actions {
    flex-direction: column;
    align-items: stretch !important;
  }

  .mc-financeiro-table .mc-financeiro-actions .btn {
    width: 100%;
  }
}

.mc-financeiro-form-compact .form-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-gray-500, #64748b);
  margin-bottom: 0.25rem;
}

.mc-financeiro-form-compact .form-control-sm,
.mc-financeiro-form-compact .form-select-sm,
.mc-financeiro-form-compact .form-control:not(textarea),
.mc-financeiro-form-compact .form-select {
  min-height: 34px;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  font-size: 0.875rem;
}

.mc-financeiro-form-compact .card-body {
  padding: 1rem 1.15rem;
}

.mc-financeiro-resumo {
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-financeiro-resumo-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-gray-500, #64748b);
  display: block;
  margin-bottom: 0.15rem;
}

.mc-financeiro-resumo-value {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--mc-gray-800, #1e293b);
  line-height: 1.3;
}

.mc-financeiro-parcelas-box {
  padding: 0.75rem 0.9rem;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.mc-financeiro-parcelas-box .mc-financeiro-parcelas-title {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mc-gray-500, #64748b);
  margin-bottom: 0.5rem;
}

@media (max-width: 991.98px) {
  .mc-sidebar {
    display: none !important;
  }
}

/* ── Overlay global de carregamento ── */
.mc-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: all;
}

.mc-loading-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  backdrop-filter: blur(2px);
}

.mc-loading-card {
  position: relative;
  z-index: 1;
  min-width: 220px;
  max-width: min(92vw, 320px);
  padding: 1.35rem 1.5rem;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  text-align: center;
}

.mc-loading-spinner {
  width: 42px;
  height: 42px;
  margin: 0 auto 0.85rem;
  border: 3px solid rgba(59, 130, 246, 0.18);
  border-top-color: var(--mc-blue, #3b82f6);
  border-radius: 50%;
  animation: mc-loading-spin 0.75s linear infinite;
}

.mc-loading-text {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--mc-gray-700, #374151);
}

@keyframes mc-loading-spin {
  to {
    transform: rotate(360deg);
  }
}

html.mc-page-loading .mc-loading-overlay,
html.mc-loading .mc-loading-overlay {
  display: flex;
}

html.mc-page-loading .mc-loading-overlay[hidden],
html.mc-loading .mc-loading-overlay[hidden] {
  display: flex !important;
}

.mc-doc-painel-icon {
  background: rgba(167, 139, 250, 0.15) !important;
  color: #7c3aed !important;
}

.mc-doc-footer {
  font-size: 0.85rem;
  line-height: 1.45;
}

.mc-doc-ia-card {
  background: linear-gradient(135deg, rgba(167, 139, 250, 0.08), rgba(59, 130, 246, 0.06));
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.mc-doc-ia-card .card-header {
  background: transparent;
  border-bottom: 1px solid rgba(167, 139, 250, 0.2);
}
/* Dashboard gerencial */
.mc-dashboard-page {
  --mc-dashboard-ink: #102a43;
  --mc-dashboard-muted: #52677a;
  --mc-dashboard-line: #dbe5ed;
  --mc-dashboard-soft: #f5f8fa;
  color: var(--mc-dashboard-ink);
}
.mc-dashboard-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.25rem; margin-bottom: 1rem; }
.mc-dashboard-shortcuts__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .85rem;
  margin-bottom: .65rem;
}
.mc-dashboard-shortcuts__head strong {
  font-size: .92rem;
  color: var(--mc-dashboard-ink, #102a43);
}
.mc-dashboard-shortcuts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: .65rem;
}
.mc-dashboard-shortcut {
  --mc-shortcut-cor: #0d9488;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .35rem;
  padding: .85rem .9rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--mc-shortcut-cor) 22%, #e2e8f0);
  background: color-mix(in srgb, var(--mc-shortcut-cor) 8%, #fff);
  text-decoration: none;
  color: inherit;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.mc-dashboard-shortcut:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--mc-shortcut-cor) 45%, #cbd5e1);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
  color: inherit;
}
.mc-dashboard-shortcut__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mc-shortcut-cor);
  color: #fff;
  font-size: 1.15rem;
}
.mc-dashboard-shortcut__label {
  font-weight: 700;
  font-size: .9rem;
  color: #102a43;
  line-height: 1.2;
}
.mc-dashboard-shortcut__desc {
  font-size: .72rem;
  color: #64748b;
  line-height: 1.25;
}
@media (max-width: 575.98px) {
  .mc-dashboard-shortcuts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.mc-dashboard-period { display: flex; align-items: center; gap: .65rem; }
.mc-dashboard-period label { color: var(--mc-dashboard-muted); font-size: .82rem; font-weight: 650; }
.mc-dashboard-period .form-select { min-width: 178px; min-height: 40px; border-color: #c8d5df; color: var(--mc-dashboard-ink); }
.mc-dashboard-nav { display: flex; gap: .25rem; overflow-x: auto; padding: .3rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--mc-dashboard-line); scrollbar-width: none; }
.mc-dashboard-nav a { flex: 0 0 auto; padding: .62rem .85rem; color: #40576b; font-size: .86rem; font-weight: 650; text-decoration: none; border-radius: 8px; }
.mc-dashboard-nav a:hover, .mc-dashboard-nav a:focus-visible { background: #eaf3f4; color: #0f766e; }
.mc-dashboard-nav a.is-active { background: #dff1ef; color: #0f766e; }
.mc-dashboard-section { scroll-margin-top: 1rem; margin-bottom: 2rem; }
.mc-dashboard-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: .8rem; }
.mc-dashboard-section-head h2 { margin: 0; font-size: 1.08rem; font-weight: 750; letter-spacing: -.015em; }
.mc-dashboard-section-head p { margin: .22rem 0 0; color: var(--mc-dashboard-muted); font-size: .84rem; }
.mc-dashboard-kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; background: #fff; border: 1px solid var(--mc-dashboard-line); border-radius: 12px; }
.mc-dashboard-kpi { min-width: 0; padding: 1rem 1.1rem; border-right: 1px solid var(--mc-dashboard-line); }
.mc-dashboard-kpi:last-child { border-right: 0; }
.mc-dashboard-kpi-label, .mc-dashboard-kpi-note { display: block; color: var(--mc-dashboard-muted); font-size: .78rem; }
.mc-dashboard-kpi strong { display: block; margin: .35rem 0 .3rem; color: var(--mc-dashboard-ink); font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 760; letter-spacing: -.025em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-dashboard-kpi--locked { background: var(--mc-dashboard-soft); }
.mc-dashboard-kpi--locked strong { font-size: 1rem; color: #52677a; }
.mc-dashboard-kpi--locked a { color: #0f766e; font-size: .78rem; font-weight: 650; }
.mc-dashboard-trend { display: block; font-size: .74rem; font-weight: 650; }
.mc-dashboard-trend.is-up { color: #08765f; }
.mc-dashboard-trend.is-down { color: #b42318; }
.mc-dashboard-trend.is-neutral { color: #64748b; }
.mc-dashboard-grid { display: grid; gap: 1rem; }
.mc-dashboard-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mc-dashboard-grid--finance { grid-template-columns: minmax(0, 1.75fr) minmax(240px, .75fr); }
.mc-dashboard-panel { min-width: 0; background: #fff; border: 1px solid var(--mc-dashboard-line); border-radius: 12px; padding: 1rem; }
.mc-dashboard-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .8rem; }
.mc-dashboard-panel-head h3 { margin: 0; font-size: .92rem; font-weight: 720; }
.mc-dashboard-panel-head p { margin: .18rem 0 0; color: var(--mc-dashboard-muted); font-size: .78rem; }
.mc-dashboard-panel-head > span, .mc-dashboard-panel-head > a { color: var(--mc-dashboard-muted); font-size: .75rem; font-weight: 650; }
.mc-dashboard-panel-head > a { color: #0f766e; text-decoration: none; }
.mc-chart-wrap { position: relative; height: 290px; min-width: 0; overflow: hidden; }
.mc-chart-wrap canvas { width: 100% !important; max-width: 100% !important; }
.mc-chart-wrap--compact { height: 245px; }
.mc-dashboard-table { font-size: .84rem; }
.mc-dashboard-table thead th { color: #607487; font-size: .72rem; font-weight: 700; text-transform: none; border-bottom-color: var(--mc-dashboard-line); }
.mc-dashboard-table tbody td { border-bottom-color: #edf2f6; }
.mc-dashboard-facts { display: grid; gap: .75rem; }
.mc-dashboard-facts > div { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; padding-bottom: .75rem; border-bottom: 1px solid #edf2f6; }
.mc-dashboard-facts > div:last-child { border-bottom: 0; padding-bottom: 0; }
.mc-dashboard-facts span { color: var(--mc-dashboard-muted); font-size: .79rem; }
.mc-dashboard-facts strong { font-size: .96rem; text-align: right; }
.mc-dashboard-empty { min-height: 200px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: var(--mc-dashboard-muted); }
.mc-dashboard-empty i { margin-bottom: .5rem; color: #8aa0b2; font-size: 1.5rem; }
.mc-dashboard-empty p { max-width: 38ch; margin: 0; font-size: .82rem; }
.mc-dashboard-empty a { margin-top: .4rem; color: #0f766e; font-size: .8rem; font-weight: 650; }
.mc-dashboard-empty--row { min-height: 110px; }
.mc-dashboard-locked { display: flex; align-items: center; gap: 1rem; padding: 1.15rem; background: #eef6f5; border-radius: 12px; }
.mc-dashboard-locked > i { color: #0f766e; font-size: 1.55rem; }
.mc-dashboard-locked div { flex: 1; }
.mc-dashboard-locked strong { display: block; font-size: .92rem; }
.mc-dashboard-locked p { margin: .2rem 0 0; color: var(--mc-dashboard-muted); font-size: .8rem; }
.mc-dashboard-alert-list { display: grid; gap: .65rem; }
.mc-dashboard-alert-list > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; padding: .75rem; border-radius: 9px; background: var(--mc-dashboard-soft); }
.mc-dashboard-alert-list span { color: var(--mc-dashboard-muted); font-size: .82rem; }
.mc-dashboard-alert-list .is-warning i, .mc-dashboard-alert-list .is-warning strong { color: #a15c00; }
.mc-dashboard-alert-list .is-danger i, .mc-dashboard-alert-list .is-danger strong { color: #b42318; }
.mc-dashboard-alert-list .is-ok i, .mc-dashboard-alert-list .is-ok strong { color: #08765f; }
.mc-dashboard-fiscal-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.mc-dashboard-fiscal-summary > div { padding: .7rem; text-align: center; background: var(--mc-dashboard-soft); border-radius: 9px; }
.mc-dashboard-fiscal-summary strong, .mc-dashboard-fiscal-summary span { display: block; }
.mc-dashboard-fiscal-summary strong { font-size: 1.25rem; }
.mc-dashboard-fiscal-summary span { margin-top: .12rem; color: var(--mc-dashboard-muted); font-size: .72rem; }
.mc-dashboard-fiscal-value { margin: .75rem 0 0; color: var(--mc-dashboard-muted); font-size: .78rem; }
@media (max-width: 991.98px) {
  .mc-dashboard-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mc-dashboard-kpi:nth-child(2) { border-right: 0; }
  .mc-dashboard-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--mc-dashboard-line); }
  .mc-dashboard-grid--finance { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .mc-dashboard-header, .mc-dashboard-section-head { align-items: stretch; flex-direction: column; }
  .mc-dashboard-period { justify-content: space-between; }
  .mc-dashboard-grid--2 { grid-template-columns: 1fr; }
  .mc-dashboard-locked { align-items: flex-start; flex-wrap: wrap; }
  .mc-dashboard-locked .btn { width: 100%; }
}
@media (max-width: 479.98px) {
  .mc-dashboard-kpi-strip { grid-template-columns: 1fr; }
  .mc-dashboard-kpi { border-right: 0; border-bottom: 1px solid var(--mc-dashboard-line); }
  .mc-dashboard-kpi:last-child { border-bottom: 0; }
  .mc-dashboard-kpi:nth-child(2) { border-bottom: 1px solid var(--mc-dashboard-line); }
  .mc-dashboard-period { align-items: stretch; flex-direction: column; }
  .mc-dashboard-period .form-select { width: 100%; }
  .mc-chart-wrap, .mc-chart-wrap--compact { height: 230px; }
}

/* Cadastro estruturado — base reutilizável para formulários extensos */
.mc-form-shell { width: 100%; max-width: 1360px; margin: 0 auto; padding-bottom: 1rem; }
.mc-form-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; }
.mc-form-page-head h1 { margin: .18rem 0 .35rem; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 760; letter-spacing: -.025em; color: #12263a; }
.mc-form-page-head p { margin: 0; color: #61758a; }
.mc-form-eyebrow { color: #0f766e; font-size: .72rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.mc-form-code { display: inline-flex; align-items: center; gap: .5rem; flex: 0 0 auto; padding: .55rem .75rem; border: 1px solid #dbe4ec; border-radius: 9px; background: #fff; color: #52677a; font-size: .82rem; font-weight: 650; }
.mc-form-nav { position: sticky; top: .75rem; z-index: 20; display: grid; grid-template-columns: repeat(var(--mc-form-nav-columns, 5), minmax(0, 1fr)); margin: 0 0 1rem; padding: .35rem; overflow-x: auto; border: 1px solid #dbe4ec; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 6px 8px rgba(24,50,75,.07); }
.mc-form-nav a { display: flex; align-items: center; justify-content: center; gap: .45rem; min-width: 140px; padding: .62rem .75rem; border-radius: 8px; color: #52677a; font-size: .79rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.mc-form-nav a span { display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; border: 1px solid #c9d5df; border-radius: 50%; font-size: .69rem; }
.mc-form-nav a:hover, .mc-form-nav a:focus-visible { color: #0b6e75; background: #eff8f8; }
.mc-form-nav a.is-active { color: #fff; background: #137c89; }
.mc-form-nav a.is-active span { border-color: rgba(255,255,255,.6); }
.mc-form-panel { scroll-margin-top: 5.5rem; margin-bottom: 1rem; overflow: hidden; border: 1px solid #dbe4ec; border-radius: 12px; background: #fff; }
.mc-form-panel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.25rem; padding: 1rem 1.25rem; border-bottom: 1px solid #e5ecf2; background: #f8fafc; }
.mc-form-panel__head > div > span { color: #0f766e; font-size: .68rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.mc-form-panel__head h2 { margin: .12rem 0 0; color: #172b3e; font-size: 1.05rem; font-weight: 740; }
.mc-form-panel__head p { max-width: 48ch; margin: 0; color: #66798b; font-size: .8rem; text-align: right; }
.mc-form-panel__body { padding: 1.25rem; }
.mc-form-panel .form-label { margin-bottom: .38rem; color: #263b4e; font-size: .8rem; font-weight: 650; }
.mc-form-panel .form-check-label { color: #41576a; font-size: .82rem; }
.mc-required { color: #c2413b; }
.mc-optional { color: #7a8c9c; font-size: .72rem; font-weight: 500; }
.mc-field-hint, .mc-field-status { margin: .35rem 0 0; color: #728598; font-size: .73rem; }
.mc-field-status.is-success { color: #08765f; }
.mc-field-status.is-error { color: #b42318; }
.mc-field-status.is-loading { color: #805b10; }
.mc-form-divider { margin: .35rem 0; border-color: #e2eaf0; opacity: 1; }
.mc-form-subtitle { margin: 0 0 .8rem; color: #23394c; font-size: .88rem; font-weight: 720; }
.mc-counter { color: #718397; font-size: .72rem; font-variant-numeric: tabular-nums; }
.mc-photo-dropzone { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 205px; padding: 1rem; border: 1px dashed #a9bac8; border-radius: 12px; background: #f8fafc; color: #40576a; text-align: center; cursor: pointer; }
.mc-photo-dropzone:hover, .mc-photo-dropzone:focus-visible, .mc-photo-dropzone.is-dragging { border-color: #11818b; outline: 0; background: #eff9f8; }
.mc-photo-preview { display: grid; place-items: center; width: 104px; height: 104px; margin-bottom: .75rem; overflow: hidden; border: 1px solid #d3dee7; border-radius: 50%; background: #fff; color: #8a9baa; }
.mc-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.mc-photo-preview i { font-size: 2.3rem; }
.mc-photo-preview--product { width: 128px; height: 128px; border-radius: 10px; }
.mc-photo-preview--product img { object-fit: contain; }
.mc-photo-dropzone strong { font-size: .84rem; }
.mc-photo-dropzone small { margin-top: .22rem; color: #748698; font-size: .7rem; }
.mc-camera-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 12px;
  background: #0f172a;
  display: grid;
  place-items: center;
}
.mc-camera-stage video,
.mc-camera-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.mc-specialty-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .65rem; }
.mc-specialty-option { min-height: 100%; padding: .75rem .8rem .75rem 2.25rem; border: 1px solid #dfe7ed; border-radius: 10px; background: #fff; }
.mc-specialty-option:hover { border-color: #b9ccd8; background: #f8fbfc; }
.mc-specialty-option .form-check-input { margin-left: -1.35rem; }
.mc-privacy-notice { display: flex; gap: .85rem; padding: .9rem 1rem; border: 1px solid #bee1dc; border-radius: 10px; background: #eff9f7; color: #22564f; }
.mc-privacy-notice > i { margin-top: .05rem; font-size: 1.25rem; }
.mc-privacy-notice strong, .mc-privacy-notice p { display: block; }
.mc-privacy-notice p { margin: .18rem 0 0; font-size: .78rem; }
.mc-consent-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.mc-consent-list .form-check { min-height: 100%; margin: 0; padding: .85rem .85rem .85rem 2.25rem; border: 1px solid #dfe7ed; border-radius: 10px; }
.mc-consent-list .form-check-input { margin-left: -1.35rem; }
.mc-consent-list label strong, .mc-consent-list label span { display: block; }
.mc-consent-list label strong { color: #294055; font-size: .82rem; }
.mc-consent-list label span { margin-top: .18rem; color: #66798b; font-size: .74rem; font-weight: 400; }
.mc-consent-history { display: inline-block; margin-top: .85rem; color: #0c7480; font-size: .78rem; font-weight: 650; text-decoration: none; }
.mc-form-actionbar { position: sticky; bottom: .75rem; z-index: 18; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .8rem 1rem; border: 1px solid #d6e1e9; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 -4px 18px rgba(24,50,75,.08); }
.mc-form-actionbar > div:first-child strong, .mc-form-actionbar > div:first-child span { display: block; }
.mc-form-actionbar > div:first-child strong { color: #263c4f; font-size: .82rem; }
.mc-form-actionbar > div:first-child span { color: #728598; font-size: .72rem; }
.mc-form-actionbar button[disabled] { cursor: wait; opacity: .7; }

@media (max-width: 767.98px) {
  .mc-form-page-head, .mc-form-panel__head { align-items: flex-start; flex-direction: column; }
  .mc-form-panel__head p { text-align: left; }
  .mc-form-code { align-self: stretch; justify-content: center; }
  .mc-form-nav { top: .35rem; grid-template-columns: repeat(var(--mc-form-nav-columns, 5), auto); justify-content: flex-start; }
  .mc-form-nav a { min-width: auto; }
  .mc-form-nav a span { display: none; }
  .mc-form-panel__head, .mc-form-panel__body { padding: 1rem; }
  .mc-consent-list { grid-template-columns: 1fr; }
  .mc-form-actionbar { align-items: stretch; flex-direction: column; bottom: .35rem; }
  .mc-form-actionbar > div:last-child, .mc-form-actionbar .btn { flex: 1; }
}
@media (max-width: 399.98px) {
  .mc-form-panel__head, .mc-form-panel__body { padding: .85rem; }
  .mc-form-actionbar > div:last-child { display: grid !important; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-form-shell { scroll-behavior: auto; }
}

/* Agenda mensal com detalhamento do dia */
.mc-agenda-workspace {
  display: grid;
  grid-template-columns: minmax(330px, 420px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.mc-calendar-panel,
.mc-agenda-day-panel {
  border: 1px solid #dbe4ec !important;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.mc-calendar-panel { padding: 1rem; }
.mc-calendar-head {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1rem;
}
.mc-calendar-title {
  margin: 0;
  color: #172b3e;
  font-size: 1.05rem;
  font-weight: 750;
}
.mc-calendar-today {
  display: inline-block;
  margin-top: .18rem;
  color: #0c7480;
  font-size: .72rem;
  font-weight: 650;
  text-decoration: none;
}
.mc-calendar-nav {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #d8e2ea;
  border-radius: 9px;
  background: #fff;
  color: #355064;
  text-decoration: none;
}
.mc-calendar-nav:hover { border-color: #94b9c1; background: #f2f9f9; color: #0c7480; }
.mc-calendar-weekdays,
.mc-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.mc-calendar-weekdays span {
  padding: .35rem .1rem .55rem;
  color: #6c7f90;
  font-size: .68rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
.mc-calendar-grid { gap: .25rem; }
.mc-calendar-day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  min-height: 3.5rem;
  padding: .4rem .18rem .3rem;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #263c4f;
  text-decoration: none;
}
.mc-calendar-day:hover { border-color: #b9ced8; background: #f4f9fb; color: #122b3d; }
.mc-calendar-day.is-outside { color: #a1afbb; }
.mc-calendar-day.is-today { border-color: #84bfc2; }
.mc-calendar-day.is-selected { border-color: #137c89; background: #137c89; color: #fff; }
.mc-calendar-day-number { font-size: .8rem; font-weight: 680; line-height: 1.15; }
.mc-calendar-count {
  display: grid;
  place-items: center;
  min-width: 1.1rem;
  height: 1.1rem;
  margin-top: .2rem;
  padding: 0 .2rem;
  border-radius: 999px;
  background: #e9f3f5;
  color: #0c6670;
  font-size: .61rem;
  font-weight: 750;
}
.mc-calendar-day.is-selected .mc-calendar-count { background: rgba(255,255,255,.2); color: #fff; }
.mc-calendar-dots { display: flex; gap: .15rem; margin-top: .18rem; }
.mc-calendar-dots i,
.mc-calendar-legend i {
  display: inline-block;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
}
.mc-calendar-dots .is-confirmed,
.mc-calendar-legend .is-confirmed { background: #11875d; }
.mc-calendar-dots .is-scheduled,
.mc-calendar-legend .is-scheduled { background: #2563c7; }
.mc-calendar-dots .is-cancelled,
.mc-calendar-legend .is-cancelled { background: #c54b45; }
.mc-calendar-day.is-selected .mc-calendar-dots i { box-shadow: 0 0 0 1px rgba(255,255,255,.6); }
.mc-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  margin-top: .85rem;
  padding-top: .75rem;
  border-top: 1px solid #e6edf2;
  color: #687b8c;
  font-size: .65rem;
}
.mc-calendar-legend span { display: inline-flex; align-items: center; gap: .3rem; }
.mc-agenda-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  border-bottom: 1px solid #e4ebf0;
  background: #f8fafc;
}
.mc-agenda-day-label {
  display: block;
  color: #6c7e8f;
  font-size: .65rem;
  font-weight: 720;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.mc-agenda-day-head h2 { margin: .08rem 0 0; color: #172b3e; font-size: 1rem; font-weight: 750; }
.mc-calendar-nav:focus-visible,
.mc-calendar-today:focus-visible,
.mc-calendar-day:focus-visible { outline: 3px solid rgba(19,124,137,.25); outline-offset: 2px; }

@media (max-width: 1099.98px) {
  .mc-agenda-workspace { grid-template-columns: 1fr; }
  .mc-calendar-panel { max-width: 680px; }
}
@media (max-width: 575.98px) {
  .mc-calendar-panel { padding: .75rem; }
  .mc-calendar-grid { gap: .12rem; }
  .mc-calendar-day { min-height: 3.15rem; padding-inline: .1rem; }
  .mc-calendar-legend { gap: .35rem .55rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mc-calendar-day, .mc-calendar-nav { transition: none; }
}

/* ── Cards de seleção (tipo de item) ───────────────────────────── */
.mc-choice-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
}
.mc-choice-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s, transform .1s;
}
.mc-choice-card:hover { border-color: #14a697; transform: translateY(-1px); }
.mc-choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.mc-choice-card__ico {
  flex: 0 0 auto;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 12px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 1.35rem;
  transition: background .15s, color .15s;
}
.mc-choice-card__txt { display: flex; flex-direction: column; line-height: 1.25; }
.mc-choice-card__txt strong { font-size: .95rem; color: #1e293b; }
.mc-choice-card__txt small { color: #94a3b8; font-size: .78rem; }
.mc-choice-card__check {
  position: absolute; top: .6rem; right: .7rem;
  color: #14a697; font-size: 1.05rem;
  opacity: 0; transform: scale(.6);
  transition: opacity .15s, transform .15s;
}
.mc-choice-card:has(input:checked) {
  border-color: #14a697;
  background: linear-gradient(135deg, rgba(20,166,151,.08), rgba(12,134,120,.05));
  box-shadow: 0 6px 18px rgba(20,166,151,.18);
}
.mc-choice-card:has(input:checked) .mc-choice-card__ico { background: #14a697; color: #fff; }
.mc-choice-card:has(input:checked) .mc-choice-card__check { opacity: 1; transform: scale(1); }
.mc-choice-card:focus-within { outline: 2px solid rgba(20,166,151,.4); outline-offset: 2px; }

/* ── Kanban (quadro de fluxo com arrastar-e-soltar) ────────────── */
.mc-kanban {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .9rem;
  align-items: start;
}
.mc-kanban-col {
  background: #f4f7fa;
  border: 1px solid #e2e9f0;
  border-radius: 14px;
  padding: .65rem;
  min-height: 220px;
  transition: border-color .15s, background .15s;
}
.mc-kanban-col.is-alvo { border-color: #14a697; background: #eefaf8; }
.mc-kanban-col__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .25rem .4rem .6rem;
  font-weight: 700;
  font-size: .85rem;
  color: #334155;
}
.mc-kanban-col__head .badge { font-size: .7rem; }
.mc-kanban-body { display: flex; flex-direction: column; gap: .55rem; min-height: 120px; }
.mc-kanban-card {
  background: #fff;
  border: 1px solid #e2e9f0;
  border-left: 4px solid var(--mc-kanban-cor, #94a3b8);
  border-radius: 10px;
  padding: .6rem .7rem;
  cursor: grab;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
  transition: box-shadow .15s, transform .12s, opacity .15s;
}
.mc-kanban-card:hover { box-shadow: 0 8px 18px -10px rgba(15, 23, 42, .35); transform: translateY(-1px); }
.mc-kanban-card.is-arrastando { opacity: .45; transform: rotate(1.5deg); }
.mc-kanban-card.is-salvando { opacity: .6; pointer-events: none; }
.mc-kanban-card__titulo { font-weight: 600; font-size: .88rem; color: #1e293b; line-height: 1.25; }
.mc-kanban-card__meta { font-size: .74rem; color: #64748b; margin-top: .2rem; display: flex; flex-wrap: wrap; gap: .15rem .6rem; }
.mc-kanban-card__acoes { margin-top: .45rem; display: flex; gap: .35rem; }
.mc-kanban-vazio { text-align: center; color: #94a3b8; font-size: .78rem; padding: 1rem .4rem; }
@media (max-width: 767.98px) { .mc-kanban { grid-template-columns: 1fr; } }

/* ── Variantes semânticas de botão (design system) ─────────────── */
.mc-btn-success {
  background: linear-gradient(135deg, #16a34a, #15803d);
  color: #fff !important;
  border: 0;
  box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3);
}
.mc-btn-success:hover { filter: brightness(1.05); color: #fff; }
.mc-btn-danger {
  background: #fff;
  color: #b42318 !important;
  border: 1px solid #f1c0ba;
}
.mc-btn-danger:hover { background: #b42318; border-color: #b42318; color: #fff !important; }
.mc-btn-warning {
  background: #fff7e6;
  color: #92610a !important;
  border: 1px solid #f0d9a8;
}
.mc-btn-warning:hover { background: #f4b400; border-color: #f4b400; color: #fff !important; }

/* ── Wizard de formulário (uma etapa por vez) ──────────────────── */
.mc-wizard .mc-form-panel { display: none; }
.mc-wizard .mc-form-panel.is-atual { display: block; }
.mc-wizard .mc-form-panel.is-entrando { animation: mcWizardIn .32s ease both; }
@keyframes mcWizardIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
.mc-form-nav a.is-concluida span {
  background: #14a697;
  border-color: #14a697;
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .mc-wizard .mc-form-panel.is-entrando { animation: none; }
}

/* ── Cards de tema (personalização da empresa) ─────────────────── */
.mc-tema-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .6rem;
}
.mc-tema-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .7rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.mc-tema-card input { position: absolute; opacity: 0; pointer-events: none; }
.mc-tema-card:hover { border-color: #94a3b8; }
.mc-tema-card.is-ativo { border-color: #14a697; box-shadow: 0 4px 12px rgba(20,166,151,.18); }
.mc-tema-preview { display: inline-flex; border-radius: 8px; overflow: hidden; flex: 0 0 auto; }
.mc-tema-preview span { width: 16px; height: 26px; display: block; }
.mc-tema-nome { font-size: .82rem; font-weight: 600; color: #334155; }
.mc-tema-check { position: absolute; top: .35rem; right: .5rem; color: #14a697; font-size: .85rem; opacity: 0; transition: opacity .15s; }
.mc-tema-card.is-ativo .mc-tema-check { opacity: 1; }

/* ── Cabeçalho ordenável (tabelas) ─────────────────────────────── */
.mc-th-sort {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .15rem;
  white-space: nowrap;
}
.mc-th-sort:hover { color: #14a697; }
.mc-th-sort .bi { font-size: .65rem; color: #14a697; }

/* ── Botões de ação só-ícone (tabelas) ─────────────────────────── */
.mc-btn-icon {
  width: 34px;
  height: 31px;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
}
.mc-btn-icon.dropdown-toggle::after,
.mc-btn-icon-dropdown::after {
  display: none !important;
}
.mc-btn-icon.mc-btn-wa { color: #128c4b; border-color: #bfe8d0; }
.mc-btn-icon.mc-btn-wa:hover { background: #128c4b; border-color: #128c4b; color: #fff; }
.mc-btn-icon.disabled { opacity: .4; pointer-events: auto; cursor: not-allowed; }

/* ── Pills de tarja ────────────────────────────────────────────── */
.mc-tarja-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.mc-tarja-pill {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .85rem;
  border: 1.5px solid #e2e8f0; border-radius: 999px;
  background: #fff; cursor: pointer; font-size: .85rem; color: #475569;
  transition: border-color .15s, background .15s, color .15s;
}
.mc-tarja-pill input { position: absolute; opacity: 0; pointer-events: none; }
.mc-tarja-dot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.mc-tarja-pill:has(input:checked) { border-color: #14a697; background: rgba(20,166,151,.1); color: #0c8678; font-weight: 600; }
.mc-tarja-pill:focus-within { outline: 2px solid rgba(20,166,151,.4); outline-offset: 2px; }
