#case .case-chart path { cursor: pointer; }
#case .case-charts { margin-top: 32px; }
#case .case-decision-chart { padding: 28px; margin-bottom: 24px; background: white; border: 1px solid #e5eaf0; border-radius: 8px; }
#case .case-decision-chart__total { color: #778397; margin: -8px 0 24px; }
#case .case-decision-chart__headers, #case .case-decision-chart__row { display: grid; grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr); align-items: center; }
#case .case-decision-chart__headers { color: #68768b; text-align: center; margin-bottom: 12px; }
#case .case-decision-chart__row { min-height: 46px; }
#case .case-decision-chart__name { text-align: center; padding: 0 8px; color: #1b3159; }
#case .case-decision-chart__count, #case .case-decision-chart__amount { display: flex; align-items: center; gap: 10px; }
#case .case-decision-chart__count { color: #348be0; padding-right: 10px; border-right: 1px solid #eef1f5; }
#case .case-decision-chart__amount { color: #ed9714; padding-left: 10px; border-left: 1px solid #eef1f5; }
#case .case-decision-chart__number { flex: 0 0 48px; text-align: center; font-variant-numeric: tabular-nums; }
#case .case-decision-chart__track { flex: 1; height: 22px; }
#case .case-decision-chart__track i { display: block; height: 100%; border-radius: 4px; }
#case .case-decision-chart__count i { margin-left: auto; background: #348be0; }
#case .case-decision-chart__amount i { background: #f0a01e; }
@media (max-width: 767px) {
    #case .case-decision-chart { padding: 20px 12px; }
    #case .case-decision-chart .case-charts__heading { line-height: 1.5; }
    #case .case-decision-chart__total { margin-bottom: 18px; }
    #case .case-decision-chart__scroll, #case .case-decision-chart__plot { width: 100%; min-width: 0; }
    #case .case-decision-chart__headers, #case .case-decision-chart__row { grid-template-columns: minmax(0, 1fr) 88px minmax(0, 1fr); }
    #case .case-decision-chart__headers { line-height: 1.6; }
    #case .case-decision-chart__row { min-height: 44px; }
    #case .case-decision-chart__name { padding: 0 3px; line-height: 1.5; overflow-wrap: anywhere; }
    #case .case-decision-chart__count, #case .case-decision-chart__amount { min-width: 0; gap: 4px; }
    #case .case-decision-chart__count { padding-right: 4px; }
    #case .case-decision-chart__amount { padding-left: 4px; }
    #case .case-decision-chart__number { flex: 0 0 34px; white-space: nowrap; }
    #case .case-decision-chart__count .case-decision-chart__number { flex-basis: 22px; }
    #case .case-decision-chart__track { min-width: 0; height: 16px; }
}
#case .case-charts__heading { color: #1b3159; margin-bottom: 20px; }
#case .case-charts__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
#case .case-chart { min-width: 0; padding: 22px 18px; background: #fff; border: 1px solid #e5eaf0; border-radius: 8px; }
#case .case-chart h4 { text-align: center; color: #1b3159; }
#case .case-chart-total { color: #7b8797; text-align: center; margin-top: 8px; }
#case #case-pie-projects, #case #case-pie-amount { width: 100%; max-width: 400px; min-width: 0; aspect-ratio: 1; margin: 16px auto 0; }
#case .case-pie-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#case .case-pie-detail { display: none; }
#case .case-pie-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 24px; margin-top: 24px; padding: 0; list-style: none; }
#case .case-pie-legend li { display: flex; align-items: baseline; gap: 8px; line-height: 1.6; color: #263d60; }
#case .case-pie-legend button { display: flex; align-items: baseline; gap: 8px; width: 100%; padding: 3px 8px; border: 1px solid transparent; border-radius: 5px; background: transparent; font: inherit; color: inherit; text-align: left; cursor: pointer; }
#case .case-pie-legend button:hover { background: #f2f6fc; }
#case .case-pie-legend button[aria-pressed="true"] { background: #eaf2fc; border-color: #348be0; color: #1b467a; font-weight: 600; }
#case .case-pie-legend button:focus-visible { outline: 2px solid #348be0; outline-offset: 2px; }
#case .case-pie-legend i { flex: 0 0 12px; height: 12px; border-radius: 2px; }
#case .case-chart table { width: 100%; border-collapse: collapse; line-height: 1.6; }
#case .case-chart th, #case .case-chart td { padding: 7px 3px; border-bottom: 1px solid #eef1f5; }
#case .case-chart thead { background: #f3f6fa; color: #1b3159; }
#case .case-chart th { font-weight: 400; text-align: left; }
#case .case-chart td { text-align: right; white-space: nowrap; color: #4c5d75; }
#case .case-chart thead th:not(:first-child) { text-align: right; white-space: nowrap; }
#case .case-chart th i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border: 1px solid #dde3eb; }
#case .case-charts__note { line-height: 1.8; color: #778397; margin-top: 16px; }
#case .case-bar { margin-top: 26px; }
#case .case-bar__label { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; color: #1b3159; margin-bottom: 10px; }
#case .case-bar__label strong { font-weight: 500; white-space: nowrap; }
#case .case-bar__track { height: 22px; background: #f1f4f8; border-radius: 3px; overflow: hidden; }
#case .case-bar__fill { display: block; height: 100%; background: #255e9e; }
#case .case-bar--province .case-bar__fill { background: #b99057; }
#case .case-bar__scale { display: flex; justify-content: space-between; color: #7b8797; margin-top: 12px; }
@media (max-width: 767px) {
    #case .case-charts__grid { gap: 10px; }
    #case .case-pie-detail { display: block; margin-top: 14px; padding: 12px 14px; border: 1px solid #cddced; border-left: 4px solid var(--category-color, #348be0); border-radius: 8px; background: #f4f8fd; color: #1b3159; box-shadow: 0 3px 12px rgba(27,49,89,.06); }
    #case .case-pie-detail [hidden] { display: none; }
    #case .case-pie-detail__hint { line-height: 1.7; }
    #case .case-pie-detail__header { display: flex; align-items: flex-start; gap: 8px; }
    #case .case-pie-detail__name { flex: 1; padding-top: 8px; line-height: 1.5; overflow-wrap: anywhere; }
    #case .case-pie-detail__close { flex: 0 0 44px; height: 44px; border: 0; border-radius: 6px; background: transparent; color: #52627a; cursor: pointer; }
    #case .case-pie-detail__close:focus-visible { outline: 2px solid #348be0; }
    #case .case-pie-detail__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
    #case .case-pie-detail__metrics span { color: #52627a; }
    #case .case-pie-detail__metrics p { margin: 5px 0; }
    #case .case-pie-detail__metrics strong { font-weight: 600; font-variant-numeric: tabular-nums; }
    #case .case-pie-detail__metrics small { color: #52627a; }
    #case .case-chart { padding: 16px 6px; }
    #case .case-pie-legend { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
    #case .case-pie-legend button { padding: 6px 8px; }
}
