/* State color always accompanies a text label + shape; it never changes room settings. */
:where(.pms-workspace) .pms-room-card[data-room-visual-state], .pms-room-legend [data-room-visual-state] {
  --room-state-ink:#545d66; --room-state-bg:#f0f2f4; --room-state-edge:#76838c;
}
.pms-workspace [data-room-visual-state=checked_in], .pms-workspace [data-room-visual-state=paid], .pms-workspace [data-room-visual-state=finalized] {
  --room-state-ink:#15533d; --room-state-bg:#e1f3e9; --room-state-edge:#25845d;
}
.pms-workspace [data-room-visual-state=not_arrived], .pms-workspace [data-room-visual-state=reserved] {
  --room-state-ink:#194d79; --room-state-bg:#e5f0fc; --room-state-edge:#3379b3;
}
.pms-workspace [data-room-visual-state=overdue] {
  --room-state-ink:#8d2631; --room-state-bg:#fbe5e7; --room-state-edge:#c44651;
}
.pms-workspace [data-room-visual-state=tentative], .pms-workspace [data-room-visual-state=unfinalized] {
  --room-state-ink:#775000; --room-state-bg:#fff0cc; --room-state-edge:#a57919;
}
.pms-workspace [data-room-visual-state=vacant] {
  --room-state-ink:#5e6267; --room-state-bg:#ffffff; --room-state-edge:#b1b8bd;
}
.pms-workspace.pms-ryokan #pms-today-room-board .pms-room-card[data-room-visual-state],
.pms-workspace #pms-today-room-board .pms-room-card[data-room-visual-state],
.pms-workspace #pms-settings-room-board .pms-room-card[data-room-visual-state] {
  --ryokan-status:var(--room-state-edge); background:var(--room-state-bg); border-color:var(--room-state-edge);
}
.pms-workspace.pms-ryokan .pms-room-card[data-room-visual-state] .pms-room-state,
.pms-workspace .pms-room-card[data-room-visual-state] .pms-room-state {
  background:var(--room-state-bg); color:var(--room-state-ink); font-weight:700; font-size:12px; line-height:1.5;
}
.pms-workspace .pms-room-state-detail {font-size:11px!important;line-height:1.5;color:#454b50!important;margin:4px 0!important;overflow-wrap:anywhere;}
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card[data-room-visual-state] {
  height:auto;min-height:96px;grid-template-rows:minmax(32px,auto) 20px auto auto 28px;
}
.pms-workspace.pms-viewport-v4.pms-ryokan #pms-today-room-board .pms-room-card[data-room-visual-state] .pms-room-state {
  display:inline-flex;max-width:80px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.35;
}
.pms-workspace.pms-viewport-v4 #pms-today-room-board .pms-room-card > .pms-room-state-detail:not([hidden]) {
  display:block;position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}
.pms-room-legend {flex:0 0 100%;grid-column:1 / -1;margin:0 0 12px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:10px;background:#fff;min-width:0;}
.pms-room-legend h3 {font-family:inherit!important;font-size:13px!important;line-height:1.6!important;margin:0 0 6px!important;}
.pms-room-legend ul {list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;}
.pms-room-legend li {display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.5;}
.pms-room-legend i {font-style:normal;display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid var(--room-state-edge);border-radius:5px;background:var(--room-state-bg);color:var(--room-state-ink);font-weight:800;}
.pms-room-legend p {font-size:11px!important;line-height:1.6!important;color:#5b6460!important;margin:6px 0 0!important;}
@media(forced-colors:active){.pms-room-legend i,.pms-room-card[data-room-visual-state]{border:2px solid CanvasText;}}
