:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8fafc;color:#111}#root{height:100%}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f8fafc}.card{width:100%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f;overflow:hidden;text-align:center}.card-accent{height:4px;background:linear-gradient(90deg,#c1282d,#e03a40)}.card-inner{padding:32px 28px 28px;display:flex;flex-direction:column;gap:20px}.card-logo{width:min(260px,100%);margin:0 auto 4px}.card-logo img{width:100%;height:auto;display:block}.card-title{font-size:22px;font-weight:700;color:#111;margin:0;line-height:1.3}.card-body{font-size:15px;line-height:1.6;color:#444}.card-body p{margin:0 0 12px}.card-body p:last-of-type{margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:8px;text-align:left}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:14px;font-weight:500;color:#374151}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:12px 44px 12px 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:15px;color:#111;background:#fff;transition:border-color .2s,box-shadow .2s;-ms-reveal:none}.input-wrapper input::-ms-reveal,.input-wrapper input::-ms-clear{display:none}.input-wrapper input:focus{outline:none;border-color:#c1282d;box-shadow:0 0 0 3px #c1282d1f}.input-wrapper input:disabled{background:#f3f4f6;cursor:not-allowed}.input-wrapper--error input{border-color:#ef4444}.input-wrapper--error input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.toggle-visibility{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;color:#6b7280;border-radius:6px;transition:color .15s,background .15s;line-height:0}.toggle-visibility:hover:not(:disabled){color:#c1282d;background:#c1282d0f}.toggle-visibility:focus-visible{outline:2px solid #c1282d;outline-offset:2px;color:#c1282d}.toggle-visibility:disabled{opacity:.4;cursor:not-allowed}.strength-meter{display:flex;align-items:center;gap:8px;margin-top:2px}.strength-bars{display:flex;gap:4px;flex:1}.strength-bar{height:4px;flex:1;border-radius:2px;transition:background .3s}.strength-label{font-size:12px;font-weight:600;min-width:44px;text-align:right;transition:color .3s}.field-hint{font-size:12px;color:#6b7280;margin:0;line-height:1.5}.field-error{font-size:12px;color:#ef4444;margin:0;line-height:1.5;font-weight:500}.submit-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#c1282d;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .2s,opacity .2s}.submit-button:hover:not(:disabled){background:#a02025}.submit-button:focus-visible{outline:2px solid #c1282d;outline-offset:3px}.submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.cta-button{display:inline-block;padding:12px 24px;background:#c1282d;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s;margin-top:4px}.cta-button:hover{background:#a02025}.success-illustration{width:80px;height:80px;margin:0 auto 16px;background:linear-gradient(135deg,#fdf2f3,#f4c5ca);border-radius:50%;display:flex;align-items:center;justify-content:center}.error-state{padding:12px 14px;background:#fdf2f3;border:1px solid #f4c5ca;border-radius:10px;color:#a02025;font-size:14px;text-align:left;line-height:1.5}.loading-state{color:#666;font-size:15px}.footer{font-size:12px;color:#6b7280;padding-top:20px;margin-top:8px;border-top:1px solid #eee}.footer p{margin:0 0 4px}.card-link{color:#c1282d;text-decoration:none;font-weight:500}.card-link:hover{text-decoration:underline}
