/*
 * NES Premium Components — Definitivo
 * Escopo: body.nes-premium-active
 * ---------------------------------------------------------------- */

/* ── Sidebar: nav premium ──────────────────────────────────────── */
body.nes-premium-active #np-sidebar-nav {
  display: flex;
  flex-direction: column;
  padding: 8px 0 4px;
  flex-shrink: 0;
}

/* Botão mobile hamburguer */
body.nes-premium-active .np-mobile-btn {
  display: none;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border-radius: 6px;
  border: 0.5px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.09);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
}

/* Grupo do menu */
body.nes-premium-active .np-group {
  padding: 0 0 4px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}

body.nes-premium-active .np-group:last-child {
  border-bottom: none;
}

/* Rótulo de grupo */
body.nes-premium-active .np-group-label {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.35);
  padding: 9px 12px 3px;
  user-select: none;
}

/* Item de navegação */
body.nes-premium-active .np-item {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  background: none;
  border: none;
  border-left: 2px solid transparent;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  font-weight: 500;
  padding: 7px 11px 7px 10px;
  cursor: pointer;
  text-align: left;
  transition: background .1s, color .1s, border-color .12s;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.nes-premium-active .np-item i {
  font-size: 14px;
  flex-shrink: 0;
  opacity: .8;
}

body.nes-premium-active .np-item:hover {
  background: rgba(255,255,255,.06);
  color: #fff;
}

body.nes-premium-active .np-item.active {
  background: rgba(0,137,123,.18);
  border-left-color: #00897b;
  color: #fff;
  font-weight: 600;
}

body.nes-premium-active .np-item.active i {
  opacity: 1;
}

/* Badge de notificação no item */
body.nes-premium-active .np-item-badge {
  margin-left: auto;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 8px;
  flex-shrink: 0;
}

/* Paciente ativo na sidebar */
body.nes-premium-active #np-sidebar-patient {
  margin: 6px 8px;
  padding: 7px 9px;
  background: rgba(0,137,123,.16);
  border: 0.5px solid rgba(0,137,123,.35);
  border-radius: 8px;
  display: none;
  cursor: pointer;
  transition: background .12s;
}

body.nes-premium-active #np-sidebar-patient.visible {
  display: block;
}

body.nes-premium-active #np-sidebar-patient:hover {
  background: rgba(0,137,123,.24);
}

body.nes-premium-active .np-sp-label {
  font-size: 9px;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  margin-bottom: 2px;
}

body.nes-premium-active .np-sp-name {
  font-size: 11.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.nes-premium-active .np-sp-meta {
  font-size: 10px;
  color: rgba(255,255,255,.55);
  margin-top: 1px;
}

/* Item de paciente na lista */
body.nes-premium-active #app-screen .patient-item {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 7px 10px;
  border: none;
  border-bottom: 0.5px solid rgba(255,255,255,.06);
  background: transparent;
  color: rgba(255,255,255,.72);
  cursor: pointer;
  text-align: left;
  transition: background .1s;
}

body.nes-premium-active #app-screen .patient-item:hover {
  background: rgba(255,255,255,.06);
}

body.nes-premium-active #app-screen .patient-item.active {
  background: rgba(0,137,123,.16) !important;
  border-left: 2px solid #00897b !important;
}

body.nes-premium-active #app-screen .patient-item strong,
body.nes-premium-active .patient-item-text strong,
body.nes-premium-active .patient-item-body strong {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.nes-premium-active #app-screen .patient-item span,
body.nes-premium-active .patient-item-text span,
body.nes-premium-active .patient-item-body span {
  display: block;
  font-size: 10px;
  color: rgba(255,255,255,.5);
}

/* ── Prontuário — header ───────────────────────────────────────── */
body.nes-premium-active .prontuario-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--np-white);
  border-bottom: 0.5px solid var(--np-border);
  flex-wrap: wrap;
}

body.nes-premium-active .prontuario-header h2 {
  font-size: 15px;
  font-weight: 700;
  color: #0c2340;
  margin: 0 0 2px;
}

body.nes-premium-active .prontuario-header p {
  font-size: 11px;
  color: #64748b;
  margin: 0;
}

body.nes-premium-active .prontuario-header-actions {
  margin-left: auto;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

/* Botões do prontuário header */
body.nes-premium-active .prontuario-header-actions .btn {
  padding: 5px 11px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 600;
}

body.nes-premium-active .prontuario-header-actions .btn-outline {
  background: var(--np-white);
  border: 0.5px solid #cbd5e1;
  color: #334155;
}

body.nes-premium-active .prontuario-header-actions .btn-outline:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}

