/* ===== Estar Plena — Design System ===== */
:root {
  /* Cores Principais - O Verde Elegante dos Botões e Títulos */
  --ep-primary:        #1B5E4A; /* Verde floresta profundo */
  --ep-primary-dark:   #144536;
  --ep-primary-light:  #DCE8E3; /* Um tom de menta pálido para hovers suaves */

  /* Cores Secundárias - Tons de Bege e Champagne da identidade */
  --ep-secondary:      #D4C4B5; 
  --ep-secondary-dark: #B8A695;

  /* Backgrounds - Off-white e Creme (conforme o fundo da imagem) */
  --ep-bg:             #FCF9F5; /* O tom creme clarinho predominante */
  --ep-bg-alt:         #F2EDE4; /* Bege suave para seções alternativas */
  --ep-bg-card:        #FFFFFF;

  /* Tipografia - Verde muito escuro para contraste premium */
  --ep-text:           #2A3B35; 
  --ep-text-muted:     #6E7A75;
  
  /* Interface e Bordas */
  --ep-border:         #E3DCD2;
  --ep-success:        #3D7A5E;
  --ep-danger:         #A34B43;
  --ep-warning:        #E1B13B; /* Tom das estrelas de avaliação */
  --ep-info:           #5B8694;

  /* Formas e Sombras - Agora com base no tom orgânico */
  --ep-radius:         30px; /* Bordas bem arredondadas como nos botões da foto */
  --ep-radius-sm:      8px;
  
  /* Sombra sutil em tom fendi/taupe */
  --ep-shadow:         0 4px 15px rgba(27, 94, 74, .06);
  --ep-shadow-lg:      0 10px 30px rgba(42, 59, 53, .10);
}

/* Reset & Base */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  background: var(--ep-bg);
  color: var(--ep-text);
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
}
a { color: var(--ep-primary); text-decoration: none; }
a:hover { color: var(--ep-primary-dark); }

/* ===== Navbar ===== */
.ep-navbar {
  background: linear-gradient(135deg, var(--ep-primary-dark) 0%, var(--ep-primary) 100%);
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  height: 60px;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.ep-navbar .brand {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .5px;
  margin-right: 2rem;
  white-space: nowrap;
}
.ep-navbar .brand span { color: var(--ep-secondary); }
.ep-nav-links {
  display: flex;
  gap: .25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.ep-nav-links a {
  color: rgba(255,255,255,.85);
  padding: .5rem .9rem;
  border-radius: var(--ep-radius-sm);
  font-weight: 500;
  font-size: .9rem;
  transition: all .2s;
  white-space: nowrap;
}
.ep-nav-links a:hover,
.ep-nav-links a.active {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.ep-nav-dropdown {
  position: relative;
}
.ep-nav-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border-radius: var(--ep-radius-sm);
  box-shadow: var(--ep-shadow-lg);
  min-width: 200px;
  display: none;
  z-index: 2000;
  border: 1px solid var(--ep-border);
  padding: .5rem 0;
  padding-top: calc(.5rem + 8px);
  margin-top: 0;
}
.ep-nav-dropdown:hover .dropdown-menu,
.ep-nav-dropdown.open .dropdown-menu { display: block; }
.ep-nav-dropdown .dropdown-menu a {
  color: var(--ep-text);
  padding: .5rem 1rem;
  display: block;
  font-size: .9rem;
}
.ep-nav-dropdown .dropdown-menu a:hover {
  background: var(--ep-bg-alt);
  color: var(--ep-primary);
}
.ep-nav-user {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.ep-nav-user span {
  color: rgba(255,255,255,.85);
  font-size: .85rem;
}
.ep-nav-user a {
  color: rgba(255,255,255,.75);
  font-size: .85rem;
  transition: color .2s;
}
.ep-nav-user a:hover { color: #fff; }

/* Hamburger */
.ep-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
  margin-right: .5rem;
}
.ep-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  margin: 5px 0;
  border-radius: 2px;
  transition: .3s;
}

/* ===== Layout ===== */
.ep-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.5rem;
}
.ep-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ep-primary-dark);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.ep-page-title::after {
  content: '';
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--ep-primary-light), transparent);
  margin-left: .5rem;
}

