/* Custom overrides for Twenty-One theme */
#header.header,
#header .topbar,
#header .navbar,
#header .main-navbar-wrapper {
    background-color: #121A2A !important;
}

/* Header menu text contrast */
#header .navbar-nav .nav-link,
#header .navbar-nav .dropdown-toggle,
#header .navbar-brand,
#header .navbar-light .navbar-nav .nav-link,
#header .navbar-light .navbar-nav .show>.nav-link,
#header .navbar-light .navbar-brand,
#header .navbar a,
#header .main-navbar-wrapper .navbar-nav a,
#header .topbar .btn,
#header .topbar .input-group-text,
#header .topbar .btn-active-client span,
#header .toolbar .nav-link,
#header .toolbar .nav-link i,
#header .navbar-nav i {
    color: #ffffff !important;
}

#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus,
#header .navbar-nav .dropdown-toggle:hover,
#header .navbar-nav .dropdown-toggle:focus,
#header .navbar-brand:hover,
#header .navbar-brand:focus,
#header .toolbar .nav-link:hover,
#header .toolbar .nav-link:focus,
#header .navbar a:hover,
#header .navbar a:focus {
    color: #ffffff !important;
    opacity: 0.9;
}

/* Dropdown submenu items readable on light background */
#header .dropdown-menu .dropdown-item,
#header .dropdown-menu .dropdown-item a,
#header .navbar .dropdown-menu a {
    color: #000000 !important;
    opacity: 1 !important;
}

#header .dropdown-menu .dropdown-item:hover,
#header .dropdown-menu .dropdown-item:focus,
#header .dropdown-menu .dropdown-item a:hover,
#header .dropdown-menu .dropdown-item a:focus,
#header .navbar .dropdown-menu a:hover,
#header .navbar .dropdown-menu a:focus {
    color: #000000 !important;
}

/* Footer color aligned with header */
footer.footer {
    background-color: #121A2A !important;
}

footer.footer,
footer.footer .nav-link,
footer.footer .copyright,
footer.footer .btn {
    color: #ffffff !important;
}

/* Keep footer at bottom */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#main-body {
    flex: 1 0 auto;
}

#footer {
    margin-top: auto;
}

/* Homepage account cards: bigger in 2x2 layout */
.homepage-account-grid {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.homepage-account-grid > div {
    margin-bottom: 1.25rem;
}

.homepage-account-grid a {
    min-height: 140px;
    font-size: 1.1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.homepage-account-grid .ico-container {
    font-size: 1.6rem;
    margin-bottom: 0.75rem;
}

/* Open ticket departments as 2 cards */
.ticket-departments-grid {
    margin-top: 1.5rem;
}

.ticket-department-card {
    background: #ffffff;
    border: 1px solid #dcdfe6;
    border-radius: 8px;
    padding: 1.1rem 1.25rem;
    height: 100%;
    color: #2f3f55 !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ticket-department-card:hover,
.ticket-department-card:focus {
    border-color: #336699;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    color: #2f3f55 !important;
    text-decoration: none !important;
}

.ticket-department-card .h5 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 0.75rem !important;
}

.ticket-department-card .text-muted {
    font-size: 0.8rem;
    line-height: 1.4;
}