.modal--sm{max-width:460px}.toast-dock{position:fixed;z-index:90;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(380px,calc(100vw - 32px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);box-shadow:0 8px 24px rgb(0 0 0/8%);font-size:14px;line-height:1.35;animation:toast-in .22s cubic-bezier(.2,.8,.3,1)}.toast.is-leaving{animation:toast-out .2s ease forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateX(12px)}}.toast-mark{flex:none;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:9999px;font-size:11px;font-weight:700}.toast--ok .toast-mark{background:var(--accent);color:var(--accent-ink)}.toast--warn .toast-mark{background:var(--brand-3);color:var(--ink)}.toast--error .toast-mark{background:var(--alert);color:#fff}.toast--error{border-color:var(--alert)}.toast-text{flex:1 1;min-width:0}.toast-close{flex:none;border:none;background:none;cursor:pointer;padding:0 2px;color:var(--ink-40);font-size:12px;line-height:20px}.toast-close:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation:none}}.tip-anchor{display:inline-flex}.tip{position:fixed;z-index:95;pointer-events:none;max-width:240px;padding:6px 9px;border-radius:var(--btn-radius);background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-size:12px;line-height:1.35;text-align:center;animation:tip-in .12s ease}@keyframes tip-in{0%{opacity:0}}.tip--top{transform:translate(-50%,-100%)}.tip--bottom{transform:translate(-50%)}.tip--left{transform:translate(-100%,-50%)}.tip--right{transform:translateY(-50%)}.dd-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--btn-radius);background:var(--surface);color:var(--ink-70);cursor:pointer;font-size:14px;line-height:1}.dd-trigger.is-open,.dd-trigger:hover{border-color:var(--ink-40);color:var(--ink)}.dd-menu{position:fixed;z-index:92;min-width:190px;max-width:280px;padding:5px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);box-shadow:0 10px 28px rgb(0 0 0/10%);display:flex;flex-direction:column;gap:1px;outline:none;animation:dd-in .12s ease}@keyframes dd-in{0%{opacity:0;transform:translateY(-4px)}}.dd-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;border-radius:var(--btn-radius);background:none;cursor:pointer;text-align:left;font-family:inherit;font-size:13px;color:var(--ink)}.dd-item.is-active:not(:disabled){background:var(--slate)}.dd-item:disabled{opacity:.4;cursor:not-allowed}.dd-item.is-danger{color:var(--alert)}.dd-icon{flex:none;width:16px;text-align:center;font-size:12px}.dd-label{display:flex;flex-direction:column;gap:1px;min-width:0}.dd-hint{font-size:11px;color:var(--ink-40)}.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:12px}.pager-count{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--ink-40)}.pager-controls{display:flex;align-items:center;gap:4px}.pager-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--btn-radius);background:var(--surface);color:var(--ink-70);cursor:pointer;font-family:var(--font-mono);font-size:12px}.pager-btn:hover:not(:disabled){border-color:var(--ink-40);color:var(--ink)}.pager-btn.is-current{background:var(--ink);border-color:var(--ink);color:var(--bg)}.pager-btn:disabled{opacity:.35;cursor:not-allowed}.pager-gap{padding:0 2px;color:var(--ink-40)}.chart{--chart-gutter:56px;--chart-axis-h:20px;position:relative;color:var(--ink)}.chart-plot{position:absolute;inset:0 0 var(--chart-axis-h) var(--chart-gutter)}.chart-grid{position:absolute;inset:0 0 var(--chart-axis-h) 0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-rule{position:relative;display:block;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.chart-rule:last-child{border-top-color:var(--border)}.chart-rule b{position:absolute;left:0;top:-7px;width:calc(var(--chart-gutter) - 8px);text-align:right;font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--ink-40);white-space:nowrap}.chart-rule:nth-child(2) b,.chart-rule:nth-child(4) b{opacity:.55}.chart-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.chart-axis{position:absolute;left:var(--chart-gutter);right:0;bottom:0;height:var(--chart-axis-h);pointer-events:none}.chart-axis span{position:absolute;top:4px;font-family:var(--font-mono);font-size:10px;color:var(--ink-40);white-space:nowrap}.chart-guide{top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,color-mix(in srgb,currentColor 35%,transparent) 20%,color-mix(in srgb,currentColor 35%,transparent));z-index:1}.chart-dot,.chart-guide{position:absolute;pointer-events:none}.chart-dot{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:9999px;background:var(--surface);border:2.5px solid;z-index:2;animation:dot-pop .22s cubic-bezier(.2,1.4,.4,1)}.chart-dot:after{content:"";position:absolute;inset:-6px;border-radius:9999px;background:color-mix(in srgb,currentColor 12%,transparent)}@keyframes dot-pop{0%{transform:scale(.4);opacity:0}}.chart-hit{position:absolute;inset:0;display:flex;z-index:3}.chart-hit-col{flex:1 1;border:none;background:none;cursor:pointer;padding:0}.chart-hit-col:focus-visible{background:color-mix(in srgb,currentColor 7%,transparent);outline:none}.chart-bars{position:absolute;inset:0;gap:3px}.chart-bar,.chart-bars{display:flex;align-items:flex-end}.chart-bar{position:relative;flex:1 1;height:100%;border:none;background:none;padding:0;cursor:pointer}.chart-bar-fill{width:100%;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(0deg,color-mix(in srgb,currentColor 34%,transparent),color-mix(in srgb,currentColor 16%,transparent));transition:background .18s ease}.chart-bar.is-active .chart-bar-fill,.chart-bar:focus-visible .chart-bar-fill,.chart-bar:hover .chart-bar-fill{background:linear-gradient(0deg,currentColor,color-mix(in srgb,currentColor 70%,transparent))}.chart-tip-anchor{position:absolute;pointer-events:none;z-index:4;transition:left .14s ease,top .14s ease}.chart-tip{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 9px;border-radius:var(--btn-radius);background:var(--ink);color:var(--bg);font-size:11px;line-height:1.3;white-space:nowrap;box-shadow:0 4px 14px rgb(0 0 0/18%)}.chart-tip b{font-family:var(--font-mono);font-size:12px}.chart-tip span{opacity:.7;font-size:10px}.chart-empty{display:grid;place-items:center;min-height:120px;border:1px dashed var(--border);border-radius:var(--card-radius);color:var(--ink-40)}@media (prefers-reduced-motion:reduce){.chart-dot{animation:none}.chart-tip-anchor{transition:none}}.rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.rank li{display:flex;align-items:flex-start;gap:10px}.rank-pos{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:9999px;background:var(--slate);font-family:var(--font-mono);font-size:10px;color:var(--ink-60);transition:background-color .15s ease,color .15s ease}.rank-pos.is-podium{background:var(--ink);color:var(--bg);font-weight:600}.rank-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.rank-label{font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-40)}.rank-track{height:5px;margin-top:2px;border-radius:9999px;background:var(--slate-3);overflow:hidden}.rank-fill{display:block;height:100%;border-radius:9999px;background:linear-gradient(to right,color-mix(in srgb,var(--ink) 70%,transparent),var(--ink))}.rank li:hover .rank-pos:not(.is-podium){background:var(--slate-3);color:var(--ink)}.rank-label a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.rank-label a:hover{border-bottom-color:currentColor}.rank-value{flex:none;font-family:var(--font-mono);font-size:13px;font-weight:500}.period{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface)}.period-dates,.period-grain,.period-quick{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.period-dates{gap:10px}.period-dates label{display:flex;align-items:center;gap:6px}.period-dates input[type=date]{padding:5px 8px;border:1px solid var(--border);border-radius:var(--btn-radius);background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:12px}.period-grain{margin-left:6px;padding-left:12px;border-left:1px solid var(--border)}.period .chip{cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.period .chip:hover:not(:disabled){border-color:var(--ink-40)}.period .chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg)}.period .chip:disabled{opacity:.5;cursor:default}.report-body{display:flex;flex-direction:column;gap:16px;transition:opacity .15s ease}.kpi strong{font-family:var(--font-display);font-weight:800;font-size:30px;line-height:1;letter-spacing:-.02em}.kpi strong small{font-size:16px;font-weight:600;color:var(--ink-40)}.kpi-hint{font-size:12px;color:var(--ink-40);line-height:1.35}.trend{display:flex;flex-direction:column;gap:1px;font-family:var(--font-mono);font-size:12px;font-weight:600}.trend.is-up{color:var(--accent-strong)}.trend.is-down{color:var(--alert)}.trend.is-flat,.trend.is-none{color:var(--ink-40);font-weight:500}.trend-hint{font-size:10px;font-weight:400;color:var(--ink-40);letter-spacing:.03em}.report-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.split-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.split-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.split-list li:last-child{border-bottom:none}.split-value{display:flex;align-items:baseline;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink-40);white-space:nowrap}.split-value b{font-size:13px;color:var(--ink)}@media (max-width:900px){.report-cols{grid-template-columns:1fr}.period{align-items:flex-start;flex-direction:column}.period-grain{margin-left:0;padding-left:0;border-left:none}}.chart-block{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface)}.tel-wrap{display:flex;align-items:stretch;gap:0;padding-left:0}.tel-pais{display:inline-flex;align-items:center;gap:5px;flex:none;padding:0 9px 0 11px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--ink);font-family:inherit;font-size:13px;line-height:1;cursor:pointer}.tel-pais:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,transparent)}.tel-pais:disabled{cursor:not-allowed;opacity:.6}.tel-bandeira{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Twemoji Mozilla,sans-serif;font-size:15px;line-height:1}.tel-ddi{font-family:var(--font-mono,monospace);font-size:12px;opacity:.85}.tel-seta{font-size:9px;opacity:.5}.tel-wrap input{flex:1 1;min-width:0;padding-left:11px}.tel-menu{position:fixed;z-index:400;width:288px;max-height:316px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--r-md,8px);background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.18);overflow:hidden}.tel-busca{flex:none;height:38px;padding:0 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink);font-family:inherit;font-size:13px;outline:none}.tel-lista{overflow-y:auto;padding:4px}.tel-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:0;border-radius:var(--r-sm,6px);background:transparent;color:var(--ink);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.tel-item.is-ativo,.tel-item:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.tel-item .tel-nome{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tel-vazio{display:block;padding:16px;text-align:center;font-size:13px;opacity:.6}