/* UTT Platform Custom Styles */

/* ── Global dark-background text ───────────────────────────────── */
:root {
    --bs-body-color: #e8edf5;
    --bs-heading-color: #ffffff;
    --bs-link-color: #93c5fd;
    --bs-link-hover-color: #bfdbfe;
}
body {
    color: #e8edf5;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: #ffffff !important;
}
p, li, label, .form-label, .form-text {
    color: #cbd5e1;
}
/* Muted text lightened for dark bg */
.text-muted {
    color: #94a3b8 !important;
}
/* Links on dark bg */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item) {
    color: #93c5fd;
}
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):hover {
    color: #bfdbfe;
}

/* General */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Navbar */
.navbar-brand i {
    font-size: 1.5rem;
}

/* Cards — keep dark text on white background */
.card {
    --bs-body-color: #212529;
    --bs-heading-color: #111827;
    --bs-link-color: #0d6efd;
    --bs-link-hover-color: #0a58ca;
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    color: #212529;
}
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.card .h1, .card .h2, .card .h3, .card .h4, .card .h5, .card .h6 {
    color: #111827 !important;
}
.card p, .card li, .card label, .card .form-label, .card .form-text {
    color: #374151;
}
.card .text-muted {
    color: #6b7280 !important;
}
.card a:not(.btn) {
    color: #0d6efd;
}
.card a:not(.btn):hover {
    color: #0a58ca;
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    font-weight: 500;
}

/* Stat cards */
.card.bg-primary .card-footer,
.card.bg-success .card-footer,
.card.bg-info .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* Tables */
.table > :not(caption) > * > * {
    padding: 0.75rem 1rem;
}

.table-hover > tbody > tr:hover {
    background-color: rgba(0, 123, 255, 0.05);
}

/* Badges */
.badge {
    font-weight: 500;
}

/* List groups */
.list-group-item {
    border-left: none;
    border-right: none;
}

.list-group-item:first-child {
    border-top: none;
}

.list-group-item:last-child {
    border-bottom: none;
}

/* Forms */
.form-control:focus,
.form-select:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);
}

/* Buttons */
.btn {
    font-weight: 500;
}

/* Profile avatar placeholder */
.bg-primary.rounded-circle {
    font-weight: 600;
}

/* Messages/Alerts */
.messages .alert {
    margin-bottom: 0.5rem;
}

.messages .alert:last-child {
    margin-bottom: 1rem;
}

/* Breadcrumbs */
.breadcrumb {
    background: none;
    padding: 0;
    margin-bottom: 0;
}

/* Footer */
footer {
    margin-top: auto;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .card-body {
        padding: 1rem;
    }

    .btn-group-sm .btn {
        padding: 0.25rem 0.5rem;
    }
}

/* Safe-area insets — notched iPhones (X, 11, 12+, Dynamic Island) */
#navToggle {
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
}
.quick-feedback-btn {
    bottom: max(84px, calc(84px + env(safe-area-inset-bottom)));
    right: max(20px, calc(20px + env(safe-area-inset-right)));
}
.message-notification-badge {
    bottom: max(20px, calc(20px + env(safe-area-inset-bottom)));
    right: max(20px, calc(20px + env(safe-area-inset-right)));
}

/* Dropdown menu styling */
.dropdown-menu {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border: none;
}

.dropdown-item:active {
    background-color: var(--bs-primary);
}

/* Tag badges */
.badge a {
    text-decoration: none;
}

.badge a:hover {
    opacity: 0.8;
}
