/* Shared public shell: header, navigation and footer for all pages using _HomeLayout. */
.login-accent-bar {
    height: 5px !important;
    border: 0 !important;
    background: linear-gradient(90deg, #102d63 0%, #1c73ad 52%, #49b7bf 100%) !important;
}
.login-accent-bar--below-header { height: 3px !important; opacity: .92; }
.login-header {
    display: flow-root;
    min-height: 104px;
    padding: 10px 18px 8px;
}
.login-header-brand { display: flex; align-items: center; min-height: 86px; }
.login-header-brand--university { justify-content: flex-start; }
.login-header-brand--application { flex-direction: column; justify-content: center; align-items: flex-end; }
.login-header .web-university-logo { width: auto; height: 82px; max-width: 290px; margin: 0; object-fit: contain; }
.login-header .web-tabib-logo { width: auto; height: 62px; max-width: 270px; margin: 0; object-fit: contain; }
.login-application-title { margin-top: 3px; color: #385579 !important; font-size: 12px !important; font-weight: 600 !important; }
.login-mobile-brand { display: flex; min-height: 62px; align-items: center; }
.login-mobile-brand .mobile-logo { width: auto; height: 54px !important; max-width: 195px; margin: 5px 0; object-fit: contain; }

.top-menu-container {
    min-height: 42px;
    border: 0;
    background: #102d63;
    box-shadow: 0 3px 12px rgba(16,45,99,.14);
    position: relative;
    z-index: 30;
}
.login-desktop-nav { border-top: 1px solid rgba(255,255,255,.08); }
.login-nav-list { display: flex; align-items: center; min-height: 46px; gap: 4px; margin: 0 auto; padding: 0 14px; }
.login-nav-list li { display: block !important; float: none !important; }
.login-nav-list li a {
    display: inline-flex !important;
    align-items: center;
    border-radius: 8px;
    color: #edf6ff !important;
    padding: 8px 13px !important;
    font-size: 13px !important;
    line-height: 1.6;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.login-nav-list li a:hover,
.login-nav-list li a:focus-visible { color: #fff !important; background: rgba(255,255,255,.14); transform: translateY(-1px); }
.login-nav-list .login-nav-action { margin-right: auto; }
.login-nav-list .login-nav-action a { min-height: 38px; border-radius: 12px !important; background: #39aeb9; color: #fff !important; font-weight: 700; }
.login-nav-list .login-nav-action a:hover,
.login-nav-list .login-nav-action a:focus-visible { background: #4fc4c6; }

.footer {
    min-height: 0 !important;
    margin-top: 24px !important;
    padding: 0 !important;
    border-top: 3px solid #1e6fa8;
    background: #10234b !important;
    color: #eaf3fb;
}
.footer-inner { width: min(100%, 1160px); margin: 0 auto; padding: 14px 24px 16px; }
.footer-links { display: grid; grid-template-columns: 110px minmax(0, 1.4fr) minmax(240px, 1fr); gap: 22px; padding: 0 !important; background: transparent !important; }
.footer-trust { display: flex; align-items: flex-start; justify-content: center; min-height: 92px; padding: 4px; border: 1px solid rgba(214,234,249,.18); border-radius: 12px; background: rgba(255,255,255,.06); }
.footer-trust img { width: 76px; max-width: 100%; height: auto; cursor: pointer; }
.footer-trust--empty { visibility: hidden; border-color: transparent; background: transparent; }
.footer-links-list .ul-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 18px; margin: 0; padding: 0; list-style: none; }
.footer-links-list .ul-links li { padding: 0 !important; min-width: 0; }
.footer-links-list .ul-links li::before { display: none; }
.footer-links-list .ul-links a { display: flex; align-items: center; gap: 7px; min-height: 28px; color: #d6e7f4 !important; font-size: 12px; transition: color .16s ease, transform .16s ease; }
.footer-links-list .ul-links a i { color: #54c4c9; font-size: 11px; }
.footer-links-list .ul-links a:hover { color: #fff !important; transform: translateX(-2px); }
.footer-addresses { display: flex; flex-direction: column; gap: 7px; padding-right: 16px; border-right: 1px solid rgba(214,234,249,.16); }
.footer-address-item { color: #c9ddec; font-size: 11px; line-height: 1.9; }
.version-control { display: flex; align-items: center; justify-content: space-between; min-height: 32px; padding: 0 24px; direction: ltr; background: #091837 !important; color: #a9bed2; font-size: 10px; }
.version-control a, .version-control span { color: #a9bed2 !important; }

@media (max-width: 767.98px) {
    .login-header { min-height: 78px; padding: 5px 10px; }
    .login-header .web-university-logo, .login-header .web-tabib-logo { height: 52px; }
    .top-menu-container { min-height: 42px; }
    .login-mobile-nav .mobile-top-menu-row { position: relative; min-height: 46px; width: 100%; margin: 0; padding: 0 8px; display: flex; align-items: center; direction: rtl; }
    .login-mobile-nav .mobile-top-menu-row li { float: none !important; }
    .login-mobile-nav .mobile-top-menu-row .mobile-menu-trigger { position: absolute; top: 4px; right: 8px; order: 0; margin: 0 !important; }
    .login-mobile-nav .mobile-top-menu-row #main-mobile-menu-button { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 11px; color: #fff; background: rgba(255,255,255,.13); font-size: 17px; line-height: 1; }
    .login-mobile-nav .mobile-top-menu-row .login-nav-action { position: absolute; top: 4px; left: 8px; display: inline-flex !important; order: 1; margin: 0 !important; }
    .login-mobile-nav .mobile-top-menu-row .login-menu-button { display: inline-flex !important; min-height: 38px; align-items: center; justify-content: center; gap: 6px; padding: 0 12px !important; border-radius: 11px !important; color: #fff !important; background: #39aeb9 !important; font-size: 12px; }
    .mobile-top-menu { top: 46px !important; z-index: 40 !important; border: 0; border-radius: 0 0 18px 18px; background: linear-gradient(180deg, #102d63, #153d7b); box-shadow: 0 14px 26px rgba(16,45,99,.25); }
    .mobile-top-menu li a { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; color: #edf6ff; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 13px; }
    .footer { margin-top: 16px !important; }
    .footer-inner { padding: 16px 14px 14px; }
    .footer-links { grid-template-columns: 1fr; gap: 14px; }
    .footer-trust { width: 94px; min-height: 76px; margin: 0 auto; }
    .footer-links-list .ul-links { grid-template-columns: 1fr 1fr; gap: 4px 12px; }
    .footer-addresses { padding: 12px 0 0; border-top: 1px solid rgba(214,234,249,.16); border-right: 0; }
    .version-control { min-height: 36px; padding: 0 14px; }
}
