/* Display and reading controls, using the established light/dark palette. */
.oh-dialog { --oh-bg:#fff; --oh-soft:#f5f5f7; --oh-ink:#1d1d1f; --oh-muted:#595960; --oh-line:#d8d8de; --oh-blue:#0069cf; }
html[data-sca-theme="dark"] .oh-dialog { --oh-bg:#191a1f; --oh-soft:#23252c; --oh-ink:#f5f5f7; --oh-muted:#b7bbc4; --oh-line:#42454f; --oh-blue:#82bcff; color-scheme:dark; }
body .oh-dialog { width:min(580px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 40px); padding:0; border:1px solid var(--oh-line); border-radius:20px; background:var(--oh-bg); color:var(--oh-ink); box-shadow:0 24px 80px #0004; overflow:auto; font-family:inherit; }
.oh-dialog::backdrop { background:#11182780; }
.oh-dialog * { box-sizing:border-box; }
.oh-dialog-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px 12px; position:sticky; top:0; z-index:2; background:var(--oh-bg); border-bottom:1px solid var(--oh-line); }
.oh-dialog-header h2 { margin:0; font-size:20px; font-weight:650; line-height:1.4; }
.oh-dialog :is(button,summary) { min-height:44px; }
.oh-dialog button { font:inherit; line-height:1.5; cursor:pointer; border-radius:10px; padding:9px 14px; border:1px solid var(--oh-line); background:var(--oh-soft); color:var(--oh-ink); white-space:normal; }
.oh-dialog button:disabled { opacity:.55; cursor:wait; }
.oh-dialog :is(button,summary,textarea):focus-visible { outline:3px solid var(--oh-blue); outline-offset:3px; }
.oh-dialog-content,.oh-dialog-footer { padding:8px 24px 20px; }
.oh-service-name { margin:0 0 16px; font-size:15px; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.oh-state { padding:16px; border-radius:12px; background:var(--oh-soft); border-left:3px solid var(--oh-blue); }
.oh-dialog h3 { margin:0 0 6px; font-size:15px; font-weight:650; }
.oh-dialog :is(.oh-state,.oh-next) p { margin:0; color:var(--oh-muted); font-size:14px; line-height:1.7; }
.oh-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 20px; margin:20px 0; }
.oh-facts>div { min-width:0; }
.oh-facts>div:first-child { grid-column:1/-1; }
.oh-facts dt { color:var(--oh-muted); font-size:12px; margin-bottom:4px; line-height:1.6; }
.oh-facts dd { margin:0; font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.oh-next { margin-top:20px; }
.oh-help-text { font-size:13px; line-height:1.75; color:var(--oh-muted,var(--ux-muted,#595960)); margin:12px 0; }
.oh-dialog-footer { border-top:1px solid var(--oh-line); padding-top:20px; }
.oh-dialog-footer .oh-copy { width:100%; background:#0069cf; color:#fff; border-color:#0069cf; font-weight:600; }
.oh-copy-feedback { margin:8px 0 0; color:var(--oh-blue); font-size:13px; line-height:1.65; }
.oh-copy-feedback:empty { display:none; }
.oh-dialog :is(summary,.oh-questions) { font-size:14px; line-height:1.7; }
.oh-dialog summary { cursor:pointer; padding:10px 0; }
.oh-manual textarea { display:block; width:100%; resize:vertical; min-height:150px; background:var(--oh-soft); color:var(--oh-ink); border:1px solid var(--oh-line); border-radius:8px; padding:12px; font:13px/1.7 ui-monospace,monospace; }
.oh-questions { padding-left:20px; margin:14px 0; }
.oh-questions li { margin:8px 0; }
.oh-children ul { list-style:none; margin:0; padding:0; }
.oh-children li { padding:12px 0; border-top:1px solid var(--oh-line); font-size:13px; overflow-wrap:anywhere; }
.oh-children p { margin:4px 0 0; color:var(--oh-muted); line-height:1.7; }
body.sca-member .oh-progress-button { min-height:44px; width:100%; font-size:13px; line-height:1.5; white-space:normal; margin:6px 0 0; }
body.sca-member .oh-group-tools { display:flex; justify-content:flex-end; margin-bottom:12px; }
body.sca-member .oh-group-tools .oh-progress-button { width:auto; }
body.sca-member .oh-service-guide { grid-column:1/-1; padding:0 2px; }
body.sca-member .oh-service-guide :is(ul,p) { color:var(--ux-muted); line-height:1.75; }
body.sca-member .oh-service-guide ul { padding-left:20px; font-size:13px; margin:0 0 16px; }
body.sca-member .oh-service-guide li { margin:8px 0; }
body.sca-member :is(.oh-checks,.oh-existing) summary { min-height:44px; padding:10px 0; font-size:13px; line-height:1.7; cursor:pointer; color:var(--ux-link); font-weight:500; }
body.sca-member :is(.oh-checks,.oh-existing) summary:focus-visible { outline:3px solid var(--ux-link); outline-offset:2px; }
body.sca-member .oh-existing .subtle { white-space:pre-line; font-size:13px; line-height:1.8; }
body.sca-member .oh-service-question { min-height:44px; max-width:100%; font-size:13px; white-space:normal; }
.oh-public-guide { margin:8px 0 24px; padding:0 18px; border:1px solid var(--ux-line,#d8d8de); border-radius:12px; color:var(--ux-ink,#1d1d1f); text-align:left; }
.oh-public-guide summary { cursor:pointer; font-size:14px; font-weight:600; padding:12px 0; min-height:44px; }
.oh-public-guide :is(p,li) { font-size:14px; line-height:1.8; color:var(--ux-muted,#595960); }
.oh-public-guide ul { padding-left:20px; margin:12px 0 18px; }
.oh-public-guide summary:focus-visible { outline:3px solid var(--ux-link,#0069cf); outline-offset:2px; }
@media(max-width:600px) {
  body .oh-dialog { width:calc(100% - 24px); max-width:calc(100% - 24px); max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); border-radius:16px; }
  .oh-dialog-header { padding:16px 18px 8px; }
  .oh-dialog-header h2 { font-size:18px; }
  .oh-dialog-header button { flex-shrink:0; }
  .oh-dialog-content,.oh-dialog-footer { padding:12px 18px 18px; }
  .oh-facts { gap:14px; }
  body.sca-member .oh-service-question { width:100%; }
}
