/* CSS to render Tiny CME */
.prose {
  line-height: 1.6;
}

.prose p {
  margin-bottom: 1rem;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
  font-weight: bold;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.prose h1 {
  font-size: 2rem;
}
.prose h2 {
  font-size: 1.75rem;
}
.prose h3 {
  font-size: 1.5rem;
}
.prose h4 {
  font-size: 1.25rem;
}
.prose h5 {
  font-size: 1.125rem;
}
.prose h6 {
  font-size: 1rem;
}

.prose strong,
.prose b {
  font-weight: bold;
}

.prose em,
.prose i {
  font-style: italic;
}

.prose u {
  text-decoration: underline;
}

.prose ul,
.prose ol {
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}

.prose ul {
  list-style-type: disc;
}

.prose ol {
  list-style-type: decimal;
}

.prose li {
  margin-bottom: 0.5rem;
}

.prose blockquote {
  border-left: 4px solid #e5e7eb;
  padding-left: 1rem;
  margin: 1rem 0;
  font-style: italic;
  color: #6b7280;
}

.prose a {
  color: #2563eb;
  text-decoration: underline;
}

.prose a:hover {
  color: #1d4ed8;
}

.prose img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border-radius: 0.5rem;
}

.prose code {
  background-color: #f3f4f6;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-family: "Courier New", monospace;
  font-size: 0.875rem;
}

.prose pre {
  background-color: #f3f4f6;
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin: 1rem 0;
}

.prose pre code {
  background: none;
  padding: 0;
}

/* Text alignment */
.prose .text-left {
  text-align: left;
}
.prose .text-center {
  text-align: center;
}
.prose .text-right {
  text-align: right;
}
.prose .text-justify {
  text-align: justify;
}

/* Font sizes */
.prose .text-xs {
  font-size: 0.75rem;
}
.prose .text-sm {
  font-size: 0.875rem;
}
.prose .text-base {
  font-size: 1rem;
}
.prose .text-lg {
  font-size: 1.125rem;
}
.prose .text-xl {
  font-size: 1.25rem;
}
.prose .text-2xl {
  font-size: 1.5rem;
}
.prose .text-3xl {
  font-size: 1.875rem;
}

/* Colors */
.prose .text-red-500 {
  color: #ef4444;
}
.prose .text-blue-500 {
  color: #3b82f6;
}
.prose .text-green-500 {
  color: #10b981;
}
.prose .text-yellow-500 {
  color: #f59e0b;
}
.prose .text-purple-500 {
  color: #8b5cf6;
}
.prose .text-gray-500 {
  color: #6b7280;
}

/* Font families từ TinyMCE */
.prose .arial {
  font-family: arial, helvetica, sans-serif;
}
.prose .times {
  font-family: "times new roman", times, serif;
}
.prose .courier {
  font-family: "courier new", courier, monospace;
}

/* Indentation */
.prose .indent-1 {
  margin-left: 2rem;
}
.prose .indent-2 {
  margin-left: 4rem;
}
.prose .outdent-1 {
  margin-left: -2rem;
}
.prose .outdent-2 {
  margin-left: -4rem;
}

/* Tables */
.prose table {
  border-collapse: collapse;
  width: 100%;
  margin: 1rem 0;
}

.prose th,
.prose td {
  border: 1px solid #d1d5db;
  padding: 0.5rem;
  text-align: left;
}

.prose th {
  background-color: #f9fafb;
  font-weight: bold;
}

/* Horizontal rule */
.prose hr {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 2rem 0;
}

/* Subscript and superscript */
.prose sub {
  vertical-align: sub;
  font-size: smaller;
}
.prose sup {
  vertical-align: super;
  font-size: smaller;
}

/* Strikethrough */
.prose s,
.prose strike {
  text-decoration: line-through;
}

/* Small text */
.prose small {
  font-size: 0.875em;
}

/* Mark/highlight */
.prose mark {
  background-color: #fef3c7;
  padding: 0.125rem 0.25rem;
  border-radius: 0.25rem;
}

/* TinyMCE specific classes */
.prose .mce-content-body {
  font-family: inherit;
}

/* Font size classes từ TinyMCE */
.prose .mce-fontsize-1 {
  font-size: 0.75rem;
}
.prose .mce-fontsize-2 {
  font-size: 0.875rem;
}
.prose .mce-fontsize-3 {
  font-size: 1rem;
}
.prose .mce-fontsize-4 {
  font-size: 1.125rem;
}
.prose .mce-fontsize-5 {
  font-size: 1.25rem;
}
.prose .mce-fontsize-6 {
  font-size: 1.5rem;
}
.prose .mce-fontsize-7 {
  font-size: 1.875rem;
}

