:root{
  --r2-a:#42c7ff;--r2-b:#7c8cff;--r2-c:#32d6a6;--r2-d:#ffb84d;--r2-e:#ff6b87;
  --r2-grid:rgba(125,160,183,.16);--r2-glow:rgba(66,199,255,.12);
}
.cp-r2-shell{display:grid;gap:18px;max-width:1700px;margin:0 auto;padding-bottom:36px;color:var(--cp-text)}
.cp-r2-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:4px 0 2px}
.cp-r2-title h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;margin:2px 0 6px}
.cp-r2-title p{margin:0;color:var(--cp-muted);max-width:780px;line-height:1.5}
.cp-r2-mode{display:flex;gap:4px;border:1px solid var(--cp-border);background:var(--cp-surface);padding:4px;border-radius:13px;box-shadow:var(--cp-shadow-sm)}
.cp-r2-mode button{border:0;background:transparent;color:var(--cp-muted);border-radius:9px;padding:10px 16px;font-weight:800;cursor:pointer}
.cp-r2-mode button.active{background:var(--cp-accent);color:#03131d;box-shadow:0 8px 22px rgba(66,199,255,.2)}
.cp-r2-domain-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.cp-r2-domain-tabs>button{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--cp-border);background:linear-gradient(160deg,var(--cp-surface),var(--cp-surface-2));color:var(--cp-text);padding:13px;border-radius:15px;min-width:0;cursor:pointer;transition:.18s ease}
.cp-r2-domain-tabs>button:hover{transform:translateY(-1px);border-color:var(--cp-border-strong)}
.cp-r2-domain-tabs>button.active{border-color:color-mix(in srgb,var(--cp-accent) 65%,var(--cp-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--cp-accent) 15%,transparent),0 12px 28px var(--r2-glow)}
.cp-r2-domain-tabs i{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:color-mix(in srgb,var(--cp-accent) 12%,var(--cp-surface-2));color:var(--cp-accent);font-style:normal;font-size:19px}
.cp-r2-domain-tabs span{min-width:0}.cp-r2-domain-tabs strong,.cp-r2-domain-tabs small{display:block}
.cp-r2-domain-tabs strong{font-size:13px}.cp-r2-domain-tabs small{margin-top:3px;color:var(--cp-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-r2-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:12px;border:1px solid var(--cp-border);border-radius:15px;background:var(--cp-surface);box-shadow:var(--cp-shadow-sm)}
.cp-r2-toolbar label{display:grid;gap:5px}.cp-r2-toolbar label>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--cp-muted);font-weight:900}
.cp-r2-toolbar input,.cp-r2-toolbar select{height:39px;border:1px solid var(--cp-border);background:var(--cp-input-bg,var(--cp-surface-2));color:var(--cp-text);border-radius:9px;padding:0 10px;min-width:136px}
.cp-r2-toolbar .store{min-width:210px;flex:1}.cp-r2-toolbar .store select{width:100%}
.cp-r2-presets{display:flex;gap:4px;padding:3px;background:var(--cp-surface-2);border-radius:10px;flex-wrap:wrap}
.cp-r2-presets button{height:33px;border:0;border-radius:7px;padding:0 10px;background:transparent;color:var(--cp-muted);font-weight:800;cursor:pointer}
.cp-r2-presets button:hover{background:var(--cp-surface-3);color:var(--cp-text)}
.cp-r2-toolbar>button{height:39px}
.cp-r2-toolbar-snapshot{align-items:center}.cp-r2-snapshot-label{display:grid;gap:3px;min-width:230px;padding:4px 2px}.cp-r2-snapshot-label strong{font-size:11px}.cp-r2-snapshot-label span{font-size:10px;color:var(--cp-muted)}
.cp-r2-asof{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 13px;border-left:3px solid var(--cp-accent);background:color-mix(in srgb,var(--cp-accent) 7%,var(--cp-surface));border-radius:5px 12px 12px 5px;color:var(--cp-muted);font-size:12px}
.cp-r2-asof strong{color:var(--cp-text);font-size:13px}.cp-r2-asof span{margin-left:auto}
.cp-r2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.cp-r2-kpi{position:relative;overflow:hidden;min-height:108px;border:1px solid var(--cp-border);background:linear-gradient(155deg,var(--cp-surface),var(--cp-surface-2));border-radius:15px;padding:15px}
.cp-r2-kpi:after{content:"";position:absolute;inset:auto -25px -45px auto;width:90px;height:90px;border-radius:50%;background:var(--r2-glow);filter:blur(2px)}
.cp-r2-kpi>span,.cp-r2-kpi>small,.cp-r2-kpi>strong{display:block;position:relative;z-index:1}
.cp-r2-kpi>span{font-size:10px;color:var(--cp-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:900}
.cp-r2-kpi>strong{font-size:clamp(18px,2vw,28px);margin:8px 0 6px;letter-spacing:-.035em}
.cp-r2-kpi>small{font-size:10px;color:var(--cp-muted);line-height:1.35}
.cp-r2-kpi.cp-r2-tone-good{border-bottom:2px solid var(--cp-success)}.cp-r2-kpi.cp-r2-tone-warn{border-bottom:2px solid var(--cp-warning)}.cp-r2-kpi.cp-r2-tone-danger{border-bottom:2px solid var(--cp-danger)}
.cp-r2-kpi.interactive{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.cp-r2-kpi.interactive:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--cp-accent) 38%,var(--cp-border));box-shadow:var(--cp-shadow-md)}.cp-r2-kpi.interactive:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}
.cp-r2-kpi-compare{display:flex!important;gap:5px;align-items:center;flex-wrap:wrap;margin-top:7px;font-size:9px!important;text-transform:none!important;letter-spacing:0!important;color:var(--cp-muted)!important}.cp-r2-kpi-compare b{color:var(--cp-text);font-size:10px}.cp-r2-kpi-compare em{font-style:normal}
.cp-r2-kpi-cash-divergence{min-width:0;padding-right:16px}
.cp-r2-kpi-cash-divergence>span,.cp-r2-kpi-cash-divergence>strong,.cp-r2-kpi-cash-divergence>small{max-width:100%;overflow-wrap:anywhere}
.cp-r2-kpi-cash-divergence .cp-r2-kpi-compare{display:grid!important;grid-template-columns:minmax(0,1fr);gap:2px;align-items:start;width:100%;max-width:100%}
.cp-r2-kpi-cash-divergence .cp-r2-kpi-compare b,.cp-r2-kpi-cash-divergence .cp-r2-kpi-compare em{display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.3}
.cp-r2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:12px}
.cp-r2-chart{grid-column:span 4;min-width:0;border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-surface);box-shadow:var(--cp-shadow-sm);overflow:hidden}
.cp-r2-chart.wide{grid-column:span 8}
.cp-r2-chart>header{padding:15px 16px 10px;border-bottom:1px solid color-mix(in srgb,var(--cp-border) 65%,transparent)}
.cp-r2-chart h3{margin:0;font-size:14px}.cp-r2-chart header p{margin:4px 0 0;font-size:10px;color:var(--cp-muted);line-height:1.35}
.cp-r2-chart-body{padding:14px;min-height:220px;display:grid;align-content:center}
.cp-r2-empty{display:grid;place-items:center;min-height:160px;color:var(--cp-muted);font-size:12px;text-align:center}
.cp-r2-chart-hit{font:inherit;color:inherit;cursor:pointer}.cp-r2-chart-hit:hover{filter:brightness(1.08)}
.cp-r2-donut-wrap{display:grid;grid-template-columns:minmax(130px,170px) 1fr;gap:18px;align-items:center}
.cp-r2-donut{aspect-ratio:1;border-radius:50%;padding:21%;box-shadow:inset 0 0 30px rgba(0,0,0,.08)}
.cp-r2-donut>div{height:100%;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:var(--cp-surface);box-shadow:0 0 0 1px var(--cp-border)}
.cp-r2-donut strong{font-size:15px}.cp-r2-donut span{font-size:9px;color:var(--cp-muted);text-transform:uppercase;letter-spacing:.08em}
.cp-r2-legend{display:grid;gap:4px;min-width:0}
.cp-r2-legend .cp-r2-chart-hit{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center;border:0;background:transparent;padding:5px 4px;border-radius:7px;text-align:left}
.cp-r2-swatch{width:8px;height:8px;border-radius:50%;background:var(--c)}
.cp-r2-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.cp-r2-legend strong{font-size:10px}
.cp-r2-bars{display:grid;gap:7px}
.cp-r2-bars .cp-r2-chart-hit{display:grid;grid-template-columns:minmax(80px,150px) minmax(80px,1fr) auto;align-items:center;gap:8px;border:0;background:transparent;padding:3px;border-radius:7px;text-align:left}
.cp-r2-bar-label{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-r2-bar-track{height:8px;border-radius:99px;background:var(--r2-grid);overflow:hidden;direction:ltr}
.cp-r2-bar-track i{display:block;height:100%;width:var(--w);background:var(--c);border-radius:inherit}
.cp-r2-bar-track.negative i{background:var(--cp-danger)}
.cp-r2-bars strong{font-size:10px;text-align:right;white-space:nowrap}
.cp-r2-columns{display:flex;gap:5px;align-items:end;height:200px;padding:18px 2px 0;border-bottom:1px solid var(--r2-grid)}
.cp-r2-columns .cp-r2-chart-hit{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border:0;background:transparent;padding:0;gap:4px}
.cp-r2-columns i{display:block;width:min(24px,80%);height:var(--h);min-height:1px;background:linear-gradient(to top,color-mix(in srgb,var(--c) 70%,#000),var(--c));border-radius:5px 5px 1px 1px}
.cp-r2-columns span{font-size:8px;color:var(--cp-muted);white-space:nowrap;max-width:100%;overflow:hidden}.cp-r2-column-value{opacity:0;transition:.15s}
.cp-r2-columns .cp-r2-chart-hit:hover .cp-r2-column-value{opacity:1}
.cp-r2-svg-scroll{overflow:auto}.cp-r2-line,.cp-r2-scatter{width:100%;min-width:520px;max-height:280px}
.cp-r2-line>line,.cp-r2-scatter>line{stroke:var(--r2-grid);stroke-width:1}.cp-r2-svg-hit{cursor:pointer;transition:.15s}.cp-r2-svg-hit:hover{filter:brightness(1.25)}
.cp-r2-stacked{display:grid;gap:8px}
.cp-r2-stacked>.cp-r2-chart-hit{display:grid;grid-template-columns:130px minmax(120px,1fr) 45px;gap:8px;align-items:center;background:transparent;border:0;padding:2px;text-align:left}
.cp-r2-stacked>.cp-r2-chart-hit>span:first-child{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-r2-stack-track{display:flex;height:11px;width:var(--size);min-width:2px;background:var(--r2-grid);border-radius:99px;overflow:hidden}
.cp-r2-stack-track i{width:var(--w);background:var(--c)}
.cp-r2-stacked strong{font-size:10px;text-align:right}
.cp-r2-stack-legend{display:flex;gap:11px;flex-wrap:wrap;padding-top:7px;border-top:1px solid var(--r2-grid)}
.cp-r2-stack-legend span{font-size:9px;color:var(--cp-muted)}.cp-r2-stack-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--c);margin-right:4px}
.cp-r2-heatmap{display:grid;grid-template-columns:34px repeat(24,minmax(18px,1fr));gap:2px;min-width:660px}
.cp-r2-chart-body:has(.cp-r2-heatmap){overflow:auto;display:block}
.cp-r2-heatmap>b,.cp-r2-heatmap>strong{font-size:7px;color:var(--cp-muted);font-weight:700;text-align:center}
.cp-r2-heatmap>strong{display:grid;place-items:center}
.cp-r2-heatmap .cp-r2-chart-hit{border:0;background:transparent;padding:0;aspect-ratio:1}
.cp-r2-heatmap .cp-r2-chart-hit i{display:block;width:100%;height:100%;border-radius:3px;background:color-mix(in srgb,var(--cp-accent) calc(var(--a)*100%),var(--cp-surface-2))}
.cp-r2-pareto-note{margin-top:10px;padding-top:8px;border-top:1px solid var(--r2-grid);font-size:10px;color:var(--cp-muted)}
.cp-r2-decisions{margin-top:18px}.cp-r2-decisions>h2{margin:0;font-size:20px}.cp-r2-decisions>p{margin:4px 0 12px;color:var(--cp-muted);font-size:11px}
.cp-r2-decisions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cp-r2-decision{border:1px solid var(--cp-border);border-radius:15px;background:var(--cp-surface);overflow:hidden}
.cp-r2-decision>header{padding:13px 14px;border-bottom:1px solid var(--cp-border)}.cp-r2-decision h3{font-size:13px;margin:0}.cp-r2-decision p{font-size:10px;color:var(--cp-muted);margin:4px 0 0}
.cp-r2-decision.cp-r2-decision-tone-danger{border-top:2px solid var(--cp-danger)}.cp-r2-decision.cp-r2-decision-tone-warn{border-top:2px solid var(--cp-warning)}.cp-r2-decision.cp-r2-decision-tone-neutral{border-top:2px solid var(--cp-border-strong)}
.cp-r2-table-shell{display:grid;gap:8px;min-width:0}
.cp-r2-table-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:8px 10px;background:color-mix(in srgb,var(--cp-surface-2) 72%,transparent);border-bottom:1px solid var(--cp-border)}
.cp-r2-table-search{display:grid;gap:3px;min-width:min(260px,100%);flex:1}.cp-r2-table-search span{font-size:9px;color:var(--cp-muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.cp-r2-table-search input{width:100%;height:34px;border:1px solid var(--cp-border);border-radius:8px;background:var(--cp-input-bg);color:var(--cp-text);padding:0 10px}
.cp-r2-table-columns{position:relative}.cp-r2-table-columns>summary{list-style:none;cursor:pointer;border:1px solid var(--cp-border);border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800;color:var(--cp-text);background:var(--cp-surface)}.cp-r2-table-columns>summary::-webkit-details-marker{display:none}.cp-r2-table-columns>div{position:absolute;right:0;top:calc(100% + 5px);z-index:8;display:grid;gap:6px;min-width:180px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);box-shadow:var(--cp-shadow-lg)}.cp-r2-table-columns label{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--cp-text)}
.cp-r2-table-count{margin-left:auto;font-size:9px;color:var(--cp-muted);white-space:nowrap}
.cp-r2-table-wrap{overflow:auto;max-height:440px}
.cp-r2-table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap}
.cp-r2-table th{position:sticky;top:0;z-index:1;background:var(--cp-surface-2);color:var(--cp-muted);text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.cp-r2-table th>button{display:flex;align-items:center;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.cp-r2-table th>button:hover,.cp-r2-table th>button:focus-visible{color:var(--cp-accent);outline:none}
.cp-r2-table th,.cp-r2-table td{padding:8px 9px;border-bottom:1px solid color-mix(in srgb,var(--cp-border) 60%,transparent)}
.cp-r2-table tbody tr:hover{background:color-mix(in srgb,var(--cp-accent) 5%,transparent)}
.cp-r2-table-pages{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:8px 10px;border-top:1px solid var(--cp-border);font-size:9px;color:var(--cp-muted)}.cp-r2-table-pages button{min-width:76px}.cp-r2-table-pages button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.cp-r2-table-tools{align-items:stretch}.cp-r2-table-search{min-width:100%}.cp-r2-table-count{margin-left:0;width:100%}.cp-r2-table-pages{justify-content:space-between}}
.cp-r2-detail{margin-top:14px;border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-surface);overflow:hidden}
.cp-r2-detail-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border-bottom:1px solid var(--cp-border)}
.cp-r2-detail-head h3{margin:0;font-size:14px}.cp-r2-detail-head p{margin:3px 0 0;color:var(--cp-muted);font-size:10px}.cp-r2-detail-head>span{font-size:10px;color:var(--cp-muted)}
.cp-r2-active-filter{display:flex;align-items:center;gap:8px;padding:8px 11px;background:color-mix(in srgb,var(--cp-accent) 8%,var(--cp-surface));border:1px solid color-mix(in srgb,var(--cp-accent) 28%,var(--cp-border));border-radius:10px;font-size:10px}
.cp-r2-active-filter span{color:var(--cp-muted)}.cp-r2-active-filter button{margin-left:auto;border:0;background:transparent;color:var(--cp-accent);font-weight:800;cursor:pointer}
.cp-r2-recalc-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border:1px solid color-mix(in srgb,var(--cp-accent) 32%,var(--cp-border));border-radius:11px;background:color-mix(in srgb,var(--cp-accent) 7%,var(--cp-surface));font-size:10px}.cp-r2-recalc-note strong{color:var(--cp-accent)}.cp-r2-recalc-note span{color:var(--cp-muted)}
.cp-r2-detail-loading,.cp-r2-detail-error{padding:28px;text-align:center;color:var(--cp-muted)}.cp-r2-detail-error{color:var(--cp-danger)}
.cp-r2-detail-scope{display:inline-block;margin-top:6px;padding:4px 7px;border-radius:7px;background:color-mix(in srgb,var(--cp-accent) 9%,transparent);color:var(--cp-accent);font-size:9px}
.cp-r2-detail-pages{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:10px 14px;border-top:1px solid var(--cp-border);font-size:10px;color:var(--cp-muted)}.cp-r2-detail-pages button{min-width:78px}.cp-r2-detail-pages button:disabled{opacity:.45;cursor:not-allowed}
.cp-r2-drill-table tbody tr{cursor:pointer}.cp-r2-drill-table tbody tr:focus-visible{outline:2px solid var(--cp-accent);outline-offset:-2px;background:color-mix(in srgb,var(--cp-accent) 8%,transparent)}
.cp-r2-data-tooltip{position:fixed;z-index:9999;max-width:min(320px,calc(100vw - 16px));padding:9px 11px;border:1px solid var(--cp-border);border-radius:9px;background:var(--cp-surface);color:var(--cp-text);box-shadow:var(--cp-shadow-lg);font-size:10px;line-height:1.45;white-space:pre-line;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.cp-r2-data-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}
.cp-r2-cross:empty{display:none}
.cp-r2-export{display:grid;gap:14px}.cp-r2-export-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;border-radius:18px;border:1px solid var(--cp-border);background:radial-gradient(circle at 90% 20%,var(--r2-glow),transparent 32%),linear-gradient(145deg,var(--cp-surface),var(--cp-surface-2))}
.cp-r2-export-hero span{font-size:10px;color:var(--cp-accent);font-weight:900;text-transform:uppercase;letter-spacing:.09em}.cp-r2-export-hero h2{margin:5px 0;font-size:24px}.cp-r2-export-hero p{margin:0;color:var(--cp-muted);font-size:11px;max-width:700px}
.cp-r2-export-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cp-r2-export-actions button{min-width:118px}
.cp-r2-export-selector{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:14px;align-items:end;padding:16px;border:1px solid var(--cp-border);border-radius:14px;background:var(--cp-surface)}
.cp-r2-export-selector label{display:grid;gap:6px}.cp-r2-export-selector label>span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--cp-muted);font-weight:800}.cp-r2-export-selector select{width:100%;min-height:40px;border:1px solid var(--cp-border-strong);border-radius:10px;background:var(--cp-surface-2);color:var(--cp-text);padding:0 11px}
.cp-r2-export-selector>div{display:grid;gap:4px}.cp-r2-export-selector>div strong{font-size:13px}.cp-r2-export-selector>div span{font-size:10px;color:var(--cp-muted);line-height:1.45}
.cp-r2-export-note{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed var(--cp-border-strong);border-radius:12px;font-size:10px}.cp-r2-export-note span{color:var(--cp-muted)}
.cp-r2-export-preview{display:grid;gap:12px;padding:16px;border:1px solid var(--cp-border);border-radius:14px;background:var(--cp-surface)}
.cp-r2-export-preview>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cp-r2-export-preview>header>div{display:grid;gap:4px}.cp-r2-export-preview>header span{font-size:9px;color:var(--cp-accent);font-weight:900;letter-spacing:.08em}.cp-r2-export-preview>header h3{margin:0;font-size:16px}.cp-r2-export-preview>header p{margin:0;color:var(--cp-muted);font-size:10px;max-width:850px}.cp-r2-export-preview>header>strong{font-size:10px;color:var(--cp-muted);white-space:nowrap}
.cp-r2-loading,.cp-r2-error,.cp-r2-waiting{min-height:300px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-surface)}
.cp-r2-loading span{width:34px;height:34px;border:3px solid var(--cp-border);border-top-color:var(--cp-accent);border-radius:50%;animation:r2spin .8s linear infinite}.cp-r2-loading small,.cp-r2-error p,.cp-r2-waiting p{color:var(--cp-muted)}
.cp-r2-error{border-color:color-mix(in srgb,var(--cp-danger) 45%,var(--cp-border))}
.cp-r2-export-toast{position:fixed;right:24px;bottom:24px;z-index:80;padding:11px 14px;border-radius:11px;border:1px solid var(--cp-border);background:var(--cp-surface);box-shadow:var(--cp-shadow-lg);font-size:11px}.cp-r2-export-toast.ok{border-color:var(--cp-success)}.cp-r2-export-toast.error{border-color:var(--cp-danger)}
@keyframes r2spin{to{transform:rotate(360deg)}}
@media(max-width:1350px){.cp-r2-kpis{grid-template-columns:repeat(3,1fr)}.cp-r2-domain-tabs{grid-template-columns:repeat(3,1fr)}.cp-r2-chart{grid-column:span 6}.cp-r2-chart.wide{grid-column:span 12}.cp-r2-decisions>div{grid-template-columns:1fr}}
@media(max-width:850px){.cp-r2-title{align-items:flex-start;flex-direction:column}.cp-r2-mode{width:100%}.cp-r2-mode button{flex:1}.cp-r2-domain-tabs{display:flex;overflow:auto}.cp-r2-domain-tabs>button{min-width:190px}.cp-r2-kpis{grid-template-columns:repeat(2,1fr)}.cp-r2-grid{display:block}.cp-r2-chart{margin-bottom:10px}.cp-r2-donut-wrap{grid-template-columns:135px 1fr}.cp-r2-export-selector{grid-template-columns:1fr}}
@media(max-width:560px){.cp-r2-kpis{grid-template-columns:1fr 1fr}.cp-r2-toolbar label,.cp-r2-toolbar .store{width:100%}.cp-r2-toolbar input,.cp-r2-toolbar select{width:100%}.cp-r2-toolbar>button{flex:1}.cp-r2-presets{width:100%}.cp-r2-presets button{flex:1}.cp-r2-donut-wrap{grid-template-columns:1fr}.cp-r2-donut{width:150px;margin:auto}.cp-r2-bars .cp-r2-chart-hit{grid-template-columns:95px minmax(70px,1fr) auto}.cp-r2-stacked>.cp-r2-chart-hit{grid-template-columns:95px minmax(90px,1fr) 35px}.cp-r2-export-hero{align-items:stretch;flex-direction:column}.cp-r2-export-actions button{flex:1}.cp-r2-export-note{flex-direction:column}.cp-r2-export-preview>header{flex-direction:column}}

