.hl-editor { --hl-line: var(--line, #ced8d8); --hl-accent: var(--brand, #1c8d84); min-width: 0; color: var(--ink, #1f2528); }
[data-admin-panel="hospitality"]:has([data-hospitality-topic-panel="floorplan"]:not([hidden])) > .section-heading { display: none; }
.hl-editor *, .hl-editor *::before, .hl-editor *::after { box-sizing: border-box; }
.hl-editor [hidden] { display: none !important; }
.hl-editor h3 { font-size: 20px; margin: 0; }
.hl-editor h4 { font-size: 14px; margin: 0 0 12px; }
.hl-editor p { margin: 6px 0; overflow-wrap: anywhere; }
.hl-heading, .hl-toolbar, .hl-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.hl-heading, .hl-toolbar { justify-content: space-between; }
.hl-heading { margin-bottom: 6px; gap: 8px 16px; }
.hl-heading > div:first-child { min-width: 0; flex: 1 1 180px; }
.hl-heading [data-hl="context"], .hl-heading [data-hl="version"] { display: inline; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.hl-heading [data-hl="version"]:not(:empty)::before { content: " / "; }
.hl-more > summary { min-width: 60px; text-align: center; border: 1px solid var(--hl-line); border-radius: 6px; background: var(--panel); padding: 11px 12px; font-size: 13px; }
.hl-more[open] { flex: 1 1 100%; }
.hl-more[open] > .hl-actions { padding: 6px 0; }
.hl-controls > summary { font-size: 13px; }
.hl-editor[data-layout="wide"] .hl-controls, .hl-editor[data-layout="wide"] .hl-more { display: contents; }
.hl-editor[data-layout="wide"] .hl-controls > summary, .hl-editor[data-layout="wide"] .hl-more > summary { display: none; }
.hl-editor[data-layout="wide"] .hl-more > .hl-actions { padding: 0; }
.hl-editor button, .hl-editor select, .hl-editor input { font: inherit; max-width: 100%; min-width: 0; }
.hl-editor button { min-height: 44px; min-width: 44px; border: 1px solid var(--hl-line); border-radius: 6px; padding: 9px 12px; background: var(--panel, #fff); color: var(--ink, #1f2528); display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: normal; overflow-wrap: anywhere; }
.hl-editor button:hover:not(:disabled) { background: color-mix(in srgb, var(--hl-accent) 8%, var(--panel, #fff)); border-color: var(--hl-accent); }
.hl-editor button:active:not(:disabled) { background: color-mix(in srgb, var(--hl-accent) 16%, var(--panel, #fff)); transform: translateY(1px); }
.hl-editor button:disabled { cursor: not-allowed; opacity: .45; }
.hl-editor button.primary { background: var(--hl-accent); color: var(--on-brand, #000); border-color: var(--hl-accent); width: auto; }
.hl-editor button.primary:hover:not(:disabled), .hl-editor button.primary:active:not(:disabled) { background: var(--hl-accent); box-shadow: inset 0 0 0 1px var(--on-brand, #000); }
.hl-editor [data-lucide], .hl-editor button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.hl-editor :focus-visible { outline: 3px solid var(--brand-focus, var(--hl-accent)); outline-offset: 2px; }
.hl-editor label { font-size: 13px; font-weight: 600; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hl-editor input:not([type="checkbox"]), .hl-editor select { width: 100%; min-height: 44px; border: 1px solid var(--hl-line); border-radius: 5px; background: var(--panel, #fff); color: var(--ink, #1f2528); padding: 8px; }
.hl-editor input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 22px; accent-color: var(--hl-accent); }
.hl-status { min-height: 26px; padding: 4px 8px; font-size: 13px; background: color-mix(in srgb, var(--hl-accent) 8%, var(--panel, #fff)); border-left: 3px solid var(--hl-accent); overflow-wrap: anywhere; }
.hl-status[data-tone="error"] { background: var(--status-danger-bg, #fff0ec); border-color: var(--status-danger-text, #8f2b22); }
.hl-editor[aria-busy="true"] .hl-status::before { content: ""; display: inline-block; width: 14px; height: 14px; border: 2px solid var(--hl-line); border-top-color: var(--hl-accent); border-radius: 50%; margin-right: 8px; animation: hl-spin .8s linear infinite; }
@keyframes hl-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .hl-editor[aria-busy="true"] .hl-status::before { animation: none; } }
.hl-recovery, .hl-empty { padding: 12px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.hl-toolbar { padding: 6px 0; border-bottom: 1px solid var(--hl-line); }
.hl-places { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 8px; padding: 6px 0; align-items: end; }
.hl-places > * { min-width: 0; }
.hl-places input[type="file"] { font-size: 12px; }
.hl-inline { width: 150px; }
.hl-editor [data-hl="alignment"] { width: 140px; }
.hl-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 6px 0; }
.hl-tabs button { flex: 1; padding: 8px 4px; font-size: 13px; }
.hl-tabs [aria-selected="true"] { background: color-mix(in srgb, var(--hl-accent) 12%, var(--panel, #fff)); border-color: var(--hl-accent); font-weight: 700; }
.hl-workspace { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; border-bottom: 1px solid var(--hl-line); }
.hl-workspace > section { min-width: 0; min-height: 0; }
.hl-list, .hl-properties, .hl-settings { padding: 10px; }
.hl-object-row { display: grid !important; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 2px 8px !important; min-height: 48px; padding: 8px 0; border-bottom: 1px solid var(--hl-line); }
.hl-object-row input { grid-row: 1 / 3; }
.hl-object-row span { flex: 1; overflow-wrap: anywhere; }
.hl-object-row small { grid-column: 2; font-weight: 400; color: var(--muted, #637074); }
.hl-map { background: var(--surface-muted, #eef3f2); position: relative; }
.hl-map > svg { display: block; width: 100%; height: max(320px, 55dvh); min-width: 0; touch-action: none; user-select: none; }
.hl-map > p { padding: 16px; }
.hl-object { cursor: pointer; }
.hl-object:focus-visible { outline: none; }
.hl-object:focus-visible > rect, .hl-object:focus-visible > ellipse { stroke: var(--brand-focus, var(--hl-accent)); stroke-width: 50; }
.hl-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.hl-fields > label:first-child { grid-column: 1 / -1; }
.hl-geometry { grid-column: 1 / -1; border-top: 1px solid var(--hl-line); }
.hl-geometry .hl-fields > label:first-child { grid-column: auto; }
.hl-report { border-left: 3px solid var(--status-warning-text, #70501c); padding: 12px; margin: 16px 0; background: var(--status-warning-bg, #fff5df); }
.hl-assets, .hl-history { border-bottom: 1px solid var(--hl-line); padding: 0; }
.hl-editor summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-weight: 600; }
.hl-revision { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 0; }
.hl-revision span { flex: 1; min-width: 160px; overflow-wrap: anywhere; }
.hl-assets .hl-places { grid-template-columns: minmax(0, 1fr); }
.hl-editor:not([data-layout="wide"]) .hl-workspace[data-active-pane="map"] > section:not(.hl-map),
.hl-editor:not([data-layout="wide"]) .hl-workspace[data-active-pane="list"] > section:not(.hl-list),
.hl-editor:not([data-layout="wide"]) .hl-workspace[data-active-pane="properties"] > section:not(.hl-properties),
.hl-editor:not([data-layout="wide"]) .hl-workspace[data-active-pane="settings"] > section:not(.hl-settings) { display: none; }
@media (max-width: 420px) {
  .hl-inline, .hl-editor [data-hl="alignment"] { width: 120px; }
}
@media (min-width: 1000px) {
  body.admin-open .admin-workspace:has([data-admin-panel="hospitality"]:not([hidden]) [data-hospitality-topic-panel]:not([hidden])) > .admin-assistant-fab {
    position: static; grid-column: 2; grid-row: 3; justify-self: end; margin: 12px 24px 24px; box-shadow: none;
  }
}
.hl-editor[data-layout="wide"] .hl-workspace { grid-template-columns: 148px minmax(0, 1fr) 260px; grid-template-rows: auto minmax(0, 1fr); height: var(--hl-workspace-height, 500px); }
.hl-editor[data-layout="wide"] .hl-list { grid-area: 1 / 1 / 3 / 2; border-right: 1px solid var(--hl-line); overflow-y: auto; }
.hl-editor[data-layout="wide"] .hl-map { grid-area: 1 / 2 / 3 / 3; }
.hl-editor[data-layout="wide"] .hl-map > svg { height: 100%; }
.hl-editor[data-layout="wide"] .hl-tabs { grid-area: 1 / 3; padding: 6px; margin: 0; border-left: 1px solid var(--hl-line); }
.hl-editor[data-layout="wide"] .hl-tabs [data-pane="map"], .hl-editor[data-layout="wide"] .hl-tabs [data-pane="list"] { display: none; }
.hl-editor[data-layout="wide"] .hl-properties, .hl-editor[data-layout="wide"] .hl-settings { grid-area: 2 / 3; overflow-y: auto; border-left: 1px solid var(--hl-line); background: var(--panel); }
.hl-editor[data-layout="wide"] .hl-properties > h4 { display: none; }
.hl-editor[data-layout="wide"] .hl-workspace:not([data-active-pane="settings"]) .hl-settings,
.hl-editor[data-layout="wide"] .hl-workspace[data-active-pane="settings"] .hl-properties { display: none; }
.hl-editor[data-layout="wide"] .hl-controls > .hl-places { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.3fr) auto; }
.hl-editor[data-layout="wide"] .hl-controls > .hl-places > label, .hl-editor[data-layout="wide"] .hl-inline { flex-direction: row; align-items: center; gap: 8px; }
.hl-editor[data-layout="wide"] .hl-inline { width: 210px; }
@media (min-width: 600px) {
  .hl-editor:not([data-layout="wide"]) .hl-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
