:root{
  --verde:#22DD00; --verde-esc:#16A800; --preto:#0E1115; --painel:#151A21; --painel-2:#1B222B;
  --borda:#262E39; --texto:#EAF0F6; --texto-2:#8B96A5; --vermelho:#E24B4A;
}
*{box-sizing:border-box}
body{margin:0;background:var(--preto);color:var(--texto);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.oculto{display:none!important}
.sub{color:var(--texto-2);font-size:.85rem}
.erro{color:var(--vermelho);font-size:.85rem}
a{color:var(--verde)}

.btn{border:0;border-radius:9px;padding:10px 16px;font-size:.9rem;font-weight:700;cursor:pointer}
.btn-verde{background:var(--verde);color:#052500}
.btn-fantasma{background:transparent;color:var(--texto-2);border:1px solid var(--borda)}
.btn-perigo{background:transparent;color:var(--vermelho);border:1px solid var(--borda)}
.btn-mini{padding:6px 10px;font-size:.8rem}
.btn:hover{filter:brightness(1.08)}

/* login */
.tela-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.card-login{background:var(--painel);border:1px solid var(--borda);border-radius:18px;padding:30px;width:340px;display:flex;flex-direction:column;gap:14px;align-items:center}
.login-logo{width:170px;margin-bottom:6px}
.card-login input{width:100%;background:var(--preto);border:1px solid var(--borda);border-radius:9px;color:var(--texto);padding:12px 14px;font-size:.95rem}
.card-login input:focus{outline:1px solid var(--verde)}
.card-login .btn{width:100%}

/* topo */
.topo{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--borda);background:var(--painel)}
.topo-logo{height:34px;cursor:pointer}
.topo-dir{display:flex;align-items:center;gap:14px}
main{max-width:1000px;margin:0 auto;padding:26px 22px}

/* lista */
.lista-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.lista-topo h2{margin:0;font-size:1.3rem}
.grade-paginas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.pg-card{background:var(--painel-2);border:1px solid var(--borda);border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.pg-av{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--preto);border:2px solid var(--verde);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pg-av img{width:100%;height:100%;object-fit:cover;transform-origin:center}
.pg-av img.ph{width:64%;height:64%;object-fit:contain}
.pg-av.livre{border:none;background:transparent;overflow:visible;border-radius:0}
.pg-av.livre img{object-fit:contain}
.pg-nome{font-weight:800;font-size:1.02rem}
.pg-slug{font-size:.82rem;color:var(--verde);word-break:break-all}
.pg-meta{font-size:.78rem;color:var(--texto-2)}
.pg-acoes{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;justify-content:center}

/* editor */
.ed-topo{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.ed-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
@media(max-width:760px){.ed-grid{grid-template-columns:minmax(0,1fr)}}
.bloco{background:var(--painel-2);border:1px solid var(--borda);border-radius:14px;padding:20px}
.bloco h3{margin:0 0 14px;font-size:1rem}
.campo{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--texto-2);margin-bottom:14px}
.campo input,.campo textarea,.campo select{background:var(--preto);border:1px solid var(--borda);border-radius:8px;color:var(--texto);padding:10px 12px;font-size:.9rem;font-family:inherit}
.campo textarea{resize:vertical;min-height:60px}
.slug-linha{display:flex;align-items:center;background:var(--preto);border:1px solid var(--borda);border-radius:8px;overflow:hidden}
.slug-linha .slug-base{padding:10px 2px 10px 12px;color:var(--texto-2);font-size:.82rem;white-space:nowrap}
.slug-linha input{border:0;background:transparent;flex:1;padding-left:2px}
.linha2{display:flex;gap:12px}.linha2 .campo{flex:1}
.av-drop{display:flex;align-items:flex-start;gap:14px}
.av-atual{width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--preto);border:2px solid var(--verde);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.av-atual img{width:100%;height:100%;object-fit:cover;transform-origin:center}
.av-atual img.ph{width:60%;height:60%;object-fit:contain}
.av-atual.livre{border:none;background:transparent;overflow:visible;border-radius:0}
.av-atual.livre img{object-fit:contain}
.av-ctrl{display:flex;flex-direction:column;gap:8px}
.av-zoom{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--texto-2)}
.av-zoom input[type=range]{accent-color:var(--verde);width:180px}
.av-forma{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--texto-2)}
.av-forma select{background:var(--preto);border:1px solid var(--borda);border-radius:8px;color:var(--texto);padding:8px 10px;font-size:.85rem}
.btn-grupo{display:flex;gap:6px}
.bg-op{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:var(--preto);border:1px solid var(--borda);border-radius:8px;color:var(--texto-2);cursor:pointer;font-size:.95rem}
.bg-op:hover{border-color:var(--texto-2);color:var(--texto)}
.bg-op.sel{border-color:var(--verde);color:var(--verde);box-shadow:0 0 0 1px var(--verde)}
.cor-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cores{display:flex;gap:8px;flex-wrap:wrap}
.cor-op{width:30px;height:30px;border-radius:50%;cursor:pointer;border:2px solid transparent}
.cor-op.sel{border-color:var(--texto)}
.cor-linha input[type=color]{width:38px;height:38px;padding:0;border:1px solid var(--borda);border-radius:8px;background:var(--preto);cursor:pointer}
.cor-atual{width:30px;height:30px;border-radius:8px;border:1px solid var(--borda);flex:0 0 auto}
/* ---- padronização dos controles de configuração ---- */
.campo select,.campo input[type=text],.campo input[type=password]{height:42px}
.campo select,.campo input,.campo textarea,.av-forma select{border-radius:8px}
.cor-linha .ic-gota{height:38px;width:38px}
.ic-gota{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px}

