/* =========================
   SINPRO Meta-style UI (v1.8)
   ========================= */

.sinpro-salario-calc{
  --sinpro-yellow:#fcb900;
  --sinpro-black:#000;
  --sinpro-text:#0b0f17;
  --sinpro-muted:rgba(11,15,23,.65);
  --sinpro-border:rgba(11,15,23,.10);
  --sinpro-shadow: 0 14px 50px rgba(0,0,0,.10);
  --sinpro-shadow-strong: 0 20px 70px rgba(0,0,0,.14);
  --sinpro-soft-yellow: rgba(252,185,0,.18);
  --sinpro-soft-black: rgba(0,0,0,.04);
}

/* Container */
.sinpro-salario-calc .sinpro-container{
  max-width: 1120px;
  margin: 0 auto;
}

/* Fundo sutil */
.sinpro-salario-calc{ position: relative; }
.sinpro-salario-calc:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 8% 0%, rgba(252,185,0,0), transparent 55%),
    radial-gradient(800px 460px at 92% 10%, rgba(0,0,0,0), transparent 60%);
}

/* Card premium */
.sinpro-salario-calc .sinpro-card{
  position: relative;
  border-radius: 22px;
  border: 1px solid var(--sinpro-border);
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(10px);
  box-shadow: var(--sinpro-shadow);
  overflow: hidden;
}
.sinpro-salario-calc .sinpro-card:hover{
  box-shadow: var(--sinpro-shadow-strong);
}

/* Strip superior */
.sinpro-salario-calc .sinpro-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--sinpro-black), var(--sinpro-yellow));
}

/* Badge */
.sinpro-salario-calc .sinpro-badge{
  background: var(--sinpro-black);
  color: var(--sinpro-yellow);
  padding: .55rem .9rem;
  font-weight: 900;
  letter-spacing: .02em;
}

/* Titleline */
.sinpro-salario-calc .sinpro-titleline{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.sinpro-salario-calc .sinpro-titleicon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, var(--sinpro-soft-yellow), rgba(0,0,0,.02));
  border: 1px solid var(--sinpro-border);
}
.sinpro-salario-calc .sinpro-titleicon svg{
  width: 20px;
  height: 20px;
  fill: var(--sinpro-text);
}

/* Tipografia */
.sinpro-salario-calc h2,
.sinpro-salario-calc h3{ color: var(--sinpro-text); }
.sinpro-salario-calc .text-muted{ color: var(--sinpro-muted) !important; }

/* Labels */
.sinpro-salario-calc .form-label{
  font-weight: 900;
  color: var(--sinpro-text);
}

/* Controles */
.sinpro-salario-calc .form-control,
.sinpro-salario-calc .form-select,
.sinpro-salario-calc .input-group-text{
  border-radius: 16px;
  border: 1px solid var(--sinpro-border);
}

/* Altura consistente (resolve seu problema do R$ e ×) */
.sinpro-salario-calc .form-control,
.sinpro-salario-calc .form-select,
.sinpro-salario-calc .input-group-text{
  min-height: 52px;
  display:flex;
  align-items:center;
}

