*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f7f6;color:#10231f}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.sidebar{background:#071e1b;color:#eafff8;padding:28px 18px;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#38665b #071e1b}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:#38665b;border-radius:10px}
.sidebar::-webkit-scrollbar-track{background:#071e1b}
.logo{font-size:22px;font-weight:850;color:#45e2a5;margin:0 12px 30px}
.logo small{display:block;color:#c8ded8;font-size:11px;font-weight:500}
.sidebar a{display:block;color:#d7e9e4;text-decoration:none;padding:12px 14px;border-radius:9px;margin:4px 0}
.sidebar a:hover,.sidebar a.active{background:#123a33;color:white}
.content{padding:34px;max-width:1400px;width:100%;min-width:0}
h1{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin:22px 0}
.card{background:white;border:1px solid #dde7e4;border-radius:15px;padding:20px;box-shadow:0 5px 20px #173b3108}
.card small{color:#6b7c77}
.card h2{margin:7px 0 0}
.positive{color:#087b59}
.negative{color:#b23b3b}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
input,select{padding:11px;border:1px solid #cbd8d4;border-radius:8px}
button,.btn{padding:11px 16px;border:0;border-radius:8px;background:#08a86f;color:white;text-decoration:none;font-weight:700}
table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px;border-bottom:1px solid #edf1f0}
th{font-size:13px;color:#60716c}
.empty{padding:30px;text-align:center;color:#71817c}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:relative;top:auto;height:auto;max-height:none;overflow:visible;padding:16px}.sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:thin}.sidebar a{white-space:nowrap;flex-shrink:0}.cards{grid-template-columns:1fr 1fr}.content{padding:20px}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}

/* NEXOR v0.26.3 - menu global: nav rolavel e Sair sem sobreposicao */
@media (min-width:851px){
 body:has(> .sidebar){display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start;min-height:100vh}
 body:has(> .sidebar) > .content,body:has(> .sidebar) > main{grid-column:2;min-width:0}
 .layout{align-items:start}
 .sidebar{grid-column:1;align-self:start;display:flex!important;flex-direction:column!important;position:sticky!important;top:0!important;height:100vh!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:24px!important;z-index:5}
 .sidebar nav{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;overflow:visible!important;min-height:max-content!important}
 .sidebar .logout,.sidebar a.logout,.sidebar > a:last-child{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;float:none!important;display:block!important;flex:0 0 auto!important;margin:14px 0 8px!important;width:auto!important;clear:both!important}
}
@media (max-width:850px){
 body:has(> .sidebar){display:block}
 .sidebar{position:relative!important;height:auto!important;max-height:none!important;overflow:visible!important}
 .sidebar nav{display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important}
 .sidebar .logout,.sidebar a.logout,.sidebar > a:last-child{position:static!important;inset:auto!important;transform:none!important;display:block!important;margin:10px 0!important}