.login-page{background:var(--color-bg);min-height:100vh;font-family:var(--font-main);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.blob{filter:blur(80px);opacity:.35;pointer-events:none;border-radius:50%;position:absolute}.blob-pink{background:#f9a8d4;width:400px;height:400px;top:-10%;right:-5%}.blob-blue{background:#93c5fd;width:350px;height:350px;bottom:-8%;left:-5%}.blob-green{background:#86efac;width:250px;height:250px;bottom:20%;right:10%}.login-container{z-index:1;text-align:center;width:100%;max-width:420px;padding:2rem;position:relative}.brand{justify-content:center;align-items:center;margin-bottom:2rem;animation:.6s both brandFadeIn;display:flex}.brand .brand-main{letter-spacing:0;color:var(--color-text);font-size:2.2rem;font-weight:800;line-height:1}.brand .brand-script{font-family:var(--font-script);color:var(--color-primary);margin-left:.2rem;font-size:2.6rem;line-height:1;transform:translateY(5px)}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-xl);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-elevated);text-align:left;background:#ffffffd9;padding:2rem 1.75rem}.auth-title{color:var(--color-text);margin:0 0 .25rem;font-size:1.35rem;font-weight:700}.auth-subtitle{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.85rem}.auth-message{border-radius:var(--radius-md);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem .85rem;font-size:.8rem;display:flex}.auth-message.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.auth-message.success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.form-group{margin-bottom:1rem}.form-group label{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.input-wrap{background:var(--color-input-bg);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);align-items:center;padding:0 .75rem;transition:border-color .2s;display:flex}.input-wrap:focus-within{border-color:var(--color-primary)}.input-wrap i{color:var(--color-text-lighter);margin-right:.5rem;font-size:.85rem}.input-wrap input{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:.65rem 0;font-family:inherit;font-size:.9rem}.toggle-pw{cursor:pointer;color:var(--color-text-lighter);background:0 0;border:none;padding:.25rem;font-size:.85rem}.auth-btn{background:var(--color-primary-gradient);width:100%;color:var(--color-text-invert);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.auth-btn:hover:not(:disabled){box-shadow:0 4px 16px var(--color-primary-glow);transform:translateY(-1px)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.forgot-link{color:var(--color-primary);cursor:pointer;text-align:right;background:0 0;border:none;margin-top:.35rem;font-family:inherit;font-size:.75rem;display:block}.forgot-link:hover{text-decoration:underline}.auth-switch{text-align:center;color:var(--color-text-light);margin-top:1.25rem;font-size:.82rem}.auth-switch button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-left:.25rem;font-family:inherit;font-size:.82rem;font-weight:600}.footer-text{color:var(--color-text-lighter);justify-content:center;align-items:center;gap:.35rem;margin-top:1.5rem;font-size:.72rem;display:flex}
