/* Minification failed. Returning unminified contents.
(2,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,17): run-time error CSS1039: Token not allowed after unary operator: '-auth-text'
(41,38): run-time error CSS1039: Token not allowed after unary operator: '-auth-bg-1'
(41,56): run-time error CSS1039: Token not allowed after unary operator: '-auth-bg-2'
(61,21): run-time error CSS1039: Token not allowed after unary operator: '-auth-container'
(149,33): run-time error CSS1039: Token not allowed after unary operator: '-auth-transition'
(149,67): run-time error CSS1039: Token not allowed after unary operator: '-auth-transition'
 */
:root {
    --auth-bg-1: #071a2f;
    --auth-bg-2: #0d2d50;
    --auth-panel: rgba(255, 255, 255, 0.94);
    --auth-panel-strong: rgba(255, 255, 255, 0.98);
    --auth-text: #11263d;
    --auth-muted: #627388;
    --auth-border: rgba(17, 38, 61, 0.12);
    --auth-primary: #0a66c2;
    --auth-primary-dark: #084d92;
    --auth-accent: #f1b500;
    --auth-success: #138a52;
    --auth-danger: #b42318;
    --auth-shadow-lg: 0 30px 70px rgba(4, 18, 34, 0.28);
    --auth-shadow-md: 0 16px 36px rgba(4, 18, 34, 0.16);
    --auth-radius-xl: 28px;
    --auth-radius-lg: 20px;
    --auth-radius-md: 14px;
    --auth-container: 1280px;
    --auth-transition: 180ms ease;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body.auth-body {
    font-family: "Inter", sans-serif;
    color: var(--auth-text);
    background:
        radial-gradient(circle at top left, rgba(241, 181, 0, 0.12), transparent 24%),
        radial-gradient(circle at bottom right, rgba(10, 102, 194, 0.18), transparent 26%),
        linear-gradient(135deg, var(--auth-bg-1), var(--auth-bg-2));
    min-height: 100vh;
}

a {
    color: inherit;
    text-decoration: none;
}

.auth-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: saturate(1.3) blur(14px);
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(226, 232, 240, .85);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
}

.auth-topbar__container {
    max-width: var(--auth-container);
    margin: 0 auto;
    min-height: 82px;
    padding: 12px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex-shrink: 1;
}

.auth-brand__logo {
    width: 54px!important;
    height: 54px!important;
    object-fit: contain!important;
}

.auth-brand__text {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.08;
}

.auth-brand__text strong {
    color: #002C6B;
    font-size: 1.05rem;
    font-weight: 800;
    white-space: nowrap;
}

.auth-brand__text small {
    margin-top: 2px;
    color: #475569;
    font-size: .75rem;
    font-weight: 500;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .auth-brand__logo {
        height: 42px;
        max-width: 180px;
    }

    .auth-brand__text {
        display: flex;
    }
}

@media (max-width: 640px) {
    .auth-brand__logo {
        height: 36px;
        max-width: 150px;
    }

    .auth-brand__text { display: flex; }
}

.auth-topbar__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.auth-topbar__link {
    color: #475569;
    font-weight: 600;
}

.auth-topbar__link:hover {
    color: #003B8E;
}

.auth-topbar__button {
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(0, 59, 142, .08);
    color: #002C6B;
    font-weight: 700;
    border: 1px solid rgba(0, 59, 142, .16);
    transition: background var(--auth-transition), transform var(--auth-transition);
}

.auth-topbar__button:hover {
    background: rgba(0, 59, 142, .14);
    transform: translateY(-1px);
}

.auth-page {
    padding: 34px 20px 40px;
}

@media (max-width: 640px) {
    .auth-topbar__container {
        min-height: 76px;
        padding: 10px 14px;
    }

    .auth-topbar__actions {
        gap: 8px;
    }

    .auth-topbar__link {
        display: none;
    }

    .auth-page {
        padding: 22px 14px 28px;
    }
}

/* Same five-destination navigation used by the tourism portal. */
.auth-tourism-mobile-nav {
    display: none;
}

@media (max-width: 767.98px) {
    .auth-tourism-mobile-nav {
        position: fixed;
        z-index: 1035;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        min-height: 68px;
        padding: 0 .2rem env(safe-area-inset-bottom, 0px);
        border-top: 1px solid rgba(242, 201, 76, .42);
        background: rgba(4, 43, 94, .98);
        box-shadow: 0 -12px 30px rgba(3, 30, 66, .18);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .auth-tourism-mobile-nav a {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 68px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .22rem;
        padding: .42rem .08rem;
        color: rgba(255, 255, 255, .8);
        font-size: .61rem;
        font-weight: 700;
        line-height: 1.08;
        text-align: center;
    }

    .auth-tourism-mobile-nav a::before {
        position: absolute;
        top: 0;
        right: 22%;
        left: 22%;
        height: 3px;
        border-radius: 0 0 999px 999px;
        background: #F2C94C;
        content: "";
        opacity: 0;
    }

    .auth-tourism-mobile-nav i {
        font-size: 1.18rem;
        line-height: 1;
    }

    .auth-tourism-mobile-nav a:hover,
    .auth-tourism-mobile-nav a:focus-visible {
        color: #F2C94C;
        background: rgba(255,255,255,.04);
    }

    body.has-auth-mobile-nav {
        padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
    }
}

