/* "What's your title?" prompt (hub + forms) */
body.tp-open { overflow: hidden; }
.tp-overlay {
  position: fixed; inset: 0; z-index: 2000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(15, 23, 32, 0.55);
}
.tp-dialog {
  width: 100%; max-width: 420px; max-height: calc(100vh - 32px); overflow: auto;
  background: var(--surface, #fff); color: var(--text, #1f2933);
  border-radius: 12px; padding: 24px; box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
  font-family: inherit;
}
.tp-heading { margin: 0 0 8px; font-size: 20px; line-height: 1.3; color: var(--text-title, var(--text, #1f2933)); }
.tp-help { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--text-muted, #52606d); }
.tp-label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--label, var(--text, #1f2933)); }
.tp-input {
  width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px;
  border: 1px solid var(--border, #cfd6de); border-radius: var(--input-radius, 8px);
  font: inherit; font-size: 16px; color: inherit; background: var(--surface, #fff);
}
.tp-input:focus-visible { outline: 2px solid var(--focus, #1f5f8b); outline-offset: 1px; border-color: var(--focus, #1f5f8b); }
.tp-input[aria-invalid="true"] { border-color: var(--danger, #b42318); }
.tp-error { margin: 8px 0 0; font-size: 14px; color: var(--danger-text, #b42318); }
.tp-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
.tp-btn {
  min-height: 44px; min-width: 96px; padding: 0 18px; border-radius: var(--btn-radius, 8px);
  font: inherit; font-size: 15px; font-weight: 600; cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease;
}
.tp-later { background: var(--secondary-bg, #fff); color: var(--secondary-text, #1f2933); border: 1px solid var(--secondary-border, #cfd6de); }
.tp-save { background: var(--primary, #1f5f8b); color: #fff; border: 1px solid var(--primary, #1f5f8b); }
.tp-save:hover:not(:disabled) { background: var(--primary-hover, #174a6c); }
.tp-btn:focus-visible { outline: 2px solid var(--focus, #1f5f8b); outline-offset: 2px; }
.tp-btn:disabled { opacity: 0.6; cursor: progress; }
@media (max-width: 480px) {
  .tp-overlay { align-items: flex-end; padding: 0; }
  .tp-dialog { max-width: none; border-radius: 16px 16px 0 0; padding: 20px 16px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .tp-actions { flex-direction: column-reverse; }
  .tp-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .tp-btn { transition: none; } }
