/* Relatórios ocupa toda a largura útil, sem a antiga moldura branca do placeholder. */
#placeholder:has(#g88ReportsPage){max-width:none!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
/* GARAGEM88 Relatórios: dashboard gerencial, isolado do restante do sistema. */
#g88ReportsPage{--rr2-blue:#1267dc;--rr2-ink:#0b2145;--rr2-muted:#647c9c;--rr2-line:#d7e5f7;font:14px Inter,'Segoe UI',Arial,sans-serif;background:linear-gradient(135deg,#f3f8ff 0%,#eaf3ff 100%);border-radius:18px;padding:20px 22px 24px;color:var(--rr2-ink);max-width:1650px;margin:0 auto}
#g88ReportsPage *{box-sizing:border-box}
#g88ReportsPage button,#g88ReportsPage input{font-family:inherit}
#g88ReportsPage button{cursor:pointer}
#g88ReportsPage button:focus-visible{outline:3px solid #7fb5ff;outline-offset:3px}
#g88ReportsPage svg{flex-shrink:0}
#g88ReportsPage .rr2-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;margin:0 0 17px}
#g88ReportsPage .rr2-titlegroup{display:flex;gap:15px;align-items:center;min-width:0}
#g88ReportsPage .rr2-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#e8f2ff;color:#126fe7}
#g88ReportsPage .rr2-icon svg{width:22px;height:22px}
#g88ReportsPage .rr2-title-icon{flex:0 0 60px;width:60px;height:60px;border-radius:14px;background:linear-gradient(145deg,#29c2fc,#0664e6 70%,#063dab);color:#fff;box-shadow:0 7px 15px #0f70d51c}
#g88ReportsPage .rr2-title-icon svg{width:34px;height:34px;stroke-width:2.3}
#g88ReportsPage h1{margin:0 0 4px;font-size:clamp(27px,2.55vw,36px);line-height:1.1;font-weight:850;letter-spacing:-.95px}
#g88ReportsPage .rr2-titlegroup p{color:#496a92;margin:0;font-size:13px;line-height:1.5}
#g88ReportsPage .rr2-date{display:flex;align-items:center;gap:10px;margin:0;color:#153457;font-size:12px;line-height:1.4;flex-shrink:0}
#g88ReportsPage .rr2-date svg{width:22px;height:22px}
#g88ReportsPage .rr2-date span{display:flex;flex-direction:column}
#g88ReportsPage .rr2-date strong{font-size:13px;white-space:nowrap;color:#0b2449}
#g88ReportsPage .rr2-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border:1px solid #d8e6fa;border-radius:14px;padding:11px 12px;margin-bottom:16px;box-shadow:0 5px 18px #13407509}
#g88ReportsPage .rr2-period-label{font-weight:800;margin-right:3px;font-size:14px;color:#183555}
#g88ReportsPage .rr2-period-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
#g88ReportsPage .rr2-period-tabs button,#g88ReportsPage .rr2-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #c8dcf6;color:#1e4269;border-radius:10px;background:#fff;padding:10px 13px;min-height:40px;white-space:nowrap;font-size:12px;font-weight:750;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
#g88ReportsPage .rr2-period-tabs button:hover,#g88ReportsPage .rr2-actions button:hover:not(:disabled){border-color:#7cb8fc;background:#f4f9ff;transform:translateY(-1px)}
#g88ReportsPage .rr2-period-tabs button.active{color:#fff;border-color:#0669e4;background:linear-gradient(180deg,#107ffe,#0565df);box-shadow:0 3px 10px #0869d61f}
#g88ReportsPage .rr2-custom{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0}
#g88ReportsPage .rr2-custom[hidden]{display:none}
#g88ReportsPage .rr2-custom label{display:flex;align-items:center;gap:6px;color:#496788;font-size:11px;font-weight:750}
#g88ReportsPage .rr2-custom input{border:1px solid #c9def3;border-radius:7px;padding:7px;background:#fff;color:#12385b;max-width:156px}
#g88ReportsPage .rr2-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
#g88ReportsPage .rr2-actions button{border-color:#1677ed;color:#1166d7;font-weight:800}
#g88ReportsPage .rr2-actions button:disabled{opacity:.44;cursor:not-allowed}
#g88ReportsPage .rr2-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
#g88ReportsPage .rr2-kpi{background:#fff;border:1px solid var(--rr2-line);border-left:4px solid #0fbc56;box-shadow:0 5px 15px #123a750c;border-radius:14px;padding:14px 13px;display:flex;gap:10px;align-items:flex-start;min-width:0;min-height:116px}
#g88ReportsPage .rr2-kpi .rr2-icon{flex-basis:43px;width:43px;height:43px;background:#e3f8eb;color:#07ae4d}
#g88ReportsPage .rr2-kpi.rr2-sales{border-left-color:#0a6fff}
#g88ReportsPage .rr2-kpi.rr2-sales .rr2-icon{background:#e4f0ff;color:#0877fc}
#g88ReportsPage .rr2-kpi.rr2-ticket{border-left-color:#8b42e9}
#g88ReportsPage .rr2-kpi.rr2-ticket .rr2-icon{background:#f0e6ff;color:#8b42e9}
#g88ReportsPage .rr2-kpi.rr2-clients{border-left-color:#f5a900}
#g88ReportsPage .rr2-kpi.rr2-clients .rr2-icon{background:#fff2d4;color:#e99900}
#g88ReportsPage .rr2-kpi-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#g88ReportsPage .rr2-kpi-title{font-size:12.5px;font-weight:750;line-height:1.3;color:#152c4b}
#g88ReportsPage .rr2-kpi strong{font-weight:850;font-size:clamp(20px,1.9vw,27px);letter-spacing:-.6px;color:#10264a;white-space:nowrap;line-height:1.15}
#g88ReportsPage .rr2-change{font-size:11.5px;line-height:1.5;color:#66829f;font-weight:650}
#g88ReportsPage .rr2-change.positive{color:#148344;background:#e8f9ee;border-radius:40px;padding:2px 7px}
#g88ReportsPage .rr2-change.negative{color:#b62e3a;background:#ffedf0;border-radius:40px;padding:2px 7px}
#g88ReportsPage .rr2-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:15px;margin-bottom:16px}
#g88ReportsPage .rr2-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
#g88ReportsPage .rr2-panel{background:#fff;border:1px solid var(--rr2-line);box-shadow:0 5px 19px #0c3b7410;border-radius:17px;padding:18px 19px 19px;min-width:0}
#g88ReportsPage .rr2-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
#g88ReportsPage .rr2-panel>header>div:first-child{display:flex;align-items:flex-start;gap:11px;min-width:0}
#g88ReportsPage .rr2-panel>header .rr2-icon{width:34px;height:34px;flex-basis:34px;background:transparent;color:#0772ef}
#g88ReportsPage .rr2-panel>header .rr2-icon svg{width:30px;height:30px}
#g88ReportsPage .rr2-panel h2{font-size:clamp(17px,1.45vw,21px);line-height:1.2;letter-spacing:-.35px;margin:1px 0 4px;font-weight:830;color:#102447}
#g88ReportsPage .rr2-panel header p{margin:0;font-size:12.5px;line-height:1.45;color:#637e9e}
#g88ReportsPage .rr2-chart-tabs{display:flex;gap:0;align-items:center;background:#f0f5ff;border:1px solid #c7dcfb;border-radius:10px;padding:2px;flex-shrink:0}
#g88ReportsPage .rr2-chart-tabs button{background:none;border:0;color:#33547c;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:750}
#g88ReportsPage .rr2-chart-tabs button.active{background:#086ee5;color:white;box-shadow:0 3px 7px #0c65bd2a}
#g88ReportsPage .rr2-chart{width:100%;min-width:0;padding:5px 0 0}
#g88ReportsPage .rr2-chart-layout{display:grid;grid-template-columns:67px minmax(0,1fr);gap:9px;align-items:start;width:100%}
#g88ReportsPage .rr2-chart-y{height:235px;position:relative;min-width:0}
#g88ReportsPage .rr2-chart-y span{position:absolute;right:0;transform:translateY(-50%);font-size:11px;font-weight:600;white-space:nowrap;color:#577293;line-height:1.3}
#g88ReportsPage .rr2-chart-graphic{min-width:0;overflow:visible}
#g88ReportsPage .rr2-chart-graphic svg{display:block;width:100%;height:235px;overflow:visible}
#g88ReportsPage .rr2-chart-x{position:relative;width:100%;height:27px;margin-top:0}
#g88ReportsPage .rr2-chart-x span{position:absolute;top:6px;transform:translateX(-50%);font-size:11px;font-weight:600;white-space:nowrap;color:#587492}
#g88ReportsPage .rr2-chart-x span:first-child{transform:translateX(0)}
#g88ReportsPage .rr2-chart-x span:last-child{transform:translateX(-100%)}
#g88ReportsPage .rr2-chart-context{margin:8px 0 0 76px;font-size:11px;color:#6e88a5;line-height:1.4}
#g88ReportsPage .rr2-ranking{display:flex;flex-direction:column;gap:2px}
#g88ReportsPage .rr2-rankrow{display:grid;grid-template-columns:27px minmax(0,1fr) 66px 100px;align-items:center;gap:10px;min-height:48px;padding:8px 0;border-bottom:1px solid #e6eef7}
#g88ReportsPage .rr2-ranknum{height:24px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:900;background:#e8eef8;color:#244a72}
#g88ReportsPage .rr2-ranknum.rr2-pos-0{background:#ffb900;color:#fff}
#g88ReportsPage .rr2-ranknum.rr2-pos-1{background:#c0cddb;color:#163c64}
#g88ReportsPage .rr2-ranknum.rr2-pos-2{background:#e59754;color:#fff}
#g88ReportsPage .rr2-rankname{font-size:12.5px;font-weight:750;line-height:1.35;min-width:0;white-space:normal;overflow-wrap:anywhere}
#g88ReportsPage .rr2-rankqty{font-size:11.5px;color:#587393;text-align:right}
#g88ReportsPage .rr2-rankrow strong{text-align:right;color:#167340;font-size:11.5px;white-space:nowrap}
#g88ReportsPage .rr2-empty{display:grid;place-items:center;min-height:165px;background:#f8fbff;border:1px dashed #c8dbf3;border-radius:12px;color:#708aa9;padding:17px;text-align:center;font-size:12px}
#g88ReportsPage .rr2-help{font-size:11.5px;line-height:1.5;color:#6684a5;margin:10px 0 0}
#g88ReportsPage .rr2-minigrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#g88ReportsPage .rr2-mini{background:#f1f6ff;border-radius:14px;padding:13px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:98px;min-width:0}
#g88ReportsPage .rr2-mini svg{color:#086edc;width:21px;height:21px;margin-bottom:3px}
#g88ReportsPage .rr2-mini strong{font-size:clamp(17px,1.8vw,24px);font-weight:850;line-height:1.1;color:#112447;white-space:nowrap}
#g88ReportsPage .rr2-mini small{font-size:11.5px;line-height:1.36;color:#416082;margin-top:6px}
#g88ReportsPage .rr2-main-mini{background:linear-gradient(135deg,#e8f3ff,#dcecff)}
#g88ReportsPage .rr2-main-mini strong{color:#0a65d5}
#g88ReportsPage .rr2-mini-green{background:#e6f8ed}
#g88ReportsPage .rr2-mini-green svg{color:#0a9c4d}
#g88ReportsPage .rr2-footer{font-size:11.5px;color:#7186a3;line-height:1.6;padding:17px 2px 0}
#g88ReportsPage .rr2-error{border:1px solid #efbaba;background:#fff5f4;color:#a32937;padding:15px;border-radius:12px}
#g88ReportsPage [hidden]{display:none!important}
@media(max-width:1380px){
 #g88ReportsPage .rr2-kpi{padding:13px 10px;gap:7px}
 #g88ReportsPage .rr2-kpi .rr2-icon{width:38px;height:38px;flex-basis:38px}
 #g88ReportsPage .rr2-main-grid{grid-template-columns:minmax(0,1.48fr) minmax(0,1fr)}
 #g88ReportsPage .rr2-rankrow{grid-template-columns:25px minmax(0,1fr) 60px 90px;gap:7px}
 #g88ReportsPage .rr2-minigrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}
@media(max-width:1160px){
 #g88ReportsPage .rr2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 #g88ReportsPage .rr2-main-grid,#g88ReportsPage .rr2-lower-grid{grid-template-columns:minmax(0,1fr)}
 #g88ReportsPage .rr2-actions{margin-left:0}
}
@media(max-width:670px){
 #g88ReportsPage{padding:13px;border-radius:12px}
 #g88ReportsPage .rr2-heading{align-items:flex-start;flex-direction:column;gap:10px}
 #g88ReportsPage .rr2-title-icon{width:47px;height:47px;flex-basis:47px}
 #g88ReportsPage .rr2-title-icon svg{width:27px;height:27px}
 #g88ReportsPage h1{font-size:28px}
 #g88ReportsPage .rr2-toolbar{padding:10px}
 #g88ReportsPage .rr2-period-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #g88ReportsPage .rr2-period-tabs button{white-space:normal;padding:9px 8px}
 #g88ReportsPage .rr2-kpis{grid-template-columns:1fr 1fr;gap:9px}
 #g88ReportsPage .rr2-kpi{flex-direction:column;min-height:118px}
 #g88ReportsPage .rr2-kpi strong{font-size:21px}
 #g88ReportsPage .rr2-panel{padding:14px}
 #g88ReportsPage .rr2-panel>header{flex-direction:column}
 #g88ReportsPage .rr2-chart-tabs{align-self:flex-end}
 #g88ReportsPage .rr2-chart-y,#g88ReportsPage .rr2-chart-graphic svg{height:200px}
 #g88ReportsPage .rr2-minigrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #g88ReportsPage .rr2-rankrow{grid-template-columns:23px minmax(0,1fr) 55px 77px;gap:4px}
 #g88ReportsPage .rr2-rankrow strong,#g88ReportsPage .rr2-rankname{font-size:11.5px}
}
@media(max-width:420px){
 /* Somente celular: dois indicadores por linha, sem alterar o desktop. */
 #g88ReportsPage .rr2-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #g88ReportsPage .rr2-kpi{min-width:0;min-height:143px;padding:11px 9px;gap:7px}
 #g88ReportsPage .rr2-kpi .rr2-icon{width:35px;height:35px;flex-basis:35px}
 #g88ReportsPage .rr2-kpi .rr2-icon svg{width:20px;height:20px}
 #g88ReportsPage .rr2-kpi-info{min-width:0;width:100%;gap:4px}
 #g88ReportsPage .rr2-kpi-title{font-size:11px;line-height:1.3}
 #g88ReportsPage .rr2-kpi strong{font-size:18px;line-height:1.18;white-space:normal;overflow-wrap:anywhere}
 #g88ReportsPage .rr2-kpi .rr2-change{font-size:10px;line-height:1.35;overflow-wrap:anywhere}
 #g88ReportsPage .rr2-actions{width:100%}
 #g88ReportsPage .rr2-actions button{flex:1}
}
@media(prefers-reduced-motion:reduce){#g88ReportsPage .rr2-period-tabs button,#g88ReportsPage .rr2-actions button{transition:none}}
@media print{
 @page{size:A4;margin:12mm}
 body *{visibility:hidden!important}
 #g88ReportsPage,#g88ReportsPage *{visibility:visible!important}
 #g88ReportsPage{position:absolute!important;left:0!important;top:0!important;background:#fff!important;margin:0!important;width:100%!important;max-width:none!important;padding:0!important;border:0!important;font-size:10px!important}
 #g88ReportsPage .rr2-toolbar,#g88ReportsPage .rr2-actions{display:none!important}
 #g88ReportsPage .rr2-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important}
 #g88ReportsPage .rr2-kpi{padding:9px!important;min-height:90px!important}
 #g88ReportsPage .rr2-kpi strong{font-size:16px!important}
 #g88ReportsPage .rr2-main-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
 #g88ReportsPage .rr2-lower-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
 #g88ReportsPage .rr2-panel{padding:10px!important;break-inside:avoid}
 #g88ReportsPage .rr2-chart-y,#g88ReportsPage .rr2-chart-graphic svg{height:165px!important}
 #g88ReportsPage .rr2-chart-tabs{display:none!important}
 #g88ReportsPage .rr2-rankrow{grid-template-columns:20px 1fr 60px 85px!important}
 #g88ReportsPage .rr2-minigrid{grid-template-columns:repeat(2,1fr)!important}
 #g88ReportsPage .rr2-title-icon{display:none!important}
 #g88ReportsPage .rr2-footer{font-size:9px!important}
 #g88ReportsPage .rr2-kpi,#g88ReportsPage .rr2-panel{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
