:root{
  --ink:#17221e;--muted:#6e7c76;--paper:#fff;--canvas:#f3f5f2;--line:#e5eae6;
  --green-950:#0c2e25;--green-900:#12372d;--green-800:#1d4c3e;--green-700:#28634f;
  --gold:#c89b50;--gold-soft:#f6eddc;--red:#b8514a;--blue:#4e7e9b;--teal:#40a382;
  --shadow:0 16px 40px rgba(27,55,45,.08);--radius:18px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.45 Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
body.auth-mode{overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.025em}
.eyebrow{display:block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:5px}
.eyebrow.light{color:#e2bd7d}
.muted{color:var(--muted);font-size:12px}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 2px;color:var(--muted);font-size:11px}.pagination-bar>div{display:flex;gap:7px}.pagination-bar button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:4px;padding:7px 11px;cursor:pointer}.pagination-bar button:hover:not(:disabled){border-color:var(--green-700);color:var(--green-700)}.pagination-bar button:disabled{opacity:.45;cursor:not-allowed}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(390px,.88fr);background:#fff}
.login-art{position:relative;display:flex;align-items:flex-end;padding:8vw;overflow:hidden;color:#fff;background:
  radial-gradient(circle at 72% 22%,rgba(218,181,116,.22),transparent 30%),
  linear-gradient(145deg,rgba(9,42,33,.94),rgba(31,84,67,.9)),
  linear-gradient(45deg,#12372d,#285f4d)}
.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}
.login-art:before{width:520px;height:520px;right:-220px;top:-160px}
.login-art:after{width:320px;height:320px;right:-80px;top:-60px}
.login-art-content{position:relative;z-index:1;max-width:660px}
.login-art h1{font:600 clamp(42px,5vw,72px)/1.04 Georgia,serif;margin:12px 0 22px}
.login-art p{max-width:520px;color:#dce9e3;font-size:17px}
.art-stats{display:flex;gap:42px;margin-top:42px;color:#dce9e3}
.art-stats span{display:grid}.art-stats b{font-size:24px;color:#fff}
.login-card{width:min(440px,84%);margin:auto;padding:34px}
.brand-lockup,.sidebar-brand{display:flex;align-items:center;gap:12px}
.brand-lockup{margin-bottom:72px}.brand-lockup>div,.sidebar-brand>div{display:grid}.brand-lockup small,.sidebar-brand small{color:var(--muted)}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--green-900);color:#fff;font:700 15px Georgia,serif;box-shadow:0 8px 18px rgba(18,55,45,.18)}
.brand-logo{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff}
.brand-initials{display:block}
.login-copy h2{font:600 38px/1.05 Georgia,serif;margin:8px 0 12px}.login-copy p{color:var(--muted);margin-bottom:28px}
.login-card label,.filters label,.date-control{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:600}
.login-card label{margin:17px 0}
input,select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:11px 12px;outline:0;transition:.2s}
input:focus,select:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(40,99,79,.1)}
.login-card button,.filters button,.secondary-button{border:0;border-radius:10px;background:var(--green-800);color:#fff;font-weight:700;padding:12px 16px}
.login-card button{width:100%;margin-top:8px}.login-card button:disabled{opacity:.65;cursor:wait}
#loginError{display:block;min-height:20px;color:var(--red);font-size:12px;text-align:center;margin-top:12px}
.secure-note{display:block;text-align:center;color:var(--muted);margin-top:12px}

/* Estrutura principal */
.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;z-index:30;display:flex;flex-direction:column;background:var(--green-950);color:#fff;padding:26px 18px}
.sidebar-brand{padding:0 8px 26px;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar-brand .brand-mark{background:var(--gold);color:var(--green-950)}
.sidebar-brand b{font-family:Georgia,serif;font-size:17px}.sidebar-brand small{color:#9eb7ad;font-size:11px}
.side-nav{display:grid;gap:7px;margin-top:28px;overflow-y:auto}
.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:11px;padding:12px 14px;text-align:left;background:transparent;color:#aec1b9;font-weight:650}
.nav-item span{font-size:18px;width:22px;text-align:center}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}
.sidebar-bottom{margin-top:auto;display:grid;gap:14px}
.version-badge{justify-self:start;padding:4px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#b8c9c2;font-size:10px;font-weight:700;letter-spacing:.04em}
.session-user{display:flex;align-items:center;gap:10px;padding:4px 6px;color:#fff}.session-user>span:last-child{display:grid;min-width:0}.session-user b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-user small{color:#91aaa0;font-size:10px}.user-avatar{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--green-950);font-weight:900}
.connection{display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,.06);border-radius:12px}.connection i{width:9px;height:9px;border-radius:50%;background:#55d5a1;box-shadow:0 0 0 4px rgba(85,213,161,.12)}.connection span{display:grid}.connection small{color:#91aaa0;font-size:10px}
.logout-button{border:1px solid rgba(255,255,255,.12);background:transparent;color:#cbd8d2;border-radius:10px;padding:10px}
.workspace{grid-column:2;min-width:0;padding:0 28px 38px}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:92px;background:rgba(243,245,242,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,224,218,.75);margin-bottom:26px}
.topbar h1{font:600 27px/1 Georgia,serif;margin:0}.top-actions{display:flex;align-items:end;gap:10px}.date-control{min-width:175px}.date-control input{padding:9px 11px;background:#fff}
.icon-button,.menu-button{display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--green-800);border-radius:10px;width:42px;height:42px;font-size:20px}.menu-button{display:none}
.view{max-width:1600px;margin:0 auto}.section-intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.section-intro h2{font:600 24px/1.15 Georgia,serif;margin-bottom:5px}.section-intro p{color:var(--muted);margin:0}.updated{color:var(--muted);font-size:12px}

/* Componentes */
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin-bottom:18px}
.kpi-card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 8px 24px rgba(27,55,45,.035)}
.kpi-card:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-28px;top:-30px;background:var(--tint,#edf5f1)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.kpi-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--tint,#edf5f1);color:var(--accent,var(--green-700));font-size:14px;letter-spacing:0}
.kpi-value{display:flex;align-items:baseline;gap:8px;margin-top:14px}.kpi-value strong{font:600 32px/1 Georgia,serif}.kpi-value small{color:var(--muted)}
.kpi-foot{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:11px}.percent-pill{padding:3px 7px;border-radius:999px;background:var(--tint,#edf5f1);color:var(--accent,var(--green-700));font-weight:800}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 8px 28px rgba(27,55,45,.035);margin-bottom:18px}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head h3{font:600 19px/1.15 Georgia,serif;margin:0}.badge{padding:5px 9px;border-radius:999px;background:var(--gold-soft);color:#8b641f;font-weight:800;font-size:11px}
.chart-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:18px}.chart-panel canvas{display:block;width:100%;height:260px}.chart-panel.wide-chart canvas{height:280px}
.donut-layout{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(150px,.55fr);align-items:center;gap:8px}
.chart-legend{display:grid;gap:10px}.legend-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;color:var(--muted);font-size:12px}.legend-row i,.inline-legend i{width:8px;height:8px;border-radius:50%}.legend-row b{color:var(--ink)}
.chart-legend.compact{grid-template-columns:1fr 1fr;margin-top:10px}.inline-legend{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:11px}.inline-legend span{display:flex;align-items:center;gap:6px}.arrival-dot,.income-dot{background:var(--green-700)}.departure-dot{background:var(--gold)}.expense-dot{background:var(--red)}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.primary-grid{grid-template-columns:1.55fr .75fr}
.rooms{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:9px}.room{position:relative;border:1px solid var(--line);border-radius:12px;padding:11px 10px 10px 14px;background:#fbfcfb;min-height:61px}.room:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--status,#a7b2ad)}.room b{display:block;font-size:12px}.room small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.room.Ocupado{--status:var(--red)}.room.Disponivel{--status:var(--teal)}.room.AguardandoLimpeza,.room.EmLimpeza{--status:var(--gold)}.room.Manutencao,.room.AguardandoManutencao{--status:#596273}.room.PreReservado{--status:var(--blue)}
.finance-list{display:grid;gap:12px}.finance-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.finance-row:last-child{border:0}.finance-row span{display:grid}.finance-row small{color:var(--muted);font-size:10px}.finance-row b{font:600 24px Georgia,serif}.progress{grid-column:1/-1;height:5px;border-radius:6px;background:#edf0ee;overflow:hidden}.progress i{display:block;height:100%;border-radius:6px;background:var(--bar,var(--green-700))}
.table-wrap{width:100%;overflow:auto}.tall-table{max-height:520px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line)}th{position:sticky;top:0;background:#fafbfa;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;z-index:1}td{font-size:12px}tbody tr:hover{background:#fafcfa}tfoot td{background:#f4f7f5;border-top:2px solid #d8e0dc;border-bottom:0;color:var(--ink)}.empty{display:grid;place-items:center;min-height:110px;color:var(--muted);text-align:center}.empty b{color:var(--ink);margin-bottom:4px}
.reservation-filters{display:grid;grid-template-columns:minmax(160px,220px) minmax(160px,220px) auto;align-items:end;gap:10px;padding:10px;margin:0 0 9px;background:#f6f7f8;border:1px solid #dfe3e5}.reservation-filters button{min-height:36px}.reservation-kpis{grid-template-columns:repeat(4,minmax(155px,1fr));margin-bottom:9px}.reservation-kpis .kpi-card{min-height:88px}.reservation-kpis .kpi-value strong{font-size:21px}
.space-list{display:flex;gap:9px;flex-wrap:wrap}.space-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#f8faf8;padding:9px 12px;border-radius:999px}.space-chip b{color:var(--green-700)}.compact-panel{padding-bottom:12px}
.secondary-button{background:#fff;color:var(--green-800);border:1px solid var(--line)}
.toast{position:fixed;right:24px;bottom:24px;z-index:100;background:var(--green-950);color:#fff;border-radius:12px;padding:13px 16px;box-shadow:var(--shadow)}
.positive{color:#168360!important}.negative{color:var(--red)!important}.estorno{background:#fff8ed}

@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.rooms{grid-template-columns:repeat(4,1fr)}.chart-grid{grid-template-columns:1fr}.wide-chart{grid-column:auto}}
@media(max-width:980px){.dashboard-shell{grid-template-columns:1fr}.sidebar{transform:translateX(-105%);transition:.25s;box-shadow:18px 0 50px #0003}.dashboard-shell.menu-open .sidebar{transform:translateX(0)}.workspace{grid-column:1;padding:0 18px 30px}.menu-button{display:grid}.content-grid,.primary-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-card{width:min(440px,92%)}.brand-lockup{margin-bottom:54px}}
@media(max-width:680px){.topbar{min-height:82px}.topbar>div:nth-child(2){display:none}.top-actions{margin-left:auto}.date-control span{display:none}.date-control{min-width:145px}.section-intro{align-items:flex-start;gap:12px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{padding:14px}.kpi-value strong{font-size:27px}.donut-layout{grid-template-columns:1fr}.rooms{grid-template-columns:repeat(3,1fr)}.chart-legend.compact{grid-template-columns:1fr}.panel{padding:16px}.art-stats{gap:18px}}
@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.rooms{grid-template-columns:repeat(2,1fr)}.workspace{padding:0 12px 22px}.top-actions{gap:6px}}

/* Versão 5 — padrão BI profissional inspirado nas referências */
body:not(.auth-mode){background:#e9ebed;color:#15191b}
.dashboard-shell{grid-template-columns:210px minmax(0,1fr);padding-top:56px}
.sidebar{top:56px;bottom:0;width:210px;padding:0;background:#f6f7f8;color:#1b2023;border-right:1px solid #d5d9dc;box-shadow:none}
.sidebar-brand{padding:16px 17px;background:#fff;border-bottom:1px solid #d8dcdf}
.sidebar-brand .brand-mark{background:#111;color:#fff;box-shadow:none;border-radius:3px}
.sidebar-brand b{font-family:"Segoe UI",sans-serif;font-size:14px}.sidebar-brand small{color:#68747a}
.side-nav{gap:0;margin:10px 0}.nav-item{border-radius:0;padding:11px 18px;color:#343b3f;font-size:12px;font-weight:600}.nav-item span{color:#15191b;font-size:15px}.nav-item:hover{background:#e8eaec;color:#111}.nav-item.active{background:#dfe2e4;color:#111;box-shadow:inset 3px 0 #0d84b7}
.sidebar-bottom{padding:12px 14px 16px;border-top:1px solid #d8dcdf;background:#fff}
.version-badge{border-color:#d8dcdf;color:#65716c;background:#f5f7f6}
.session-user{color:#1b2023;padding:4px}.session-user small{color:#778288}.user-avatar{background:#0d84b7;color:#fff;border-radius:3px}
.connection{padding:10px;background:#f1f4f3;border:1px solid #e0e5e2}.connection small{color:#78837e}.logout-button{border-color:#d5dadd;color:#384147;background:#fff}
.workspace{grid-column:2;padding:14px 12px 24px}
.topbar{position:fixed;left:0;right:0;top:0;height:56px;min-height:56px;margin:0;padding:0 18px 0 226px;background:#080909;color:#fff;border:0;backdrop-filter:none;box-shadow:0 1px 5px #0004}
.topbar h1{font:600 14px/1 "Segoe UI",sans-serif;letter-spacing:0;color:#fff}.topbar .eyebrow{display:none}.top-actions{align-items:center}.date-control{display:flex;align-items:center;gap:8px;color:#d9dfe2}.date-control input,.date-control select{width:145px;background:#202224;border-color:#3b3e40;color:#fff;border-radius:3px;padding:7px 9px}.report-order-control{min-width:180px}.report-order-control select{width:180px}.icon-button,.menu-button{width:34px;height:34px;border:0;border-radius:3px;background:#202224;color:#fff}
.view{max-width:none}.section-intro{margin:0 0 10px;padding:8px 8px 2px}.section-intro h2{font:600 18px/1.15 "Segoe UI",sans-serif;margin-bottom:2px}.section-intro p{font-size:11px}.updated{font-size:10px}
.kpi-grid{gap:9px;margin-bottom:9px}.kpi-card{border:1px solid #d6dade;border-left:3px solid #0d84b7;border-radius:4px;padding:11px 10px;box-shadow:none;min-height:100px}.kpi-card:after{display:none}.kpi-top{font-size:9px;color:#384147}.kpi-icon{width:27px;height:27px;border-radius:3px;background:#0d84b7!important;color:#fff!important}.kpi-value{margin-top:8px}.kpi-value strong{font:600 25px/1 "Segoe UI",sans-serif;letter-spacing:-.04em}.kpi-value small{font-size:10px}.kpi-foot{margin-top:8px;font-size:9px}.percent-pill{border-radius:2px;padding:2px 4px}
.panel{border:1px solid #d3d7da;border-radius:5px;padding:11px;box-shadow:0 1px 4px #0000000b;margin-bottom:9px}.panel-head{margin-bottom:9px}.panel-head h3{font:600 13px/1.2 "Segoe UI",sans-serif;letter-spacing:0}.panel-head .eyebrow{display:none}.badge{border-radius:3px;font-size:9px;padding:3px 6px}
.chart-grid,.content-grid{gap:9px}.chart-panel canvas{height:240px}.chart-panel.wide-chart canvas{height:255px}.donut-layout{gap:4px}.legend-row{font-size:10px;gap:6px}.inline-legend{font-size:9px}
.rooms{grid-template-columns:repeat(6,minmax(78px,1fr));gap:5px}.room{min-height:51px;border-radius:3px;padding:8px 7px 7px 11px}.room b{font-size:10px}.room small{font-size:8px}.room:before{top:7px;bottom:7px;width:3px}
.finance-list{gap:4px}.finance-row{padding:8px 0}.finance-row b{font:600 20px "Segoe UI",sans-serif}.finance-row span{font-size:11px}.progress{height:4px}
.table-wrap{border:1px solid #e1e4e6}table{background:#fff}th,td{padding:7px 8px}th{font-size:9px;background:#f3f4f5;color:#3b454a}td{font-size:10px}.space-chip{border-radius:3px;padding:7px 9px;font-size:10px}.secondary-button,.filters button{border-radius:3px;padding:9px 12px}.toast{border-radius:4px}

@media(max-width:1250px){.rooms{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.dashboard-shell{grid-template-columns:1fr;padding-top:56px}.sidebar{top:56px;transform:translateX(-105%)}.workspace{grid-column:1;padding:12px}.topbar{padding:0 12px}.menu-button{display:grid}.dashboard-shell.menu-open .sidebar{transform:translateX(0)}}
@media(max-width:680px){.topbar>div:nth-child(2){display:block}.topbar h1{font-size:12px}.date-control{min-width:auto}.date-control input{width:130px}.report-order-control{min-width:auto}.report-order-control select{width:148px}.kpi-card{min-height:92px}.rooms{grid-template-columns:repeat(3,1fr)}.reservation-filters{grid-template-columns:1fr 1fr}.reservation-filters button{grid-column:1/-1}.reservation-kpis{grid-template-columns:1fr 1fr}}

.cfop-filter-panel{margin-bottom:16px}.filters-grid{display:grid;grid-template-columns:180px 160px 160px minmax(280px,1fr) auto;gap:12px;align-items:end}.filters-grid label span{display:block;font-size:12px;font-weight:700;color:#667085;margin-bottom:6px}.filters-grid input,.filters-grid select{width:100%;min-height:42px}@media(max-width:900px){.filters-grid{grid-template-columns:1fr 1fr}.filters-grid label:nth-child(4){grid-column:1/-1}.filters-grid button{width:100%}}

.print-orientation-control select{min-width:110px}

/* 7.5.0 — navegação executiva, multiempresa e central de relatórios */
.nav-section-label{display:block;margin:18px 14px 7px;font-size:10px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.42)}
.company-control select{min-width:190px;font-weight:700}
.report-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.report-category{padding:0;overflow:hidden}
.report-category-head{display:flex;gap:14px;padding:22px;border-bottom:1px solid var(--line,#e8eceb);background:linear-gradient(180deg,#fff,#fbfcfc)}
.report-category-head h3{margin:4px 0 5px;font-size:20px}
.report-category-head p{margin:0;color:var(--muted,#6b7773)}
.report-category-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#0b2f26;color:#fff;font-weight:800;flex:none}
.report-links{padding:8px}
.report-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;background:transparent;border:0;border-radius:12px;padding:15px 14px;color:inherit;cursor:pointer}
.report-link:hover{background:#f4f8f6}
.report-link span{display:grid;gap:3px}
.report-link b{font-size:14px}
.report-link small{color:var(--muted,#6b7773);font-size:12px}
.report-link i{font-style:normal;font-size:26px;color:#83928d}
.report-guidance{display:flex;align-items:center;justify-content:space-between}
.reports-intro{align-items:center}
@media(max-width:1050px){.report-category-grid{grid-template-columns:1fr}.company-control{order:-1}.company-control select{min-width:150px}}

/* 7.5.1 relatórios completos */
.paid-payables-report{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(4,minmax(145px,.8fr)) auto;gap:12px;align-items:end}
.paid-payables-report>div{align-self:center}
@media(max-width:1250px){.paid-payables-report{grid-template-columns:1fr 1fr 1fr}.paid-payables-report>div{grid-column:1/-1}}
@media(max-width:760px){.paid-payables-report{grid-template-columns:1fr}}

/* 7.5.2 — cadastro de empresa diretamente na tela de login */
.login-company-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.login-company-field>label{margin:0}
.company-register-button{min-height:42px;padding:0 14px;border:1px solid #cfd9d5;border-radius:10px;background:#fff;color:#154d40;font-weight:800;white-space:nowrap;cursor:pointer}
.company-register-button:hover{background:#f2f7f5;border-color:#9db8af}
.company-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(8,31,26,.52);backdrop-filter:blur(4px)}
.company-modal[hidden]{display:none}
.company-modal-card{width:min(820px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(6,32,25,.25);padding:0}
.company-modal .modal-head{display:flex;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid #e6ece9}
.company-modal .modal-head h3{font-size:24px;margin:4px 0 5px}
.company-modal .modal-head p{margin:0;color:#6b7773;max-width:620px}
.modal-close{width:38px;height:38px;border:0;border-radius:10px;background:#f1f5f3;font-size:24px;cursor:pointer}
.company-register-form{padding:22px 26px 26px;display:grid;gap:18px}
.company-register-form fieldset{border:1px solid #e0e8e4;border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.company-register-form legend{padding:0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#285e50;text-transform:uppercase}
.company-register-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#52625d}
.company-register-form label small{font-weight:500;color:#81908b}
.company-register-form input,.company-register-form select{width:100%;min-height:42px;border:1px solid #d4ded9;border-radius:9px;padding:8px 10px;background:#fff;color:#14231f}
.company-register-form .span-2{grid-column:1/-1}
.admin-authorization{background:#fbf7ee;border-color:#eadcb7!important}
.company-form-status{min-height:20px;font-size:13px;font-weight:700}
.company-form-status.pending{color:#8b681d}.company-form-status.success{color:#19704f}.company-form-status.error{color:#b23a31}
.modal-actions{display:flex;justify-content:flex-end;gap:10px}
.modal-actions button{min-height:42px;padding:0 18px;border-radius:10px;font-weight:800;cursor:pointer}
@media(max-width:720px){
  .login-company-field{grid-template-columns:1fr}.company-register-button{width:100%}
  .company-register-form fieldset{grid-template-columns:1fr}.company-register-form .span-2{grid-column:auto}
}

/* 7.6.0 - cadastro automático de empresa */
.company-auto-card{max-width:650px}
.company-auto-form{display:grid;gap:16px}
.auto-company-step{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid var(--line,#e2e8e5);border-radius:14px;background:#fbfcfc}
.step-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#123f33;color:#fff;font-weight:800}
.auto-company-step label{margin:0}
.auto-company-step input{margin-top:7px}
.auto-company-step small{display:block;margin-top:7px;color:var(--muted,#68746f);font-weight:400}
.auto-detection-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px 16px;border-radius:12px;background:#edf5f1;color:#235d49;font-size:12px;font-weight:700}
@media(max-width:650px){.auto-detection-list{grid-template-columns:1fr}}

/* 7.6.4 — correção do cadastro LAN/Tailscale */
.auto-company-fields{display:grid;grid-template-columns:1fr;gap:14px;min-width:0;width:100%}
.auto-company-fields label{width:100%;min-width:0}
.auto-company-fields input,.auto-company-fields select{width:100%;box-sizing:border-box}
.auto-company-step{grid-template-columns:42px minmax(0,1fr)}
.company-auto-card{width:min(680px,calc(100vw - 32px));max-width:680px}

/* 7.8.2 - telas financeiras e movimentacoes realmente separadas */
#view-accounts-receivable,#view-accounts-payable,#view-accounting,#view-receivables,#view-sales{
  width:100%;max-width:none;
}
#view-accounts-receivable[hidden],#view-accounts-payable[hidden],#view-accounting[hidden],#view-receivables[hidden],#view-sales[hidden]{
  display:none !important;
}


/* ========================================================================
   7.8.3 — DESIGN PROFISSIONAL / DIMENSÕES PADRONIZADAS
   Esta camada altera somente apresentação, proporções e responsividade.
   ======================================================================== */

:root{
  --sidebar-width:260px;
  --content-max:1660px;
  --surface:#ffffff;
  --surface-soft:#f8faf9;
  --canvas:#f4f6f5;
  --line:#dfe6e2;
  --line-strong:#d3ddd8;
  --shadow-soft:0 4px 16px rgba(18,55,45,.045);
  --shadow-panel:0 10px 30px rgba(18,55,45,.055);
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
}

/* Estrutura geral */
body{background:var(--canvas);font-size:14px}
.dashboard-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.sidebar{
  width:var(--sidebar-width);
  padding:22px 16px 18px;
  box-shadow:8px 0 28px rgba(7,35,28,.06);
}
.sidebar-brand{padding:0 10px 20px}
.side-nav{gap:3px;margin-top:18px;padding-right:2px}
.nav-section-label{
  display:block;
  padding:16px 12px 6px;
  color:#728f84;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.nav-item{
  min-height:42px;
  border-radius:10px;
  padding:9px 12px;
  gap:10px;
  font-size:12px;
  font-weight:700;
}
.nav-item span{width:21px;font-size:15px}
.nav-item.active{
  background:rgba(255,255,255,.105);
  box-shadow:inset 3px 0 var(--gold);
}
.sidebar-bottom{gap:10px}

.workspace{
  grid-column:2;
  min-width:0;
  padding:0 30px 42px;
}
.topbar{
  min-height:76px;
  margin-bottom:22px;
  padding:0 2px;
  background:rgba(244,246,245,.94);
}
.topbar h1{font-size:25px}
.top-actions{gap:8px}
.date-control{min-width:164px}
.icon-button,.menu-button{width:40px;height:40px;border-radius:9px}

.view{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto;
}
.view.active{animation:dashboardViewIn .18s ease-out}
@keyframes dashboardViewIn{
  from{opacity:.65;transform:translateY(3px)}
  to{opacity:1;transform:none}
}

/* Cabeçalhos das telas */
.section-intro{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
}
.section-intro>div:first-child{min-width:0}
.section-intro h2{
  margin:0 0 4px;
  font:600 25px/1.12 Georgia,serif;
}
.section-intro p{
  max-width:820px;
  margin:0;
  color:var(--muted);
  font-size:12.5px;
}
.section-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

/* Filtros — alinhamento estável em todas as telas */
.filters,
.receivable-filters,
.sales-filters,
.reservation-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:10px;
  align-items:end;
}
.filters.panel{
  padding:14px 16px;
  margin-bottom:16px;
  border-radius:var(--radius-md);
  box-shadow:none;
  background:#fbfcfb;
}
.filters label{
  min-width:0;
  gap:5px;
  font-size:10px;
  letter-spacing:.02em;
}
.filters input,.filters select{
  min-height:39px;
  padding:8px 10px;
  border-radius:8px;
}
.filters button{
  min-height:39px;
  align-self:end;
  padding:9px 14px;
  border-radius:8px;
}
.secondary-button{
  min-height:39px;
  padding:9px 14px;
  border-radius:8px;
}

/* Cards KPI */
.kpi-grid,
.accounting-kpis,
.reservation-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:16px;
}
.kpi-card{
  min-height:112px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
}
.kpi-card:after{width:64px;height:64px}
.kpi-top{font-size:9px}
.kpi-icon{width:28px;height:28px;border-radius:8px}
.kpi-value{margin-top:11px}
.kpi-value strong{font-size:27px}
.kpi-foot{margin-top:8px}

/* Painéis */
.panel{
  margin-bottom:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-panel);
  background:var(--surface);
}
.panel-head{
  min-height:38px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.panel-head h3{
  margin:2px 0 0;
  font-size:16px;
  line-height:1.2;
}
.panel-head .muted{white-space:nowrap}

/* Gráficos: medidas consistentes e sem distorção visual */
.chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
}
.chart-panel{
  min-width:0;
  min-height:380px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.chart-panel .panel-head{flex:0 0 auto}
.chart-panel canvas{
  display:block;
  width:100%!important;
  height:285px!important;
  max-height:285px;
  flex:1 1 auto;
}
.chart-panel.wide-chart{
  grid-column:1/-1;
  min-height:410px;
}
.chart-panel.wide-chart canvas{
  height:315px!important;
  max-height:315px;
}
.donut-layout{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(170px,220px);
  align-items:center;
  gap:18px;
  min-height:290px;
}
.donut-layout canvas{
  height:275px!important;
  max-height:275px;
}
.chart-legend{
  max-height:270px;
  overflow:auto;
  padding-right:5px;
}
.chart-legend.compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
}
.legend-row{
  min-height:25px;
  grid-template-columns:9px minmax(0,1fr) auto;
  gap:7px;
  font-size:11px;
}
.legend-row span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.inline-legend{margin-top:7px}

/* Conteúdo lado a lado */
.content-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.primary-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.72fr)}

/* Tabelas */
.table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #e8edea;
  border-radius:11px;
  background:#fff;
}
.tall-table{max-height:560px}
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  white-space:nowrap;
}
th,td{padding:9px 10px}
th{
  height:37px;
  top:0;
  background:#f7f9f8;
  font-size:9px;
  letter-spacing:.065em;
  border-bottom:1px solid var(--line-strong);
}
td{height:39px;font-size:11.5px}
tbody tr:nth-child(even){background:#fcfdfc}
tbody tr:hover{background:#f5f8f6}
tfoot td{height:42px}

/* Paginação */
.pagination-bar{
  min-height:44px;
  padding:10px 2px 0;
}
.pagination-bar button{padding:6px 10px}

/* Financeiro e custos */
#view-accounting .chart-grid,
#view-receivables .chart-grid,
#view-sales .chart-grid,
#view-commissions .chart-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#view-accounting .wide-chart,
#view-receivables .wide-chart,
#view-sales .wide-chart,
#view-commissions .wide-chart{
  grid-column:1/-1;
}

/* Telas de contas separadas */
#view-accounts-receivable,
#view-accounts-payable{
  width:100%;
}
#view-accounts-receivable .paid-payables-report,
#view-accounts-payable .paid-payables-report{
  display:grid;
  grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(130px,.72fr)) auto;
  gap:10px;
  align-items:end;
}

/* Relatórios */
.report-category{padding:22px}
.report-links{gap:9px}
.report-link{
  min-height:68px;
  padding:13px 15px;
  border-radius:12px;
}
.report-link b{font-size:13px}
.report-link small{font-size:11px;line-height:1.35}

/* Visão geral */
#view-overview .chart-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)}
#view-overview .chart-panel{min-height:390px}
.rooms{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px}
.room{min-height:64px}

/* Modais */
.modal-card,.company-modal-card{
  border-radius:18px;
}
.company-modal-card{width:min(760px,94vw)}
.company-register-form{padding:20px 22px 24px}

/* Desktop grande */
@media(min-width:1700px){
  :root{--content-max:1740px}
  .workspace{padding-left:36px;padding-right:36px}
  .chart-panel canvas{height:300px!important;max-height:300px}
  .chart-panel.wide-chart canvas{height:330px!important;max-height:330px}
  .kpi-grid,.accounting-kpis{gap:14px}
}

/* Notebook / telas médias */
@media(max-width:1365px){
  :root{--sidebar-width:232px}
  .sidebar{padding-left:12px;padding-right:12px}
  .workspace{padding:0 20px 34px}
  .nav-item{padding:9px 10px;font-size:11.5px}
  .chart-panel{min-height:355px}
  .chart-panel canvas{height:260px!important;max-height:260px}
  .donut-layout{grid-template-columns:minmax(210px,1fr) minmax(145px,190px);gap:10px}
  .kpi-grid,.accounting-kpis{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
  #view-accounts-receivable .paid-payables-report,
  #view-accounts-payable .paid-payables-report{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Tablet */
@media(max-width:1050px){
  .workspace{grid-column:1/-1;padding:0 18px 30px}
  .chart-grid,
  #view-overview .chart-grid,
  #view-accounting .chart-grid,
  #view-receivables .chart-grid,
  #view-sales .chart-grid,
  #view-commissions .chart-grid{
    grid-template-columns:1fr;
  }
  .chart-panel.wide-chart{grid-column:auto}
  .content-grid,.primary-grid{grid-template-columns:1fr}
  .donut-layout{grid-template-columns:minmax(230px,1fr) minmax(160px,210px)}
}

/* Mobile / janela estreita */
@media(max-width:760px){
  .workspace{padding:0 12px 24px}
  .topbar{min-height:66px;margin-bottom:16px}
  .topbar h1{font-size:21px}
  .section-intro{align-items:flex-start;flex-direction:column;gap:10px}
  .section-intro h2{font-size:22px}
  .section-actions{width:100%;justify-content:flex-start}
  .filters,.receivable-filters,.sales-filters,.reservation-filters{grid-template-columns:1fr}
  .kpi-grid,.accounting-kpis,.reservation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-card{min-height:104px}
  .kpi-value strong{font-size:23px}
  .panel{padding:14px;border-radius:14px}
  .chart-panel{min-height:335px}
  .chart-panel canvas,.chart-panel.wide-chart canvas{height:245px!important;max-height:245px}
  .donut-layout{grid-template-columns:1fr;min-height:0}
  .donut-layout canvas{height:230px!important;max-height:230px}
  .chart-legend{max-height:150px}
  .tall-table{max-height:480px}
  #view-accounts-receivable .paid-payables-report,
  #view-accounts-payable .paid-payables-report{grid-template-columns:1fr}
}

@media(max-width:480px){
  .kpi-grid,.accounting-kpis,.reservation-kpis{grid-template-columns:1fr}
}


/* 7.8.4 - isolamento absoluto do painel de baixa de contas a receber */
#receivableSettlementPanel{display:block}
#view-open-accounts #receivableSettlementPanel{display:block}
#view-open-accounts #receivableSettlementPanel[hidden]{display:none!important}
#view-shifts #receivableSettlementPanel,
#view-receivables #receivableSettlementPanel,
#view-commissions #receivableSettlementPanel,
#view-accounting #receivableSettlementPanel,
#view-sales #receivableSettlementPanel{display:none!important}


/* 7.8.7 — correção estrutural: uma view nunca renderiza dentro de outra */
.workspace{min-width:0;overflow-x:hidden}
.view{width:100%;box-sizing:border-box}
.view[hidden]{display:none!important}
#view-open-accounts,
#view-shifts,
#view-receivables,
#view-sales,
#view-commissions,
#view-accounting{
  position:relative;
  isolation:isolate;
}
#view-open-accounts > *,
#view-shifts > *,
#view-receivables > *,
#view-sales > *,
#view-commissions > *,
#view-accounting > *{
  max-width:100%;
  box-sizing:border-box;
}
#receivableSettlementPanel[hidden]{display:none!important}


/* =====================================================================
   7.8.8 — OTIMIZAÇÃO DE GRÁFICOS E CONTAS EXCLUSIVAS
   ===================================================================== */

/* Financeiro e Custos: Evolução + Composição lado a lado */
#view-accounting .chart-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
#view-accounting .accounting-evolution-panel,
#view-accounting .accounting-composition-panel{
  grid-column:auto!important;
  min-width:0!important;
  min-height:390px!important;
  height:100%!important;
}
#view-accounting .accounting-evolution-panel canvas,
#view-accounting .accounting-composition-panel canvas{
  width:100%!important;
  height:285px!important;
  max-height:285px!important;
}

/* O usuário escolhe Receber ou Pagar no menu. Não existe visualização cruzada. */
#view-open-accounts .open-account-tabs,
#view-open-accounts .open-accounts-tabs,
#view-open-accounts .tabs:has(#openAccountsReceivables),
#view-open-accounts .tabs:has(#openAccountsPayables){
  display:none!important;
}
#openAccountsReceivables,
#openAccountsPayables{
  display:none!important;
}

/* Baixa financeira disponível em Contas a Receber e Contas a Pagar. */
#receivableSettlementPanel[hidden]{
  display:none!important;
}

/* Relatório de contas pagas é exclusivo de Contas a Pagar. */
#paidPayablesPanel[hidden],
.paid-payables-report[hidden]{
  display:none!important;
}

/* Notebook */
@media(max-width:1200px){
  #view-accounting .chart-grid{
    grid-template-columns:1fr!important;
  }
  #view-accounting .accounting-evolution-panel,
  #view-accounting .accounting-composition-panel{
    min-height:360px!important;
  }
}


/* =====================================================================
   7.8.11 — CORREÇÃO DE ROLAGEM DAS GUIAS
   ===================================================================== */

/* A página inteira pode crescer verticalmente */
html,body{
  min-height:100%;
  height:auto!important;
  overflow-x:hidden;
  overflow-y:auto!important;
}

/* O shell não deve prender a altura da aplicação */
.dashboard-shell{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}

/* Menu lateral fixo, com rolagem própria se o menu ultrapassar a tela */
.sidebar{
  position:fixed!important;
  top:0;
  bottom:0;
  left:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
}

/* Área principal cresce conforme o conteúdo da guia */
.workspace{
  min-height:100vh!important;
  height:auto!important;
  overflow:visible!important;
}

/* Cada guia pode crescer livremente */
.view{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Somente elementos internos que realmente precisam rolagem mantêm overflow */
.table-wrap,
.chart-legend,
.tall-table{
  overflow:auto;
}

/* Evita que painéis e gráficos imponham uma altura máxima na página inteira */
.panel,
.chart-grid,
.content-grid,
.kpi-grid{
  max-height:none!important;
  overflow:visible;
}

/* Em telas pequenas, a página continua rolável */
@media(max-width:980px){
  html,body,.dashboard-shell,.workspace,.view{
    height:auto!important;
    max-height:none!important;
    overflow-y:visible!important;
  }
  body{
    overflow-y:auto!important;
  }
}


/* =====================================================================
   7.8.12 — CENTRAL ÚNICA DE RELATÓRIOS
   ===================================================================== */

[data-report-action="centralized"][hidden]{
  display:none!important;
}

#view-reports{
  max-width:1500px;
  margin:0 auto;
}
#view-reports .report-category{
  padding:20px;
}
.report-category-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:14px;
}
.report-links-professional{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:12px;
}
.report-links-professional .report-link{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid #dbe5e0;
  border-radius:14px;
  background:#fff;
  text-align:left;
  color:var(--ink);
  box-shadow:0 4px 15px rgba(12,52,40,.035);
}
.report-links-professional .report-link:hover{
  border-color:#a9c4b9;
  transform:translateY(-1px);
  box-shadow:0 7px 20px rgba(12,52,40,.065);
}
.report-links-professional .report-link b{
  display:block;
  margin-bottom:5px;
  font-size:13px;
}
.report-links-professional .report-link small{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.report-links-professional .report-link i{
  font-size:25px;
  font-style:normal;
  color:#43806c;
}
.reports-standard-note{
  background:#f8fbf9;
}

@media(max-width:760px){
  .report-links-professional{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   7.8.14 — RELATÓRIOS VISÍVEIS NA CENTRAL
   ===================================================================== */
#view-reports:not([hidden]){
  display:block!important;
}
#view-reports .reports-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
#view-reports .report-category{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#view-reports .report-links-professional{
  display:grid!important;
  grid-template-columns:1fr;
  gap:10px;
}
#view-reports .report-link{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
#view-reports .report-link[hidden]{
  display:none!important;
}
@media(max-width:1100px){
  #view-reports .reports-grid{
    grid-template-columns:1fr;
  }
}


/* =====================================================================
   7.8.16 — PERMISSÕES POR RELATÓRIO + TELA DE FILTROS
   ===================================================================== */
.report-builder-view{
  max-width:1500px;
  margin:0 auto;
}
.report-builder-filter-panel{
  padding:20px;
}
.report-builder-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  align-items:end;
}
.report-builder-filters label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:10px;
  font-weight:700;
}
.report-builder-filters input,
.report-builder-filters select{
  min-height:40px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.report-builder-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.report-permissions-panel{
  margin-top:18px;
}
.report-permissions-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,420px);
  gap:12px;
  margin-bottom:14px;
}
.report-permissions-toolbar label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:10px;
  font-weight:700;
}
.report-permission-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:10px;
}
.report-permission-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:58px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.report-permission-item input{
  margin-top:2px;
}
.report-permission-item span{
  display:block;
}
.report-permission-item b{
  display:block;
  font-size:12px;
}
.report-permission-item small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.report-permissions-actions{
  margin-top:14px;
}


/* 7.8.18 — tela de filtros de relatórios */
#view-report-builder[hidden]{display:none!important}
#view-report-builder:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#view-report-builder .report-builder-filter-panel,
#view-report-builder #reportBuilderFilters,
#view-report-builder .report-builder-actions{
  display:block;
  visibility:visible;
  opacity:1;
}
#view-report-builder #reportBuilderFilters{
  display:grid;
}


/* 7.8.19 — permissões de relatórios */
#reportPermissionList{
  min-height:72px;
  margin-top:14px;
}
#reportPermissionList:empty::before{
  content:'Selecione um usuário para configurar os relatórios.';
  display:block;
  padding:16px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
}
.report-permission-item{cursor:pointer}
.report-permission-item:hover{
  border-color:#a9c4b9;
  background:#f8fbf9;
}
#saveReportPermissions:disabled{
  opacity:.65;
  cursor:wait;
}


/* 7.8.20 — abertura dos relatórios */
#view-reports [data-report-key]{
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative;
  z-index:1;
}
#view-reports [data-report-key]:hover{
  border-color:#8eb6a6!important;
  background:#f7fbf9!important;
}
#view-report-builder:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#view-report-builder.active{
  display:block!important;
}


/* 7.8.21 — salvamento unificado das permissões */
#reportPermissionList{
  min-height:72px;
}
.report-permission-item{
  user-select:none;
}
#saveReportPermissions{
  min-width:220px;
}
#saveReportPermissions:disabled{
  opacity:.65;
  cursor:wait;
}


/* 7.8.22 — status explícito das permissões de relatórios */
.report-permissions-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.report-permissions-status{
  font-size:11px;
  font-weight:700;
  color:var(--muted);
}
.report-permissions-status.success{color:#137357}
.report-permissions-status.error{color:#b33d32}


/* 7.8.23 — administrador com acesso nativo */
.report-admin-native{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border:1px solid #b8d8cb;
  border-radius:12px;
  background:#f0f8f4;
}
.report-admin-native b{
  font-size:13px;
  color:#0f5e46;
}
.report-admin-native span{
  font-size:11px;
  color:var(--muted);
}
#view-reports [data-report-key]{
  pointer-events:auto!important;
  cursor:pointer!important;
}


/* 7.8.24 — clique direto dos cards de relatório */
#view-reports [data-report-key]{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:5!important;
}
#view-reports [data-report-key] *{
  pointer-events:none!important;
}
#view-report-builder:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}


/* =====================================================================
   7.8.33 — TELA MOVIMENTAÇÃO DE SAÍDAS NO PADRÃO CFOP
   ===================================================================== */
#view-movement-outputs{
  max-width:1600px;
  margin:0 auto;
}
#view-movement-outputs .section-intro{
  margin-bottom:16px;
}
.movement-output-filter-panel{
  padding:18px 20px;
}
.movement-output-filter-grid{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr) minmax(220px,1fr) auto;
  gap:12px;
  align-items:end;
}
.movement-output-filter-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:11px;
  font-weight:700;
}
.movement-output-filter-grid input,
.movement-output-filter-grid select{
  min-height:44px;
  width:100%;
}
.movement-output-filter-action{
  display:flex;
  align-items:end;
}
.movement-output-filter-action button{
  min-height:44px;
  min-width:150px;
}
.movement-output-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:18px 0!important;
}
#view-movement-outputs .kpi-card{
  min-height:118px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
}
#view-movement-outputs .kpi-card .kpi-label{
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
#view-movement-outputs .kpi-card strong{
  font-size:24px;
  line-height:1.15;
}
#view-movement-outputs .kpi-card small{
  font-size:10px;
  color:var(--muted);
}
.movement-output-table-panel{
  padding:18px 20px 20px;
}
.movement-output-table-wrap{
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.movement-output-table{
  width:100%;
  min-width:1050px;
}
.movement-output-table th,
.movement-output-table td{
  padding:11px 12px;
  vertical-align:middle;
}
.movement-output-table th.numeric,
.movement-output-table td:last-child{
  text-align:right;
}
.movement-output-operational-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:1050px){
  .movement-output-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .movement-output-filter-action{
    grid-column:1/-1;
  }
  .movement-output-kpis{
    grid-template-columns:1fr!important;
  }
}


/* =====================================================================
   7.8.34 — MENU LATERAL COM APENAS UM ITEM ATIVO
   ===================================================================== */
.sidebar .nav-item{
  background:transparent!important;
  color:var(--sidebar-text,#d8e7e1)!important;
  border-color:transparent!important;
}
.sidebar .nav-item:hover{
  background:rgba(255,255,255,.06)!important;
}
.sidebar .nav-item.active{
  background:#16866d!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.sidebar .nav-item.active span{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
.sidebar .nav-item:not(.active) span{
  background:rgba(255,255,255,.06)!important;
}


/* =====================================================================
   7.8.35 — SEÇÃO MOVIMENTAÇÃO EXATA
   ===================================================================== */
.sidebar .nav-section-label + .nav-item,
.sidebar .nav-item{
  border-radius:12px;
}
.sidebar .nav-item{
  background:transparent!important;
  color:#d7e6e0!important;
}
.sidebar .nav-item.active{
  background:#17866d!important;
  color:#fff!important;
}
.sidebar .nav-item:not(.active):hover{
  background:rgba(255,255,255,.055)!important;
}


/* 7.8.40 — opções de orientação e registros por página em cada relatório */
#view-report-builder .report-builder-filters{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
#view-report-builder #rbOrientation,
#view-report-builder #rbPageSize{
  min-height:40px;
  width:100%;
}


.report-permission-tools>div{width:100%}.report-permission-tools button{flex:1}}


/* 7.8.83 — layout isolado da tela de permissões de relatórios */
#reportPermissionsPanel{
  overflow:visible;
}
#reportPermissionsPanel .report-permissions-toolbar{
  display:block;
  margin-bottom:14px;
}
#reportPermissionsPanel .report-permissions-toolbar label{
  display:grid;
  gap:6px;
  width:min(520px,100%);
  font-size:12px;
  font-weight:700;
  color:var(--ink);
}
#reportPermissionsPanel .report-permission-list{
  display:block;
  width:100%;
  min-width:0;
}
#reportPermissionsPanel .report-permission-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid var(--line,#dbe6e0);
  border-radius:12px;
  background:#f8fbf9;
}
#reportPermissionsPanel .report-permission-tools>span{
  min-width:0;
  flex:1 1 280px;
}
#reportPermissionsPanel .report-permission-tools>div{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
#reportPermissionsPanel .report-permission-tools .secondary-button{
  width:auto;
  min-width:132px;
  min-height:40px;
  padding:9px 14px;
}
#reportPermissionsPanel .report-permission-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  align-items:stretch;
}
#reportPermissionsPanel .report-permission-item{
  display:flex;
  align-items:flex-start;
  gap:11px;
  width:100%;
  min-width:0;
  min-height:64px;
  height:auto;
  margin:0;
  padding:13px 14px;
  border:1px solid var(--line,#dbe6e0);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
  overflow:hidden;
}
#reportPermissionsPanel .report-permission-item input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  flex:0 0 18px;
  width:18px !important;
  height:18px !important;
  min-width:18px;
  min-height:18px;
  margin:1px 0 0;
  padding:0 !important;
  border-radius:3px;
  box-shadow:none;
}
#reportPermissionsPanel .report-permission-item span{
  display:block;
  flex:1 1 auto;
  min-width:0;
  line-height:1.35;
  overflow-wrap:anywhere;
}
#reportPermissionsPanel .report-permission-item b{
  display:block;
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:var(--ink);
  overflow-wrap:anywhere;
}
#reportPermissionsPanel .report-permission-item small{
  display:block;
  margin-top:4px;
  font-size:11px;
  line-height:1.35;
  color:var(--muted);
}
#reportPermissionsPanel .report-permissions-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
#reportPermissionsPanel #saveReportPermissions{
  width:auto;
  min-width:230px;
}
@media(max-width:900px){
  #reportPermissionsPanel .report-permission-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  #reportPermissionsPanel .report-permission-tools{
    align-items:stretch;
  }
  #reportPermissionsPanel .report-permission-tools>div{
    width:100%;
  }
  #reportPermissionsPanel .report-permission-tools .secondary-button{
    flex:1 1 140px;
  }
  #reportPermissionsPanel #saveReportPermissions{
    width:100%;
  }
}


