.login{min-height:100vh;padding:var(--space-24) var(--space-6) var(--space-32);background:var(--bg-warm);color:var(--ink);position:relative;overflow:hidden}.login__bg-shape{position:absolute;top:-120px;right:-180px;width:600px;height:600px;background:radial-gradient(circle,rgba(45,106,90,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login__bg-shape-2{position:absolute;bottom:-100px;left:-100px;width:450px;height:450px;background:radial-gradient(circle,rgba(196,163,90,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login__container{max-width:520px;margin:0 auto;position:relative;z-index:1}.login__branding{text-align:center;margin-bottom:var(--space-10);animation:fadeInUp .6s var(--ease) both}.login__branding-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,var(--text-4xl));font-weight:300;line-height:1.1;margin:0 0 var(--space-3);color:var(--ink)}.login__branding-title em{font-style:italic;color:var(--accent)}.login__branding-subtitle{color:var(--ink-muted);font-size:var(--text-lg);max-width:440px;margin:0 auto;line-height:1.55;font-weight:300}.login__form-wrapper{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-10);animation:fadeInUp .7s .15s var(--ease) both}.login__header{margin-bottom:var(--space-6)}.login__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;margin:0 0 var(--space-2);color:var(--ink)}.login__subtitle{color:var(--ink-muted);margin:0;line-height:1.5}.login__error{background:#ef444414;border:1px solid rgba(239,68,68,.18);color:#991b1b;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--text-sm)}.login__hint{text-align:center;font-size:var(--text-sm);color:var(--ink-muted);margin-top:var(--space-6);line-height:1.6}.login__link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;font-weight:500;text-decoration:underline}.login__form .form__actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.login__form .form__actions .button{flex:1}.login__form .button{width:100%;text-align:center}@media(max-width:640px){.login{padding:var(--space-12) var(--space-4) var(--space-10)}.login__form-wrapper{padding:var(--space-6)}.login__branding-title{font-size:var(--text-3xl)}}
