        .admin-shortcuts-dropdown .dropdown-toggle {
            font-weight: 600;
        }

        .admin-shortcuts-dropdown .dropdown-item.active,
        .admin-shortcuts-dropdown .dropdown-item:active {
            background-color: #0d6efd;
        }

        .navbar .nav-link {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            border-radius: var(--nav-pill, 999px);
            color: rgba(255, 255, 255, 0.82);
            font-weight: 600;
            margin-left: 0.2rem;
            padding: 0.45rem 0.8rem;
            transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
        }

        .navbar {
            padding: 0.7rem 0;
        }

        .navbar-brand {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
        }

        .navbar-brand img {
            height: 46px;
            width: auto;
            margin-right: 0 !important;
        }

        .navbar-brand h1 {
            font-size: 1.7rem;
            font-weight: 600;
            line-height: 1;
            margin: 0;
        }

        .navbar .nav-link:hover,
        .navbar .nav-link:focus,
        .navbar .nav-link.active {
            color: #ffffff;
            background: var(--nav-bar-active, rgba(255, 255, 255, 0.14));
            transform: translateY(-1px);
        }

        .navbar .nav-link i {
            font-size: 1rem;
            vertical-align: middle;
        }

        .navbar .dropdown-menu {
            border: 0;
            border-radius: 0.6rem;
            box-shadow: 0 16px 38px rgba(5, 35, 75, 0.18);
            animation: nav-dropdown-enter 160ms ease-out;
        }

        .navbar .dropdown-item {
            transition: background-color 0.15s ease, color 0.15s ease;
        }

        .navbar .dropdown-item:hover,
        .navbar .dropdown-item:focus {
            background-color: rgba(13, 110, 253, 0.08);
            color: #0a4c9a;
        }

        .language-selector .language-toggle {
            border: 0;
            background: transparent;
        }

        .language-selector .language-toggle img {
            width: 22px;
            height: 22px;
            object-fit: contain;
        }

        .language-selector .language-loading {
            display: none;
            width: 0.8rem;
            height: 0.8rem;
            border: 2px solid rgba(255, 255, 255, 0.38);
            border-top-color: #ffffff;
            border-radius: 50%;
            animation: dashboard-language-spin 0.75s linear infinite;
        }

        .language-selector.is-translating .language-loading {
            display: inline-block;
        }

        .language-selector .dropdown-menu {
            max-height: min(320px, calc(100vh - 130px));
            overflow-y: auto;
            overflow-x: hidden;
        }

        .language-selector .dropdown-item.active {
            color: #ffffff;
            background-color: #0d6efd;
        }

        #google_translate_element {
            position: absolute;
            left: -9999px;
            top: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        iframe.goog-te-banner-frame,
        .goog-te-banner-frame,
        .goog-te-balloon-frame,
        .goog-te-menu-frame,
        .VIpgJd-ZVi9od-ORHb,
        .VIpgJd-ZVi9od-ORHb-OEVmcd,
        .VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
        .VIpgJd-ZVi9od-aZ2wEe-OiiCO,
        .VIpgJd-ZVi9od-aZ2wEe,
        .VIpgJd-yAWNEb-L7lbkb,
        body > .skiptranslate,
        body > iframe.skiptranslate {
            display: none !important;
            visibility: hidden !important;
            width: 0 !important;
            height: 0 !important;
            border: 0 !important;
        }

        body {
            top: 0 !important;
        }

        html.translated-ltr body,
        html.translated-rtl body {
            top: 0 !important;
            position: static !important;
            min-height: 100% !important;
            max-width: 100vw;
            overflow-x: hidden;
        }

        html.translated-ltr,
        html.translated-rtl {
            max-width: 100vw;
            overflow-x: hidden;
        }

        html.translated-ltr font,
        html.translated-rtl font {
            font: inherit !important;
            font-size: inherit !important;
            font-family: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
        }

        html.translated-ltr .navbar,
        html.translated-rtl .navbar,
        html.translated-ltr .main-container,
        html.translated-rtl .main-container {
            overflow-wrap: anywhere;
            word-break: normal;
        }

        html.translated-ltr .navbar .nav-link,
        html.translated-rtl .navbar .nav-link,
        html.translated-ltr .dropdown-item,
        html.translated-rtl .dropdown-item,
        html.translated-ltr .card,
        html.translated-rtl .card,
        html.translated-ltr .btn,
        html.translated-rtl .btn {
            min-width: 0;
            white-space: normal;
        }

        html.translated-ltr .navbar,
        html.translated-rtl .navbar {
            min-height: 98px;
            max-width: 100vw;
            overflow: visible;
        }

        html.translated-ltr .navbar .container,
        html.translated-rtl .navbar .container {
            width: 100%;
            max-width: 100%;
            min-width: 0;
        }

        html.translated-ltr .navbar-brand,
        html.translated-rtl .navbar-brand {
            flex: 0 1 auto;
            min-width: 0;
            max-width: 16rem;
            overflow: visible;
        }

        html.translated-ltr .navbar .nav-link,
        html.translated-rtl .navbar .nav-link {
            min-height: 42px;
            max-width: 8.5rem;
            flex-wrap: wrap;
            justify-content: center;
            white-space: normal;
            overflow: hidden;
            line-height: 1.15;
            font-size: 0.9rem;
        }

        html.translated-ltr .navbar-collapse,
        html.translated-rtl .navbar-collapse,
        html.translated-ltr .navbar-nav,
        html.translated-rtl .navbar-nav,
        html.translated-ltr .navbar .nav-item,
        html.translated-rtl .navbar .nav-item {
            min-width: 0;
        }

        html.translated-ltr .navbar .nav-item,
        html.translated-rtl .navbar .nav-item {
            flex: 0 1 auto;
            overflow: visible;
        }

        html.translated-ltr .navbar .dropdown,
        html.translated-rtl .navbar .dropdown,
        html.translated-ltr .navbar .dropdown-menu,
        html.translated-rtl .navbar .dropdown-menu {
            overflow: visible;
            z-index: 1085;
        }

        html.translated-ltr .language-selector .dropdown-menu,
        html.translated-rtl .language-selector .dropdown-menu {
            max-height: min(320px, calc(100vh - 130px));
            overflow-y: auto;
            overflow-x: hidden;
        }

        html.translated-ltr .navbar .nav-link font,
        html.translated-rtl .navbar .nav-link font {
            display: -webkit-box !important;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            white-space: normal !important;
            overflow-wrap: anywhere;
            text-align: center;
        }

        html.translated-ltr .navbar-brand h1,
        html.translated-rtl .navbar-brand h1 {
            max-width: 11rem;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        html.translated-ltr .language-selector .language-toggle,
        html.translated-rtl .language-selector .language-toggle {
            max-width: 7.5rem;
        }

        html.translated-ltr .language-selector .language-toggle span:not(.language-loading),
        html.translated-rtl .language-selector .language-toggle span:not(.language-loading) {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        @media (min-width: 992px) {
            html.translated-ltr .navbar .container,
            html.translated-rtl .navbar .container,
            html.translated-ltr .navbar-nav,
            html.translated-rtl .navbar-nav {
                flex: 1 1 auto;
                flex-wrap: nowrap;
                align-items: center;
                justify-content: flex-end;
                overflow: visible;
            }
        }

        @media (max-width: 991px) {
            html.translated-ltr .navbar,
            html.translated-rtl .navbar {
                min-height: auto;
                overflow: visible;
            }

            html.translated-ltr .navbar .container,
            html.translated-rtl .navbar .container {
                align-items: center;
                flex-wrap: wrap;
            }

            html.translated-ltr .navbar-collapse,
            html.translated-rtl .navbar-collapse {
                flex-basis: 100%;
                width: 100%;
                overflow: visible;
                position: static;
                z-index: auto;
            }

            html.translated-ltr .navbar-collapse:not(.show):not(.collapsing),
            html.translated-rtl .navbar-collapse:not(.show):not(.collapsing) {
                display: none !important;
            }

            html.translated-ltr .navbar-collapse.show,
            html.translated-rtl .navbar-collapse.show {
                display: block !important;
                height: auto !important;
                padding-top: 0.55rem;
            }

            html.translated-ltr .navbar-collapse.collapsing,
            html.translated-rtl .navbar-collapse.collapsing {
                display: block !important;
                overflow: hidden;
                padding-top: 0.55rem;
                transition: height 0.35s ease;
            }

            html.translated-ltr .navbar-nav,
            html.translated-rtl .navbar-nav {
                width: 100%;
                display: flex;
                flex: 0 0 100%;
                flex-direction: column;
                flex-wrap: nowrap;
                align-items: stretch;
                overflow: visible;
                gap: 0.15rem;
            }

            html.translated-ltr .navbar .nav-item,
            html.translated-rtl .navbar .nav-item {
                width: 100%;
                flex: 0 0 auto;
            }

            html.translated-ltr .navbar .nav-link,
            html.translated-rtl .navbar .nav-link {
                width: 100%;
                max-width: none;
                min-height: 0;
                justify-content: flex-start;
                flex-wrap: nowrap;
                white-space: normal;
                overflow: visible;
                text-align: left;
            }

            html.translated-ltr .navbar .nav-link font,
            html.translated-rtl .navbar .nav-link font {
                display: inline !important;
                -webkit-line-clamp: unset;
                visibility: visible !important;
                opacity: 1 !important;
                overflow: visible;
                text-align: left;
                text-overflow: clip;
                white-space: normal !important;
            }

            html.translated-ltr .language-selector .language-toggle,
            html.translated-rtl .language-selector .language-toggle {
                max-width: none;
            }

            html.translated-ltr .language-selector .language-toggle span:not(.language-loading),
            html.translated-rtl .language-selector .language-toggle span:not(.language-loading) {
                overflow: visible;
                text-overflow: clip;
                white-space: normal;
            }

            html.translated-ltr .navbar .dropdown-menu,
            html.translated-rtl .navbar .dropdown-menu {
                position: static !important;
                float: none;
                width: 100%;
                max-width: none;
                margin-top: 0.25rem;
                transform: none !important;
            }

            html.translated-ltr .language-selector .dropdown-menu,
            html.translated-rtl .language-selector .dropdown-menu {
                max-height: 260px;
                overflow-y: auto;
            }
        }

        html.translated-ltr .landing-hero,
        html.translated-rtl .landing-hero {
            overflow: hidden;
        }

        html.translated-ltr .landing-eyebrow,
        html.translated-rtl .landing-eyebrow {
            font-size: 1.45rem;
            line-height: 1.2;
            letter-spacing: 0.06em;
        }

        html.translated-ltr .landing-title,
        html.translated-rtl .landing-title {
            font-size: clamp(2.3rem, 4.6vw, 4.7rem);
            line-height: 1.02;
        }

        html.translated-ltr .landing-copy,
        html.translated-rtl .landing-copy {
            font-size: 1.03rem;
            line-height: 1.62;
            max-width: 680px;
        }

        @keyframes dashboard-language-spin {
            to {
                transform: rotate(360deg);
            }
        }

        .auth-page {
            --auth-ink: #0d1b2a;
            --auth-muted: #50647d;
            --auth-line: #d6e4f2;
            --auth-accent: #0d6efd;
            padding: 1.5rem 0 2.5rem;
        }

        .auth-shell {
            background: #ffffff;
            border: 1px solid #d6e4f2;
            border-radius: 8px;
            box-shadow: 0 18px 48px rgba(10, 34, 64, 0.12);
            overflow: hidden;
        }

        .auth-info {
            position: relative;
            isolation: isolate;
            overflow: hidden;
            background:
                linear-gradient(150deg, rgba(8, 37, 75, 0.96), rgba(9, 83, 171, 0.86)),
                #0c4f9f;
            color: #ffffff;
            padding: 2.25rem 1.9rem;
        }

        .auth-info::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 12px;
            z-index: -1;
            width: 200px;
            height: 200px;
            background: url("../../images/logo.png") center / contain no-repeat;
            opacity: 0.12;
            pointer-events: none;
            animation: auth-logo-rotate 150s linear infinite;
            filter:
                drop-shadow(0 0 1px rgba(255, 255, 255, 0.9))
                drop-shadow(0 0 1px rgba(255, 255, 255, 0.9))
                drop-shadow(0 0 1.5px rgba(255, 255, 255, 0.6));
        }

        @keyframes auth-logo-rotate {
            from {
                transform: rotate(0deg);
            }
            to {
                transform: rotate(360deg);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .auth-info::after {
                animation: none;
            }
        }

        .auth-info h1,
        .auth-info h2 {
            color: #ffffff;
            font-weight: 800;
            letter-spacing: 0;
        }

        .auth-info p {
            color: rgba(255, 255, 255, 0.86);
            line-height: 1.65;
        }

        .auth-form-wrap {
            background: #ffffff;
            padding: 2.25rem 1.9rem;
        }

        .auth-title {
            color: var(--auth-ink);
            font-weight: 800;
        }

        .auth-subtitle,
        .auth-links {
            color: var(--auth-muted);
        }

        .auth-input-group .input-group-text,
        .auth-input-group .form-control,
        .auth-input-group .btn {
            border-color: var(--auth-line);
        }

        .auth-input-group .input-group-text {
            background: #f5f9fd;
            color: #51677f;
        }

        .auth-input-group .form-control {
            background: #ffffff;
        }

        .btn-auth-primary {
            background: #0d6efd;
            border: 1px solid #0d6efd;
            border-radius: 999px;
            box-shadow: 0 12px 24px rgba(13, 110, 253, 0.22);
            font-weight: 800;
        }

        .btn-auth-primary:hover,
        .btn-auth-primary:focus {
            background: #095fcf;
            border-color: #095fcf;
            transform: translateY(-1px);
        }

        .auth-divider::before,
        .auth-divider::after {
            background: #dbe7f3;
        }

        .auth-note,
        .auth-cta {
            border: 1px solid #d6e4f2;
            border-radius: 8px;
            background: #f6f9fc;
            color: #26384d;
        }

        @keyframes nav-dropdown-enter {
            from {
                opacity: 0;
                transform: translateY(6px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Pages are visible from the first paint. They used to start at opacity 0 and wait for a script near the end
           of the page to fade them in, which showed a blank flash on every click. Chrome/Edge now crossfade between
           pages with view transitions (theme.css); other browsers get a short fade that starts immediately. */
        .auth-page {
            opacity: 1;
            transform: none;
        }

        @supports not (view-transition-name: none) {
            .auth-page { animation: auth-page-enter 240ms ease-out both; }
        }

        .auth-page.auth-page-leave {
            opacity: 0;
            transform: translateY(-6px);
            transition: opacity 180ms ease-in, transform 180ms ease-in;
        }

        .page-transition-surface {
            opacity: 1;
            transform: none;
        }

        @supports not (view-transition-name: none) {
            .page-transition-surface { animation: page-transition-enter 220ms ease-out both; }
        }

        .page-transition-surface.page-transition-leave {
            opacity: 0;
            transform: translateY(-5px);
            transition: opacity 170ms ease-in, transform 170ms ease-in;
        }

        /* Phones and touch screens: no entrance fade either (the crossfade between pages is off there, see theme.css) */
        @media (max-width: 767.98px), (hover: none) and (pointer: coarse) {
            .auth-page,
            .page-transition-surface { animation: none; }
        }

        body.modal-open .page-transition-surface {
            opacity: 1 !important;
            transform: none !important;
            animation: none !important;
        }

        @keyframes auth-page-enter {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes page-transition-enter {
            from {
                opacity: 0;
                transform: translateY(8px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .auth-page {
                opacity: 1;
                transform: none;
            }

            .auth-page.auth-page-ready {
                animation: none;
            }

            .auth-page.auth-page-leave {
                transition: none;
            }

            .page-transition-surface,
            .auth-page {
                animation: none !important;
            }

            .page-transition-surface {
                opacity: 1;
                transform: none;
            }

            .page-transition-surface.page-transition-ready {
                animation: none;
            }

            .page-transition-surface.page-transition-leave {
                transition: none;
            }
        }

        @media (max-width: 991px) {
            .navbar {
                padding: 0.55rem 0;
            }

            .navbar-brand {
                gap: 0.42rem;
                max-width: calc(100vw - 96px);
            }

            .navbar-brand img {
                height: 38px;
            }

            .navbar-brand h1 {
                font-size: 1.35rem;
            }

            .navbar-toggler {
                padding: 0.35rem 0.55rem;
                border-radius: 0.55rem;
            }

            .navbar-collapse {
                padding-top: 0.55rem;
            }

            .navbar-nav {
                gap: 0.15rem;
            }

            .navbar .nav-link {
                display: flex;
                width: 100%;
                margin-left: 0;
                padding: 0.46rem 0.75rem;
            }
        }
    