/* 7.8.83 — permissões de relatórios compactas e organizadas */
#reportPermissionsPanel .report-permission-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px 12px !important;
  width:100% !important;
  align-items:stretch !important;
}
#reportPermissionsPanel .report-permission-item{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  min-height:48px !important;
  height:auto !important;
  padding:10px 12px !important;
  margin:0 !important;
  border:1px solid var(--line,#dbe6e0) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
#reportPermissionsPanel .report-permission-item input[type="checkbox"]{
  flex:0 0 17px !important;
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  min-height:17px !important;
  margin:0 !important;
  padding:0 !important;
}
#reportPermissionsPanel .report-permission-item span{
  display:block !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
#reportPermissionsPanel .report-permission-item b{
  display:block !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}
#reportPermissionsPanel .report-permission-item small{
  display:block !important;
  margin-top:2px !important;
  font-size:10px !important;
  line-height:1.25 !important;
}
#reportPermissionsPanel .report-permission-tools{
  padding:10px 12px !important;
  margin-bottom:10px !important;
}
#reportPermissionsPanel .report-permission-tools>span{
  font-size:12px !important;
}
#reportPermissionsPanel .report-permission-tools .secondary-button{
  min-height:36px !important;
  min-width:118px !important;
  padding:7px 12px !important;
  font-size:11px !important;
}
#reportPermissionsPanel #saveReportPermissions{
  min-height:38px !important;
  min-width:210px !important;
  padding:8px 14px !important;
}
@media(max-width:760px){
  #reportPermissionsPanel .report-permission-grid{
    grid-template-columns:1fr !important;
  }
}


