:root{
  --ink:var(--sh-text,#172033); --muted:var(--sh-text-muted,#64748b); --line:var(--sh-border,#dbe3ef); --card:var(--sh-card,#fff);
  --page:#f3f5f9; --accent:var(--sh-accent,#1e40af); --danger:#b42141; --warn:#92590a; --success:#066140;
  --sheet-head:#eaf0fb; --sheet-cat:#153b72; --sheet-selected:#ecfdf5;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:linear-gradient(180deg,#eef2f8 0%,#f6f7fa 42%,#eef1f6 100%);font-family:var(--sh-font-sans,ui-sans-serif,system-ui,sans-serif);color:var(--ink);font-size:13px}.app-shell{min-height:100vh}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:24px}.sheet-layout{align-items:start}.rail{position:sticky;top:24px;height:auto;align-self:start;display:flex;flex-direction:column;gap:12px}.rail-card,.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-shadow-card,0 12px 32px rgba(15,23,42,.08))}.rail nav{display:grid;gap:8px;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--sh-shadow-card,0 12px 32px rgba(15,23,42,.08))}.rail nav button{text-align:left;border:1px solid transparent;background:rgba(255,255,255,.76);color:var(--muted);padding:12px 14px;border-radius:12px;font-weight:800;cursor:pointer;font:inherit}.rail nav button.active,.rail nav button:hover{background:var(--accent);color:#fff;box-shadow:0 12px 26px rgba(30,64,175,.16)}.scope-card{padding:16px;line-height:1.45}.scope-card p{margin:8px 0}.workspace{min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:900;color:var(--accent)}.muted{color:var(--muted)}.page-title{margin:2px 0 18px}.page-title h1{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:6px 0 10px}.page-title p{margin:0;color:var(--muted);font-size:14px;max-width:920px;line-height:1.55}.panel{padding:18px;margin-bottom:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-head.outside{margin:8px 0 14px}.panel h3,.panel-head h3{margin:0;font-size:16px;letter-spacing:-.01em}.panel-head h2{margin:4px 0 0;font-size:22px;letter-spacing:-.025em}.page{display:none}.active-page{display:block}.filters-panel{display:grid;grid-template-columns:.9fr repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end}.filters-panel h3{margin:4px 0 0}.filters-panel label{display:grid;gap:5px}.filters-panel label span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}.filters-panel select,.filters-panel input{height:34px;border:1px solid #b9c7dc;border-radius:8px;background:#fff;color:var(--ink);padding:0 9px;font:inherit;min-width:0}.filters-panel button,.sh-btn{height:34px;border:1px solid #cbd7ec;background:#f8fbff;border-radius:8px;color:#1f3b64;font-size:11px;font-weight:900;cursor:pointer;padding:0 12px}.filters-panel button:hover,.sh-btn:hover{border-color:var(--accent);background:#edf4ff}.sh-btn-primary{background:var(--sh-accent,#1e40af)!important;border-color:var(--sh-accent,#1e40af)!important;color:#fff!important;box-shadow:0 12px 26px rgba(30,64,175,.22)}.sh-btn-primary:hover{background:#153b72!important;border-color:#153b72!important;color:#fff!important;box-shadow:0 14px 30px rgba(21,59,114,.28)}.validation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.check{border:1px solid #bbf7d0;background:linear-gradient(135deg,#fff 0%,#eefdf7 100%);color:#064e3b;border-radius:14px;padding:11px 12px;font-weight:900}.check.bad{border-color:#fecaca;background:#fff1f2;color:var(--danger)}.cash-grid,.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 18px}.kpi{display:block;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 100%);box-shadow:var(--sh-shadow-card,0 12px 32px rgba(15,23,42,.08));padding:16px}.kpi span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900}.kpi strong{display:block;margin-top:5px;font-size:24px;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums}.kpi small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.origin-layout{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr)}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(155px,250px) 1fr 112px;gap:12px;align-items:center}.bar-label{font-weight:900;color:#1f3b64;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.track{height:15px;background:#e5eaf3;border-radius:999px;overflow:hidden;border:1px solid #d5deec}.fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1e40af,#0f766e);min-width:2px}.bar-value{text-align:right;font-weight:900;font-variant-numeric:tabular-nums}.bar-value strong{display:block;font:inherit}.bar-value small,.legend-item strong small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:900}.large .bar-row{grid-template-columns:minmax(170px,290px) 1fr 112px}.compact .bar-row{grid-template-columns:minmax(150px,250px) 1fr 112px}.donut-wrap{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:center}.donut{width:205px;height:205px;border-radius:50%;background:conic-gradient(var(--accent) 0 1turn);position:relative;box-shadow:inset 0 0 0 1px var(--line)}.donut:after{content:"";position:absolute;inset:38px;border-radius:50%;background:#fff;border:1px solid var(--line)}.legend{display:grid;gap:9px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800}.swatch{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:8px}.callout-panel{background:linear-gradient(135deg,#ffffff 0%,#eefdf7 100%);border-color:#bbf7d0}.callout-panel h3{font-size:20px;margin:4px 0 10px}.callout-panel p{line-height:1.55;color:#334155}.table-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet-panel{padding:0;overflow:hidden}.sticky-panel-head{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:18px;border-bottom:1px solid var(--line);margin:0}.sheet-table-wrap,.table-wrap{overflow:auto;max-height:calc(100vh - 315px);background:#fff}.compact-table-card .sheet-table-wrap{max-height:610px}.sheet-table,table{border-collapse:separate;border-spacing:0;width:100%;min-width:920px;font-size:12px}.sheet-table th,table th{position:sticky;top:0;z-index:3;background:var(--sheet-head);color:#1f3b64;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900;border-bottom:1px solid #cbd7ec;border-right:1px solid #d9e2f2;padding:8px 9px;text-align:right;white-space:nowrap}.sheet-table th:first-child,table th:first-child{text-align:left;left:0;z-index:5}.sheet-table td,table td{border-bottom:1px solid #edf1f7;border-right:1px solid #edf1f7;padding:8px 9px;text-align:right;background:#fff;vertical-align:middle}.sheet-table td:first-child,table td:first-child{position:sticky;left:0;z-index:2;text-align:left;background:#fff;min-width:220px;max-width:420px}.sheet-table tr:hover td,.sheet-table tr:hover td:first-child,table tr:hover td,table tr:hover td:first-child{background:#f8fbff}.sheet-table .num,table .num{text-align:right;font-variant-numeric:tabular-nums}#row-count{color:var(--muted);font-weight:900}.empty{color:var(--muted);font-weight:800;text-align:center!important;padding:18px!important}@media(max-width:1500px){.filters-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.filters-title{grid-column:1/-1}}@media(max-width:1200px){.filters-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.origin-layout,.donut-wrap{grid-template-columns:1fr}}@media(max-width:1050px){.layout{grid-template-columns:1fr;padding:16px}.rail{position:static;height:auto}.cash-grid,.kpi-grid,.validation{grid-template-columns:1fr}.sheet-table-wrap{max-height:70vh}.sticky-panel-head{position:static}.sheet-table th:first-child,.sheet-table td:first-child,table th:first-child,table td:first-child{position:static}.panel-head{flex-direction:column}.page-title h1{font-size:24px}.filters-panel{grid-template-columns:1fr}.bar-row,.large .bar-row,.compact .bar-row{grid-template-columns:1fr;gap:6px}.bar-value{text-align:left}.bar-value small{display:inline;margin-left:6px}}@media print{body{background:#fff}.no-print,.rail,sh-header{display:none!important}.layout{display:block;padding:0}.panel{box-shadow:none;border:1px solid #d1d5db;break-inside:avoid}.sheet-table-wrap{max-height:none;overflow:visible}.sheet-table,table{font-size:9px;min-width:0}.sheet-table th,.sheet-table td,table th,table td{padding:4px}.sheet-table th:first-child,.sheet-table td:first-child,table th:first-child,table td:first-child{position:static;min-width:0}.cash-grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}}

/* Menu lateral recolhível pelo menu-btn do DSHC */
.layout{transition:grid-template-columns .22s ease,padding .22s ease}.rail{transition:transform .22s ease,opacity .22s ease,filter .22s ease}.layout.rail-collapsed{grid-template-columns:minmax(0,1fr);padding-left:32px}.layout.rail-collapsed .workspace{grid-column:1}.layout.rail-collapsed .rail{position:fixed;top:88px;left:12px;width:220px;z-index:80;transform:translateX(calc(-100% + 18px));opacity:.34;filter:drop-shadow(0 18px 34px rgba(15,23,42,.16))}.layout.rail-collapsed .rail::after{content:"Menu";position:absolute;top:12px;right:-34px;writing-mode:vertical-rl;text-orientation:mixed;background:var(--sh-accent,#1e40af);color:#fff;border-radius:0 10px 10px 0;padding:10px 7px;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 26px rgba(30,64,175,.22)}.layout.rail-collapsed .rail:hover,.layout.rail-collapsed .rail:focus-within{transform:translateX(0);opacity:1}.layout.rail-collapsed .rail:hover::after,.layout.rail-collapsed .rail:focus-within::after{opacity:.18}.layout.rail-collapsed .rail nav,.layout.rail-collapsed .scope-card{pointer-events:none}.layout.rail-collapsed .rail:hover nav,.layout.rail-collapsed .rail:hover .scope-card,.layout.rail-collapsed .rail:focus-within nav,.layout.rail-collapsed .rail:focus-within .scope-card{pointer-events:auto}@media(max-width:1050px){.layout.rail-collapsed{padding-left:16px}.layout.rail-collapsed .rail{position:static;width:auto;transform:none;opacity:1}.layout.rail-collapsed .rail::after{display:none}.layout.rail-collapsed .rail nav,.layout.rail-collapsed .scope-card{pointer-events:auto}}
