:root{
    --login-bg:#070910;
    --login-card:#101521;
    --login-card-2:#151b29;
    --login-line:rgba(255,255,255,.1);
    --login-text:#f8fafc;
    --login-muted:#98a2b3;
    --login-primary:#7c3aed;
    --login-primary-2:#a855f7;
    --login-danger:#ef4444;
}
*{box-sizing:border-box}

html,*{scrollbar-width:thin;scrollbar-color:var(--scroll-theme,var(--login-primary)) rgba(255,255,255,.055)}
html::-webkit-scrollbar,*::-webkit-scrollbar{width:10px;height:10px}
html::-webkit-scrollbar-track,*::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:999px}
html::-webkit-scrollbar-thumb,*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--scroll-theme,var(--login-primary)) padding-box}
html::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:hover{background:var(--scroll-theme,var(--login-primary-2)) padding-box;filter:brightness(1.18)}

html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--login-text);background:var(--login-bg);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
.login-page{
    position:relative;
    min-height:100vh;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:clamp(18px,4vw,52px);
    background:
        linear-gradient(120deg,rgba(5,7,13,.96),rgba(7,9,16,.78)),
        url('../fundo.jpg') center/cover no-repeat fixed;
}
.login-page::before,.login-page::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.login-page::before{width:560px;height:560px;right:-210px;top:-220px;background:radial-gradient(circle,rgba(124,58,237,.3),transparent 68%)}
.login-page::after{width:460px;height:460px;left:-190px;bottom:-220px;background:radial-gradient(circle,rgba(56,189,248,.13),transparent 68%)}
.login-grid{
    position:relative;
    z-index:1;
    width:min(100%,1040px);
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);
    overflow:hidden;
    border:1px solid var(--login-line);
    border-radius:30px;
    background:rgba(10,13,22,.82);
    box-shadow:0 42px 130px rgba(0,0,0,.55);
    backdrop-filter:blur(26px) saturate(125%);
    -webkit-backdrop-filter:blur(26px) saturate(125%);
    animation:loginEnter .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes loginEnter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.login-showcase{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:620px;
    padding:48px;
    overflow:hidden;
    border-right:1px solid var(--login-line);
    background:
        linear-gradient(155deg,rgba(124,58,237,.24),rgba(13,17,27,.74) 48%,rgba(8,12,20,.93)),
        url('../fundo.jpg') center/cover no-repeat;
}
.login-showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(4,6,11,.8));pointer-events:none}
.login-brand,.showcase-copy,.showcase-footer{position:relative;z-index:1}
.login-brand{display:flex;align-items:center;gap:13px}
.brand-logo{width:50px;height:50px;display:grid;place-items:center;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);box-shadow:0 14px 32px rgba(0,0,0,.25)}
.brand-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.brand-logo span{font-size:13px;font-weight:900;color:#ddd6fe}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:15px}.brand-copy small{margin-top:4px;color:#c5cbd6;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.showcase-copy{max-width:480px;margin-top:auto;margin-bottom:44px}
.showcase-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(196,181,253,.21);border-radius:999px;color:#ddd6fe;background:rgba(124,58,237,.13);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.showcase-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#a78bfa;box-shadow:0 0 0 5px rgba(167,139,250,.12)}
.showcase-copy h1{max-width:470px;margin:0;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.055em;font-weight:800}
.showcase-copy p{max-width:430px;margin:18px 0 0;color:#c7ceda;font-size:13px;line-height:1.7}
.showcase-footer{display:flex;align-items:center;gap:10px;color:#aeb7c5;font-size:10px}
.showcase-footer svg{width:17px;height:17px;fill:#a78bfa}
.login-panel{display:flex;align-items:center;padding:clamp(32px,5vw,58px);background:linear-gradient(180deg,rgba(16,21,33,.92),rgba(10,14,23,.96))}
.login-form-wrap{width:100%;max-width:390px;margin:auto}
.mobile-brand{display:none}
.login-heading{margin-bottom:28px}
.login-kicker{display:block;margin-bottom:9px;color:#a78bfa;font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.login-heading h2{margin:0;font-size:29px;line-height:1.15;letter-spacing:-.04em}
.login-heading p{margin:9px 0 0;color:var(--login-muted);font-size:12px;line-height:1.55}
.login-error{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;border:1px solid rgba(239,68,68,.24);border-radius:13px;color:#fecaca;background:rgba(239,68,68,.09);font-size:11px;line-height:1.5}
.login-error svg{width:17px;height:17px;flex:0 0 auto;fill:#f87171}
.login-form{display:flex;flex-direction:column;gap:17px}
.login-field label{display:block;margin-bottom:8px;color:#e6e9ef;font-size:11px;font-weight:750}
.input-shell{position:relative}
.input-shell>svg{position:absolute;left:14px;top:50%;width:18px;height:18px;fill:#69758a;transform:translateY(-50%);pointer-events:none;transition:.18s}
.input-shell input{width:100%;height:50px;padding:0 45px 0 44px;border:1px solid var(--login-line);border-radius:14px;outline:none;color:#fff;background:rgba(3,6,12,.48);font-size:13px;transition:.18s}
.input-shell input::placeholder{color:#596579}
.input-shell input:focus{border-color:rgba(139,92,246,.72);background:rgba(6,9,17,.8);box-shadow:0 0 0 4px rgba(124,58,237,.13)}
.input-shell:focus-within>svg{fill:#a78bfa}
.password-toggle{position:absolute;right:7px;top:50%;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;color:#7e899c;background:transparent;transform:translateY(-50%);cursor:pointer}
.password-toggle:hover{color:#fff;background:rgba(255,255,255,.05)}
.password-toggle svg{width:18px;height:18px;fill:currentColor}
.login-submit{height:50px;margin-top:5px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--login-primary),var(--login-primary-2));box-shadow:0 14px 34px rgba(124,58,237,.28);font-size:12px;font-weight:800;cursor:pointer;transition:.2s}
.login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(124,58,237,.38)}
.login-submit:active{transform:translateY(0)}
.login-submit svg{width:18px;height:18px;fill:currentColor}
.login-meta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:23px;color:#657084;font-size:9px;text-transform:uppercase;letter-spacing:.09em}
.login-meta svg{width:14px;height:14px;fill:#667085}
.login-copyright{margin-top:30px;padding-top:20px;border-top:1px solid var(--login-line);color:#566175;font-size:9px;text-align:center}
@media(max-width:850px){
    .login-page{padding:18px}
    .login-grid{width:min(100%,500px);min-height:0;grid-template-columns:1fr;border-radius:24px}
    .login-showcase{display:none}
    .login-panel{padding:34px 28px}
    .mobile-brand{display:flex;align-items:center;gap:11px;margin-bottom:34px}
    .mobile-brand .brand-logo{width:44px;height:44px;border-radius:14px}
}
@media(max-width:480px){
    .login-page{align-items:stretch;padding:0;background:linear-gradient(180deg,#090c14,#070910)}
    .login-grid{width:100%;min-height:100vh;border:0;border-radius:0;background:transparent;box-shadow:none}
    .login-panel{align-items:center;padding:28px 20px calc(28px + env(safe-area-inset-bottom))}
    .login-heading h2{font-size:26px}
    .input-shell input,.login-submit{height:52px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