/* 7.8.93 — permissões de relatórios compactas, lado a lado */
#reportPermissionsPanel .report-permission-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px 10px;
}
#reportPermissionsPanel .report-permission-item{
  min-height:42px;
  padding:8px 10px;
  gap:8px;
  align-items:center;
  border-radius:9px;
}
#reportPermissionsPanel .report-permission-item input[type="checkbox"]{
  flex:0 0 16px;
  width:16px !important;
  height:16px !important;
  min-width:16px;
  min-height:16px;
  margin:0;
}
#reportPermissionsPanel .report-permission-item span{
  font-size:12px;
  line-height:1.2;
}
#reportPermissionsPanel .report-permission-item small{
  display:block;
  margin-top:2px;
  font-size:10px;
}
@media(max-width:1100px){
  #reportPermissionsPanel .report-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  #reportPermissionsPanel .report-permission-grid{grid-template-columns:1fr}
}


/* 7.8.94 — relatórios aparecem somente ao adicionar/editar usuário */
.dashboard-report-permissions-field[hidden]{display:none!important}
.dashboard-report-permissions-field{
  grid-column:1/-1;
  margin:4px 0 0;
}
.dashboard-report-permissions-field .muted{
  margin:0 0 9px;
  font-size:11px;
}
.dashboard-report-permissions-field .report-permission-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px 9px!important;
  width:100%;
}
.dashboard-report-permissions-field .report-permission-item{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  min-height:36px!important;
  height:auto!important;
  margin:0!important;
  padding:6px 9px!important;
  gap:7px!important;
  border:1px solid var(--line,#dbe6e0)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.dashboard-report-permissions-field .report-permission-item input[type="checkbox"]{
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:0!important;
}
.dashboard-report-permissions-field .report-permission-item span{
  min-width:0!important;
  font-size:11px!important;
  line-height:1.15!important;
}
@media(max-width:1050px){
  .dashboard-report-permissions-field .report-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .dashboard-report-permissions-field .report-permission-grid{grid-template-columns:1fr!important}
}

/* 7.8.95: relatórios no editor real do usuário */
#dashboardReportPermissionsField{grid-column:1/-1!important;width:100%!important;box-sizing:border-box!important;margin-top:8px!important}
#dashboardReportPermissionsField .report-permission-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
#dashboardReportPermissionsField .report-permission-item{display:flex!important;flex-direction:row!important;align-items:center!important;min-height:32px!important;padding:6px 9px!important;margin:0!important;gap:8px!important;border:1px solid #d7dfdb!important;border-radius:3px!important;background:#fff!important;box-sizing:border-box!important}
#dashboardReportPermissionsField .report-permission-item input[type="checkbox"]{flex:0 0 15px!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important}
#dashboardReportPermissionsField .report-permission-item span{font-size:11px!important;line-height:1.15!important}
@media(max-width:1050px){#dashboardReportPermissionsField .report-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){#dashboardReportPermissionsField .report-permission-grid{grid-template-columns:1fr!important}}


/* 7.8.96 — relatórios com o mesmo padrão visual de "Abas que este login pode acessar" */
#dashboardReportPermissionsField .report-permission-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
#dashboardReportPermissionsField .report-permission-item{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 10px!important;
  margin:0!important;
  gap:8px!important;
  border:1px solid #d7dfdb!important;
  border-radius:3px!important;
  background:#fff!important;
  box-sizing:border-box!important;
  font-weight:400!important;
}
#dashboardReportPermissionsField .report-permission-item input[type="checkbox"]{
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  margin:0!important;
}
#dashboardReportPermissionsField .report-permission-item span{
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:400!important;
}


