.hall-settings{max-width:1450px;margin:24px auto;padding:22px;border:1px solid #cbd8e2;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff}
.hall-settings legend{font-weight:850}.hall-settings>p{grid-column:1/-1;color:#52677a;line-height:1.6}
.hall-settings label{display:grid;gap:8px;font-weight:750;font-size:.85rem;min-width:0}
.hall-settings textarea,.hall-settings input{width:100%;min-width:0;border:1px solid #afc1d1;border-radius:9px;padding:12px;font:inherit;color:#17344a;background:#fff}
.hall-settings textarea{resize:vertical}.hall-details-dialog{max-width:960px}
.hall-detail-block{padding:4px 0 18px;border-bottom:1px solid #e1e9ef;margin-bottom:18px}
.hall-detail-block h3{font-size:1.15rem;margin:12px 0;color:#0b4773}
.hall-detail-block p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#344e60}
.hall-live-calendar{display:block;width:100%;height:600px;border:1px solid #cbd8e2;border-radius:12px;background:#fff;margin:18px 0}
.hall-inquiry-link{display:inline-block;background:#105e99;color:white;padding:14px 20px;border-radius:10px;text-decoration:none;font-weight:800;margin-top:24px}
@media(max-width:760px){.hall-settings{grid-template-columns:1fr;padding:16px}.hall-live-calendar{height:480px}}
.hall-availability-editor{grid-column:1/-1;padding:20px;background:#edf5fb;border-radius:12px;display:grid;gap:12px}
.hall-availability-editor button{padding:12px;border:1px solid #9bb5c9;border-radius:8px;background:#fff;color:#17344a;font:inherit;cursor:pointer}
.hall-availability-editor select{padding:12px;font:inherit}.hall-date-list{display:flex;flex-wrap:wrap;gap:8px}
.hall-availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.hall-availability-grid button{min-width:0;min-height:70px;display:grid;gap:5px;place-content:center;padding:5px 2px;background:#f5f8fa;border:1px solid #c7d5df;border-radius:9px;color:#344e60;cursor:pointer}
.hall-availability-grid small{font-size:.65rem;overflow-wrap:anywhere}.hall-availability-grid strong{font-size:1rem}
.hall-availability-grid [data-status=available]{background:#e6f6ee;border-color:#47a97b;color:#125331}
.hall-availability-grid [data-status=booked]{background:#fff0ef;border-color:#d99590;color:#842d26}
.hall-availability-grid [data-status=unavailable]{background:#e2e7ec;color:#46535e}
.hall-availability-grid [data-status=past]{opacity:.5}.hall-availability-grid button:focus-visible{outline:3px solid #126cb1;outline-offset:1px}
.hall-status-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}
.hall-status-tools button{padding:12px 16px;background:#fff;color:#17344a;border:1px solid #9bb5c9;border-radius:9px;cursor:pointer;font:inherit}
.hall-status-tools [data-status=available]{background:#e6f6ee;color:#125331}.hall-status-tools [data-status=booked]{background:#fff0ef;color:#842d26}
.hall-status-tools [aria-pressed=true]{outline:3px solid #126cb1;outline-offset:2px;font-weight:800}
.hall-rental-request{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #cbd8e2}
.hall-rental-request>h3,.hall-rental-request>p,.hall-request-consent{grid-column:1/-1}.hall-rental-request label{display:grid;gap:8px;font-weight:700}
.hall-rental-request input,.hall-rental-request textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #9bb5c9;border-radius:8px;font:inherit}.hall-rental-request .hall-request-consent{display:flex;align-items:start;font-weight:400}.hall-request-consent input{width:auto;margin-top:5px}.hall-rental-request button{border:0;cursor:pointer}
@media(max-width:560px){.hall-rental-request{grid-template-columns:1fr}}
.hall-date-picker{padding:28px;width:calc(100% - 32px);box-sizing:border-box;max-height:90vh;overflow:auto}
.hall-date-picker h2{margin:0 0 12px}.hall-date-picker p{line-height:1.5}.hall-month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.hall-month-toolbar button{padding:10px 16px;border:1px solid #9bb5c9;border-radius:8px;background:white;color:#17344a;cursor:pointer}.hall-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:10px;font-size:.8rem}
@media(max-width:480px){.hall-date-picker{padding:16px}.hall-status-tools{gap:8px}.hall-status-tools button{flex:1 1 40%;padding:10px;font-size:.8rem}}
@media(max-width:480px){.hall-availability-grid small{display:none}.hall-availability-grid button::after{content:'Ask';font-size:.6rem}.hall-availability-grid [data-status=available]::after{content:'Open'}.hall-availability-grid [data-status=booked]::after{content:'Booked'}.hall-availability-grid [data-status=unavailable]::after{content:'Closed'}.hall-availability-grid [data-status=past]::after{content:'Past'}}
