/* =========================================================
   base.css — tokens de design (tema claro/escuro), reset e corpo
   ========================================================= */
:root{
  --bg:#e9f0f4;--surf:#fff;--card:#fff;--bd:#dde6ec;--tx:#0f2230;--mut:#5f7384;
  --soft:#e3f7ec;--in:#f5f8fa;--trk:#e2e8f0;
  --pri:#16a34a;--pri2:#15803d;--navy:#02263a;--side:#031f2e;
  --rod:#4ade80;--par:#ef4444;--man:#8b5cf6;--des:#facc15;
  --sh:0 0.5rem 1.875rem rgba(3,31,46,.07);
  --panel:var(--surf);--line:var(--bd);--txt:var(--tx);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#06121b;--surf:#0d1c28;--card:#0d1c28;--bd:#1b2e3d;--tx:#e8f0f6;--mut:#8aa1b3;
  --soft:#0f3a2a;--in:#0a1824;--trk:#233646;--pri:#22c55e;--pri2:#4ade80;--navy:#02263a;--side:#031a26;
  --sh:0 0.5rem 1.875rem rgba(0,0,0,.4);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}
body{margin:0;min-width:20rem;min-height:100vh;background:var(--bg);color:var(--tx);font-family:'DM Sans',system-ui,Arial,sans-serif;font-size:0.875rem;text-rendering:optimizeLegibility}
button,select,input{font:inherit;color:inherit}
button,select{cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.i{width:1.1875rem;height:1.1875rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Login e auditoria */
[hidden]{display:none !important}
.login{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(135deg,var(--bg),var(--panel));}
.login-card{width:min(26.875rem,100%);background:var(--panel);border:1px solid var(--line);border-radius:1.5rem;padding:2.125rem;box-shadow:0 1.5rem 4.375rem rgba(0,0,0,.12)}
.login-card>img{height:2.625rem;max-width:11.25rem;object-fit:contain;margin-bottom:1.75rem}
.login-card h1{margin:0.375rem 0 0.5rem}.login-sub{color:var(--mut);margin:0 0 1.5rem}.login-card form>div{margin:0.875rem 0}.login-card label{display:block;margin-bottom:0.375rem;font-weight:600}.login-card input{width:100%;box-sizing:border-box;padding:0.75rem 0.875rem;border:1px solid var(--line);border-radius:0.625rem;background:var(--bg);color:var(--txt)}
.login-card form .btn{width:100%;margin-top:0.5rem;justify-content:center}.login-msg{min-height:1.375rem;color:var(--mut);font-size:0.8125rem}.login-link{border:0;background:none;color:var(--pri);cursor:pointer;font-weight:600;padding:0.5rem 0}
.history-dialog{width:min(47.5rem,calc(100% - 2rem));max-height:80vh;border:0;border-radius:1.25rem;padding:0;background:var(--panel);color:var(--txt);box-shadow:0 1.875rem 5.625rem rgba(0,0,0,.25)}
.history-dialog::backdrop{background:rgba(0,0,0,.45)}.history-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.375rem;border-bottom:1px solid var(--line)}.history-head h2{margin:0}.history-head p{margin:0.3125rem 0 0;color:var(--mut)}.history-list{padding:0.5rem 1.375rem 1.375rem}.history-item{display:flex;justify-content:space-between;gap:1.125rem;padding:0.9375rem 0;border-bottom:1px solid var(--line)}.history-item small{display:block;color:var(--mut);margin-top:0.25rem}.history-item>span{font-weight:600}.history-dialog .ibtn{border:0;background:none;font-size:1.5rem;cursor:pointer;color:var(--txt)}
/* Login claro com foto da usina, logo grande e banner */
.login{position:relative;background:#dbeafe url("../assets/fundo-login.jpg") center/cover no-repeat}
.login::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.35))}
.login-wrap{position:relative;z-index:1;width:min(28.75rem,100%);display:flex;flex-direction:column;gap:1rem;align-items:stretch}
.login-card{width:100%;box-sizing:border-box;background:rgba(255,255,255,.94);backdrop-filter:blur(0.375rem)}
.login-card>img{height:auto;width:15rem;max-width:70%;display:block;margin:0 auto 1.5rem}
.login-card .eyebrow,.login-card h1{text-align:center}
.login-card h1{margin-bottom:1.375rem}
.login-banner{width:100%;display:block;border-radius:1rem;box-shadow:0 0.875rem 2.5rem rgba(0,0,0,.22)}

/* Login sempre claro: não herda o tema escuro do sistema/navegador */
.login{--bg:#e9f0f4;--surf:#fff;--card:#fff;--bd:#dde6ec;--tx:#0f2230;--mut:#5f7384;--in:#f5f8fa;--trk:#e2e8f0;--pri:#16a34a;--pri2:#15803d;
  --panel:#fff;--line:#dde6ec;--txt:#0f2230;color-scheme:light;color:#0f2230}
.login-card{background:rgba(255,255,255,.94);color:#0f2230}
.login-card h1{color:#0f2230}
.login-card label{color:#3d5466;font-size:0.8125rem}
.login-card input{background:#f5f8fa;color:#0f2230;border:1px solid #cfdbe3;transition:border-color .15s,box-shadow .15s}
.login-card input::placeholder{color:#8a9eae;opacity:1}
.login-card input:focus{outline:0;border-color:#16a34a;box-shadow:0 0 0 0.1875rem rgba(22,163,74,.18);background:#fff}
.login-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 2.5rem #f5f8fa inset;-webkit-text-fill-color:#0f2230}
.login-msg{color:#5f7384}
