body.no-sidebar .content-wrapper,
body.no-sidebar .main-footer,
body.no-sidebar .main-header {
  margin-left: 0;
}

.card.card-outline-tabs {
  border-top: 0;
}

table tr td a {
  cursor: pointer;
}

.error-message {
  width: 100%;
  margin-top: .25rem;
  font-size: .875em;
  color: #dc3545 !important;
}

.bootstrap-tagsinput {
    background-color: #fff;
    border: 1px solid #ced4da;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    display: inline-block;
    padding: 0.375rem 0.75rem;
    color: #495057;
    vertical-align: middle;
    border-radius: 0.25rem;
    max-width: 100%;
    line-height: 1.5;
    cursor: text;
    width: 100%;
    min-height: calc(1.5em + 0.75rem + 2px);
}
.bootstrap-tagsinput input {
    border: none;
    box-shadow: none;
    outline: none;
    background-color: transparent;
    padding: 0 6px;
    margin: 0;
    width: auto;
    max-width: inherit;
    margin-bottom: 5px;
}
.bootstrap-tagsinput .tag [data-role="remove"] {
    margin-left: 8px;
    cursor: pointer;
    opacity: 0.8;
}
.bootstrap-tagsinput .tag [data-role="remove"]:after {
    content: "x";
    padding: 0px 2px;
}
.bootstrap-tagsinput .tag [data-role="remove"]:hover {
    opacity: 1;
}
.bootstrap-tagsinput .badge {
    background-color: #0d6efd !important;
}
.bg-info {
    padding: 10px !important;
    margin-right: 5px !important;
}

#div_remote_fields {
    display: none;
}

.ipv6-fields {
    display: none;
}

.asteriskField { color: red; margin-left: 2px; }

.id-link { font-weight: bold; color: #007bff; text-decoration: none; }
.id-link:hover { color: #0056b3; text-decoration: underline; }

.edit-btn { font-weight: bold; color: #007bff; text-decoration: none; cursor: pointer; }
.edit-btn:hover { color: #0056b3; text-decoration: underline; }

.delete-icon { color: #007bff; cursor: pointer; }
.delete-icon:hover { color: #0056b3; }

.clickable-row:hover { background-color: #f5f5f5; }

.invalid-feedback { display: block; width: 100%; margin-top: .25rem; font-size: 80%; color: #dc3545; }
.is-invalid + .select2-container .select2-selection { border-color: #dc3545 !important; }

.form-section-hidden { display: none; }

.error-modal { display: none; position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.5); }
.modal-content-error { background-color: #fff; margin: 10% auto; padding: 0; border-radius: 8px; width: 80%; max-width: 600px; }
.modal-header-error { background-color: #fff; padding: 20px; border-radius: 8px 8px 0 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #dee2e6; }
.modal-title-error { color: #000; margin: 0; font-size: 1.2rem; font-weight: 500; }
.close-btn-error { background: none; border: none; color: #000; font-size: 2rem; cursor: pointer; padding: 0; line-height: 1; }
.error-list { padding: 20px; max-height: 400px; overflow-y: auto; }
.error-item { background-color: #faf6f2; border: 1px solid #f7c08a; color: #311c08; padding: 12px 16px; margin-bottom: 10px; border-radius: 4px; border-left: 4px solid #ff9933; }

.dependency-modal-list { list-style: none; padding-left: 0; }
.dependency-modal-list li { padding: 4px 0; border-bottom: 1px solid #f0f0f0; }
.dependency-modal-list li:last-child { border-bottom: none; }

.track-ip-row { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.track-ip-row input { flex: 1; }
.track-ip-row .remove-track-ip-btn {
    flex-shrink: 0;
    background: none; border: none; color: #007bff; cursor: pointer;
    font-size: 1rem; padding: 4px 6px;
}
.track-ip-row .remove-track-ip-btn:hover { color: #0056b3; }

.tag-input-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: 38px;
    padding: 4px 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    cursor: text;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.tag-input-wrapper:focus-within {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
.tag-input-wrapper.is-invalid {
    border-color: #dc3545;
}
.tag-input-wrapper.is-invalid:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220,53,69,.25);
}
.tag-chip {
    display: inline-flex;
    align-items: center;
    background-color: #0d6efd;
    color: #fff;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 0.9rem;
    white-space: nowrap;
    max-width: 100%;
    word-break: break-all;
}
.tag-chip .tag-remove {
    margin-left: 5px;
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    opacity: 0.85;
    background: none;
    border: none;
    color: #fff;
    padding: 0;
    display: flex;
    align-items: center;
}
.tag-chip .tag-remove:hover { opacity: 1; }
.tag-input-field {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    flex: 1 1 80px;
    min-width: 80px;
    font-size: 0.875rem;
    background: transparent;
    height: 26px;
}


.logs-table-wrapper .dataTables_scroll { border: none !important; }
.logs-table-wrapper .dataTables_scrollBody {
    border-bottom: 1px solid #dee2e6 !important;
    box-shadow: none !important;
    background-color: transparent !important;
}
.logs-table { border-bottom: none !important; width: 100% !important; }

.logs-card-body { position: relative; }


#table-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  border-radius: 0.25rem;
}

.loading-content {
  text-align: center;
}

.loading-spinner {
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin: 0 auto 10px;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.select2-container {width: 100% !important;}

.icon-edit-dark { color: #000; }
