/* Private request review shares the organizer's compact navy-and-gold surfaces. */
.om-shell .os-signups { margin:0 0 14px; padding:12px 14px; border:1px solid var(--om-border,#afc0d133); border-radius:12px; background:var(--om-surface,#10263d); color:var(--om-text,#f5f2ea); }
.os-signup-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.os-signups h3 { margin:0; color:var(--om-text,#f5f2ea); font-size:.9rem; font-weight:600; }
.os-signup-intro,.os-signup-feedback,.os-signup-blocked,.os-signup-empty { margin:6px 0; font-size:.76rem; line-height:1.45; color:var(--om-muted,#afc0d1); }
.os-signup-blocked { color:#f0c59b; }
.os-signup-feedback { color:#b2e2cb; }
.os-signup-row { padding:12px 0; border-top:1px solid var(--om-border,#afc0d133); overflow-wrap:anywhere; }
.os-signup-row:last-child { padding-bottom:0; }
.os-signup-row h4 { font-size:.87rem; line-height:1.4; margin:0 0 3px; font-weight:600; color:var(--om-text,#f5f2ea); }
.os-signup-row p { margin:3px 0; font-size:.74rem; line-height:1.45; color:var(--om-muted,#afc0d1); }
.os-signup-row .os-signup-conflicts { color:#f0c59b; }
.os-signup-actions,.os-signup-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:8px; }
.os-signup-controls { border-top:1px solid var(--om-border,#afc0d133); padding-top:10px; }
.os-button,.os-approve,.os-link,.os-close { min-height:44px; border-radius:8px; font-size:.77rem; line-height:1.3; padding:9px 12px; cursor:pointer; }
.os-approve { border:1px solid transparent; background:var(--om-gold,#dfc48a); color:var(--om-bg,#08182c); font-weight:650; }
.os-button,.os-close { border:1px solid var(--om-border,#afc0d133); background:var(--om-raised,#18334d); color:var(--om-text,#f5f2ea); }
.os-link { display:inline-flex; align-items:center; border:0; background:none; color:var(--om-gold,#dfc48a); text-decoration:none; padding-inline:4px; }
.os-role-label { flex:1; min-width:115px; }
.os-role-label select { width:100%; min-height:44px; padding:8px 22px 8px 10px; border:1px solid var(--om-border,#afc0d133); border-radius:8px; background:var(--om-bg,#08182c); color:var(--om-text,#f5f2ea); font-size:16px; }
.os-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:0; border:1px solid #b5c9dd33; border-radius:16px; background:var(--om-surface,#10263d); color:var(--om-text,#f5f2ea); overflow:auto; overscroll-behavior:contain; color-scheme:dark; box-shadow:0 32px 100px #020711a6; }
.os-dialog::backdrop { background:#030b16b8; backdrop-filter:blur(5px); }
.os-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; position:sticky; top:0; z-index:2; background:var(--om-surface,#10263d); border-bottom:1px solid var(--om-border,#afc0d133); }
.os-dialog-header h2 { margin:0; font-size:1.1rem; letter-spacing:-.02em; color:var(--om-text,#f5f2ea); }
.os-dialog-body { padding:14px 16px 20px; }
.om-shell .os-dialog .os-signups { padding:0; margin:0; border:0; background:none; }
.os-dialog .os-signup-row { padding-block:14px; }
.os-signups [hidden] { display:none!important; }
.os-signups :is(button,select):disabled { opacity:.5; cursor:default; }
.os-signups :is(button,a,select):focus-visible,.os-dialog .os-close:focus-visible { outline:2px solid var(--om-gold,#dfc48a); outline-offset:3px; }
@media(max-width:600px) { .os-dialog { width:100%; max-height:calc(100dvh - 16px); margin:auto 0 0; border-radius:16px 16px 0 0; border-bottom:0; } .os-dialog-body { padding-bottom:calc(20px + env(safe-area-inset-bottom)); } .os-signup-actions { gap:6px; } .os-signup-actions .os-approve { padding-inline:10px; } }
@media(prefers-reduced-motion:no-preference) { .os-dialog[open] { animation:om-dialog-in 180ms var(--om-ease,ease); } .os-signups button { transition:background 160ms var(--om-ease,ease),transform 160ms var(--om-ease,ease); } .os-signups button:active:not(:disabled) { transform:translateY(1px); } }
@media(max-width:600px) { .os-dialog { width:100vw; max-width:100vw; box-sizing:border-box; } .os-role-label { min-width:88px; } }
