/* Compact, Jira-inspired record interactions for the public demo. */
.panel-intro { padding: 132px 0 48px; }
.panel-intro-grid { align-items: center; gap: 64px; }
.panel-intro h1 { font-size: clamp(46px, 5vw, 68px); }
.panel-intro-copy > p { line-height: 1.65; }
.dashboard-section { background: linear-gradient(to bottom, var(--paper) 0 84px, #d9d5cc 84px 100%); }
.app-frame { min-height: 850px; box-shadow: 0 26px 72px rgba(35, 30, 24, .16); }
.app-content { padding: 26px 27px 34px; }
.panel-view-heading { min-height: 58px; margin-bottom: 17px; }
.platform-metric-grid { margin-bottom: 9px; gap: 8px; }
.platform-metric { min-height: 86px; padding: 13px 14px; box-shadow: none; }
.platform-metric::after { display: none; }
.platform-metric strong { font-size: clamp(19px, 2vw, 25px); }
.platform-card { box-shadow: none; }

.record-clickable { position: relative; cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.record-clickable:hover { border-color: #cfc8bc !important; background-color: #fff !important; box-shadow: 0 4px 14px rgba(27, 35, 32, .045); }
.record-clickable:focus-visible { outline: 2px solid rgba(113, 52, 67, .5); outline-offset: 2px; }
.record-menu-button {
  position: absolute; z-index: 4; top: 8px; right: 8px; display: grid; width: 29px; height: 29px;
  place-items: center; padding: 0; border: 1px solid transparent; border-radius: 5px; background: transparent;
  color: #6e675f; font-size: 10px; letter-spacing: 1px; opacity: .5; cursor: pointer;
}
.record-clickable:hover > .record-menu-button,
.record-clickable:focus-within > .record-menu-button,
.record-menu-button:focus-visible { border-color: #ddd7cd; background: #fff; opacity: 1; }
.record-menu-cell { position: relative; width: 43px; padding: 0 !important; }
.record-menu-cell .record-menu-button { top: 50%; right: 7px; transform: translateY(-50%); }
.guest-table th:last-child { width: 43px; }
.task-item { padding-right: 45px !important; }
.platform-ledger-list > article { padding-right: 46px; }
.platform-vendor-card { overflow: visible; }
.platform-vendor-body { padding-right: 42px; }
.platform-comment-list > article,
.platform-household-list > article,
.platform-question-list > article,
.platform-reminder-history > article,
.platform-run-list > li { padding-right: 45px; }

.platform-vendor-offer-list { display: grid; margin: 2px 0 8px; border-top: 1px solid #eee9e1; }
.platform-vendor-offer-list > article { min-height: 42px; padding: 9px 38px 8px 0; border-bottom: 1px solid #eee9e1; }
.platform-vendor-offer-list p { display: grid; margin: 0; gap: 1px; }
.platform-vendor-offer-list strong { color: #3d3934; font-size: 9px; font-weight: 550; }
.platform-vendor-offer-list small { color: #8f8980; font-size: 7px; }

.compact-create { min-width: 0; overflow: hidden; border: 1px solid var(--platform-line, #e2ddd4); border-radius: 8px; background: rgba(255,255,255,.92); }
.compact-create > summary { display: flex; min-height: 51px; align-items: center; justify-content: space-between; padding: 0 15px; cursor: pointer; list-style: none; }
.compact-create > summary::-webkit-details-marker { display: none; }
.compact-create > summary > span { display: inline-flex; align-items: center; gap: 9px; }
.compact-create > summary b { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 5px; background: #eee9e2; color: var(--platform-wine, #713443); font-size: 11px; }
.compact-create > summary strong { color: var(--platform-ink, #18211e); font-size: 9px; font-weight: 600; }
.compact-create > summary i { color: #8c867d; font-size: 9px; font-style: normal; transition: transform .16s ease; }
.compact-create[open] > summary { border-bottom: 1px solid var(--platform-line, #e2ddd4); }
.compact-create[open] > summary i { transform: rotate(180deg); }
.compact-create > .platform-form { border: 0; border-radius: 0; }
.compact-create > .platform-form > .platform-card-head { display: none; }
.platform-budget-grid:has(.compact-create:not([open])) { grid-template-columns: 1fr 270px; align-items: start; }
.platform-form-grid { align-items: start; }

.guest-status-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.guest-status-summary strong { padding: 5px 7px; border-radius: 999px; background: #f1eee8; color: #68625b; font-size: 8px; font-weight: 600; }
.guest-status-summary strong.status-attending { background: #e5efe9; color: #356149; }
.guest-status-summary strong.status-declined { background: #f5e8ea; color: #8c4352; }
.guest-status-summary span { color: #777168; font-size: 8px; }
.guest-status-summary .is-vip { background: #f4ead2; color: #816123; padding: 3px 6px; border-radius: 999px; font-weight: 650; }
.guest-detail-stack { display: grid; max-width: 210px; gap: 2px; }
.guest-detail-stack strong { overflow: hidden; color: #403c37; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.guest-detail-stack small { overflow: hidden; color: #918b83; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }

.planning-tasks-only { grid-template-columns: minmax(0, 1fr); }
.lodging-grid-live { align-items: start; }
.lodging-property-card { position: relative; }
.lodging-room-list { display: grid; margin-top: 14px; gap: 8px; }
.lodging-room-card { position: relative; display: grid; padding: 11px; border: 1px solid #e4ded5; border-radius: 7px; background: #fbfaf7; gap: 9px; }
.lodging-room-card > header { display: flex; align-items: center; justify-content: space-between; padding-right: 34px; }
.lodging-room-card header p { display: grid; margin: 0; gap: 2px; }
.lodging-room-card header strong { font-size: 9px; }
.lodging-room-card header small,
.lodging-room-card header em { color: #8d867e; font-size: 7px; font-style: normal; }
.lodging-room-card header em.is-over { color: #a23b4c; }
.lodging-room-guests { display: flex; flex-wrap: wrap; gap: 5px; }
.lodging-room-guests > span { display: inline-grid; min-height: 29px; align-items: center; padding: 3px 4px 3px 3px; border: 1px solid #ded8cf; border-radius: 999px; background: white; grid-template-columns: 23px auto 20px; gap: 5px; }
.lodging-room-guests b,
.lodging-waiting-list b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: #eee6dc; color: #713443; font-size: 6px; }
.lodging-room-guests strong { font-size: 7px; font-weight: 600; }
.lodging-room-guests button { width: 19px; height: 19px; padding: 0; border: 0; border-radius: 50%; background: #f5e9eb; color: #96384a; cursor: pointer; }
.lodging-room-assign { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.lodging-room-assign select,
.lodging-room-assign button { min-height: 32px; border: 1px solid #dcd6cd; border-radius: 5px; background: white; color: #554f48; font-size: 7px; }
.lodging-room-assign select { min-width: 0; padding: 0 8px; }
.lodging-room-assign button { padding: 0 10px; background: #1b3029; color: white; cursor: pointer; }
.lodging-waiting-list { display: grid; margin-top: 12px; gap: 6px; }
.lodging-waiting-list > span { display: grid; align-items: center; padding: 7px; border: 1px solid #e5dfd6; border-radius: 6px; grid-template-columns: 25px minmax(0, 1fr) auto; gap: 7px; }
.lodging-waiting-list strong { font-size: 8px; }
.lodging-waiting-list small { color: #918b83; font-size: 7px; }
.timeline-order-actions { display: inline-flex; gap: 3px; }
.timeline-order-actions button { width: 28px; min-height: 27px !important; padding: 0 !important; }
.timeline-order-actions button:disabled { opacity: .3; }

.venue-editor-workspace,
.venue-editor.is-seating-mode .venue-editor-workspace { grid-template-columns: minmax(0, 1fr); }
.venue-library { padding: 12px 14px; border-right: 0; border-bottom: 1px solid #d7d1c7; }
.venue-inspector { padding: 12px 14px; border-top: 1px solid #d7d1c7; border-left: 0; }
.venue-guest-dock { grid-template-columns: 170px minmax(180px, 1fr) 220px; align-items: center; }
.venue-guest-dock > .venue-panel-heading { margin: 0; }
.venue-guest-dock > .venue-accessibility-help { display: none; }
.venue-guest-roster { display: flex; max-height: none; grid-column: 1 / -1; overflow-x: auto; overflow-y: hidden; padding: 2px 0 5px; }
.venue-guest-card { flex: 0 0 235px; grid-template-columns: 28px minmax(0, 1fr) auto 8px; }
.venue-guest-family { display: grid; align-items: center; grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); gap: 6px; }
.venue-guest-family > span { color: #8c857d; font-size: 6px; }
.venue-guest-family select { width: 100%; min-width: 0; height: 26px; border: 1px solid #ddd7ce; border-radius: 4px; background: #fbfaf7; color: #555049; font-size: 7px; }
.venue-unseat-zone { min-height: 38px; grid-column: 1 / -1; }
.venue-layout-library .venue-palette { display: flex; overflow-x: auto; }
.venue-layout-library .venue-palette > button { flex: 0 0 175px; }
.venue-canvas-viewport { min-height: 650px; }
.venue-canvas { min-height: 580px; }
.venue-inspector-fields:not([hidden]) { display: grid; grid-template-columns: 200px minmax(0, 1fr); align-items: start; gap: 14px; }
.venue-inspector-fields .venue-selection-name { margin: 0; }
.venue-inspector-fields .venue-table-seating,
.venue-inspector-fields .venue-layout-properties { min-width: 0; }

.app-sidebar button { color: rgba(247, 244, 237, .72); }
.app-sidebar button:hover { color: #fff; background: rgba(255,255,255,.075); transform: translateX(2px); }
.app-sidebar button.active { color: #fff; }
.panel-view:not([hidden]) { animation: premiumReveal .34s cubic-bezier(.2,.72,.2,1) both; }
.platform-card,
.panel-module-card,
.guest-table-card { transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.platform-card:hover,
.panel-module-card:hover { border-color: #d6cfc4; box-shadow: 0 12px 32px rgba(32, 38, 34, .055); }
@keyframes premiumReveal { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .panel-view:not([hidden]) { animation: none; } .app-sidebar button { transition: none; } }

.route-card,
.lodging-card:not(.lodging-card-waiting) { cursor: pointer; }
.route-card:focus-visible,
.lodging-card:not(.lodging-card-waiting):focus-visible { outline: 2px solid rgba(113, 52, 67, .5); outline-offset: 2px; }
.local-card-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; margin-top: 10px; padding-top: 9px; border-top: 1px solid #ece7de; gap: 5px; }
.route-card > .local-card-actions { grid-column: 1 / -1; }
.local-card-actions button { min-height: 29px; padding: 0 9px; border: 1px solid #ddd7ce; border-radius: 5px; background: #fff; color: #58534d; font-size: 8px; font-weight: 600; cursor: pointer; }
.local-card-actions .local-card-delete { border-color: transparent; background: transparent; color: #a2384b; }
.route-card.is-editing,
.lodging-card.is-editing { border-color: #9a7078; box-shadow: 0 0 0 2px rgba(113, 52, 67, .08); }
[contenteditable="true"] { outline: 1px solid rgba(113, 52, 67, .35); outline-offset: 3px; border-radius: 2px; background: #fffaf8; }

.record-dialog { width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: hidden; border: 0; border-radius: 10px; background: #fbfaf7; box-shadow: 0 30px 90px rgba(19, 25, 22, .3); color: #20231f; }
.record-dialog::backdrop { background: rgba(20, 27, 24, .42); backdrop-filter: blur(3px); }
.record-dialog-shell { display: grid; max-height: inherit; grid-template-rows: auto auto minmax(0,1fr) auto auto; }
.record-dialog header { display: flex; min-height: 82px; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid #e4dfd6; }
.record-dialog header > div { display: grid; gap: 3px; }
.record-dialog header span { color: #8d555e; font-size: 7px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.record-dialog h2 { margin: 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.record-dialog header button { width: 34px; height: 34px; border: 0; border-radius: 6px; background: transparent; color: #746f67; font-size: 19px; cursor: pointer; }
.record-dialog header button:hover { background: #eeeae3; }
.record-dialog-note { display: flex; align-items: center; margin: 14px 20px 0; padding: 10px 12px; border-radius: 6px; background: #f1eee8; color: #746f67; gap: 9px; }
.record-dialog-note > span { display: grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #fff; color: #713443; }
.record-dialog-note p { margin: 0; font-size: 8px; line-height: 1.5; }
.record-dialog-fields { display: grid; padding: 17px 20px 22px; overflow-y: auto; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.record-field { display: grid; gap: 6px; }
.record-field:has(textarea) { grid-column: 1 / -1; }
.record-field > span,
.record-check > span { color: #706b64; font-size: 8px; font-weight: 550; }
.record-field input,
.record-field select,
.record-field textarea { width: 100%; min-height: 39px; padding: 9px 10px; border: 1px solid #d9d4cb; border-radius: 5px; outline: 0; background: #fff; color: #282723; font: inherit; font-size: 10px; }
.record-field textarea { min-height: 92px; resize: vertical; line-height: 1.55; }
.record-field input:focus,
.record-field select:focus,
.record-field textarea:focus { border-color: #7d4a55; box-shadow: 0 0 0 2px rgba(113,52,67,.1); }
.record-check { display: flex; min-height: 39px; align-items: center; padding: 8px 10px; border: 1px solid #ded9d0; border-radius: 5px; background: #fff; gap: 8px; }
.record-delete-confirm { display: grid; margin: 0 20px 13px; padding: 11px 13px; border: 1px solid #e3bfc4; border-radius: 6px; background: #fbf0f1; gap: 2px; }
.record-delete-confirm strong { color: #8f3445; font-size: 10px; }
.record-delete-confirm span { color: #986b73; font-size: 8px; }
.record-dialog footer { display: grid; min-height: 66px; align-items: center; padding: 12px 20px; border-top: 1px solid #e3ded5; background: #f4f1eb; grid-template-columns: auto 1fr auto auto; gap: 8px; }
.record-dialog footer button { min-height: 36px; padding: 0 13px; border: 1px solid #d5d0c7; border-radius: 5px; background: #fff; color: #4d4943; font-size: 8px; font-weight: 600; cursor: pointer; }
.record-dialog footer .record-save { border-color: #1b2924; background: #1b2924; color: #fff; }
.record-dialog footer .record-delete { border-color: transparent; background: transparent; color: #a2384b; }
.record-dialog.is-busy { pointer-events: none; opacity: .72; }

@media (max-width: 760px) {
  .panel-intro { padding: 112px 0 38px; }
  .panel-intro-grid { gap: 25px; }
  .app-content { padding: 18px 14px 24px; }
  .record-menu-button { border-color: #e0dbd2; background: #fff; opacity: 1; }
  .record-dialog-fields { grid-template-columns: 1fr; }
  .record-field:has(textarea) { grid-column: auto; }
  .record-dialog footer { grid-template-columns: 1fr 1fr; }
  .record-dialog footer > span { display: none; }
  .venue-guest-dock { grid-template-columns: 1fr; }
  .venue-guest-roster,
  .venue-unseat-zone { grid-column: auto; }
  .venue-guest-card { flex-basis: 220px; }
  .venue-canvas-viewport { min-height: 510px; }
  .venue-canvas { min-height: 450px; }
  .venue-inspector-fields:not([hidden]) { grid-template-columns: 1fr; }
}

/* Readability and high-context seating editor. */
.panel-ui-icon,
.button-ui-icon { display: block; flex: 0 0 auto; width: 18px; height: 18px; }
.button-ui-icon { width: 15px; height: 15px; }
.app-sidebar nav .panel-ui-icon,
.app-sidebar-bottom .panel-ui-icon { color: rgba(255, 255, 255, .9); filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); }
.app-sidebar nav button { color: rgba(255,255,255,.86); font-size: 12px; font-weight: 500; }
.app-sidebar nav button.active,
.app-sidebar nav button:hover { color: #fff; }
.app-nav-group > p { color: rgba(255,255,255,.52); font-size: 9px !important; }
.app-sidebar nav b { background: rgba(255,255,255,.13); color: #fff; font-size: 9px !important; }
.panel-view-heading > div:first-child > span { color: #625f59; font-size: 12px; line-height: 1.55; }
.panel-view-kicker { font-size: 10px !important; }
.app-topbar > div > span,
.app-demo-ribbon p { color: #665f5b; font-size: 11px; }

.venue-editor-toolbar { min-height: 68px; padding: 11px 15px; }
.venue-room-identity strong { max-width: 340px; font-size: 17px; }
.venue-room-identity small { color: #69635c; font-size: 10px; }
.venue-room-icon { width: 38px; height: 38px; }
.venue-room-icon .panel-ui-icon { width: 19px; height: 19px; }
.venue-editor-actions > button,
.venue-mode-switch button,
.venue-view-options button,
.venue-zoom-control { min-height: 38px; padding: 0 11px; color: #4e4943; font-size: 10px; font-weight: 600; }
.venue-mode-switch button { min-height: 32px; font-size: 10px; }
.venue-view-options > summary { display: flex; width: auto; min-width: 80px; height: 38px; align-items: center; justify-content: center; padding: 0 10px; font-size: 10px; gap: 6px; }
.venue-view-options > div { min-width: 470px; }
.venue-zoom-control strong { min-width: 44px; color: #49443e; font-size: 10px; }
.venue-zoom-control button { width: 34px; height: 36px; font-size: 17px; }
.venue-panel-heading p { font-size: 16px; }
.venue-panel-heading span { color: #625d57; font-size: 10px; }
.venue-panel-heading b { width: 28px; height: 28px; font-size: 10px; }
.venue-guest-search { height: 40px; }
.venue-guest-search input,
.venue-guest-filters button { color: #413d38; font-size: 11px; }
.venue-guest-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.venue-guest-filters button { min-height: 34px; }
.venue-guest-card { flex: 0 0 310px; min-height: 108px; padding: 10px; cursor: default; grid-template-columns: 36px minmax(0,1fr) auto; gap: 8px; }
.venue-guest-card .guest-avatar { width: 35px; height: 35px; font-size: 10px; }
.venue-guest-card strong { color: #272521; font-size: 11px; }
.venue-guest-card small { overflow: hidden; color: #6f6962; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.venue-guest-card em { max-width: 88px; padding: 5px 7px; font-size: 9px; }
.venue-guest-actions { display: flex; grid-column: 1 / -1; gap: 6px; }
.venue-guest-actions button { min-height: 30px; padding: 0 9px; border: 1px solid #d8d2c9; border-radius: 5px; background: #fff; color: #4d4842; font-size: 9px; font-weight: 650; cursor: pointer; }
.venue-guest-actions .venue-guest-choose { border-color: #274b3e; background: #274b3e; color: #fff; }
.venue-guest-actions .venue-guest-choose.is-active { border-color: #a47b38; background: #a47b38; }
.venue-guest-family { gap: 8px; }
.venue-guest-family > span { color: #625d57; font-size: 9px; font-weight: 600; }
.venue-guest-family select { height: 32px; color: #393631; font-size: 9px; }
.venue-canvas-meta,
.venue-canvas-meta strong { color: #5f5952; font-size: 10px; }
.venue-canvas-meta > span { padding: 6px 9px; }
.venue-canvas { transform: none; zoom: var(--venue-zoom, 1); }
.venue-element-core strong { font-size: clamp(9px, 1vw, 13px); }
.venue-element-core small,
.venue-element-core .venue-table-occupancy { font-size: 8px; }
.venue-table-guest-stack { min-height: 26px; gap: 3px; }
.venue-table-guest-stack > button.venue-map-guest { position: relative; display: grid; min-width: 22px; height: 22px; place-items: center; margin: 0; padding: 0 4px; border: 1px solid white; border-radius: 999px; background: #315b4c; color: white; box-shadow: 0 2px 5px rgba(34,52,43,.22); cursor: pointer; }
.venue-table-guest-stack > button.venue-map-guest b { font-size: 7px; font-weight: 700; }
.venue-table-guest-stack > button.venue-map-guest small { display: none; color: inherit; font-size: 7px; font-weight: 650; opacity: 1; white-space: nowrap; }
.venue-table-guest-stack > button.venue-map-guest.has-special-diet::after { position: absolute; top: -3px; right: -2px; width: 7px; height: 7px; border: 1px solid white; border-radius: 50%; background: #d49732; content: ""; }
.venue-editor.show-guest-names .venue-table-guest-stack > button.venue-map-guest { min-width: 54px; grid-template-columns: 17px auto; gap: 3px; }
.venue-editor.show-guest-names .venue-table-guest-stack > button.venue-map-guest small { display: block; overflow: hidden; max-width: 54px; text-overflow: ellipsis; }
.venue-seated-guest { min-height: 52px; padding: 8px; cursor: pointer; }
.venue-seated-guest strong { color: #2e2b27; font-size: 10px; }
.venue-seated-guest small { color: #6e6861; font-size: 9px; line-height: 1.35; }
.venue-table-seating-summary strong,
.venue-table-guests-heading strong,
.venue-seat-quick-add > strong { font-size: 10px; }
.venue-table-seating-summary small,
.venue-table-guests-heading span { font-size: 9px; }
.venue-seat-quick-add select,
.venue-seat-quick-add button { min-height: 36px; font-size: 9px; }
.venue-inspector-empty p { color: #655f58; font-size: 10px; }
.venue-inspector-fields input:not([type="range"]),
.venue-property-grid input,
.venue-room-settings input { min-height: 36px; font-size: 10px; }
.venue-room-settings label,
.venue-inspector-fields > label,
.venue-layout-properties > label,
.venue-property-grid label,
.venue-colors > span { color: #5f5952; font-size: 9px; }

.record-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(900px, calc(100vh - 24px)); }
.record-dialog-shell { grid-template-rows: auto auto auto minmax(0,1fr) auto auto; }
.record-dialog header span { font-size: 9px; }
.record-dialog-note p,
.record-field > span,
.record-check > span,
.record-dialog footer button { font-size: 10px; }
.record-profile-summary { display: grid; margin: 12px 20px 0; padding: 14px; border: 1px solid #dcd6cc; border-radius: 8px; background: linear-gradient(135deg, #fff, #f4f0e8); gap: 11px; }
.record-profile-hero { display: grid; align-items: center; grid-template-columns: 44px minmax(0,1fr); gap: 10px; }
.record-profile-hero > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #713443; color: #fff; font-size: 12px; font-weight: 700; }
.record-profile-hero p { display: grid; margin: 0; gap: 2px; }
.record-profile-hero strong { font-family: var(--serif); font-size: 19px; font-weight: 500; }
.record-profile-hero small { color: #69635c; font-size: 10px; }
.record-profile-badges { display: flex; flex-wrap: wrap; gap: 5px; }
.record-profile-badges span { padding: 4px 7px; border-radius: 999px; background: #e8eee9; color: #315849; font-size: 9px; font-weight: 650; }
.record-profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.record-profile-facts p { display: grid; min-width: 0; margin: 0; padding: 8px 9px; border: 1px solid #e7e1d8; border-radius: 6px; background: rgba(255,255,255,.7); gap: 2px; }
.record-profile-facts span { color: #8b5a63; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.record-profile-facts strong { overflow: hidden; color: #3e3a35; font-size: 10px; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }

.venue-editor:fullscreen,
.venue-editor.is-fullscreen-fallback { position: fixed; z-index: 1000; inset: 0; display: grid; width: 100vw; height: 100vh; margin: 0; overflow: hidden; border: 0; border-radius: 0; background: #e7e3da; grid-template-rows: auto minmax(0,1fr); }
.venue-editor.is-fullscreen-fallback { position: fixed; }
.venue-editor:fullscreen .venue-editor-toolbar,
.venue-editor.is-fullscreen-fallback .venue-editor-toolbar { border-radius: 0; }
.venue-editor:fullscreen .venue-editor-workspace,
.venue-editor.is-fullscreen-fallback .venue-editor-workspace { display: grid; min-height: 0; overflow: hidden; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto minmax(0,1fr) auto; }
.venue-editor:fullscreen .venue-library,
.venue-editor.is-fullscreen-fallback .venue-library { max-height: 190px; overflow: hidden; }
.venue-editor:fullscreen .venue-canvas-column,
.venue-editor.is-fullscreen-fallback .venue-canvas-column { display: flex; min-height: 0; padding: 10px 18px; flex-direction: column; }
.venue-editor:fullscreen .venue-canvas-viewport,
.venue-editor.is-fullscreen-fallback .venue-canvas-viewport { flex: 1; min-height: 0; }
.venue-editor:fullscreen .venue-canvas,
.venue-editor.is-fullscreen-fallback .venue-canvas { width: max(100%, 1100px); min-height: 620px; }
.venue-editor:fullscreen .venue-inspector,
.venue-editor.is-fullscreen-fallback .venue-inspector { max-height: 230px; overflow-y: auto; }

@media (max-width: 760px) {
  .app-sidebar nav button { font-size: 11px; }
  .venue-editor-actions > button,
  .venue-mode-switch button { font-size: 9px; }
  .venue-view-options > summary { min-width: 42px; }
  .venue-view-options > summary span { display: none; }
  .venue-view-options > div { right: -44px; min-width: min(92vw, 470px); flex-wrap: wrap; }
  .venue-guest-filters { grid-template-columns: 1fr; }
  .venue-guest-card { flex-basis: 285px; }
  .record-profile-facts { grid-template-columns: 1fr; }
}

/* Global legibility pass — keep every demo workflow comfortable to read. */
.panel-shell,
.record-dialog {
  color: #282622;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.app-main,
.app-content,
.panel-view {
  color: #292722;
}

@media (min-width: 901px) {
  .app-frame {
    grid-template-columns: 270px minmax(0, 1fr);
  }
}

.app-main :where(small, time),
.card-title span,
.panel-activity-list span,
.panel-mini-rows time,
.table-footer {
  color: #5f5a53;
}

.app-main button:not(.panel-button-primary):not(.platform-submit),
.app-main select,
.app-main input,
.app-main textarea {
  color: #3f3b36;
}

.app-main input::placeholder,
.app-main textarea::placeholder {
  color: #736d65;
  opacity: 1;
}

.app-sidebar nav button {
  min-height: 43px;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.25;
}

.app-nav-group > p {
  color: rgba(255,255,255,.68);
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .12em;
}

.app-sidebar nav b {
  min-width: 21px;
  height: 21px;
  color: #fff;
  font-size: 11px !important;
}

.app-brand small,
.app-sidebar-bottom > a,
.app-profile small {
  color: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1.45;
}

.app-topbar > div > span,
.app-demo-ribbon p,
.panel-view-heading > div:first-child > span,
.panel-inline-note,
.panel-empty-state {
  color: #5d5851;
  font-size: 13px;
  line-height: 1.6;
}

.panel-view-kicker,
.panel-card-badge,
.live-pill,
.app-demo-ribbon > span {
  color: #68404a;
  font-size: 12px !important;
  font-weight: 700;
}

.panel-view-heading h2 {
  color: #25231f;
  font-size: clamp(31px, 3.2vw, 42px);
  line-height: 1.08;
}

.panel-button,
.panel-text-action,
.app-export,
.filter-button,
.panel-action-select,
.panel-status-select,
.panel-quick-form input,
.panel-field input,
.panel-field select,
.panel-field textarea {
  color: #34312d;
  font-size: 13px;
}

.panel-button,
.app-export,
.filter-button {
  min-height: 42px;
}

.panel-module-card-head p,
.panel-module-card-head span,
.dash-metric span,
.dash-metric small,
.dashboard-notice small,
.guest-name small,
.guest-status-summary span,
.guest-detail-stack small,
.route-path span,
.assignment-list small,
.task-item small,
.campaign-list small,
.settings-list-card small,
.settings-details-card small {
  color: #625d56;
  font-size: 12px;
  line-height: 1.5;
}

.guest-status-summary strong,
.status-pill,
.table-tag,
.panel-segmented button,
.route-card > button,
.assignment-list button,
.campaign-list > article > button,
.moderation-actions button,
.settings-links a,
.panel-reset-card button {
  font-size: 12px !important;
}

.guest-detail-stack strong,
.platform-vendor-offer-list strong,
.compact-create > summary strong,
.lodging-room-card header strong,
.lodging-room-guests strong,
.lodging-waiting-list strong,
.local-card-actions button {
  color: #393631;
  font-size: 13px;
  line-height: 1.4;
}

.lodging-card-top span,
.lodging-room-card header small,
.lodging-card .occupancy small {
  color: #5f5a53;
  font-size: 12px;
  line-height: 1.45;
}

.platform-vendor-offer-list small,
.lodging-room-card header em,
.lodging-waiting-list small {
  color: #625d56;
  font-size: 12px;
  line-height: 1.45;
}

.lodging-waiting-list b {
  width: 30px;
  height: 30px;
  font-size: 10px;
}

.lodging-room-assign select,
.lodging-room-assign button,
.local-card-actions button {
  min-height: 38px;
  font-size: 12px;
}

/* Platform modules originally used mockup-scale type. At runtime they now use UI-scale type. */
.panel-view [class^="platform-"] :where(small, time, dt, dd, em, label),
.panel-view [class*=" platform-"] :where(small, time, dt, dd, em, label) {
  color: #625d56;
  font-size: 12px;
  line-height: 1.5;
}

.panel-view [class^="platform-"] :where(p, li),
.panel-view [class*=" platform-"] :where(p, li) {
  color: #4e4a44;
  font-size: 13px;
  line-height: 1.55;
}

.panel-view [class^="platform-"] :where(strong),
.panel-view [class*=" platform-"] :where(strong) {
  color: #302e2a;
  font-size: 13px;
  line-height: 1.4;
}

.panel-view [class^="platform-"] :where(button, input, select, textarea),
.panel-view [class*=" platform-"] :where(button, input, select, textarea) {
  font-size: 12px;
}

.platform-view span:not(.sr-only),
.panel-view .platform-form .platform-field > span,
.panel-view .platform-metric > span,
.panel-view .platform-card-head span,
.panel-view .platform-ledger-head span {
  color: #5f5a53;
  font-size: 12px;
  line-height: 1.45;
}

.platform-view .platform-status,
.platform-view .platform-demo-chip {
  font-size: 11px;
  font-weight: 700;
}

.platform-view .platform-metric-emphasis,
.platform-view .platform-metric-emphasis > span,
.platform-view .platform-metric-emphasis strong,
.platform-view .platform-metric-emphasis small {
  color: #fff;
}

.platform-view .platform-avatar {
  color: #fff;
}

.platform-view .platform-safety-note {
  color: #625d56;
  font-size: 12px;
  line-height: 1.55;
}

.platform-view .platform-empty > span {
  font-size: 22px;
}

.platform-presence strong,
.platform-list-primary small,
.platform-ledger-list > article > strong,
.platform-vendor-title p,
.platform-vendor-body dt,
.platform-vendor-body dd,
.platform-member-list strong,
.platform-member-list small,
.platform-member-list em,
.platform-comment-list strong,
.platform-comment-list time,
.platform-comment-list div > span,
.platform-activity-stream strong,
.platform-activity-stream span,
.platform-household-list header p,
.platform-household-facts span,
.platform-household-list footer strong,
.platform-household-list footer span,
.platform-reminder-history strong,
.platform-reminder-history small,
.platform-reminder-preview > span,
.platform-reminder-preview strong,
.platform-reminder-preview small,
.platform-timeline-clock > span,
.platform-timeline-clock small,
.platform-timeline-summary small,
.platform-run-list header strong,
.platform-run-list header span,
.platform-run-list article > p,
.platform-owner,
.platform-critical-card p,
.platform-critical-card small,
.platform-critical-card a,
.platform-contact-strip span,
.platform-contact-strip strong,
.platform-contact-strip small {
  font-size: 12px;
  line-height: 1.5;
}

.platform-household-list h3,
.platform-run-list header strong {
  color: #302e2a;
  font-size: 14px;
}

.platform-comment-form textarea,
.platform-timeline-clock input,
.platform-run-list footer button,
.platform-contact-strip button,
.platform-comment-list footer button,
.platform-household-list footer button,
.platform-member-list button {
  min-height: 38px;
  font-size: 12px;
}

/* Seating editor: larger labels while keeping the room canvas spacious. */
.venue-room-identity small,
.venue-heading-summary strong,
.venue-heading-summary span,
.venue-panel-heading span,
.venue-canvas-meta,
.venue-canvas-meta strong,
.venue-inspector-empty p,
.venue-canvas-footer,
.venue-table-seating-summary small,
.venue-table-guests-heading span,
.venue-selection-name small,
.venue-lock small,
.venue-compact-panel > summary small,
.venue-plan-notice > summary small,
.venue-plan-notice-list small {
  color: #5f5a53;
  font-size: 12px;
  line-height: 1.5;
}

.venue-editor-actions > button,
.venue-mode-switch button,
.venue-view-options > summary,
.venue-zoom-control,
.venue-zoom-control strong,
.venue-guest-search input,
.venue-guest-filters button,
.venue-guest-actions button,
.venue-guest-family select,
.venue-seat-quick-add select,
.venue-seat-quick-add button,
.venue-inspector-actions button,
.venue-property-grid input,
.venue-room-settings input,
.venue-room-settings .platform-submit {
  color: #37342f;
  font-size: 12px;
}

.venue-guest-card strong,
.venue-seated-guest strong,
.venue-table-seating-summary strong,
.venue-table-guests-heading strong,
.venue-seat-quick-add > strong,
.venue-selection-name strong,
.venue-lock strong,
.venue-compact-panel > summary strong,
.venue-plan-notice > summary strong,
.venue-plan-notice-list strong {
  color: #2e2b27;
  font-size: 13px;
}

.venue-guest-card small,
.venue-guest-card em,
.venue-seated-guest small,
.venue-guest-family > span,
.venue-room-settings label,
.venue-inspector-fields > label,
.venue-layout-properties > label,
.venue-property-grid label,
.venue-colors > span {
  color: #625d56;
  font-size: 11px;
  line-height: 1.45;
}

.venue-guest-card {
  min-height: 116px;
}

.venue-table-guest-stack > button.venue-map-guest {
  min-width: 26px;
  height: 26px;
}

.venue-table-guest-stack > button.venue-map-guest b {
  font-size: 11px;
}

.venue-table-guest-stack > button.venue-map-guest small {
  font-size: 11px;
}

.venue-editor.show-guest-names .venue-table-guest-stack > button.venue-map-guest {
  min-width: 68px;
  grid-template-columns: 19px auto;
}

.venue-editor.show-guest-names .venue-table-guest-stack > button.venue-map-guest small {
  max-width: 70px;
}

.venue-element-core small,
.venue-element-core .venue-table-occupancy,
.venue-dimension {
  font-size: 11px;
  opacity: .82;
}

.venue-unseat-zone strong,
.venue-unseat-zone small {
  color: #5b5650;
  font-size: 12px;
}

/* Overview and classic modules use the same readable scale as platform views. */
.panel-view[data-panel-view="overview"] .card-title button,
.panel-view[data-panel-view="overview"] .panel-text-action {
  color: #4f4a44;
  font-size: 12px;
}

.panel-view[data-panel-view="overview"] .panel-activity-list strong,
.panel-view[data-panel-view="overview"] .panel-mini-rows strong,
.panel-view[data-panel-view="overview"] .logistics-tip strong {
  color: #302e2a;
  font-size: 13px;
  line-height: 1.45;
}

.panel-view[data-panel-view="overview"] .logistics-tip p {
  color: #5f5a53;
  font-size: 12px;
  line-height: 1.55;
}

.panel-view .guest-avatar {
  font-size: 11px;
}

.invitation-miniature p,
.invitation-miniature > small,
.invitation-miniature > a,
.invitation-publish-status button {
  font-size: 11px;
  line-height: 1.45;
}

/* Record editor and guest profile. */
.record-dialog header span {
  color: #74424d;
  font-size: 12px;
}

.record-dialog-note p,
.record-field > span,
.record-check > span,
.record-dialog footer button,
.record-delete-confirm span {
  color: #5c5750;
  font-size: 13px;
  line-height: 1.5;
}

.record-field input,
.record-field select,
.record-field textarea {
  min-height: 44px;
  color: #26241f;
  font-size: 14px;
}

.record-dialog footer button {
  min-height: 42px;
}

.record-profile-hero small,
.record-profile-badges span,
.record-profile-facts span,
.record-profile-facts strong {
  font-size: 12px;
}

.record-profile-hero small,
.record-profile-facts strong {
  color: #56514b;
}

.record-profile-facts span {
  color: #74424d;
}

@media (max-width: 760px) {
  .app-sidebar nav button { font-size: 13px; }
  .panel-view-heading h2 { font-size: 31px; }
  .venue-editor-actions > button,
  .venue-mode-switch button { font-size: 11px; }
  .record-dialog-note p,
  .record-field > span,
  .record-check > span,
  .record-dialog footer button { font-size: 12px; }
  .table-search input { font-size: 16px; }
}
