/* ===============================
   Temas intensos por seccion
   Clases: .theme-doc, .theme-pac, .theme-comp, .theme-prep
   =============================== */

/* ---- BASE (comun) ---- */
.theme-doc .card, .theme-pac .card, .theme-comp .card, .theme-prep .card,
.theme-doc .pane, .theme-pac .pane, .theme-comp .pane, .theme-prep .pane {
  border-radius: 14px;
  overflow: hidden;
  border: none;
}

/* Inputs y controles */
.theme-doc .input, .theme-doc select, .theme-doc textarea,
.theme-pac .input, .theme-pac select, .theme-pac textarea,
.theme-comp .input, .theme-comp select, .theme-comp textarea,
.theme-prep .input, .theme-prep select, .theme-prep textarea {
  border: 1px solid rgba(0,0,0,.15);
  background: rgba(255,255,255,.92);
}
.theme-doc .input:focus, .theme-doc select:focus, .theme-doc textarea:focus,
.theme-pac .input:focus, .theme-pac select:focus, .theme-pac textarea:focus,
.theme-comp .input:focus, .theme-comp select:focus, .theme-comp textarea:focus,
.theme-prep .input:focus, .theme-prep select:focus, .theme-prep textarea:focus {
  outline: none;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.6);
}

/* Botones */
.theme-doc .btn, .theme-pac .btn, .theme-comp .btn, .theme-prep .btn {
  border: none;
  font-weight: 600;
  box-shadow: 0 1px 0 rgba(0,0,0,.05);
}

/* Tablas */
.theme-doc .table thead th,
.theme-pac .table thead th,
.theme-comp .table thead th,
.theme-prep .table thead th {
  color: #0f172a;
  font-weight: 700;
  border-bottom: 2px solid rgba(0,0,0,.15);
}
.theme-doc .table tbody tr:nth-child(odd),
.theme-pac .table tbody tr:nth-child(odd),
.theme-comp .table tbody tr:nth-child(odd),
.theme-prep .table tbody tr:nth-child(odd) { background: rgba(255,255,255,.55); }
.theme-doc .table tbody tr:nth-child(even),
.theme-pac .table tbody tr:nth-child(even),
.theme-comp .table tbody tr:nth-child(even),
.theme-prep .table tbody tr:nth-child(even) { background: rgba(255,255,255,.35); }
.theme-doc .table tbody tr:hover,
.theme-pac .table tbody tr:hover,
.theme-comp .table tbody tr:hover,
.theme-prep .table tbody tr:hover { filter: brightness(0.97); }

/* ===== DOCTORES (verde intenso) ===== */
.theme-doc .card, .theme-doc .pane {
  background: linear-gradient(180deg, #C7F9E5 0%, #9EF2D3 100%);
}
.theme-doc h2, .theme-doc h3, .theme-doc .label { color: #064E3B; }
.theme-doc .btn { background: #10b981; color: #053321; }
.theme-doc .btn:hover { background: #0ea371; }
.theme-doc .table thead th { background: #7DEFC8; }
.theme-doc .input:focus, .theme-doc select:focus, .theme-doc textarea:focus {
  border-color: #0ea371; box-shadow: 0 0 0 3px rgba(16,185,129,.35);
}

/* ===== PACIENTES (amarillo/naranja) ===== */
.theme-pac .card, .theme-pac .pane {
  background: linear-gradient(180deg, #FFE9B8 0%, #FFD98A 100%);
}
.theme-pac h2, .theme-pac h3, .theme-pac .label { color: #7C3A00; }
.theme-pac .btn { background: #f59e0b; color: #3b1f00; }
.theme-pac .btn:hover { background: #d98705; }
.theme-pac .table thead th { background: #FFC970; }
.theme-pac .input:focus, .theme-pac select:focus, .theme-pac textarea:focus {
  border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.35);
}

/* ===== COMPONENTES (lila/azul intenso) ===== */
.theme-comp .card, .theme-comp .pane {
  background: linear-gradient(180deg, #E3E2FF 0%, #CBC9FF 100%);
}
.theme-comp h2, .theme-comp h3, .theme-comp .label { color: #2E2F7A; }
.theme-comp .btn { background: #6366f1; color: #11113a; }
.theme-comp .btn:hover { background: #4f52e6; }
.theme-comp .table thead th { background: #B9B7FF; }
.theme-comp .input:focus, .theme-comp select:focus, .theme-comp textarea:focus {
  border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.35);
}

/* ===== PREPARADOS (celeste intenso) ===== */
.theme-prep .card, .theme-prep .pane {
  background: linear-gradient(180deg, #CDEEFF 0%, #B1E2FF 100%);
}
.theme-prep h2, .theme-prep h3, .theme-prep .label { color: #0B5D88; }
.theme-prep .btn { background: #38bdf8; color: #072b3a; }
.theme-prep .btn:hover { background: #1ea6e5; }
.theme-prep .table thead th { background: #9DD8FF; }
.theme-prep .input:focus, .theme-prep select:focus, .theme-prep textarea:focus {
  border-color: #38bdf8; box-shadow: 0 0 0 3px rgba(56,189,248,.35);
}

/* Bordes suaves entre secciones de forms largos */
.theme-doc .section, .theme-pac .section, .theme-comp .section, .theme-prep .section {
  border-bottom: 1px dashed rgba(0,0,0,.18);
  padding-bottom: 10px;
}
.theme-doc .section:last-child, .theme-pac .section:last-child, .theme-comp .section:last-child, .theme-prep .section:last-child {
  border-bottom: 0;
}
/* === Tipografía y densidad compacta (igual a list.php) === */
.mini * { font-size: 12px; }
.mini h1 { font-size: 18px; margin: 8px 0; }
.mini h2 { font-size: 16px; margin: 6px 0 10px; }
.mini h3 { font-size: 13px; margin: 4px 0 6px; }

.mini .input,
.mini .btn,
.mini select,
.mini textarea { font-size: 12px; padding: 6px 8px; }

.mini .table { font-size: 12px; }
.mini .table th,
.mini .table td { padding: 6px 8px; }

.mini .label { font-size: 11px; color: #556070; }

.mini .btn-icon { padding: 4px 6px; line-height: 1; border: 1px solid #cbd5e1; background: #f8fafc; border-radius: 6px; }
.mini .btn-icon:hover { background: #eef2ff; }

/* Opcional: compactar grillas de formularios */
.mini .grid,
.mini .two-pane,
.mini .pane { gap: 10px; }
