.pms-workspace,.pms-workspace [data-pms-panel],.pms-workspace .pms-main,.pms-workspace .pms-content{min-width:0;max-width:100%;box-sizing:border-box}
.daily-filter-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0;min-width:0}
.daily-filter-tools label{display:grid;gap:4px;font-size:13px;min-width:0}
.daily-filter-tools input{min-width:240px;max-width:100%}
.daily-filter-tools [role=status]{font-size:12px;color:#726b5d;align-self:center}
.pms-workspace [data-daily-ready=false]{opacity:.6}
.pms-workspace[data-daily-ready=false] [data-pms-panel]{opacity:.45;pointer-events:none}
#app[data-daily-ready=false] [data-pms-panel]{opacity:.45;pointer-events:none}
.pms-room-card{position:relative}
.pms-room-card .pms-room-cleaning{display:block!important;position:static!important;margin:3px auto 0!important;padding:2px 6px!important;min-height:24px!important;font-size:10px!important;line-height:16px!important;max-width:100%;background:#f3eee2;color:#544c3f;border:1px solid #d5caba;border-radius:4px;white-space:nowrap}
.pms-workspace .pms-room-card .pms-room-cleaning{position:relative!important;z-index:2}
.daily-facility{font-weight:700;background:#f3eee2;padding:8px 12px;border-radius:6px;margin:0}
.daily-booking-optional{border:1px solid #ddd4c5;border-radius:6px;padding:10px;display:block}
.daily-booking-optional summary{cursor:pointer;font-weight:600;min-height:24px}
.daily-booking-optional[open]{display:grid;gap:10px}
#pms-booking-form>.dialog-actions{position:sticky;bottom:-24px;background:#fffdf8;padding:12px 0;z-index:3;border-top:1px solid #ded6c8}
#pms-booking-form>.form-message{position:sticky;bottom:40px;background:#fffdf8;z-index:3}
.pms-workspace .table-wrap,.pms-workspace .pms-operational-report-table{max-width:100%;overflow-x:auto;min-width:0}
.pms-workspace .pms-booking-table-wrap{position:relative}
.pms-workspace .pms-section-heading,.pms-workspace .pms-panel-heading,.pms-workspace .pms-report-tools{flex-wrap:wrap;min-width:0}
.pms-workspace .pms-panel{grid-template-columns:minmax(0,1fr)}
.pms-workspace .pms-panel>*{min-width:0;max-width:100%;box-sizing:border-box}
.pms-report-tools>small{flex-basis:100%}
@media(max-width:1100px){
 .pms-workspace :is(.pms-revenue-workspace,.pms-campaign-workspace,.pms-vendor-workspace){grid-template-columns:minmax(0,1fr)!important}
 .pms-workspace :is(.pms-vendor-tools,.pms-campaign-tools){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pms-workspace [data-pms-panel]>.pms-form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
 .pms-workspace [data-pms-panel] :is(.pms-section-heading,.pms-panel-heading)>*{max-width:100%;min-width:0}
 .pms-workspace :is(.pms-accounting-grid,.pms-accounting-layout,.pms-vendor-layout,.pms-campaign-layout,.pms-revenue-layout){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 .pms-workspace .pms-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pms-workspace .pms-summary-card{min-width:0}.pms-workspace .pms-summary-card span{white-space:normal!important}
 .pms-workspace :is(.pms-accounting-actions,.pms-import-actions,.pms-vendor-tools,.pms-campaign-tools){grid-template-columns:minmax(0,1fr)!important;min-width:0;width:100%}
 .pms-workspace :is(.pms-inline-search,.pms-accounting-actions label,.pms-import-file){min-width:0;width:100%}
 .pms-workspace .pms-booking-table-wrap{min-width:0;max-width:100%;overflow-x:auto}
 .pms-workspace{width:100%;overflow-wrap:anywhere}
 .pms-workspace [data-pms-panel]{padding:12px!important}
 .pms-workspace [data-pms-panel] :is(input,select,textarea){max-width:100%;min-width:0;box-sizing:border-box}
 .pms-workspace :is(.pms-form-row,.pms-form-grid,.pms-accounting-summary,.pms-import-grid){grid-template-columns:minmax(0,1fr)}
 .pms-workspace :is(.pms-inline-form,.pms-filters,.pms-filter-bar,.pms-report-controls,.pms-actions,.pms-toolbar-actions){flex-wrap:wrap;max-width:100%;min-width:0}
 .daily-filter-tools>*{flex:1 1 130px;max-width:100%}.daily-filter-tools input{min-width:0;width:100%}
 .daily-filter-tools [role=status]{flex-basis:100%}
 .pms-workspace dialog{max-width:calc(100vw - 16px)!important;width:calc(100vw - 16px);padding:0}
 .pms-workspace dialog .dialog-card{padding:16px!important;min-width:0}
 #pms-booking-form>.dialog-actions{bottom:-16px}
 .pms-workspace .pms-form-row{grid-template-columns:minmax(0,1fr)!important}
 .pms-workspace .dialog-actions{flex-wrap:wrap}
 .pms-workspace .pms-section-heading select{width:100%}
}

/* Keep the frontdesk list usable when the filter header exceeds a short viewport. */
.pms-workspace.pms-viewport-v4 [data-pms-panel="frontdesk"] { display:block; overflow:auto; }
.pms-workspace.pms-viewport-v4 #pms-frontdesk-list { min-height:160px; }
/* Explicit rows keep notes and the cleaning action inside compact cards. */
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card {
 height:100px; min-height:100px; grid-template-rows:26px 21px 13px 24px; padding-top:7px; padding-bottom:7px;
}
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card > .pms-room-guest { margin:0; min-height:0; line-height:20px; }
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card > .pms-room-front-note { margin:0; min-height:0; height:13px; line-height:13px; -webkit-line-clamp:1; }
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card .pms-room-cleaning { grid-column:1/-1; grid-row:4; justify-self:start; margin:0!important; }
#pms-detail-action-message:empty { display:none; }
#pms-detail-action-message:not(:empty) { padding:10px; border:1px solid #b76346; background:#fff1e8; }
.folio-catalog-error { border:1px solid #b76346; background:#fff1e8; padding:10px; margin:0 0 10px; }
.folio-catalog-error button { margin-top:6px; min-height:36px; }

.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card h4 { line-height:24px; }
