.sidebar .nav-header {
	font-size: 1rem;
	vertical-align: middle;
	padding: 1rem 0.75rem;
}
.select2-container .select2-selection--single, .select2-container .select2-selection--multiple{
    height: 38.33px!important;
    padding: 6px 12px!important;
    border: 1px solid #ced4da!important;
    border-radius: 0.375rem!important;
	font-size: 0.875rem!important;
    font-weight: 400!important;
	color: #6B7280!important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered, .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    line-height: 24px!important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow, .select2-container--default .select2-selection--multiple .select2-selection__arrow {
    height: 36px!important;
    right: 10px!important;
} 

.select2-container--default .select2-selection--single .select2-selection__placeholder, .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
	color: #6B7280!important;
}

.select2-container--default .select2-selection--multiple .select2-search__field  {
    margin-top: 0;
    font-size: 1rem;
    line-height: 1.5;
}

.select2-selection__choice, .select2-container--default .select2-selection--multiple .select2-selection__clear {
    margin-top: 0px !important;
}

#overlay-loading {
    display: none!important;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#overlay-loading .spinner {
    width: 80px;
    height: 80px;
    border: 8px solid #f3f3f3;
    border-top: 8px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

#overlay-loading p {
    color: #fff;
    font-size: 18px;
    margin-top: 10px;
    font-weight: bold;
    text-align: center;
}

@keyframes spin {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
}

.package-card {
  transition: all 0.3s ease;
  border: 1px solid #dee2e6;
  background-color: #f8f9fa;
}
.package-card:hover {
  border-color: #0d6efd;
  box-shadow: 0 0 10px rgba(13, 110, 253, 0.2);
}
.package-card.selected {
  border-color: #0d6efd;
  background-color: #e7f1ff;
  box-shadow: 0 0 10px rgba(13, 110, 253, 0.3);
}
.swal2-confirm.btn {
    padding-left: 35px;
    padding-right: 35px;
}
.flash-success {
    background-color: #d4edda !important; /* xanh lá nhạt */
    transition: background-color 0.2s ease-in-out;
}
.flash-danger {
    background-color: #f8d7da !important; /* đỏ nhạt */
    transition: background-color 0.2s ease-in-out;
}
.navbar .nav-link {
  padding: 6px 12px;
  border-radius: 8px;
  transition: all 0.3s;
  width: 100px;
  justify-content: center;
}

.navbar .nav-link.active {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff !important;
  font-weight: bold;
}

.ping-hostname:hover,
.ping-ip:hover {
    text-decoration: underline;
}

.flash-message {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    min-width: 300px;
}
.table .badge{font-size:12px}
.table td {vertical-align:middle}

html, body {
	height: 100%;
}
body {
	display: flex;
	flex-direction: column;
}
main {
	flex: 1 0 auto;
}
footer {
	flex-shrink: 0;
}