.room-access-header { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.room-access-header button { display:inline-flex; align-items:center; gap:6px; padding:4px; border:0; color:var(--theme-accent,#a298ff); background:transparent; font:inherit; cursor:pointer; }
.room-access-header svg { width:20px; height:20px; }
.call-header .room-panel-toggle { position:relative; grid-column:5; grid-row:1; justify-self:end; display:grid; place-items:center; width:42px; height:42px; padding:9px; border:1px solid var(--theme-border-subtle,#283954); border-radius:14px; color:var(--theme-text-primary,#e5ebfa); background:linear-gradient(140deg,var(--theme-surface-elevated,#101b2d),var(--theme-surface-elevated,#090f1c)); cursor:pointer; }
.room-panel-toggle > svg { width:24px; height:24px; }
.room-panel-toggle:hover,.room-panel-toggle[aria-expanded=true] { border-color:var(--theme-accent,#7360b8); background:var(--theme-surface-hover,#171c35); }
.room-panel-badge { position:absolute; right:0; top:-4px; display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:12px; color:var(--theme-on-accent,white); background:var(--theme-accent,#7950ec); font-size:10px; font-weight:700; box-shadow:0 0 0 2px var(--theme-shadow,#090f1a); }
.room-panel-badge[hidden],.room-access-layer [hidden] { display:none !important; }
.room-access-layer { position:fixed; inset:0; z-index:70; pointer-events:none; color:var(--theme-text-primary,#ecf1fc); font-size:14px; }
.room-access-layer button { font:inherit; cursor:pointer; }
.room-access-layer button:focus-visible { outline:2px solid var(--theme-focus,#b49aff); outline-offset:3px; }
.room-access-layer button:disabled { cursor:default; }
.room-access-layer svg { flex-shrink:0; width:22px; height:22px; }
.room-access-popover { position:absolute; pointer-events:auto; -webkit-app-region:no-drag; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--theme-border-subtle,#2a3c57); border-radius:17px; background:linear-gradient(135deg,var(--theme-surface-elevated,#0c1422),var(--theme-surface-elevated,#080f19) 80%); box-shadow:0 16px 45px rgba(var(--theme-shadow-rgb,0,0,0),0.26666666666666666); }
.room-panel { top:80px; right:24px; width:clamp(390px,30vw,520px); max-width:calc(100vw - 32px); max-height:calc(100dvh - 104px); padding:22px; }
.room-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex:none; }
.room-panel-heading h2 { margin:0; font-size:21px; line-height:1.3; font-weight:760; letter-spacing:-.02em; }
.room-panel-heading p { margin:8px 0 0; color:var(--theme-text-secondary,#bdc9df); font-size:13px; line-height:1.5; }
.room-access-layer .room-surface-close { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; margin:-4px -6px 0 0; padding:5px; border:0; border-radius:7px; color:var(--theme-text-primary,#c6d4ee); background:transparent; }
.room-surface-close:hover { background:var(--theme-surface-hover,#1e2a40); }
.room-panel-content { display:flex; flex-direction:column; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--theme-scrollbar,#424365) transparent; gap:22px; margin-top:22px; padding:2px; }
.room-access-layer h3 { font-size:14px; line-height:1.4; margin:0; font-weight:720; }
.room-panel-requests { padding:15px; border:1px solid var(--theme-accent,#9470f3); border-radius:13px; background:linear-gradient(120deg,rgba(var(--theme-surface-elevated-rgb,27,20,52),0.16862745098039217),var(--theme-surface-elevated,#0c1323)); }
.room-panel-requests h3 { display:flex; gap:8px; align-items:center; margin-bottom:12px; }
.room-panel-requests h3 > svg { width:19px; height:19px; color:var(--theme-accent,#9b72ff); }
.room-panel-count { display:inline-grid; place-items:center; min-width:25px; height:25px; border-radius:50%; color:var(--theme-on-accent,#f8f5ff); background:var(--theme-accent,#7850ef); }
.room-panel-request-list { display:grid; gap:12px; max-height:320px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--theme-scrollbar,#424365) transparent; }
.room-panel-request { padding:12px; border:1px solid rgba(var(--theme-border-subtle-rgb,53,50,87),0.25882352941176473); border-radius:11px; background:linear-gradient(120deg,rgba(var(--theme-surface-elevated-rgb,25,27,50),0.1843137254901961),var(--theme-surface-elevated,#121827)); }
.room-request-person { display:flex; gap:12px; align-items:center; min-width:0; }
.room-request-person .avatar { flex:0 0 44px; width:44px; height:44px; border-radius:50%; overflow:hidden; }
.room-request-person > span { min-width:0; flex:1; }
.room-request-person strong { display:block; overflow-wrap:anywhere; font-size:14px; line-height:1.4; }
.room-request-person p { color:var(--theme-text-secondary,#c3cee3); font-size:12px; line-height:1.5; margin:4px 0 0; }
.room-request-person small { display:block; color:var(--theme-text-secondary,#b6c5df); margin-bottom:4px; font-size:11px; }
.room-request-person time { flex:none; align-self:flex-start; font-size:12px; color:var(--theme-text-secondary,#b9c6df); padding-top:3px; }
.room-request-actions { display:flex; gap:10px; margin-top:12px; }
.room-request-actions button { display:flex; justify-content:center; align-items:center; gap:8px; flex:1; min-width:0; min-height:40px; padding:8px; border:1px solid var(--theme-danger,#853346); color:var(--theme-text-primary,#f9e4eb); border-radius:9px; background:var(--theme-danger-surface,#492032); font-weight:650; font-size:12px; }
.room-request-actions [data-request-decision=approved] { background:linear-gradient(110deg,var(--theme-primary,#7251ed),var(--theme-primary,#5442e4)); border-color:var(--theme-accent,#7c62ef); color:var(--theme-on-primary,white); }
.room-request-actions svg { width:18px; height:18px; }
.room-request-actions button:disabled { opacity:.55; }
.room-panel-activity > header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 2px 13px; }
.room-panel-activity > header > span { color:var(--theme-accent,#ac91f9); font-size:12px; white-space:nowrap; }
.room-activity-list { display:grid; gap:15px; padding:0 4px; }
.room-activity-event { display:flex; align-items:center; gap:12px; }
.room-activity-event .avatar { flex:0 0 38px; width:38px; height:38px; border-radius:50%; overflow:hidden; }
.room-activity-event > span { min-width:0; flex:1; line-height:1.45; font-size:13px; overflow-wrap:anywhere; }
.room-activity-event small { display:block; color:var(--theme-text-secondary,#b4c1d9); margin-top:3px; font-size:12px; }
.room-activity-event > svg { width:21px; height:21px; color:var(--theme-text-primary,#c5d1ec); margin-left:4px; }
.room-panel-empty { display:flex; flex-direction:column; align-items:center; gap:9px; padding:24px 8px; color:var(--theme-text-secondary,#bcc9df); text-align:center; }
.room-panel-empty > svg { color:var(--theme-accent,#a08aea); width:32px; height:32px; margin-bottom:4px; }
.room-panel-empty strong { font-size:15px; color:var(--theme-text-primary,#e4eaf7); }
.room-panel-empty p { font-size:12px; margin:0; line-height:1.5; }
.room-panel-mode { padding:8px; border:1px solid var(--theme-border-subtle,#1c2a3e); border-radius:14px; }
.room-panel-mode h3 { margin:0 4px 7px; }
.room-current-mode { display:flex; align-items:center; width:100%; gap:14px; padding:14px; border:1px solid var(--theme-border-subtle,#21324e); border-radius:12px; background:linear-gradient(120deg,var(--theme-surface-card,#111f32),var(--theme-surface-card,#0e1828)); color:var(--theme-text-primary,#edf0fc); text-align:left; }
.room-current-mode:not(:disabled):hover { border-color:var(--theme-accent,#7862b3); }
.room-mode-icon { display:grid; place-items:center; flex:0 0 54px; width:54px; height:54px; border-radius:50%; background:var(--theme-surface-card,#252f42); color:var(--theme-on-accent,#f0f2ff); }
.room-mode-icon svg { width:29px; height:29px; }
.room-current-mode .room-mode-icon { background:linear-gradient(145deg,var(--theme-accent,#4924bb),var(--theme-surface-interactive,#2d128f)); }
.room-mode-copy { display:block; min-width:0; flex:1; }
.room-mode-copy > strong { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:16px; line-height:1.4; margin-bottom:5px; }
.room-mode-copy > span { display:block; color:var(--theme-text-secondary,#c1cee4); font-size:13px; line-height:1.55; }
.room-current-arrow { display:flex; margin-left:auto; color:var(--theme-text-primary,#d2dcf1); }
.room-current-arrow svg { width:18px; height:18px; }
.room-mode-readonly { display:block; color:var(--theme-text-secondary,#9caec9); padding:8px 5px 2px; font-size:11px; }
.room-access-popover > footer { flex:none; display:flex; gap:10px; align-items:center; color:var(--theme-text-secondary,#b7c5dd); font-size:11px; line-height:1.6; margin-top:22px; }
.room-access-popover > footer > svg { width:20px; height:20px; color:var(--theme-accent,#aa96e3); }
.room-settings { top:68px; left:50%; transform:translateX(-50%); width:580px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 178px); padding:24px; }
.room-settings-content { min-height:0; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--theme-scrollbar,#424365) transparent; margin-top:20px; padding:2px; }
.room-settings-content > h3 { font-size:15px; }
.room-settings .room-mode-icon { flex-basis:60px; width:60px; height:60px; }
.room-settings .room-mode-copy > strong { font-size:16px; }
.room-settings .room-mode-copy > span { font-size:14px; }
.room-settings-content > p { margin:8px 0 22px; color:var(--theme-text-secondary,#c3d0e6); line-height:1.7; font-size:14px; }
.room-mode-options { display:grid; gap:12px; }
.room-mode-option { display:block; width:100%; padding:15px; border:1px solid var(--theme-border-subtle,#23354d); border-radius:13px; background:linear-gradient(120deg,var(--theme-surface-card,#101b2a),var(--theme-surface-base,#0d1522)); color:var(--theme-text-primary,#ecf0fc); text-align:left; }
.room-mode-option:hover { border-color:var(--theme-border-strong,#657399); }
.room-mode-option[aria-checked=true] { border-color:var(--theme-accent,#9771f5); background:linear-gradient(110deg,rgba(var(--theme-selection-rgb,35,20,67),0.4),rgba(var(--theme-selection-rgb,24,23,47),0.5333333333333333)); }
.room-mode-summary { display:flex; align-items:center; gap:14px; }
.room-mode-option[aria-checked=true] .room-mode-icon { background:linear-gradient(145deg,var(--theme-selection,#4c25c8),var(--theme-selection,#291076)); }
.room-mode-chevron { display:flex; color:var(--theme-text-muted,#728099); }
.room-mode-chevron svg { width:17px; height:17px; }
.room-mode-option[aria-checked=true] .room-mode-chevron { transform:rotate(-90deg); color:var(--theme-accent,#a580ff); }
.room-mode-check { display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px; border:2px solid var(--theme-border-subtle,#344159); border-radius:50%; }
.room-mode-check svg { visibility:hidden; width:14px; height:14px; }
.room-mode-option[aria-checked=true] .room-mode-check { background:var(--theme-selection,#8c64f6); border-color:var(--theme-accent,#8c64f6); color:var(--theme-text-muted,#130e2c); }
.room-mode-option[aria-checked=true] .room-mode-check svg { visibility:visible; }
.room-mode-details { display:grid; gap:7px; margin-top:13px; padding:13px; border-radius:10px; background:rgba(var(--theme-accent-rgb,142,125,195),0.09411764705882353); animation:room-detail-in .12s ease-out; }
.room-mode-details > span { display:flex; align-items:flex-start; gap:10px; color:var(--theme-text-primary,#c9d4ed); font-size:13px; line-height:1.5; }
.room-mode-details svg { width:17px; height:17px; padding:2px; margin-top:1px; border-radius:50%; color:var(--theme-text-muted,#231143); background:var(--theme-accent,#9468f9); }
.room-settings .room-mode-chevron { display:none; }
.room-settings .room-mode-details svg { color:var(--theme-text-secondary,#c3d0e6); background:none; border-radius:0; padding:0; }
.room-settings > footer { padding:11px 13px; background:rgba(var(--theme-surface-card-rgb,23,36,60),0.5019607843137255); border:1px solid rgba(var(--theme-border-subtle-rgb,34,48,73),0.30196078431372547); border-radius:11px; margin-top:14px; }
.room-request-card { position:absolute; pointer-events:auto; right:20px; bottom:112px; width:320px; max-width:calc(100vw - 32px); padding:18px; border:1px solid var(--theme-border-subtle,#2b3959); border-radius:14px; background:var(--theme-surface-card,#0b1323); color:var(--theme-text-primary,#ecf1fc); }
.room-request-card > .room-surface-close { position:absolute; top:8px; right:10px; }
.room-request-card .room-request-person { padding-right:20px; }
@keyframes room-detail-in { from { opacity:.45; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .room-mode-details { animation:none; } }
@media (max-width:1150px) {
  .room-panel { right:16px; top:82px; width:410px; max-height:calc(100dvh - 192px); padding:18px; }
  .room-panel-content { margin-top:16px; gap:17px; }
  .room-panel-request-list { max-height:230px; }
  .room-settings { top:76px; max-height:calc(100dvh - 184px); }
}
@media (max-height:700px) {
  .room-panel,.room-settings { padding:16px; }
  .room-panel-heading h2 { font-size:19px; }
  .room-panel-heading p { margin-top:5px; }
  .room-panel-content,.room-settings-content { margin-top:14px; }
  .room-panel-request-list { max-height:190px; }
  .room-settings-content > p { margin-bottom:14px; }
  .room-access-popover > footer { margin-top:12px; }
}
@media (max-width:650px) {
  .call-header .room-panel-toggle { width:36px; height:36px; padding:7px; }
  .room-panel,.room-settings { right:12px; top:76px; max-width:calc(100vw - 24px); }
  .room-panel { width:410px; }
  .room-mode-summary { gap:10px; }
  .room-mode-icon { flex-basis:42px; width:42px; height:42px; }
  .room-mode-icon svg { width:24px; height:24px; }
  .room-mode-option { padding:12px; }
  .room-mode-copy > strong { font-size:14px; }
  .room-mode-check { flex-basis:18px; width:18px; height:18px; }
}
.approval-screen { min-height:100dvh; display:flex; flex-direction:column; color:var(--theme-text-primary,#edf2fc); padding:30px 36px; background:radial-gradient(ellipse at 50% 66%,rgba(var(--theme-decoration-rgb,35,29,84),0.1843137254901961),transparent 55%),var(--theme-app,#080f1c); }
.approval-screen > header { display:flex; gap:24px; align-items:center; }
.approval-screen > header .brand { font-size:28px; letter-spacing:7px; }
.approval-screen > header > span { font-size:19px; border-left:1px solid var(--theme-border-subtle,#2c3c53); padding-left:24px; }
.approval-screen > header b { color:var(--theme-accent,#a296ff); }
.approval-screen > header small { color:var(--theme-accent,#b8b0f9); }
.approval-screen main { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:32px 0; }
.approval-card { width:560px; max-width:100%; text-align:center; padding:32px; border:1px solid var(--theme-border-subtle,#354469); border-radius:18px; background:linear-gradient(145deg,var(--theme-surface-card,#111b2d),var(--theme-surface-card,#0b1324)); }
.approval-signal { display:grid; place-items:center; width:100px; height:100px; margin:auto; color:var(--theme-accent,#b5aaff); border:2px solid var(--theme-accent,#9276ff); border-radius:50%; background:rgba(var(--theme-surface-interactive-rgb,53,36,103),0.4); box-shadow:0 0 0 12px rgba(var(--theme-accent-shadow-rgb,83,51,174),0.09411764705882353); }
.approval-signal svg { width:42px; height:42px; }
.approval-card h1 { margin:24px 0 16px; font-size:28px; }
.approval-card p { line-height:1.7; color:var(--theme-text-secondary,#becbe3); }
.approval-name { display:flex; gap:16px; text-align:left; align-items:center; margin-top:24px; border:1px solid var(--theme-border-subtle,#2b3d59); border-radius:12px; padding:16px; }
.approval-name svg { width:36px; height:36px; color:var(--theme-accent,#a99dff); }
.approval-name small,.approval-name strong { display:block; }.approval-name small { color:var(--theme-text-secondary,#aebed8); margin-bottom:5px; }
.approval-screen #cancel-room-request { min-width:280px; min-height:48px; border:1px solid var(--theme-danger,#874359); background:rgba(var(--theme-danger-surface-rgb,60,33,54),0.2784313725490196); }
.approval-screen > footer { display:flex; justify-content:center; gap:28px; max-width:1100px; margin:0 auto; }
.approval-screen > footer > div { flex:1; display:flex; gap:16px; }
.approval-screen > footer svg,.approval-info { flex:0 0 28px; width:28px; height:28px; color:var(--theme-accent,#998cff); }
.approval-screen > footer p { color:var(--theme-text-secondary,#aebed8); line-height:1.5; font-size:13px; }
@media (max-height:750px) { .approval-screen { padding:20px 28px; }.approval-screen main { padding:20px 0; gap:14px; }.approval-card { padding:20px; }.approval-signal { width:64px; height:64px; }.approval-card h1 { margin:16px 0 10px; font-size:25px; }.approval-name { margin-top:14px; padding:12px; } }
@media (max-width:1000px) { .room-request-card { width:300px; bottom:102px; right:14px; }.room-access-header { gap:3px; } }
@media (max-width:650px) { .approval-screen > header { gap:12px; flex-wrap:wrap; }.approval-screen > footer { flex-direction:column; gap:12px; } }

/* Compact room controls: the activity feed and access editor share one surface. */
.room-panel,.room-settings { border-radius:22px; padding:22px; max-height:calc(100dvh - 190px); }
.room-panel { width:410px; top:80px; }
.room-settings { width:510px; top:76px; }
:root[data-theme="dark"] .room-panel,:root[data-theme="dark"] .room-settings { background:#09090b; border-color:rgba(255,255,255,.22); }
.room-panel:not([hidden]),.room-settings:not([hidden]) { animation:room-surface-in .22s ease-out both; }
.room-access-layer .room-surface-close,.room-access-layer .room-surface-back { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; padding:7px; margin:0; color:var(--theme-text-primary,#eee); border:1px solid var(--theme-border-subtle,#39393f); border-radius:50%; background:transparent; transition:background .2s,border-color .2s,scale .16s; }
.room-access-layer .room-surface-back { border-color:transparent; }
.room-access-layer .room-surface-close:hover,.room-access-layer .room-surface-back:hover { background:var(--theme-surface-hover,#202024); border-color:var(--theme-border-strong,#74747e); }
.room-access-layer .room-surface-close:active,.room-access-layer .room-surface-back:active { scale:.92; }
.room-settings .room-panel-heading { align-items:center; gap:10px; }
.room-settings .room-panel-heading h2 { flex:1; font-size:20px; }
.room-panel-tabs { display:flex; gap:25px; flex:none; margin-top:19px; border-bottom:1px solid var(--theme-border-subtle,#303036); }
.room-panel-tabs button { position:relative; display:flex; align-items:center; gap:8px; padding:10px 0 13px; color:var(--theme-text-secondary,#aaa); background:transparent; border:0; font-weight:650; transition:color .18s; }
.room-panel-tabs button::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:var(--theme-text-primary,#fff); scale:0 1; transition:scale .22s ease; }
.room-panel-tabs button[aria-selected="true"] { color:var(--theme-text-primary,#fff); }
.room-panel-tabs button[aria-selected="true"]::after,.room-panel-tabs button:hover::after { scale:1 1; }
.room-tab-count { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:12px; color:#dcecff; background:rgba(57,150,255,.2); font-size:11px; }
.room-panel-content { margin-top:18px; padding:2px; gap:18px; }
.room-tab-content { display:grid; gap:20px; animation:room-tab-in .22s ease-out; }
.room-panel-requests { padding:0; border:0; background:transparent; }
.room-panel-requests h3 { margin-bottom:12px; font-size:13px; }
.room-panel-count { min-width:20px; height:20px; font-size:11px; color:#dcecff; background:rgba(57,150,255,.2); }
.room-panel-request-list { max-height:none; overflow:visible; gap:10px; }
.room-panel-request { padding:12px; border-color:var(--theme-border-subtle,#303036); background:var(--theme-surface-card,#121215); border-radius:14px; animation:room-tab-in .22s ease-out; }
.room-request-person { gap:10px; }
.room-request-person .avatar { flex-basis:36px; width:36px; height:36px; }
.room-request-person strong { font-size:13px; }
.room-request-actions { gap:9px; margin-top:11px; }
.room-access-layer .room-request-actions button { min-height:36px; border-radius:20px; font-size:12px; font-weight:700; background:rgba(228,78,101,.13); border-color:rgba(228,78,101,.65); color:#ff9ba9; transition:background .2s,border-color .2s,box-shadow .2s,translate .18s,scale .16s; }
.room-access-layer .room-request-actions [data-request-decision="approved"] { background:rgba(57,150,255,.2); border-color:rgba(57,150,255,.75); color:#a9d3ff; }
.room-request-actions [data-request-decision="approved"]:hover:not(:disabled) { background:rgba(57,150,255,.32); border-color:#3996ff; box-shadow:0 3px 15px rgba(57,150,255,.13); translate:0 -1px; }
.room-request-actions [data-request-decision="denied"]:hover:not(:disabled) { background:rgba(228,78,101,.25); border-color:#e44e65; box-shadow:0 3px 15px rgba(228,78,101,.13); translate:0 -1px; }
.room-request-actions button:active:not(:disabled) { scale:.97; translate:0 0; }
.room-request-actions button:disabled { opacity:.55; }
.room-request-actions button.is-loading { opacity:1; }
.room-request-actions button.is-loading svg { display:none; }
.room-request-actions button.is-loading::before,.room-save-status[data-state="saving"]::before { content:""; width:15px; height:15px; flex:0 0 15px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:room-button-spin .8s linear infinite; }
.room-panel-activity { border-top:1px solid var(--theme-border-subtle,#303036); padding-top:17px; }
.room-panel-requests[hidden] + .room-panel-activity { border:0; padding-top:0; }
.room-panel-activity > header { margin:0 0 12px; }
.room-panel-activity h3 { font-size:13px; }
.room-activity-list { gap:14px; padding:0; }
.room-activity-event .avatar { flex-basis:30px; width:30px; height:30px; }
.room-activity-event > span { font-size:12px; }
.room-activity-event small { font-size:11px; }
.room-activity-event > svg { width:18px; height:18px; opacity:.6; }
.room-panel-empty { padding:29px 5px 22px; }
.room-panel-empty > svg { color:var(--theme-text-secondary,#999); width:32px; height:32px; }
.room-panel-empty strong { font-size:14px; }
.room-access-summary { display:flex; gap:10px; align-items:center; width:100%; min-height:50px; padding:11px 13px; border:1px solid var(--theme-border-subtle,#34343a); border-radius:13px; background:transparent; color:var(--theme-text-primary,#eee); text-align:left; transition:background .2s,border-color .2s; }
.room-access-summary strong { font-size:13px; flex:1; }
.room-summary-icon { display:flex; }
.room-access-summary > svg { width:18px; height:18px; }
.room-access-summary:hover { background:var(--theme-surface-hover,#1c1c20); border-color:var(--theme-border-strong,#62626b); }
.room-panel-mode { padding:0; border:0; }
.room-panel-mode h3 { color:var(--theme-text-secondary,#aaa); font-size:12px; margin:0 0 15px; }
.room-current-mode { padding:0; gap:12px; background:transparent; border:0; margin-bottom:17px; }
.room-current-mode .room-mode-icon,.room-settings .room-mode-icon { width:40px; height:40px; flex-basis:40px; background:var(--theme-surface-card,#1a1a20); color:var(--theme-text-primary,#eee); border-radius:13px; }
.room-current-mode .room-mode-icon svg,.room-settings .room-mode-icon svg { width:23px; height:23px; }
.room-current-mode .room-mode-copy > strong { font-size:16px; }
.room-mode-copy > span { font-size:12px; line-height:1.5; }
.room-access-details,.room-selected-details .room-mode-details { margin:0; padding:13px; background:var(--theme-surface-card,#131316); border:1px solid var(--theme-border-subtle,#29292e); border-radius:13px; gap:10px; }
.room-mode-details > span { font-size:12px; gap:9px; color:var(--theme-text-secondary,#bbb); }
.room-mode-details > span > svg { width:17px; height:17px; padding:0; background:transparent; color:var(--theme-text-secondary,#aaa); border-radius:0; }
.room-mode-details > span { animation:room-tab-in .2s ease-out; }
.room-alter-access { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:42px; padding:9px 14px; margin-top:16px; border:1px solid var(--theme-border-strong,#666); border-radius:24px; color:var(--theme-text-primary,#eee); background:transparent; font-weight:650 !important; transition:background .2s,border-color .2s,scale .16s; }
.room-alter-access > svg { width:18px; height:18px; transition:translate .2s; }
.room-alter-access:hover:not(:disabled) { background:var(--theme-surface-hover,#202024); border-color:var(--theme-text-primary,#eee); }
.room-alter-access:hover:not(:disabled) > svg { translate:3px 0; }
.room-alter-access:active:not(:disabled) { scale:.98; }
.room-alter-access:disabled { opacity:.4; }
.room-mode-readonly { text-align:center; padding-top:10px; }
.room-leader-section { border-top:1px solid var(--theme-border-subtle,#303036); padding-top:14px; display:flex; gap:12px; justify-content:space-between; align-items:center; }
.room-leader-section > small { color:var(--theme-text-secondary,#aaa); font-size:11px; }
.room-leader-label { display:flex; align-items:center; gap:7px; min-width:0; }
.room-leader-label .avatar { width:24px; height:24px; flex:0 0 24px; border-radius:50%; overflow:hidden; }
.room-leader-label strong { font-size:12px; overflow-wrap:anywhere; }
.room-panel > footer { margin-top:17px; font-size:11px; gap:7px; }
.room-panel > footer > svg { width:15px; height:15px; color:var(--theme-text-secondary,#aaa); }
.room-settings-content { margin-top:21px; }
.room-settings-content > p { margin:5px 0 17px; line-height:1.5; font-size:12px; }
.room-mode-options { gap:8px; }
.room-settings .room-mode-option { padding:12px; border-color:transparent; border-radius:14px; background:transparent; transition:background .2s,border-color .2s; }
.room-settings .room-mode-option:hover { background:var(--theme-surface-hover,#17171b); }
.room-settings .room-mode-option[aria-checked="true"] { border-color:var(--theme-border-strong,#666); background:var(--theme-surface-card,#151518); }
.room-settings .room-mode-option[aria-checked="true"] .room-mode-icon { background:var(--theme-surface-hover,#25252b); }
.room-mode-summary { gap:12px; }
.room-settings .room-mode-copy > strong { font-size:14px; margin-bottom:3px; }
.room-settings .room-mode-copy > span { font-size:12px; }
.room-settings .room-mode-check { width:20px; height:20px; flex-basis:20px; border-color:var(--theme-border-strong,#60606a); }
.room-settings .room-mode-option[aria-checked="true"] .room-mode-check { color:var(--theme-text-primary,#eee); background:transparent; border-color:var(--theme-text-primary,#eee); }
.room-selected-details { margin-top:18px; padding-top:17px; border-top:1px solid var(--theme-border-subtle,#303036); }
.room-selected-details h3 { font-size:12px; margin-bottom:11px; }
.room-settings > .room-save-status { padding:14px 0 0; margin-top:18px; border:0; border-top:1px solid var(--theme-border-subtle,#303036); border-radius:0; background:transparent; gap:8px; }
.room-save-status > svg { width:16px; height:16px; color:var(--theme-text-secondary,#aaa); }
.room-save-status[data-state="saving"] > svg { display:none; }
.room-save-status[data-state="error"] { color:var(--theme-danger,#e44e65); }
.room-save-status[data-state="error"] > svg { display:none; }
.call-header .room-panel-toggle { transition:background .2s,border-color .2s,scale .16s; }
.call-header .room-panel-toggle:active { scale:.94; }
.room-panel-toggle:hover > svg { animation:room-pulse-trace .6s ease both; }
@keyframes room-surface-in { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@keyframes room-tab-in { from { opacity:0; translate:0 4px; } to { opacity:1; translate:0 0; } }
@keyframes room-button-spin { to { rotate:360deg; } }
@keyframes room-pulse-trace { 50% { scale:1.12; } }
@media (max-width:1150px) { .room-panel { right:16px; top:82px; padding:18px; max-height:calc(100dvh - 192px); } }
@media (max-height:700px) { .room-panel,.room-settings { padding:16px; } .room-panel-tabs { margin-top:12px; } .room-panel-content,.room-settings-content { margin-top:13px; } .room-panel > footer,.room-settings > footer { margin-top:12px; } .room-panel-empty { padding:19px 5px; } }
@media (max-width:650px) { .room-panel { right:12px; top:76px; } .room-panel,.room-settings { max-width:calc(100vw - 24px); } .room-settings .room-panel-heading h2 { font-size:18px; } .room-settings .room-mode-copy > strong { font-size:13px; } .room-settings .room-mode-copy > span { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .room-access-layer *,.room-panel-toggle,.room-panel-toggle > svg { animation:none !important; transition:none !important; } }:root[data-theme="white"] .room-request-actions [data-request-decision="approved"] { color:#0061b8; }:root[data-theme="white"] .room-request-actions [data-request-decision="denied"] { color:#b9183a; }
/* Compact leadership confirmation follows the active NEXO palette. */
.leadership-confirm-backdrop { z-index:100; padding:16px; animation:leadership-backdrop-in .16s ease-out; }
.share-dialog.leadership-confirm { display:block; width:min(360px,calc(100vw - 32px)); min-width:0; max-width:100%; max-height:calc(100dvh - 32px); overflow-y:auto; padding:20px; border-radius:20px; background:var(--theme-surface-elevated); color:var(--theme-text-primary); border:1px solid var(--theme-border-strong); box-shadow:0 22px 70px #0005; animation:leadership-dialog-in .2s cubic-bezier(.2,.7,.2,1); }
.leadership-confirm-heading { display:flex; align-items:center; gap:9px; }
.leadership-confirm-heading h2 { margin:0; font-size:16px; line-height:1.4; flex:1; }
.leadership-confirm-symbol { display:grid; place-items:center; color:var(--theme-accent); }
.leadership-confirm-symbol svg { width:19px; height:19px; }
.leadership-confirm-heading .icon-button { width:28px; height:28px; min-width:28px; padding:0; display:grid; place-items:center; }
.leadership-confirm-heading .icon-button svg { width:16px; height:16px; }
.leadership-confirm-person { display:flex; align-items:center; gap:11px; margin:19px 0 13px; padding:12px; border:1px solid var(--theme-border-subtle); border-radius:13px; background:var(--theme-surface-card); }
.leadership-confirm-person .avatar { width:38px; height:38px; flex:0 0 38px; }
.leadership-confirm-person > span:last-of-type { flex:1; min-width:0; }
.leadership-confirm-person strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.leadership-confirm-person small { display:block; margin-top:3px; font-size:11px; color:var(--theme-text-secondary); }
.leadership-confirm-person > svg { width:16px; height:16px; flex-shrink:0; color:var(--theme-accent); }
.leadership-confirm > p { font-size:12px; line-height:1.65; color:var(--theme-text-secondary); margin:0; }
.leadership-confirm > .leadership-confirm-error { color:var(--theme-danger); margin-top:10px; }
.leadership-confirm .share-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:19px; }
.leadership-confirm .share-dialog-actions .button { width:100%; min-height:39px; border-radius:11px; font-size:12px; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .16s,border-color .16s,box-shadow .16s,transform .16s; }
.leadership-confirm .share-dialog-actions .button svg { width:15px; height:15px; transition:transform .16s; }
@media (hover:hover) {
 .leadership-confirm .share-dialog-actions .button:not(:disabled):hover { transform:translateY(-1px); box-shadow:0 4px 12px #0002; }
 .leadership-confirm .button-secondary:not(:disabled):hover { background:var(--theme-surface-hover); border-color:var(--theme-border-strong); }
 .leadership-confirm .button-primary:not(:disabled):hover svg { transform:translateX(3px); }
}
.leadership-confirm .share-dialog-actions .button:not(:disabled):active { transform:scale(.97); box-shadow:none; }
.leadership-confirm button:focus-visible { outline:2px solid var(--theme-accent); outline-offset:3px; }
.leadership-confirm button:disabled { opacity:.55; cursor:wait; }
@keyframes leadership-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes leadership-dialog-in { from { opacity:0; transform:translateY(7px) scale(.985); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .leadership-confirm-backdrop,.leadership-confirm { animation:none; } .leadership-confirm .share-dialog-actions .button,.leadership-confirm .share-dialog-actions .button svg { transition:none; } .leadership-confirm .share-dialog-actions .button:not(:disabled):hover,.leadership-confirm .share-dialog-actions .button:not(:disabled):active,.leadership-confirm .button-primary:not(:disabled):hover svg { transform:none; } }
