.student-hub { min-width: 0; }
.student-hub .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.hub-tabs { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1rem; border-bottom: 1px solid #dde3e8; }
.hub-tabs button { white-space: normal; text-align: left; max-width: 100%; }
.hub-tabs [aria-pressed="true"] { background: #17384c; color: white; }
.student-hub .panel-body { padding: 1rem; }
.hub-row { padding: 1rem 0; border-bottom: 1px solid #dde3e8; overflow-wrap: anywhere; }
.hub-row h4, .hub-row h5 { margin: 0 0 .5rem; }
.hub-row p { margin: .5rem 0; }
.hub-message { white-space: pre-wrap; }
.hub-summary { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: 1rem 0; }
.hub-summary dt { font-size: .85rem; color: #51616c; }
.hub-summary dd { margin: .3rem 0 0; font-size: 1.2rem; font-weight: 700; }
.student-receipt { max-width: 740px; margin: 2rem auto; padding: 1.5rem; color: #172c3a; font: 16px/1.6 system-ui, sans-serif; overflow-wrap: anywhere; }
.student-receipt dt { font-weight: 700; margin-top: 1rem; }
.student-receipt dd { margin-left: 0; }
.receipt-print { padding: .7rem 1rem; font: inherit; cursor: pointer; }
@media (max-width: 480px) { .hub-tabs { padding: .75rem; } .hub-summary { display: block; } .hub-summary div { margin-bottom: 1rem; } }
@media print { .receipt-print { display: none; } .student-receipt { margin: 0; padding: 0; max-width: none; } }
