.act-office-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;padding:18px;background:var(--act-bg)}.act-office-room{display:flex!important;flex-direction:column;gap:8px;height:auto!important;padding:12px!important;text-align:left;white-space:normal!important;border:1px solid var(--act-line)!important}.act-office-room svg{width:100%;max-height:230px}.act-office-room strong{font-size:15px}.act-office-room:focus-visible{outline:3px solid #3c8dbc;outline-offset:3px}.act-office-interior{max-width:850px;margin:auto}.act-office-interior svg{width:100%}.act-office-names{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.act-office-names li{padding:8px;border:1px solid var(--act-line);border-radius:4px}
.act-office-map{grid-template-columns:repeat(2,minmax(0,1fr));background:var(--act-bg,#f3f5f7);gap:20px}.act-office-status{grid-column:1/-1;margin:0;font-size:12px}.act-office-room{background:var(--act-surface,#fff)!important;align-items:stretch!important;box-shadow:0 3px 12px #23384b0d}.act-office-room svg{max-height:none;aspect-ratio:680/440}.act-office-room strong,.act-office-room>span{padding:0 12px;text-align:left}.act-office-room>span:last-child{color:var(--act-accent,#3c8dbc);font-weight:600;padding-bottom:10px}.act-office-interior{max-width:1100px}.act-office-map svg text{font-family:inherit}@media(max-width:760px){.act-office-map{grid-template-columns:1fr;padding:8px}} 
/* Compact apartment-style cards; shared administrative theme surfaces. */
.act-office-map{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;padding:12px;border:1px solid var(--adm-border,#d9dfe3);background:var(--adm-surface-2,#f7f9fa)}.act-office-room{min-width:0;border-radius:3px!important;box-shadow:none;background:var(--adm-surface,#fff)!important;color:var(--adm-text,#263238)!important;padding:10px 12px 14px!important;gap:5px}.act-office-room svg{aspect-ratio:680/490;width:100%;max-height:260px;margin-bottom:5px}.act-office-room strong,.act-office-room>span{text-align:center;padding:0;overflow-wrap:anywhere}.act-office-room strong{font-size:13px}.act-office-room:hover{outline:1px solid var(--adm-primary,#3c8dbc);background:var(--adm-primary-soft,#eaf3f7)!important}.act-office-room>span:last-child{font-size:12px;padding:5px 0 0}.act-office-interior{max-width:950px}.act-office-interior svg{aspect-ratio:680/490}.act-office-status{color:var(--adm-muted,#657783)}
.act-office-person{cursor:pointer;outline:none}.act-office-person:hover>rect,.act-office-person:focus-visible>rect{fill:#3c8dbc20;stroke:#3c8dbc;stroke-width:3}.act-office-room>button[data-office-enter]{margin-top:auto;min-height:34px;width:100%}.act-office-room svg{overflow:visible}.act-office-names button{min-height:34px}.act-office-room:focus-within{outline:1px solid var(--adm-primary,#3c8dbc)}
.act-office-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:18px;align-items:start}.act-office-visual{min-width:0}.act-office-details{position:sticky;top:12px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--act-line,var(--adm-border,#d9dfe3));background:var(--act-surface,var(--adm-surface,#fff));border-top:3px solid var(--act-accent,#3c8dbc);font-size:13px}.act-office-details>header,.act-office-details>section,.act-office-details>details{padding:14px;border-bottom:1px solid var(--act-line,var(--adm-border,#d9dfe3))}.act-office-details h3,.act-office-details h4{margin:0 0 10px!important}.act-office-details h4{font-size:13px}.act-office-details p{line-height:1.5;margin:8px 0}.act-office-details dl{display:grid;grid-template-columns:55px 1fr;gap:6px;margin:10px 0}.act-office-details dd{margin:0;overflow-wrap:anywhere}.act-office-details dt{color:var(--act-muted,#657783)}.act-office-indicators{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.act-office-indicators>div{display:flex;flex-direction:column;gap:4px;padding:10px 6px;border:1px solid var(--act-line,#d9dfe3);text-align:center}.act-office-indicators strong{font-size:22px}.act-office-indicators span{font-size:11px}.act-office-roster,.act-office-sessions{list-style:none;padding:0;margin:8px 0}.act-office-roster li,.act-office-sessions li{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--act-line,#d9dfe3)}.act-office-roster button{text-align:left}.act-office-description{white-space:pre-wrap;overflow-wrap:anywhere}.act-office-warning{border-left:3px solid #c58b28;padding-left:8px}.act-office-details summary{cursor:pointer;font-weight:600}.act-office-details .act-actions{flex-wrap:wrap}@media(max-width:1000px){.act-office-workspace{grid-template-columns:1fr}.act-office-details{position:static;max-height:none}.act-office-visual{order:1}.act-office-details{order:0}}
.act-registration-capacity{display:flex;flex-direction:column;gap:5px;line-height:1.4;font-size:12px;padding:8px 0;text-align:left}.act-registration-capacity strong{font-size:12px!important}.act-office-room .act-registration-capacity{border-top:1px solid var(--act-line,#d9dfe3);margin-top:5px}.act-office-room svg,.act-office-interior svg{aspect-ratio:auto}.act-office-room svg{max-height:none}.act-card-footer>[data-registration-capacity]{flex:1;min-width:0}
.act-waiting-panel{position:fixed;z-index:1040;right:0;top:75px;bottom:0;width:min(440px,100vw);box-sizing:border-box;padding:18px;overflow:auto;background:var(--adm-surface,#fff);color:var(--adm-text,#263238);border-left:1px solid var(--adm-border,#d9dfe3);border-top:3px solid var(--adm-primary,#3c8dbc);box-shadow:-8px 0 28px #23374424;font-size:13px}.act-waiting-panel header{display:flex;align-items:start;justify-content:space-between;gap:10px}.act-waiting-panel h3{margin:0}.act-waiting-panel button{min-height:36px;padding:7px 10px;border:1px solid var(--adm-border,#ccd7df);background:var(--adm-surface-2,#f7f9fa);color:inherit;cursor:pointer}.act-waiting-panel button.primary{background:var(--adm-primary,#3c8dbc);color:#fff}.act-waiting-panel button:disabled{opacity:.55;cursor:default}.act-waiting-panel .act-actions{display:flex;flex-wrap:wrap;gap:8px}.act-waiting-panel p{line-height:1.5}.act-waiting-panel button:focus-visible{outline:2px solid #3c8dbc;outline-offset:2px}
/* Enrollment colors remain shared with the roster and charts in both themes. */
.act-office-details>header{background:color-mix(in srgb,var(--act-accent) 18%,var(--act-surface))}
.act-office-details>section{background:color-mix(in srgb,var(--act-accent) 5%,var(--act-surface))}
.act-office-details h4{border-left:3px solid var(--act-accent);padding-left:8px}
.act-office-indicators>div[data-enrollment=confirmed],.act-office-names[data-enrollment=confirmed]{--enrollment-color:var(--act-enrollment-confirmed)}
.act-office-indicators>div[data-enrollment=pending]{--enrollment-color:var(--act-enrollment-pending)}
.act-office-indicators>div[data-enrollment=waitlisted],.act-office-names[data-enrollment=waitlisted]{--enrollment-color:var(--act-enrollment-waitlisted)}
.act-office-indicators>div{border-top:4px solid var(--enrollment-color);background:color-mix(in srgb,var(--enrollment-color) 18%,var(--act-surface));color:var(--act-text);border-radius:3px}
.act-office-names[data-enrollment]{padding:10px;border-left:4px solid var(--enrollment-color);background:color-mix(in srgb,var(--enrollment-color) 12%,var(--act-surface));border-radius:3px}
.act-office-waiting-zone{fill:color-mix(in srgb,var(--act-enrollment-waitlisted) 20%,var(--act-surface));stroke:var(--act-enrollment-waitlisted);stroke-width:2}
.act-office-waiting-title{fill:var(--act-text)}

.act-office-session{display:grid;gap:6px;max-width:640px;margin:12px 0;font-weight:600}.act-office-session select{min-height:36px;max-width:100%;background:var(--act-surface);color:var(--act-text);border:1px solid var(--act-line)}
.act-presence,.act-presence-svg{--presence-color:#8996a5}.act-presence-present{--presence-color:#00a65a}.act-presence-absent{--presence-color:#dd4b39}.act-presence-excused{--presence-color:#f39c12}.act-presence{display:inline-block;align-self:flex-start;padding:4px 8px;border-left:3px solid var(--presence-color);background:color-mix(in srgb,var(--presence-color) 17%,var(--act-surface));color:var(--act-text);font-size:12px}.act-presence-svg rect{fill:var(--act-surface);stroke:var(--presence-color);stroke-width:2}.act-presence-svg text{fill:var(--act-text)}

.act-office-interior svg text[y="580"]{fill:var(--act-text)}
