@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700&display=swap");.login-page{font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:calc(100vh - 100px);padding-inline:1.5rem;background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary-color,#2EABE2) 22%,transparent) 0,var(--bg-secondary,#EFF8FE) 40%,var(--bg-primary,#FCFDFF) 100%);box-sizing:border-box;color:var(--text-primary,#0F1C38)}.login-main,.login-page{display:flex;align-items:center;justify-content:center}.login-main{width:100%;max-width:960px}.login-card{width:100%;max-width:420px;background-color:var(--bg-card,#ffffff);border-radius:18px;padding:2.25rem 2rem;box-shadow:var(--shadow-lg,0 18px 45px rgba(15,23,42,.09));box-sizing:border-box;margin:0;border:1px solid var(--border-color,transparent)}.login-header{margin-bottom:1.5rem}.login-title{font-size:2rem;font-weight:700;margin:0;color:var(--text-primary,#0F1C38);letter-spacing:.03em;text-transform:uppercase}.login-form{gap:1.25rem}.login-error-global,.login-form{display:flex;flex-direction:column}.login-error-global{min-height:45px;padding:10px 20px;border-radius:10px;border:1px solid var(--status-error-border,#b90d1b);color:var(--status-error-fg,#B90D1B);background-color:var(--status-error-bg,#FDE7E9);font-size:.85rem;gap:.5rem;align-items:flex-start}.login-resend-btn{background:none;border:none;color:var(--primary-color,#0D71B9);text-decoration:underline;font-size:.85rem;font-weight:600;cursor:pointer;padding:0}.login-resend-btn:hover{opacity:.8}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.login-input{border-radius:10px;border:1px solid var(--border-color,#e5e7eb);padding:.65rem .75rem;font-size:.95rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease;background-color:var(--bg-input,#f9fafb);color:var(--text-primary)}.login-input::placeholder{color:var(--text-tertiary,#9ca3af)}.login-input:focus{border-color:var(--primary-color,#0D71B9);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#0D71B9) 18%,transparent);background-color:var(--bg-primary,#ffffff)}.login-input-error{border-color:var(--status-error-fg,#B90D1B)}.login-error-msg{margin:0;font-size:.85rem;color:var(--status-error-fg,#B90D1B)}.password-wrapper{display:flex;align-items:center;gap:.5rem}.password-wrapper .login-input{flex:1 1}.toggle-password{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;color:var(--text-secondary,#555);border-radius:10px}.toggle-password:hover{color:var(--text-primary,#000);background:var(--bg-hover,transparent)}.login-button{margin-top:.25rem;width:100%;border-radius:10px;border:none;padding:.75rem;font-size:.98rem;font-weight:600;cursor:pointer;background-color:var(--primary-color,#0D71B9);color:var(--text-on-primary,#ffffff);transition:background-color .16s ease,transform .08s ease,box-shadow .08s ease;box-shadow:0 10px 24px color-mix(in srgb,var(--primary-color,#0D71B9) 28%,transparent)}.login-button:hover:not(:disabled){background-color:color-mix(in srgb,var(--primary-color,#0D71B9) 88%,black);transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px color-mix(in srgb,var(--primary-color,#0D71B9) 22%,transparent)}.login-button:disabled{opacity:.75;cursor:default;box-shadow:none}.login-links{margin-top:.75rem;display:flex;justify-content:space-between;gap:.75rem}.link-button{padding:0;border:none;background:none;font-size:.9rem;color:var(--primary-color,#0D71B9);cursor:pointer;text-decoration:none}.link-button:hover{text-decoration:underline}@media (max-width:768px){.login-card{padding-inline:1.5rem}}@media (max-width:480px){.login-page{padding-inline:1rem}.login-card{padding:2rem 1.5rem}.login-links{flex-direction:column;align-items:flex-start}}.link-button:focus-visible,.login-button:focus-visible,.toggle-password:focus-visible{outline:2px solid color-mix(in srgb,var(--primary-color,#0D71B9) 45%,transparent);outline-offset:2px;border-radius:10px}