body{
  background:radial-gradient(circle at top left,#e8ffd0 0,#f7fbf3 38%,#eef4ff 100%)
}

main.container{
  padding-left:.75rem;padding-right:.75rem
}

.login-card{
  margin-top:3vh
}

.login-logo{
  display:block;
  width:min(210px,72vw);
  height:auto
}

.nav-logo{
  display:block;
  width:58px;
  height:auto
}

.nav-menu-right{
  margin-left:auto
}

.profile-link{
  color:#fff;
}

.profile-link:hover{
  color:#e8ffd0;
  text-decoration:none
}

.password-cell{
  display:flex;
  gap:.4rem;min-width:190px
}

.password-cell .form-control{
  font-family:Consolas,monospace
}

.card{
  overflow:hidden;
  border-radius:1.1rem
}

.navbar-brand{
  display:flex;
  align-items:center
}

.btn,.form-control,.form-select{
  transition:box-shadow .15s ease,transform .15s ease
}

.btn:active{
  transform:translateY(1px)
}

.btn-icon{
  width:2.35rem;
  height:2.35rem;
  display:inline-grid;
  place-items:center;
  padding:0;
  font-size:1rem;
  line-height:1
}

.btn-icon:disabled{
  opacity:.38;
  cursor:not-allowed
}

.action-cell{
  display:flex;
  justify-content:flex-end;
  gap:.4rem
}

.data-table{
  min-width:920px
}

.table-responsive{
  -webkit-overflow-scrolling:touch
}

.table th,.table td{
  white-space:nowrap
}

.table td:nth-child(5){
  white-space:normal
}

.datatable-tools input{
  min-width:100%
}

.datatable-tools label{
  margin-top: 3px;
  width:100%
}

.dataTables_filter input {
    border-radius: 10px;
}

.dataTables_length select {
	border-radius: 10px;
}

@media(min-width:576px){
  main.container{
    padding-left:1rem;
    padding-right:1rem
  }
  .login-card{
    margin-top:6vh
  }
  .nav-logo{
    width:72px
  }
  .password-cell{
    min-width:220px
  }
  .datatable-tools{
    align-items:center
  }
  .datatable-tools label{
    width:auto
  }
  .datatable-tools input{
    min-width:260px
  }
}
@media(max-width:575px){
  .h3,h1{
    font-size:1.35rem
  }
  .card-body{
    padding:1rem
  }
  .btn{
    padding:.62rem .85rem
  }
  .btn-sm{
    padding:.45rem .65rem
  }
  .btn-icon{
    width:2.45rem;
    height:2.45rem
  }
  .d-flex.justify-content-between{
    align-items:stretch
  }
  .d-flex.justify-content-between>a.btn{
    width:100%
  }
  .text-end{
    text-align:left
  }
  .action-cell{
    justify-content:flex-start
  }
  .navbar-text{
    margin:.5rem 0
  }
  .nav-menu-right{
    margin-left:0
  }
  .table th,.table td{
    padding:.7rem .6rem
  }
  .login-card .card-body{
    padding:1.25rem!important
  }
}