/* ===== Cards ===== */
.ep-card {
  background: var(--ep-bg-card);
  border-radius: var(--ep-radius);
  box-shadow: var(--ep-shadow);
  border: 1px solid var(--ep-border);
  overflow: hidden;
}
.ep-card-header {
  background: linear-gradient(135deg, var(--ep-bg-alt), var(--ep-bg));
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ep-border);
  font-weight: 600;
  color: var(--ep-primary-dark);
}
.ep-card-body { padding: 1.25rem; }

/* ===== Buttons ===== */
.btn-ep {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1.1rem;
  border-radius: var(--ep-radius-sm);
  font-size: .875rem;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  white-space: nowrap;
}
.btn-ep-primary {
  background: var(--ep-primary);
  color: #fff;
}
.btn-ep-primary:hover { background: var(--ep-primary-dark); color: #fff; }
.btn-ep-secondary {
  background: var(--ep-secondary);
  color: #fff;
}
.btn-ep-secondary:hover { background: var(--ep-secondary-dark); color: #fff; }
.btn-ep-outline {
  background: transparent;
  color: var(--ep-primary);
  border: 1px solid var(--ep-primary);
}
.btn-ep-outline:hover { background: var(--ep-primary); color: #fff; }
.btn-ep-danger {
  background: var(--ep-danger);
  color: #fff;
}
.btn-ep-danger:hover { background: #9b2e25; color: #fff; }
.btn-ep-success {
  background: var(--ep-success);
  color: #fff;
}
.btn-ep-sm { padding: .3rem .7rem; font-size: .8rem; }
.btn-ep-icon { padding: .35rem .5rem; }

/* ===== Forms ===== */
.ep-form-group { margin-bottom: 1rem; }
.ep-form-group label {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  color: var(--ep-text);
  margin-bottom: .35rem;
}
.ep-form-group label .req {
  color: var(--ep-danger);
  margin-left: 2px;
}
.ep-form-control {
  width: 100%;
  padding: .5rem .8rem;
  border: 1.5px solid var(--ep-border);
  border-radius: var(--ep-radius-sm);
  font-size: .9rem;
  color: var(--ep-text);
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  font-family: inherit;
}
.ep-form-control:focus {
  outline: none;
  border-color: var(--ep-primary);
  box-shadow: 0 0 0 3px rgba(139,94,109,.12);
}
.ep-form-control::placeholder { color: var(--ep-text-muted); }
select.ep-form-control { cursor: pointer; }
textarea.ep-form-control { resize: vertical; min-height: 80px; }
input[type="date"].ep-form-control { box-sizing: border-box; max-width: 100%; }

/* ===== Tables ===== */
.ep-table-wrap { overflow-x: auto; }
.ep-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
}
.ep-table th {
  background: var(--ep-bg-alt);
  color: var(--ep-primary-dark);
  font-weight: 600;
  padding: .75rem 1rem;
  text-align: left;
  border-bottom: 2px solid var(--ep-border);
  white-space: nowrap;
}
.ep-table td {
  padding: .65rem 1rem;
  border-bottom: 1px solid var(--ep-border);
  color: var(--ep-text);
  vertical-align: middle;
}
.ep-table tr:hover td { background: var(--ep-bg-alt); }
.ep-table .actions { white-space: nowrap; display: flex; gap: .3rem; }

/* Badges */
.ep-badge {
  display: inline-block;
  padding: .2rem .6rem;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 600;
}
.ep-badge-success { background: #d4edda; color: #1d6e3d; }
.ep-badge-danger  { background: #fde; color: #9b2e25; }
.ep-badge-warning { background: #fff3cd; color: #856404; }
.ep-badge-info    { background: #d0e8f5; color: #1a5276; }
.ep-badge-muted   { background: #ece8ee; color: var(--ep-text-muted); }

/* ===== Login ===== */
.ep-login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--ep-primary-dark) 0%, var(--ep-primary) 60%, var(--ep-secondary) 100%);
  padding: 1rem;
}
.ep-login-box {
  background: #fff;
  border-radius: var(--ep-radius);
  box-shadow: var(--ep-shadow-lg);
  padding: 2.5rem 2rem;
  width: 100%;
  max-width: 420px;
}
.ep-login-logo {
  text-align: center;
  margin-bottom: 1.5rem;
}
.ep-login-logo h1 {
  font-size: 1.8rem;
  color: var(--ep-primary);
  font-weight: 800;
  margin: 0;
}
.ep-login-logo h1 span { color: var(--ep-secondary); }
.ep-login-logo p {
  color: var(--ep-text-muted);
  font-size: .85rem;
  margin: .25rem 0 0;
}
.login-logo-img {
  max-height: 90px;
  max-width: 260px;
  width: auto;
  display: block;
  margin: 0 auto .5rem;
  object-fit: contain;
}
.brand-logo {
  height: 38px;
  max-width: 160px;
  width: auto;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
}

/* ===== Histórico do Cliente ===== */
.ep-historico-section { margin-top: 2rem; }
.ep-historico-titulo {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ep-primary-dark);
  margin-bottom: .75rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.ep-atend-card {
  background: #fff;
  border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius-sm);
  margin-bottom: .75rem;
  overflow: hidden;
  transition: box-shadow .2s;
}
.ep-atend-card:hover { box-shadow: var(--ep-shadow); }
.ep-atend-card-header {
  background: var(--ep-bg-alt);
  padding: .6rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  cursor: pointer;
  border-bottom: 1px solid var(--ep-border);
}
.ep-atend-card-header:hover { background: var(--ep-primary-light); }
.ep-atend-card-body {
  padding: .75rem 1rem;
  display: none;
}
.ep-atend-card.open .ep-atend-card-body { display: block; }
.ep-hist-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .4rem;
}
.ep-hist-chip {
  background: var(--ep-bg-alt);
  border: 1px solid var(--ep-border);
  border-radius: 20px;
  padding: .2rem .65rem;
  font-size: .78rem;
  color: var(--ep-text);
}
.ep-hist-chip.formula { background: #EEF4FF; border-color: #B0C8F0; color: #2563EB; }
.ep-hist-chip.proc    { background: #F0FFF4; border-color: #86EFAC; color: #166534; }
.ep-hist-chip.prod    { background: #FFF7ED; border-color: #FDC99A; color: #9A3412; }
.ep-btn-atend-iniciar {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: linear-gradient(135deg, var(--ep-primary-dark), var(--ep-primary));
  color: #fff;
  padding: .75rem 1.5rem;
  border-radius: var(--ep-radius-sm);
  font-weight: 700;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(27,94,74,.25);
  transition: all .2s;
  width: 100%;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.ep-btn-atend-iniciar:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(27,94,74,.35);
  color: #fff;
}

/* ===== Webcam Modal ===== */
#webcam-video { width:100%; border-radius:8px; background:#000; }
.webcam-btns { display:flex; gap:.5rem; justify-content:center; margin-top:.75rem; }

/* ===== Dashboard ===== */
.ep-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.ep-stat-card {
  background: var(--ep-bg-card);
  border-radius: var(--ep-radius);
  padding: 1.25rem;
  box-shadow: var(--ep-shadow);
  border: 1px solid var(--ep-border);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.ep-stat-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}
.ep-stat-icon.rose   { background: rgba(139,94,109,.12); color: var(--ep-primary); }
.ep-stat-icon.gold   { background: rgba(196,154,108,.15); color: var(--ep-secondary-dark); }
.ep-stat-icon.green  { background: rgba(91,138,114,.12); color: var(--ep-success); }
.ep-stat-icon.blue   { background: rgba(74,127,165,.12); color: var(--ep-info); }
.ep-stat-value {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--ep-text);
  line-height: 1;
}
.ep-stat-label {
  font-size: .8rem;
  color: var(--ep-text-muted);
  margin-top: .2rem;
}

/* ===== Alerts ===== */
.alert {
  padding: .75rem 1rem;
  border-radius: var(--ep-radius-sm);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  font-size: .9rem;
}
.alert-success { background: #d4edda; color: #1d6e3d; border: 1px solid #b8ddc8; }
.alert-danger  { background: #fde8e8; color: #7b1a1a; border: 1px solid #f5c6cb; }
.alert-warning { background: #fff3cd; color: #7d5a00; border: 1px solid #ffeaa0; }
.alert-info    { background: #d0e8f5; color: #1a3d5c; border: 1px solid #b0d4e8; }
.alert .btn-close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  opacity: .6;
  padding: 0;
  flex-shrink: 0;
}
.alert .btn-close:hover { opacity: 1; }

/* ===== Modals ===== */
.ep-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(45,27,46,.5);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 3000;
  padding: 1rem;
}
.ep-modal-overlay.open { display: flex; }
.ep-modal {
  background: #fff;
  border-radius: var(--ep-radius);
  box-shadow: var(--ep-shadow-lg);
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  animation: modalIn .2s ease;
}
.ep-modal-lg { max-width: 900px; }
.ep-modal-xl { max-width: 1100px; }
@keyframes modalIn {
  from { transform: translateY(-20px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.ep-modal-header {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ep-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--ep-bg-alt);
}
.ep-modal-header h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--ep-primary-dark);
}
.ep-modal-close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.4rem;
  color: var(--ep-text-muted);
  line-height: 1;
  padding: 0 .25rem;
}
.ep-modal-close:hover { color: var(--ep-danger); }
.ep-modal-body { padding: 1.25rem; }
.ep-modal-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid var(--ep-border);
  display: flex;
  gap: .5rem;
  justify-content: flex-end;
}

/* ===== Foto Crop ===== */
.crop-preview-wrap {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
.crop-preview-wrap img { width: 100%; display: block; border-radius: var(--ep-radius-sm); }
.foto-thumb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--ep-border);
}
.foto-thumb-sq {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--ep-radius-sm);
  border: 2px solid var(--ep-border);
}

/* ===== Search bar ===== */
.ep-search-bar {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  align-items: flex-end;
}
.ep-search-bar .ep-form-control { flex: 1; min-width: 200px; }

/* ===== Pagination ===== */
.pagination { display: flex; gap: .25rem; list-style: none; padding: 0; margin: 1rem 0; flex-wrap: wrap; }
.page-item .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--ep-radius-sm);
  border: 1px solid var(--ep-border);
  color: var(--ep-primary);
  font-size: .85rem;
  transition: all .2s;
  background: #fff;
}
.page-item.active .page-link { background: var(--ep-primary); color: #fff; border-color: var(--ep-primary); }
.page-item .page-link:hover { background: var(--ep-bg-alt); }

/* ===== Financeiro ===== */
.ep-finance-row {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
  padding: .5rem;
  border-radius: var(--ep-radius-sm);
  border: 1px solid var(--ep-border);
  margin-bottom: .5rem;
  background: var(--ep-bg);
}
.ep-total-box {
  background: var(--ep-bg-alt);
  border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius);
  padding: 1rem;
  text-align: right;
}
.ep-total-box .valor { font-size: 1.5rem; font-weight: 700; color: var(--ep-primary-dark); }

/* ===== Fase cards ===== */
.ep-fase-card {
  border: 1.5px solid var(--ep-primary-light);
  border-radius: var(--ep-radius);
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.ep-fase-header {
  background: linear-gradient(135deg, var(--ep-bg-alt), var(--ep-bg));
  color: var(--ep-primary-dark);
  border-bottom: 1px solid var(--ep-border);
  padding: .75rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.ep-fase-header h4 { margin: 0; font-size: 1rem; }
.ep-fase-body { padding: 1rem; }

/* ===== Tabs ===== */
.ep-tabs { display: flex; gap: 0; border-bottom: 2px solid var(--ep-border); margin-bottom: 1.25rem; overflow-x: auto; }
.ep-tab-btn {
  padding: .6rem 1.1rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ep-text-muted);
  font-size: .9rem;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: .2s;
}
.ep-tab-btn.active { color: var(--ep-primary); border-bottom-color: var(--ep-primary); }
.ep-tab-panel { display: none; }
.ep-tab-panel.active { display: block; }

/* ===== Autocomplete ===== */
.autocomplete-wrap { position: relative; }
.autocomplete-list {
  position: fixed;
  background: #fff;
  border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius-sm);
  z-index: 9000;
  max-height: 220px;
  overflow-y: auto;
  box-shadow: var(--ep-shadow-lg);
  display: none;
  min-width: 200px;
}
.autocomplete-list.open { display: block; }
/* Garantir que o overflow das tabelas não corte o dropdown */
.ep-table-wrap { overflow-x: auto; overflow-y: visible; }
.autocomplete-item {
  padding: .5rem .85rem;
  cursor: pointer;
  font-size: .875rem;
  color: var(--ep-text);
}
.autocomplete-item:hover, .autocomplete-item.selected { background: var(--ep-bg-alt); }

/* ===== Navigation arrows ===== */
.ep-record-nav {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  color: var(--ep-text-muted);
}

/* ===== Grid helpers ===== */
.ep-grid { display: grid; gap: 1rem; }
.ep-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ep-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ep-grid-4 { grid-template-columns: repeat(4, 1fr); }

/* ===== Campos de fase (proc/form/prod) ===== */
.ep-fase-campos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}
.ep-fase-campos > :last-child {
  grid-column: 1 / -1;
}
@media (max-width: 600px) {
  .ep-fase-campos { grid-template-columns: 1fr; }
  .ep-fase-campos > :last-child { grid-column: auto; }
}

