#app { max-width: 80rem; margin: auto; }
main { padding-bottom: 2rem; }
header .row { flex-wrap: wrap; }
.account { overflow-wrap: anywhere; }
.report { padding: 1.25rem; }
.stack, .card { min-width: 0; }
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; }
.metrics dd { font-size: 1.5rem; font-variant-numeric: tabular-nums; margin-top: .35rem; }
.table-scroll { overflow-x: auto; max-width: 100%; }
table { width: 100%; border-collapse: collapse; font-size: .875rem; font-variant-numeric: tabular-nums; }
caption { text-align: left; padding: 0 0 .75rem; font-size: 1.05rem; font-weight: 650; }
th, td { padding: .6rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
th { white-space: nowrap; }
td { overflow-wrap: anywhere; }
.table-scroll:focus-visible { outline-offset: -3px; }
.visit-id { font-family: ui-monospace, monospace; font-size: .75rem; }
.pagination { flex-wrap: wrap; margin-top: .75rem; }
.pagination p { margin-right: auto; }
.mfa { padding: 0; }
.mfa form { margin-top: 0; }
.weekly { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.chart { margin: 0; }
.chart svg { display: block; width: 100%; height: auto; max-height: 260px; }
.chart text { fill: var(--muted); font-size: 12px; }
.chart .chart-value { fill: var(--green); font-weight: 650; }
.chart-bar { fill: var(--green); }
.chart-baseline { stroke: var(--line); }
.activity-list { list-style: none; padding: 0; margin: .75rem 0 0; }
.activity { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.activity h3 { margin: 0; }
.activity-summary { margin: 0; padding-left: 1.25rem; line-height: 1.7; }
.activity-account, .question p { overflow-wrap: anywhere; }
.question { margin: 0; border-left: 3px solid var(--line); padding: .5rem .75rem; background: #f7f7f4; }
.question p { white-space: pre-wrap; }
.view-switch { margin-top: 1rem; }
.chat-panel { padding: 0; }
.chat-search { display: flex; align-items: flex-end; gap: .75rem; }
.chat-search input { min-width: 0; }
.chat-title { border: 0; padding: 0; background: none; color: var(--green); text-align: left; font-size: 1.05rem; overflow-wrap: anywhere; }
.chat-panel .activity-list { display: grid; gap: .75rem; }
.chat-messages { list-style: none; padding: 0; margin: 0; }
.chat-message { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.chat-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.attachment-list { padding-left: 1.25rem; overflow-wrap: anywhere; font-size: .875rem; color: var(--muted); }
@media (max-width: 720px) { .weekly { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .chat-search { align-items: stretch; flex-direction: column; } }
