.room-allocation-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.room-allocation-heading h3 {margin:0;font:700 18px/1.4 system-ui,sans-serif}
.room-allocation-heading p,.room-allocation-note {margin:5px 0 12px;font-size:12px}
.room-allocation-date {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}
.room-allocation-date label {display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}
.room-allocation-date input {width:160px;min-height:42px}
.room-allocation-date>span {font-size:12px;color:#7a6247}
.room-allocation-summary {display:flex;gap:12px 22px;flex-wrap:wrap;padding:12px;background:#edf1e9;border-radius:8px;font-size:12px}
.room-allocation-summary>span {display:flex;gap:8px;align-items:baseline}
.room-allocation-summary strong {font:700 17px/1.3 var(--pms-numeric-font,system-ui,sans-serif)}
.room-allocation-summary.is-warning {background:#fbf0df}
.room-allocation-remaining {margin-left:auto}
.room-allocation-breakdown {min-height:18px;margin:7px 0 14px;color:#526355;font-size:12px}
.room-allocation-row {display:grid;grid-template-columns:minmax(72px,1fr) minmax(0,5fr);align-items:center;gap:12px;padding:12px;border:1px solid #ddd8cd;border-radius:8px;margin-bottom:10px;background:#fffefa;min-width:0}
.room-allocation-row h4 {font:650 18px/1.4 var(--pms-numeric-font,system-ui,sans-serif);margin:0;overflow-wrap:anywhere}
.room-allocation-fields {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-width:0}
.room-allocation-fields label {display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0}
.room-allocation-fields input {min-width:0;width:100%;box-sizing:border-box;padding:8px;min-height:44px;text-align:center;font:650 17px/1.4 var(--pms-numeric-font,system-ui,sans-serif);border:1px solid #cfc9bb;border-radius:6px;background:white;color:#223c32}
.room-allocation-fields input[data-occupants=dogCount] {background:#fcf5e9}
.room-allocation-difference {display:flex;gap:10px;align-items:flex-start;padding:12px;background:#fbf0df;border-radius:6px;font-size:13px;margin:12px 0}
.room-allocation-difference input {width:20px;min-height:20px;flex-shrink:0;margin-top:2px}
.room-allocation-form [hidden] {display:none!important}
.room-allocation-actions {display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:#fffefa;padding:12px 0 4px;border-top:1px solid #e3ded2}
.room-allocation-actions button,.room-allocation-heading button {min-height:44px}
.room-allocation-empty {padding:20px;background:#f3f0e8;border-radius:8px}
.pms-room-allocation-shortcut {display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9ded2;background:#f0f3ed;border-radius:8px;margin:14px 0;padding:12px}
.pms-room-allocation-shortcut small {display:block;margin-top:4px;color:#657261}
@media(max-width:600px){
 .room-allocation-row {grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}
 .room-allocation-fields {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .room-allocation-heading button {padding:8px 10px;font-size:12px}
 .room-allocation-summary {gap:8px 14px;padding:10px}
 .room-allocation-remaining {margin-left:0;width:100%}
 .room-allocation-actions button {flex:1;min-width:130px}
 .pms-room-allocation-shortcut {align-items:flex-start;flex-wrap:wrap}
}
