/* 経営ダッシュボード。UI設計指針 11 に合わせ、全ブロックを 66 文字幅でそろえる。数字は桁ぞろえ、列幅は文字数で固定する。 */
.dashboard{min-width:0}.dashboard>*,.dashboard .dash-block{max-width:66em}
.dash-filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:12px}
.dash-filters label{display:grid;gap:5px;font-size:var(--font-xs);color:var(--muted)}.dash-filters select{width:auto;min-width:14em}.dash-filters input[type=month]{width:calc(9em + 26px)}.dash-asof{margin-left:auto;align-self:center}
.dash-block{margin:0 0 18px}.dash-block h2{font-size:var(--font-lg);margin:0 0 6px}.dash-block h3{font-size:var(--font-md);margin:14px 0 6px;color:var(--heading)}.dash-block>.small{margin:6px 0 0;color:var(--muted)}
.dash-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0}.dash-cards-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-cards>div{padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}
.dash-cards small{display:block;color:var(--muted);font-size:var(--font-xs)}.dash-cards strong{display:block;font-size:23px;line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dash-cards-5 strong{font-size:21px}.dash-sub{display:block;font-size:var(--font-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.dash-tabs{display:flex;gap:6px;margin:4px 0 10px}.dash-tabs button{min-width:7em}.dash-tabs button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.dash-chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:8px}.dash-chart{display:block;width:100%;height:auto;font-size:11px}
.dash-grid{stroke:var(--line);stroke-width:1}.dash-axis{fill:var(--muted);font-size:11px}
.dash-bar.bar-a,.dash-swatch.bar-a{fill:#2f6f8f;background:#2f6f8f}.dash-bar.bar-b,.dash-swatch.bar-b{fill:#9bbfd1;background:#9bbfd1}
.dash-line{fill:none;stroke-width:2.5}.dash-line.line-a,.dash-dot.line-a{stroke:#c0742a;fill:#c0742a}.dash-swatch.line-a{background:#c0742a}.dash-line.line-b,.dash-dot.line-b{stroke:var(--red);fill:var(--red)}.dash-swatch.line-b{background:var(--red)}
.dash-line.line-a{fill:none}.dash-line.line-b{fill:none}
.dash-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:var(--font-xs);color:var(--muted)}.dash-legend span{display:inline-flex;align-items:center;gap:5px}.dash-swatch{display:inline-block;width:12px;height:12px;border-radius:2px}.dash-swatch.line{height:3px;border-radius:0}
.dash-trend-scroll{margin-top:10px;max-width:100%}.dash-trend-table{table-layout:fixed;width:96em}.dash-trend-table col.c-label{width:12em}.dash-trend-table col.c-month{width:7em}.dash-trend-table th:first-child{position:sticky;left:0;background:var(--surface);z-index:1;box-shadow:1px 0 #e4e9ec}.dash-trend-table th{white-space:nowrap}.dash-trend-table th[scope=row]{text-align:left;overflow:hidden;text-overflow:ellipsis}
.dash-num,.dash-compare td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dash-compare{width:auto;table-layout:fixed}.dash-compare col.c-name{width:14em}.dash-compare col.c-4{width:4.5em}.dash-compare col.c-5{width:6em}.dash-compare col.c-6{width:6.5em}.dash-compare col.c-7{width:8em}.dash-compare col.c-8{width:9em}
.dash-compare th{white-space:nowrap}.dash-compare th[scope=row]{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-compare .dash-total th,.dash-compare .dash-total td{font-weight:700;border-top:2px solid var(--line)}
@media(max-width:800px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash-cards>div{padding:9px}.dash-cards strong{font-size:20px}.dash-filters select{min-width:0;width:100%}.dash-asof{margin-left:0}.dash-chart-wrap{overflow-x:auto}.dash-chart{min-width:640px}.dash-tabs button{flex:1;min-width:0}.dash-compare{table-layout:auto;width:100%}.dash-compare col{width:auto}}
@media print{.dash-filters{display:none}.dash-block{break-inside:avoid}}
/* v0.13.15: 施設の複数選択と日別の推移 */
.dash-facility-set{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;border:0;min-width:0}.dash-facility-set legend{font-size:var(--font-xs);color:var(--muted);padding:0;margin-bottom:5px}.dash-facility-set label{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-sm);color:var(--text);padding:4px 10px 4px 7px;background:var(--bg);border:1px solid var(--line);border-radius:999px;cursor:pointer}.dash-facility-set label:has(input:checked){background:#e8f1f5;border-color:#2f6f8f}.dash-facility-set input{margin:0;width:auto}
.dash-range{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end;margin:0 0 8px}.dash-range label{display:grid;gap:4px;font-size:var(--font-xs);color:var(--muted)}.dash-range select{width:auto;min-width:12em}.dash-range input[type=date]{width:calc(10em + 26px)}.dash-range-dates{display:flex;flex-wrap:wrap;gap:8px 16px}.dash-range-dates[hidden]{display:none}
.dash-period{margin:0 0 6px;color:var(--muted)}
.dash-chart-daily{overflow-x:auto}.dash-chart-daily .dash-chart{min-width:640px}
.dash-daily-scroll{margin-top:10px;max-height:32em;overflow:auto}.dash-daily-table{table-layout:fixed;width:auto}.dash-daily-table col.c-date{width:5.5em}.dash-daily-table col.c-wd{width:2.5em}.dash-daily-table col.c-5{width:5.5em}.dash-daily-table col.c-6{width:6.5em}.dash-daily-table col.c-8{width:9em}
.dash-daily-table thead th{position:sticky;top:0;background:var(--surface);z-index:1;box-shadow:0 1px #e4e9ec;white-space:nowrap}.dash-daily-table th[scope=row]{text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-daily-table .dash-wd{text-align:center}
.dash-daily-table .dash-weekend th,.dash-daily-table .dash-weekend td{background:#f6f8fa}.dash-daily-table .dash-today th,.dash-daily-table .dash-today td{background:#fff7e6;font-weight:700}.dash-daily-table .dash-future th,.dash-daily-table .dash-future td{color:var(--muted)}
.dash-daily-table tfoot th,.dash-daily-table tfoot td{position:sticky;bottom:0;background:var(--surface);font-weight:700;border-top:2px solid var(--line)}
@media(max-width:800px){.dash-facility-set label{font-size:var(--font-xs)}.dash-range select,.dash-range input[type=date]{width:100%;min-width:0}.dash-range label{flex:1 1 10em}.dash-daily-table{table-layout:auto}.dash-daily-table col{width:auto}}
/* v0.13.22: 入居者の構成・入院先と退去理由・CSV ダウンロード */
.dash-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px}.dash-head h2{margin:0}.dash-csv{min-width:0;padding:3px 10px;font-size:var(--font-xs);line-height:1.5}
.dash-breakdowns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0}.dash-breakdown{padding:10px 12px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}.dash-breakdown h3{margin:0 0 6px;font-size:var(--font-sm)}
.dash-breakdown-table{table-layout:fixed;width:100%}.dash-breakdown-table col.c-key{width:auto}.dash-breakdown-table col.c-n{width:4.5em}.dash-breakdown-table col.c-rate{width:5.5em}.dash-breakdown-table th{white-space:nowrap}.dash-breakdown-table th[scope=row]{text-align:left;font-weight:400;overflow:hidden;text-overflow:ellipsis}.dash-breakdown .small{margin:0;color:var(--muted)}
@media(max-width:800px){.dash-breakdowns{grid-template-columns:1fr;gap:8px}}
@media print{.dash-csv{display:none}}
/* v0.13.23: 文字を一回り小さく（カードの数字 23px → 20px、5 枚のときは 18px、数表は 14px → 13px）。列幅は文字数指定なので一緒に縮む。 */
.dash-cards strong{font-size:20px}.dash-cards-5 strong{font-size:18px}.dashboard .data-table{font-size:var(--font-sm)}.dashboard .data-table th,.dashboard .data-table td{padding:12px 11px}.dash-breakdown-table th,.dash-breakdown-table td{padding:8px 9px}
@media(max-width:800px){.dash-cards strong{font-size:18px}.dash-cards-5 strong{font-size:18px}}
