body,html{margin:0;padding:0;width:100%;min-height:100%;height:100%;overflow-x:hidden;box-sizing:border-box}.app-login{--login-brand:#334d7d;--login-brand-hover:#2a3f66;--login-brand-muted:#4a6a9e;position:relative;display:flex;width:100%;height:100vh;min-height:100vh;align-items:stretch;justify-content:stretch;padding:0;background:var(--background);overflow:hidden}[data-theme=dark] .app-login{background:linear-gradient(160deg,#0f0f0f,#1a1a1a 50%,#141414)}.app-login__layout{display:grid;grid-template-columns:50% 50%;width:100%;height:100%;min-height:0;background:var(--background);overflow:hidden}@media(max-width:768px){.app-login{height:auto;min-height:100vh;overflow-y:auto}.app-login__layout{display:flex;flex-direction:column;grid-template-columns:unset;height:auto;min-height:100vh;overflow:visible}.app-login__card{order:-1;height:100vh;min-height:100vh;flex-shrink:0}.app-login__promo{order:0;flex-shrink:0;min-height:min(40vh,20rem);padding:1.5rem 1.25rem}.app-login__promo-inner{min-height:10rem}.login-promo-cards{min-height:9.5rem;margin-bottom:1.5rem}.login-promo-cards__row--stagger{padding-left:1.25rem}.app-login__promo-footer{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;margin-top:1.25rem;padding-top:1rem}}.app-login__promo{display:flex;flex-direction:column;min-height:0;min-width:0;padding:2.5rem 3rem;background:linear-gradient(165deg,#0a0a0a 0,#141820 40%,var(--login-brand) 100%);overflow-y:auto}[data-theme=light] .app-login__promo{background:linear-gradient(165deg,#0f1419 0,#1a2332 45%,var(--login-brand) 100%)}.app-login__promo-inner{display:flex;flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;min-height:0;width:100%}.app-login__promo-header{margin-bottom:1.5rem;width:100%}.app-login__logo-wrap,.app-login__promo-header{display:flex;align-items:center;justify-content:center}.app-login__logo-wrap{line-height:0}.app-login__logo-img--promo{width:min(280px,100%)}.app-login__logo-img--card,.app-login__logo-img--promo{height:auto;max-width:100%;object-fit:contain;object-position:center center}.app-login__logo-img--card{width:min(180px,100%)}.app-login__promo-header .app-login__logo-fallback{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:#f8fafc;text-shadow:0 1px 2px rgba(0,0,0,.2)}.login-promo-cards{position:relative;display:flex;flex:0 0 auto;flex-direction:column;justify-content:flex-end;align-items:stretch;align-self:stretch;gap:.625rem;width:100%;max-width:100%;min-height:11rem;margin-bottom:2rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.login-promo-cards--placeholder{pointer-events:none}.login-promo-cards__row{flex-shrink:0;width:100%;overflow:hidden}.login-promo-cards__row--stagger{padding-left:2.75rem}.login-promo-cards__track{display:flex;flex-direction:row;flex-wrap:nowrap;width:max-content;will-change:transform;backface-visibility:hidden;animation:login-promo-cards-scroll var(--login-promo-duration,90s) linear infinite;animation-iteration-count:infinite}.login-promo-cards__track--row-a{--login-promo-duration:96s}.login-promo-cards__track--row-b{--login-promo-duration:88s}.login-promo-cards__track--row-c{--login-promo-duration:104s}.login-promo-cards__track--reverse{animation-name:login-promo-cards-scroll-reverse}.login-promo-cards__segment{display:flex;flex-shrink:0;gap:.625rem;padding-right:.625rem}.login-promo-cards__card{gap:.5rem;padding:.35rem .85rem .35rem .35rem;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.68);backdrop-filter:blur(10px);box-shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(15,23,42,.08);white-space:nowrap}.login-promo-cards__card,.login-promo-cards__icon{display:inline-flex;align-items:center;border-radius:9999px}.login-promo-cards__icon{flex-shrink:0;justify-content:center;width:1.75rem;height:1.75rem}.login-promo-cards__icon-svg{width:.95rem;height:.95rem}.login-promo-cards__icon--blue{background:#dbeafe;color:#1d4ed8}.login-promo-cards__icon--green{background:#dcfce7;color:#15803d}.login-promo-cards__icon--violet{background:#ede9fe;color:#6d28d9}.login-promo-cards__icon--amber{background:#fef3c7;color:#b45309}.login-promo-cards__icon--rose{background:#ffe4e6;color:#be123c}.login-promo-cards__icon--cyan{background:#cffafe;color:#0e7490}.login-promo-cards__label{font-size:.8125rem;font-weight:500;font-family:system-ui,-apple-system,sans-serif;color:#1e293b;line-height:1.2}@keyframes login-promo-cards-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-33.333333%,0,0)}}@keyframes login-promo-cards-scroll-reverse{0%{transform:translate3d(-33.333333%,0,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.login-promo-cards__track{animation:none;will-change:auto;flex-wrap:wrap;width:100%;justify-content:center;gap:.5rem}.login-promo-cards__row--stagger{padding-left:0}.login-promo-cards__segment[aria-hidden=true]{display:none}.login-promo-cards__track--reverse{animation-name:none}.login-promo-cards{justify-content:center;mask-image:none}}.app-login__promo-footer{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;width:100%;margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.app-login__promo-footer-badge{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#e2e8f0;font-size:.8125rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.app-login__promo-footer-badge:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#f8fafc}.app-login__card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;min-width:0;padding:2.5rem;background:var(--card);border:1px solid var(--border);overflow-y:auto}.app-login__card-inner{width:100%;max-width:32rem}.app-login__card-brand{display:flex;justify-content:center;margin-bottom:1.25rem;padding:.875rem 1rem}[data-theme=dark] .app-login__card{background:rgba(30,41,59,.95);border-color:rgba(255,255,255,.06)}[data-theme=light] .app-login__card{background:rgba(248,250,252,.98)}.app-login__logo{display:flex;align-items:center;justify-content:flex-start}.app-login__logo-img{height:3rem;width:auto;object-fit:contain}.app-login__logo-fallback{font-size:1.25rem;font-weight:600}.app-login__logo-fallback,.app-login__title{font-family:system-ui,-apple-system,sans-serif;color:var(--foreground)}.app-login__title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-align:center}.app-login__subtitle{margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground);text-align:center}.app-login__form{margin-top:0}.login-form__loading{padding:1rem;font-size:.875rem;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground);text-align:center}.login-form{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.login-form__error{padding:.875rem 1rem;font-size:.875rem;line-height:1.4;color:var(--destructive);background:color-mix(in srgb,var(--destructive) 20%,transparent);border:1px solid color-mix(in srgb,var(--destructive) 40%,transparent);border-radius:8px}.login-form__error-text{margin:0}.login-form__warning{padding:.875rem 1rem;font-size:.875rem;line-height:1.4;color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px}.login-form__warning-text{margin:0}.login-form__password-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.375rem}.login-form__label{font-weight:500;color:var(--foreground)}.login-form__forgot,.login-form__label{font-size:.8125rem;font-family:system-ui,-apple-system,sans-serif}.login-form__forgot{color:#64748b;text-decoration:none;transition:color .15s}.login-form__forgot:hover{color:#1e3a5f}.login-form__spinner{margin-right:.5rem;width:1rem;height:1rem;animation:login-spin .8s linear infinite}.login-form__btn{display:inline-flex;align-items:center;justify-content:center}.login-form__field{width:100%;max-width:24rem}.login-form__field .field-label,.login-form__field .login-form__label,.login-form__field [class*=field-label],.login-form__field label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:#1e293b}[data-theme=dark] .login-form__field .field-label,[data-theme=dark] .login-form__field .login-form__label,[data-theme=dark] .login-form__field [class*=field-label],[data-theme=dark] .login-form__field label{color:#f8fafc}.login-form__field .input,.login-form__field [data-slot=input],.login-form__field input[type=email],.login-form__field input[type=password],.login-form__field input[type=text]{width:100%;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5;font-family:system-ui,-apple-system,sans-serif;color:#1e3a5f;background:#eef4ff;border:1px solid #94a3b8;border-radius:8px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}[data-theme=dark] .login-form__field .input,[data-theme=dark] .login-form__field [data-slot=input],[data-theme=dark] .login-form__field input[type=email],[data-theme=dark] .login-form__field input[type=password],[data-theme=dark] .login-form__field input[type=text]{color:#f8fafc;background:rgba(30,41,59,.8);border-color:rgba(148,163,184,.4)}.login-form__field .input:focus,.login-form__field [data-slot=input]:focus,.login-form__field input:focus{outline:none;border-color:var(--login-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-brand) 25%,transparent)}[data-theme=dark] .login-form__field .input:focus,[data-theme=dark] .login-form__field [data-slot=input]:focus,[data-theme=dark] .login-form__field input:focus{border-color:var(--login-brand-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-brand-muted) 30%,transparent)}.login-form__field .input::placeholder,.login-form__field [data-slot=input]::placeholder,.login-form__field input::placeholder{color:#64748b}[data-theme=dark] .login-form__field .input::placeholder,[data-theme=dark] .login-form__field [data-slot=input]::placeholder,[data-theme=dark] .login-form__field input::placeholder{color:#94a3b8}.login-form__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;width:100%;max-width:24rem;margin-top:.25rem;padding-top:.5rem}.login-form__actions button{width:100%;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:#fff;background:var(--login-brand);border:none;border-radius:8px;cursor:pointer;transition:background .15s,filter .15s}.login-form__actions button:hover:not(:disabled){background:var(--login-brand-hover)}.login-form__actions button:disabled{opacity:.5;cursor:not-allowed}.login-form__admin-link{font-size:.875rem;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground);text-decoration:none}.login-form__admin-link:hover{color:var(--foreground);text-decoration:underline}[data-theme=dark] .login-form__warning{color:#fde68a;background:color-mix(in srgb,#f59e0b 18%,transparent);border:1px solid color-mix(in srgb,#f59e0b 45%,transparent)}[data-theme=dark] .login-form__forgot{color:#94a3b8}[data-theme=dark] .login-form__forgot:hover{color:#f8fafc}[data-theme=dark] .login-form__actions button{background:var(--login-brand);color:#f8fafc}[data-theme=dark] .login-form__actions button:hover:not(:disabled){background:var(--login-brand-hover)}.app-login__card-auxiliary{margin-top:.75rem;font-size:.8125rem;line-height:1.5;font-family:system-ui,-apple-system,sans-serif;text-align:center;color:var(--muted-foreground)}.app-login__signup{margin:0}.app-login__signup-text{color:inherit}.app-login__card-auxiliary-actions{margin-top:.375rem}.app-login__link{color:var(--foreground);font-size:inherit;font-family:inherit;font-weight:500;text-decoration:none;transition:color .15s}.app-login__link:hover{text-decoration:underline}.app-login__footer{margin-top:1rem}.app-login__footer-text{margin:0;font-size:.8125rem;line-height:1.5;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground);text-align:center}@media(min-width:480px){.app-login__footer-text{white-space:nowrap}}.app-login__footer-link{color:var(--muted-foreground);text-decoration:underline;text-underline-offset:2px;transition:color .15s}.app-login__footer-link:hover,.app-login__link:hover{color:var(--login-brand)}.login-form__forgot--button{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}.login-access-modal__backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}.login-access-modal__panel{width:100%;max-width:28rem;max-height:min(90vh,640px);overflow-y:auto;padding:1.5rem 1.5rem 1.75rem;border-radius:12px;background:var(--background);border:1px solid color-mix(in srgb,var(--foreground) 12%,transparent);box-shadow:0 25px 50px -12px rgba(0,0,0,.35),0 0 0 1px color-mix(in srgb,var(--foreground) 8%,transparent)}.login-access-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.login-access-modal__title{margin:0;font-size:1.25rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:var(--foreground);line-height:1.3;letter-spacing:-.02em}.login-access-modal__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--muted-foreground);cursor:pointer;transition:background .15s,color .15s}.login-access-modal__close:hover{background:color-mix(in srgb,var(--foreground) 8%,transparent);color:var(--foreground)}.login-access-modal__intro{margin:0 0 1.25rem;font-size:.875rem;line-height:1.55;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground)}.login-access-modal__intro--loading{display:flex;align-items:center;gap:.5rem}.login-access-modal__success{margin:0 0 1.25rem;padding:.875rem 1rem;font-size:.9375rem;line-height:1.55;font-family:system-ui,-apple-system,sans-serif;color:var(--foreground);background:color-mix(in srgb,var(--login-brand,#334d7d) 12%,transparent);border:1px solid color-mix(in srgb,var(--login-brand,#334d7d) 25%,transparent);border-radius:8px}.login-access-modal__form{display:flex;flex-direction:column;gap:1.125rem}.login-access-modal__actions{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:stretch;gap:.625rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--foreground) 10%,transparent)}.login-access-modal__actions .login-access-modal__submit{flex:1 1 auto;min-width:8rem;background:var(--login-brand,#334d7d)!important;color:#fff!important;border:none!important}.login-access-modal__actions .login-access-modal__submit:hover:not(:disabled){background:var(--login-brand-hover,#2a3f66)!important}@media(max-width:420px){.login-access-modal__actions{flex-direction:column-reverse}.login-access-modal__actions button{width:100%}}.login-access-modal__actions--single{justify-content:stretch}.login-access-modal__actions--single button{width:100%}@keyframes login-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}