/* Reports V2 contextual guidance + interactive drill-down */
.cp-r2-howto{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 13px;border:1px solid var(--cp-border);border-radius:13px;background:color-mix(in srgb,var(--cp-accent) 5%,var(--cp-surface));font-size:10px;color:var(--cp-muted)}
.cp-r2-howto>strong{color:var(--cp-text);font-size:11px;margin-right:2px}.cp-r2-howto span{display:flex;align-items:center;gap:5px}.cp-r2-howto b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--cp-accent) 14%,var(--cp-surface));color:var(--cp-accent)}
.cp-r2-chart>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cp-r2-chart-help{position:relative;flex:0 0 auto}.cp-r2-chart-help>button{display:grid;place-items:center;width:24px;height:24px;padding:0;border-radius:50%;border:1px solid var(--cp-border);background:transparent;color:var(--cp-muted);font-weight:900;cursor:help}
.cp-r2-chart-help>button:hover,.cp-r2-chart-help>button:focus-visible{color:var(--cp-accent);border-color:color-mix(in srgb,var(--cp-accent) 45%,var(--cp-border));outline:none}
.cp-r2-chart-help>[role="tooltip"]{position:absolute;z-index:30;right:0;top:30px;width:min(340px,78vw);padding:12px;border:1px solid var(--cp-border);border-radius:11px;background:var(--cp-surface);box-shadow:var(--cp-shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.cp-r2-chart-help:hover>[role="tooltip"],.cp-r2-chart-help:focus-within>[role="tooltip"]{opacity:1;visibility:visible;transform:translateY(0)}
.cp-r2-chart-help strong{font-size:10px}.cp-r2-chart-help p{margin:6px 0 0!important;font-size:10px!important;line-height:1.45!important}.cp-r2-chart-help b{color:var(--cp-text)}
.cp-r2-chart-guide{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid color-mix(in srgb,var(--cp-border) 65%,transparent);font-size:9px;color:var(--cp-muted);background:color-mix(in srgb,var(--cp-accent) 3%,var(--cp-surface))}
.cp-r2-chart-guide strong{color:var(--cp-accent);text-transform:uppercase;letter-spacing:.05em}
.cp-r2-chart-hit{transition:.15s ease;outline:none}.cp-r2-chart-hit:focus-visible,.cp-r2-svg-hit:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}
.cp-r2-chart-hit.selected{background:color-mix(in srgb,var(--cp-accent) 12%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cp-accent) 38%,transparent)}
.cp-r2-svg-hit.selected circle{stroke:var(--cp-accent);stroke-width:4;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--cp-accent) 70%,transparent))}
.cp-r2-axis-legend{display:flex;gap:8px 16px;flex-wrap:wrap;padding:6px 3px 0;color:var(--cp-muted);font-size:9px}.cp-r2-axis-legend b{color:var(--cp-text)}
.cp-r2-heat-legend{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:9px;font-size:9px;color:var(--cp-muted)}
.cp-r2-heat-legend i{width:18px;height:7px;border-radius:2px;background:color-mix(in srgb,var(--cp-accent) 20%,var(--cp-surface-2))}
.cp-r2-heat-legend i:nth-of-type(2){background:color-mix(in srgb,var(--cp-accent) 40%,var(--cp-surface-2))}
.cp-r2-heat-legend i:nth-of-type(3){background:color-mix(in srgb,var(--cp-accent) 60%,var(--cp-surface-2))}
.cp-r2-heat-legend i:nth-of-type(4){background:color-mix(in srgb,var(--cp-accent) 80%,var(--cp-surface-2))}
.cp-r2-heat-legend i:nth-of-type(5){background:var(--cp-accent)}
@media(max-width:850px){.cp-r2-howto{display:grid;grid-template-columns:1fr}.cp-r2-chart-help>[role="tooltip"]{right:-4px}}


