@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");.login-fx{min-height:100vh;display:grid;place-items:center;padding:clamp(1.5rem,4vw,3rem);background:var(--fx-body-bg);position:relative;overflow:hidden;color:var(--fx-text);font-family:"Manrope",var(--font-geist-sans),sans-serif}.login-fx:before{content:"";position:absolute;inset:-20%;background-image:linear-gradient(rgba(100,116,139,.055) 1px,transparent 0),linear-gradient(90deg,rgba(100,116,139,.055) 1px,transparent 0);background-size:52px 52px;opacity:.8;pointer-events:none}.login-fx__frame{position:relative;z-index:1;width:min(520px,100%);display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}.login-theme{display:flex;justify-content:flex-end}.login-theme__button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.75rem;border:1px solid var(--fx-border);background:var(--fx-control-bg);color:var(--fx-text);box-shadow:var(--fx-shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.login-theme__button:hover{transform:translateY(-1px);box-shadow:var(--fx-shadow-elevated);border-color:rgba(15,118,110,.36)}.login-panel{border-radius:16px;padding:clamp(1.5rem,4vw,2.75rem);background:var(--fx-panel);border:1px solid var(--fx-border);box-shadow:var(--fx-shadow-elevated);position:relative;overflow:hidden}.login-brand{display:flex;align-items:center;gap:1rem}.login-brand--center{flex-direction:column;text-align:center}.login-brand__logo{width:58px;height:58px;border-radius:12px;background:var(--fx-panel-soft);border:1px solid var(--fx-border);box-shadow:var(--fx-shadow-soft);padding:8px}.login-brand__logo--xl{width:clamp(140px,28vw,190px);height:auto;padding:12px}.login-brand__title{font-family:"Manrope",var(--font-geist-sans),sans-serif;letter-spacing:0;font-size:clamp(1.3rem,2.2vw,2rem)}.login-brand__subtitle{color:var(--fx-text-muted);margin-top:.25rem}.login-hud{margin-top:1.8rem;display:grid;gap:1rem}.login-hud__card{padding:1rem 1.25rem;border-radius:14px;border:1px solid var(--fx-border);background:var(--fx-panel-soft);display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.login-hud__label{text-transform:uppercase;letter-spacing:.08em;color:var(--fx-text-muted);font-size:.8rem}.login-card{display:flex;flex-direction:column;gap:1.5rem}.login-card--center{align-items:center}.login-card h2{font-family:"Manrope",var(--font-geist-sans),sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:1.2rem;color:var(--fx-text)}.login-form{gap:1rem;width:min(360px,100%)}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:.4rem}.login-field label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--fx-text-muted)}.login-field input{border-radius:10px;border:1px solid var(--fx-control-border);background:var(--fx-control-bg);color:var(--fx-text);padding:.8rem 1rem;transition:border .2s ease,box-shadow .2s ease}.login-field input:focus{outline:none;border-color:rgba(15,118,110,.42);box-shadow:0 0 0 4px var(--fx-focus)}.login-error{color:#fca5a5;font-size:.9rem}.login-actions{display:flex;justify-content:center;align-items:center;gap:1rem;font-size:.9rem}.login-link{color:var(--fx-text-muted);text-decoration:none}.login-link:hover{color:var(--fx-text)}.login-button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.85rem 1.5rem;border:none;background:linear-gradient(135deg,#0f766e,#2563eb);color:#eff6ff;font-weight:700;letter-spacing:0;text-transform:uppercase;box-shadow:0 14px 30px rgba(15,118,110,.22);transition:transform .2s ease,box-shadow .2s ease}.login-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#ffffff;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-button:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(15,118,110,.28)}.login-footer{text-align:center;font-size:.85rem;color:var(--fx-text-muted)}@media (min-width:900px){.login-fx__frame{grid-template-columns:minmax(0,1fr);align-items:center}}