/* ===== Responsivo ===== */
@media (max-width: 768px) {
  .ep-dashboard-container { display: flex; flex-direction: column; }
  .ep-acesso-rapido { order: -1; }
  .ep-hamburger { display: block; }
  .ep-nav-links {
    display: none;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: var(--ep-primary-dark);
    flex-direction: column;
    padding: .5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
  }
  .ep-nav-links.open { display: flex; }
  .ep-nav-dropdown .dropdown-menu {
    position: static;
    box-shadow: none;
    border: none;
    background: rgba(255,255,255,.1);
  }
  .ep-nav-dropdown .dropdown-menu a { color: rgba(255,255,255,.85); }
  .ep-nav-dropdown .dropdown-menu a:hover { background: rgba(255,255,255,.15); color: #fff; }
  .ep-grid-2, .ep-grid-3, .ep-grid-4 { grid-template-columns: 1fr; }
  .ep-dashboard-grid { grid-template-columns: repeat(2, 1fr); }
  .ep-container { padding: 1rem .75rem; }
  .ep-table th, .ep-table td { padding: .5rem .6rem; font-size: .8rem; }
  .ep-modal { max-width: 100%; margin: .5rem; }
}
@media (max-width: 480px) {
  .ep-dashboard-grid { grid-template-columns: 1fr; }
  .ep-login-box { padding: 1.75rem 1.25rem; }
}

/* ===== Utilities ===== */
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}
.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}
.text-muted{color:var(--ep-text-muted)}.text-danger{color:var(--ep-danger)}
.text-success{color:var(--ep-success)}.text-center{text-align:center}
.fw-bold{font-weight:700}.fs-sm{font-size:.85rem}
.w-100{width:100%}.hidden{display:none!important}
.flex-wrap{flex-wrap:wrap}

/* ===== Botão varinha IA ===== */
.btn-ia-revisar {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .2rem .55rem;
  background: none;
  border: 1px solid var(--ep-secondary-dark);
  border-radius: var(--ep-radius-sm);
  color: var(--ep-primary);
  font-size: .8rem;
  cursor: pointer;
  line-height: 1.4;
  transition: background .15s, color .15s, border-color .15s;
  white-space: nowrap;
}
.btn-ia-revisar:hover {
  background: var(--ep-primary-light);
  border-color: var(--ep-primary);
  color: var(--ep-primary-dark);
}
.btn-ia-revisar.btn-ia-inline {
  padding: .25rem .45rem;
}
@media (max-width: 600px) {
  #ia-resultado > div { grid-template-columns: 1fr; }
}
