/* JSE 2026 | Modernização unificada, preservando a paleta azul/preto/branco. */
:root{--jse-ink:#0a1d33;--jse-deep:#071629;--jse-brand:#0e75ad;--jse-sky:#35b6e8;--jse-line:rgba(112,153,194,.22);--jse-soft:#f2f7fb;--jse-radius:16px}
html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}img,svg,video{max-width:100%}img{height:auto}input,button,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;touch-action:manipulation}button:not(:disabled):active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.58}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:10px;min-height:43px}:where(input,select,textarea,button,a):focus-visible{outline:3px solid #38bdf8;outline-offset:3px}
:where(.card,.panel,.box,.tile,.metric,.stat){border-radius:var(--jse-radius);box-shadow:0 10px 30px rgba(4,22,42,.075)}
:where(.card,.panel,.box,.tile){border-color:var(--jse-line)}
:where(h1,h2,h3){letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
:where(.btn,.button,button[type=submit]){font-weight:650;letter-spacing:.01em}
:where(table){border-collapse:separate;border-spacing:0;width:100%}:where(th,td){vertical-align:middle}:where(th){font-weight:700}
:where(.scroll,.table-wrap,.table-responsive){overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
:where(.jse-auth-card){border:1px solid rgba(255,255,255,.4);box-shadow:0 24px 80px rgba(0,0,0,.26)!important}
:where(.jse-auth-card button){background:linear-gradient(110deg,#0c3358,#0a83bd)!important}
@media(max-width:900px){body{max-width:100vw;overflow-x:hidden}main,section,article{min-width:0}:where(.grid,.cards,.stats){min-width:0}:where(.card,.panel,.box){min-width:0;overflow-wrap:anywhere}}
@media(max-width:640px){:where(.card,.panel,.box){border-radius:13px}:where(h1){font-size:clamp(1.5rem,5vw,2.3rem)}:where(h2){font-size:clamp(1.2rem,4vw,1.8rem)}:where(button,input,select,textarea){font-size:16px}:where(.jse-auth-card){padding:24px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
