body[data-controller=confirmations],body[data-controller=passwords],body[data-controller=registrations],body[data-controller=sessions],body[data-controller=unlocks]{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa}body[data-controller=confirmations]>.alert,body[data-controller=passwords]>.alert,body[data-controller=registrations]>.alert,body[data-controller=sessions]>.alert,body[data-controller=unlocks]>.alert{position:fixed;top:1rem;left:50%;transform:translateX(-50%);min-width:300px;max-width:500px;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15)}.login-container{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px rgba(95,66,154,.15);width:100%;max-width:420px;margin:1rem;border:1px solid #e9ecef}.login-header{text-align:center;margin-bottom:2rem}.login-logo-img{width:140px;height:auto;margin:0 auto 1.5rem;display:block}.login-title{font-size:1.75rem;font-weight:700;color:#1a202c;margin:0 0 .5rem}.login-subtitle{color:#6c757d;font-size:.95rem}.field{margin-bottom:1.5rem}.field label{display:block;font-weight:600;color:#2d3748;margin-bottom:.5rem;font-size:.95rem}.field input[type=email],.field input[type=password],.field input[type=text]{width:100%;padding:.75rem 1rem;border:2px solid #dee2e6;border-radius:8px;font-size:1rem;transition:all .2s;box-sizing:border-box}.field input[type=email]:focus,.field input[type=password]:focus,.field input[type=text]:focus{outline:none;border-color:#5f429a;box-shadow:0 0 0 3px rgba(95,66,154,.1)}.field input[type=email]::-moz-placeholder,.field input[type=password]::-moz-placeholder,.field input[type=text]::-moz-placeholder{color:#adb5bd}.field input[type=email]::placeholder,.field input[type=password]::placeholder,.field input[type=text]::placeholder{color:#adb5bd}.field-checkbox{display:flex;align-items:center;margin-bottom:1.5rem}.field-checkbox input[type=checkbox]{width:18px;height:18px;margin-right:.5rem;cursor:pointer;accent-color:#5f429a}.field-checkbox label{margin:0;font-weight:500;color:#495057;cursor:pointer;font-size:.95rem}.actions{margin-top:1.5rem}.actions input[type=submit]{width:100%;padding:.875rem;background:#5f429a;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.actions input[type=submit]:hover{background:rgb(72.9772727273,50.7,118.3);transform:translateY(-1px);box-shadow:0 6px 16px rgba(95,66,154,.3)}.actions input[type=submit]:active{transform:translateY(0)}.actions input[type=submit]:focus{outline:none;box-shadow:0 0 0 3px rgba(95,66,154,.2)}.devise-links{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e9ecef}.devise-links a{color:#5f429a;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.devise-links a:hover{color:rgb(72.9772727273,50.7,118.3);text-decoration:underline}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.alert.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.error-messages{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.error-messages h2{font-size:1rem;margin:0 0 .5rem;font-weight:600}.error-messages ul{margin:0;padding-left:1.25rem}.error-messages ul li{margin:.25rem 0}@media(max-width:576px){.login-container{padding:2rem 1.5rem;margin:.5rem}.login-title{font-size:1.5rem}.login-logo-img{width:110px}}