/* links */
.link-lista{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.link-row{display:flex;align-items:center;gap:10px;background:var(--preto);border:1px solid var(--borda);border-radius:10px;padding:10px 12px;overflow:hidden}
.link-row.arrastando{opacity:.4;border-color:var(--verde)}
.link-row .lr-grip{flex:0 0 auto;display:flex;color:var(--texto-2);cursor:grab}
.link-row .lr-grip svg{width:18px;height:18px}
.link-row .lr-ic{flex:0 0 auto;color:var(--verde);display:flex}
.link-row .lr-ic svg{width:20px;height:20px}
.link-row .lr-txt{flex:1;min-width:0}
.link-row .lr-tt{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-row .lr-url{font-size:.76rem;color:var(--texto-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr-acoes{display:flex;gap:6px;flex:0 0 auto}
.lr-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--borda);color:var(--texto-2);border-radius:8px;padding:0;cursor:pointer}
.lr-btn svg{width:16px;height:16px}
.lr-btn:hover{border-color:var(--texto-2);color:var(--texto)}
.lr-btn.lr-del:hover{border-color:var(--vermelho);color:var(--vermelho)}
/* edição inline de link */
.link-row.editando{display:block}
.le-form{display:flex;flex-direction:column;gap:10px;width:100%}
.le-grid{display:flex;flex-wrap:wrap;gap:8px}
.le-form .linha{display:flex;gap:8px;flex-wrap:wrap}
.le-form input{flex:1 1 130px;min-width:110px;background:var(--painel-2);border:1px solid var(--borda);border-radius:8px;color:var(--texto);padding:9px 11px;font-size:.86rem}
.le-acoes{display:flex;gap:8px}
.add-link{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--borda);padding-top:14px}
.add-link .linha{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}
.add-link select,.add-link input{background:var(--preto);border:1px solid var(--borda);border-radius:8px;color:var(--texto);padding:9px 11px;font-size:.86rem}
.add-link .al-tt{flex:1 1 130px;min-width:110px}
.add-link .al-url{flex:1 1 150px;min-width:120px}
.add-link .linha .btn{flex:0 0 auto;white-space:nowrap;align-self:stretch}
.ic-label{margin:2px 0}
.ic-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.ic-op{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--preto);border:1px solid var(--borda);border-radius:10px;cursor:pointer;padding:0;color:var(--verde)}
.ic-op svg{width:23px;height:23px}
.ic-op:hover{border-color:var(--texto-2)}
.ic-op.sel{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde)}

/* link curto */
.curto-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--painel-2);border:1px solid var(--borda);border-radius:10px;padding:10px 14px;margin-bottom:18px}
.curto-bar .cb-tag{font-weight:700;color:var(--verde);font-size:.85rem}
.curto-bar code{background:var(--preto);border:1px solid var(--borda);border-radius:6px;padding:5px 9px;font-size:.82rem;color:var(--texto)}
.curto-bar .sub code{font-size:.76rem}

/* fonte + prévia */
.fonte-linha{display:flex;align-items:center;gap:10px}
.fonte-linha select{flex:0 0 auto;min-width:130px}
.fonte-preview{flex:1;background:var(--preto);border:1px solid var(--borda);border-radius:8px;padding:8px 12px;font-size:1.15rem;font-weight:700;color:var(--texto);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#edFonte option{font-size:1rem}

/* fundo */
.bg-drop{display:flex;align-items:center;gap:12px}
.bg-atual{width:88px;height:56px;border-radius:8px;overflow:hidden;background:var(--preto);border:1px solid var(--borda);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.bg-atual img{width:100%;height:100%;object-fit:cover}
.bg-atual .sub{font-size:.72rem}
.bg-btns{display:flex;gap:6px;flex-wrap:wrap}
.bg-dica{display:block;margin-top:8px;font-size:.78rem;color:var(--texto-2);line-height:1.5;background:var(--preto);border:1px solid var(--borda);border-radius:8px;padding:8px 11px}
.bg-dica b{color:var(--texto)}

/* preview */
.preview{position:sticky;top:20px}
.preview iframe{width:100%;height:560px;border:1px solid var(--borda);border-radius:16px;background:#0E1115}

/* modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
.modal-card{background:var(--painel);border:1px solid var(--borda);border-radius:16px;padding:24px;width:420px;max-width:100%}
.modal-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.modal-topo h3{margin:0}
.modal-acoes{display:flex;justify-content:flex-end;margin-top:8px}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--painel-2);border:1px solid var(--borda);color:var(--texto);padding:12px 20px;border-radius:10px;z-index:80;font-size:.9rem}
.toast.erro-toast{border-color:var(--vermelho);color:#ffd7d7}
