html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* SignalR Connection Status Indicator */
.signalr-status {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    margin-left: 0.5rem;
    cursor: help;
}

.signalr-status i {
    font-size: 1.2rem;
}

.signalr-status.connected i {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
}

/* Notification Badge */
#notification-badge {
    font-size: 0.65rem;
    padding: 0.25em 0.4em;
}

/* Toast Container Positioning */
.toast-container {
    z-index: 9999;
}

/* Toast Enhancements */
.toast {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.toast-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.toast-body {
    padding: 1rem;
}