@layer components {
    .dashboard-breakdown {
            background: var(--dashboard-color-surface);
            color: var(--dashboard-color-text);
        }

    .dashboard-breakdown__header {
            align-items: flex-start;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            justify-content: space-between;
            padding: var(--dashboard-section-header-padding-y) var(--dashboard-section-padding-x);
        }

    .dashboard-breakdown__tabs-scroll {
            border-top: 0;
        }

    .dashboard-breakdown__tab {
            flex-shrink: 0;
        }

    .dashboard-breakdown__panel {
            --dashboard-breakdown-panel-height: clamp(22rem, 62vw, 28rem);
            align-items: stretch;
            display: grid;
            grid-template-columns: minmax(0, 1fr);
        }

    .dashboard-breakdown__panel[hidden] {
            display: none;
        }

    .dashboard-breakdown__chart-column {
            padding: 1.5rem var(--dashboard-section-padding-x);
        }

    .dashboard-breakdown__chart-wrap {
            container-type: inline-size;
            height: clamp(17rem, 70vw, 26rem);
            margin: 0 auto;
            max-width: 34rem;
            position: relative;
        }

    .dashboard-breakdown__chart {
            height: 100%;
            width: 100%;
        }

    .dashboard-breakdown__chart-center {
            align-items: center;
            display: none;
            flex-direction: column;
            inset: 50% auto auto 50%;
            pointer-events: none;
            position: absolute;
            text-align: center;
            transform: translate(-50%, -50%);
            width: min(16rem, 62%);
        }

    .dashboard-breakdown__chart-label {
            color: var(--dashboard-color-text-muted);
            font-size: 0.875rem;
            font-weight: 500;
            line-height: 1.25;
        }

    .dashboard-breakdown__chart-value {
            color: var(--dashboard-color-text);
            font-size: clamp(1.125rem, 6.5cqw, 2rem);
            font-weight: 500;
            letter-spacing: 0;
            line-height: 1.2;
            margin-top: 0.375rem;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

    @supports not (font-size: 1cqw) {
        .dashboard-breakdown__chart-value {
                    font-size: clamp(1.125rem, 2.5vw, 2rem);
                }
    }

    .dashboard-breakdown__legend-column {
            border-top: 1px solid var(--dashboard-color-border);
            display: flex;
            flex-direction: column;
            min-height: 100%;
            min-width: 0;
        }

    .dashboard-breakdown__legend-list {
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
            height: clamp(16rem, 56vw, 22rem);
            min-height: 0;
            overflow-y: scroll;
            overscroll-behavior: contain;
            padding: 0.5rem 0;
            scrollbar-gutter: stable;
            scrollbar-color: var(--dashboard-color-border-strong) transparent;
            scrollbar-width: thin;
        }

    .dashboard-breakdown__legend-list::-webkit-scrollbar {
            width: 0.5rem;
        }

    .dashboard-breakdown__legend-list::-webkit-scrollbar-track {
            background: transparent;
        }

    .dashboard-breakdown__legend-list::-webkit-scrollbar-thumb {
            background: var(--dashboard-color-border-strong);
            border: 0.125rem solid var(--dashboard-color-surface);
            border-radius: var(--dashboard-radius-pill);
        }

    .dashboard-breakdown__legend-item {
            --dashboard-breakdown-item-color: var(--dashboard-color-brand);
            background: transparent;
            border: 0;
            color: var(--dashboard-color-text);
            cursor: pointer;
            display: grid;
            gap: 0.875rem;
            grid-template-columns: auto minmax(0, 1fr) auto;
            padding: 0.875rem var(--dashboard-section-padding-x);
            text-align: left;
            width: 100%;
        }

    .dashboard-breakdown__legend-item:hover,
        .dashboard-breakdown__legend-item:focus-visible,
        .dashboard-breakdown__legend-item.is-active {
            background: var(--dashboard-color-pill);
            outline: 0;
        }

    .dashboard-breakdown__legend-dot {
            background: var(--dashboard-breakdown-item-color);
            border-radius: var(--dashboard-radius-pill);
            height: 0.625rem;
            margin-top: 0.375rem;
            width: 0.625rem;
        }

    .dashboard-breakdown__legend-main {
            min-width: 0;
        }

    .dashboard-breakdown__legend-name {
            color: var(--dashboard-color-text);
            display: block;
            font-size: 0.9375rem;
            font-weight: 650;
            line-height: 1.3;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

    .dashboard-breakdown__legend-value {
            color: var(--dashboard-color-text-muted);
            display: block;
            font-size: 0.8125rem;
            font-weight: 500;
            line-height: 1.25;
            margin-top: 0.25rem;
        }

    .dashboard-breakdown__legend-progress {
            background: var(--dashboard-color-pill);
            border-radius: var(--dashboard-radius-pill);
            display: block;
            height: 0.375rem;
            margin-top: 0.625rem;
            overflow: hidden;
            max-width: 10rem;
            width: 100%;
        }

    .dashboard-breakdown__legend-progress-fill {
            background: var(--dashboard-breakdown-item-color);
            border-radius: inherit;
            display: block;
            height: 100%;
            min-width: 0.375rem;
        }

    .dashboard-breakdown__legend-percent {
            color: var(--dashboard-color-text);
            font-size: 0.9375rem;
            font-weight: 500;
            line-height: 1.3;
            white-space: nowrap;
        }

    .dashboard-breakdown__empty {
            color: var(--dashboard-color-text-muted);
            font-size: 0.875rem;
            padding: 1rem var(--dashboard-section-padding-x);
        }

    @media (min-width: 48rem) {
        .dashboard-breakdown__panel {
                    grid-template-columns: minmax(0, 0.95fr) minmax(15rem, 1fr);
                    height: var(--dashboard-breakdown-panel-height);
                    max-height: var(--dashboard-breakdown-panel-height);
                    overflow: hidden;
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__chart-column {
                    align-items: center;
                    display: flex;
                    height: 100%;
                    justify-content: center;
                    min-height: 0;
                    min-width: 0;
                    padding: 1.5rem var(--dashboard-section-padding-x);
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__chart-wrap {
                    height: min(100%, clamp(16rem, 30vw, 21rem));
                    max-height: calc(var(--dashboard-breakdown-panel-height) - 3rem);
                    width: 100%;
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__legend-column {
                    border-left: 1px solid var(--dashboard-color-border);
                    border-top: 0;
                    height: 100%;
                    min-height: 0;
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__legend-list {
                    height: 100%;
                    max-height: 100%;
                    overflow-y: scroll;
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__header {
                    align-items: center;
                    flex-direction: row;
                    padding: var(--dashboard-section-header-padding-y-lg) var(--dashboard-section-padding-x-lg);
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__panel {
                    --dashboard-breakdown-panel-height: clamp(24rem, 36vw, 29rem);
                    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.8fr);
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__chart-column {
                    padding: 2rem var(--dashboard-section-padding-x-lg);
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__chart-wrap {
                    height: min(100%, clamp(17rem, 24vw, 22rem));
                    max-height: calc(var(--dashboard-breakdown-panel-height) - 4rem);
                    width: 100%;
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__legend-item,
                .dashboard-breakdown__empty {
                    padding-left: var(--dashboard-section-padding-x-lg);
                    padding-right: var(--dashboard-section-padding-x-lg);
                }
    }

    @media (min-width: 48rem) {
        .dashboard-breakdown__legend-list {
                    height: 100%;
                    max-height: 100%;
                    overflow-y: scroll;
                }
    }
}
