.analysis-panel { grid-column:2 / -1; min-width:0; padding:24px; background:#fff; border:1px solid #e6dbe3; border-radius:16px; color:#493943; }
.analysis-panel h1 { margin:0; font-size:24px; color:#af417b; }
.analysis-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:18px; }
.analysis-toolbar label { display:flex; align-items:center; gap:8px; margin-left:auto; }
.analysis-toolbar select, .analysis-toolbar button { min-height:40px; border:1px solid #d7bccb; border-radius:8px; background:#fff; color:inherit; padding:8px 12px; font:inherit; }
.analysis-toolbar button { cursor:pointer; background:#fbecf4; }
.analysis-note { font-size:13px; line-height:1.8; }
.analysis-status { padding:14px; background:#fcf2f7; border-radius:8px; font-weight:600; }
.analysis-table-scroll { overflow:auto; }
.analysis-panel table { border-collapse:collapse; width:100%; min-width:610px; font-size:14px; }
.analysis-panel th, .analysis-panel td { padding:12px; border:1px solid #e6dbe3; }
.analysis-panel th { text-align:left; }
.analysis-panel td { text-align:right; font-variant-numeric:tabular-nums; }
.analysis-panel thead th { text-align:center; white-space:nowrap; }
.analysis-panel tbody th, .analysis-panel tfoot th { white-space:nowrap; }
.analysis-panel thead, .analysis-panel tfoot { background:#f8eaf2; }
.analysis-panel tbody tr:nth-child(even) { background:#fdf9fb; }
@media(max-width:760px) { .analysis-panel { grid-column:1 / -1; padding:16px; } .analysis-toolbar label { margin-left:0; flex-wrap:wrap; } }

.analysis-title-group { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.analysis-toolbar .analysis-grade-filter { margin-left:0; }

.analysis-toolbar > button[data-analysis-refresh] { margin-left:auto; }

.analysis-chart { margin:24px 0; padding:20px; border:1px solid #e6dbe3; border-radius:12px; }
.analysis-chart h2, .analysis-detail h2 { margin:0 0 8px; font-size:18px; }
.analysis-chart p { margin:0 0 14px; color:#766570; font-size:13px; }
.analysis-chart-legend { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 12px; padding:0; list-style:none; font-size:13px; }
.analysis-chart-legend li { display:flex; align-items:center; gap:6px; }
.analysis-chart-legend span { width:12px; height:12px; border-radius:3px; }
.analysis-chart-scroll { overflow-x:auto; }
.analysis-chart svg { display:block; width:100%; max-height:400px; }
.analysis-chart svg text { fill:#574953; font-size:12px; font-family:inherit; }
.analysis-chart svg .analysis-bar-total { font-weight:700; }
.analysis-detail h2 { margin-bottom:12px; }
.analysis-panel .analysis-prefecture-cell { background:#faf3f7; vertical-align:top; min-width:86px; }
.analysis-panel .analysis-subtotal { background:#f5edf2; font-weight:600; }
.analysis-panel tbody + tbody { border-top:2px solid #d7bccb; }
.analysis-panel td:last-child { font-weight:700; background:#af417b08; }
.analysis-table-scroll, .analysis-chart-scroll { scrollbar-width:thin; }
@media(max-width:760px) { .analysis-chart { padding:12px; } .analysis-panel th, .analysis-panel td { padding:10px; } }
