/* All four views occupy a single fixed chart stage. */
.portal-analytics{min-width:0}.portal-analytics .portal-analytics-description{margin-bottom:16px}.portal-analytics-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 12px;border-bottom:1px solid var(--line)}.portal-analytics-tabs{display:flex;gap:18px;overflow-x:auto;scrollbar-width:thin;flex:1;min-width:0}.portal-analytics-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:9px 0 11px;white-space:nowrap;color:#8fa5ad;font:11px var(--font);cursor:pointer}.portal-analytics-tabs button[aria-selected=true]{color:var(--lime);border-bottom-color:var(--lime)}.portal-analytics-tabs button:hover{color:var(--ink)}.portal-analytics-tabs button:focus-visible,.portal-analytics-toggle:focus-visible{outline:1px solid var(--lime);outline-offset:-2px}.portal-analytics-toggle{flex:none;border:1px solid #ffffff20;border-radius:4px;background:#ffffff04;color:#adc1b0;width:28px;height:28px;font-size:12px;cursor:pointer}.portal-analytics-stage{height:178px;min-width:0;overflow:hidden;animation:portal-view-in .4s ease}.portal-line-chart{width:100%;height:100%}.portal-line-chart svg{display:block;width:100%;height:100%;overflow:visible}.portal-grid-line{stroke:#ffffff0a;stroke-width:1}.portal-value-label,.portal-month-label{fill:#93a89e;font:9px var(--font);text-anchor:middle}.portal-performance-line{stroke:#c2f970;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:portal-line-reveal 1.4s ease both}.portal-chart-point{fill:#c2f970;stroke:#0d141b;stroke-width:1.5}.portal-chart-bar{transform-box:fill-box;transform-origin:center bottom;animation:portal-bar-breathe 4s ease-in-out infinite;animation-delay:var(--bar-delay)}.portal-moving-point{fill:#e1ffb8;filter:drop-shadow(0 0 4px #c2f970);offset-rotate:0deg;animation:portal-trace 5s ease-in-out infinite}.portal-chart-scan{animation:portal-scan 6s linear infinite}.portal-analytics-foot{display:flex;justify-content:space-between;align-items:start;gap:15px;font-size:10px;line-height:1.8;color:#849aa6;margin-top:14px}.portal-analytics-position{flex:none;font-size:8px;color:#8ca27e;letter-spacing:1px}.portal-cost-layout{height:100%;display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;max-width:560px;margin:auto}.portal-donut{height:178px;position:relative;min-width:0}.portal-donut svg{width:100%;height:100%}.portal-donut-track{fill:none;stroke:#ffffff08;stroke-width:17}.portal-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none}.portal-donut-center small{font-size:6px;letter-spacing:1px;color:#92a7a5}.portal-donut-center strong{font:20px var(--font);font-weight:400;letter-spacing:-.5px}.portal-donut-segment{animation:portal-donut-in .85s ease both;animation-delay:var(--segment-delay)}.portal-cost-legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.portal-cost-legend li{display:flex;align-items:center;gap:9px;font-size:11px;color:#a5b7b6}.portal-cost-legend strong{font-size:10px;font-weight:400;color:#c4d2c3;margin-left:auto}.portal-cost-dot{display:inline-block;width:6px;height:6px;flex:none;border-radius:2px;background:var(--cost-color);margin-right:4px}.portal-table-wrap{height:100%;overflow:auto}.portal-cost-table{width:100%;border-collapse:collapse;font-size:10px;text-align:left}.portal-cost-table th{font-weight:400}.portal-cost-table td,.portal-cost-table th{padding:5px 9px;border-bottom:1px solid #ffffff0a;white-space:nowrap;line-height:1.3}.portal-cost-table thead{font-size:9px;color:#7e98a0}.portal-cost-table tbody th{color:#b4c6c2}.portal-cost-table td{text-align:right;color:#9db1ad}.portal-cost-table th:not(:first-child){text-align:right}.portal-cost-table tfoot td,.portal-cost-table tfoot th{border-bottom:0;color:var(--lime);padding-top:9px}.portal-savings{height:100%;display:grid;grid-template-rows:72px 85px 18px;gap:1px}.portal-savings-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-savings-cards>div{padding:9px 12px;border:1px solid #c2f97022;background:#c2f97004;border-radius:5px}.portal-savings-cards small{display:block;font-size:9px;color:#8da99e}.portal-savings-cards strong{display:block;font:23px var(--font);font-weight:400;letter-spacing:-.6px;color:var(--lime);margin:3px 0}.portal-savings-cards span{display:block;font-size:8px;color:#819b8b}.portal-savings-chart{min-height:0}.portal-savings-chart .portal-value-label{font-size:8px}.portal-savings-baseline{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#819b92;line-height:1.5}.portal-motion-paused *{animation-play-state:paused!important}
@keyframes portal-bar-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.94)}}@keyframes portal-trace{0%,10%{offset-distance:0%;opacity:0}15%{opacity:1}90%{opacity:1}100%{offset-distance:100%;opacity:0}}@keyframes portal-line-reveal{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes portal-scan{from{transform:translateX(-35px)}to{transform:translateX(720px)}}@keyframes portal-donut-in{from{opacity:0;stroke-width:8}to{opacity:1;stroke-width:17}}@keyframes portal-view-in{from{opacity:.6}to{opacity:1}}
@media(max-width:600px){.portal-analytics-tabs{gap:15px}.portal-analytics-tabs button{font-size:10px}.portal-cost-layout{gap:10px;grid-template-columns:1fr 1.1fr}.portal-donut-center strong{font-size:16px}.portal-cost-legend li{font-size:9px;gap:5px}.portal-cost-legend{gap:14px}.portal-savings-cards strong{font-size:20px}.portal-analytics-foot{font-size:9px}.portal-savings-baseline{font-size:7px}.portal-cost-table td,.portal-cost-table th{padding:5px}.portal-analytics-stage{height:178px}}
@media(prefers-reduced-motion:reduce){.portal-analytics *{animation:none!important}.portal-moving-point,.portal-chart-scan{display:none}}
.portal-motion-paused .portal-performance-line,.portal-motion-paused .portal-donut-segment{animation:none!important}

/* Preserve the original chart footprint while tabs rotate the contents. */
.portal-analytics h3{margin:0 0 10px}.portal-analytics .portal-analytics-description{margin:0 0 9px}.portal-analytics-toolbar{margin-bottom:8px}.portal-analytics-tabs button{padding:6px 0 8px}.portal-analytics-stage,.portal-donut{height:130px}.portal-analytics-foot{margin-top:10px}.portal-cost-legend{gap:10px}.portal-donut-center strong{font-size:18px}.portal-cost-table td,.portal-cost-table th{padding:4px 9px;font-size:9px}.portal-cost-table tfoot td,.portal-cost-table tfoot th{padding-top:6px}.portal-savings{grid-template-rows:65px 47px 16px}.portal-savings-cards>div{padding:7px 11px}.portal-savings-cards strong{font-size:21px}.portal-savings-chart .portal-value-label,.portal-savings-chart .portal-month-label{display:none}.portal-savings-chart .portal-chart-bar{opacity:.55}.portal-savings-chart svg{padding:4px 0}.portal-savings-baseline{align-items:end}@media(max-width:600px){.portal-analytics-stage{height:130px}.portal-donut-center strong{font-size:15px}.portal-donut-center small{font-size:5px}.portal-cost-legend{gap:10px}.portal-cost-table td,.portal-cost-table th{padding:4px}.portal-savings-cards strong{font-size:18px}.portal-savings-cards small{font-size:8px}.portal-savings-cards span{font-size:7px}}
