.room-rows { display: grid; gap: .8rem; }
.room-entry { padding: 1rem; border: 1px solid #d9e2eb; border-radius: 10px; background: #f8fafc; }
.room-entry-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .8rem; }
.room-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.room-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.room-fields label { font-weight: 600; font-size: .85rem; min-width: 0; }
.room-fields input, .room-fields select { margin-top: .3rem; font-weight: normal; }
.property-room-floor { margin-bottom: 1.25rem; }
.property-room-floor h5 { font-size: 1rem; font-weight: 700; margin-bottom: .4rem; }
.property-room-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #dee2e6; }
.property-room-list li { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem 1rem; padding: .65rem 0; border-bottom: 1px solid #dee2e6; }
.property-room-size { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .room-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 500px) { .room-fields { grid-template-columns: 1fr; } .room-entry-heading { align-items: flex-start; flex-direction: column; } }