/* Formulario público FAAPAUAEM — azul marino institucional */
:root {
  --navy: #0b2a5b;
  --navy-dark: #071d42;
  --navy-light: #e8eef8;
  --ink: #1b2433;
  --muted: #4a5568;
  --line: #8a97ab;
  --danger: #b3261e;
}

body { background: #f3f5f9; color: var(--ink); font-size: 16px; }
a { color: var(--navy); }
a:hover, a:focus { color: var(--navy-dark); }

/* Navbar */
.navbar-inverse { background: var(--navy); border: 0; border-bottom: 3px solid var(--navy-dark); margin-bottom: 20px; }
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a { color: #fff; font-weight: 600; }
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus { background: var(--navy-dark); color: #fff; }
.navbar-inverse .navbar-toggle { border-color: #fff; }
.navbar-inverse .navbar-toggle .icon-bar { background: #fff; }
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background: var(--navy-dark); }

/* Panel */
.panel-default { border: 1px solid #c9d2e0; border-radius: 6px; box-shadow: 0 2px 8px rgba(11, 42, 91, .08); }
.panel-default > .panel-heading { background: var(--navy); color: #fff; border-color: var(--navy); border-radius: 5px 5px 0 0; padding: 4px 15px; }
.panel-heading h3 { margin: 8px 0; font-size: 22px; font-weight: 700; color: #fff; }
.panel-body { padding: 24px 20px; }

/* Campos */
label { color: var(--ink); font-weight: 600; margin-bottom: 6px; }
label.required::after { content: " *"; color: var(--danger); }
.form-group { margin-bottom: 20px; }
.form-control {
  height: 44px; font-size: 16px; color: var(--ink); background: #fff;
  border: 1.5px solid var(--line); border-radius: 4px; box-shadow: none;
}
.form-control::placeholder { color: #5d6778; opacity: 1; }
.form-control:hover { border-color: var(--navy); }
.form-control:focus {
  border-color: var(--navy); outline: 3px solid rgba(11, 42, 91, .3); outline-offset: 1px; box-shadow: none;
}
.form-control[disabled] { background: #e9edf3; color: #4a5568; border-color: #b8c2d1; cursor: not-allowed; }
.form-control:user-invalid { border-color: var(--danger); }
input[type=file] { padding: 10px; border: 1.5px dashed var(--line); border-radius: 4px; background: #fff; width: 100%; }
.checkbox { margin: 20px 0; padding: 12px 14px; background: var(--navy-light); border-radius: 4px; }
.checkbox label { font-weight: 400; line-height: 1.5; cursor: pointer; }
.checkbox input[type=checkbox] { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--navy); }

/* Participantes */
.well { background: #fff; border: 1.5px solid #c9d2e0; border-radius: 6px; box-shadow: none; padding: 18px 18px 2px; }
.well > label { margin: 0; color: var(--navy); font-size: 18px; }
h4.participant-title, #calculate_data h4 { color: var(--navy); font-weight: 700; margin: 22px 0 10px; }

/* Botón principal */
.btn-primary {
  background: var(--navy); border: 2px solid var(--navy); color: #fff;
  font-size: 18px; font-weight: 700; padding: 12px 40px; min-height: 48px; border-radius: 4px;
  box-shadow: 0 2px 4px rgba(7, 29, 66, .25);
}
.btn-primary:hover { background: var(--navy-dark); border-color: var(--navy-dark); color: #fff; }
.btn-primary:focus, .btn-primary:active:focus { background: var(--navy-dark); border-color: var(--navy-dark); color: #fff; outline: 3px solid rgba(11, 42, 91, .4); outline-offset: 3px; }
.btn-primary[disabled] { background: #5d6778; border-color: #5d6778; opacity: 1; }

@media (max-width: 767px) {
  .btn-primary { width: 100%; }
  .panel-body { padding: 16px 12px; }
}