/* 7.8.98 — relatórios: preencher toda a largura antes de quebrar a linha */
#dashboardReportPermissionsField .report-permission-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:7px 8px!important;
  width:100%!important;
  align-items:stretch!important;
}
#dashboardReportPermissionsField .report-permission-item{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:650px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:1fr!important;
  }
}


/* 7.8.99 — relatórios distribuídos por toda a largura do quadro */
#dashboardReportPermissionsField .report-permission-list,
#dashboardReportPermissionsField #reportPermissionList,
#dashboardReportPermissionsField .report-permission-grid{
  width:100%!important;
  max-width:none!important;
}
#dashboardReportPermissionsField .report-permission-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px 8px!important;
}
#dashboardReportPermissionsField .report-permission-item{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
@media(max-width:1350px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:1050px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:800px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:550px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:1fr!important;
  }
}


/* 7.8.100 — Relatórios com o MESMO padrão visual de Abas e Ações */
#dashboardReportPermissionsField{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 12px 12px!important;
}
#dashboardReportPermissionsField legend{
  padding:0 6px!important;
}
#dashboardReportPermissionsField #reportPermissionList,
#dashboardReportPermissionsField .report-permission-list{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
#dashboardReportPermissionsField .report-permission-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:8px!important;
  row-gap:8px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
#dashboardReportPermissionsField .report-permission-item{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:34px!important;
  margin:0!important;
  padding:7px 10px!important;
  gap:8px!important;
  box-sizing:border-box!important;
  border:1px solid #d7dfdb!important;
  border-radius:3px!important;
  background:#fff!important;
}
#dashboardReportPermissionsField .report-permission-item input[type="checkbox"]{
  flex:0 0 16px!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  margin:0!important;
}
#dashboardReportPermissionsField .report-permission-item span{
  min-width:0!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:400!important;
}
@media(max-width:1050px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  #dashboardReportPermissionsField .report-permission-grid{
    grid-template-columns:1fr!important;
  }
}


/* 7.8.101 — Relatórios usam EXATAMENTE o mesmo layout de Abas e Ações */
#dashboardReportPermissionsField{
  grid-column:1/-1!important;
  margin:2px 0 0!important;
  padding:10px 12px 12px!important;
  border:1px solid #dce2df!important;
  border-radius:12px!important;
  background:#fff!important;
}
#dashboardReportPermissionsField legend{
  padding:0 6px!important;
  color:#34403b!important;
  font-size:11px!important;
  font-weight:750!important;
}
#dashboardReportPermissionsField #reportPermissionList.permission-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  gap:7px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#dashboardReportPermissionsField .permission-option{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:8px 9px!important;
  border:1px solid #e2e7e4!important;
  border-radius:3px!important;
  background:#f8faf9!important;
  color:#34403b!important;
  font-size:10px!important;
  box-sizing:border-box!important;
}
#dashboardReportPermissionsField .permission-option input{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#0d84b7!important;
}
#dashboardReportPermissionsField .permission-option span{
  line-height:1.25!important;
  font-size:10px!important;
  font-weight:400!important;
}
@media(max-width:1120px){
  #dashboardReportPermissionsField #reportPermissionList.permission-grid{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:720px){
  #dashboardReportPermissionsField #reportPermissionList.permission-grid{
    grid-template-columns:1fr!important;
  }
}

