.login-shell{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;isolation:isolate}.login-halo{position:absolute;inset:0;z-index:-2;background:radial-gradient(760px 420px at 50% -6%,rgba(34,197,94,.14),transparent 62%),radial-gradient(640px 420px at 100% 100%,rgba(34,197,94,.06),transparent 55%)}html.dark .login-halo{background:radial-gradient(760px 420px at 50% -6%,rgba(34,197,94,.16),transparent 62%),radial-gradient(640px 420px at 100% 100%,rgba(34,197,94,.08),transparent 55%),linear-gradient(160deg,#050505,#0a0a0a 55%,#000)}.login-mesh{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 0),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 0);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 640px 420px at 50% 20%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse 640px 420px at 50% 20%,#000 0,transparent 72%);pointer-events:none}html.dark .login-mesh{background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0)}.login-card{position:relative;z-index:1;width:100%;max-width:380px;border-radius:24px;border:1px solid rgba(15,23,42,.08);background:hsla(0,0%,100%,.86);backdrop-filter:blur(14px);padding:32px 30px 28px;box-shadow:0 24px 60px -20px rgba(15,23,42,.22)}html.dark .login-card{border-color:hsla(0,0%,100%,.08);background:hsla(0,0%,4%,.72);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}.login-logo{height:44px;width:44px;flex-shrink:0;border-radius:12px;-o-object-fit:contain;object-fit:contain;background:#fff;box-shadow:0 0 0 1px rgba(34,197,94,.18)}html.dark .login-logo{background:#131313}.login-eyebrow{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8}html.dark .login-eyebrow{color:#64748b}.login-title{font-family:var(--fonte-titulo),var(--fonte-texto),system-ui,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#1e293b}html.dark .login-title{color:#fff}.login-lead{margin:14px 0 22px;font-size:13px;color:#64748b}html.dark .login-lead{color:#94a3b8}.login-field+.login-field{margin-top:14px}.login-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:#475569}html.dark .login-label{color:#cbd5e1}.login-input-wrap{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:12px;height:16px;width:16px;color:#94a3b8;pointer-events:none}html.dark .login-input-icon{color:#64748b}.login-input{width:100%;border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:10px 12px 10px 36px;font-size:14px;color:#1e293b;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.login-input::-moz-placeholder{color:#94a3b8}.login-input::placeholder{color:#94a3b8}.login-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.16)}html.dark .login-input{border-color:#334155;background:#0a0a0a;color:#f1f5f9}html.dark .login-input::-moz-placeholder{color:#475569}html.dark .login-input::placeholder{color:#475569}.login-erro{display:flex;align-items:flex-start;gap:8px;margin-top:14px;border-radius:10px;border:1px solid rgba(239,68,68,.25);background:rgba(239,68,68,.08);padding:9px 11px;font-size:13px;color:#dc2626}html.dark .login-erro{color:#f87171;border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.12)}.login-submit{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin-top:22px;border-radius:12px;background:#22c55e;padding:11px 16px;font-size:14px;font-weight:700;color:#04140a;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.login-submit:hover:not(:disabled){background:#34d399;box-shadow:0 0 0 1px rgba(34,197,94,.15),0 4px 20px -4px rgba(34,197,94,.35);transform:translateY(-1px)}.login-submit:disabled{opacity:.55;cursor:not-allowed}.login-footer{margin-top:18px;text-align:center;font-size:11px;color:#94a3b8}html.dark .login-footer{color:#475569}