.rich-editor { border: 0; overflow: visible; background: transparent; }
.rich-editor .jodit-container { border: 1px solid #cbd6e1; border-radius: 8px; overflow: hidden; box-shadow: none; }
.rich-editor .jodit-toolbar__box,
.admin-body .rich-editor .jodit-toolbar__box { position: static !important; top: auto !important; z-index: auto !important; border-bottom: 1px solid #dfe6ee; background: #f5f8fb; }
.rich-editor .jodit-toolbar-editor-collection { padding: 6px; }
.rich-editor .jodit-wysiwyg { padding: 18px; color: var(--ink, #10233e); font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: 15px; line-height: 1.7; }
.public-form .rich-editor .jodit-wysiwyg { font-size: 16px; }
.rich-editor .jodit-wysiwyg img { max-width: 100%; height: auto; }
.rich-editor .jodit-wysiwyg iframe,
.rich-editor .jodit-wysiwyg video { display: block; width: 100%; max-width: 720px; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 8px; background: #071e35; }
.rich-editor .jodit-wysiwyg figure { margin: 18px 0; }
.rich-editor .jodit-wysiwyg figcaption { margin-top: 7px; color: var(--muted, #68778a); font-size: 12px; text-align: center; }
.rich-editor .jodit-wysiwyg table { width: 100%; border-collapse: collapse; }
.rich-editor .jodit-wysiwyg td,
.rich-editor .jodit-wysiwyg th { border: 1px solid #cbd6e1; padding: 8px; }
.rich-editor-field { display: block; width: 100%; min-height: 360px; }
.editor-accessibility-note { min-height: 0; color: #9d2222; font-size: 12px; }
.editor-accessibility-note:not(:empty) { padding: 8px 12px; border: 1px solid #efc2c2; border-top: 0; background: #fff0f0; }
.editor-media-help { margin: 9px 0 0; color: var(--muted, #68778a); font-size: 12px; }

.featured-image-preview { display: grid; min-height: 130px; margin-bottom: 12px; place-items: center; overflow: hidden; border: 1px dashed #b9c8d6; border-radius: 8px; background: #f5f8fb; color: var(--muted, #68778a); }
.featured-image-preview > div { display: grid; justify-items: center; gap: 6px; }
.featured-image-preview .icon { width: 28px; height: 28px; }
.featured-image-preview.has-image { display: block; border-style: solid; background: #fff; }
.featured-image-preview img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.featured-image-preview > span { display: block; overflow: hidden; padding: 8px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.featured-image-actions { display: grid; gap: 8px; }
.featured-image-actions button,
.featured-image-actions .media-file-button { justify-content: center; width: 100%; box-sizing: border-box; text-align: center; cursor: pointer; }

.media-picker-dialog { width: min(1120px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; overflow: hidden; border: 0; border-radius: 12px; box-shadow: 0 24px 80px rgba(3, 23, 45, .32); }
.media-picker-dialog::backdrop { background: rgba(4, 20, 38, .68); }
.media-picker-shell { display: grid; max-height: calc(100vh - 32px); grid-template-rows: auto auto minmax(260px, 1fr) auto auto; background: #fff; }
.media-picker-shell > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 20px; border-bottom: 1px solid #dfe6ee; }
.media-picker-shell > header > div { display: flex; flex-direction: column; }
.media-picker-shell > header strong { font-size: 19px; }
.media-picker-shell > header span { margin-top: 3px; color: #68778a; font-size: 12px; }
.media-picker-close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #eef3f7; color: #10233e; cursor: pointer; font-size: 26px; line-height: 1; }
.media-picker-tabs { display: flex; gap: 4px; padding: 10px 20px 0; border-bottom: 1px solid #dfe6ee; }
.media-picker-tabs button { padding: 10px 14px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #68778a; cursor: pointer; font-weight: 700; }
.media-picker-tabs button.is-active { border-bottom-color: var(--blue, #08488f); color: var(--blue, #08488f); }
.media-picker-panel { display: none; min-height: 0; padding: 16px 20px; overflow: auto; }
.media-picker-panel.is-active { display: block; }
.media-search { display: block; font-size: 12px; font-weight: 700; }
.media-search input { display: block; width: 100%; margin-top: 5px; padding: 10px 12px; border: 1px solid #cbd6e1; border-radius: 7px; box-sizing: border-box; }
.media-picker-status { min-height: 19px; margin: 9px 0; color: #68778a; font-size: 12px; }
.media-picker-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.media-load-more { display: block; margin: 16px auto 0; }
.media-picker-item { min-width: 0; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 8px; background: #f5f8fb; color: #10233e; cursor: pointer; text-align: left; }
.media-picker-item:hover { border-color: #93b5d6; }
.media-picker-item.is-selected { border-color: var(--blue, #08488f); box-shadow: 0 0 0 2px rgba(8, 72, 143, .12); }
.media-picker-item img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #e8eef4; }
.media-picker-item span { display: block; padding: 7px; }
.media-picker-item strong,
.media-picker-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.media-picker-item strong { font-size: 11px; }
.media-picker-item small { margin-top: 3px; color: #68778a; font-size: 10px; }
.media-upload-drop { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 8px; padding: 20px; border: 2px dashed #b9c8d6; border-radius: 10px; background: #f8fafc; text-align: center; }
.media-upload-drop .icon { width: 32px; height: 32px; color: var(--blue, #08488f); }
.media-upload-drop span { color: #68778a; font-size: 12px; }
.media-upload-drop input { margin-top: 8px; }
.media-picker-panel[data-media-panel="upload"] > label { display: block; margin: 15px 0 10px; font-size: 12px; font-weight: 700; }
.media-picker-panel[data-media-panel="upload"] > label input { display: block; width: 100%; margin-top: 5px; padding: 10px; border: 1px solid #cbd6e1; border-radius: 7px; box-sizing: border-box; }
.media-picker-details { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; padding: 14px 20px; border-top: 1px solid #dfe6ee; background: #f8fafc; }
.media-picker-details > img { width: 180px; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; }
.media-picker-details > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; align-items: end; }
.media-picker-details > div > strong,
.media-picker-details > div > small { grid-column: 1/-1; }
.media-picker-details > div > small { color: #68778a; }
.media-picker-details label { font-size: 11px; font-weight: 700; }
.media-picker-details label span { font-weight: 400; }
.media-picker-details input,
.media-picker-details select { display: block; width: 100%; margin-top: 4px; padding: 8px; border: 1px solid #cbd6e1; border-radius: 6px; box-sizing: border-box; background: #fff; }
.media-picker-shell > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 13px 20px; border-top: 1px solid #dfe6ee; }

.autosave-recovery { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: var(--blue, #08488f); background: #eef5fb; color: #173b62; }
.autosave-recovery p,
.autosave-conflict p { margin: 5px 0 0; }
.autosave-recovery > div:last-child { display: flex; flex: 0 0 auto; gap: 8px; }
.autosave-conflict { border-color: #d78500; background: #fff5df; color: #7a4a00; }
.autosave-status { display: flex; align-items: center; gap: 8px; min-height: 34px; margin: -5px 0 15px; padding: 8px 10px; border-radius: 6px; background: #f5f8fb; color: var(--muted, #68778a); font-size: 11px; }
.autosave-status span { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: #91a0af; }
.autosave-status[data-state="dirty"] span { background: #d78500; }
.autosave-status[data-state="saving"] span { background: var(--blue, #08488f); animation: andara-pulse 1s infinite; }
.autosave-status[data-state="saved"] span { background: var(--green, #167a48); }
.autosave-status[data-state="error"] span,
.autosave-status[data-state="conflict"] span { background: var(--red, #ba3030); }
.conflict-confirm { align-items: flex-start !important; padding: 10px; border: 1px solid #e2b258; border-radius: 6px; background: #fff8e9; color: #704500; }
@keyframes andara-pulse { 50% { opacity: .3; } }

@media (max-width: 900px) {
  .media-picker-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .media-picker-details { grid-template-columns: 130px minmax(0, 1fr); }
  .media-picker-details > img { width: 130px; }
  .media-picker-details > div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .rich-editor .jodit-wysiwyg { padding: 13px; }
  .media-picker-dialog { width: 100vw; max-height: 100dvh; border-radius: 0; }
  .media-picker-shell { max-height: 100dvh; grid-template-rows: auto auto minmax(220px, 1fr) auto auto; }
  .media-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media-picker-details { grid-template-columns: 90px minmax(0, 1fr); padding: 10px 12px; }
  .media-picker-details > img { width: 90px; }
  .media-picker-details > div { grid-template-columns: 1fr; }
  .media-picker-details > div > strong,
  .media-picker-details > div > small { grid-column: auto; }
  .media-picker-shell > header,
  .media-picker-panel,
  .media-picker-shell > footer { padding-inline: 12px; }
  .autosave-recovery { align-items: stretch; flex-direction: column; }
  .autosave-recovery > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .autosave-status[data-state="saving"] span { animation: none; } }
