/* Access warnings are operational content, never theme decoration. */
.room-access { display:flex;flex-wrap:wrap;gap:3px;max-width:100%;font:600 11px/1.3 system-ui,sans-serif;text-align:left;white-space:normal; }
.room-access .ra-badge { display:inline-block;padding:3px 5px;border:1px solid #526477;border-radius:4px;background:#e6edf5;color:#182e42;max-width:100%;box-sizing:border-box;white-space:normal; }
.room-access .ra-hold { background:#ffe1cf;color:#651b08;border:2px solid #99402b;font-weight:800; }
.room-access .ra-caution { background:#fff0be;color:#533c00;border-color:#806316; }
.room-access .ra-out { background:#dcf4e6;color:#125132;border-color:#397958; }
.room-access .ra-priority { background:#f0e4ff;color:#522279;border:2px solid #79489b; }
.room-access .ra-warning { display:block;flex-basis:100%;font-size:10px;font-weight:600;color:inherit; }
.room-access .ra-more { display:none;margin:0;padding:0;border:0;background:none;box-shadow:none; }
.room-access .ra-more>summary { display:none; }
.room-access .ra-extra,.room-access .ra-desktop { display:flex;gap:3px;flex-wrap:wrap; }
.dc-master .dc-table.ra-table :is(th.dc-corner,tbody th),.mm-master .mm-table.ra-table :is(th.mm-corner,tbody th) { width:138px;min-width:138px;max-width:138px;box-sizing:border-box;padding:6px; }
.ra-table tbody th:has(.ra-hold),.ra-table tbody th:has(.ra-caution) { border-left:3px solid #ba6526; }
.ra-table tbody th>.room-access { margin-top:4px; }
/* Frozen cells cannot use translucent theme panels: scrolled task buttons
   must not show through the warning or room number. */
.dc-master .dc-table.ra-table :is(thead th,tbody th) { background:var(--world-elevated,#e6edf5);color:var(--world-text,#182e42); }
/* Maintenance follows the same themed frozen-cell treatment as Deep Clean. */
html #maintenance-master-matrix .mm-table.ra-table :is(thead th,tbody th) { background:var(--surface);color:var(--text)!important; }
.room-access-dialog { position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;padding:20px!important;background:var(--panel,#fff);color:var(--text,#182e42);border:2px solid #ba6526;border-radius:12px;clip-path:none!important; }
.room-access-dialog::backdrop { background:#0009; }
.room-access-dialog li { margin:12px 0; }
.room-access-dialog .room-access { font-size:13px; }
.room-access-dialog .ra-warning { font-size:12px; }
.ra-confirm-actions { display:flex;flex-wrap:wrap;gap:10px; }
.ra-confirm-actions button { min-height:44px;white-space:normal;flex:1 1 160px; }
.ra-confirm-actions button:focus-visible,.ra-more>summary:focus-visible { outline:3px solid #238ccc;outline-offset:2px; }
.room-access-filter { display:grid;gap:4px;max-width:220px;margin:12px 0; }
[data-access-room][hidden] { display:none!important; }
@media(max-width:600px) {
  .room-access .ra-desktop { display:none; }
  .room-access .ra-more { display:block; }
  .dc-master .dc-table.ra-table :is(th.dc-corner,tbody th),.mm-master .mm-table.ra-table :is(th.mm-corner,tbody th) { width:112px;min-width:112px;max-width:112px;padding:4px; }
  .room-access .ra-more>summary { display:block;cursor:pointer;min-width:44px;min-height:28px;line-height:28px; }
  .room-access .ra-more:not([open])>.ra-extra { display:none; }
  .room-access .ra-more[open]>.ra-extra { display:flex; }
  .room-access-dialog .ra-more { display:none; }
  .room-access-dialog .ra-desktop { display:flex; }
}
.room-access.room-access-compact{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;min-width:0;max-width:100%}
.room-access.room-access-compact .ra-badge{--ra-tone:var(--accent);display:inline-flex;align-items:center;gap:2px;max-width:100%;margin:0;padding:3px 6px;border:1px solid var(--ra-tone);border-radius:5px;background:color-mix(in srgb,var(--ra-tone) 12%,var(--panel,var(--surface)));color:var(--text);font:700 11px/1.35 system-ui,sans-serif;letter-spacing:.025em;text-transform:uppercase;text-align:start;white-space:normal;overflow-wrap:normal}
.room-access.room-access-compact .ra-out{--ra-tone:var(--green,var(--accent));border-inline-start-width:3px}
.room-access.room-access-compact .ra-hold,.room-access.room-access-compact .ra-caution{--ra-tone:var(--amber,var(--accent));border-inline-start-width:3px}
.room-access.room-access-compact [data-access-state=occupied]{--ra-tone:var(--red,var(--accent));border-width:2px}
.room-access.room-access-compact .ra-priority{--ra-tone:var(--purple,var(--accent));border-width:2px}
#assignments-view [data-assignment-access-room]{min-width:0;max-width:100%}
#assignment-board .ab-room-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px}
#assignment-board .ab-room-head .room-access-compact span{font-size:11px;text-align:start}

/* One compact issue marker. Entry restrictions keep existing role controls. */
.room-access .room-access-issue {cursor:default;}
.room-access button.room-access-issue {cursor:pointer;min-height:44px;touch-action:manipulation;}
.room-access button.room-access-issue:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}

.checkout-row-expanded .checkout-access-issue {display:none;}
.daily-mobile-room-progress:empty {display:none!important;}
