.login-page{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--app-surface);width:100%;max-width:420px;color:var(--app-text);border:1px solid var(--app-border);box-shadow:var(--app-shadow);border-radius:20px;padding:32px;position:relative}.login-logo{justify-content:center;margin-bottom:16px;display:flex}.login-logo img{object-fit:contain;width:90px;height:auto}.login-header{text-align:center;margin-bottom:28px}.login-header h1{color:var(--app-text);font-size:28px;font-weight:700}.login-header p{color:var(--app-text-soft);margin-top:6px;font-size:14px}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--app-text);font-size:13px;font-weight:600}.form-group input{border:1px solid var(--app-border-strong);background:var(--app-surface-muted);width:100%;color:var(--app-text);border-radius:10px;outline:none;padding:13px 14px;font-size:14px;transition:all .2s}.form-group input::placeholder{color:var(--app-text-muted)}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.login-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;margin-top:10px;padding:14px;font-size:15px;font-weight:700;transition:all .2s}.login-button:hover{background:#1d4ed8}.login-links{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.login-links button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:13px;font-weight:700}.login-links button:hover{text-decoration:underline}.login-links button.disabled{color:#9ca3af;cursor:not-allowed}.input-senha{width:100%;position:relative}.input-senha input{border:1px solid var(--app-border-strong);background:var(--app-surface-muted);width:100%;color:var(--app-text);border-radius:10px;outline:none;padding:13px 44px 13px 14px;font-size:14px}.icone-senha{cursor:pointer;-webkit-user-select:none;user-select:none;width:24px;height:24px;color:var(--app-text);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lembrar-senha{color:var(--app-text);align-items:center;gap:8px;margin-top:-4px;font-size:13px;display:flex}.lembrar-senha input,.lembrar-senha label{cursor:pointer}.mensagem{text-align:center;border-radius:10px;margin-bottom:15px;padding:12px;font-size:14px;font-weight:600}.mensagem.sucesso{color:#166534;background:#dcfce7}.mensagem.erro{color:#991b1b;background:#fee2e2}.mensagem.info{color:#075985;background:#e0f2fe}.login-back-top{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:13px;font-weight:700;position:absolute;top:18px;left:22px}.login-back-top:hover{text-decoration:underline}.login-code-actions{align-items:center}.login-code-actions button:first-child{text-align:left}.login-code-actions button:last-child{text-align:right;margin-left:auto}.login-modal-backdrop{z-index:50;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.login-modal{background:var(--app-surface);border-radius:16px;width:100%;max-width:360px;padding:22px;box-shadow:0 20px 50px #0f172a40}.login-modal h2{color:var(--app-text);margin-bottom:12px;font-size:20px;font-weight:800}.login-modal p{color:var(--app-text-soft);margin-top:10px;font-size:14px;line-height:1.5}.login-modal button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:18px;padding:12px 14px;font-size:14px;font-weight:800}:root[data-theme=dark] .login-page{background:linear-gradient(#02061761, #02061761), linear-gradient(135deg, var(--color-primary-strong), var(--app-bg))}:root[data-theme=dark] .login-card{box-shadow:0 24px 70px #02061794}.login-page,:root[data-theme=dark] .login-page{color:#0f172a;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.login-card,:root[data-theme=dark] .login-card{color:#0f172a;background:#fff;border-color:#dbe4ee;box-shadow:0 12px 30px #0f172a14}.login-header h1,.form-group label,.icone-senha,.lembrar-senha,.login-modal h2,:root[data-theme=dark] .login-header h1,:root[data-theme=dark] .form-group label,:root[data-theme=dark] .icone-senha,:root[data-theme=dark] .lembrar-senha,:root[data-theme=dark] .login-modal h2{color:#0f172a}.login-header p,.login-modal p,:root[data-theme=dark] .login-header p,:root[data-theme=dark] .login-modal p{color:#64748b}.form-group input,.input-senha input,:root[data-theme=dark] .form-group input,:root[data-theme=dark] .input-senha input{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.form-group input::placeholder,.input-senha input::placeholder,:root[data-theme=dark] .form-group input::placeholder,:root[data-theme=dark] .input-senha input::placeholder{color:#94a3b8}.login-links button,.login-back-top,:root[data-theme=dark] .login-links button,:root[data-theme=dark] .login-back-top{color:#2563eb}.login-button,.login-modal button,:root[data-theme=dark] .login-button,:root[data-theme=dark] .login-modal button{color:#fff;background:#2563eb}.login-button:hover,:root[data-theme=dark] .login-button:hover{background:#1d4ed8}.login-modal,:root[data-theme=dark] .login-modal{background:#fff}@media (max-width:480px){.login-page{padding:18px}.login-card{padding:34px 24px 28px}.login-code-actions{align-items:flex-start}}
