/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Editorial workspace. Reader typography stays in article_body.css. */
.admin-shell .editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: start; gap: 20px; }
.admin-shell .editor-content { min-width: 0; }
.admin-shell .editor-settings { display: grid; gap: 14px; min-width: 0; }
.admin-shell .editor-setting-panel { border: 1px solid #cbd5e1; border-radius: 8px; background: white; padding: 16px; }
.admin-shell .editor-setting-panel > summary { font-weight: 600; cursor: pointer; }
.admin-shell .editor-setting-panel > div { margin-top: 16px; }
.admin-shell .editor-help { font-size: 12px; color: #475569; margin-top: 12px; }
.admin-shell .editor-help summary { cursor: pointer; }
.admin-shell .editor-actions { position: sticky; top: 0; z-index: 15; background: #f8fafc; }
.admin-shell .editor-focus-mode { position: fixed; inset: 0; z-index: 40; overflow-y: auto; padding: 16px max(16px, calc((100vw - 1100px)/2)); background: #f1f5f9; }
.admin-shell .editor-focus-mode .editor-settings { display: none; }
.admin-shell .editor-focus-mode .editor-grid { display: block; }
seoulized-editor { display: block; min-width: 0; }
seoulized-editor .ProseMirror { white-space: pre-wrap; min-height: 380px; padding: 24px 32px; outline: none; overflow-wrap: anywhere; }
seoulized-editor .ProseMirror p.is-editor-empty:first-child::before { content: attr(data-placeholder); color: #64748b; float: left; height: 0; pointer-events: none; }
seoulized-editor .ProseMirror-selectednode { outline: 2px solid #2563eb; outline-offset: 3px; }
seoulized-editor .attachment img { max-width: 100%; max-height: 520px; object-fit: contain; }
seoulized-editor .editor-image-frame { position: relative; display: inline-block; max-width: 100%; line-height: 0; vertical-align: top; }
seoulized-editor .editor-image-frame img { width: 100%; height: auto; max-height: none; }
seoulized-editor .editor-image-resize-handle { position: absolute; width: 14px; height: 14px; padding: 0; border: 2px solid white; border-radius: 3px; background: #2563eb; touch-action: none; z-index: 2; visibility: hidden; }
seoulized-editor .ProseMirror-selectednode .editor-image-resize-handle { visibility: visible; }
seoulized-editor .resize-nw { left: -5px; top: -5px; cursor: nwse-resize; }
seoulized-editor .resize-ne { right: -5px; top: -5px; cursor: nesw-resize; }
seoulized-editor .resize-sw { left: -5px; bottom: -5px; cursor: nesw-resize; }
seoulized-editor .resize-se { right: -5px; bottom: -5px; cursor: nwse-resize; }
seoulized-editor figcaption:empty::before { content: attr(data-placeholder); color: #64748b; pointer-events: none; }
seoulized-editor .tableWrapper { overflow-x: auto; }
seoulized-editor .selectedCell { background: #dbeafe; }
seoulized-editor .column-resize-handle { position: absolute; right: -2px; top: 0; bottom: 0; width: 4px; background: #2563eb; pointer-events: none; }
.editor-drag-handle { background: #fff; border: 1px solid #94a3b8; border-radius: 4px; color: #334155; cursor: grab; padding: 2px 5px; }
.media-dialog { width: min(1000px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #cbd5e1; border-radius: 12px; color: #172033; background: white; }
.media-dialog::backdrop { background: #0f172a66; }
.media-dialog-header, .media-dialog-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; background: #f8fafc; }
.media-dialog-header h2 { font-size: 20px; font-weight: 650; }
.media-dialog button { cursor: pointer; border: 1px solid #cbd5e1; border-radius: 6px; padding: 8px 12px; }
.media-dialog button:disabled { opacity: .5; cursor: default; }
.media-dialog [role=tablist] { display: flex; gap: 8px; padding: 12px 20px; border-bottom: 1px solid #cbd5e1; }
.media-dialog [role=tab][aria-selected=true] { background: #172033; color: white; }
.media-dialog-body { display: flex; gap: 20px; padding: 20px; min-height: 350px; }
.media-dialog-panels { flex: 1; min-width: 0; }
.media-dialog label { display: block; font-size: 13px; font-weight: 600; margin-block: 10px 5px; }
.media-dialog input:not([type=checkbox]), .media-dialog textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 6px; padding: 9px; }
.media-dialog :focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.media-drop { border: 2px dashed #94a3b8; border-radius: 10px; padding: 30px 18px; text-align: center; }
.media-help { color: #475569; font-size: 12px; margin-block: 10px; }
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-block: 16px; }
.media-card { display: grid; gap: 6px; width: 100%; text-align: left; overflow: hidden; }
.media-card[aria-pressed=true] { outline: 2px solid #2563eb; background: #eff6ff; }
.media-card img { width: 100%; height: 100px; object-fit: contain; }
.media-card span { font-size: 12px; overflow-wrap: anywhere; }
.media-detail { width: 250px; flex-shrink: 0; border-left: 1px solid #cbd5e1; padding-left: 20px; }
.media-detail img { width: 100%; max-height: 170px; object-fit: contain; }
.media-detail p { overflow-wrap: anywhere; }
.media-upload-row { padding: 10px; border-bottom: 1px solid #e2e8f0; }
.media-upload-row progress { width: 100%; }
.featured-image-selection { max-height: 160px; max-width: 100%; margin-block: 8px; }
@media (max-width: 1100px) { .admin-shell .editor-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .media-dialog-body { flex-direction: column; } .media-detail { width: 100%; padding: 14px 0 0; border-left: 0; border-top: 1px solid #cbd5e1; } seoulized-editor .ProseMirror { padding: 18px; } }


seoulized-editor :is(th, td) { position: relative; min-width: 1em; vertical-align: top; }
