/* Tech Dynamix Quotes: the few things Tabler does not already draw.
   Loaded after vendor/tabler/tabler.css and the shared brand.css (which is
   copied from the Client Hub and never edited here). Tabler owns spacing,
   components, typography and dark mode; nothing here restyles Tabler. */

/* Content block editor (contenteditable, no library) */
.editor-area {
  min-height: 18rem;
  padding: .75rem 1rem;
  outline: none;
}
.editor-area:focus { box-shadow: inset 0 0 0 2px rgba(var(--tblr-primary-rgb), .25); }
.editor-source { min-height: 18rem; border: 0; border-radius: 0; }
.editor-toolbar {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--tblr-bg-surface-secondary);
}
.editor-toolbar .btn.active { border-color: var(--tblr-primary); color: var(--tblr-link-color); }

/* Proposal content as the client will read it */
.prose { line-height: 1.6; }
.prose h2 { font-size: 1.25rem; margin-top: 1rem; }
.prose h3 { font-size: 1.05rem; }
.prose p { margin-bottom: .75rem; }
.prose blockquote { border-left: 3px solid var(--tblr-primary); padding-left: .75rem; color: var(--tblr-secondary); }
.prose table td, .prose table th { border: 1px solid var(--tblr-border-color); padding: .25rem .5rem; }

/* Questionnaire preview: questions hidden by visible_if */
.q.hidden-q { display: none; }

/* Keeps the save button reachable on long forms and on phones */
.sticky-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: .75rem 0;
  background: var(--tblr-bg-surface);
  border-top: 1px solid var(--tblr-border-color);
}

.logo-preview img { max-height: 4rem; max-width: 14rem; }
.text-prewrap { white-space: pre-wrap; }
pre.code { max-height: 30rem; overflow: auto; }