/* Text direction */
.prose .mce-text-direction-rtl {
  direction: rtl;
}
.prose .mce-text-direction-ltr {
  direction: ltr;
}

/* Non-breaking space */
.prose .mce-nbsp {
  white-space: nowrap;
}

/* Page break */
.prose .mce-pagebreak {
  page-break-before: always;
  height: 0;
  overflow: hidden;
}

/* Visual blocks */
.prose .mce-visualblocks {
  outline: 1px solid #d1d5db;
}

/* Visual characters */
.prose .mce-visualchars {
  background-color: #fef3c7;
}

/* Quick toolbar */
.prose .mce-quickbars-selection {
  background-color: #3b82f6;
  color: white;
}

/* Auto save */
.prose .mce-autosave {
  opacity: 0.7;
}

/* Search and replace */
.prose .mce-search-result {
  background-color: #fef3c7;
  border: 1px solid #f59e0b;
}

/* Code sample */
.prose .mce-code-sample {
  background-color: #1f2937;
  color: #f9fafb;
  padding: 1rem;
  border-radius: 0.5rem;
  font-family: "Courier New", monospace;
  overflow-x: auto;
}

/* Emoticons */
.prose .mce-emoticons {
  font-size: 1.2em;
}

/* Media */
.prose .mce-media {
  max-width: 100%;
  height: auto;
}

