.bld-world{position:absolute;inset:0;pointer-events:none}
.bld-world>svg,.bld-object,.bld-object>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bld-tile{stroke:#91acae;stroke-width:.35}
.bld-room-outline{fill:none;stroke:#6d8a94;stroke-width:1;pointer-events:none}
.bld-room-outline.is-selected{stroke:var(--adm-primary,#3c8dbc);stroke-width:2.5}
.bld-world[data-world-skin=modern] .bld-work{fill:#e0e8ed}
.bld-world[data-world-skin=pixel] svg{shape-rendering:crispEdges}
body[data-office-mode=live] #virtual-office .bld-department{position:absolute;z-index:2000;pointer-events:auto;transform:translate(-50%,-100%);background:var(--adm-surface,#fff)!important;color:var(--adm-text,#263238)!important;border:1px solid var(--adm-border,#afc1c8)!important;max-width:155px;min-height:26px;padding:3px 6px!important;white-space:normal;line-height:1.2;font-size:10px;box-shadow:0 1px 4px #10243520;border-radius:3px!important}
body[data-office-mode=live] #virtual-office .bld-department .vo-group-room-title{position:static;display:block;font-size:10px;line-height:1.2;color:inherit!important}
body[data-office-mode=live] #virtual-office .bld-department[aria-pressed=true]{border:2px solid var(--adm-primary,#3c8dbc)!important}
.bld-department-state{position:absolute;transform:translateX(-50%);z-index:1800;font-size:9px;line-height:1.25;max-width:140px;text-align:center;background:var(--adm-surface,#fff);color:var(--adm-text,#263238);border:1px solid var(--adm-border,#afc1c8);border-radius:2px;padding:2px 3px;pointer-events:none}
body[data-office-mode=live] #virtual-office button.bld-person,body[data-office-mode=live] #virtual-office button.bld-vacancy{position:absolute;pointer-events:auto;display:block!important;transform:translate(-50%,-100%)!important;width:34px!important;height:32px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
body[data-office-mode=live] #virtual-office .bld-person .vo-group-agent-portrait,body[data-office-mode=live] #virtual-office .bld-person .vo-group-agent-portrait svg{width:26px!important;height:32px!important;margin:auto;display:block}
body[data-office-mode=live] #virtual-office .bld-person>strong,body[data-office-mode=live] #virtual-office .bld-vacancy>strong{position:absolute;top:100%;left:50%;transform:translateX(-50%);max-width:100px;width:max-content;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px!important;line-height:1.2!important;padding:1px 3px!important}
.bld-person .vo-group-agent-badge{position:absolute;top:calc(100% + 15px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px!important;padding:1px 2px!important}
body[data-office-mode=live] #virtual-office .bld-vacancy .vo-group-vacancy-plus{width:23px;height:23px;margin:auto;font-size:18px;border-width:1px}
.vo-group-plan:has(.bld-world) .vo-global-layer{z-index:auto}
.vo-group-plan:has(.bld-world) .vo-global-pile{z-index:2200;scale:.75;transform-origin:center}
.vo-group-plan:has(.bld-world) .vo-global-question{z-index:2300;font-size:10px;max-width:160px;transform:translate(-50%,-100%)}
.vo-group-plan:has(.bld-world) .vo-global-walker{width:34px;height:32px;transform:translate(-50%,-100%)}
body[data-office-mode=live] #virtual-office .vo-group-plan:has(.bld-world) .vo-global-walker svg{width:26px;height:32px}
.bld-world button:focus-visible{outline:3px solid var(--adm-primary,#3c8dbc)!important;outline-offset:3px}

.bld-department-state:not(.is-active){display:none}
.bld-person .vo-group-agent-badge{display:none}
.bld-person:hover .vo-group-agent-badge,.bld-person:focus-visible .vo-group-agent-badge,.bld-person[aria-pressed=true] .vo-group-agent-badge{display:block}
body[data-office-mode=live] #virtual-office .bld-person>strong{max-width:64px}
body[data-office-mode=live] #virtual-office .bld-person.vo-global-away{visibility:hidden}

body[data-office-mode=live] #virtual-office button.bld-person{height:calc(32px * var(--bld-unit-scale,1))!important}
body[data-office-mode=live] #virtual-office .bld-person .vo-group-agent-portrait,body[data-office-mode=live] #virtual-office .bld-person .vo-group-agent-portrait svg,body[data-office-mode=live] #virtual-office .vo-group-plan:has(.bld-world) .vo-global-walker svg{width:calc(26px * var(--bld-unit-scale,1))!important;height:calc(32px * var(--bld-unit-scale,1))!important}
.vo-group-plan:has(.bld-world) .vo-global-walker{height:calc(32px * var(--bld-unit-scale,1))}

.vo-group-plan:has(.bld-world){isolation:isolate}

/* Keep names above furniture, with a readable full label on keyboard focus. */
body[data-office-mode=live] #virtual-office button.bld-person,
body[data-office-mode=live] #virtual-office button.bld-vacancy{z-index:1900!important}
body[data-office-mode=live] #virtual-office .bld-person>strong,
body[data-office-mode=live] #virtual-office .bld-vacancy>strong{max-width:76px;font:600 12px/1.4 Arial,sans-serif!important;padding:3px 5px!important;background:var(--adm-surface,#fff)!important;color:var(--adm-text,#263238)!important;border:1px solid var(--adm-border,#afc1c8);box-shadow:0 1px 3px #10243526}
body[data-office-mode=live] #virtual-office .bld-person>strong .vo-identity-badge{display:none}
body[data-office-mode=live] #virtual-office button.bld-person:is(:hover,:focus-visible,[aria-pressed=true]),
body[data-office-mode=live] #virtual-office button.bld-vacancy:is(:hover,:focus-visible){z-index:2400!important}
body[data-office-mode=live] #virtual-office .bld-person:is(:hover,:focus-visible,[aria-pressed=true])>strong,
body[data-office-mode=live] #virtual-office .bld-vacancy:is(:hover,:focus-visible)>strong{max-width:240px;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
body[data-office-mode=live] #virtual-office .bld-department .vo-group-room-title{font-size:13px;line-height:1.4}
body[data-office-mode=live] #virtual-office button.bld-department{max-width:230px;min-height:34px;z-index:2600}
.bld-department-state{font-size:12px;line-height:1.4;padding:3px 5px}
body[data-office-mode=live] #virtual-office .bld-person .vo-group-agent-badge{top:calc(100% + 52px);font-size:12px!important;max-width:240px;white-space:normal}
body[data-office-mode=live] #virtual-office .bld-person .vo-agent-presence{top:calc(100% + 28px);font-size:12px;max-width:180px}
