main > .container, main > .container-fluid
{
    padding: 70px 15px 20px;
}

/* Warna navy UHOku - sama dengan --uhoku-navy di backend/uhoku-theme.css,
   dipakai heading halaman publik (beranda & about) supaya konsisten. */
.text-uhoku-navy {
    color: #183050 !important;
}

/* Brand navbar publik - logo UHOku, konsisten dengan backend/manajemen. */
.uhoku-navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 600;
}

.uhoku-navbar-logo {
    height: 32px;
    width: auto;
    border-radius: .25rem;
}

.footer {
    background-color: #f5f5f5;
    font-size: .9em;
    height: 60px;
}

.footer > .container, .footer > .container-fluid {
    padding-right: 15px;
    padding-left: 15px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view {
    display: block;
    overflow-x: auto;
}

.grid-view th,
.grid-view td:last-child {
    white-space: nowrap;
}

.grid-view .filters input,
.grid-view .filters select {
    min-width: 50px;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.navbar form > button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

@media(max-width:767px) {
    .navbar form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.navbar form > button.logout:focus,
.navbar form > button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.navbar form > button.logout:focus {
    outline: none;
}

/* style breadcrumb widget as in previous bootstrap versions */
.breadcrumb {
    background-color: var(--bs-gray-200);
    border-radius: .25rem;
    padding: .75rem 1rem;
}

.breadcrumb-item > a
{
    text-decoration: none;
}

/*
 * Tema aksen per role (diterapkan sebagai class pada <body>, lihat
 * frontend/views/layouts/main.php). Hanya mengubah warna aksen
 * (navbar, tombol utama, badge) lewat CSS custom property Bootstrap,
 * bukan struktur/layout halaman.
 */
.theme-dosen {
    --accent-color: #185FA5;
    --accent-color-rgb: 24, 95, 165;
    --bs-primary-rgb: var(--accent-color-rgb);
    --bs-dark-rgb: var(--accent-color-rgb);
}

.theme-mahasiswa {
    --accent-color: #0F6E56;
    --accent-color-rgb: 15, 110, 86;
    --bs-primary-rgb: var(--accent-color-rgb);
    --bs-dark-rgb: var(--accent-color-rgb);
}

.theme-dosen .btn-primary,
.theme-mahasiswa .btn-primary {
    --bs-btn-bg: var(--accent-color);
    --bs-btn-border-color: var(--accent-color);
    --bs-btn-hover-bg: var(--accent-color);
    --bs-btn-hover-border-color: var(--accent-color);
    --bs-btn-active-bg: var(--accent-color);
    --bs-btn-active-border-color: var(--accent-color);
    --bs-btn-focus-shadow-rgb: var(--accent-color-rgb);
}

/* Sidebar (layout 'sidebar', state sudah login) - warna aksen & menu
   aktif ikut peran, pola sama seperti aplikasi manajemen. Sidebar itu
   sendiri (.uhoku-sidebar/.uhoku-nav-link) datang dari
   common\assets\SidebarAsset (dipakai bareng backend/manajemen) -
   warnanya sengaja default netral di situ, di-override di sini per
   peran supaya file yang dipakai bareng itu tidak perlu tahu soal tema.
   TIDAK memengaruhi navbar publik (halaman belum login, layout 'main'
   tetap tidak diubah). */
.theme-dosen .uhoku-sidebar,
.theme-mahasiswa .uhoku-sidebar {
    background-color: var(--accent-color) !important;
}

.theme-dosen .uhoku-nav-link.active,
.theme-mahasiswa .uhoku-nav-link.active {
    background-color: #fff !important;
    color: var(--accent-color) !important;
}

.uhoku-sidebar-scope-label {
    padding: .5rem 1rem;
    font-size: .78rem;
    color: rgba(255, 255, 255, .75);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.uhoku-sidebar-collapsed .uhoku-sidebar-scope-label {
    display: none;
}