/* Paleta institucional para vistas de ciudadano */
:root {
  --primary-gradient: #0b5cab !important;
  --btn-gradient: #0b5cab !important;
  --bg-dark: #f4f7fb !important;
  --bg-card: #ffffff !important;
  --bg-input: #ffffff !important;
  --text-light: #16324f !important;
  --text-grey: #5c7186 !important;
  --primary-color: #0b5cab !important;
  --danger-color: #b42318 !important;
  --success-color: #2f7d32 !important;
  --border-soft: #d9e4ef;
  --bg-soft: #eef4fa;
}

body,
html {
  background: #f4f7fb !important;
  color: var(--text-light) !important;
}

.container,
.register-container,
.section,
.info-section,
.welcome-section,
.card,
.header,
.curso-card,
.content-card,
.upload-box,
.detail-item,
.form-content {
  background: var(--bg-card) !important;
  color: var(--text-light) !important;
  border: 1px solid var(--border-soft) !important;
  box-shadow: 0 12px 28px rgba(16, 43, 73, 0.08) !important;
}

.header h1,
.welcome-section h2,
.section h2,
.info-section h3,
.card h3,
.curso-card h3,
.form-section h2,
.login-link a,
.header .user-name,
.curso-info-item i {
  color: var(--primary-color) !important;
  -webkit-text-fill-color: currentColor !important;
}

.header,
.register-container .header {
  background: #0a3d6f !important;
  color: #ffffff !important;
}

.header h1,
.register-container .header h1,
.header p,
.register-container .header p {
  color: #ffffff !important;
}

.card-icon,
.header .user-avatar {
  background: #0b5cab !important;
  box-shadow: 0 8px 18px rgba(11, 92, 171, 0.18) !important;
}

.btn-submit,
.btn-inscribir,
.btn-logout,
.btn-back:hover,
button[type="submit"],
.btn-primary,
.btn-save,
.btn-edit {
  background: #0b5cab !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(11, 92, 171, 0.18) !important;
}

.btn-submit:hover,
.btn-inscribir:hover,
.btn-logout:hover,
button[type="submit"]:hover,
.btn-primary:hover,
.btn-save:hover,
.btn-edit:hover {
  background: #084b8a !important;
  box-shadow: 0 12px 24px rgba(11, 92, 171, 0.22) !important;
}

.btn-back {
  background: #ffffff !important;
  color: #0b5cab !important;
  border: 1px solid #0b5cab !important;
}

.form-group label,
.form-group input,
.form-group select,
.form-group textarea,
.input-wrapper input,
.input-wrapper select,
.input-wrapper i,
.curso-info-item,
.card p,
.welcome-section p,
.info-item p,
.login-link,
.form-section p {
  color: var(--text-light) !important;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="date"],
.form-group input[type="file"],
.form-group select,
.form-group textarea,
.input-wrapper input,
.input-wrapper select {
  background: var(--bg-input) !important;
  border: 1px solid var(--border-soft) !important;
  box-shadow: none !important;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.input-wrapper input:focus,
.input-wrapper select:focus {
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 4px rgba(11, 92, 171, 0.12) !important;
}

.info-item,
.curso-card,
.alert,
.alert-success,
.alert-error,
.btn-inscrito,
.detail-item,
.upload-box {
  background: var(--bg-soft) !important;
  border-color: var(--border-soft) !important;
}

.alert-success,
.btn-inscrito {
  color: var(--success-color) !important;
}

.alert-error {
  color: var(--danger-color) !important;
}

.upload-box:hover,
.detail-item:hover,
.curso-card:hover,
.card:hover {
  background: #eaf2fb !important;
  border-color: #b9cde2 !important;
}

.upload-box i,
.detail-item label {
  color: var(--primary-color) !important;
}

.btn-back,
a.btn-back,
.header a,
.content-card a {
  color: #0b5cab !important;
}

input[readonly],
input[disabled] {
  background: #eef4fa !important;
  color: #5c7186 !important;
  border-color: #d9e4ef !important;
}
