/* Only the active modal owns scrolling. An inert background scrollbar must not
   intercept dragging/wheel input at the viewport edge. Native scroll resumes
   immediately when the last modal closes, including the client selection page. */
html:has(dialog:modal),
html.client-scroll-mode:has(dialog:modal),
html:has(dialog:modal) body,
html.client-scroll-mode:has(dialog:modal) body {
  overflow: hidden !important;
}
.clean-theme dialog.workspace-screen[open] {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  overscroll-behavior-y: contain !important;
  scrollbar-gutter: stable;
}
.clean-theme .final-download-ready {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--clean-panel);
  color: var(--ink);
}
.clean-theme .final-download-ready p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
}
.clean-theme .final-download-ready a { text-decoration: none; }
@media (max-width: 720px) {
  .clean-theme .final-download-ready a { width: 100%; }
}
