.mode-switch{display:flex;gap:4px;margin:0 0 12px}
.mode-switch button{background:#fff;color:var(--muted);border:1px solid var(--line);padding:8px 14px}
.mode-switch button.active{background:var(--green);color:#fff;border-color:var(--green)}
.cards-extended article{min-height:118px}.cards-extended strong{font-size:22px}
.grid.lower{grid-template-columns:1fr 1fr}.panel>small{color:var(--muted);font-weight:700}
.legend{display:flex;gap:15px;color:var(--muted);font-size:11px}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;background:var(--green2)}.legend .proj:before{background:#8da99a}
.bar{flex:1;width:auto;min-width:3px}.bar.projected{background:#8da99a}.bar.projected-expense{background:#d9dfdc}
.grand-total{background:#eaf7ee;margin:7px -7px 0;padding:12px 7px!important;border-radius:8px;color:var(--green)}
.breakdown{display:grid;gap:10px;margin-top:17px}.breakdown-row{display:grid;grid-template-columns:minmax(110px,1fr) 2fr auto;align-items:center;gap:10px;font-size:12px}.breakdown-row i{height:7px;background:#e2ebe5;border-radius:9px;overflow:hidden}.breakdown-row i b{display:block;height:100%;background:var(--green2);border-radius:9px}
.detail-pill{display:inline-block;padding:5px 8px;border-radius:12px;background:#eff5f1;color:#3e6750;font-size:11px}
.form-grid.four{grid-template-columns:repeat(4,1fr)}dialog{width:min(850px,calc(100% - 24px));max-height:94vh}fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:14px}legend{padding:0 7px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:1px}.hidden{display:none!important}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.grid.lower{grid-template-columns:1fr}.form-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.form-grid.four{grid-template-columns:1fr}}

/* Navegação superior por abas rápidas */
.top-tabs-layout{background:var(--bg)}
.app-header{position:sticky;top:0;z-index:30;background:var(--nav);color:#fff;box-shadow:0 5px 20px #102a2026}
.topbar{min-height:82px;padding:13px 26px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff14}
.top-brand{display:flex;align-items:center;gap:14px;min-width:260px}
.top-brand img{width:218px;height:48px;object-fit:contain;object-position:left center}
.top-brand>span{padding-left:14px;border-left:1px solid #ffffff25;color:#9eb8aa;font-size:9px;line-height:1.5;letter-spacing:1.8px;white-space:nowrap}
.top-brand b{display:block;color:#5bc77e;font-size:10px}
.page-context{min-width:180px}.page-context .eyebrow{color:#72c890}.page-context h1{font-size:19px;color:#fff}
.topbar .live{margin-left:auto;color:#79d499;white-space:nowrap}.topbar .live small{color:#9eb8aa}
.top-user{display:flex;align-items:center;gap:9px;padding-left:20px;border-left:1px solid #ffffff1f;min-width:185px}
.top-user>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green2);font-weight:800}
.top-user>div{display:grid;flex:1}.top-user small{color:#90aa9d;font-size:10px}.top-user button{background:transparent;padding:7px;color:#fff;font-size:17px}
.quick-tabs{padding:8px 22px 0;display:flex;align-items:flex-end;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#47675a transparent}
.quick-tabs button{position:relative;flex:0 0 auto;background:transparent;color:#a9c4b6;border:1px solid transparent;border-radius:9px 9px 0 0;padding:11px 13px 13px;text-align:center;font-size:12px;font-weight:650;white-space:nowrap}
.quick-tabs button span{margin-left:6px}.quick-tabs button:hover{background:#ffffff0b;color:#fff;filter:none}
.quick-tabs button.active{background:#f4f7f5;color:#176e3d;border-color:#ffffff18}
.quick-tabs button.active:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:4px;background:var(--green2)}
.top-tabs-layout main{margin-left:0;padding:24px 30px 45px;max-width:1700px;margin-right:auto;margin-left:auto}
.top-tabs-layout .filters{margin-top:0}
@media(max-width:1100px){.topbar{gap:18px}.top-brand{min-width:auto}.top-brand img{width:185px}.top-brand>span{display:none}.page-context{min-width:150px}.top-user{min-width:160px}}
@media(max-width:760px){.app-header{position:sticky}.topbar{min-height:68px;padding:9px 14px;gap:12px}.top-brand img{width:155px;height:42px}.page-context{display:none}.topbar .live{margin-left:auto}.topbar .live small{display:none}.top-user{min-width:auto;padding-left:12px}.top-user>div{display:none}.quick-tabs{padding:6px 10px 0;gap:2px}.quick-tabs button{padding:10px 11px 12px}.top-tabs-layout main{padding:16px 14px 35px}}
@media(max-width:430px){.topbar .live{font-size:0}.topbar .live i{display:block}.top-brand img{width:145px}.quick-tabs button{font-size:11px}}

/* Administração de usuários e permissões */
.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.permission-grid label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:12px;font-weight:650;background:#fbfcfb;cursor:pointer}
.permission-grid label:has(input:checked){border-color:#66b781;background:#eff8f2;color:#176e3d}
.permission-grid input,.toggle-field input{width:17px;height:17px;accent-color:var(--green);padding:0}
.permission-actions{display:flex;gap:8px;margin-top:12px}.permission-actions button{padding:7px 10px;font-size:11px}
.toggle-field{display:flex!important;align-items:center;justify-content:flex-start;flex-direction:row-reverse;gap:9px!important;align-self:end;padding:10px 0}
.module-list{display:flex;flex-wrap:wrap;gap:4px;max-width:450px}.module-tag{display:inline-block;padding:4px 7px;border-radius:10px;background:#eff5f1;color:#376049;font-size:10px}.status-active,.status-inactive{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.status-active{color:#168046}.status-inactive{color:#9b392f}.status-active:before,.status-inactive:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
@media(max-width:760px){.permission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.permission-grid{grid-template-columns:1fr}}
