/* JSE Rastreamento | Referencia aprovada - camada final 2026 */
:root{--jse-bg:#030b1b;--jse-surface:#071a34;--jse-card:#092447;--jse-border:#096db6;--jse-accent:#00b9ff;--jse-strong:#0864f7;--jse-ink:#f3f9ff;--jse-sub:#adc7e4;color-scheme:dark}
html[data-jse-theme="light"]{--jse-bg:#eef5ff;--jse-surface:#ffffff;--jse-card:#eaf3ff;--jse-border:#91c3ec;--jse-accent:#006cb7;--jse-strong:#075de2;--jse-ink:#0b2443;--jse-sub:#425c7b;color-scheme:light}
html,body{background:var(--jse-bg)!important;color:var(--jse-ink)!important;min-height:100%;}
body{background-image:radial-gradient(ellipse at 90% -15%,color-mix(in srgb,var(--jse-strong) 16%,transparent),transparent 45%)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body::before{pointer-events:none!important}
header{background:var(--jse-surface)!important;color:var(--jse-ink)!important;border-bottom:1px solid var(--jse-border)!important;box-shadow:0 2px 16px #0069e222!important;gap:12px;flex-wrap:wrap}
header img{max-width:210px;max-height:65px;object-fit:contain}
header a,header button{color:var(--jse-ink)!important}
main{max-width:1660px!important;width:100%;box-sizing:border-box}
h1,h2,h3,h4,.brand{color:var(--jse-ink)!important}
p,small,.muted,.subtext{color:var(--jse-sub)!important}
.panel,.card,.metric,.edit-box,.store-card,.jd-stat,.jd-panel,.jse-service-card,section[class*="card"],article{background:linear-gradient(145deg,var(--jse-surface),var(--jse-card))!important;border:1px solid var(--jse-border)!important;border-radius:14px!important;color:var(--jse-ink)!important;box-shadow:0 10px 26px #0011273d,inset 0 1px #ffffff0c!important}
button,.btn,a.cta,input[type="submit"]{border-radius:9px!important;transition:filter .15s ease,transform .15s ease}
button:hover,.btn:hover,a.cta:hover{filter:brightness(1.13)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--jse-accent)!important;outline-offset:2px}
input,select,textarea{background:var(--jse-surface)!important;color:var(--jse-ink)!important;border:1px solid var(--jse-border)!important;border-radius:9px!important;max-width:100%;box-sizing:border-box}
input::placeholder,textarea::placeholder{color:var(--jse-sub)!important}
label,th,td{color:var(--jse-ink)!important}
table{max-width:100%;border-collapse:collapse}th{background:var(--jse-card)!important}tr{border-color:var(--jse-border)!important}
a{color:var(--jse-accent)}
#jseThemeButton{background:var(--jse-card)!important;color:var(--jse-ink)!important;border:1px solid var(--jse-border)!important;white-space:nowrap}
/* Admin: existing functional tab buttons become a genuine fixed navigation rail */
@media(min-width:1050px){body.jse-modern-admin:has(#app:not(.hidden)) header{padding-left:280px!important;min-height:74px}body.jse-modern-admin:has(#app:not(.hidden)) header>.brand{position:fixed;top:0;left:0;z-index:60;width:260px;height:74px;box-sizing:border-box;padding:10px 16px;background:var(--jse-bg);border-right:1px solid var(--jse-border);border-bottom:1px solid var(--jse-border)}body.jse-modern-admin:has(#app:not(.hidden)) main{margin:0!important;padding:22px 24px 30px 290px!important;max-width:none!important}body.jse-modern-admin:has(#app:not(.hidden)) #tabs{position:fixed!important;top:74px;left:0;bottom:0;width:260px;box-sizing:border-box;overflow-y:auto;display:flex!important;flex-direction:column!important;align-items:stretch!important;flex-wrap:nowrap!important;gap:5px!important;padding:18px 10px 30px!important;margin:0!important;background:var(--jse-bg)!important;border-right:1px solid var(--jse-border)!important;z-index:55;max-height:none!important}body.jse-modern-admin:has(#app:not(.hidden)) #tabs button{display:block!important;width:100%!important;text-align:left!important;flex:none!important;margin:0!important;padding:12px 14px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--jse-ink)!important;font-size:14px!important;box-shadow:none!important}body.jse-modern-admin:has(#app:not(.hidden)) #tabs button.active{background:linear-gradient(90deg,#0754df,#00a2f6)!important;color:white!important}body.jse-modern-admin #jse-menu-toggle{display:none!important}}
@media(max-width:1049px){body.jse-modern-admin main{padding:16px!important}body.jse-modern-admin #tabs{max-height:55vh;overflow:auto}body.jse-modern-admin #tabs button{min-height:44px}}
@media(max-width:650px){header{padding:10px!important}header>div{display:flex;flex-wrap:wrap;gap:7px}header img{max-width:165px}main{padding:14px!important;margin:12px auto!important}.panel,.card,.edit-box{padding:14px!important}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}button,input,select{min-height:42px}#jseThemeButton{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* light theme must override earlier forced dark colors */
html[data-jse-theme="light"] body,html[data-jse-theme="light"] header,html[data-jse-theme="light"] .panel,html[data-jse-theme="light"] .card,html[data-jse-theme="light"] .metric,html[data-jse-theme="light"] .edit-box,html[data-jse-theme="light"] .store-card,html[data-jse-theme="light"] .jd-stat,html[data-jse-theme="light"] .jd-panel,html[data-jse-theme="light"] #tabs,html[data-jse-theme="light"] input,html[data-jse-theme="light"] select,html[data-jse-theme="light"] textarea{color:var(--jse-ink)!important;background:var(--jse-surface)!important;background-image:none!important}
html[data-jse-theme="light"] h1,html[data-jse-theme="light"] h2,html[data-jse-theme="light"] h3,html[data-jse-theme="light"] h4,html[data-jse-theme="light"] p,html[data-jse-theme="light"] label,html[data-jse-theme="light"] th,html[data-jse-theme="light"] td,html[data-jse-theme="light"] header a,html[data-jse-theme="light"] header button{color:var(--jse-ink)!important}
html[data-jse-theme="light"] .muted,html[data-jse-theme="light"] small{color:var(--jse-sub)!important}
