:root{--navy:#0b1220;--blue:#2563eb;--green:#16a34a;--purple:#7c3aed;--red:#dc2626;--orange:#ff7f1a;--ink:#111827;--muted:#64748b}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);display:grid;place-items:center;padding:clamp(18px,4vw,54px);background:#151718 url("/static/atual.png") center/cover fixed no-repeat;overflow:auto}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(105deg,rgba(7,14,25,.94),rgba(7,14,25,.66) 55%,rgba(7,14,25,.28));backdrop-filter:blur(2px)}
.login-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.login-atmosphere:before,.login-atmosphere:after{content:"";position:absolute;border-radius:50%;filter:blur(10px)}
.login-atmosphere:before{width:380px;height:380px;left:8%;top:10%;background:rgba(37,99,235,.16)}
.login-atmosphere:after{width:330px;height:330px;right:10%;bottom:7%;background:rgba(255,127,26,.13)}
.card{width:min(470px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7);border-radius:30px;padding:clamp(28px,4vw,44px);box-shadow:0 32px 100px rgba(0,0,0,.42);position:relative;overflow:hidden;animation:cardIn .45s cubic-bezier(.2,.8,.2,1)}
.card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--blue),var(--purple),var(--orange))}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.logo{width:68px;height:68px;display:grid;place-items:center;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain}
.kicker{font-size:11px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;font-weight:1000}
.product-name{font-size:24px;line-height:1.05;font-weight:1000;letter-spacing:-.04em}
h1{font-size:clamp(31px,4vw,43px);line-height:1.02;margin:0 0 14px;font-weight:1000;letter-spacing:-.055em}
.login-copy{margin:0 0 28px;color:var(--muted);font-size:16px;line-height:1.55}
.field{margin-bottom:17px}
label{display:block;font-weight:900;margin-bottom:8px;font-size:14px}
input{width:100%;height:54px;border:1px solid #d8dee7;border-radius:14px;padding:0 15px;font-size:16px;font-weight:700;background:#fff;outline:0;transition:.18s ease}
input:hover{border-color:#aeb9c8}input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
button{width:100%;height:52px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--blue),#1749bb);color:#fff;font-weight:1000;margin-top:4px;cursor:pointer;box-shadow:0 14px 28px rgba(37,99,235,.25);display:flex;align-items:center;justify-content:center;gap:12px;transition:.18s ease}
button i{font-size:20px;font-style:normal;transition:.18s ease}button:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(37,99,235,.32)}button:hover i{transform:translateX(4px)}
.flash{padding:12px 14px;border-radius:13px;margin:0 0 18px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;font-weight:800;font-size:14px}
.login-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;color:var(--muted);font-size:12px;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(22,163,74,.1)}
.loading-shell{display:none}
body.page-loading .loading-shell{display:grid;position:fixed;inset:0;z-index:99999;place-items:center;background:rgba(7,14,25,.64);backdrop-filter:blur(6px)}
.loading-card{width:min(390px,82vw);padding:28px;border-radius:22px;background:#fff;display:grid;gap:14px}.loading-card i{height:16px;border-radius:999px;background:linear-gradient(90deg,#eef2f7 25%,#dbeafe 45%,#eef2f7 65%);background-size:300% 100%;animation:shimmer 1.2s infinite}.loading-card i:first-child{width:48%;height:30px}.loading-card i:last-child{height:48px}
@keyframes cardIn{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-300% 0}}
@media(max-width:620px){body{place-items:end center;padding:14px}.card{border-radius:24px;padding:28px 22px}.login-brand{margin-bottom:22px}.logo{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
