body,html{margin:0;padding:0;width:100%;min-height:100%;height:100%;overflow-x:hidden;box-sizing:border-box}.app-login{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:0}}.app-login__promo{display:flex;flex-direction:column;min-height:0;min-width:0;padding:2.5rem 3rem;background:linear-gradient(160deg,#0f172a,#1e293b 50%,#0f172a);overflow-y:auto}[data-theme=light] .app-login__promo{background:linear-gradient(160deg,#1e293b,#334155 50%,#1e293b)}.app-login__promo-inner{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.app-login__promo-header{margin-bottom:2.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__promo-header .app-login__logo-img{height:150px;width:auto;max-height:100%;object-fit:contain;object-position:center center}.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)}.app-login__promo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.5rem;flex:1;justify-content:center}.app-login__promo-list li{display:flex;gap:1rem;align-items:flex-start}.app-login__promo-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:#38bdf8}.app-login__promo-list strong{display:block;font-size:1rem;font-weight:600;color:#f8fafc;margin-bottom:.25rem}.app-login__promo-list p{margin:0;font-size:.875rem;line-height:1.5;color:#94a3b8}.app-login__promo-footer{display:flex;gap:1.5rem;width:100%;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.app-login__promo-footer-link{font-size:.875rem;color:#94a3b8;text-decoration:none;transition:color .15s}.app-login__promo-footer-link:hover{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:20rem}[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 1.5rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-align:center}.app-login__subtitle{margin:.5rem 0 0;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;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__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%}.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:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}[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:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.2)}.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;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:#1a202c;border:none;border-radius:8px;cursor:pointer;transition:background .15s,filter .15s}.login-form__actions button:hover:not(:disabled){background:#2d3748}.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__forgot{color:#94a3b8}[data-theme=dark] .login-form__forgot:hover{color:#f8fafc}[data-theme=dark] .login-form__actions button{background:#1e293b;color:#f8fafc}[data-theme=dark] .login-form__actions button:hover:not(:disabled){background:#334155}.app-login__signup{margin-top:1rem;font-size:.875rem;font-family:system-ui,-apple-system,sans-serif;text-align:center}.app-login__signup-text{color:var(--muted-foreground)}.app-login__link{color:var(--foreground);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:.75rem;line-height:1.6;font-family:system-ui,-apple-system,sans-serif;color:var(--muted-foreground);text-align:center}.app-login__footer-link{color:var(--muted-foreground);text-decoration:underline;text-underline-offset:2px;transition:color .15s}.app-login__footer-link:hover{color:var(--primary)}.login-form__forgot--button{background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align: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:420px;max-height:min(90vh,640px);overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;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:.75rem}.login-access-modal__title{margin:0;font-size:1.125rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:var(--foreground);line-height:1.3}.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{font-size:.875rem;color:var(--muted-foreground)}.login-access-modal__intro,.login-access-modal__success{margin:0 0 1rem;line-height:1.5;font-family:system-ui,-apple-system,sans-serif}.login-access-modal__success{font-size:.9375rem;color:var(--foreground)}.login-access-modal__form{display:flex;flex-direction:column;gap:1rem}.login-access-modal__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.25rem;padding-top:.5rem}.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)}}