/* VanVR App — shared dialog pieces.

   Used by dialogs that JavaScript builds at run time (VVCourseApi.showManualCopy
   in js/academic-api.js). Loaded by VanVRApp.html and rbac-dashboard.html, after
   tokens.css, so a dialog looks the same wherever it opens and follows the
   theme and text size. Everything here reads tokens; nothing sets a color.

   Added 2026-09-28 (UI-001, step 3). The draft-copy dialog used to style itself
   from JavaScript with hard-coded dark colors, which ignored the light theme and
   the text-size setting. Buttons inside these dialogs use the ordinary .btn,
   .btn-primary and .btn-ghost classes from the page's own stylesheet. */

.vv-dialog-overlay {
  display: none; position: fixed; inset: 0; z-index: 100000;
  align-items: center; justify-content: center; padding: 16px;
  background: rgba(6, 8, 14, 0.6);
}
.vv-dialog-overlay.show { display: flex; }
.vv-dialog-card {
  display: flex; flex-direction: column; gap: 10px;
  width: min(640px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto;
  padding: 18px; border-radius: 12px;
  background: var(--surface2); color: var(--text); border: 1px solid var(--border);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}
.vv-dialog-card h3 { margin: 0; font-size: calc(16px * var(--vv-text-scale, 1)); color: var(--text); }
.vv-dialog-card p { margin: 0; font-size: calc(13px * var(--vv-text-scale, 1)); color: var(--text); opacity: .85; }
.vv-dialog-text {
  width: 100%; min-height: 240px; resize: vertical; padding: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: calc(12px * var(--vv-text-scale, 1)); line-height: 1.5;
  background: var(--surface); color: var(--text);
  border: 1px solid var(--border); border-radius: 8px;
}
.vv-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