/* Non-editable content */
.prose .mce-noneditable {
  background-color: #f3f4f6;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Font size classes từ TinyMCE (alternative naming) */
.prose .fontsize-1 {
  font-size: 0.75rem;
}
.prose .fontsize-2 {
  font-size: 0.875rem;
}
.prose .fontsize-3 {
  font-size: 1rem;
}
.prose .fontsize-4 {
  font-size: 1.125rem;
}
.prose .fontsize-5 {
  font-size: 1.25rem;
}
.prose .fontsize-6 {
  font-size: 1.5rem;
}
.prose .fontsize-7 {
  font-size: 1.875rem;
}

/* Font family classes từ TinyMCE (alternative naming) */
.prose .font-arial {
  font-family: arial, helvetica, sans-serif;
}
.prose .font-times {
  font-family: "times new roman", times, serif;
}
.prose .font-courier {
  font-family: "courier new", courier, monospace;
}

/* Text alignment classes từ TinyMCE */
.prose .text-left {
  text-align: left;
}
.prose .text-center {
  text-align: center;
}
.prose .text-right {
  text-align: right;
}
.prose .text-justify {
  text-align: justify;
}

/* Indentation classes từ TinyMCE */
.prose .indent {
  margin-left: 2rem;
}
.prose .outdent {
  margin-left: -2rem;
}

/* List classes từ TinyMCE */
.prose .mce-list-item {
  margin-bottom: 0.5rem;
}
.prose .mce-list-item-selected {
  background-color: #dbeafe;
}

/* Link classes từ TinyMCE */
.prose .mce-link {
  color: #2563eb;
  text-decoration: underline;
}
.prose .mce-link:hover {
  color: #1d4ed8;
}
.prose .mce-link:visited {
  color: #7c3aed;
}

/* Image classes từ TinyMCE */
.prose .mce-image {
  max-width: 100%;
  height: auto;
}
.prose .mce-image-selected {
  outline: 2px solid #3b82f6;
}

/* Table classes từ TinyMCE */
.prose .mce-table {
  border-collapse: collapse;
  width: 100%;
}
.prose .mce-table td,
.prose .mce-table th {
  border: 1px solid #d1d5db;
  padding: 0.5rem;
}
.prose .mce-table th {
  background-color: #f9fafb;
  font-weight: bold;
}

/* Selection classes từ TinyMCE */
.prose .mce-selection {
  background-color: #3b82f6;
  color: white;
}
.prose .mce-selection-start {
  border-left: 2px solid #3b82f6;
}
.prose .mce-selection-end {
  border-right: 2px solid #3b82f6;
}

/* Focus classes từ TinyMCE */
.prose .mce-focus {
  outline: 2px solid #3b82f6;
}

/* Error classes từ TinyMCE */
.prose .mce-error {
  color: #ef4444;
  background-color: #fef2f2;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Warning classes từ TinyMCE */
.prose .mce-warning {
  color: #f59e0b;
  background-color: #fffbeb;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Success classes từ TinyMCE */
.prose .mce-success {
  color: #10b981;
  background-color: #ecfdf5;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Info classes từ TinyMCE */
.prose .mce-info {
  color: #3b82f6;
  background-color: #eff6ff;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Additional TinyMCE classes */
.prose .mce-content-body {
  font-family: inherit;
  line-height: 1.6;
}

/* Font size classes từ TinyMCE (additional naming) */
.prose .size-1 {
  font-size: 0.75rem;
}
.prose .size-2 {
  font-size: 0.875rem;
}
.prose .size-3 {
  font-size: 1rem;
}
.prose .size-4 {
  font-size: 1.125rem;
}
.prose .size-5 {
  font-size: 1.25rem;
}
.prose .size-6 {
  font-size: 1.5rem;
}
.prose .size-7 {
  font-size: 1.875rem;
}

/* Font family classes từ TinyMCE (additional naming) */
.prose .arial {
  font-family: arial, helvetica, sans-serif;
}
.prose .times {
  font-family: "times new roman", times, serif;
}
.prose .courier {
  font-family: "courier new", courier, monospace;
}

/* Text alignment classes từ TinyMCE (additional naming) */
.prose .align-left {
  text-align: left;
}
.prose .align-center {
  text-align: center;
}
.prose .align-right {
  text-align: right;
}
.prose .align-justify {
  text-align: justify;
}

/* Indentation classes từ TinyMCE (additional naming) */
.prose .indent-1 {
  margin-left: 2rem;
}
.prose .indent-2 {
  margin-left: 4rem;
}
.prose .outdent-1 {
  margin-left: -2rem;
}
.prose .outdent-2 {
  margin-left: -4rem;
}

/* List classes từ TinyMCE (additional naming) */
.prose .list-item {
  margin-bottom: 0.5rem;
}
.prose .list-item-selected {
  background-color: #dbeafe;
}

/* Link classes từ TinyMCE (additional naming) */
.prose .link {
  color: #2563eb;
  text-decoration: underline;
}
.prose .link:hover {
  color: #1d4ed8;
}
.prose .link:visited {
  color: #7c3aed;
}

/* Image classes từ TinyMCE (additional naming) */
.prose .image {
  max-width: 100%;
  height: auto;
}
.prose .image-selected {
  outline: 2px solid #3b82f6;
}

/* Table classes từ TinyMCE (additional naming) */
.prose .table {
  border-collapse: collapse;
  width: 100%;
}
.prose .table td,
.prose .table th {
  border: 1px solid #d1d5db;
  padding: 0.5rem;
}
.prose .table th {
  background-color: #f9fafb;
  font-weight: bold;
}

/* Selection classes từ TinyMCE (additional naming) */
.prose .selection {
  background-color: #3b82f6;
  color: white;
}
.prose .selection-start {
  border-left: 2px solid #3b82f6;
}
.prose .selection-end {
  border-right: 2px solid #3b82f6;
}

/* Focus classes từ TinyMCE (additional naming) */
.prose .focus {
  outline: 2px solid #3b82f6;
}

/* Error classes từ TinyMCE (additional naming) */
.prose .error {
  color: #ef4444;
  background-color: #fef2f2;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Warning classes từ TinyMCE (additional naming) */
.prose .warning {
  color: #f59e0b;
  background-color: #fffbeb;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Success classes từ TinyMCE (additional naming) */
.prose .success {
  color: #10b981;
  background-color: #ecfdf5;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Info classes từ TinyMCE (additional naming) */
.prose .info {
  color: #3b82f6;
  background-color: #eff6ff;
  padding: 0.25rem;
  border-radius: 0.25rem;
}

/* Additional formatting classes */
.prose .underline {
  text-decoration: underline;
}
.prose .overline {
  text-decoration: overline;
}
.prose .line-through {
  text-decoration: line-through;
}
.prose .blink {
  animation: blink 1s infinite;
}

@keyframes blink {
  0%,
  50% {
    opacity: 1;
  }
  51%,
  100% {
    opacity: 0;
  }
}

/* Additional font weight classes */
.prose .font-light {
  font-weight: 300;
}
.prose .font-normal {
  font-weight: 400;
}
.prose .font-medium {
  font-weight: 500;
}
.prose .font-semibold {
  font-weight: 600;
}
.prose .font-bold {
  font-weight: 700;
}
.prose .font-extrabold {
  font-weight: 800;
}
.prose .font-black {
  font-weight: 900;
}

/* Additional font style classes */
.prose .font-italic {
  font-style: italic;
}
.prose .font-normal {
  font-style: normal;
}

/* Additional text transform classes */
.prose .uppercase {
  text-transform: uppercase;
}
.prose .lowercase {
  text-transform: lowercase;
}
.prose .capitalize {
  text-transform: capitalize;
}
.prose .normal-case {
  text-transform: none;
}

/* Additional letter spacing classes */
.prose .tracking-tighter {
  letter-spacing: -0.05em;
}
.prose .tracking-tight {
  letter-spacing: -0.025em;
}
.prose .tracking-normal {
  letter-spacing: 0em;
}
.prose .tracking-wide {
  letter-spacing: 0.025em;
}
.prose .tracking-wider {
  letter-spacing: 0.05em;
}
.prose .tracking-widest {
  letter-spacing: 0.1em;
}

/* Additional line height classes */
.prose .leading-none {
  line-height: 1;
}
.prose .leading-tight {
  line-height: 1.25;
}
.prose .leading-snug {
  line-height: 1.375;
}
.prose .leading-normal {
  line-height: 1.5;
}
.prose .leading-relaxed {
  line-height: 1.625;
}
.prose .leading-loose {
  line-height: 2;
}

/* Additional margin classes */
.prose .m-0 {
  margin: 0;
}
.prose .m-1 {
  margin: 0.25rem;
}
.prose .m-2 {
  margin: 0.5rem;
}
.prose .m-4 {
  margin: 1rem;
}
.prose .m-8 {
  margin: 2rem;
}

/* Additional padding classes */
.prose .p-0 {
  padding: 0;
}
.prose .p-1 {
  padding: 0.25rem;
}
.prose .p-2 {
  padding: 0.5rem;
}
.prose .p-4 {
  padding: 1rem;
}
.prose .p-8 {
  padding: 2rem;
}

/* Additional border classes */
.prose .border {
  border: 1px solid #d1d5db;
}
.prose .border-2 {
  border: 2px solid #d1d5db;
}
.prose .border-4 {
  border: 4px solid #d1d5db;
}

/* Additional border radius classes */
.prose .rounded {
  border-radius: 0.25rem;
}
.prose .rounded-lg {
  border-radius: 0.5rem;
}
.prose .rounded-xl {
  border-radius: 0.75rem;
}
.prose .rounded-2xl {
  border-radius: 1rem;
}

/* Additional shadow classes */
.prose .shadow {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.prose .shadow-md {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
.prose .shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.prose .shadow-xl {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Additional background classes */
.prose .bg-transparent {
  background-color: transparent;
}
.prose .bg-current {
  background-color: currentColor;
}
.prose .bg-black {
  background-color: #000;
}
.prose .bg-white {
  background-color: #fff;
}
.prose .bg-gray-50 {
  background-color: #f9fafb;
}
.prose .bg-gray-100 {
  background-color: #f3f4f6;
}
.prose .bg-gray-200 {
  background-color: #e5e7eb;
}
.prose .bg-gray-300 {
  background-color: #d1d5db;
}
.prose .bg-gray-400 {
  background-color: #9ca3af;
}
.prose .bg-gray-500 {
  background-color: #6b7280;
}
.prose .bg-gray-600 {
  background-color: #4b5563;
}
.prose .bg-gray-700 {
  background-color: #374151;
}
.prose .bg-gray-800 {
  background-color: #1f2937;
}
.prose .bg-gray-900 {
  background-color: #111827;
}

/* Additional text color classes */
.prose .text-transparent {
  color: transparent;
}
.prose .text-current {
  color: currentColor;
}
.prose .text-black {
  color: #000;
}
.prose .text-white {
  color: #fff;
}
.prose .text-gray-50 {
  color: #f9fafb;
}
.prose .text-gray-100 {
  color: #f3f4f6;
}
.prose .text-gray-200 {
  color: #e5e7eb;
}
.prose .text-gray-300 {
  color: #d1d5db;
}
.prose .text-gray-400 {
  color: #9ca3af;
}
.prose .text-gray-500 {
  color: #6b7280;
}
.prose .text-gray-600 {
  color: #4b5563;
}
.prose .text-gray-700 {
  color: #374151;
}
.prose .text-gray-800 {
  color: #1f2937;
}
.prose .text-gray-900 {
  color: #111827;
}
