@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#17221d;--green:#183d30;--mint:#36d399;--lime:#b8ef6b;--paper:#f4f6f3;--muted:#718078;--line:#dfe6e1;--white:#fff;--danger:#bd3d3d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 'DM Sans',sans-serif}h1,h2,strong,.brand{font-family:Manrope,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#102a21;color:#fff;padding:28px 22px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:20px}.brand small{display:block;color:#8db2a2;font:9px DM Sans;letter-spacing:2.5px;text-transform:uppercase}.brandmark{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--lime),var(--mint));color:#103126;font:800 23px Manrope}.sidebar nav{display:grid;gap:5px;margin-top:42px}.sidebar nav a,.nav-logout{border:0;background:none;color:#a9c2b8;padding:11px 13px;text-align:left;text-decoration:none;border-radius:10px;font:500 14px DM Sans}.sidebar nav a:hover{background:#1b3a2f;color:#fff}.nav-logout{margin-top:auto;cursor:pointer}.sidebar form{margin-top:auto}.main{margin-left:245px;padding:30px 38px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{margin:3px 0;font-size:29px}.eyebrow{color:#398368;font-size:10px;font-weight:700;letter-spacing:2px}.userchip{display:flex;align-items:center;gap:10px}.userchip>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff}.userchip small{display:block;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric-grid article,.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:0 8px 30px #142a1e0a}.metric-grid strong{display:block;font-size:31px;margin-top:6px}.metric-grid small{color:var(--muted);letter-spacing:1px}.metric-grid .warn{border-left:4px solid #e5a72e}.split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.card h2{margin:5px 0 18px}.narrow{max-width:720px}.section-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.actions{justify-content:flex-end;margin-bottom:15px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 15px;text-decoration:none;font:700 13px DM Sans;cursor:pointer}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.full{width:100%}.form-grid{display:grid;gap:15px}.form-grid>div,label{display:grid;gap:6px;font-weight:600}.form-control,.login-card input{width:100%;border:1px solid #ccd8d0;background:#fbfcfb;padding:11px 12px;border-radius:9px;font:inherit}.form-control:focus,.login-card input:focus{outline:2px solid #77c9a8;border-color:transparent}.errorlist{color:var(--danger);margin:3px 0;padding-left:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid #e7ece8}th{font-size:10px;color:var(--muted);letter-spacing:1px}td a{color:#25755a;font-weight:700;text-decoration:none}.list-row{display:flex;justify-content:space-between;padding:13px 3px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.list-row b{font-size:12px;color:#287459}.muted{color:var(--muted)}.alert{padding:12px 15px;border-radius:10px;background:#dff5e9;margin-bottom:15px}.alert.error{background:#fde7e5;color:#8e2c2c}.total td{font-size:16px;font-weight:800;border-top:2px solid var(--ink)}
.login-page{min-height:100vh;background:#102d23;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;position:relative}.login-story{position:relative;z-index:2;color:#fff;padding:6vh 7vw;display:flex;flex-direction:column;justify-content:space-between}.login-logo{display:flex;align-items:center;gap:11px;font:700 20px Manrope}.login-logo b{color:#86bba5;font-size:11px;letter-spacing:2px;text-transform:uppercase}.login-story h1{font-size:clamp(45px,6vw,82px);line-height:1.02;margin:14px 0}.login-story h1 em{color:var(--lime);font-style:normal}.login-story p{max-width:540px;color:#a9c5ba;font-size:17px}.light{color:#91d8b8}.story-stats{display:flex;gap:50px;color:#91a99f}.story-stats b{display:block;color:#fff;font-size:16px}.login-panel{position:relative;z-index:3;background:#f6f8f5;border-radius:36px 0 0 36px;display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%);background:#fff;padding:42px;border-radius:20px;box-shadow:0 30px 70px #071d1650}.login-card h2{font-size:29px;margin:7px 0}.login-card>p{color:var(--muted);margin-bottom:25px}.login-card label{margin:14px 0;color:#45554d}.secure{display:block;text-align:center;color:#86938d;margin-top:18px}.secure::first-letter{color:#32b67f}.route-lines{position:absolute;inset:0 38% 0 0;opacity:.2}.route-lines i{position:absolute;width:55vw;height:55vw;border:1px dashed #86e1b9;border-radius:50%;animation:orbit 24s linear infinite}.route-lines i:nth-child(2){width:40vw;height:40vw;top:15%;left:20%;animation-direction:reverse}.route-lines i:nth-child(3){left:-20%;top:35%}.route-lines i:nth-child(4){width:18vw;height:18vw;left:46%;top:57%}.orb{position:absolute;border-radius:50%;filter:blur(2px);background:var(--lime);box-shadow:0 0 40px var(--lime);animation:float 7s ease-in-out infinite}.orb-a{width:7px;height:7px;left:31%;top:22%}.orb-b{width:5px;height:5px;left:45%;top:68%;animation-delay:-3s}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translate(40px,70px)}}
@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{border-radius:0;min-height:100vh}.sidebar{width:76px;padding:22px 12px}.brand>span:last-child,.sidebar nav a span,.nav-logout span{display:none}.sidebar nav a,.nav-logout{justify-content:center}.main{margin-left:76px;padding:22px}.metric-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.main{padding:16px}.topbar{align-items:flex-start}.userchip div{display:none}.login-card{padding:28px}}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.sidebar nav a,.nav-logout{display:flex;align-items:center;gap:12px}.sidebar nav svg,.nav-logout svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:transform .28s cubic-bezier(.2,.8,.2,1),color .28s}.sidebar nav a:hover svg{transform:translateY(-2px) rotate(-5deg) scale(1.12);color:var(--lime)}.nav-logout:hover svg{transform:translateX(3px)}.page-description{max-width:760px;color:var(--muted);font-size:15px;margin:-18px 0 26px}.field-hint{color:var(--muted);font-weight:400;margin-top:-8px}.form-grid select.form-control{cursor:pointer}.login-system-title{font:800 24px/1.2 Manrope,sans-serif;color:var(--green);margin-bottom:10px}.login-input{position:relative;display:flex;align-items:center}.login-input>span{position:absolute;left:14px;color:#91a79e;font-size:8px;z-index:1;transition:.25s}.login-input input{padding-left:38px;transition:border-color .25s,box-shadow .25s,transform .25s,background .25s}.login-input:focus-within>span{color:#1aa876;transform:scale(1.35)}.login-input:focus-within input{outline:0;border-color:#39bd8c;background:#fff;box-shadow:0 0 0 4px #36d39920,0 10px 25px #163c2d12;transform:translateY(-1px)}.login-card footer{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;text-align:center;color:#839189;font-size:11px}

/* Mantém a composição de login fixa entre recarregamentos e mudanças de viewport. */
body.login-page{position:fixed;inset:0;width:100%;height:100%;min-height:0;margin:0;align-items:stretch;overflow:hidden;overscroll-behavior:none}
.login-page .login-story{height:100%;min-height:0;overflow:hidden}
.login-page .login-panel{height:100%;min-height:0;align-self:stretch;overflow:hidden}
.login-page .login-card{max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:900px){.login-page .login-panel{height:100%;min-height:0}}
.forgot-password{display:block;width:max-content;margin:16px auto 0;color:#367b63;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,transform .2s}.forgot-password:hover{color:#174b39;transform:translateY(-1px);text-decoration:underline}.forgot-password[aria-disabled="true"]{cursor:default}