/* 7.8.102 — layout DRE aprovado */
.dre-exercise-result{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 12px;padding:12px 16px;border:1px solid #d9e7df;border-radius:10px;background:#f3faf6;font-weight:750}
.dre-exercise-result strong{font-size:16px}.dre-final-totals{margin-top:8px}

/* 7.8.108 — DRE Analítico/Detalhado conforme layout aprovado */
.dre-report-mode #reportBuilderPreviewPanel > .panel-head{display:none}
.dre-report-mode #reportBuilderPreviewPanel{padding:0;background:transparent;border:0;box-shadow:none}
.dre-report-mode #reportBuilderPreviewContent{padding-top:4px}
.dre-approved-layout{display:block}
.dre-main-table table,.dre-detail-group table{width:100%;border-collapse:separate;border-spacing:0}
.dre-main-table thead th,.dre-detail-group thead th{background:#eef6f2;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.dre-main-table td,.dre-main-table th,.dre-detail-group td,.dre-detail-group th{vertical-align:middle}
.dre-parent-row td{font-weight:750;background:#fbfcfc}
.dre-type-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:7px;font-size:12px;font-weight:650}
.dre-type-income{background:#dff5e7;color:#17834d}
.dre-type-expense{background:#ffe5e5;color:#d33d3d}
.dre-type-neutral{background:#edf0f2;color:#65717a}
.dre-result-row td{background:#eef9f3;border-top:1px solid #d9eade;color:#125d39}
.dre-detail-group{border:1px solid #dce8e2;border-radius:14px;padding:18px;margin:0 0 18px;background:#fff}
.dre-detail-title{font-size:14px;margin:2px 0 18px}
.dre-exercise-result{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 12px;padding:12px 16px;border:1px solid #d9e7df;border-radius:10px;background:#eef9f3;font-weight:750;color:#125d39}
.dre-exercise-result strong{font-size:16px}
.dre-final-totals{margin-top:10px}
.dre-final-totals .panel-head{padding-bottom:6px}
.dre-final-totals .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.dre-final-totals .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dre-final-totals .kpi-grid{grid-template-columns:1fr}}


/* ==========================================================================
   7.8.119 — IDENTIDADE VISUAL INFOMAX / MODERNIZAÇÃO
   Alteração exclusivamente visual. Não muda regras, dados ou permissões.
   ========================================================================== */

:root{
  --infomax-navy-950:#03142f;
  --infomax-navy-900:#061b3a;
  --infomax-navy-800:#082a57;
  --infomax-blue-700:#075fc2;
  --infomax-blue-600:#0a78e8;
  --infomax-blue-500:#1397ff;
  --infomax-cyan:#22c7ff;
  --infomax-sky:#eaf7ff;
  --infomax-ice:#f5faff;
  --infomax-line:#d9e8f6;
  --infomax-text:#10243f;
  --infomax-muted:#657a91;
  --infomax-shadow:0 14px 40px rgba(7,61,121,.10);
  --infomax-shadow-soft:0 8px 24px rgba(7,61,121,.07);
  --ui-primary:var(--infomax-blue-700);
  --ui-primary-dark:#044b9b;
  --ui-sidebar:var(--infomax-navy-900);
  --ui-sidebar-2:var(--infomax-navy-950);
  --ui-bg:#f4f9fd;
  --ui-surface:#fff;
  --ui-surface-soft:#f7fbff;
  --ui-text:var(--infomax-text);
  --ui-muted:var(--infomax-muted);
  --ui-border:var(--infomax-line);
}

/* Base */
body:not(.auth-mode){
  color:var(--infomax-text);
  background:
    radial-gradient(circle at 90% 2%,rgba(19,151,255,.10),transparent 28rem),
    radial-gradient(circle at 45% 105%,rgba(34,199,255,.07),transparent 34rem),
    #f4f9fd;
}
.workspace{background:transparent}

/* Sidebar */
.sidebar{
  background:
    radial-gradient(circle at 16% 2%,rgba(19,151,255,.24),transparent 16rem),
    linear-gradient(180deg,var(--infomax-navy-900) 0%,var(--infomax-navy-950) 100%)!important;
  border-right:1px solid rgba(73,170,255,.13);
  box-shadow:14px 0 42px rgba(3,20,47,.16)!important;
}
.sidebar:before{
  background:
    linear-gradient(135deg,rgba(24,162,255,.14),transparent 38%),
    radial-gradient(circle at 18% 0,rgba(34,199,255,.16),transparent 12rem)!important;
}
.sidebar-brand{
  border-bottom:1px solid rgba(118,196,255,.13)!important;
}
.sidebar-brand .brand-mark{
  background:linear-gradient(145deg,#0e80ed,#23c8ff)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 7px 20px rgba(0,121,238,.26)!important;
}
.sidebar-brand b{color:#fff!important}
.sidebar-brand small{color:#8fb7d9!important}
.nav-section-label{color:#6f9dc5!important}
.nav-item{
  color:#c7dced!important;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.nav-item span{
  color:#8ecfff!important;
  background:rgba(14,126,230,.12)!important;
  border:1px solid rgba(107,190,255,.10)!important;
}
.nav-item:hover{
  color:#fff!important;
  background:rgba(20,137,238,.13)!important;
  border-color:rgba(105,195,255,.13);
  transform:translateX(2px);
}
.nav-item.active{
  color:#fff!important;
  background:linear-gradient(90deg,#0877df 0%,#075ab6 100%)!important;
  border-color:rgba(84,191,255,.32)!important;
  box-shadow:0 10px 24px rgba(0,84,181,.30),inset 0 1px rgba(255,255,255,.12)!important;
}
.nav-item.active span{
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.sidebar-bottom{
  background:linear-gradient(180deg,rgba(1,16,38,.24),rgba(1,12,29,.66))!important;
  border-color:rgba(103,184,246,.13)!important;
}
.version-badge{
  color:#9cc7ea!important;
  background:rgba(17,121,219,.12)!important;
  border-color:rgba(78,176,255,.18)!important;
}
.session-user b{color:#fff!important}
.session-user small,.connection small{color:#7fa6c5!important}
.user-avatar{
  background:linear-gradient(145deg,#0c80ef,#23c7ff)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(3,114,223,.30);
}
.connection{
  background:rgba(8,96,181,.10)!important;
  border-color:rgba(76,178,255,.13)!important;
}
.connection i{box-shadow:0 0 0 5px rgba(45,199,148,.11)}
.logout-button{
  color:#dcecff!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(116,188,242,.17)!important;
}
.logout-button:hover{
  background:rgba(12,123,225,.15)!important;
  border-color:rgba(86,181,255,.30)!important;
}

/* Developer brand */
.developer-signature{
  display:flex;
  align-items:center;
  gap:10px;
}
.developer-signature>span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  color:#6d9fc7;
  white-space:nowrap;
}
.developer-signature img{
  display:block;
  object-fit:contain;
}
.sidebar-developer-signature{
  margin:8px 0 10px;
  padding:10px 10px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(11,90,177,.20),rgba(4,40,85,.16));
  border:1px solid rgba(81,176,255,.14);
}
.sidebar-developer-signature img{
  width:94px;
  max-height:48px;
}
.sidebar-developer-signature>span{font-size:7px;color:#7baad0}
.developer-topmark{
  display:flex;
  align-items:center;
  height:46px;
  padding:4px 10px;
  border:1px solid #dbeaf7;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f5faff);
  box-shadow:0 5px 14px rgba(4,78,147,.06);
}
.developer-topmark img{
  display:block;
  width:86px;
  max-height:38px;
  object-fit:contain;
  border-radius:5px;
}

/* Topbar */
.topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid #dcebf7!important;
  box-shadow:0 7px 24px rgba(6,61,119,.07)!important;
  backdrop-filter:blur(14px);
}
.topbar h1{color:#0a2647!important}
.topbar .eyebrow{color:#0879dc!important}
.date-control{
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  border-color:#d9e8f4!important;
  box-shadow:0 3px 10px rgba(5,83,154,.045);
}
.date-control span{color:#58728a!important}
.date-control input,.date-control select{color:#15324e!important}
.icon-button{
  color:#0878d9!important;
  background:linear-gradient(180deg,#fff,#eff8ff)!important;
  border-color:#cfe4f5!important;
}
.icon-button:hover{
  background:#e5f5ff!important;
  border-color:#83c8f6!important;
}

/* Typography */
.section-intro h2,.panel-head h3,.report-category-head h3{
  color:#0a294b!important;
}
.section-intro p,.panel-head .muted,.muted{
  color:#6a7f92!important;
}
.eyebrow{
  color:#0b78d5;
  letter-spacing:.14em;
}

/* Panels */
.panel,.kpi-card,.report-category{
  border-color:#dce9f3!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)!important;
  box-shadow:var(--infomax-shadow-soft)!important;
}
.panel{
  border-radius:16px!important;
}
.panel:hover{
  border-color:#c9e1f3!important;
}
.kpi-card{
  position:relative;
  overflow:hidden;
  border-radius:15px!important;
}
.kpi-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#0d82ef,#21c6ff);
}
.kpi-card:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:-34px;top:-40px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(18,155,255,.10),transparent 68%);
  pointer-events:none;
}
.kpi-card strong{color:#0b2c4e!important}

/* Buttons */
button:not(.nav-item):not(.modal-close):not(.menu-button):not(.icon-button):not(.logout-button):not(.report-link){
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
}
.filters button,
.section-actions button:not(.secondary-button),
.modal-actions button:not(.secondary-button),
#loginButton,
#saveDashboardUser,
#applyOpenAccounts,
#settleSelectedReceivables{
  background:linear-gradient(135deg,#087ce6,#075bb8)!important;
  border-color:#086bd0!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(4,101,201,.18);
}
.filters button:hover,
.section-actions button:not(.secondary-button):hover,
.modal-actions button:not(.secondary-button):hover,
#loginButton:hover,
#saveDashboardUser:hover,
#applyOpenAccounts:hover,
#settleSelectedReceivables:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(3,98,197,.23);
}
.secondary-button,.company-register-button{
  color:#075fb8!important;
  background:#f6fbff!important;
  border-color:#cfe3f3!important;
}
.secondary-button:hover,.company-register-button:hover{
  background:#eaf6ff!important;
  border-color:#91c8ee!important;
}

/* Forms */
input,select,textarea{
  border-color:#d4e4f1!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#65b9ef!important;
  box-shadow:0 0 0 3px rgba(22,145,230,.12)!important;
  outline:none!important;
}
.filters,.compact-filters{
  background:linear-gradient(180deg,#fff,#f8fbfe)!important;
  border-color:#dceaf4!important;
}

/* Tables */
.table-wrap{
  border-color:#dce8f2!important;
  box-shadow:0 4px 14px rgba(5,82,151,.045);
}
table{background:#fff}
th{
  background:#edf6fc!important;
  color:#355774!important;
  border-color:#dbe8f2!important;
}
td{border-color:#e7eff5!important}
tbody tr:nth-child(even){background:#fbfdff!important}
tbody tr:hover{background:#eef8ff!important}

/* Financial settlement panel */
.settlement-panel{
  border-top:4px solid #0b7ee8!important;
  background:
    linear-gradient(180deg,#fff 0%,#f9fcff 100%)!important;
  box-shadow:0 12px 28px rgba(5,95,177,.08)!important;
}
.settlement-selection{
  background:#eef8ff!important;
  border-color:#cfe6f7!important;
}
.settlement-selection>div:first-child span{color:#0773d2!important}
.synthetic-report-note{
  border-left-color:#168de5!important;
  background:#f0f8fe!important;
}

/* Accounts / report cards */
.open-account-card:before{
  background:linear-gradient(90deg,#0a7be2,#25c7ff)!important;
}
.open-account-card:hover,.open-account-card.active{
  background:#eef8ff!important;
  border-color:#91cbed!important;
}
.open-account-tabs button.active{
  border-color:#4ba7e4!important;
  background:#edf8ff!important;
  color:#085fae!important;
  box-shadow:inset 4px 0 #0a7fe8,0 7px 18px rgba(8,94,176,.10)!important;
}
.report-category-icon{
  background:linear-gradient(145deg,#086fce,#18b9f5)!important;
  box-shadow:0 7px 17px rgba(5,102,200,.17);
}
.report-link:hover{background:#eef8ff!important}
.report-link i{color:#269adf!important}

/* Login */
.login-shell{
  background:#06162d!important;
}
.login-art{
  position:relative;
  background:
    linear-gradient(90deg,rgba(2,18,45,.20),rgba(2,18,45,.02)),
    url("branding/infomax-cover.jpg") center/cover no-repeat!important;
}
.login-art:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(3,18,45,.02),rgba(3,19,48,.34)),
    radial-gradient(circle at 65% 42%,rgba(33,194,255,.10),transparent 24rem);
  pointer-events:none;
}
.login-art-content{
  position:relative;
  z-index:1;
  max-width:470px;
  padding:24px;
  border:1px solid rgba(122,202,255,.22);
  border-radius:18px;
  background:rgba(4,28,65,.48);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  backdrop-filter:blur(9px);
}
.login-art-content h1{color:#fff!important}
.login-art-content p{color:#c2dcf1!important}
.login-art-content .eyebrow{color:#4fd4ff!important}
.art-stats span{
  background:rgba(3,41,88,.52)!important;
  border-color:rgba(93,189,255,.24)!important;
}
.login-card{
  border:1px solid #d7e7f4!important;
  box-shadow:0 26px 70px rgba(3,25,56,.20)!important;
}
.login-card .brand-mark{
  background:linear-gradient(145deg,#0b7ce7,#25c8ff)!important;
  box-shadow:0 8px 20px rgba(6,105,203,.22);
}
.login-copy .eyebrow{color:#0878d7!important}
.login-copy h2{color:#092a4b!important}
.login-developer-signature{
  justify-content:center;
  margin-top:4px;
  padding:10px 12px;
  border-radius:12px;
  background:#f2f8fd;
  border:1px solid #d9e8f4;
}
.login-developer-signature img{width:112px;max-height:62px}
.login-developer-signature>span{color:#5984a8}

/* Modals and settings */
.company-modal{
  background:rgba(3,22,48,.58)!important;
}
.company-modal-card,.modal-card{
  border:1px solid #d8e8f4!important;
  box-shadow:0 30px 90px rgba(2,29,62,.24)!important;
}
.step-number{
  background:linear-gradient(145deg,#0879df,#20c4fb)!important;
}
.auto-detection-list{
  background:#eef8ff!important;
  color:#125c96!important;
}
.permission-fieldset{
  border-color:#d9e7f2!important;
}
.permission-grid label:has(input:checked){
  background:#eaf6ff!important;
  border-color:#99ccee!important;
}

/* Scrollbars */
.sidebar,.table-wrap,.workspace{
  scrollbar-color:#268fd5 transparent;
}
.sidebar::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb,
.workspace::-webkit-scrollbar-thumb{
  background:#268fd5;
  border-radius:999px;
}

/* Responsive */
@media(max-width:1180px){
  .developer-topmark{display:none}
}
@media(max-width:980px){
  .login-art{display:none!important}
  .sidebar-developer-signature img{width:82px}
}
@media(max-width:720px){
  .login-developer-signature{flex-direction:column}
}


/* 7.8.120 — correções visuais do login e assinatura do desenvolvedor */
.login-shell{overflow:hidden!important;}
.login-art{position:relative;overflow:hidden!important;background:linear-gradient(135deg,#061b3a 0%,#082a57 48%,#06162d 100%)!important;}
.login-art::before{content:"";position:absolute;inset:24px;border:none!important;border-radius:24px;background:url("branding/infomax-cover.jpg") center center/contain no-repeat!important;opacity:.98;z-index:0;}
.login-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,45,.06),rgba(3,19,48,.34)),radial-gradient(circle at 65% 42%,rgba(33,194,255,.10),transparent 24rem);pointer-events:none;z-index:0;}
.login-art-content{position:relative;z-index:1;max-width:470px;margin:0 0 10px 0;}
.login-developer-signature img,.sidebar-developer-signature img,.developer-topmark img{background:transparent!important;mix-blend-mode:normal;}
.login-developer-signature img{width:132px;max-height:56px;object-fit:contain;}
.sidebar-developer-signature img{max-width:104px;max-height:42px;object-fit:contain;}
.developer-topmark img{width:92px;max-height:34px;object-fit:contain;}


/* 7.8.121 — refinamento visual do login e remoção da marca superior */
body.auth-mode{background:#071c3d!important;}
.login-shell{
  min-height:100vh;
  grid-template-columns:minmax(760px,1.14fr) minmax(430px,.86fr)!important;
  background:linear-gradient(90deg,#071c3d 0 59%,#edf4fb 59% 100%)!important;
  overflow:hidden!important;
}
.login-art{
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:54px 58px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#07214a 0%,#0b3d79 58%,#08254b 100%)!important;
}
.login-art::before{
  content:"";
  position:absolute;
  inset:42px 48px 190px 48px!important;
  border:none!important;
  border-radius:28px!important;
  background:url("branding/infomax-cover.jpg") center center/cover no-repeat!important;
  opacity:1!important;
  box-shadow:0 28px 70px rgba(0,0,0,.22);
  z-index:0;
}
.login-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,13,32,.12),rgba(2,13,32,.34))!important;
  z-index:0;
}
.login-art-content{
  position:relative;
  z-index:1;
  max-width:560px!important;
  margin:0!important;
  padding:30px 32px!important;
  border-radius:24px!important;
  border:1px solid rgba(111,192,255,.22)!important;
  background:rgba(5,20,46,.84)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(8px);
}
.login-art h1{
  font:600 clamp(54px,5.4vw,84px)/.98 Georgia,serif!important;
  margin:10px 0 18px!important;
  letter-spacing:-.04em;
  color:#fff!important;
  text-shadow:0 10px 24px rgba(0,0,0,.35);
}
.login-art p{
  max-width:490px!important;
  font-size:18px!important;
  line-height:1.55!important;
  color:#d7e8fb!important;
}
.login-art-content .eyebrow{color:#62ccff!important;}
.art-stats{gap:18px!important;margin-top:28px!important;}
.art-stats span{
  min-width:148px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(117,198,255,.20)!important;
  color:#d7e8fb!important;
}
.art-stats b{color:#fff!important;}
.login-card{
  width:min(480px,88%)!important;
  margin:auto!important;
  padding:40px 38px!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid #d6e4f1!important;
  box-shadow:0 28px 80px rgba(7,31,66,.18)!important;
}
.brand-lockup{margin-bottom:38px!important;}
.brand-lockup b{color:#14304f!important;font-size:16px!important;}
.brand-lockup small{color:#68839a!important;}
.login-card .brand-mark{
  width:50px;
  height:50px;
  border-radius:14px;
  background:linear-gradient(145deg,#0b7ce7,#25c8ff)!important;
  box-shadow:0 10px 24px rgba(6,105,203,.22)!important;
}
.login-copy .eyebrow{color:#0878d7!important;}
.login-copy h2{font:600 46px/1.02 Georgia,serif!important;color:#092a4b!important;margin:8px 0 12px!important;}
.login-copy p{color:#5c7285!important;margin-bottom:26px!important;}
.login-card label{color:#54708a!important;}
.login-company-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;}
.login-card input,.login-card select{
  border-radius:14px!important;
  padding:12px 14px!important;
  border:1px solid #cfdeea!important;
  background:#fff!important;
  color:#17314b!important;
}
.login-card input:focus,.login-card select:focus{
  border-color:#1284ef!important;
  box-shadow:0 0 0 4px rgba(18,132,239,.12)!important;
}
#openCompanyRegister.company-register-button{
  width:auto!important;
  min-width:160px;
  min-height:48px;
  padding:0 16px!important;
  border-radius:14px!important;
  border:1px solid #c8ddf2!important;
  background:#f4f9ff!important;
  color:#116ecd!important;
  font-weight:800!important;
}
#loginButton{
  margin-top:10px!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,#1177de,#16a0ff)!important;
  box-shadow:0 14px 28px rgba(17,119,222,.24)!important;
}
#loginError{margin-top:12px!important;}
.login-developer-signature{
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:18px!important;
  padding:16px 0 0!important;
  background:transparent!important;
  border:none!important;
  border-top:1px solid #e4edf5!important;
  border-radius:0!important;
  flex-direction:column!important;
}
.login-developer-signature>span{color:#7a92a7!important;}
.login-developer-signature img{
  width:136px!important;
  max-height:48px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 14px rgba(18,102,192,.10));
}
.secure-note{color:#72879a!important;margin-top:14px!important;}
.developer-topmark{display:none!important;}
@media(max-width:1180px){
  .login-shell{grid-template-columns:1fr!important;background:#edf4fb!important;}
  .login-art{min-height:520px;padding:40px!important;}
  .login-art::before{inset:34px 34px 180px 34px!important;}
}
@media(max-width:980px){
  .login-art{display:none!important;}
  .login-shell{grid-template-columns:1fr!important;background:#edf4fb!important;}
  .login-card{width:min(480px,92%)!important;padding:34px 28px!important;}
}
@media(max-width:720px){
  .login-company-field{grid-template-columns:1fr!important;}
  #openCompanyRegister.company-register-button{width:100%!important;}
}


/* 7.8.122 — LOGIN INFOMAX LIMPO / MODELO APROVADO */
body.auth-mode{overflow:hidden!important;background:#f4f8fc!important;}
.login-shell{
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(620px,1.12fr) minmax(430px,.88fr)!important;
  background:#f4f8fc!important;
}
.login-art{
  min-height:100vh!important;
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  background:#07265a url("branding/infomax-login-hero.jpg") center center/cover no-repeat!important;
}
.login-art::before,.login-art::after{display:none!important;}
.login-side{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:42px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,250,255,.98)),
    radial-gradient(circle at 90% 5%,rgba(23,132,238,.08),transparent 260px);
}
.login-card{
  width:min(560px,92%)!important;
  margin:0!important;
  padding:44px 44px 34px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #d7e4f1!important;
  box-shadow:0 26px 70px rgba(14,53,96,.16)!important;
}
.login-card .brand-lockup{display:none!important;}
.login-copy{margin-bottom:28px;text-align:left;}
.login-secure-label{
  display:flex!important;
  align-items:center;
  color:#0d7ee8!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  margin-bottom:16px!important;
}
.login-copy h2{
  font:700 46px/1.03 Inter,"Segoe UI",sans-serif!important;
  color:#0a1734!important;
  margin:0 0 10px!important;
  letter-spacing:-.04em!important;
}
.login-copy p{
  color:#62738d!important;
  font-size:17px!important;
  margin:0!important;
}
.login-card label{
  display:grid!important;
  gap:8px!important;
  margin:18px 0!important;
  color:#152848!important;
  font-size:12px!important;
  font-weight:750!important;
}
.login-card input,.login-card select{
  min-height:52px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  border:1px solid #cfddec!important;
  background:#fff!important;
  color:#17304d!important;
  font-size:15px!important;
  box-shadow:none!important;
}
.login-card input::placeholder{color:#8a99ab!important;}
.login-card input:focus,.login-card select:focus{
  border-color:#208ce8!important;
  box-shadow:0 0 0 4px rgba(32,140,232,.11)!important;
}
.login-company-register{
  width:100%!important;
  min-height:44px!important;
  margin:-8px 0 2px!important;
  border-radius:11px!important;
  border:1px solid #cfe0f0!important;
  background:#f7fbff!important;
  color:#1474c9!important;
  font-weight:800!important;
}
#loginButton{
  width:100%!important;
  min-height:56px!important;
  margin-top:10px!important;
  border:none!important;
  border-radius:12px!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:850!important;
  background:linear-gradient(90deg,#087de7,#0f68d7)!important;
  box-shadow:0 12px 24px rgba(8,110,218,.23)!important;
}
#loginButton:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(8,110,218,.28)!important;}
#loginError{min-height:20px!important;margin-top:10px!important;}
.login-developer-signature{
  display:flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:20px!important;
  padding-top:20px!important;
  border-top:1px solid #e5edf5!important;
  background:transparent!important;
  border-radius:0!important;
}
.login-developer-signature>span{
  color:#71859a!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.login-developer-signature img{
  width:154px!important;
  max-height:48px!important;
  object-fit:contain!important;
  background:transparent!important;
}
.secure-note{
  display:block!important;
  text-align:center!important;
  color:#8291a2!important;
  font-size:10px!important;
  line-height:1.45!important;
  margin-top:13px!important;
}
@media(max-width:1150px){
  .login-shell{grid-template-columns:minmax(500px,1fr) minmax(420px,.9fr)!important;}
  .login-side{padding:28px!important;}
}
@media(max-width:900px){
  .login-shell{grid-template-columns:1fr!important;}
  .login-art{display:none!important;}
  .login-side{min-height:100vh!important;padding:28px 18px!important;}
  .login-card{width:min(560px,96%)!important;padding:36px 28px 30px!important;}
}
@media(max-width:520px){
  .login-copy h2{font-size:38px!important;}
  .login-card{padding:30px 22px 26px!important;border-radius:18px!important;}
  .login-developer-signature{flex-direction:column!important;}
}


/* 7.8.123 — separação absoluta entre LOGIN e PAINEL AUTENTICADO */
#login[hidden]{display:none!important;}
#app[hidden]{display:none!important;}
body:not(.auth-mode) #login{display:none!important;}
body.auth-mode #app{display:none!important;}
body:not(.auth-mode) #app{display:grid!important;}


/* 7.8.124 — LOGIN INFOMAX APROXIMADO AO MODELO DE REFERÊNCIA */
body.auth-mode{
  overflow:hidden!important;
  background:#eef5fb!important;
}
#login.login-shell{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  grid-template-columns:minmax(680px,55vw) minmax(440px,45vw)!important;
  background:#eef5fb!important;
  overflow:hidden!important;
}
#login.login-shell[hidden]{display:none!important;}
.login-art{
  min-height:100vh!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  overflow:hidden!important;
  background:#07265a url("branding/infomax-login-hero-approx.png") center center/cover no-repeat!important;
}
.login-art::before,.login-art::after{display:none!important;}
.login-side{
  min-height:100vh!important;
  height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:42px 46px!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(20,134,237,.08),transparent 300px),
    linear-gradient(135deg,#fbfdff 0%,#f1f7fc 100%)!important;
}
.login-card{
  width:min(590px,92%)!important;
  margin:0!important;
  padding:42px 42px 30px!important;
  border-radius:26px!important;
  border:1px solid #d4e3f0!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 28px 70px rgba(9,42,79,.16)!important;
}
.login-card .brand-lockup{display:none!important;}
.login-copy{
  margin:0 0 28px!important;
  text-align:left!important;
}
.login-secure-label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 15px!important;
  color:#0877de!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.16em!important;
}
.login-copy h2{
  margin:0 0 8px!important;
  color:#07162f!important;
  font:750 46px/1.02 Inter,"Segoe UI",sans-serif!important;
  letter-spacing:-.045em!important;
}
.login-copy p{
  margin:0!important;
  color:#61748a!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.login-card label{
  display:grid!important;
  gap:8px!important;
  margin:17px 0!important;
  color:#102440!important;
  font-size:12px!important;
  font-weight:800!important;
}
.login-card input,.login-card select{
  width:100%!important;
  min-height:54px!important;
  border:1px solid #cbdbea!important;
  border-radius:13px!important;
  padding:0 15px!important;
  background:#fff!important;
  color:#102943!important;
  font-size:15px!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.login-card input::placeholder{color:#8798aa!important;font-weight:500!important;}
.login-card input:focus,.login-card select:focus{
  border-color:#1b86e9!important;
  box-shadow:0 0 0 4px rgba(27,134,233,.11)!important;
}
.login-company-register{
  width:auto!important;
  min-width:170px!important;
  min-height:46px!important;
  margin:-5px 0 3px!important;
  padding:0 17px!important;
  justify-self:start!important;
  border-radius:12px!important;
  border:1px solid #aed3f4!important;
  background:#f7fbff!important;
  color:#086dcc!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.login-company-register:hover{
  background:#edf7ff!important;
  border-color:#7ebdf0!important;
}
#loginButton{
  position:relative!important;
  width:100%!important;
  min-height:58px!important;
  margin:12px 0 0!important;
  border:0!important;
  border-radius:13px!important;
  background:linear-gradient(90deg,#087ce7 0%,#0566d7 100%)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 13px 26px rgba(8,105,216,.24)!important;
}
#loginButton::before{
  content:"→";
  display:inline-block;
  margin-right:10px;
  font-size:19px;
  line-height:1;
  vertical-align:-1px;
}
#loginButton:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 17px 31px rgba(8,105,216,.30)!important;
}
#loginError{min-height:20px!important;margin:10px 0 0!important;}
.login-developer-signature{
  display:flex!important;
  flex-direction:row!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  margin:20px 0 0!important;
  padding:20px 0 0!important;
  border-top:1px solid #dfe9f2!important;
  border-radius:0!important;
  background:transparent!important;
}
.login-developer-signature>span{
  color:#6f8295!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.login-developer-signature img{
  width:166px!important;
  max-width:166px!important;
  height:auto!important;
  max-height:44px!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
}
.secure-note{
  display:block!important;
  margin:12px 0 0!important;
  color:#7b8d9d!important;
  font-size:10px!important;
  line-height:1.4!important;
  text-align:center!important;
}
@media(max-width:1180px){
  #login.login-shell{grid-template-columns:52vw 48vw!important;}
  .login-side{padding:28px!important;}
  .login-card{width:min(560px,94%)!important;padding:36px 32px 28px!important;}
}
@media(max-width:900px){
  #login.login-shell{grid-template-columns:1fr!important;background:#eef5fb!important;}
  .login-art{display:none!important;}
  .login-side{min-height:100vh!important;height:100vh!important;padding:24px 16px!important;}
  .login-card{width:min(560px,96%)!important;}
}
@media(max-width:520px){
  .login-card{padding:30px 22px 24px!important;border-radius:20px!important;}
  .login-copy h2{font-size:38px!important;}
  .login-developer-signature{flex-direction:column!important;gap:8px!important;}
  .login-company-register{width:100%!important;}
}


/* ========================================================================== 
   7.8.125 — LOGIN GUIADO PELA REFERÊNCIA VISUAL APROVADA
   Somente tela de login. O restante do Dashboard não é alterado.
   ========================================================================== */
#login[hidden]{display:none!important}
body:not(.auth-mode) #login{display:none!important}
body.auth-mode #app{display:none!important}

body.auth-mode{
  margin:0!important;
  overflow:hidden!important;
  background:#f4f8fc!important;
}
#login.login-shell{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:54% 46%!important;
  overflow:hidden!important;
  background:#f4f8fc!important;
}
#login.login-shell[hidden]{display:none!important}
.login-art{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  overflow:hidden!important;
  background:#063274 url("branding/infomax-login-approved-left.jpg") center center/cover no-repeat!important;
}
.login-art::before,.login-art::after{display:none!important}
.login-side{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:36px 42px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 90% 7%,rgba(43,139,230,.10),transparent 300px),
    linear-gradient(135deg,#ffffff 0%,#f3f8fd 100%)!important;
}
.login-card{
  width:min(580px,92%)!important;
  margin:0!important;
  padding:38px 38px 28px!important;
  border:1px solid #d5e2ee!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(14,57,103,.14)!important;
  color:#0a1d3a!important;
}
.login-copy{
  margin:0 0 27px!important;
  text-align:center!important;
}
.login-secure-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-bottom:16px!important;
  color:#0878e5!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.19em!important;
}
.login-secure-icon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#edf6ff!important;
  font-size:15px!important;
  letter-spacing:0!important;
}
.login-copy h2{
  margin:0 0 8px!important;
  color:#071832!important;
  font:800 48px/1 Inter,"Segoe UI",sans-serif!important;
  letter-spacing:-.045em!important;
}
.login-copy p{
  margin:0!important;
  color:#667b94!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.login-field-label{
  display:grid!important;
  gap:8px!important;
  margin:16px 0!important;
  color:#0e2544!important;
  font-size:12px!important;
  font-weight:850!important;
}
.login-control{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  min-height:56px!important;
  border:1px solid #cddcea!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  transition:border-color .18s,box-shadow .18s!important;
}
.login-control:focus-within{
  border-color:#2487e8!important;
  box-shadow:0 0 0 4px rgba(36,135,232,.10)!important;
}
.login-control-icon{
  display:grid!important;
  place-items:center!important;
  border-right:1px solid #dbe6f0!important;
  color:#506c8e!important;
  font-size:20px!important;
  font-weight:700!important;
}
.login-control input,.login-control select{
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#0c2546!important;
  box-shadow:none!important;
  outline:0!important;
  font-size:15px!important;
  font-weight:650!important;
}
.login-control input::placeholder{color:#8192a7!important;font-weight:500!important}
.login-company-register{
  width:auto!important;
  min-width:174px!important;
  min-height:45px!important;
  margin:-4px 0 8px!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid #9ecbf4!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#096cd0!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:850!important;
}
.login-company-register:hover{background:#eef7ff!important;border-color:#65afe9!important}
#loginButton{
  width:100%!important;
  min-height:60px!important;
  margin:12px 0 0!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(90deg,#087ce8 0%,#0763d8 100%)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(7,107,218,.24)!important;
  font-size:15px!important;
  font-weight:900!important;
}
#loginButton:hover{transform:translateY(-1px)!important;box-shadow:0 18px 34px rgba(7,107,218,.30)!important}
.login-arrow{display:inline-block!important;margin-right:10px!important;font-size:22px!important;vertical-align:-1px!important}
#loginError{display:block!important;min-height:18px!important;margin:10px 0 0!important}
.login-developer-lockup{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:16px 0 0!important;
  padding:16px 0 0!important;
  border-top:1px solid #dde8f1!important;
}
.login-developer-lockup img{
  display:block!important;
  width:250px!important;
  max-width:78%!important;
  height:auto!important;
  object-fit:contain!important;
}
.secure-note{
  display:block!important;
  margin:9px 0 0!important;
  color:#7a8da1!important;
  font-size:9px!important;
  line-height:1.4!important;
  text-align:center!important;
}
@media(max-width:1180px){
  #login.login-shell{grid-template-columns:52% 48%!important}
  .login-side{padding:28px!important}
  .login-card{width:min(560px,94%)!important;padding:34px 30px 26px!important}
}
@media(max-width:900px){
  #login.login-shell{grid-template-columns:1fr!important;background:#f3f8fd!important}
  .login-art{display:none!important}
  .login-side{padding:22px 14px!important}
  .login-card{width:min(560px,96%)!important}
}
@media(max-width:520px){
  .login-card{padding:28px 20px 22px!important;border-radius:18px!important}
  .login-copy h2{font-size:39px!important}
  .login-control{grid-template-columns:44px minmax(0,1fr)!important}
  .login-company-register{width:100%!important}
}


/* 7.8.126 — assinatura INFOMAX após login */
.sidebar-developer-signature-image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:7px 0 9px!important;
  padding:7px 8px!important;
  min-height:46px!important;
  border:1px solid rgba(76,178,255,.16)!important;
  border-radius:12px!important;
  background:rgba(8,48,96,.28)!important;
  overflow:hidden!important;
}
.sidebar-developer-signature-image img{
  display:block!important;
  width:100%!important;
  max-width:178px!important;
  height:auto!important;
  max-height:42px!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:drop-shadow(0 2px 7px rgba(0,0,0,.16));
}

/* ========================================================================== 
   7.8.133 — TELA INICIAL INFOMAX APROVADA
   Escopo exclusivo: tela de login. Nenhum componente autenticado é alterado.
   Referência aprovada: Hotelaria + Restaurantes + Varejo.
   ========================================================================== */
body.auth-mode{
  background:#f3f8fd!important;
}
#login.login-shell{
  grid-template-columns:58% 42%!important;
  background:#f3f8fd!important;
}
#login .login-art{
  background-color:#062d66!important;
  background-image:url("branding/infomax-login-segmentos-approved.jpg")!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
#login .login-side{
  background:
    radial-gradient(circle at 92% 8%,rgba(52,142,230,.10),transparent 320px),
    linear-gradient(135deg,#ffffff 0%,#f4f9fe 100%)!important;
  padding:32px 38px!important;
}
#login .login-card{
  width:min(600px,94%)!important;
  padding:36px 38px 26px!important;
  border-radius:25px!important;
  border:1px solid #d6e3ef!important;
  box-shadow:0 24px 72px rgba(18,62,105,.13)!important;
}
#login .login-copy h2{
  font-size:47px!important;
}
#login .login-control{
  min-height:55px!important;
}
#login #loginButton{
  min-height:60px!important;
}
@media(max-width:1280px){
  #login.login-shell{grid-template-columns:55% 45%!important;}
  #login .login-side{padding:26px!important;}
  #login .login-card{width:min(570px,95%)!important;padding:32px 28px 24px!important;}
}
@media(max-width:900px){
  #login.login-shell{grid-template-columns:1fr!important;}
  #login .login-art{display:none!important;}
}


/* ========================================================================== 
   7.8.133 — CORREÇÃO FINAL DO LAYOUT DE LOGIN (REFERÊNCIA APROVADA)
   Ajuste da arte esquerda sem corte superior/inferior e com melhor nitidez.
   ========================================================================== */
body.auth-mode{
  overflow:hidden!important;
  background:#eef4fb!important;
}
#login.login-shell{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  grid-template-columns:minmax(860px,1.18fr) minmax(500px,.82fr)!important;
  background:linear-gradient(90deg,#08376f 0%,#08376f 56%,#f4f8fc 56%,#f4f8fc 100%)!important;
}
.login-art{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  background:linear-gradient(180deg,#08376f 0%,#052b5b 100%)!important;
}
.login-art::before,.login-art::after{display:none!important;}
.login-art-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.login-side{
  padding:28px 40px 28px 24px!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(43,139,230,.10),transparent 300px),
    linear-gradient(135deg,#ffffff 0%,#f3f8fd 100%)!important;
}
.login-card{
  width:min(520px,92%)!important;
  margin:auto!important;
}
.login-copy h2{font-size:58px!important;}
.login-copy p{font-size:17px!important;}
.login-developer-lockup img{width:260px!important;max-width:82%!important;}
@media(max-width:1600px){
  #login.login-shell{grid-template-columns:minmax(760px,1.08fr) minmax(470px,.92fr)!important;}
  .login-side{padding:24px 30px 24px 20px!important;}
}
@media(max-width:1280px){
  #login.login-shell{grid-template-columns:56% 44%!important;}
  .login-copy h2{font-size:50px!important;}
  .login-card{width:min(500px,94%)!important;padding:34px 28px 24px!important;}
}
@media(max-width:980px){
  #login.login-shell{grid-template-columns:1fr!important;background:#f4f8fc!important;}
  .login-art{display:none!important;}
  .login-side{padding:22px 16px!important;}
  .login-card{width:min(560px,96%)!important;}
}
@media(max-width:520px){
  .login-copy h2{font-size:42px!important;}
}

/* ========================================================================== 
   7.8.134 — LOGIN INFOMAX ESCURO (REFERÊNCIA APROVADA)
   Escopo: SOMENTE tela inicial/login. Funcionalidades preservadas.
   ========================================================================== */
body.auth-mode{
  margin:0!important;
  overflow:hidden!important;
  background:#eef4fb!important;
}
#login.login-shell{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  display:grid!important;
  grid-template-columns:52% 48%!important;
  overflow:hidden!important;
  background:#eef4fb!important;
}
#login.login-shell[hidden]{display:none!important;}
#login .login-art{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  padding:0!important;
  overflow:hidden!important;
  background:#03183f!important;
}
#login .login-art::before,#login .login-art::after{display:none!important;}
#login .login-art-image{
  content:url("branding/infomax-login-referencia-escura.png")!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
#login .login-side{
  width:100%!important;
  height:100vh!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:28px 42px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 96% 4%,rgba(66,148,232,.12),transparent 330px),
    linear-gradient(145deg,#ffffff 0%,#f3f7fb 100%)!important;
}
#login .login-card{
  width:min(555px,91%)!important;
  margin:auto!important;
  padding:38px 46px 30px!important;
  border:1px solid #d9e2ed!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 26px 70px rgba(13,47,91,.18)!important;
  color:#0a1730!important;
}
#login .login-copy{
  margin:0 0 26px!important;
  text-align:center!important;
}
#login .login-secure-row{
  width:max-content!important;
  max-width:100%!important;
  margin:0 auto 28px!important;
  padding:12px 18px!important;
  border:1px solid #d1dbe8!important;
  border-radius:14px!important;
  color:#075ed8!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  background:#fff!important;
}
#login .login-secure-icon{
  width:38px!important;
  height:38px!important;
  background:#eef5ff!important;
}
#login .login-copy h2{
  margin:0 0 9px!important;
  color:#0b1630!important;
  font:800 52px/1.02 Inter,"Segoe UI",sans-serif!important;
  letter-spacing:-.045em!important;
}
#login .login-copy p{
  margin:0!important;
  color:#66768d!important;
  font-size:17px!important;
}
#login .login-field-label{
  gap:8px!important;
  margin:18px 0 10px!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:800!important;
  text-transform:none!important;
}
#login .login-control{
  grid-template-columns:58px minmax(0,1fr)!important;
  min-height:61px!important;
  border:1px solid #d4dce7!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#login .login-control:focus-within{
  border-color:#1d72e8!important;
  box-shadow:0 0 0 4px rgba(29,114,232,.09)!important;
}
#login .login-control-icon{
  border-right:1px solid #e0e6ee!important;
  color:#136be5!important;
  font-size:21px!important;
  background:#f5f9ff!important;
}
#login .login-control input,#login .login-control select{
  height:59px!important;
  min-height:59px!important;
  padding:0 18px!important;
  color:#26364e!important;
  font-size:16px!important;
  font-weight:600!important;
}
#login .login-company-register{
  width:auto!important;
  min-width:188px!important;
  min-height:47px!important;
  margin:2px 0 8px!important;
  padding:0 18px!important;
  border:1px solid #a9c9f4!important;
  border-radius:12px!important;
  background:#f8fbff!important;
  color:#0865d7!important;
  font-size:14px!important;
  font-weight:850!important;
}
#login #loginButton{
  width:100%!important;
  min-height:64px!important;
  margin:20px 0 0!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#087bf0 0%,#0455d8 100%)!important;
  box-shadow:0 14px 30px rgba(3,91,221,.25)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:900!important;
}
#login .login-developer-lockup{
  margin:22px 0 0!important;
  padding:24px 0 0!important;
  border-top:1px solid #d8e0ea!important;
}
#login .login-developer-lockup img{
  width:260px!important;
  max-width:80%!important;
  height:auto!important;
  object-fit:contain!important;
}
#login .secure-note{
  margin:14px 0 0!important;
  color:#77859a!important;
  font-size:10px!important;
  line-height:1.45!important;
}
@media(max-width:1400px){
  #login.login-shell{grid-template-columns:51% 49%!important;}
  #login .login-side{padding:24px 28px!important;}
  #login .login-card{width:min(520px,94%)!important;padding:34px 34px 26px!important;}
  #login .login-copy h2{font-size:46px!important;}
}
@media(max-width:1024px){
  #login.login-shell{grid-template-columns:1fr!important;}
  #login .login-art{display:none!important;}
  #login .login-side{padding:24px 16px!important;}
  #login .login-card{width:min(560px,96%)!important;}
}
@media(max-width:520px){
  #login .login-card{padding:28px 20px 24px!important;border-radius:20px!important;}
  #login .login-copy h2{font-size:40px!important;}
  #login .login-secure-row{padding:10px 12px!important;font-size:10px!important;}
  #login .login-company-register{width:100%!important;}
}

/* 7.8.135 — DRE Analítico: descrição completa do plano de contas */
.dre-analytic-approved .dre-main-table th:nth-child(2),
.dre-analytic-approved .dre-main-table td:nth-child(2){
  min-width:260px;
  width:auto;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.35;
}
.dre-analytic-approved .dre-main-table td{height:auto!important;}

/* ========================================================================== 
   7.8.135 — LOGIN: azul contínuo por trás do card, conforme referência
   ========================================================================== */
body.auth-mode,
#login.login-shell{
  background:
    radial-gradient(circle at 84% 24%,rgba(0,109,255,.20),transparent 28rem),
    radial-gradient(circle at 70% 88%,rgba(0,191,255,.10),transparent 34rem),
    linear-gradient(135deg,#020f2c 0%,#03275f 58%,#061c4a 100%)!important;
}
#login.login-shell{grid-template-columns:55% 45%!important;}
#login .login-art{
  background:transparent!important;
  position:relative!important;
}
#login .login-art-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
#login .login-side{
  position:relative!important;
  background:transparent!important;
  padding:34px 48px 34px 22px!important;
}
#login .login-side::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(132deg,transparent 0 36%,rgba(27,112,255,.09) 36% 37%,transparent 37% 100%),
    linear-gradient(48deg,transparent 0 72%,rgba(79,184,255,.08) 72% 73%,transparent 73% 100%);
}
#login .login-card{
  position:relative!important;
  z-index:1!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(0,0,0,.34)!important;
  border:1px solid rgba(205,222,241,.95)!important;
}
@media(max-width:1400px){#login.login-shell{grid-template-columns:54% 46%!important;}}
@media(max-width:1024px){
  #login.login-shell{grid-template-columns:1fr!important;}
  #login .login-side{background:transparent!important;padding:24px 16px!important;}
}

/* 7.8.135 — Recibo avulso */
.standalone-receipt-panel{border-left:4px solid #0878e5;}
.standalone-receipt-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin-top:14px;}
.standalone-receipt-grid label{display:grid;gap:6px;color:#5e6f81;font-size:11px;font-weight:700;}
.standalone-receipt-grid input,.standalone-receipt-grid select,.standalone-receipt-grid textarea{width:100%;min-width:0;}
.standalone-receipt-grid .receipt-description-field{grid-column:span 3;}
.receipt-actions{justify-content:flex-end;margin-top:14px;}
#generateSelectedAccountReceipt:disabled{opacity:.5;cursor:not-allowed;}
@media(max-width:1000px){.standalone-receipt-grid{grid-template-columns:repeat(2,minmax(160px,1fr));}.standalone-receipt-grid .receipt-description-field{grid-column:span 2;}}
@media(max-width:640px){.standalone-receipt-grid{grid-template-columns:1fr}.standalone-receipt-grid .receipt-description-field{grid-column:span 1;}}

/* 7.8.138 — contas neutras/transitórias no DRE e Financeiro e Custos */
.neutral-value{color:#65717a!important;font-weight:700}
.neutral-accounting-row td{background:#f7f8f9!important}
.neutral-accounting-row td:first-child{box-shadow:inset 3px 0 0 #9aa4ac}
#view-accounting .accounting-kpis{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}

/* 7.8.138 — Guia Recibos */
#view-receipts .standalone-receipt-panel{margin-bottom:18px;}
.receipt-history-panel{margin-top:18px;}
.receipt-history-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;align-items:end;margin:14px 0 18px;}
.receipt-history-filters label{display:grid;gap:6px;color:#5e6f81;font-size:11px;font-weight:700;}
.receipt-history-filters input,.receipt-history-filters select{width:100%;min-width:0;}
.receipt-history-filters button{min-height:42px;}
#receiptHistoryRows .mini-button{white-space:nowrap;}
@media(max-width:1200px){.receipt-history-filters{grid-template-columns:repeat(3,minmax(150px,1fr));}}
@media(max-width:760px){.receipt-history-filters{grid-template-columns:1fr;}}

/* ========================================================================== 
   7.8.142 — PRÉ-VENDA / ORÇAMENTOS / DAV / DAV-OS
   ========================================================================== */
.commercial-document-filters{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end}
.commercial-document-filters button{min-height:44px}
.commercial-master-detail{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr);gap:18px;margin:18px 0}
.commercial-documents-panel,.commercial-items-panel{min-width:0}
.commercial-grid-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px;gap:12px;margin:0 0 12px}
.commercial-grid-toolbar label,.inline-filter{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.commercial-grid-toolbar input,.commercial-grid-toolbar select,.inline-filter select{min-height:40px;border:1px solid var(--border);border-radius:9px;padding:0 11px;background:#fff;color:var(--ink)}
.commercial-documents-table tbody tr{cursor:pointer;transition:.14s ease}
.commercial-documents-table tbody tr:hover{background:#f0f7ff}
.commercial-documents-table tbody tr.selected-row{background:#e4f1ff;box-shadow:inset 3px 0 #0a76dd}
.commercial-selected-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:-4px 0 12px;padding:10px 12px;border-radius:10px;background:#f4f8fc;color:#536b84;font-size:12px}
.commercial-selected-meta b{color:#173858}
.commercial-analysis-grid{align-items:start}
.commercial-ranking{display:grid;gap:10px}
.commercial-ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center}
.commercial-rank-position{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9f3ff;color:#0b70d0;font-weight:900;font-size:12px}
.commercial-ranking-row>div{display:grid;gap:4px;min-width:0}
.commercial-ranking-row b{color:#173858;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.commercial-ranking-row small{color:#6b7f94}
.commercial-ranking-row i{display:block;width:100%;height:5px;border-radius:999px;background:linear-gradient(90deg,#0b7be7 var(--rank),#e6eef7 var(--rank));overflow:hidden}
.commercial-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.commercial-kpi strong{font-size:clamp(18px,1.4vw,28px);overflow-wrap:anywhere}
#view-commercial-documents .table-wrap{max-width:100%}
#view-commercial-documents .commercial-items-panel .tall-table{max-height:520px}
@media(max-width:1450px){.commercial-document-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.commercial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.commercial-master-detail{grid-template-columns:1fr}.commercial-document-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}.commercial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.commercial-document-filters,.commercial-grid-toolbar,.commercial-kpis{grid-template-columns:1fr}.commercial-master-detail{display:block}.commercial-items-panel{margin-top:18px}}

/* 7.8.142 — refinamento do módulo Pré-Venda / Orçamentos / DAV / DAV-OS */
.commercial-type-filter{
  display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center;min-height:72px;margin:0;padding:10px 12px;
  border:1px solid var(--border);border-radius:10px;background:#fff
}
.commercial-type-filter legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.commercial-type-filter label{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:5px!important;margin:0!important;color:#284866!important;font-size:12px!important;font-weight:700!important;white-space:nowrap}
.commercial-type-filter input[type="checkbox"]{width:16px!important;height:16px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:#0a76dd}
.commercial-type-all{padding-right:8px;border-right:1px solid #dbe5ef}
.commercial-filter-actions{display:flex;gap:8px;align-items:end;min-height:44px}
.commercial-filter-actions button{flex:1;min-width:130px}
.commercial-meta-wide{flex-basis:100%;padding-top:4px;border-top:1px dashed #d7e2ed}
.report-commercial-type-filter{min-width:360px}
#view-commercial-documents .commercial-documents-table th,#view-commercial-documents .commercial-documents-table td{white-space:nowrap}
#view-commercial-documents .commercial-documents-table td:nth-child(4),#view-commercial-documents .commercial-documents-table td:nth-child(5),#view-commercial-documents .commercial-documents-table td:nth-child(6){white-space:normal;min-width:130px}
@media(max-width:720px){.commercial-filter-actions{flex-direction:column;align-items:stretch}.report-commercial-type-filter{min-width:0}}

/* ========================================================================== 
   7.8.144 — REFINAMENTO DA CONSULTA COMERCIAL
   Alinhamento de filtros/demonstrativos, totais e gráficos.
   ========================================================================== */
#view-commercial-documents .commercial-filter-panel{padding:18px 20px 20px}
#view-commercial-documents .commercial-document-filters{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:end!important;
}
#view-commercial-documents .commercial-document-filters>label,
#view-commercial-documents .commercial-document-filters>.commercial-type-filter,
#view-commercial-documents .commercial-document-filters>.commercial-filter-actions{
  min-width:0!important;
  margin:0!important;
}
#view-commercial-documents .commercial-document-filters>label{
  display:grid!important;
  grid-template-rows:auto 44px!important;
  gap:7px!important;
  align-self:end!important;
}
#view-commercial-documents .commercial-document-filters input,
#view-commercial-documents .commercial-document-filters select{
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  box-sizing:border-box!important;
}
#view-commercial-documents .commercial-type-filter{
  min-height:72px!important;
  align-self:end!important;
}
#view-commercial-documents .commercial-filter-actions{
  min-height:44px!important;
  align-self:end!important;
}
#view-commercial-documents .commercial-master-detail,
#view-commercial-documents .commercial-analysis-grid,
#view-commercial-documents .commercial-chart-grid{gap:18px!important}
#view-commercial-documents .commercial-analysis-grid>article,
#view-commercial-documents .commercial-chart-grid>article{height:100%}
.commercial-panel-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.commercial-panel-actions .inline-filter{min-width:86px}
#commercialRankingTotal,#commercialProductMatrixTotal{white-space:nowrap}
.commercial-chart-grid{margin:18px 0;align-items:stretch}
.commercial-chart-grid .chart-panel{min-height:360px}
.commercial-report-synthetic{margin:20px 0 24px;padding-top:8px;border-top:1px solid #dfe8f1}
.commercial-report-synthetic h4{margin-bottom:4px}
.commercial-report-synthetic p{margin:0 0 12px}
#commercialTypeSummary tfoot th{background:#edf5fc;color:#123553;border-top:2px solid #c9dceb}
@media(max-width:1450px){
  #view-commercial-documents .commercial-document-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1120px){
  #view-commercial-documents .commercial-document-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .commercial-panel-actions{justify-content:flex-start}
}
@media(max-width:720px){
  #view-commercial-documents .commercial-document-filters{grid-template-columns:1fr!important}
}

/* ========================================================================== 
   7.8.144 — CONSULTA COMERCIAL: alinhamento, totais consolidados e gráficos
   ========================================================================== */
#view-commercial-documents .commercial-document-filters{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px 14px!important;
}
@media(min-width:1281px){
  #view-commercial-documents .commercial-document-filters>:nth-child(1){grid-column:1}
  #view-commercial-documents .commercial-document-filters>:nth-child(2){grid-column:2}
  #view-commercial-documents .commercial-document-filters>:nth-child(3){grid-column:3 / span 2}
  #view-commercial-documents .commercial-document-filters>:nth-child(4){grid-column:1 / span 2}
  #view-commercial-documents .commercial-document-filters>:nth-child(5){grid-column:3}
  #view-commercial-documents .commercial-document-filters>:nth-child(6){grid-column:4}
  #view-commercial-documents .commercial-document-filters>:nth-child(7){grid-column:1}
  #view-commercial-documents .commercial-document-filters>:nth-child(8){grid-column:2 / span 2}
  #view-commercial-documents .commercial-document-filters>:nth-child(9){grid-column:4}
}
#view-commercial-documents .commercial-type-filter{
  min-height:68px!important;
  height:68px!important;
  padding:8px 12px!important;
  align-content:center!important;
}
#view-commercial-documents .commercial-filter-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  min-height:44px!important;
}
#view-commercial-documents .commercial-filter-actions button{min-width:0!important;width:100%!important}

.commercial-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.commercial-kpi{
  display:grid!important;
  grid-template-rows:auto minmax(34px,auto) auto!important;
  align-content:start!important;
  gap:7px!important;
  min-height:118px!important;
  padding:15px 16px!important;
}
.commercial-kpi .commercial-kpi-label{
  display:block!important;
  color:#536b84!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:750!important;
  min-height:15px!important;
}
.commercial-kpi .commercial-kpi-value{
  display:block!important;
  margin:0!important;
  color:#082c50!important;
  font-size:clamp(20px,1.45vw,29px)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  overflow-wrap:anywhere!important;
}
.commercial-kpi .commercial-kpi-note{
  display:block!important;
  color:#71859a!important;
  font-size:10px!important;
  line-height:1.3!important;
  margin:0!important;
}

.commercial-total-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:-4px 0 16px;
}
.commercial-total-strip>div{
  min-width:0;
  padding:10px 12px;
  border:1px solid #d8e6f3;
  border-radius:10px;
  background:#f5f9fd;
}
.commercial-total-strip span{
  display:block;
  color:#637b92;
  font-size:10px;
  font-weight:750;
  line-height:1.25;
}
.commercial-total-strip strong{
  display:block;
  margin-top:4px;
  color:#0b355a;
  font-size:18px;
  line-height:1.1;
}
.commercial-matrix-strip{
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin-top:0;
}
.commercial-matrix-strip .commercial-total-primary{
  background:#eaf4ff;
  border-color:#c9e0f7;
}

#view-commercial-documents .commercial-chart-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin:18px 0!important;
}
#view-commercial-documents .commercial-chart-grid .chart-panel{
  min-width:0!important;
  min-height:350px!important;
  height:100%!important;
}
#view-commercial-documents .commercial-chart-grid canvas{
  max-width:100%!important;
}

.commercial-report-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.commercial-report-summary>div{
  padding:10px 12px;
  border:1px solid #dbe6f0;
  border-radius:9px;
  background:#f6f9fc;
}
.commercial-report-summary span{display:block;color:#6d8195;font-size:10px;font-weight:700}
.commercial-report-summary strong{display:block;margin-top:4px;color:#123a5d;font-size:20px}

@media(max-width:1450px){
  #view-commercial-documents .commercial-document-filters>*{grid-column:auto!important}
  #view-commercial-documents .commercial-document-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .commercial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #view-commercial-documents .commercial-chart-grid{grid-template-columns:1fr 1fr!important}
  #view-commercial-documents .commercial-chart-grid>article:last-child{grid-column:1/-1}
  .commercial-matrix-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  #view-commercial-documents .commercial-document-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .commercial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-commercial-documents .commercial-chart-grid{grid-template-columns:1fr!important}
  #view-commercial-documents .commercial-chart-grid>article:last-child{grid-column:auto}
}
@media(max-width:720px){
  #view-commercial-documents .commercial-document-filters,.commercial-kpis{grid-template-columns:1fr!important}
  #view-commercial-documents .commercial-filter-actions{grid-template-columns:1fr!important}
  .commercial-total-strip,.commercial-matrix-strip,.commercial-report-summary{grid-template-columns:1fr 1fr}
}


/* ==========================================================================
   7.8.145 — RELATÓRIO COMERCIAL: COMBOS E ALINHAMENTO DOS FILTROS
   ========================================================================== */
#view-report-builder.commercial-report-mode .report-builder-filters{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(150px,1fr))!important;
  gap:12px 14px!important;
  align-items:end!important;
}
#view-report-builder.commercial-report-mode .report-builder-filters>label{
  min-width:0!important;
  margin:0!important;
  display:grid!important;
  grid-template-rows:auto 42px!important;
  gap:6px!important;
  align-self:end!important;
}
#view-report-builder.commercial-report-mode .report-builder-filters input,
#view-report-builder.commercial-report-mode .report-builder-filters select{
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
}
#view-report-builder.commercial-report-mode #rbCommercialClient,
#view-report-builder.commercial-report-mode #rbCommercialType{
  width:100%!important;
}
@media(max-width:1400px){
  #view-report-builder.commercial-report-mode .report-builder-filters{grid-template-columns:repeat(4,minmax(160px,1fr))!important;}
}
@media(max-width:980px){
  #view-report-builder.commercial-report-mode .report-builder-filters{grid-template-columns:repeat(2,minmax(160px,1fr))!important;}
}
@media(max-width:620px){
  #view-report-builder.commercial-report-mode .report-builder-filters{grid-template-columns:1fr!important;}
}
