.data-page { max-width: 760px; margin: 0 auto; padding: 28px 24px 64px; color: var(--ink); }
.data-page h1 { font-size: clamp(2.5rem, 7vw, 4rem); letter-spacing: -.045em; margin: 16px 0; }
.data-page h2 { font-size: 1.25rem; letter-spacing: -.02em; margin-bottom: 16px; }
.data-page p, .data-page footer { line-height: 1.7; overflow-wrap: anywhere; }
.data-page header { margin: 32px 0; }
.data-page section { border-top: 1px solid var(--line); padding: 24px 0; }
.data-page dl { margin: 12px 0; }
.data-page dl div { display: flex; justify-content: space-between; gap: 24px; padding: 10px 0; }
.data-page dd { margin: 0; font-variant-numeric: tabular-nums; }
.data-page label { display: block; margin: 16px 0 8px; }
.data-page select, .data-page input:not([type=checkbox]) { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font: inherit; }
.data-page button, .back-link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; font: inherit; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface); text-decoration: none; cursor: pointer; }
.data-page button { margin-top: 16px; }
.data-page button:disabled { opacity: .45; cursor: not-allowed; }
.data-page .danger { background: #982f32; color: #fff; border-color: #982f32; }
.data-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.data-page .acknowledgement { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.data-page input[type=checkbox] { width: 22px; height: 22px; flex-shrink: 0; }
.data-page :focus-visible { outline: 3px solid var(--accent-deep); outline-offset: 4px; }
.data-page [hidden] { display: none !important; }
#data-status { min-height: 3em; }
.data-page footer { color: var(--ink-muted); margin-top: 24px; }
#capacity-panel dl div { flex-wrap: wrap; gap: 6px 20px; }
#capacity-panel dt, #capacity-panel dd { overflow-wrap: anywhere; }
#capacity-panel summary { cursor: pointer; padding: 14px 0; min-height: 48px; }
@media (max-width: 420px) { .data-page { padding-inline: 20px; } .data-page button { max-width: 100%; } }
