.checkbox-wrapper {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 14px;

  .checkbox-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
  }

  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #444b5d;
    border-radius: 4px;
    background: #181a20;
    cursor: pointer;
    position: relative;
    outline: none;
    transition: border-color 0.2s, background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  input[type="checkbox"]:checked {
    border-color: #4f8cff;
    background: #23272f;
  }

  input[type="checkbox"]:checked + .checkbox-icon {
    opacity: 1;
  }

  .checkbox-icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.2s;
    color: #4f8cff;
    font-size: 15px;
  }

  .checkbox-label {
    color: #e0e3eb;
    user-select: none;
    margin-left: 0.5rem;
  }

  input:disabled + .checkbox-icon,
  input:disabled + .checkbox-label {
    color: #555a6a;
    cursor: not-allowed;
  }
  input:disabled {
    border-color: #333;
    background: #222;
    cursor: not-allowed;
  }
}
