:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;height:100vh;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{margin:0;padding:0;height:100vh;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:440px;width:100%;overflow:hidden}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 32px;text-align:center}.login-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.login-header p{margin:0;font-size:14px;opacity:.9}.login-form{padding:32px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;transition:all .2s;box-sizing:border-box}.form-group input::placeholder,.password-input-wrapper input::placeholder{opacity:1;transition:opacity .2s}.form-group input:focus::placeholder,.password-input-wrapper input:focus::placeholder{opacity:0}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f9fafb;cursor:not-allowed}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%;padding-right:45px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:20px;padding:5px;display:flex;align-items:center;justify-content:center}.password-toggle:hover:not(:disabled){opacity:.7}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.info-message{background-color:#f3f4f6;border:1px solid #d1d5db;color:#4b5563;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.checkbox-group{margin-bottom:20px}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:400;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:auto;margin-right:8px;cursor:pointer;width:18px;height:18px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label span{font-size:14px;color:#374151}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.recovery-button{width:calc(100% - 64px);margin:0 32px 24px;padding:10px;background-color:#dc2626;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.recovery-button:hover:not(:disabled){background-color:#b91c1c}.recovery-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{background-color:#f9fafb;padding:20px 32px;text-align:center;border-top:1px solid #e5e7eb}.login-footer p{margin:0;font-size:13px;color:#6b7280}
