/* Scoped dashboard design tokens: do not style the company footer or theme. */
.cp-dashboard{--cp-ink:#163f63;--cp-text:#30465a;--cp-muted:#53697d;--cp-bg:#fff;--cp-soft:#f0f5f9;--cp-line:#d4e0e9;margin:22px 0;color:var(--cp-text);font:14px/1.65 system-ui,"Microsoft YaHei",sans-serif;background:var(--cp-bg);padding:18px;border:1px solid var(--cp-line);border-radius:8px;min-width:0;color-scheme:light}
.cp-dashboard[data-cp-theme=dark]{--cp-ink:#a8ccec;--cp-text:#dce6f1;--cp-muted:#aac0d3;--cp-bg:#132636;--cp-soft:#1b3246;--cp-line:#354c61;color-scheme:dark}
.cp-dashboard *{box-sizing:border-box}.cp-dashboard .cp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--cp-line);border:1px solid var(--cp-line);margin:0 0 12px}.cp-dashboard .cp-stat{background:var(--cp-soft);padding:14px 16px}.cp-dashboard .cp-stat strong{display:block;font-size:30px;line-height:1.25;color:var(--cp-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cp-dashboard .cp-stat span{display:block;font-size:13px;margin-top:6px}.cp-dashboard .cp-stat small{display:block;font-size:11px;color:var(--cp-muted)}
.cp-dashboard .cp-note,.cp-dashboard .cp-source{font-size:12px;line-height:1.65;color:var(--cp-muted);margin:6px 0 12px}.cp-dashboard .cp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--cp-line);padding-bottom:12px;margin:15px 0 20px}.cp-dashboard .cp-tabs{display:flex;gap:6px;flex-wrap:wrap}.cp-dashboard button,.cp-dashboard input,.cp-dashboard select{font:inherit;font-size:13px;color:var(--cp-ink);border:1px solid var(--cp-line);background:var(--cp-bg);border-radius:4px;padding:6px 10px;max-width:100%}.cp-dashboard button{cursor:pointer}.cp-dashboard button[aria-pressed=true]{background:var(--cp-ink);color:var(--cp-bg);border-color:var(--cp-ink)}.cp-dashboard :is(button,select,input,a,summary,[tabindex]):focus-visible{outline:3px solid #ad7b33;outline-offset:3px}.cp-dashboard .cp-control{font-size:12px;color:var(--cp-muted);display:inline-flex;align-items:center;gap:5px}.cp-dashboard .cp-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cp-dashboard .cp-card{min-width:0;margin:0}.cp-dashboard .cp-card h3{font-size:17px;line-height:1.5;margin:0 0 7px;color:var(--cp-ink)}.cp-dashboard .cp-card p{font-size:13px;margin:8px 0 12px}.cp-dashboard .cp-card .cp-note{font-size:12px}.cp-dashboard .cp-wide{grid-column:1/-1}.cp-dashboard .cp-chart{width:100%;height:335px;min-width:0}.cp-dashboard .cp-comparison{height:380px}.cp-dashboard .cp-composition{height:248px}.cp-dashboard .cp-tall{height:700px}.cp-dashboard .cp-sample{font-size:13px;color:var(--cp-muted);font-variant-numeric:tabular-nums}.cp-dashboard .cp-stage-strip{display:flex;flex-wrap:wrap;gap:6px 20px;font-variant-numeric:tabular-nums;font-size:13px}.cp-dashboard .cp-stage-strip span{border-left:3px solid var(--cp-line);padding-left:9px}.cp-dashboard .cp-more{display:inline-block;color:var(--cp-ink);margin-top:12px;font-size:13px}.cp-dashboard .cp-window-table{margin:12px 0;width:100%;font-size:13px;border-collapse:collapse}.cp-dashboard .cp-window-table :is(td,th){padding:7px;border-bottom:1px solid var(--cp-line);text-align:right}.cp-dashboard .cp-window-table tr>:first-child{text-align:left}.cp-dashboard caption{caption-side:top;text-align:left;font-size:12px;color:var(--cp-muted);padding:8px 0}
.cp-dashboard .cp-map{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,38px);gap:4px;margin:12px 0}.cp-dashboard .cp-map button{min-width:0;padding:2px 0;line-height:1.15;color:#173f60;background:#edf3f8;border-color:#c7d8e6}.cp-dashboard .cp-map strong{font-size:11px;display:block}.cp-dashboard .cp-map small{font-size:10px;display:block;margin-top:2px}.cp-dashboard .cp-map [data-level="1"]{background:#e2ecf5}.cp-dashboard .cp-map [data-level="2"]{background:#cbdfed}.cp-dashboard .cp-map [data-level="3"]{background:#a6cada}.cp-dashboard .cp-map [data-level="4"]{background:#174a78;color:#fff}.cp-dashboard .cp-map button[aria-pressed=true]{outline:3px solid #ad7b33;outline-offset:1px}.cp-dashboard .cp-selection{background:var(--cp-soft);padding:8px 12px;color:var(--cp-ink);min-height:44px}.cp-dashboard .cp-cloud{display:flex;align-content:center;justify-content:center;align-items:center;gap:10px 17px;flex-wrap:wrap;min-height:335px;padding:18px 6px}.cp-dashboard .cp-cloud button{font-size:var(--word-size);line-height:1.25;font-weight:600;border:0;border-bottom:2px solid transparent;background:transparent;padding:2px}.cp-dashboard .cp-cloud button[aria-pressed=true],.cp-dashboard .cp-cloud button:hover{border-bottom-color:currentColor}
.cp-dashboard .cp-data{border-top:1px solid var(--cp-line);padding-top:14px;margin-top:20px}.cp-dashboard .cp-data summary{cursor:pointer;color:var(--cp-ink);font-weight:600;font-size:13px}.cp-dashboard .cp-table-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.cp-dashboard .cp-table-tools[hidden]{display:none}.cp-dashboard .cp-table-tools input{width:190px;min-width:120px}.cp-dashboard .cp-data-scroll{overflow:auto;max-height:540px;max-width:100%;border:1px solid var(--cp-line);border-radius:4px}.cp-dashboard .cp-data table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.5;min-width:520px}.cp-dashboard .cp-data caption{padding:8px 10px}.cp-dashboard .cp-data :is(th,td){padding:8px 10px;border-bottom:1px solid var(--cp-line);text-align:left;white-space:nowrap;font-weight:400}.cp-dashboard .cp-data thead th{background:var(--cp-soft);position:sticky;top:0;font-weight:600;z-index:1}.cp-dashboard .cp-data tbody tr:nth-child(even){background:var(--cp-soft)}.cp-dashboard .cp-data thead button{padding:0;border:0;font-weight:600;background:none;color:inherit}.cp-dashboard .cp-data .cp-numeric{text-align:right;font-variant-numeric:tabular-nums}.cp-dashboard .cp-downloads{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;font-size:12px}.cp-dashboard a{color:var(--cp-ink);text-underline-offset:3px}.cp-dashboard .cp-skeleton{min-height:430px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--cp-soft);border-radius:4px;text-align:center;padding:20px}.cp-dashboard[data-crid-dashboard=full] .cp-skeleton{min-height:960px}.cp-dashboard .cp-skeleton span{font-size:12px;color:var(--cp-muted)}
@media(max-width:760px){.cp-dashboard{padding:12px;margin-block:16px}.cp-dashboard .cp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-dashboard .cp-stat{padding:12px}.cp-dashboard .cp-stat strong{font-size:25px}.cp-dashboard .cp-toolbar{gap:10px}.cp-dashboard .cp-tabs button{padding:6px 9px;font-size:12px}.cp-dashboard .cp-panel{grid-template-columns:1fr;gap:22px}.cp-dashboard .cp-chart{height:335px}.cp-dashboard .cp-comparison{height:400px}.cp-dashboard .cp-composition{height:270px}.cp-dashboard .cp-tall{height:730px}.cp-dashboard .cp-card h3{font-size:16px}.cp-dashboard .cp-map{gap:3px;grid-template-rows:repeat(8,36px)}.cp-dashboard .cp-map strong{font-size:10px}.cp-dashboard .cp-cloud button{font-size:min(var(--word-size),29px)}.cp-dashboard .cp-control{flex-wrap:wrap}.cp-dashboard .cp-table-tools{align-items:flex-start}.cp-dashboard .cp-table-tools input{width:100%}.cp-dashboard[data-crid-dashboard=full] .cp-skeleton{min-height:1470px}}
@media(prefers-reduced-motion:reduce){.cp-dashboard *{animation:none!important;transition:none!important}}
/* Reserve the measured initial panel before its lazy-loaded SVG is available.
   Release the reservation only after a deliberate tab change. */
.cp-dashboard{--cp-reserve:520px}.cp-dashboard[data-crid-dashboard=full]{--cp-reserve:1100px}.cp-dashboard .cp-mount,.cp-dashboard .cp-skeleton,.cp-dashboard[data-crid-dashboard=full] .cp-skeleton{min-height:var(--cp-reserve)}.cp-dashboard[data-engaged=true] .cp-mount{min-height:0}
@media(max-width:760px){.cp-dashboard{--cp-reserve:900px}.cp-dashboard[data-crid-dashboard=full]{--cp-reserve:1550px}}
@media(max-width:500px){.cp-dashboard{--cp-reserve:960px}.cp-dashboard[data-crid-dashboard=full]{--cp-reserve:1640px}}
@media(max-width:420px){.cp-dashboard{--cp-reserve:1010px}.cp-dashboard[data-crid-dashboard=full]{--cp-reserve:1740px}}
.cp-dashboard .cp-mount{display:flow-root}
