/* Editor do site do Callipolis */
body.ed { min-height: 100vh; }
.ed-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px max(16px, env(safe-area-inset-left, 0px)); border-bottom: 1px solid var(--line); background: var(--paper); }
.ed-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--navy); }
.ed-brand b { display: block; font-family: var(--serif); letter-spacing: .14em; font-size: .95rem; }
.ed-brand small { display: block; font-size: .78rem; color: var(--muted); }
.ed-user { display: flex; gap: 14px; align-items: center; font-size: .9rem; color: var(--muted); }
.muted { color: var(--muted); margin: 0; }
.small { font-size: .82rem; }

.ed-login { max-width: 440px; margin: clamp(32px, 8vh, 80px) auto; padding: 0 16px; }
.ed-login h1 { font-size: 1.6rem; margin: 0; }
.ed-row { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }

.ed-main { max-width: 1040px; margin: 0 auto; padding: 24px max(16px, env(safe-area-inset-left, 0px)) 80px; }
.ed-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.ed-tab { border: 1px solid var(--line); background: var(--paper); color: var(--navy-soft); font: 600 .92rem var(--sans); padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.ed-tab[aria-current="page"] { background: var(--navy); color: var(--cream); border-color: var(--navy); }

.ed-save { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; margin-bottom: 18px; border-radius: 12px; background: var(--paper); border: 1px solid var(--line); font-size: .92rem; color: var(--muted); }
.ed-save.on { background: #fdf3e7; border-color: var(--ember); color: var(--navy); }
.ed-save .btn { cursor: pointer; }
.ed-save .btn:disabled { opacity: .5; cursor: default; }

.ed-list-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 26px 0 10px; }
.ed-list-head h2 { font-size: 1.25rem; margin: 0; }
.ed-list-head small { font-family: var(--sans); font-size: .85rem; color: var(--muted); font-weight: 500; margin-left: 6px; }
.ed-list-head .btn { cursor: pointer; padding: 8px 16px; }
.ed-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.ed-list li { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.ed-list li:last-child { border-bottom: 0; }
.ed-item { font-size: .95rem; min-width: 0; overflow-wrap: anywhere; }
.ed-acts { display: flex; gap: 10px; flex: none; }
.ed-acts .linkbtn:disabled { opacity: .3; }
.linkbtn.danger { color: #9c2f2f; }
.ed-fonte { display: grid; gap: 6px; font-size: .9rem; font-weight: 600; color: var(--navy); }
.ed-fonte input { font: 400 1rem var(--sans); padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; }

.ed-dialog { width: min(680px, calc(100% - 24px)); }
.ed-campos { display: grid; gap: 12px; }
.ed-check { display: flex !important; flex-direction: row; align-items: center; gap: 8px; font-weight: 600; }
.ed-check input { width: auto !important; }
.ed-file { display: flex; gap: 8px; }
.ed-file input { flex: 1; min-width: 0; }
.ed-file .btn { flex: none; padding: 8px 12px; font-size: .85rem; cursor: pointer; }
.ed-links { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: grid; gap: 10px; margin: 0; }
.ed-links legend { font-size: .9rem; font-weight: 600; color: var(--navy); padding: 0 4px; }
.ed-link { display: grid; gap: 6px; padding-bottom: 10px; border-bottom: 1px dashed var(--line); }
.ed-link input { font: 400 .95rem var(--sans); padding: 8px 10px; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.ed-link .linkbtn { justify-self: start; }
.ed-en { border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; }
.ed-en summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.ed-en[open] { display: grid; gap: 12px; padding-bottom: 12px; }
.ed-novo-membro { margin-top: 24px; }
.ed-novo-membro h3 { margin: 0; font-size: 1.1rem; }

.ed-toast { position: fixed; left: 50%; bottom: max(20px, env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: var(--navy); color: var(--cream); padding: 12px 18px; border-radius: 12px; font-size: .95rem; box-shadow: 0 12px 30px -12px rgba(0,0,0,.5); max-width: calc(100% - 32px); z-index: 100; }
@media (max-width: 600px) { .ed-list li { flex-direction: column; align-items: flex-start; } }
.ed-panel { padding: 0; }
.ed-busca { width: 100%; font: 400 1rem var(--sans); padding: 10px 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; margin-bottom: 10px; }
.ed-capa { display: grid; grid-template-columns: 78px 1fr; gap: 14px; align-items: center; }
.ed-capa-prev { width: 78px; aspect-ratio: 2 / 3; border-radius: 4px; background: var(--cream-deep); display: grid; place-items: center; overflow: hidden; }
.ed-capa-prev img { width: 100%; height: 100%; object-fit: cover; }
.ed-lbl { display: block; font-size: .9rem; font-weight: 600; color: var(--navy); margin-bottom: 6px; }
.ed-capa .btn { padding: 7px 12px; font-size: .85rem; cursor: pointer; }
.ed-save { top: var(--adm-h, 0px); }
.ed-novas { border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 14px 16px; margin-bottom: 8px; display: grid; gap: 10px; }
.ed-novas p { margin: 4px 0 0; }
.ed-novas select { font: 400 .9rem var(--sans); padding: 6px 8px; border-radius: 8px; border: 1px solid var(--line); margin-left: 6px; }
.ed-novas .btn { cursor: pointer; padding: 8px 16px; }
.ed-cands { max-height: 60vh; overflow: auto; }
.ed-cands li { display: block; }
.ed-cand { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: .95rem; }
.ed-cand input { margin-top: 4px; flex: none; }
.ed-cand a { color: var(--laurel-ink); }
.ed-aviso { color: #9c2f2f; }
.ed-save { top: calc(var(--adm-h, 0px) + 68px); }
@media (max-width: 600px) { .ed-save { top: 68px; } }
