.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    line-height: 1;
    text-decoration: none;
}

.theme-toggle-btn:hover,
.theme-toggle-btn:focus {
    color: #fff;
    opacity: 0.9;
}

.theme-toggle-btn .theme-icon {
    display: inline-flex;
}

.theme-toggle-btn .theme-icon-dark {
    display: none;
}

[data-bs-theme="dark"] .theme-toggle-btn .theme-icon-light {
    display: none;
}

[data-bs-theme="dark"] .theme-toggle-btn .theme-icon-dark {
    display: inline-flex;
}

.saved-account-item .saved-account-pick:hover {
    background-color: rgba(13, 110, 253, 0.06);
    border-radius: 0.25rem;
}

[data-bs-theme="dark"] .saved-account-item .saved-account-pick:hover {
    background-color: rgba(13, 110, 253, 0.18);
}

.password-field-wrap .password-toggle-btn {
    position: absolute;
    top: 50%;
    right: 0.25rem;
    transform: translateY(-50%);
    padding: 0.25rem 0.5rem;
    color: #6c757d;
    text-decoration: none;
    line-height: 0;
    z-index: 5;
}

.password-field-wrap .password-toggle-btn:hover {
    color: #0d6efd;
}

.navbar-user-menu .nav-item {
    display: flex;
    align-items: center;
}

.navbar-user-menu .nav-link {
    display: inline-flex;
    align-items: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    line-height: 1.5;
}

.navbar-dark .navbar-nav .nav-link.active {
    font-weight: 600;
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 0.375rem;
}

.schedule-grid th,
.schedule-grid td {
    vertical-align: top;
    min-width: 120px;
}

.schedule-cell {
    min-height: 64px;
    font-size: 0.85rem;
}

.schedule-cell .badge {
    font-size: 0.7rem;
}

.schedule-cell-today {
    background-color: rgba(13, 110, 253, 0.08);
}

[data-bs-theme="dark"] .schedule-cell-today {
    background-color: rgba(13, 110, 253, 0.22);
}

.schedule-pair-label {
    min-width: 6.5rem;
}

.schedule-break-row {
    background-color: rgba(108, 117, 125, 0.08);
}

[data-bs-theme="dark"] .schedule-break-row {
    background-color: rgba(255, 255, 255, 0.06);
}

.schedule-break-cell {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    font-size: 0.75rem;
}

.schedule-time-badge {
    line-height: 1.2;
}

.day-cards {
    display: none;
}

@media (max-width: 768px) {
    .schedule-table-wrap {
        display: none;
    }
    .day-cards {
        display: block;
    }
}

@media print {
    .navbar,
    .no-print {
        display: none !important;
    }
}
