/* Mini Boss Club - overlay "Mi Empresa" Fase 2 (presupuesto, equipo
   planificado, iconos de roles y fechas de objetivos). Clases propias
   ef2-*: no toca los estilos del bundle ni de ef1. */
.ef2-form {
  margin: 0 0 16px; padding: 16px; border-radius: 16px;
  border: 2px solid #99e3dc; background: #f2fbfa;
}
.ef2-title { margin: 0 0 6px; font-size: 15px; font-weight: 800; color: #0b5563; }
.ef2-help { margin: 0 0 10px; font-size: 13px; line-height: 1.45; color: #47606a; }
.ef2-warn { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #9a6a00; }
.ef2-input {
  border: 1.5px solid #b8d8d4; border-radius: 10px; padding: 8px 10px;
  font-size: 14px; background: #fff; color: #17323b; width: 100%;
}
.ef2-input:focus { outline: 2px solid #03ac9d; border-color: #03ac9d; }
.ef2-brows { display: flex; flex-direction: column; gap: 8px; }
.ef2-brow { display: flex; gap: 8px; align-items: center; }
.ef2-brow .ef2-bconcept { flex: 1 1 auto; }
.ef2-brow .ef2-bamount { flex: 0 0 110px; }
.ef2-bdel {
  flex: 0 0 auto; width: 30px; height: 30px; border-radius: 999px; border: none;
  background: #fde8e8; color: #b3261e; font-weight: 800; cursor: pointer;
}
.ef2-addrow {
  margin-top: 10px; border: 1.5px dashed #03ac9d; color: #0b7a6e; background: #fff;
  border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; cursor: pointer;
}
.ef2-total { margin: 10px 0 0; font-size: 14px; color: #17323b; }
.ef2-roles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.ef2-role {
  border: 2px solid #dcebe9; border-radius: 14px; background: #fff; padding: 10px;
  display: flex; flex-direction: column; gap: 4px; align-items: flex-start; cursor: pointer;
}
.ef2-role-sel { border-color: #03ac9d; background: #eefaf8; box-shadow: 0 0 0 2px #bfeee9 inset; }
.ef2-role-ic { font-size: 30px; line-height: 1; }
.ef2-role-img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; display: inline-block; }
.ef2-role-img-inline { width: 34px; height: 34px; vertical-align: middle; }
.ef2-role-name { font-size: 14px; font-weight: 800; color: #17323b; }
.ef2-role-salary { font-size: 12px; color: #5c737d; }
.ef2-role-task { margin-top: 4px; }
.ef2-cards { display: flex; flex-direction: column; gap: 24px; margin: 0 0 24px; }
.ef2-card {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 24px; padding: 20px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
}
.ef2-card-title { margin: 0 0 6px; font-size: 17px; font-weight: 800; color: #17323b; }
.ef2-line {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 8px 0; border-bottom: 1px dashed #e3eeee; font-size: 14px; color: #17323b;
}
.ef2-line:last-child { border-bottom: none; }
.ef2-line-total { font-weight: 800; border-top: 2px solid #03ac9d; margin-top: 4px; }
.ef2-prole { display: flex; gap: 10px; align-items: center; }
.ef2-prole small { color: #5c737d; }
.ef2-hire {
  border: none; border-radius: 999px; background: #03ac9d; color: #fff;
  padding: 8px 16px; font-size: 13px; font-weight: 800; cursor: pointer; flex: 0 0 auto;
}
.ef2-hire:disabled { background: #c8d8d5; cursor: not-allowed; }
.ef2-goal-date { color: #0b7a6e; font-weight: 600; font-size: 12px; }
.ef2-goals-note { margin-top: 10px; font-size: 12px; color: #5c737d; }
@media (max-width: 640px) {
  .ef2-brow .ef2-bamount { flex-basis: 92px; }
  .ef2-card { padding: 16px; }
}
