@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/static/fonts/inter-variable-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('/static/fonts/inter-variable-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink: #04080f;--color-navy: #1d3764;--color-navy-mid: #162036;--color-accent: #0052cc;--color-accent-dark: #003ea3;--color-accent-glow: rgba(0,82,204,0.15);--color-white: #ffffff;--color-surface: #e3f2fd;--color-border: #dde4ee;--color-text: #0b1526;--color-muted: #5a6a82;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-error: #b71c1c;--color-error-bg: #fdecea;--font-sans: 'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-size-base: 1rem;--line-height-base: 1.65;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--container-max: 1240px;--container-pad: clamp(1.25rem,5vw,2.5rem);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(4,8,15,.05);--shadow-sm: 0 2px 8px rgba(4,8,15,.07);--shadow-md: 0 8px 24px rgba(4,8,15,.10);--shadow-lg: 0 16px 48px rgba(4,8,15,.14);--shadow-xl: 0 32px 80px rgba(4,8,15,.18);--transition: 200ms cubic-bezier(0.25,0.46,0.45,0.94);--transition-slow: 350ms cubic-bezier(0.25,0.46,0.45,0.94)}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{scroll-behavior: smooth;-webkit-text-size-adjust: 100%}body{font-family: var(--font-sans);font-size: var(--font-size-base);line-height: var(--line-height-base);color: var(--color-text);background: var(--color-white);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}img{max-width: 100%;height: auto;display: block}a{color: inherit;text-decoration: none}ul,ol{list-style: none}.container{max-width: var(--container-max);margin-inline: auto;padding-inline: var(--container-pad)}.section{padding-block: var(--space-32)}.section--surface{background: var(--color-surface)}.section--dark{background: var(--color-navy);color: var(--color-white)}.skip-link{position: absolute;left: var(--space-4);top: -100%;z-index: 1000;background: var(--color-white);color: var(--color-accent);font-weight: 700;padding: var(--space-3) var(--space-5);border-radius: var(--radius-sm);box-shadow: var(--shadow-md)}.skip-link:focus-visible{top: var(--space-4)}.sr-only{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}.section-label{display: inline-flex;align-items: center;gap: var(--space-2);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: var(--color-accent);margin-bottom: var(--space-4)}.section-label::before{content: '';display: inline-block;width: 20px;height: 2px;background: var(--color-accent);border-radius: 2px;flex-shrink: 0}.section--dark .section-label,.page-header .section-label{color: rgba(255,255,255,0.6)}.section--dark .section-label::before,.page-header .section-label::before{background: rgba(255,255,255,0.25)}.section-title{font-size: clamp(2rem,4vw,3rem);font-weight: 800;line-height: 1.08;letter-spacing: -0.035em;color: var(--color-ink);margin-bottom: var(--space-5)}.section--dark .section-title{color: var(--color-white)}.section-lead{font-size: 1.05rem;color: var(--color-muted);max-width: 54ch;line-height: 1.7}.section--dark .section-lead{color: rgba(255,255,255,0.6)}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);padding: 0.8rem 1.8rem;border-radius: var(--radius-sm);font-family: var(--font-sans);font-size: 0.9rem;font-weight: 700;letter-spacing: 0.01em;cursor: pointer;border: 1.5px solid transparent;transition: background var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition);white-space: nowrap;text-align: center;position: relative}.btn--primary{background: var(--color-accent);color: var(--color-white);border-color: var(--color-accent)}.btn--primary:hover{background: var(--color-accent-dark);border-color: var(--color-accent-dark);box-shadow: 0 4px 20px rgba(0,82,204,0.35)}.btn--outline{background: transparent;color: var(--color-white);border-color: rgba(255,255,255,0.35)}.btn--outline:hover{background: rgba(255,255,255,0.08);border-color: rgba(255,255,255,0.7)}.btn--outline-dark{background: transparent;color: var(--color-ink);border-color: var(--color-border)}.btn--outline-dark:hover{border-color: var(--color-accent);color: var(--color-accent);box-shadow: 0 0 0 3px var(--color-accent-glow)}.btn--success{background: var(--color-success) !important;border-color: var(--color-success) !important}.divider{border: none;border-top: 1px solid var(--color-border)}.phone-badge{display: inline-flex;align-items: center;gap: 0.35em;padding: 0.15em 0.6em;border-radius: 100px;font-size: 0.75em;font-weight: 600;vertical-align: middle;margin-left: 0.5em;line-height: 1.5}.phone-badge::before{content: '';display: inline-block;width: 6px;height: 6px;border-radius: 50%;flex-shrink: 0}.phone-badge--open{background: #dcfce7;color: #15803d}.phone-badge--open::before{background: #16a34a}.phone-badge--closed{background: #fee2e2;color: #b91c1c}.phone-badge--closed::before{background: #dc2626}.footer .phone-badge--open,.section--dark .phone-badge--open{background: rgba(22,163,74,0.18);color: #4ade80}.footer .phone-badge--open::before,.section--dark .phone-badge--open::before{background: #4ade80}.footer .phone-badge--closed,.section--dark .phone-badge--closed{background: rgba(220,38,38,0.18);color: #f87171}.footer .phone-badge--closed::before,.section--dark .phone-badge--closed::before{background: #f87171}[data-tip]{position: relative}[data-tip]::after{content: attr(data-tip);position: absolute;top: calc(100% + 6px);left: 50%;transform: translateX(-50%);background: var(--color-ink);color: var(--color-white);font-size: 0.72rem;font-weight: 500;white-space: nowrap;padding: 0.3em 0.65em;border-radius: var(--radius-sm);pointer-events: none;opacity: 0;transition: opacity 0.15s ease;z-index: 100}[data-tip]:hover::after{opacity: 1}
.animate-on-scroll{opacity: 0;transform: translateY(20px);transition: opacity 0.5s ease,transform 0.5s ease}.animate-on-scroll.visible{opacity: 1;transform: none}@media (prefers-reduced-motion: reduce){.animate-on-scroll{transition: none;opacity: 1;transform: none}}#site-nav{transition: box-shadow 0.25s ease}#site-nav.nav-scrolled{box-shadow: 0 2px 16px rgba(0,0,0,0.08)}
.cookie-banner{position: fixed;bottom: var(--space-5);left: 50%;transform: translateX(-50%);z-index: 9999;width: calc(100% - 2rem);max-width: 680px;background: var(--color-navy);color: var(--color-white);border-radius: var(--radius-lg);box-shadow: 0 8px 32px rgba(0,0,0,0.25);padding: var(--space-4) var(--space-6);animation: cookie-slide-up 0.3s ease}@keyframes cookie-slide-up{from{opacity: 0;transform: translateX(-50%) translateY(12px)}to{opacity: 1;transform: translateX(-50%) translateY(0)}}.cookie-banner[hidden]{display: none}.cookie-banner__inner{display: flex;align-items: center;gap: var(--space-5);flex-wrap: wrap}.cookie-banner__text{flex: 1;min-width: 200px;font-size: 0.88rem;line-height: 1.5;color: rgba(255,255,255,0.85);margin: 0}.cookie-banner__link{color: var(--color-white);font-weight: 600;text-decoration: underline;text-underline-offset: 2px}.cookie-banner__actions{display: flex;gap: var(--space-2);flex-shrink: 0}.cookie-banner__btn{padding: 0.5rem 1.1rem;border-radius: var(--radius-md);font-family: var(--font-sans);font-size: 0.85rem;font-weight: 700;cursor: pointer;border: 1.5px solid transparent;transition: background var(--transition),color var(--transition),border-color var(--transition)}.cookie-banner__btn--accept{background: var(--color-accent);color: var(--color-white);border-color: var(--color-accent)}.cookie-banner__btn--accept:hover{background: var(--color-accent-dark);border-color: var(--color-accent-dark)}.cookie-banner__btn--dismiss{background: transparent;color: rgba(255,255,255,0.7);border-color: rgba(255,255,255,0.25)}.cookie-banner__btn--dismiss:hover{background: rgba(255,255,255,0.08);color: var(--color-white)}@media (max-width: 480px){.cookie-banner{bottom: 0;border-bottom-left-radius: 0;border-bottom-right-radius: 0;width: 100%}.cookie-banner__inner{flex-direction: column;align-items: flex-start;gap: var(--space-3)}}
.portal-login-v2-wrap{position: relative;min-height: 100vh;display: flex;align-items: center;justify-content: center;padding: var(--space-8) var(--space-5)}.portal-login-v2-bg{position: absolute;inset: 0;display: grid;grid-template-columns: 1fr 1fr;background: var(--color-navy)}.portal-login-v2-bg__half{position: relative;overflow: hidden}.portal-login-v2-bg__stack{display: flex;flex-direction: column}.portal-login-v2-bg__stack .portal-login-v2-bg__half{flex: 1}.portal-login-v2-bg__half img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;opacity: 0.35}.portal-login-v2-center{position: relative;z-index: 1;display: flex;flex-direction: column;align-items: center;width: 100%;max-width: 1400px;gap: var(--space-6)}.portal-login-v2-center__logo{text-decoration: none;padding-bottom: var(--space-5)}.portal-login-v2-center__logo img{height: 152px;width: auto;filter: brightness(0) invert(1)}.portal-login-v2-card{position: relative;display: flex;align-items: stretch;width: 100%;max-width: 800px;aspect-ratio: 1400 / 1038;background: transparent;border-radius: 25px}.portal-login-v2-card--auto{aspect-ratio: auto}.portal-login-v2-card__panel{position: relative;z-index: 0;overflow: hidden;flex: 1 1 0;display: flex;flex-direction: column;justify-content: space-between;gap: var(--space-16);padding: var(--space-10);color: var(--color-white);margin: 25px 0;border-radius: 25px;box-shadow: var(--shadow-md);background: #001539 url("/static/images/login_bg.webp") no-repeat center center / cover;animation: foldout-panel 0.9s cubic-bezier(0.7,0,0.15,1) both;will-change: transform}.portal-login-v2-card .portal-form{z-index: 2;animation: foldout-form 0.9s cubic-bezier(0.7,0,0.15,1) both;will-change: transform;box-shadow: -18px 0 40px rgba(0,0,0,0.28)}@keyframes foldout-form{from{transform: translateX(-50%)}to{transform: translateX(0)}}@keyframes foldout-panel{from{transform: translateX(calc(50% - 30px))}to{transform: translateX(0)}}@media (prefers-reduced-motion: reduce){.portal-login-v2-card__panel,.portal-login-v2-card .portal-form{animation: none}}.no-foldout .portal-login-v2-card__panel,.no-foldout .portal-login-v2-card .portal-form{animation: none !important}.auth-morph .portal-login-v2-card{height: var(--auth-start-h);overflow: hidden}.portal-login-v2-card__panel > *{position: relative;z-index: 1}.portal-login-v2-panel__logo{display: block;margin-bottom: var(--space-10)}.portal-login-v2-panel__logo img{height: 40px;width: auto}.portal-login-v2-panel__tag{display: flex;align-items: center;gap: var(--space-3);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255,255,255,0.55);margin-bottom: var(--space-4)}.portal-login-v2-panel__tag::before{content: "";width: 28px;height: 2px;background: var(--color-accent);flex: none}.portal-login-v2-panel__title{font-size: 2.6rem;font-weight: 500;letter-spacing: -0.02em;line-height: 1.05;margin-bottom: var(--space-5)}.portal-login-v2-panel__text{font-size: 1rem;line-height: 1.6;color: rgba(255,255,255,0.7);max-width: 24ch}.portal-login-v2-panel__stats{display: flex;gap: var(--space-8)}.portal-login-v2-panel__stat{display: flex;flex-direction: column}.portal-login-v2-panel__stat-num{font-size: 1.6rem;font-weight: 800;line-height: 1}.portal-login-v2-panel__stat-label{font-size: 0.72rem;font-weight: 600;letter-spacing: 0.1em;text-transform: uppercase;color: rgba(255,255,255,0.55);margin-top: var(--space-1)}.portal-login-v2-card .portal-form{flex: 1 1 0;max-width: none;box-shadow: -18px 0 40px rgba(0,0,0,0.28);padding: var(--space-10);border-radius: 25px !important;margin-left: -30px;position: relative;z-index: 2;display: flex;flex-direction: column;min-width: 0}.portal-login-v2-card .portal-form__main{margin: auto 0}.portal-login-v2-card .portal-form__back a{text-decoration: none}@keyframes portal-fields-in{from{opacity: 0;transform: translateY(10px)}to{opacity: 1;transform: none}}.portal-login-v2-card--auto .portal-form__main{animation: portal-fields-in 0.35s ease 0.1s both}.no-foldout .portal-login-v2-card--auto .portal-form__main,.auth-morph .portal-login-v2-card--auto .portal-form__main{animation: none}@media (prefers-reduced-motion: reduce){.portal-login-v2-card--auto .portal-form__main{animation: none}}.portal-login-v2-card .portal-form__subtitle{margin-bottom: var(--space-8)}.portal-login-v2-card .portal-form__group{margin-bottom: var(--space-4)}.verify-code{display: flex;gap: var(--space-2);min-width: 0;margin-bottom: var(--space-6)}.verify-code__box{flex: 1 1 0;width: 0;min-width: 0;height: 56px;padding: 0;font-family: var(--font-sans);font-size: 1.5rem;font-weight: 700;text-align: center;color: var(--color-navy);background: var(--color-white);border: 2px solid var(--color-border);border-radius: var(--radius-md);transition: border-color var(--transition),box-shadow var(--transition),background var(--transition)}.verify-code__box:focus{outline: none;border-color: var(--color-accent);box-shadow: 0 0 0 3px var(--color-accent-glow)}.verify-code__box.is-filled{background: var(--color-surface);border-color: var(--color-accent)}.verify-code--error .verify-code__box{border-color: var(--color-error);background: var(--color-error-bg)}.verify-code__hint{margin-top: var(--space-3);font-size: 0.8rem;color: var(--color-muted);text-align: center}.verify-sent{text-align: center;font-size: 0.9rem;color: var(--color-muted);margin-bottom: var(--space-1)}.verify-email{text-align: center;font-size: 1.15rem;font-weight: 700;color: var(--color-text);word-break: break-all}.verify-intro{margin-top: var(--space-8);font-size: 0.9rem;line-height: 1.6;color: var(--color-muted)}.verify-intro strong{color: var(--color-text);font-weight: 600}.verify-intro__timer{font-variant-numeric: tabular-nums;font-weight: 700;color: var(--color-text)}.verify-intro__timer--expired{color: var(--color-error)}.verify-actions{display: flex;align-items: center;justify-content: center;gap: var(--space-12);margin-top: var(--space-6)}.verify-actions__form{margin: 0;display: flex}.verify-actions__link{padding: 0;border: none;background: none;font-family: var(--font-sans);font-size: 0.85rem;font-weight: 700;color: var(--color-accent);text-decoration: none;cursor: pointer}.verify-actions__link:disabled{color: var(--color-muted);font-weight: 600;cursor: default}.verify-actions__link:not(:disabled):hover{text-decoration: underline;text-underline-offset: 2px}.portal-login-v2-back{position: fixed;left: 25px;bottom: 0;z-index: 5;display: flex;align-items: center;justify-content: center;width: 68px;height: 58px;border-radius: 7px 7px 0 0;background: #504c49;border: 4px solid #4b4643;border-bottom: none;color: #fff;transition: background 0.2s ease}.portal-login-v2-back:hover{background: #5c5854}.portal-login-v2-back svg{width: 22px;height: 22px}@media (max-width: 768px){.portal-login-v2-wrap{padding: var(--space-8) var(--space-4) calc(48px + var(--space-6))}.portal-login-v2-bg{display: block;background: radial-gradient(85% 50% at 50% 0%,rgba(0,82,204,0.55) 0%,rgba(0,82,204,0) 72%),linear-gradient(180deg,var(--color-navy) 0%,#12233f 55%,#0a1526 100%)}.portal-login-v2-bg__half,.portal-login-v2-bg__stack{display: none}.portal-login-v2-center{transform: none;gap: var(--space-6)}.portal-login-v2-center__logo{padding-bottom: 0}.portal-login-v2-center__logo img{height: 84px}.portal-login-v2-card{flex-direction: column;max-width: 440px;aspect-ratio: auto;box-shadow: none;gap: var(--space-6)}.portal-login-v2-card__panel{display: block;flex: none;margin: 0;padding: 0;background: none;box-shadow: none;border-radius: 0;text-align: center;animation: none}.portal-login-v2-panel__logo{margin-bottom: var(--space-5)}.portal-login-v2-panel__logo img{height: 34px;margin: 0 auto}.portal-login-v2-panel__tag{justify-content: center}.portal-login-v2-panel__title{font-size: 1.6rem;font-weight: 600;margin-bottom: var(--space-2)}.portal-login-v2-panel__text{font-size: 0.9rem;max-width: 32ch;margin: 0 auto}.portal-login-v2-panel__stats{display: none}.portal-login-v2-card .portal-form{border-radius: var(--radius-lg) !important;margin-left: 0;animation: none;box-shadow: 0 18px 44px rgba(4,8,15,0.38);border-top: 3px solid var(--color-accent);padding: var(--space-8) var(--space-6);gap: var(--space-5)}.portal-login-v2-card .portal-form__head{display: flex;flex-direction: column;gap: var(--space-4)}.portal-login-v2-card .portal-form__main{margin: 0}.portal-login-v2-center > .portal-form{box-shadow: 0 18px 44px rgba(4,8,15,0.38);border-top: 3px solid var(--color-accent);padding: var(--space-8) var(--space-6)}.portal-login-v2-back{left: var(--space-4);width: 58px;height: 48px}}@media (max-width: 380px){.portal-login-v2-card .portal-form{padding: var(--space-6)}.qr-login__code{width: 220px;height: 220px}.qr-login__refresh{top: 110px}}
.portal-form{background: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-md);padding: var(--space-10) var(--space-8);width: 100%;max-width: 420px;border: 1px solid var(--color-border)}.portal-form--wide{max-width: 600px}.portal-form__title{font-size: 1.5rem;font-weight: 800;color: var(--color-navy);letter-spacing: -0.02em;margin-bottom: var(--space-2)}.portal-form__subtitle{font-size: 0.88rem;color: var(--color-muted);margin-bottom: var(--space-8)}.portal-form__group{display: flex;flex-direction: column;gap: var(--space-1);margin-bottom: var(--space-5)}.portal-form__label{font-size: 0.85rem;font-weight: 600;color: var(--color-text)}.portal-form__label span{color: var(--color-muted);font-weight: 400}.portal-form__input,.portal-form__select{width: 100%;padding: 0.65rem 0.85rem;border: 1.5px solid var(--color-border);border-radius: var(--radius-md);font-family: var(--font-sans);font-size: 0.9rem;color: var(--color-text);background: var(--color-white);transition: border-color var(--transition),box-shadow var(--transition);appearance: none}.portal-form__input:focus,.portal-form__select:focus{outline: none;border-color: var(--color-accent);box-shadow: 0 0 0 3px var(--color-accent-glow)}.portal-form__input--error{border-color: #e53935}.portal-form__error{font-size: 0.8rem;color: #b71c1c;margin-top: var(--space-1)}.portal-form__row{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-4)}@media (max-width: 480px){.portal-form__row{grid-template-columns: 1fr}}.portal-form__alert{padding: var(--space-3) var(--space-4);border-radius: var(--radius-md);font-size: 0.88rem;font-weight: 500;margin-bottom: var(--space-5);border: 1px solid transparent}.portal-form__alert--error{background: #fdecea;color: #b71c1c;border-color: #ef9a9a}.portal-form__alert--success{background: #e8f5e9;color: #2e7d32;border-color: #a5d6a7}.portal-form__check{display: flex;align-items: center;gap: var(--space-2);margin-bottom: var(--space-4);font-size: 0.85rem;color: var(--color-text);cursor: pointer;user-select: none}.portal-form__check input{width: 1rem;height: 1rem;accent-color: var(--color-accent);cursor: pointer}.portal-form__submit{width: 100%;margin-top: var(--space-2);padding: 0.85rem;background: var(--color-accent);color: var(--color-white);border: none;border-radius: var(--radius-md);font-family: var(--font-sans);font-size: 0.95rem;font-weight: 700;cursor: pointer;transition: background var(--transition),box-shadow var(--transition)}.portal-form__submit:hover{background: var(--color-accent-dark);box-shadow: var(--shadow-sm)}.portal-form__input--code{text-align: center;font-size: 1.6rem;font-weight: 700;letter-spacing: 0.25em;font-family: 'Courier New',Courier,monospace}.portal-form__back{display: block;text-align: center;margin-top: var(--space-5);font-size: 0.85rem;color: var(--color-muted)}.portal-form__back a{color: var(--color-accent);font-weight: 600;text-decoration: underline;text-underline-offset: 2px}