body.nes-premium-active .prontuario-header-actions .btn-primary {
  background: #0c2340;
  border-color: #0c2340;
  color: #fff;
}

body.nes-premium-active .prontuario-header-actions .btn-primary:hover {
  background: var(--np-teal);
  border-color: var(--np-teal);
}

/* ── Prontuário — abas ─────────────────────────────────────────── */
body.nes-premium-active .prontuario-tabs {
  background: var(--np-white);
  border-bottom: 0.5px solid var(--np-border);
  position: sticky;
  top: 0;
  z-index: 10;
}

body.nes-premium-active .tabs-list {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 0 12px;
  gap: 0;
}

body.nes-premium-active .tabs-list::-webkit-scrollbar { display: none; }

body.nes-premium-active .tab-btn {
  flex-shrink: 0;
  padding: 9px 13px;
  border: none;
  border-bottom: 2px solid transparent;
  background: none;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: color .12s, border-color .12s;
}

body.nes-premium-active .tab-btn:hover { color: #0c2340; }

body.nes-premium-active .tab-btn.active {
  color: #00897b;
  border-bottom-color: #00897b;
  font-weight: 600;
}

/* ── Prontuário — body / data cards ───────────────────────────── */
body.nes-premium-active .prontuario-body {
  padding: 16px;
  background: var(--np-gray-bg);
}

body.nes-premium-active .data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

/* ── Cards genéricos ───────────────────────────────────────────── */
body.nes-premium-active .nes-clinico-panel,
body.nes-premium-active .nes-clinico-item,
body.nes-premium-active .validacao-item,
body.nes-premium-active .audit-log-item {
  background: var(--np-white);
  border: 0.5px solid var(--np-border);
  border-radius: 10px;
  padding: 12px 14px;
  box-shadow: var(--np-shadow-sm);
}

/* ── Workspace NES — grid de cards agrupados ───────────────────── */
body.nes-premium-active #np-nes-workspace {
  padding: 16px;
}

body.nes-premium-active .np-ws-header {
  margin-bottom: 18px;
}

body.nes-premium-active .np-ws-header h2 {
  font-size: 17px;
  font-weight: 700;
  color: #0c2340;
  margin: 0 0 3px;
}

body.nes-premium-active .np-ws-header p {
  font-size: 12px;
  color: #64748b;
  margin: 0;
}

body.nes-premium-active .np-ws-section {
  margin-bottom: 22px;
}

body.nes-premium-active .np-ws-section-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #94a3b8;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 0.5px solid var(--np-border);
}

body.nes-premium-active .np-ws-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 8px;
}

body.nes-premium-active .np-ws-card {
  background: var(--np-white);
  border: 0.5px solid var(--np-border);
  border-radius: 10px;
  padding: 13px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  transition: box-shadow .12s, border-color .12s, transform .12s;
  position: relative;
}

body.nes-premium-active .np-ws-card:hover {
  border-color: #b0cde8;
  box-shadow: 0 3px 12px rgba(12,35,64,.1);
  transform: translateY(-1px);
}

body.nes-premium-active .np-ws-card-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  flex-shrink: 0;
}

body.nes-premium-active .np-ws-card-icon i {
  font-size: 16px;
}

body.nes-premium-active .np-ws-card h4 {
  font-size: 12px;
  font-weight: 700;
  color: #0c2340;
  margin: 0;
  line-height: 1.3;
}

body.nes-premium-active .np-ws-card p {
  font-size: 10.5px;
  color: #64748b;
  margin: 0;
  line-height: 1.45;
  flex: 1;
}

body.nes-premium-active .np-ws-card-btn {
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  background: #0c2340;
  color: #fff;
  border: none;
  cursor: pointer;
  align-self: flex-start;
  transition: background .12s;
}

body.nes-premium-active .np-ws-card-btn:hover {
  background: #00897b;
}

body.nes-premium-active .np-ws-card.destaque {
  border-color: #b0d8d4;
  background: linear-gradient(135deg, #f0fdfa 0%, #fff 100%);
}

body.nes-premium-active .np-ws-card.destaque .np-ws-card-btn {
  background: #00897b;
}

body.nes-premium-active .np-ws-card.destaque .np-ws-card-btn:hover {
  background: #00695c;
}

body.nes-premium-active .np-ws-card-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 8.5px;
  font-weight: 700;
  background: #f59e0b;
  color: #fff;
  border-radius: 3px;
  padding: 1px 5px;
}

