@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');

#conv-puiss-root {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: #2C2C2A !important;
  max-width: 100% !important;
  margin: 24px 0 !important;
  box-sizing: border-box !important;
}

#conv-puiss-root *,
#conv-puiss-root *::before,
#conv-puiss-root *::after {
  box-sizing: border-box !important;
}

#conv-puiss-root .cp-card {
  background-color: #FFFFFF !important;
  border: 1px solid #E5E3DC !important;
  border-radius: 12px !important;
  padding: 28px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

#conv-puiss-root .cp-header {
  margin: 0 0 20px 0 !important;
  padding: 0 0 20px 0 !important;
  border-bottom: 1px solid #F1EFE8 !important;
}

#conv-puiss-root .cp-title {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #042C53 !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

#conv-puiss-root .cp-subtitle {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: #5F5E5A !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

#conv-puiss-root .cp-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 12px 0 !important;
}

#conv-puiss-root .cp-row.cp-hidden {
  display: none !important;
}

#conv-puiss-root .cp-label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #2C2C2A !important;
  width: 200px !important;
  flex-shrink: 0 !important;
  line-height: 1.4 !important;
}

#conv-puiss-root .cp-code {
  display: inline-block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #185FA5 !important;
  background-color: #E6F1FB !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  margin-left: 6px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.2px !important;
}

#conv-puiss-root .cp-input,
#conv-puiss-root .cp-select {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #2C2C2A !important;
  background-color: #FFFFFF !important;
  border: 1px solid #D3D1C7 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

#conv-puiss-root .cp-input:hover,
#conv-puiss-root .cp-select:hover {
  border-color: #185FA5 !important;
}

#conv-puiss-root .cp-input:focus,
#conv-puiss-root .cp-select:focus {
  border-color: #185FA5 !important;
  box-shadow: 0 0 0 3px rgba(24, 95, 165, 0.15) !important;
}

#conv-puiss-root .cp-input::placeholder {
  color: #B4B2A9 !important;
  opacity: 1 !important;
}

#conv-puiss-root .cp-input::-webkit-outer-spin-button,
#conv-puiss-root .cp-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

#conv-puiss-root .cp-input[type=number] {
  -moz-appearance: textfield !important;
}

#conv-puiss-root .cp-select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23185FA5' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 7px !important;
  padding-right: 36px !important;
  cursor: pointer !important;
}

#conv-puiss-root .cp-unit {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #5F5E5A !important;
  width: 50px !important;
  flex-shrink: 0 !important;
  text-align: left !important;
  line-height: 1.4 !important;
}

#conv-puiss-root .cp-formula {
  font-family: 'DM Sans', monospace !important;
  font-size: 13px !important;
  color: #185FA5 !important;
  background-color: #F4F8FD !important;
  border: 1px solid #E6F1FB !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
}

#conv-puiss-root .cp-sep {
  height: 1px !important;
  background-color: #F1EFE8 !important;
  border: none !important;
  margin: 16px 0 !important;
}

#conv-puiss-root .cp-note {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  color: #888780 !important;
  margin: 20px 0 0 0 !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid #F1EFE8 !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

@media (max-width: 600px) {
  #conv-puiss-root {
    margin: 16px 0 !important;
  }
  #conv-puiss-root .cp-card {
    padding: 20px !important;
    border-radius: 10px !important;
  }
  #conv-puiss-root .cp-title {
    font-size: 18px !important;
  }
  #conv-puiss-root .cp-row {
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
  }
  #conv-puiss-root .cp-label {
    width: 100% !important;
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }
  #conv-puiss-root .cp-input,
  #conv-puiss-root .cp-select {
    flex: 1 1 auto !important;
    width: 100% !important;
    font-size: 16px !important;
  }
  #conv-puiss-root .cp-unit {
    width: 40px !important;
    font-size: 13px !important;
  }
  #conv-puiss-root .cp-formula {
    font-size: 12px !important;
    padding: 10px 12px !important;
  }
  #conv-puiss-root .cp-note {
    font-size: 12px !important;
  }
}

#conv-puiss-root,
#conv-puiss-root div,
#conv-puiss-root span,
#conv-puiss-root h3,
#conv-puiss-root p,
#conv-puiss-root input,
#conv-puiss-root select,
#conv-puiss-root table,
#conv-puiss-root th,
#conv-puiss-root td {
  max-width: none !important;
  box-sizing: border-box !important;
}

#conv-puiss-root table {
  display: table !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: none !important;
}

#conv-puiss-root th,
#conv-puiss-root td {
  border: none !important;
}

#conv-puiss-root h3,
#conv-puiss-root .cp-title {
  background: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
