/* Scoped to orientation; preserve the portal's approved layout and other dialogs. */
#orientation-card [data-orientation-content]{min-width:0}
#orientation-card .orientation-note{font-size:13px;margin-top:12px;overflow-wrap:anywhere}
#orientation-card .orientation-session{margin-top:12px}
#orientation-card .orientation-confirmed{color:var(--ink);font-weight:650}
.orientation-join{display:flex;flex-direction:column;gap:4px;min-height:44px;margin-top:16px;padding:12px;border:1px solid var(--control-border,var(--line));border-radius:12px;color:var(--blue);text-decoration:none;overflow-wrap:anywhere}
.orientation-join strong{font-size:15px;line-height:1.45}
.orientation-join>span{font-size:13px;line-height:1.5;color:var(--muted)}
.orientation-join:hover strong{text-decoration:underline;text-underline-offset:3px}
#orientation-dialog{width:calc(100% - 24px);max-width:540px;max-height:calc(var(--visual-height,100dvh) - 32px);padding:24px;overflow:auto;overscroll-behavior:contain}
#orientation-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.orientation-dialog-head,#orientation-dialog .orientation-timezone,.orientation-message,.orientation-actions{flex:none}
.orientation-body{min-height:0;overflow:auto;overscroll-behavior:contain;margin:0 -6px;padding:6px;scroll-padding:6px}
.orientation-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.orientation-dialog-head h2{font-size:24px;line-height:1.3;margin:0}
.orientation-dialog-head .icon-button{flex:none;min-width:44px;min-height:44px}
#orientation-title:focus{outline:none}
#orientation-dialog .orientation-timezone{font-size:14px;overflow-wrap:anywhere;margin:8px 0 20px}
#orientation-dialog h3{font-size:18px;margin:0 0 12px}
.orientation-dates{border:0;padding:0;margin:0;min-width:0;display:grid;gap:10px}
.orientation-dates legend{font-size:15px;font-weight:600;margin-bottom:12px;padding:0}
.orientation-date{display:flex;align-items:center;gap:12px;border:1px solid var(--control-border,var(--line));border-radius:12px;padding:12px;cursor:pointer;min-height:60px;background:var(--card)}
.orientation-date:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--soft)}
.orientation-date:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.orientation-date:has(input:disabled){cursor:wait}
.orientation-date input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--blue)}
.orientation-date>span,.orientation-session{display:flex;flex-direction:column;gap:4px;min-width:0}
.orientation-date strong,.orientation-session strong{font-size:15px;font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.orientation-date span span,.orientation-session>span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
#orientation-dialog .orientation-note{font-size:14px;margin:16px 0 0}
#orientation-dialog .orientation-message{font-size:15px;line-height:1.55;margin:16px 0 0}
.orientation-message:empty{display:none}
.orientation-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.orientation-status-check{min-height:44px;margin-top:0}
.orientation-submit-block{width:100%;display:flex;flex-direction:column;align-items:flex-end}
.orientation-submit-block .orientation-note{align-self:stretch}
.orientation-actions .primary{min-height:48px;justify-content:center;text-decoration:none}
#orientation-dialog button:disabled{opacity:.65;cursor:default;transform:none;filter:none}
@media(max-width:600px){
 #orientation-dialog{padding:20px;max-height:calc(var(--visual-height,100dvh) - 24px);margin:0 auto;inset:calc(var(--visual-top,0px) + var(--visual-height,100dvh)/2) 0 auto;transform:translateY(-50%)}
 .orientation-dialog-head h2{font-size:22px}
 .orientation-actions .primary{width:100%}
}
