.housing-page { max-width: 1100px; }
.housing-panel { padding: 1.25rem; border: 1px solid #dce7e0; border-radius: 16px; background: #fff; color: #183b29; }
.housing-touch { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.housing-visit-actions summary { cursor: pointer; justify-content: flex-start; text-decoration: underline; }
.housing-visit-actions input { min-height: 44px; max-width: 100%; }
.housing-visit-actions { text-align: left; }
.housing-visit-actions form { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .5rem; }
.housing-visit-actions details { margin-top: .5rem; }
.housing-visit-actions details form { margin-top: .5rem; }
.housing-visit-actions details label, .housing-visit-actions details input, .housing-visit-actions details p { width: 100%; }
.housing-visit-actions details input { padding: .5rem; border: 1px solid #708577; border-radius: 8px; font: inherit; }
.housing-visit-actions .btn { padding: .65rem 1rem; border: 1px solid #0b5934; border-radius: 10px; background: #fff; color: #0b5934; }
.housing-visit-actions .btn-success { background: #0b5934; color: #fff; }
.housing-visit-actions .btn-outline-danger { color: #b42318; border-color: #b42318; }
.housing-visit-actions .btn:hover { filter: brightness(.92); }
.housing-costs { margin: 0 0 1rem; font-size: .875rem; }
.housing-costs > div { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; padding: .5rem 0; }
.housing-costs dt { font-weight: 400; min-width: 0; flex: 1; }
.housing-costs dd { margin: 0; text-align: right; font-weight: 600; flex-shrink: 0; }
.housing-panel :focus-visible, .housing-touch:focus-visible { outline: 3px solid #0369a1; outline-offset: 3px; }
@media (max-width: 380px) { .housing-costs > div { flex-wrap: wrap; } .housing-costs dd { width: 100%; text-align: left; } }
