/* Editor Essentials (M4): block editor, rich text widget, media picker/library, entry list. Desktop-first, usable on a phone. */
.ae-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ae-input{width:100%;box-sizing:border-box;padding:6px 10px;min-height:var(--admin-control-h,38px);border:1px solid var(--admin-border-strong,#8a93a3);border-radius:var(--admin-radius-sm,4px);font:inherit;background:#fff;color:inherit}
.ae-input--inline{width:auto;min-width:12em;max-width:100%}
.ae-btn{font:inherit;font-size:14px;font-weight:600;padding:6px 12px;border:1px solid var(--admin-border-strong,#5b6577);border-radius:var(--admin-radius-sm,4px);background:var(--admin-surface,#fff);color:var(--admin-text,#1b2433);cursor:pointer;min-height:34px}
.ae-btn:hover{background:var(--admin-surface-sunken,#e6ebf4)}.ae-btn--primary{background:var(--admin-accent,#24324a);color:#fff;border-color:var(--admin-accent,#24324a)}.ae-btn--primary:hover{background:var(--admin-accent-hover,#1a2538)}
.ae-btn--small{padding:3px 9px;min-height:28px}.ae-btn[aria-disabled=true]{opacity:.4;cursor:default}
.ae-iconbtn{font:inherit;font-size:20px;line-height:1;border:0;background:transparent;cursor:pointer;padding:4px 10px;min-height:32px}
.ae-error{color:#a31616;margin:6px 0}.ae-status{color:#1d4f91;margin:6px 0}.ae-warn{background:#fff6e0;border:1px solid #e0b040;padding:6px 8px;margin:6px 0;border-radius:4px}
.ae-hint{display:block;color:#566074;font-size:12px;margin-top:2px}
.ae-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ae-field{margin:10px 0}.ae-field label{display:block;font-weight:600;margin-bottom:3px}
.ae-radio{margin-right:14px;display:inline-block}
.ae-linkpanel{margin-top:8px}.ae-linkkinds{margin-bottom:6px}

/* dialog */
.ae-dialog{border:1px solid #5b6577;border-radius:8px;padding:0;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;color:#1b2433;background:#fff}
.ae-dialog--wide{width:min(860px,calc(100vw - 24px))}
.ae-dialog::backdrop{background:rgba(20,28,44,.55)}
.ae-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;background:var(--admin-surface,#fff);color:var(--admin-text,#1b2433);border-bottom:1px solid var(--admin-border,#c4cad6);position:sticky;top:0;z-index:1}
.ae-dialog__head h2{font-size:16px;margin:0}.ae-dialog__head .ae-iconbtn{color:var(--admin-text-muted,#566074)}
.ae-dialog .ae-form,.ae-dialog .ae-picker{padding:14px 16px 16px}

/* rich text: the same field frame as the other inputs; the toolbar is quiet (ghost buttons in groups) until hovered/used */
.ae-rt{border:1px solid var(--admin-border-strong,#c5cbd4);border-radius:var(--admin-radius-sm,6px);background:var(--admin-surface,#fff)}
.ae-rt:focus-within{border-color:var(--admin-focus,#1f56a8);box-shadow:0 0 0 1px var(--admin-focus,#1f56a8)}
.ae-rt__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--admin-border,#dde1e7);background:var(--admin-surface-muted,#f7f8fa);border-radius:var(--admin-radius-sm,6px) var(--admin-radius-sm,6px) 0 0;position:sticky;top:var(--admin-topbar-h,0);z-index:2}
.ae-rt__sep{width:1px;align-self:stretch;margin:4px 4px;background:var(--admin-border-strong,#c5cbd4)}
.ae-rt__btn{font:inherit;font-size:13px;line-height:1;min-width:32px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:var(--admin-radius-sm,6px);background:transparent;color:var(--admin-text,#1c2430);cursor:pointer}
.ae-rt__btn:hover{background:var(--admin-surface-sunken,#eef0f3)}
.ae-rt__btn:focus-visible{outline:2px solid var(--admin-focus,#1f56a8);outline-offset:1px}
.ae-rt__btn[aria-pressed=true]{background:var(--admin-accent-soft,#e9f0fb);color:var(--admin-accent,#1f56a8);border-color:transparent;font-weight:700}
.ae-rt__btn.ae-b{font-weight:700}.ae-rt__btn.ae-i{font-style:italic}
.ae-rt__area{min-height:140px;padding:10px 12px;line-height:1.7;outline:0;overflow-wrap:anywhere}
.ae-rt__area:focus{outline:0}
.ae-rt__area h2{font-size:1.35em;margin:.9em 0 .4em}.ae-rt__area h3{font-size:1.15em;margin:.8em 0 .3em}.ae-rt__area p{margin:.5em 0}
.ae-rt__area a{color:#1d4f91;text-decoration:underline}.ae-rt__area table{border-collapse:collapse}.ae-rt__area td,.ae-rt__area th{border:1px solid #bbb;padding:3px 6px}
.ae-rt__area img{max-width:100%;height:auto}
.ae-rt__legacy{background:#fff6e0;border:1px solid #e0b040;padding:6px 8px;margin:0 0 6px;font-size:12px;border-radius:4px}

/* block editor */
.ae-blocks__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ae-block{border:1px solid #8a93a3;border-radius:6px;background:#fbfcfe}
.ae-block--rich_text{border-left:5px solid #2f6f4f}.ae-block--image{border-left:5px solid #1d4f91}.ae-block--file{border-left:5px solid #8a5a00}.ae-block--button{border-left:5px solid #7a2c8c}
.ae-block__head{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#eef1f7;border-bottom:1px solid #c4cad6;border-radius:6px 6px 0 0}
.ae-block__type{font-weight:700}.ae-block__pos{color:#566074;font-size:12px}
.ae-block__actions{margin-left:auto;display:flex;gap:6px}
.ae-block__body{padding:8px 12px 10px}
.ae-block__errors{list-style:none;margin:0;padding:0 12px 8px;color:#a31616}.ae-block__errors:empty{display:none}.ae-block__errors li{margin:2px 0}
.ae-blocks__empty{color:#566074;border:1px dashed #9aa3b4;padding:14px;border-radius:6px;text-align:center}
.ae-blocks__add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px;border:1px dashed #5b6577;border-radius:6px;background:#f4f6fa}
.ae-blocks__addlabel{font-weight:600}
.ae-undo{margin:10px 0;padding:8px 10px;background:#eef7ee;border:1px solid #9c9;border-radius:4px}
.ae-media{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.ae-media__thumb{width:120px;height:80px;object-fit:contain;background:#eef1f7;border:1px solid #c4cad6;border-radius:4px}
.ae-media__info{min-width:0;overflow-wrap:anywhere}
.ae-attrow{margin:6px 0}

/* media picker / library */
.ae-picker[aria-busy=true]{opacity:.6}
.ae-picker__search{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:10px}
.ae-picker__search label{display:block;font-weight:600;font-size:12px}
.ae-picker__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ae-picker__item{margin:0}
.ae-picker__item button{width:100%;display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;font:inherit;padding:6px;border:1px solid #9aa3b4;border-radius:6px;background:#fff;cursor:pointer;color:inherit}
.ae-picker__item button:hover,.ae-picker__item button:focus-visible{border-color:#1d4f91;box-shadow:0 0 0 2px #1d4f91}
.ae-picker__thumb{display:flex;align-items:center;justify-content:center;height:90px;background:#eef1f7;border-radius:4px;overflow:hidden;font-weight:700;color:#566074}
.ae-picker__thumb img{max-width:100%;max-height:100%;object-fit:contain}
.ae-picker__name{display:block;font-size:12px;overflow-wrap:anywhere}.ae-picker__meta{display:block;font-size:11px;color:#566074}
.ae-picker__upload{margin-top:14px;padding-top:12px;border-top:1px solid #c4cad6}
.ae-picker__empty{color:#566074}
.ae-pager{display:flex;gap:10px;align-items:center;margin:10px 0;flex-wrap:wrap}.ae-pager [aria-current]{font-weight:700;text-decoration:none}

/* library page */
.media-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.media-card{border:1px solid #c4cad6;border-radius:6px;padding:8px;background:#fff}
.media-card a{color:inherit;text-decoration:none;display:block}.media-card a:focus-visible{outline:2px solid #1d4f91}
.media-card__thumb{height:110px;display:flex;align-items:center;justify-content:center;background:#eef1f7;border-radius:4px;overflow:hidden;font-weight:700;color:#566074}
.media-card__thumb img{max-width:100%;max-height:100%;object-fit:contain}
.media-card__name{display:block;margin-top:6px;font-size:13px;overflow-wrap:anywhere}.media-card__meta{display:block;font-size:11px;color:#566074}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:10px 0}.filters label{display:block;font-weight:600;font-size:12px}
.badge.used{background:#bfe5bf}.badge.unused{background:#eee}

@media (max-width:640px){
  .ae-block__head{flex-wrap:wrap}.ae-block__actions{width:100%;margin-left:0}
  .ae-media__thumb{width:96px;height:64px}
  .ae-rt__toolbar{gap:1px;padding:4px}.ae-rt__btn{min-width:30px;padding:0 6px}.ae-rt__sep{margin:4px 2px}
  main table{display:block;overflow-x:auto}
}
