:root{--bg-base:#eaddff;--shadow-light:#e2e2e2;--shadow-dark:#c7badb;--accent-purple:#9333ea;--accent-hover:#7e22ce;--accent-active:#6b21a8;--text-main:#3b0764;--text-muted:#7e57c2;--text-placeholder:#b0acbe;--color-error:#ef4444;--color-error-bg:#ff767533;--radius-card:30px;--radius-control:15px;--radius-checkbox:6px;--depth-sm:3px 3px 6px var(--shadow-dark), -3px -3px 6px var(--shadow-light);--depth-md:6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light);--depth-lg:12px 12px 24px var(--shadow-dark), -12px -12px 24px var(--shadow-light);--depth-inset-md:inset 6px 6px 12px var(--shadow-dark), inset -6px -6px 12px var(--shadow-light);--depth-inset-lg:inset 8px 8px 16px var(--shadow-dark), inset -8px -8px 16px var(--shadow-light);--depth-inset-sm:inset 3px 3px 6px var(--shadow-dark), inset -3px -3px 6px var(--shadow-light);--transition-base:all .3s ease}*{box-sizing:border-box}body{background-color:var(--bg-base);justify-content:center;align-items:center;height:100vh;margin:0;font-family:Inter,sans-serif;display:flex}.login-card{background-color:var(--bg-base);border-radius:var(--radius-card);box-shadow:var(--depth-lg);text-align:center;width:100%;max-width:420px;padding:50px 45px}.brand-title{color:var(--text-main);letter-spacing:-.5px;margin:0 0 8px;font-family:Playfair Display,serif;font-size:32px;font-weight:700}.brand-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 40px;font-size:12px;font-weight:600}.reset-context{color:var(--text-muted);background-color:var(--bg-base);text-align:left;box-shadow:var(--depth-inset-sm);border-radius:14px;align-items:flex-start;gap:10px;margin:-12px 0 28px;padding:14px 16px;font-family:Inter,sans-serif;font-size:13px;line-height:1.55;display:flex}.reset-context i{color:var(--accent-purple);flex-shrink:0;margin-top:2px;font-size:14px}.reset-context strong{color:var(--text-main);font-weight:700}.field-hint{color:var(--text-muted);opacity:.85;margin-top:6px;padding-left:8px;font-family:Inter,sans-serif;font-size:11px;font-style:italic;display:block}.form-group{text-align:left;margin-bottom:24px}.form-label{color:var(--text-muted);margin-bottom:12px;padding-left:8px;font-size:12px;font-weight:600;display:block}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;font-size:14px;transition:color .3s;position:absolute;left:18px}.form-control{border-radius:var(--radius-control);background-color:var(--bg-base);width:100%;color:var(--text-main);box-shadow:var(--depth-inset-md);transition:var(--transition-base);border:none;padding:15px 15px 15px 45px;font-size:14px}.form-control::placeholder{color:var(--text-placeholder)}.form-control[readonly]{color:var(--text-muted);cursor:not-allowed;box-shadow:var(--depth-inset-sm);opacity:.85}.form-control:focus{box-shadow:var(--depth-inset-lg);outline:none}.input-group:focus-within .input-icon{color:var(--accent-purple)}.form-control:-webkit-autofill{-webkit-box-shadow:var(--depth-inset-md);-webkit-text-fill-color:var(--text-main);transition:background-color 9999s ease-in-out}.form-control:-webkit-autofill:hover{-webkit-box-shadow:var(--depth-inset-md);-webkit-text-fill-color:var(--text-main);transition:background-color 9999s ease-in-out}.form-control:-webkit-autofill:focus{-webkit-box-shadow:var(--depth-inset-md);-webkit-text-fill-color:var(--text-main);transition:background-color 9999s ease-in-out}.toggle-password{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;transition:color .3s;position:absolute;right:16px}.toggle-password:hover{color:var(--accent-purple)}.form-control.is-invalid{box-shadow:inset 4px 4px 10px var(--color-error-bg), inset -4px -4px 10px var(--shadow-light)}.error-message{color:var(--color-error);margin-top:8px;padding-left:8px;font-size:11px;font-weight:600;display:block}.remember-group{text-align:left;justify-content:space-between;align-items:center;margin-bottom:25px;padding-left:8px;display:flex}.checkbox-wrapper{align-items:center;gap:10px;display:flex}.remember-label{color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500}input[type=checkbox]{appearance:none;background-color:var(--bg-base);border-radius:var(--radius-checkbox);cursor:pointer;width:20px;height:20px;box-shadow:var(--depth-inset-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}input[type=checkbox]:checked{background-color:var(--accent-purple);box-shadow:none}input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.forgot-link{color:var(--accent-purple);font-size:13px;font-weight:600;text-decoration:none;transition:color .3s}.forgot-link:hover{color:var(--accent-active)}.auth-prompt{color:var(--text-muted);margin-top:30px;font-size:16px}.auth-prompt a{color:var(--accent-purple);margin-top:8px;font-weight:700;text-decoration:none;transition:color .3s;display:inline-block}.auth-prompt a:hover{color:var(--accent-active)}.register-prompt,.login-prompt{color:var(--text-muted);margin-top:30px;font-size:16px}.register-prompt a,.login-prompt a{color:var(--accent-purple);margin-top:8px;font-weight:700;text-decoration:none;transition:color .3s;display:inline-block}.register-prompt a:hover,.login-prompt a:hover{color:var(--accent-active)}.btn-submit{background-color:var(--accent-purple);color:#fff;border-radius:var(--radius-control);cursor:pointer;width:100%;box-shadow:var(--depth-md);border:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-submit:hover{background-color:var(--accent-hover)}.btn-submit:active{background-color:var(--accent-active);transform:scale(.98);box-shadow:inset 4px 4px 10px #00000026}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-submit--spaced{margin-top:8px}@media (width<=480px){.login-card{max-width:100%;margin:0 16px;padding:40px 28px}.brand-title{font-size:26px}}.auth-actions{flex-direction:column;gap:14px;margin-top:4px;display:flex}.btn-submit{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.divider{text-align:center;color:#94a3b8;align-items:center;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.divider span{padding:0 12px}.btn-google{color:#444;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:box-shadow .2s,transform .15s;display:flex;box-shadow:0 1px 3px #0000000f}.btn-google:hover{color:#444;transform:translateY(-1px);box-shadow:0 4px 10px #0000001a}.btn-google:active{transform:translateY(0)}