/* Inputs */
.sinpro-salario-calc .form-control{
  padding: .78rem .95rem;
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.sinpro-salario-calc .form-control:focus{
  border-color: rgba(252,185,0,.75);
  box-shadow: 0 0 0 .25rem rgba(252,185,0,.18);
}

/* Select: melhora leitura interna */
.sinpro-salario-calc .form-select{
  padding: .78rem .95rem;
  font-weight: 800;
}
.sinpro-salario-calc .form-select:focus{
  border-color: rgba(252,185,0,.75);
  box-shadow: 0 0 0 .25rem rgba(252,185,0,.18);
}

/* Input group */
.sinpro-salario-calc .sinpro-inputgroup{
  align-items: stretch;
}
.sinpro-salario-calc .sinpro-inputgroup .input-group-text{
  background: var(--sinpro-soft-black);
  color: var(--sinpro-text);
  font-weight: 1000;
  padding: 0 .95rem;
  justify-content:center;
  width: 56px; /* visual consistente */
}
.sinpro-salario-calc .sinpro-inputgroup .form-control{
  min-height: 52px;
}

/* Botões */
.sinpro-salario-calc .btn{
  border-radius: 999px;
  padding: .82rem 1.2rem;
  font-weight: 1000;
  letter-spacing: .01em;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.sinpro-salario-calc .sinpro-btn-pdf{
  border-radius: 999px;
  padding: .82rem 1.2rem;
  font-weight: 1000;
  letter-spacing: .01em;
  border: 1px solid #000;
  background: linear-gradient(180deg, #111, #000);
  color: #fcb900;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.sinpro-salario-calc .sinpro-btn-pdf:hover,
.sinpro-salario-calc .sinpro-btn-pdf:focus{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
  color: #fcb900;
}

.sinpro-salario-calc .sinpro-btn-primary{
  background: linear-gradient(180deg, #111, #000);
  color: var(--sinpro-yellow);
  border: 1px solid #000;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.sinpro-salario-calc .sinpro-btn-primary:hover,
.sinpro-salario-calc .sinpro-btn-primary:focus{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
  color: var(--sinpro-yellow);
}
.sinpro-salario-calc .sinpro-btn-outline{
  background: rgba(255,255,255,.65);
  color: var(--sinpro-text);
  border: 1px solid var(--sinpro-border);
}
.sinpro-salario-calc .sinpro-btn-outline:hover,
.sinpro-salario-calc .sinpro-btn-outline:focus{
  transform: translateY(-1px);
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.18);
}

/* Sticky resultado (desktop) */
.sinpro-salario-calc .sinpro-sticky{
  position: sticky;
  top: 22px;
}

/* Pill */
.sinpro-salario-calc .sinpro-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding: .45rem .7rem;
  border-radius: 999px;
  border: 1px solid var(--sinpro-border);
  background: rgba(255,255,255,.65);
  color: var(--sinpro-text);
  font-weight: 900;
  font-size: .86rem;
}
.sinpro-salario-calc .sinpro-pill svg{
  width: 18px;
  height: 18px;
  fill: var(--sinpro-text);
}

/* KPI */
.sinpro-salario-calc .sinpro-kpi{
  border-radius: 22px;
  border: 1px solid var(--sinpro-border);
  background: linear-gradient(135deg, rgba(252,185,0,.22), rgba(0,0,0,.03));
  padding: 1.05rem 1.1rem;
}
.sinpro-salario-calc .sinpro-kpi-label{
  color: var(--sinpro-muted);
  font-weight: 900;
  margin-bottom: .25rem;
}
.sinpro-salario-calc .sinpro-kpi-value{
  font-size: clamp(1.8rem, 3.6vw, 2.65rem);
  font-weight: 1100;
  letter-spacing: -.03em;
  color: var(--sinpro-text);
}
.sinpro-salario-calc .sinpro-kpi-sub{
  margin-top: .45rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  color: var(--sinpro-muted);
  font-weight: 800;
  font-size: .9rem;
}
.sinpro-salario-calc .sinpro-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--sinpro-yellow);
  box-shadow: 0 0 0 4px rgba(252,185,0,.16);
}

/* Breakdown (substitui tabela feia) */
.sinpro-salario-calc .sinpro-breakdown{
  border-radius: 22px;
  border: 1px solid var(--sinpro-border);
  background: rgba(255,255,255,.65);
  padding: .95rem;
}

.sinpro-salario-calc .sinpro-section-title{
  font-weight: 1000;
  color: var(--sinpro-text);
  font-size: .9rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: .15rem 0 .75rem 0;
  opacity: .9;
}

.sinpro-salario-calc .sinpro-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  padding: .8rem .75rem;
  border-radius: 18px;
  border: 1px solid rgba(11,15,23,.08);
  background: rgba(255,255,255,.68);
  margin-bottom: .7rem;
}

.sinpro-salario-calc .sinpro-row:last-child{ margin-bottom: 0; }

.sinpro-salario-calc .sinpro-row-left{
  display:flex;
  align-items:center;
  gap: .75rem;
  min-width: 0;
}

.sinpro-salario-calc .sinpro-ic{
  width: 40px;
  height: 40px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(0,0,0,.04), rgba(252,185,0,.14));
  border: 1px solid rgba(11,15,23,.10);
  flex: 0 0 auto;
}

.sinpro-salario-calc .sinpro-ic svg{
  width: 20px;
  height: 20px;
  fill: var(--sinpro-text);
}

.sinpro-salario-calc .sinpro-row-label{
  font-weight: 1000;
  color: var(--sinpro-text);
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sinpro-salario-calc .sinpro-row-hint{
  color: var(--sinpro-muted);
  font-weight: 800;
  font-size: .86rem;
  margin-top: .12rem;
}

.sinpro-salario-calc .sinpro-row-val{
  font-weight: 1100;
  color: var(--sinpro-text);
  white-space: nowrap;
}

.sinpro-salario-calc .sinpro-neg{
  color: rgba(11,15,23,.85);
}

.sinpro-salario-calc .sinpro-divider{
  height: 1px;
  background: rgba(11,15,23,.10);
  margin: .95rem .2rem;
}

/* Destaques */
.sinpro-salario-calc .sinpro-row-strong{
  background: linear-gradient(135deg, rgba(252,185,0,.16), rgba(255,255,255,.72));
}
.sinpro-salario-calc .sinpro-row-total{
  background: linear-gradient(135deg, rgba(0,0,0,.035), rgba(252,185,0,.14));
}
.sinpro-salario-calc .sinpro-row-liquid{
  background: linear-gradient(135deg, rgba(252,185,0,.22), rgba(0,0,0,.02));
  border-color: rgba(252,185,0,.35);
}

.sinpro-salario-calc .sinpro-ic-strong{
  background: linear-gradient(135deg, rgba(252,185,0,.22), rgba(0,0,0,.02));
}
.sinpro-salario-calc .sinpro-ic-total{
  background: linear-gradient(135deg, rgba(0,0,0,.05), rgba(252,185,0,.16));
}
.sinpro-salario-calc .sinpro-ic-liquid{
  background: linear-gradient(135deg, rgba(252,185,0,.28), rgba(0,0,0,.02));
}

/* Validação */
.sinpro-salario-calc .invalid-feedback{
  display:block;
  font-weight: 800;
}

/* Footnotes */
.sinpro-salario-calc .sinpro-footnote,
.sinpro-salario-calc .sinpro-mini-note{
  line-height: 1.35;
}

/* Mobile */
@media (max-width: 575.98px){
  .sinpro-salario-calc .card-body{ padding: 1.15rem !important; }
  .sinpro-salario-calc .btn{ width: 100%; }
  .sinpro-salario-calc .sinpro-sticky{ position: static; }
  .sinpro-salario-calc .sinpro-breakdown{ padding: .75rem; }
  .sinpro-salario-calc .sinpro-row{ padding: .75rem .65rem; }
}
