body { background: #e9edf4; }
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.card .card-header { background: #fff; border-bottom: 1px solid #eef0f3; font-weight: 500; }
.navbar-brand i { color: #fff; }
.table > :not(caption) > * > * { padding: .55rem .65rem; }
code { color: #495057; background: #f3f5f8; padding: 1px 4px; border-radius: 3px; }
.badge { font-weight: 500; }

/* Apartados encuadrados del informe final */
.card-header.apartado-head { background: #1b2a5e; color: #fff; font-weight: 600; }
.card-header.apartado-head i { color: #fff; }
.apartado .card-body p:last-child { margin-bottom: 0; }

/* ===== Campos de formulario: que se distingan como recuadros sobre el fondo claro ===== */
.form-control, .form-select {
  border: 1px solid #b9c2d4;
  background-color: #ffffff;
  border-radius: .5rem;
  padding: .5rem .7rem;
  box-shadow: inset 0 1px 2px rgba(16,24,40,.04);
}
.form-control::placeholder { color: #9aa6bb; }
.form-control:hover, .form-select:hover { border-color: #8fa0bd; }
.form-control:focus, .form-select:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 .2rem rgba(13,110,254,.18);
}
.form-label { font-weight: 600; color: #2b3a55; margin-bottom: .3rem; }
.form-text a { text-decoration: none; }

/* Panel blanco para enmarcar los formularios sobre el fondo gris-azulado */
.form-panel { background: #fff; border: 1px solid #dde3ee; border-radius: .75rem; box-shadow: 0 1px 3px rgba(16,24,40,.06); }

/* ===== Tabla de items del presupuesto: ordenada y legible ===== */
#itemsTable { background: #fff; border: 1px solid #ccd4e2; border-radius: .6rem; overflow: hidden; margin-bottom: 0; }
#itemsTable thead th { background: #1b2a5e; color: #fff; font-weight: 600; border: none; white-space: nowrap; }
#itemsTable tbody td { vertical-align: middle; border-color: #e6eaf1; }
#itemsTable .item-cant, #itemsTable .item-precio { text-align: right; }
#itemsTable .item-sub {
  font-weight: 600; font-variant-numeric: tabular-nums; color: #1b2a5e;
  background: #f4f6fb; border-radius: .4rem;
}

/* Recuadro de totales del presupuesto */
.totales-box {
  background: #fff; border: 1px solid #dde3ee; border-radius: .75rem;
  padding: 1rem 1.25rem; box-shadow: 0 1px 3px rgba(16,24,40,.06);
}
.totales-box > div { font-variant-numeric: tabular-nums; }
