/* =========================
   Salary Slip Frontend UI
   ========================= */

.ssm-wrapper {
  max-width: 420px;
  margin: 30px auto;
  padding: 20px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  font-family: IRANSans, Vazirmatn, sans-serif;
}

/* ---------- Form ---------- */

#ssm-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

#ssm-form input,
#ssm-form select {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  font-size: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

#ssm-form input:focus,
#ssm-form select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

#ssm-form button {
  padding: 12px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(135deg, #2563eb, #1e40af);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#ssm-form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.35);
}

#ssm-form button:active {
  transform: translateY(0);
  box-shadow: none;
}

/* ---------- Result Box ---------- */

#ssm-result {
  margin-top: 16px;
}

.ssm-result {
  padding: 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.8;
}

/* Success */
.ssm-success {
  background: #ecfdf5;
  border: 1px solid #10b981;
  color: #065f46;
}

/* Error */
.ssm-error {
  background: #fef2f2;
  border: 1px solid #ef4444;
  color: #7f1d1d;
}

/* Loading */
.ssm-loading {
  background: #eff6ff;
  border: 1px dashed #2563eb;
  color: #1e3a8a;
}

/* ---------- Download Button ---------- */

.ssm-download {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 14px;
  background: #16a34a;
  color: #ffffff !important;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 700;
  transition: background 0.2s, transform 0.15s;
}

.ssm-download:hover {
  background: #15803d;
  transform: translateY(-1px);
}

/* ---------- Mobile ---------- */

@media (max-width: 480px) {
  .ssm-wrapper {
    margin: 20px 10px;
    padding: 16px;
  }

  #ssm-form button {
    font-size: 14px;
  }
}
