/* v1.3 — editor and settings layout, scoped to this application only. */
.admin-mode .edit-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}
.admin-mode .edit-main,.admin-mode .edit-side,.admin-mode .settings-content{min-width:0}
.admin-mode .edit-side{display:flex;flex-direction:column;gap:22px;align-self:start}
.admin-mode .edit-side>.panel,.admin-mode .edit-side>section:first-child{position:static!important;inset:auto!important;transform:none;z-index:auto!important;margin:0;width:100%}
.admin-mode .panel{margin-bottom:24px}
.admin-mode .panel>h2{margin:0 0 22px;line-height:1.4}
.admin-mode .panel>p{margin:0 0 18px;line-height:1.75}
.admin-mode .field{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:0 0 22px;min-width:0}
.admin-mode .field>span{display:block;margin:0;font-weight:600;line-height:1.6}
.admin-mode .field>input,.admin-mode .field>select,.admin-mode .field>textarea{display:block;margin:0;width:100%;max-width:100%;box-sizing:border-box}
.admin-mode .field>small{margin:0;line-height:1.7;font-size:12px;color:#666}
.admin-mode .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:start}
.admin-mode .check{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;min-height:24px;line-height:1.7;cursor:pointer}
.admin-mode .check input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:5px 0 0;accent-color:#181818}
.admin-mode .form-actions,.admin-mode .row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 0}
.admin-mode .row-actions{margin:0}.admin-mode .form-message:empty{display:none}
.admin-mode .form-message{margin:14px 0 0;padding:12px 14px;overflow-wrap:anywhere;line-height:1.7}
.admin-mode .btn{height:auto;min-height:42px;line-height:1.5;align-self:start;white-space:normal;max-width:100%;flex:none}
.admin-mode .btn.small{min-height:36px}.admin-mode .action-stack{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.admin-mode .action-stack>.btn{width:100%}
/* A full-width menu row ABOVE the content. The previous two-column grid squeezed all settings into 300px. */
.admin-mode .settings-layout{display:block;width:100%;max-width:100%}
.admin-mode .settings-menu{position:static;display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:10px 22px;width:100%;height:auto;min-height:0;padding:0 0 18px;margin:0 0 24px;border-bottom:1px solid #ddd}
.admin-mode .settings-menu a{display:inline-flex;padding:9px 0;flex:none;line-height:1.6}
.admin-mode .settings-content{width:100%;max-width:1120px}
.admin-mode .settings-actions{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:0;height:auto;margin:8px 0 28px;padding:0}
.admin-mode .settings-actions .btn{width:auto;min-width:150px;min-height:44px;padding:11px 24px;flex:0 0 auto}
.admin-mode .settings-content>section{scroll-margin-top:24px}
/* Search, result list and selected items are three separate rows. */
.related-field{position:relative;display:flex;flex-direction:column;gap:10px!important;margin-bottom:28px!important}
.related-field [data-related-search]{margin:0!important}
.related-field .suggestions{position:static;margin:2px 0 0!important;padding:5px;max-height:240px;border:1px solid #d6d6d6;border-radius:4px;box-shadow:0 3px 12px #00000008}
.related-field .suggestions:empty,.related-field .related-selected:empty{display:none}
.related-field .suggestions button{padding:12px 13px;min-height:44px;line-height:1.6;margin:0;background:#fff;border:0;border-radius:3px;overflow-wrap:anywhere}
.related-field .suggestions button+button{border-top:1px solid #eee}.related-field .suggestions button:hover,.related-field .suggestions button:focus-visible{background:#f0f0f0;outline:2px solid #aaa;outline-offset:-2px}
.related-field .related-selected{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 0!important;padding:4px 0}
.related-field .chip{padding:7px 11px;line-height:1.6;max-width:100%;white-space:normal;margin:0}
.admin-mode .image-field .image-row{display:flex;flex-direction:column;align-items:stretch;gap:14px}
.admin-mode .image-field .image-preview{position:relative;width:100%;height:auto;min-height:130px;aspect-ratio:16/10;margin:0;padding:8px;box-sizing:border-box;border:1px dashed #bcbcbc;border-radius:4px;overflow:hidden}
.admin-mode .image-preview img{display:block;max-width:100%;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;padding:8px;background:#f5f5f5;box-sizing:border-box}
.admin-mode .image-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0}
.admin-mode .image-controls small{flex-basis:100%;margin:0;font-size:12px}
.cover-status{display:block;margin:2px 0 0;color:#666;font-size:12px;line-height:1.7}
.media-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
.media-tools .tiny{flex-basis:100%;margin:0}.media-tools-status{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.admin-mode .bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:14px}
.admin-mode .bulk-bar>.field{width:170px;margin:0}.admin-mode .bulk-bar>.field>span{font-size:12px}
.admin-mode .data-table td{vertical-align:top}.inline-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px;font-size:13px}
.translation-settings{max-width:1120px}.translation-targets{display:block;border:1px solid #ddd;margin:20px 0;padding:16px;min-width:0;border-radius:4px}
.translation-targets legend{padding:0 8px;font-weight:600;font-size:14px}.language-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.admin-mode .language-check-grid .check{margin:0;min-width:0}.translation-dialog{padding:25px;max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #bbb;border-radius:5px;box-sizing:border-box}
.translation-dialog::backdrop{background:#0006}.translation-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.translation-dialog h2{font-size:24px;margin:0}
.translation-dialog .icon-btn{flex:none}.translation-heading{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.translation-progress{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.translation-progress span{border:1px solid #ddd;padding:8px 12px;border-radius:4px}.translation-worker-badge{font-size:12px;padding:5px 8px;border:1px solid #ddd;display:inline-flex;max-width:100%;margin:0 0 12px}
.translation-settings code,.admin-mode .panel code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){.admin-mode .edit-columns{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.admin-mode .panel{padding:21px}}
@media(max-width:820px){.admin-mode .edit-columns{display:flex;flex-direction:column;gap:20px}.admin-mode .edit-main,.admin-mode .edit-side{width:100%}.admin-mode .edit-side{flex-direction:column;display:flex}.admin-mode .edit-side>.panel{position:static!important}.admin-mode .form-grid{grid-template-columns:1fr;gap:0}.admin-mode .admin-main{padding:20px 4px 32px}.admin-mode .panel{padding:20px;margin-bottom:20px}.admin-mode .settings-menu{gap:6px 18px}.admin-mode .settings-menu a{font-size:14px}.language-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-mode .settings-actions .btn{width:auto;max-width:100%;align-self:flex-start}.admin-mode .image-preview{max-height:260px}.admin-mode .edit-side .action-stack{display:flex}.admin-mode .admin-filter{gap:14px}.admin-mode .admin-filter .field{flex:1;min-width:170px}}
@media(prefers-reduced-motion:reduce){.admin-mode *{scroll-behavior:auto!important;transition:none!important}}
/* Small brand/icon fields must not turn the settings screen into a wall of image placeholders. */
.admin-mode .settings-content .image-field .image-row,.admin-mode .edit-main .image-field .image-row{flex-direction:row;align-items:center}
.admin-mode .settings-content .image-field .image-preview,.admin-mode .edit-main .image-field .image-preview{width:110px;height:92px;min-height:92px;aspect-ratio:auto;flex:0 0 110px}
.admin-mode .settings-content .image-controls,.admin-mode .edit-main .image-controls{flex:1;min-width:0}
@media(max-width:420px){.admin-mode .settings-content .image-field .image-row{flex-wrap:wrap}.admin-mode .settings-content .image-controls{min-width:130px}}

.admin-mode .translation-copy-row{padding:16px 0;border-bottom:1px solid #eee;margin-bottom:12px}
.admin-mode .translation-copy-row>.tiny{margin:0 0 12px;line-height:1.75}
.admin-mode .translation-copy-row>.field{margin-bottom:8px}
