:root{
    --mdo-blue:#1d4fa3;
    --mdo-stroke:3;
}

body{
    background:#f8f9fa;
    margin:0;
}

.edge-pad{
    padding-left:20px;
    padding-right:20px;
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
}

.site-header{
    position:fixed;
    top:-15px;
    left:0;
    right:0;
    z-index:1030;
}

.site-header .navbar{
    background:#fff !important;
    border-bottom:0;
    transition:transform .3s ease;
}

.site-header .navbar-collapse{
    background:#fff;
}

.site-header .dropdown-menu{
    background:#fff;
}

.navbar.hide{
    transform:translateY(-100%);
}

.nav-top-actions{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-left:auto;
}

.nav-divider{
    border-left:1px solid rgba(0,0,0,.1);
    margin:0 .5rem;
}

.nav-item.highlight .nav-link{
    background:#007bff;
    color:#fff !important;
    font-weight:500;
    padding:6px 12px;
    border-radius:6px;
    box-shadow:0 2px 4px rgba(0,0,0,.15);
    transition:.2s;
    font-size:.9rem;
    line-height:1.5;
    display:inline-block;
}

.header-wave{
    background:transparent;
    pointer-events:none;
    margin-top:0;
    margin-bottom:0;
}

.header-wave svg{
    width:100%;
    height:48px;
    display:block;
}

.header-wave path.line{
    fill:none;
    stroke:var(--mdo-blue);
    stroke-width:var(--mdo-stroke);
    stroke-linecap:round;
    vector-effect:non-scaling-stroke;
}

.header-wave.sticky{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1029;
}

.nav-user-area{
    display:flex;
    align-items:center;
    margin-left:15px;
}

.profile-btn{
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(29,79,163,.18);
    background:#fff;
    color:#1d4fa3;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
    text-decoration:none;
}

.profile-btn:hover,
.profile-btn:focus{
    background:#f3f7ff;
    color:#1d4fa3;
}

.profile-btn i{
    font-size:1.4rem;
    line-height:1;
}

.profile-toggler{
    width:var(--bs-navbar-toggler-padding-x, .75rem);
    width:auto;
    min-width:42px;
    height:auto;
    padding:var(--bs-navbar-toggler-padding-y, .25rem) var(--bs-navbar-toggler-padding-x, .75rem);
    border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color, rgba(0,0,0,.1));
    border-radius:var(--bs-navbar-toggler-border-radius, .375rem);
    background-color:transparent;
    color:rgba(0,0,0,.65);
    box-shadow:none;
}

.profile-toggler:hover,
.profile-toggler:focus{
    background-color:transparent;
    color:rgba(0,0,0,.8);
    box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}

.nav-icon-btn{
    width:auto;
    min-width:42px;
    height:auto;
    padding:var(--bs-navbar-toggler-padding-y, .25rem) var(--bs-navbar-toggler-padding-x, .75rem);
    border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color, rgba(0,0,0,.1));
    border-radius:var(--bs-navbar-toggler-border-radius, .375rem);
    background-color:transparent;
    color:rgba(0,0,0,.65);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:none;
}

.nav-icon-btn:hover,
.nav-icon-btn:focus{
    background-color:transparent;
    color:rgba(0,0,0,.8);
    box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}

.nav-icon-btn i{
    font-size:1.35rem;
    line-height:1;
}

.login-btn:hover,
.login-btn:focus{
    color:#1d4fa3;
    text-decoration:none;
}

.profile-menu{
    min-width:230px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 10px 30px rgba(0,0,0,.1);
    padding:8px 0;
}

.profile-menu .dropdown-item{
    padding:10px 16px;
}

.user-team{
    display:block;
    font-size:.85rem;
    color:#6c757d;
    font-weight:500;
    margin-top:2px;
}

.desktop-only{
    display:none;
}

@media (min-width:992px){
    .nav-top-actions{
        margin-left:0;
    }

    .nav-user-top{
        display:none;
    }

    .desktop-only{
        display:flex;
    }
}

@media (max-width:991.98px){
    .nav-user-area{
        margin-top:15px;
    }

    .nav-divider{
        display:none;
    }
}

@media (max-width:576px){
    input,
    select,
    textarea,
    button{
        font-size:16px !important;
    }
}