.cp-r2-print-identity,.cp-r2-print-footer{display:none}

.cp-r2-print-stage{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body.cp-r2-print-mode053> *:not(.cp-r2-print-stage){display:none!important}
  body.cp-r2-print-mode053>.cp-r2-print-stage{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important}
  .cp-r2-print-stage .cp-r2-shell{position:static!important;width:100%!important;max-width:none!important;padding:0 0 18mm!important;margin:0!important;background:#fff!important;color:#102536!important}
  .cp-r2-title,.cp-r2-domain-tabs,.cp-r2-toolbar,.cp-r2-howto,.cp-r2-cross,.cp-r2-mode,.cp-r2-chart-guide,.cp-r2-detail-pages,.cp-r2-table-tools,.cp-r2-export-toast,button{display:none!important}
  .cp-r2-print-identity{display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(300px,1.2fr);gap:10px 28px;align-items:center;border-bottom:2px solid #0b91a8;padding:0 0 10px;margin:0 0 14px;break-inside:avoid}
  .cp-r2-print-brand{display:flex;align-items:center;gap:12px;min-width:0}
  .cp-r2-print-brand img{display:block!important;visibility:visible!important;max-width:82px;max-height:54px;object-fit:contain}
  .cp-r2-print-brand div{display:grid;gap:3px;min-width:0}
  .cp-r2-print-brand strong{font-size:17px;color:#0c3347}
  .cp-r2-print-brand span{font-size:10px;color:#5b7180}
  .cp-r2-print-title{display:grid;justify-items:end;gap:3px;text-align:right}
  .cp-r2-print-title h1{margin:0;font-size:21px;color:#0b2439}
  .cp-r2-print-title span{font-size:9px;color:#5b7180}
  .cp-r2-print-contact{grid-column:1/-1;display:flex!important;gap:18px;flex-wrap:wrap;font-size:8px;color:#5b7180}
  .cp-r2-print-footer{display:flex!important;position:fixed;left:10mm;right:10mm;bottom:3mm;justify-content:space-between;align-items:center;border-top:1px solid #cbdce5;padding-top:4px;font-size:7px;color:#617784;background:#fff}
  .cp-r2-print-footer strong{color:#0b3348}
  .cp-r2-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important}
  .cp-r2-kpi,.cp-r2-chart,.cp-r2-decision,.cp-r2-detail{break-inside:avoid;box-shadow:none!important;border:1px solid #d9e6ec!important}
  .cp-r2-kpi{padding:8px!important}
  .cp-r2-kpi strong{font-size:14px!important}
  .cp-r2-kpi span,.cp-r2-kpi small{font-size:7px!important}
  .cp-r2-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .cp-r2-chart.wide{grid-column:1/-1!important}
  .cp-r2-chart{padding:8px!important}
  .cp-r2-chart header h3{font-size:11px!important}
  .cp-r2-chart header p{font-size:7px!important}
  .cp-r2-table-wrap{overflow:visible!important}
  .cp-r2-table{font-size:7px!important;width:100%!important}
  .cp-r2-table th,.cp-r2-table td{padding:4px!important}
  .cp-r2-decisions{break-before:auto}
  .cp-r2-svg-scroll{overflow:visible!important}
  svg{max-width:100%!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
