#navbar.public-navigation {
    top: 0;
    right: 0;
    left: 0;
    padding-block: .65rem !important;
    background: linear-gradient(100deg, #17377f, #2455c5);
    border-bottom: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 4px 16px rgba(15,45,132,.08);
    transition: background .2s ease, box-shadow .2s ease;
}
#navbar.public-navigation .container { max-width: 1180px; gap: 1rem; }
#navbar.public-navigation .navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    width: auto;
    height: auto;
    padding: 0;
    border-radius: 0;
    background: none;
    margin: 0;
    text-decoration: none;
}
.public-brand-mark { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 64px; height: 52px; padding: 3px; border-radius: 10px; background: #fff; border: 1px solid rgba(255,255,255,.4); }
#navbar.public-navigation .navbar-brand img { width: 56px; height: 45px; filter: none; object-fit: contain; }
#navbar.public-navigation .public-brand-name { color: #fff; font-size: 1.15rem; font-weight: 800; letter-spacing: -.025em; }
#navbar.public-navigation .public-brand-name > span { color: #bde5ff; }
#navbar.public-navigation .navbar-nav { align-items: center; gap: .4rem; }
#navbar.public-navigation .nav-item { padding: 0 !important; width: auto; }
#navbar.public-navigation .public-nav-link,
#navbar.public-navigation .public-signup-link { display: inline-flex; justify-content: center; align-items: center; gap: .55rem; min-height: 44px; padding: .6rem .9rem; border-radius: 9px; text-decoration: none; color: #edf3ff; font-size: .9rem; font-weight: 600; line-height: 1.4; transition: background .2s ease, color .2s ease; }
#navbar.public-navigation .public-nav-link:hover { background: rgba(255,255,255,.12); color: #fff; }
#navbar.public-navigation .public-nav-link.is-active { background: rgba(255,255,255,.18); color: #fff; box-shadow: inset 0 -2px 0 #bde5ff; }
#navbar.public-navigation .public-nav-auth { border-left: 1px solid rgba(255,255,255,.25); margin-left: .5rem; padding-left: .8rem !important; }
#navbar.public-navigation .public-signup-link { background: #15803d; border: 1px solid rgba(255,255,255,.2); color: #fff; padding-inline: 1rem; }
#navbar.public-navigation .public-signup-link:hover { background: #166534; }
#navbar.public-navigation a:focus-visible,
#navbar.public-navigation .navbar-toggler:focus-visible { outline: 3px solid #bae6fd; outline-offset: 3px; box-shadow: none; }
#navbar.public-navigation .navbar-toggler { min-width: 44px; min-height: 44px; padding: .45rem; color: #fff !important; border-color: rgba(255,255,255,.4); border-radius: 9px; background: rgba(255,255,255,.08); box-shadow: none; }
#navbar.public-navigation .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
@media (max-width: 1199.98px) {
    #navbar.public-navigation .navbar-collapse { margin-top: .3rem; padding: .75rem; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: #17377f; box-shadow: none; max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
    #navbar.public-navigation .navbar-nav { align-items: stretch !important; gap: .4rem; }
    #navbar.public-navigation .nav-item { width: 100%; }
    #navbar.public-navigation .public-nav-link { width: 100%; justify-content: flex-start; }
    #navbar.public-navigation .public-signup-link { width: 100%; }
    #navbar.public-navigation .public-nav-auth { margin: .4rem 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding: .5rem 0 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    #navbar.public-navigation, #navbar.public-navigation a, #navbar.public-navigation .navbar-collapse { transition: none; }
}
