/* PMS workbench additions: business views, schedules and local forms. */
.pms-demo {
  --biz-line: #e2e4ee;
  --biz-paper: #f7f8fc;
  --biz-ink: #292542;
  --biz-muted: #625f74;
  --biz-green-bg: #edf7e6;
  --biz-green-text: #315c25;
  --biz-purple-bg: #eeeafa;
  --biz-purple-text: #54399c;
  --biz-teal-bg: #e1f2ef;
  --biz-teal-text: #205d58;
  --biz-amber-bg: #f9eddf;
  --biz-amber-text: #795124;
  --biz-neutral-bg: #eceef3;
  --biz-neutral-text: #55596b;
}
.pms-demo .pms-console-tabs > [data-pms-section] {
  flex: 0 0 auto;
  min-width: 44px;
  min-height: 36px;
  padding: 6px clamp(7px, 1vw, 12px);
  border: 1px solid #e1e3eb;
  border-radius: 4px;
  color: #343c48;
  font-size: 12px;
  font-weight: 550;
  white-space: nowrap;
}
.pms-demo .pms-console-tabs > [data-pms-section][aria-pressed="true"] {
  border-color: #a896ee;
  background: #f6f2ff;
  color: #503bb1;
}
.pms-demo .pms-console-tabs > [data-pms-section]:focus-visible { outline-offset: -3px; }
.pms-biz-panel { min-width: 0; color: var(--biz-ink); }
.pms-demo #pms-orders-panel:not([hidden]) {
  display: grid;
  grid-template-columns: 166px minmax(0,1fr);
  gap: 10px;
  color: #282b35;
}
.pms-orders-nav, .pms-orders-heading, .pms-orders-filters {
  border: 1px solid #e1e3e8;
  border-radius: 6px;
  background: #fff;
}
.pms-orders-nav { align-self: stretch; padding: 7px; }
.pms-orders-nav details + details { border-block-start: 1px solid #eef0f4; }
.pms-orders-nav summary { padding: 9px 6px; cursor: pointer; font-size: 13px; font-weight: 650; }
.pms-demo .pms-orders-nav button {
  justify-content: flex-start;
  width: 100%;
  min-height: 36px;
  padding: 6px 9px 6px 18px;
  border-color: transparent;
  border-radius: 4px;
  background: transparent;
  color: #303644;
  font-size: 13px;
}
.pms-demo .pms-orders-nav button[aria-current="true"] { background: #5748d4; color: #fff; }
.pms-orders-content { min-width: 0; }
.pms-orders-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; padding: 8px 12px; }
.pms-demo .pms-orders-heading h4 { margin: 0; color: #202431; font-size: 17px; }
.pms-orders-filters { display: grid; gap: 9px; margin-bottom: 8px; padding: 10px 12px; }
.pms-demo .pms-orders-filters .pms-biz-subtabs { margin: 0; gap: 4px; }
.pms-orders-query-row { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; }
.pms-orders-query-row label { display: grid; flex: 0 1 250px; min-width: 0; gap: 3px; font-size: 12px; }
.pms-orders-more-filters summary { width: fit-content; cursor: pointer; color: #5545bf; font-size: 13px; }
.pms-orders-more-filters[open] .pms-orders-query-row { margin-top: 8px; }
.pms-demo .pms-orders-content [data-pms-orders] { border-radius: 6px; }
.pms-demo .pms-orders-content [data-pms-orders] > table { min-width: 1120px; }
.pms-demo .pms-orders-content thead th { background: #f7f8fa; color: #353843; }
.pms-demo .pms-orders-content tbody tr:nth-child(even) { background: #fafbfc; }
.pms-demo .pms-orders-content .pms-biz-row-actions { flex-wrap: nowrap; gap: 2px; }
.pms-demo .pms-orders-content .pms-biz-row-actions button { flex: none; min-height: 34px; padding-inline: 6px; }
.pms-demo .pms-orders-content .pms-biz-row-actions button:not(:disabled) { border-color: transparent; background: transparent; color: #5141bf; }
.pms-demo .pms-orders-content .pms-biz-row-actions button:hover:not(:disabled) { background: #efedfc; }
.pms-orders-count { margin: 6px 2px 0; color: #686b78; font-size: 12px; }
.pms-order-detail-panel > dl { margin: 0; }
.pms-order-detail-panel > :is(p,ul) { padding: 8px 12px; font-size: 13px; }
@container pms-console (max-width: 660px) {
  .pms-demo #pms-orders-panel:not([hidden]) { grid-template-columns: minmax(0,1fr); }
  .pms-demo .pms-orders-nav button, .pms-demo .pms-orders-content .pms-biz-row-actions button { min-height: 44px; }
}
@container pms-console (min-width: 800px) {
  .pms-orders-content :is(th,td):last-child { position: sticky; inset-inline-end: 0; border-inline-start: 1px solid #e2e4e9; background: #fff; }
}
.pms-biz-toolbar, .pms-biz-calendar-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
}
.pms-biz-toolbar { margin-bottom: 16px; }
.pms-biz-toolbar > div { min-width: 0; flex: 1 1 170px; }
.pms-demo .pms-biz-eyebrow {
  margin-bottom: 4px;
  color: #5f5180;
  font: 600 11px/1.5 ui-monospace, Consolas, monospace;
  letter-spacing: .105em;
}
.pms-demo .pms-biz-toolbar h4 { margin: 0; font-size: clamp(20px, 1.75vw, 25px); font-weight: 650; line-height: 1.25; letter-spacing: -.025em; }
.pms-demo .pms-biz-toolbar h4 + p { margin-top: 6px; color: var(--biz-muted); font-size: 13px; line-height: 1.65; }
.pms-demo button.pms-biz-primary { padding: 8px 13px; border-color: var(--demo-violet); background: var(--demo-violet); color: #fff; font-size: 13px; font-weight: 600; }
.pms-demo button.pms-biz-primary:hover:not(:disabled), .pms-demo button.pms-biz-primary:active:not(:disabled) { border-color: var(--demo-violet-deep); background: var(--demo-violet-deep); color: #fff; }
.pms-demo .pms-biz-row-actions, .pms-demo .pms-biz-subtabs, .pms-demo .pms-biz-quick-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.pms-demo .pms-biz-row-actions button, .pms-demo .pms-biz-subtabs button, .pms-demo .pms-biz-quick-actions button { padding: 8px 10px; font-size: 12px; white-space: nowrap; }
.pms-demo .pms-biz-quick-actions button.pms-biz-primary { font-size: 13px; }
.pms-demo .pms-biz-quick-actions { margin: 0; }
.pms-demo .pms-front-toolbar .pms-biz-quick-actions { gap: 5px; }
.pms-demo .pms-front-toolbar .pms-biz-quick-actions button {
  min-height: 36px;
  padding: 6px 8px;
  border-color: #c4b8f1;
  border-radius: 4px;
  color: #4c39ac;
}
.pms-demo .pms-front-toolbar .pms-biz-quick-actions button.pms-biz-primary {
  border-color: var(--demo-violet);
  color: #fff;
}
.pms-demo .pms-biz-subtabs { margin: 11px 0 13px; }
.pms-demo .pms-biz-subtabs button[aria-pressed="true"] { border-color: #b8abe5; background: var(--biz-purple-bg); color: var(--biz-purple-text); font-weight: 600; }
.pms-biz-calendar-controls { padding: 9px 11px; border: 1px solid var(--biz-line); border-radius: 10px; background: #fff; }
.pms-biz-calendar-controls strong { color: var(--biz-ink); font-size: 14px; font-variant-numeric: tabular-nums; }
.pms-biz-calendar-controls .pms-biz-row-actions { flex-wrap: nowrap; }
.pms-biz-legend { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 0; list-style: none; }
.pms-demo .pms-biz-legend { margin: 11px 0; }
.pms-biz-legend li { display: inline-flex; align-items: center; gap: 6px; color: var(--biz-muted); font-size: 12px; }
.pms-biz-legend li::before { content: ""; flex: none; width: 10px; height: 10px; border: 1px solid currentColor; border-radius: 3px; background: var(--biz-state-bg, var(--biz-neutral-bg)); color: var(--biz-state-text, var(--biz-neutral-text)); }
.pms-demo :is(.pms-biz-panel, .pms-biz-dialog, .pms-front-assistant) :is([data-state="available"], [data-state="vacant"]) { --biz-state-bg: var(--biz-green-bg); --biz-state-text: var(--biz-green-text); }
.pms-demo :is(.pms-biz-panel, .pms-biz-dialog, .pms-front-assistant) [data-state="reserved"] { --biz-state-bg: var(--biz-purple-bg); --biz-state-text: var(--biz-purple-text); }
.pms-demo :is(.pms-biz-panel, .pms-biz-dialog, .pms-front-assistant) :is([data-state="checkedin"], [data-state="occupied"]) { --biz-state-bg: var(--biz-teal-bg); --biz-state-text: var(--biz-teal-text); }
.pms-demo :is(.pms-biz-panel, .pms-biz-dialog, .pms-front-assistant) :is([data-state="maintenance"], [data-state="dirty"]) { --biz-state-bg: var(--biz-amber-bg); --biz-state-text: var(--biz-amber-text); }
.pms-demo :is(.pms-biz-panel, .pms-biz-dialog, .pms-front-assistant) :is([data-state="checkedout"], [data-state="cancelled"]) { --biz-state-bg: var(--biz-neutral-bg); --biz-state-text: var(--biz-neutral-text); }
.pms-biz-tablewrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--biz-line);
  border-radius: 11px;
  background: #fff;
  scrollbar-color: #b7afd5 #f2f0f9;
  scrollbar-width: thin;
}
.pms-biz-tablewrap:empty { display: none; }
.pms-biz-tablewrap:focus-visible { outline: 2px solid var(--demo-violet); outline-offset: 2px; }
.pms-biz-tablewrap > table { width: 100%; min-width: 610px; border: 0; border-collapse: separate; border-spacing: 0; text-align: left; font-size: 12px; }
.pms-biz-tablewrap th, .pms-biz-tablewrap td { min-height: 46px; padding: 9px 10px; border-bottom: 1px solid #ececf4; line-height: 1.45; white-space: nowrap; vertical-align: middle; }
.pms-biz-tablewrap thead th { background: #f0eef7; color: #50466a; font-size: 12px; font-weight: 650; }
.pms-biz-tablewrap tbody th { color: var(--biz-ink); font-weight: 600; }
.pms-biz-tablewrap tbody tr:nth-child(even) { background: #fbfaff; }
.pms-biz-tablewrap tbody tr:last-child > * { border-bottom: 0; }
.pms-biz-tablewrap td > small, .pms-biz-tablewrap th > small { display: block; color: var(--biz-muted); font-size: 12px; }
.pms-biz-tablewrap td > button { padding: 8px 10px; font-size: 12px; }
.pms-biz-tablewrap td > :is(.pms-biz-status, [data-state]:not(button)), .pms-biz-status { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 20px; background: var(--biz-state-bg, var(--biz-neutral-bg)); color: var(--biz-state-text, var(--biz-neutral-text)); font-size: 12px; line-height: 1.5; white-space: nowrap; }
.pms-biz-tablewrap[data-pms-calendar] > table { min-width: 660px; table-layout: fixed; }
.pms-biz-tablewrap[data-pms-calendar] th { text-align: center; }
.pms-biz-tablewrap[data-pms-calendar] :is(thead,tbody) th:first-child { position: sticky; left: 0; z-index: 1; width: 86px; border-right: 1px solid var(--biz-line); }
.pms-biz-tablewrap[data-pms-calendar] tbody th:first-child { background: #fbfaff; }
.pms-biz-tablewrap[data-pms-calendar] td { padding: 3px; }
.pms-biz-tablewrap[data-pms-calendar] :is(td,th)[data-today] { background: #f3effc; }
.pms-demo .pms-biz-tablewrap[data-pms-calendar] button { display: inline-flex; width: 100%; min-width: 44px; min-height: 44px; padding: 5px 3px; border-color: transparent; border-radius: 7px; background: var(--biz-state-bg, #f3f1f8); color: var(--biz-state-text, var(--biz-ink)); font-size: 12px; line-height: 1.3; white-space: normal; }
.pms-demo .pms-biz-tablewrap[data-pms-calendar] button:hover:not(:disabled) { border-color: currentColor; background: var(--biz-state-bg, #f3f1f8); }
.pms-demo .pms-biz-tablewrap[data-pms-calendar] button:focus-visible { outline-offset: -3px; }
.pms-demo .pms-biz-scroll-hint { margin-top: 8px; color: var(--biz-muted); font-size: 12px; }
.pms-demo .pms-biz-empty { padding: 19px 14px; border: 1px dashed #ccc5de; border-radius: 10px; background: #fff; color: var(--biz-muted); text-align: center; font-size: 13px; }
.pms-biz-search { display: grid; gap: 5px; color: var(--biz-muted); font-size: 12px; }
.pms-demo :is(.pms-biz-panel,.pms-biz-dialog) :is(input:not([type="hidden"]),select,textarea) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #cfc9df;
  border-radius: 8px;
  background: #fff;
  color: var(--biz-ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
}
.pms-demo :is(.pms-biz-panel,.pms-biz-dialog) :is(input,textarea)::placeholder { color: #767286; opacity: 1; }
.pms-biz-kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,105px),1fr)); gap: 9px; margin: 0 0 13px; }
.pms-biz-kpis > * { display: flex; min-width: 0; min-height: 80px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; padding: 11px; border: 1px solid var(--biz-line); border-radius: 10px; background: #fff; color: var(--biz-ink); text-align: left; }
.pms-biz-kpis :is(small,span) { color: var(--biz-muted); font-size: 12px; }
.pms-biz-kpis strong { color: var(--biz-ink); font-size: clamp(19px, 1.7vw, 25px); font-weight: 650; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pms-biz-kpis > :first-child { border-color: #d9cff3; background: #f2eefb; }
.pms-biz-front-kpis {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 10px;
  padding: 7px;
  border: 1px solid #e8e9ee;
  border-radius: 5px;
  background: #fff;
}
.pms-demo .pms-biz-front-kpis > button {
  display: inline-flex;
  gap: 4px;
  min-width: 0;
  min-height: 32px;
  padding: 4px 7px;
  border-color: #c5deaa;
  border-radius: 4px;
  background: #eff8e7;
  color: #3c6229;
  font-size: 12px;
}
.pms-demo .pms-biz-front-kpis > [data-kpi="arrived"] { border-color: #c6d9ec; background: #edf6ff; color: #315880; }
.pms-demo .pms-biz-front-kpis > [data-kpi="departure"] { border-color: #ebcfab; background: #fff4e6; color: #83551e; }
.pms-demo .pms-biz-front-kpis > [data-kpi="occupied"] { border-color: #d9dce2; background: #f1f2f4; color: #484f59; }
.pms-demo .pms-biz-front-kpis > [data-kpi="overview"] { margin-inline-start: auto; border-color: #dedfe6; background: #f6f7f9; color: #555e6c; }
.pms-biz-front-kpis > button strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.pms-biz-room-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--biz-line); border-radius: 9px; background: #fff; color: var(--biz-muted); font-size: 12px; }
.pms-biz-room-summary strong { color: var(--biz-ink); font-size: 14px; }
.pms-biz-room-summary > div { display: flex; flex: 1 1 130px; min-width: 0; align-items: center; flex-wrap: wrap; gap: 6px 9px; }
.pms-biz-room-summary button { min-height: 44px; padding: 7px 10px; color: var(--demo-violet-deep); font-size: 12px; }
.pms-biz-card-guest { max-width: 100%; overflow: hidden; color: inherit; font-size: 12px; font-weight: 550; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.pms-front-assistant { background: #f4f6f9; }
.pms-assistant-tabs {
  display: flex;
  align-items: stretch;
  gap: 2px;
  padding: 0 7px;
  border-bottom: 1px solid #e2e6ed;
  border-radius: 6px 6px 0 0;
  background: #fff;
}
.pms-demo .pms-assistant-tabs button {
  min-width: 0;
  min-height: 38px;
  padding: 4px 7px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #55606e;
  font-size: 12px;
}
.pms-demo .pms-assistant-tabs button[aria-pressed="true"] { border-bottom-color: #3684db; color: #286aa9; font-weight: 600; }
.pms-assistant-body { padding: 8px; color: #455062; }
.pms-assistant-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  padding: 7px;
  border: 1px solid #e8ebf0;
  border-radius: 6px;
  background: #fff;
}
.pms-assistant-channels { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; grid-column: 1 / -1; }
.pms-demo .pms-assistant-channels button {
  min-width: 0;
  min-height: 28px;
  padding: 3px 2px;
  border-color: #e0e4ec;
  border-radius: 4px;
  color: #4c596b;
  font-size: 11px;
  white-space: nowrap;
}
.pms-demo .pms-assistant-channels button[aria-pressed="true"] { border-color: #4090e6; background: #ecf5ff; color: #235d9b; }
.pms-assistant-dates { position: relative; min-width: 74px; }
.pms-assistant-dates[open] { grid-column: 1 / -1; }
.pms-assistant-dates summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-height: 34px;
  padding: 4px 7px;
  border: 1px solid #d7dde7;
  border-radius: 4px;
  background: #fff;
  color: #42526a;
  font-size: 11px;
  list-style: none;
  cursor: pointer;
}
.pms-assistant-dates summary::-webkit-details-marker { display: none; }
.pms-assistant-dates summary::after { content: ""; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); }
.pms-assistant-dates[open] summary::after { transform: rotate(225deg); }
.pms-assistant-dates summary:focus-visible { outline: 2px solid #7962dd; outline-offset: 2px; }
.pms-assistant-dates label { margin-top: 5px; }
.pms-assistant-filters label { display: grid; min-width: 0; gap: 3px; color: #525d6b; font-size: 11px; }
.pms-assistant-filters :is(input, select) {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid #d7dde7;
  border-radius: 4px;
  background: #fff;
  color: #344255;
  font-size: 12px;
}
.pms-assistant-filters :is(input, label:has(input)) { grid-column: 1 / -1; }
.pms-assistant-count { margin-block: 8px 5px; color: #5f6878; font-size: 11px; font-variant-numeric: tabular-nums; }
.pms-assistant-list { display: grid; gap: 6px; }
.pms-assistant-list:focus-visible { outline: 2px solid var(--demo-violet); outline-offset: -2px; }
@container pms-console (min-width: 600px) and (max-width: 1000px) {
  .pms-assistant-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pms-assistant-list > .pms-assistant-empty { grid-column: 1 / -1; }
}
@container pms-console (width > 1000px) {
  .pms-assistant-list {
    max-block-size: clamp(180px, 32vh, 264px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
  }
}
.pms-assistant-card { min-width: 0; padding: 8px; border: 1px solid #e8ebf0; border-radius: 6px; background: #fff; box-shadow: 0 2px 5px #333b5108; }
.pms-assistant-card-meta,
.pms-assistant-card-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 6px; font-size: 11px; }
.pms-assistant-card-foot { margin-top: 6px; padding-top: 4px; border-top: 1px solid #eef0f3; }
.pms-assistant-card-meta .pms-assistant-id { flex: 1 1 68px; min-width: 0; }
.pms-assistant-source { margin-inline-start: auto; color: #516072; white-space: nowrap; }
.pms-assistant-card :is(.pms-biz-pill, .pms-biz-status) {
  padding: 3px 6px;
  border-radius: 4px;
  background: var(--biz-state-bg, #edf3fb);
  color: var(--biz-state-text, #385d8b);
  font-size: 11px;
  white-space: nowrap;
}
.pms-demo .pms-front-assistant .pms-biz-pill[data-state="reserved"] { --biz-state-bg: #ecf5ff; --biz-state-text: #235d9b; }
.pms-assistant-card .pms-assistant-room {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px;
  margin: 7px 0 2px;
  color: #303a4c;
  font-size: 13px;
  font-weight: 650;
}
.pms-assistant-room span { color: #5b6779; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.pms-assistant-room-info { display: grid; gap: 4px; min-width: 0; }
.pms-assistant-room-tag { justify-self: start; padding: 1px 5px; border-radius: 4px; background: #ecf5ff; color: #286aa9; font-size: 12px; }
.pms-assistant-id { display: block; color: #5b687d; font-size: 11px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pms-demo .pms-assistant-card button,
.pms-demo .pms-assistant-more {
  min-height: 32px;
  padding: 5px 7px;
  border-color: #dbe7f7;
  border-radius: 4px;
  background: #f4f8fd;
  color: #29639d;
  font-size: 11px;
}
.pms-demo .pms-assistant-card button[data-pms-assistant-order] { border-color: transparent; background: transparent; color: #246cb3; }
.pms-demo .pms-assistant-card button[data-pms-assistant-order]:hover:not(:disabled) { border-color: #b7d8f7; background: #edf6ff; }
.pms-demo .pms-assistant-more { width: 100%; margin-top: 7px; }
.pms-assistant-empty { padding: 18px 8px; color: #5e6878; font-size: 12px; text-align: center; }
.pms-biz-task-list { display: grid; gap: 8px; }
.pms-biz-task-list > :is(article,li,div) { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; min-height: 67px; padding: 11px; border: 1px solid var(--biz-line); border-radius: 10px; background: #fff; }
.pms-biz-task-list > :is(article,li,div) > div { display: flex; flex: 1 1 130px; min-width: 0; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.pms-biz-task-list :is(p,small) { color: var(--biz-muted); font-size: 12px; }
.pms-biz-task-list strong { color: var(--biz-ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.pms-biz-task-list button { padding: 7px 10px; color: var(--demo-violet-deep); font-size: 12px; }
.pms-biz-reports { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,235px),1fr)); gap: 10px; margin-bottom: 10px; }
.pms-biz-report { min-width: 0; margin: 0; padding: 13px; border: 1px solid var(--biz-line); border-radius: 11px; background: #fff; }
.pms-biz-report h5 { margin: 0 0 12px; color: var(--biz-ink); font-size: 14px; font-weight: 650; }
.pms-biz-channel-list { display: grid; gap: 10px; }
.pms-biz-bar-row { display: grid; grid-template-columns: minmax(2.5em,max-content) minmax(0,1fr) max-content; align-items: center; gap: 7px; color: var(--biz-muted); font-size: 12px; }
.pms-biz-bar-row > div, .pms-biz-bar-track { width: 100%; height: 7px; overflow: hidden; border-radius: 99px; background: #e9e5f3; }
.pms-biz-bar-row > div > :is(i,span), .pms-biz-bar-track > :is(i,span) { display: block; width: var(--value,0%); height: 100%; border-radius: inherit; background: #7c65ca; }
.pms-biz-bar-row > progress { width: 100%; height: 7px; accent-color: #7c65ca; }
.pms-biz-trend { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); align-items: end; gap: 5px; min-height: 112px; }
.pms-biz-trend > div { display: grid; grid-template-rows: auto 72px auto; justify-items: center; align-items: end; gap: 3px; min-width: 0; color: var(--biz-muted); font-size: 12px; text-align: center; }
.pms-biz-trend > div > strong { color: var(--biz-ink); font-size: 12px; }
.pms-biz-trend > div > :is(i,.pms-biz-trend-bar) { width: min(22px,75%); min-height: 3px; height: var(--value,0%); border-radius: 5px 5px 1px 1px; background: #a38ad9; }
.pms-biz-trend > div > small { font-size: 12px; white-space: nowrap; }
.pms-biz-recent { padding-bottom: 12px; }
.pms-biz-recent .pms-biz-tablewrap { border-radius: 8px; }
.pms-biz-recent .pms-biz-tablewrap > table { min-width: 470px; }
.pms-demo .pms-biz-dialog {
  position: fixed;
  inset: 0;
  width: min(620px,calc(100% - 24px));
  max-width: none;
  max-height: calc(100vh - 30px);
  max-height: calc(100dvh - 30px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #d4cbe8;
  border-radius: 17px;
  background: #fff;
  color: var(--biz-ink);
  box-shadow: 0 20px 64px #1d163854;
  color-scheme: light;
}
.pms-demo .pms-biz-dialog::backdrop { background: #20192e80; }
.pms-biz-dialog-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--biz-line); background: #f5f2fc; }
.pms-demo .pms-biz-dialog-header h3 { color: var(--biz-ink); font-size: 22px; font-weight: 650; line-height: 1.25; }
.pms-biz-dialog-header button { flex: none; font-size: 21px; }
.pms-biz-booking-form, .pms-biz-detail { padding: 15px 18px 18px; }
.pms-demo .pms-biz-form-intro { margin-bottom: 12px; color: var(--biz-muted); font-size: 13px; }
.pms-biz-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px 12px; }
.pms-biz-dialog label { display: grid; gap: 5px; min-width: 0; color: var(--biz-ink); font-size: 13px; }
.pms-biz-dialog label small { margin-inline-start: 4px; color: var(--biz-muted); font-size: 12px; }
.pms-biz-field-wide { grid-column: 1 / -1; }
.pms-biz-dialog textarea { resize: vertical; }
.pms-biz-form-errors { margin: 11px 0; padding: 10px 12px; border: 1px solid #e7a9a4; border-radius: 8px; background: #fff1ef; color: #873a34; font-size: 13px; }
.pms-biz-form-errors ul { padding-inline-start: 18px; }
.pms-biz-form-quote { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 13px 0 0; padding: 11px 12px; border: 1px solid #d9cff3; border-radius: 9px; background: #f2eefb; color: var(--biz-purple-text); font-size: 13px; }
.pms-biz-form-quote output { color: var(--biz-purple-text); font-size: 17px; font-weight: 650; font-variant-numeric: tabular-nums; }
.pms-biz-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pms-biz-dialog-actions button { padding: 8px 13px; font-size: 13px; }
.pms-biz-dialog-actions .is-danger { border-color: #e7a9a4; background: #fff1ef; color: #873a34; }
.pms-biz-detail :is(h4,dt) { color: var(--biz-ink); font-weight: 650; }
.pms-biz-detail > div > :is(p,dl,form) { margin: 0 0 10px; }
.pms-biz-detail p, .pms-biz-detail dd { color: var(--biz-muted); }
.pms-biz-detail dl { display: grid; grid-template-columns: minmax(100px,max-content) minmax(0,1fr); gap: 8px 13px; padding: 12px; border: 1px solid var(--biz-line); border-radius: 9px; background: var(--biz-paper); font-size: 13px; }
.pms-biz-detail dd { margin: 0; overflow-wrap: anywhere; }
.pms-biz-detail .pms-biz-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pms-biz-detail-grid > div { min-width: 0; }
.pms-biz-detail-grid dt { margin-bottom: 4px; font-size: 12px; }
.pms-biz-detail-field { margin-top: 16px; }
.pms-biz-order-scope { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; padding: 8px 12px; border-radius: 8px; background: #f0ecfa; color: #543b97; font-size: 12px; }
.pms-biz-detail form > label + label { margin-top: 10px; }
@media (max-width: 740px) {
  .pms-demo .pms-console-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; width: 100%; }
  .pms-demo .pms-console-tabs > [data-pms-section],
  .pms-demo .pms-front-toolbar .pms-biz-quick-actions button,
  .pms-demo .pms-biz-front-kpis > button,
  .pms-demo .pms-assistant-tabs button,
  .pms-demo .pms-assistant-channels button,
  .pms-assistant-dates summary,
  .pms-demo .pms-assistant-card button,
  .pms-demo .pms-assistant-more { min-height: 44px; }
  .pms-demo .pms-console-tabs > [data-pms-section] { padding-inline: 3px; }
  .pms-assistant-filters :is(input, select) { min-height: 44px; font-size: 16px; }
  .pms-demo :is(.pms-biz-panel,.pms-biz-dialog) :is(input:not([type="hidden"]),select,textarea) { font-size: 16px; }
}
@media (max-width: 460px) {
  .pms-biz-toolbar { gap: 8px; }
  .pms-biz-toolbar > div { flex-basis: 100%; }
  .pms-biz-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pms-biz-front-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pms-demo .pms-biz-front-kpis > [data-kpi="overview"] { margin-inline-start: 0; }
  .pms-biz-calendar-controls { gap: 6px; padding: 7px; }
  .pms-biz-dialog-header, .pms-biz-booking-form, .pms-biz-detail { padding-inline: 12px; }
  .pms-biz-fields { gap: 9px 8px; }
  .pms-demo .pms-biz-dialog :is(input:not([type="hidden"]),select,textarea) { padding-inline: 7px; }
}

/* Calendar controls and inventory share the same grid width. */
#pms-calendar-panel .pms-calendar-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
#pms-calendar-panel .pms-biz-calendar-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid var(--biz-line);
  border-radius: 5px;
  background: #fff;
}
#pms-calendar-panel .pms-biz-calendar-filters > label { display: grid; flex: 0 1 142px; gap: 3px; min-width: 0; color: var(--biz-muted); font-size: 12px; }
#pms-calendar-panel .pms-biz-calendar-location { display: grid; gap: 3px; min-width: 106px; color: var(--biz-muted); font-size: 12px; }
#pms-calendar-panel .pms-biz-calendar-location strong { display: flex; align-items: center; min-height: 36px; color: var(--biz-ink); font-size: 13px; font-weight: 550; }
#pms-calendar-panel .pms-biz-calendar-book { margin-inline-start: auto; }
#pms-calendar-panel :is(.pms-biz-calendar-filters, .pms-biz-calendar-controls) :is(input,select,button) { min-height: 36px; border-radius: 4px; }
#pms-calendar-panel .pms-biz-calendar-controls { gap: 8px 10px; border-bottom: 0; border-radius: 5px 5px 0 0; }
#pms-calendar-panel .pms-biz-calendar-controls input { width: 144px; }
#pms-calendar-panel .pms-biz-calendar-controls button { padding-inline: 10px; font-size: 12px; }
#pms-calendar-panel .pms-biz-calendar-controls :is([data-pms-biz="calendar-prev"], [data-pms-biz="calendar-next"]) { min-width: 36px; font-size: 18px; line-height: 1; }
#pms-calendar-panel .pms-biz-calendar-controls strong { margin-inline-end: auto; color: var(--biz-muted); font-size: 12px; font-weight: 500; }
#pms-calendar-panel .pms-biz-tablewrap { border-radius: 0 0 5px 5px; }
#pms-calendar-panel .pms-biz-calendar-table { min-width: 795px; }
#pms-calendar-panel .pms-biz-calendar-table th:first-child { width: 123px; }
#pms-calendar-panel .pms-biz-calendar-table :is(.pms-calendar-total,.pms-calendar-group-heading) > * { padding: 6px 8px; border-bottom: 1px solid var(--biz-line); background: #f3f5fb; color: #4d4180; font-weight: 600; text-align: center; }
#pms-calendar-panel .pms-biz-calendar-table .pms-calendar-total > * { background: #f0f5ec; color: #355e2a; }
#pms-calendar-panel .pms-biz-calendar-table .pms-calendar-total th small { margin-top: 2px; font-size: 11px; font-weight: 400; }
#pms-calendar-panel .pms-calendar-group-heading button {
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  background: transparent;
  color: var(--biz-ink);
  font-weight: 600;
  text-align: left;
}
#pms-calendar-panel .pms-calendar-group-heading button::before { content: ""; flex: none; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); }
#pms-calendar-panel .pms-calendar-group-heading button[aria-expanded="true"]::before { transform: translateY(-2px) rotate(45deg); }
#pms-calendar-panel .pms-calendar-room button[data-state="closed"] { background: #f7f7fa; }
#pms-calendar-panel .pms-calendar-room button[data-state="available"] { background: #fff; color: #315c25; }
#pms-calendar-panel .pms-calendar-room button small { display: block; margin-left: 4px; }
#pms-calendar-panel .pms-biz-empty { margin-top: 8px; }
@media (max-width: 740px) {
  #pms-calendar-panel .pms-biz-calendar-filters > label { flex: 1 1 110px; }
  #pms-calendar-panel .pms-biz-calendar-filters > .pms-biz-calendar-book { margin-inline-start: 0; }
  #pms-calendar-panel :is(.pms-biz-calendar-filters,.pms-biz-calendar-controls) :is(button,input,select) { min-height: 44px; }
  #pms-calendar-panel .pms-biz-calendar-controls .pms-biz-row-actions { flex-wrap: wrap; }
}