/* Ícones por categoria */
body.nes-premium-active .np-icon-teal { background: #e0f2f1; color: #00695c; }
body.nes-premium-active .np-icon-blue { background: #eff6ff; color: #1d4ed8; }
body.nes-premium-active .np-icon-amber { background: #fffbeb; color: #92400e; }
body.nes-premium-active .np-icon-violet { background: #f5f3ff; color: #5b21b6; }
body.nes-premium-active .np-icon-rose { background: #fff1f2; color: #9f1239; }
body.nes-premium-active .np-icon-navy { background: #eff6ff; color: #0c2340; }

/* ── Dashboard cards ───────────────────────────────────────────── */
body.nes-premium-active #dashboard-view {
  padding: 16px 18px 60px !important;
}

/* ── Modals ────────────────────────────────────────────────────── */
body.nes-premium-active .modal {
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.22);
}

body.nes-premium-active .modal-header {
  padding: 16px 18px 12px;
  border-bottom: 0.5px solid var(--np-border);
}

body.nes-premium-active .modal-title {
  font-size: 15px;
  font-weight: 700;
  color: #0c2340;
}

/* ── Avatar (prontuário) ───────────────────────────────────────── */
body.nes-premium-active .avatar.avatar-teal {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, #0c2340, #00897b);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

/* ── Módulo NES original — ocultar quando workspace premium ativo */
body.nes-premium-active #metodo-nes-view .nes-module-grid.hidden-by-premium {
  display: none !important;
}

/* ── Empty state ───────────────────────────────────────────────── */
body.nes-premium-active .farm-empty {
  color: #94a3b8;
}

body.nes-premium-active .farm-empty p {
  font-size: 12px;
}

/* ── Serviços view ─────────────────────────────────────────────── */
body.nes-premium-active #servicos-view {
  padding: 16px 18px !important;
}

/* ── Botões globais ────────────────────────────────────────────── */
body.nes-premium-active .btn.btn-primary {
  background: #0c2340;
  border-color: #0c2340;
  border-radius: 7px;
  font-weight: 600;
}

body.nes-premium-active .btn.btn-primary:hover {
  background: #00897b;
  border-color: #00897b;
}

body.nes-premium-active .btn.btn-outline {
  border-radius: 7px;
  font-weight: 600;
}

body.nes-premium-active .btn.btn-sm {
  font-size: 11px;
  padding: 5px 10px;
}

/* ══════════════════════════════════════════════════════════════════
   FASE 2 — Gaps identificados na auditoria
   ══════════════════════════════════════════════════════════════════ */

/* ── Tabelas de dados (exames, medicamentos, labs, histórico) ─────── */
body.nes-premium-active table,
body.nes-premium-active .np-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

body.nes-premium-active table th,
body.nes-premium-active .np-th {
  background: #0c2340;
  color: rgba(255,255,255,.85);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 9px 12px;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.nes-premium-active table td,
body.nes-premium-active .np-td {
  padding: 8px 12px;
  border-bottom: 0.5px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  vertical-align: middle;
}

body.nes-premium-active table tbody tr:hover,
body.nes-premium-active .np-tr:hover {
  background: #f0f9ff;
}

body.nes-premium-active table tbody tr:last-child td {
  border-bottom: none;
}

body.nes-premium-active table tbody tr:nth-child(even) {
  background: #fafbfc;
}

body.nes-premium-active table tbody tr:nth-child(even):hover {
  background: #f0f9ff;
}

/* Badge inline em tabela */
body.nes-premium-active table .badge,
body.nes-premium-active table .chip {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
}

/* ── Dashboard cards — colorização navy/teal ──────────────────────── */
body.nes-premium-active #dashboard-view {
  padding: 16px 18px 60px !important;
}

/* Cards de estatísticas */
body.nes-premium-active .stat-card,
body.nes-premium-active .nes-stat-card,
body.nes-premium-active .dashboard-stat,
body.nes-premium-active .nes-resumo-card {
  background: #fff;
  border: 0.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  transition: box-shadow .12s;
}

body.nes-premium-active .stat-card:hover,
body.nes-premium-active .nes-stat-card:hover {
  box-shadow: 0 4px 12px rgba(12,35,64,.1);
}

/* Números de destaque nos stats */
body.nes-premium-active .stat-number,
body.nes-premium-active .nes-stat-value,
body.nes-premium-active .stat-value {
  font-size: 26px;
  font-weight: 700;
  color: #0c2340;
  line-height: 1;
}

body.nes-premium-active .stat-label,
body.nes-premium-active .nes-stat-label {
  font-size: 11px;
  color: #64748b;
  font-weight: 500;
  margin-top: 2px;
}

/* Ícone de stat */
body.nes-premium-active .stat-icon,
body.nes-premium-active .nes-stat-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
}

body.nes-premium-active .stat-icon.teal,
body.nes-premium-active .nes-stat-icon.teal   { background: #e0f2f1; color: #00695c; }
body.nes-premium-active .stat-icon.navy,
body.nes-premium-active .nes-stat-icon.navy   { background: #eff6ff; color: #0c2340; }
body.nes-premium-active .stat-icon.amber,
body.nes-premium-active .nes-stat-icon.amber  { background: #fffbeb; color: #92400e; }
body.nes-premium-active .stat-icon.rose,
body.nes-premium-active .nes-stat-icon.rose   { background: #fff1f2; color: #9f1239; }

/* Grid do dashboard */
body.nes-premium-active .dashboard-grid,
body.nes-premium-active .nes-dashboard-grid,
body.nes-premium-active .stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

/* ── Alertas clínicos — visibilidade máxima ───────────────────────── */
body.nes-premium-active .alerta-critico,
body.nes-premium-active .alert-danger,
body.nes-premium-active .alerta-alergia,
body.nes-premium-active .alergia-alert {
  background: rgba(239,68,68,.08) !important;
  border: 1px solid rgba(239,68,68,.35) !important;
  border-left: 4px solid #ef4444 !important;
  border-radius: 8px;
  padding: 10px 14px;
  color: #991b1b;
}

body.nes-premium-active .alerta-critico .alerta-titulo,
body.nes-premium-active .alerta-critico strong {
  color: #dc2626;
  font-weight: 700;
}

body.nes-premium-active .alerta-aviso,
body.nes-premium-active .alert-warning,
body.nes-premium-active .interacao-moderada {
  background: rgba(245,158,11,.08) !important;
  border: 1px solid rgba(245,158,11,.3) !important;
  border-left: 4px solid #f59e0b !important;
  border-radius: 8px;
  padding: 10px 14px;
  color: #78350f;
}

body.nes-premium-active .alerta-info,
body.nes-premium-active .alert-info {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-left: 4px solid #3b82f6 !important;
  border-radius: 8px;
  padding: 10px 14px;
  color: #1e40af;
}

body.nes-premium-active .alerta-sucesso,
body.nes-premium-active .alert-success {
  background: rgba(0,137,123,.07) !important;
  border: 1px solid rgba(0,137,123,.3) !important;
  border-left: 4px solid #00897b !important;
  border-radius: 8px;
  padding: 10px 14px;
  color: #00695c;
}

/* ── Formulários / Inputs com focus teal ─────────────────────────── */
body.nes-premium-active input[type="text"]:focus,
body.nes-premium-active input[type="email"]:focus,
body.nes-premium-active input[type="password"]:focus,
body.nes-premium-active input[type="number"]:focus,
body.nes-premium-active input[type="date"]:focus,
body.nes-premium-active input[type="tel"]:focus,
body.nes-premium-active select:focus,
body.nes-premium-active textarea:focus {
  border-color: #00897b !important;
  box-shadow: 0 0 0 3px rgba(0,137,123,.12) !important;
  outline: none !important;
}

body.nes-premium-active input[readonly],
body.nes-premium-active input[disabled],
body.nes-premium-active select[disabled],
body.nes-premium-active textarea[readonly] {
  background: #f8fafc !important;
  color: #64748b !important;
  cursor: not-allowed;
}

/* Labels premium */
body.nes-premium-active .form-label,
body.nes-premium-active label.form-label,
body.nes-premium-active .nes-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #475569;
  margin-bottom: 4px;
  display: block;
}

/* ── Medicamentos / Receituário — cards de prescrição ─────────────── */
body.nes-premium-active .medicamento-item,
body.nes-premium-active .prescricao-item,
body.nes-premium-active .nes-med-card,
body.nes-premium-active .receita-item {
  background: #fff;
  border: 0.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  transition: border-color .12s;
}

body.nes-premium-active .medicamento-item:hover,
body.nes-premium-active .prescricao-item:hover {
  border-color: #b0cde8;
}

body.nes-premium-active .med-nome,
body.nes-premium-active .prescricao-nome,
body.nes-premium-active .nes-med-nome {
  font-size: 13px;
  font-weight: 700;
  color: #0c2340;
}

body.nes-premium-active .med-posologia,
body.nes-premium-active .prescricao-posologia {
  font-size: 11.5px;
  color: #64748b;
  margin-top: 2px;
}

/* Botão de impressão de receituário — destaque */
body.nes-premium-active .btn-imprimir-receita,
body.nes-premium-active #btn-imprimir-receituario,
body.nes-premium-active .receituario-print-btn {
  background: #00897b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 7px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 8px 16px !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.nes-premium-active .btn-imprimir-receita:hover,
body.nes-premium-active #btn-imprimir-receituario:hover {
  background: #00695c !important;
}

/* ── Exames — cards de resultado ──────────────────────────────────── */
body.nes-premium-active .exame-item,
body.nes-premium-active .nes-exame-card,
body.nes-premium-active .lab-result-item {
  background: #fff;
  border: 0.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 8px;
}

body.nes-premium-active .exame-nome,
body.nes-premium-active .lab-nome {
  font-size: 12.5px;
  font-weight: 700;
  color: #0c2340;
}

body.nes-premium-active .exame-resultado,
body.nes-premium-active .lab-resultado {
  font-size: 11.5px;
  color: #334155;
  margin-top: 3px;
}

body.nes-premium-active .exame-data,
body.nes-premium-active .lab-data {
  font-size: 10px;
  color: #94a3b8;
}

/* Resultado fora do range */
body.nes-premium-active .exame-alterado,
body.nes-premium-active .lab-alterado {
  color: #dc2626 !important;
  font-weight: 700;
}

/* ── Declarações — cards padronizados ────────────────────────────── */
body.nes-premium-active .declaracao-item,
body.nes-premium-active .nes-declaracao-card {
  background: #fff;
  border: 0.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

/* ── Chips / Tags genéricos ───────────────────────────────────────── */
body.nes-premium-active .chip,
body.nes-premium-active .tag,
body.nes-premium-active .badge-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  border: 0.5px solid rgba(0,0,0,.1);
  white-space: nowrap;
}

body.nes-premium-active .chip-teal  { background: #e0f2f1; color: #00695c; border-color: #b2dfdb; }
body.nes-premium-active .chip-navy  { background: #eff6ff; color: #0c2340; border-color: #bfdbfe; }
body.nes-premium-active .chip-red   { background: rgba(239,68,68,.1); color: #dc2626; border-color: rgba(239,68,68,.3); }
body.nes-premium-active .chip-amber { background: #fffbeb; color: #92400e; border-color: #fde68a; }
body.nes-premium-active .chip-gray  { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }

/* ── Seções com título e separador ───────────────────────────────── */
body.nes-premium-active .section-title,
body.nes-premium-active .nes-section-title,
body.nes-premium-active .module-title {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #94a3b8;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 0.5px solid #e2e8f0;
}

/* ── Método NES — melhor visualização ────────────────────────────── */
body.nes-premium-active .nes-hub-card,
body.nes-premium-active .metodo-nes-card {
  background: #fff;
  border: 0.5px solid #e2e8f0;
  border-radius: 10px;
  padding: 13px 14px;
  cursor: pointer;
  transition: box-shadow .12s, border-color .12s;
}

body.nes-premium-active .nes-hub-card:hover,
body.nes-premium-active .metodo-nes-card:hover {
  border-color: #00897b;
  box-shadow: 0 3px 12px rgba(0,137,123,.15);
}

/* ── Impressão ────────────────────────────────────────────────────── */
@media print {
  body.nes-premium-active #np-sidebar-nav,
  body.nes-premium-active #paciente-ativo-bar .np-pbar-actions,
  body.nes-premium-active .farm-sidebar,
  body.nes-premium-active .np-mobile-btn {
    display: none !important;
  }

  body.nes-premium-active .farm-layout {
    grid-template-columns: 1fr !important;
    margin-top: 0 !important;
  }

  body.nes-premium-active #paciente-ativo-bar {
    position: static !important;
    box-shadow: none !important;
  }
}

/* ── Scrollbar refinada no conteúdo principal ─────────────────────── */
body.nes-premium-active .farm-main::-webkit-scrollbar,
body.nes-premium-active .main-content::-webkit-scrollbar {
  width: 4px;
}

body.nes-premium-active .farm-main::-webkit-scrollbar-track,
body.nes-premium-active .main-content::-webkit-scrollbar-track {
  background: transparent;
}

body.nes-premium-active .farm-main::-webkit-scrollbar-thumb,
body.nes-premium-active .main-content::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

/* ── Loading / Skeleton ───────────────────────────────────────────── */
body.nes-premium-active .nes-loading,
body.nes-premium-active .skeleton {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: np-skeleton-wave 1.5s infinite;
  border-radius: 6px;
}

@keyframes np-skeleton-wave {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
