.bvone-income-app{max-width:980px;margin:30px auto;font-family:inherit;color:#17233c}
.bvone-income-card,.bvone-result{background:#fff;border:1px solid #e5e8ef;border-radius:18px;box-shadow:0 8px 30px rgba(23,35,60,.08);overflow:hidden}
.bvone-income-header{padding:30px 30px 20px;background:linear-gradient(135deg,#082b67,#123e84);color:#fff}
.bvone-income-kicker{font-size:12px;letter-spacing:2px;font-weight:700;opacity:.85}
.bvone-income-header h2{margin:7px 0 4px;color:#fff;font-size:30px}
.bvone-income-header p{margin:0;opacity:.85}
#bvone-income-form{padding:28px 30px}
.bvone-field{margin-bottom:22px}
.bvone-field label{display:block;font-weight:700;margin-bottom:9px}
.bvone-field small{display:block;margin-top:6px;color:#687386}
.bvone-field input[type=text],.bvone-field input[type=month],.bvone-field input[type=number],.bvone-field select,.bvone-money-wrap input{width:100%;box-sizing:border-box;border:1px solid #cfd6e2;border-radius:10px;padding:13px 14px;background:#fff;font-size:16px}
.bvone-money-wrap{position:relative}.bvone-money-wrap input{padding-right:65px}.bvone-money-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:700;color:#667085}
.bvone-choice{display:flex;gap:10px;flex-wrap:wrap}.bvone-choice label{margin:0;display:flex;align-items:center;gap:7px;border:1px solid #d6dce7;border-radius:10px;padding:11px 14px;font-weight:600;cursor:pointer}.bvone-choice input{accent-color:#0b4a9b}
.bvone-classification-preview{margin-top:9px;padding:10px 12px;background:#f3f7fd;border-radius:9px;font-weight:700;color:#0b4a9b}
.bvone-submit{width:100%;border:0;border-radius:11px;padding:15px 18px;background:#0b4a9b;color:#fff;font-size:17px;font-weight:800;cursor:pointer}
.bvone-submit:hover{filter:brightness(.95)}
.bvone-error{margin-top:15px;padding:12px;border-radius:9px;background:#fff1f1;color:#a61b1b}
.bvone-result{margin-top:22px;padding:0}
.bvone-total{padding:30px;text-align:center;background:#f5f8fc}.bvone-total span{display:block;font-size:13px;font-weight:800;letter-spacing:1px}.bvone-total strong{display:block;font-size:42px;line-height:1.1;margin-top:8px;color:#0b4a9b}
.bvone-summary{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:15px 20px;border-bottom:1px solid #e7ebf2;color:#5c6778;font-size:14px}
.bvone-breakdown{padding:24px 30px}.bvone-breakdown h3,.bvone-breakthrough h3{margin-top:0}
.bvone-breakdown-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf0f5}.bvone-breakdown-row strong{white-space:nowrap}
.bvone-breakthrough{padding:24px 30px 30px;background:#fbfcfe;border-top:1px solid #edf0f5}.bvone-muted{color:#697586}
.bvone-milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bvone-milestone{border:1px solid #e0e5ed;border-radius:14px;padding:18px;background:#fff}.bvone-milestone-label{font-weight:800;color:#0b4a9b}.bvone-milestone h4{font-size:22px;margin:10px 0}.bvone-milestone p{margin:7px 0;color:#596577}.bvone-milestone .bvone-increase{font-size:20px;font-weight:800;color:#138a45}.bvone-milestone small{display:block;margin-top:10px;color:#687386}
@media(max-width:700px){.bvone-income-app{margin:15px 0}.bvone-income-header{padding:24px 20px}.bvone-income-header h2{font-size:24px}#bvone-income-form,.bvone-breakdown,.bvone-breakthrough{padding:20px}.bvone-total{padding:24px 18px}.bvone-total strong{font-size:34px}.bvone-milestones{grid-template-columns:1fr}.bvone-breakdown-row{align-items:flex-start}.bvone-breakdown-row span{max-width:55%}}

/* v1.0.3: improve seniority field visibility with Flatsome overrides */
#bvone-seniority-months-field select#bvone-seniority-months{
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  padding-right:42px !important;
}
#bvone-seniority-months-field .bvone-classification-preview{
  width:100%;
  box-sizing:border-box;
}

/* v1.0.4: seniority selector - full width and prevent clipped text */
#bvone-seniority-months-field select#bvone-seniority-months{
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  height:58px !important;
  min-height:58px !important;
  line-height:1.4 !important;
  padding:12px 48px 12px 16px !important;
  font-size:16px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

/* v1.0.7: fix vertical clipping of seniority select in Flatsome */
#bvone-seniority-months-field select#bvone-seniority-months,
#bvone-seniority-months-field select#bvone-seniority-months.form-select{
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
  height:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  line-height:normal !important;
  padding:16px 52px 16px 16px !important;
  font-size:18px !important;
  font-family:inherit !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
#bvone-seniority-months-field select#bvone-seniority-months option{
  font-size:18px !important;
  line-height:1.5 !important;
  padding:8px !important;
}

/* v1.0.8: numbered fields + balanced mobile spacing */
.bvone-field{
  margin-bottom:20px !important;
}
.bvone-field-label{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  line-height:1.45 !important;
  margin-bottom:10px !important;
}
.bvone-step{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  background:#0b4a9b;
  color:#fff;
  font-size:14px;
  font-weight:800;
  line-height:1;
  margin-top:1px;
}
.bvone-field-label > span:last-child{
  flex:1;
  min-width:0;
}
#bvone-income-month{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
#bvone-contract-value{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:700px){
  .bvone-field{
    margin-bottom:18px !important;
  }
  .bvone-field-label{
    gap:9px !important;
    margin-bottom:9px !important;
  }
  .bvone-step{
    flex-basis:26px;
    width:26px;
    height:26px;
    font-size:13px;
  }
}

/* v1.0.9: final alignment + equal field widths on desktop/mobile */
.bvone-field-label{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  gap:10px !important;
  margin:0 0 10px 0 !important;
}
.bvone-field-label .bvone-step{
  display:inline-flex !important;
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  line-height:1 !important;
}
.bvone-field-label > span:last-child{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}
#bvone-income-month,
#bvone-contract-value,
#bvone-seniority-months-field select#bvone-seniority-months{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
#bvone-income-month{
  height:58px !important;
  min-height:58px !important;
}
.bvone-money-wrap{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.bvone-money-wrap input#bvone-contract-value{
  width:100% !important;
  max-width:100% !important;
}
@media(max-width:700px){
  .bvone-field-label{
    align-items:center !important;
    gap:9px !important;
  }
  .bvone-field-label .bvone-step{
    flex-basis:26px !important;
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    font-size:13px !important;
  }
  #bvone-income-month,
  #bvone-contract-value{
    width:100% !important;
    max-width:100% !important;
    height:58px !important;
    min-height:58px !important;
  }
}

/* v1.1.0: make field #1 (month) exactly the same physical size as field #2 */
#bvone-income-form #bvone-income-month{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  padding:13px 14px !important;
  margin:0 !important;
  border:1px solid #cfd6e2 !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
  line-height:30px !important;
  font-size:16px !important;
  vertical-align:middle !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}
#bvone-income-form .bvone-money-wrap{
  width:100% !important;
  max-width:100% !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
#bvone-income-form .bvone-money-wrap #bvone-contract-value{
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  box-sizing:border-box !important;
}
@media(max-width:700px){
  #bvone-income-form #bvone-income-month,
  #bvone-income-form .bvone-money-wrap,
  #bvone-income-form .bvone-money-wrap #bvone-contract-value{
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
  }
}

/* v1.1.1: mobile month field + radio vertical centering */
#bvone-income-form #bvone-income-month{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
  padding:0 16px !important;
  box-sizing:border-box !important;
  border:1px solid #cfd6e2 !important;
  border-radius:10px !important;
  background:#fff !important;
  font-size:16px !important;
  line-height:58px !important;
  vertical-align:middle !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
}
#bvone-income-form .bvone-choice{
  display:flex !important;
  align-items:stretch !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
#bvone-income-form .bvone-choice label{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  min-height:64px !important;
  padding:12px 18px !important;
  line-height:1.25 !important;
  vertical-align:middle !important;
}
#bvone-income-form .bvone-choice label input[type=radio]{
  flex:0 0 20px !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  margin:0 !important;
  padding:0 !important;
  vertical-align:middle !important;
  position:relative !important;
  top:0 !important;
}
#bvone-income-form .bvone-choice label > span{
  display:flex !important;
  align-items:center !important;
  line-height:1.25 !important;
  margin:0 !important;
}
@media(max-width:700px){
  #bvone-income-form #bvone-income-month{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
    line-height:58px !important;
    padding:0 16px !important;
  }
  #bvone-income-form .bvone-choice label{
    min-height:64px !important;
    padding:12px 18px !important;
  }
}
