/* ═══════════════════════════════════════
   Especialistas Evento — CSS
   ═══════════════════════════════════════ */
.ev-wrap { font-family:'Segoe UI',Arial,sans-serif; max-width:960px; margin:0 auto; padding:0 0 40px; }

/* HEADER */
.ev-header { background:linear-gradient(135deg,#1a3c5e 0%,#1f6faf 100%); border-radius:14px; padding:26px 30px; color:#fff; margin-bottom:24px; }
.ev-header h2 { margin:6px 0 4px; font-size:22px; font-weight:700; }
.ev-header p  { margin:0; opacity:.85; font-size:13px; }
.ev-header-prog { background:linear-gradient(135deg,#4a148c,#7b1fa2); }
.ev-badge { background:rgba(255,255,255,.2); border-radius:20px; padding:3px 14px; font-size:10px; font-weight:700; letter-spacing:2px; display:inline-block; margin-bottom:6px; }

/* SECTION */
.ev-section { background:#fff; border-radius:14px; padding:24px 26px; box-shadow:0 2px 16px rgba(0,0,0,.07); margin-bottom:16px; }
.ev-section-title { font-size:15px; font-weight:700; color:#1a3c5e; border-left:4px solid #1f6faf; padding-left:12px; margin-bottom:18px; }

/* FORM */
.ev-form-row   { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.ev-form-group { display:flex; flex-direction:column; gap:5px; }
.ev-form-2 { flex:1 1 220px; }
.ev-form-3 { flex:1 1 160px; }
.ev-form-group label { font-size:12px; font-weight:700; color:#1a3c5e; letter-spacing:.3px; }
.ev-form-group input,
.ev-form-group select,
.ev-form-group textarea { padding:9px 13px; border-radius:8px; border:1.5px solid #ccc; font-size:13px; font-family:inherit; outline:none; transition:border-color .2s; width:100%; box-sizing:border-box; }
.ev-form-group input:focus,
.ev-form-group select:focus,
.ev-form-group textarea:focus { border-color:#1f6faf; }
.ev-hint { font-size:11px; color:#888; margin-top:4px; display:block; }

/* RESUMO COUNTER + BAR */
.ev-counter { float:right; font-size:11px; font-weight:400; color:#888; }
.ev-resumo-bar  { height:4px; background:#e0e0e0; border-radius:2px; margin-top:6px; overflow:hidden; }
.ev-resumo-fill { height:100%; background:#1f6faf; border-radius:2px; transition:width .2s, background .2s; width:0%; }
.ev-resumo-fill.quase { background:#f9a825; }
.ev-resumo-fill.cheio { background:#c0392b; }

/* FOTO */
.ev-foto-wrap { display:flex; gap:14px; align-items:flex-start; }
.ev-foto-wrap input { flex:1; }
.ev-foto-preview { width:70px; height:70px; border-radius:50%; border:2px solid #ccc; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#f5f5f5; font-size:28px; flex-shrink:0; }
.ev-foto-preview img { width:100%; height:100%; object-fit:cover; }

/* PERGUNTAS */
.ev-pergunta-item { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.ev-perg-num  { width:22px; height:22px; background:#1a3c5e; color:#fff; border-radius:50%; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ev-perg-input { flex:1; padding:8px 12px; border:1.5px solid #ccc; border-radius:8px; font-size:13px; font-family:inherit; outline:none; }
.ev-perg-input:focus { border-color:#1f6faf; }
.ev-perg-del  { background:#fdecea; border:none; border-radius:6px; padding:6px 9px; cursor:pointer; color:#c0392b; font-size:12px; }
.ev-perg-del:hover { opacity:.75; }
.ev-perg-actions { display:flex; align-items:center; gap:14px; margin-top:10px; }
.ev-btn-add-perg { background:#e3f2fd; border:1.5px dashed #1f6faf; border-radius:8px; padding:8px 18px; font-size:13px; font-weight:700; color:#1f6faf; cursor:pointer; }
.ev-btn-add-perg:hover { background:#bbdefb; }
.ev-perg-count { font-size:12px; color:#888; }

/* AVISO EDIÇÃO */
.ev-aviso-edicao  { background:#fff8e1; border:1px solid #ffd54f; border-radius:8px; padding:12px 16px; font-size:13px; color:#5d4037; margin-bottom:16px; }
.ev-aviso-aprovado{ background:#d6f0e4; border:1px solid #1a7a4a; border-radius:8px; padding:16px 20px; font-size:14px; color:#1a7a4a; }

/* ACTIONS */
.ev-actions { text-align:center; margin-top:24px; }
.ev-btn-submit { background:linear-gradient(135deg,#1a3c5e,#1f6faf); color:#fff; border:none; padding:14px 40px; border-radius:10px; font-size:16px; font-weight:700; cursor:pointer; transition:opacity .2s; }
.ev-btn-submit:hover { opacity:.88; }

/* FORM MSG */
.ev-form-msg { padding:10px 16px; border-radius:8px; font-size:13px; font-weight:600; margin-top:12px; }
.ev-form-msg.erro    { background:#fdecea; color:#c0392b; border:1px solid #c0392b; }
.ev-form-msg.sucesso { background:#d6f0e4; color:#1a7a4a; border:1px solid #1a7a4a; }

/* SUCESSO */
.ev-sucesso { text-align:center; padding:32px 20px; background:#fff; border-radius:14px; box-shadow:0 2px 16px rgba(0,0,0,.07); }
.ev-sucesso-icon { font-size:54px; margin-bottom:12px; }
.ev-sucesso h3   { font-size:22px; color:#1a7a4a; margin-bottom:8px; }
.ev-sucesso p    { color:#555; font-size:14px; }
.ev-link-edicao  { background:#f0f7ff; border-radius:10px; padding:16px; margin-top:16px; }
.ev-link-edicao input  { width:100%; padding:8px 12px; border-radius:6px; border:1.5px solid #ccc; font-size:12px; background:#fff; box-sizing:border-box; margin-bottom:8px; }
.ev-link-edicao button { background:#1f6faf; color:#fff; border:none; padding:8px 20px; border-radius:6px; cursor:pointer; font-weight:700; font-size:13px; }

/* ── PROGRAMAÇÃO PÚBLICA ── */
.ev-cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; margin-bottom:32px; }
.ev-card-esp   { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 3px 16px rgba(0,0,0,.09); transition:transform .2s,box-shadow .2s; }
.ev-card-esp:hover { transform:translateY(-3px); box-shadow:0 6px 22px rgba(0,0,0,.13); }
.ev-card-foto  { height:180px; overflow:hidden; background:#f5f5f5; display:flex; align-items:center; justify-content:center; }
.ev-card-foto img { width:100%; height:100%; object-fit:cover; }
.ev-foto-placeholder { font-size:60px; }
.ev-card-info  { padding:16px; }
.ev-card-nome  { font-size:16px; font-weight:700; color:#1a3c5e; margin-bottom:3px; }
.ev-card-titulo{ font-size:12px; color:#888; margin-bottom:8px; }
.ev-card-painel{ font-size:11px; color:#1f6faf; background:#e3f2fd; border-radius:6px; padding:4px 10px; display:inline-block; margin-bottom:8px; font-weight:600; }
.ev-card-resumo{ font-size:12px; color:#555; line-height:1.5; }

/* PROGRAMAÇÃO POR PAINEL */
.ev-painel-bloco { background:#fff; border-radius:12px; padding:18px 20px; box-shadow:0 2px 12px rgba(0,0,0,.07); margin-bottom:14px; }
.ev-painel-titulo{ font-size:15px; font-weight:700; color:#4a148c; border-left:4px solid #7b1fa2; padding-left:12px; margin-bottom:14px; }
.ev-painel-esps  { display:flex; flex-direction:column; gap:10px; }
.ev-painel-esp-row { display:flex; align-items:center; gap:12px; }
.ev-painel-foto-mini { width:44px; height:44px; border-radius:50%; overflow:hidden; background:#f5f5f5; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.ev-painel-foto-mini img { width:100%; height:100%; object-fit:cover; }
.ev-foto-mini-placeholder { font-size:20px; }
.ev-painel-esp-info { font-size:13px; color:#333; }
.ev-titulo-inline  { color:#888; font-size:12px; }
.ev-horario-inline { color:#1f6faf; font-size:12px; font-weight:600; margin-left:6px; }

/* ── PAINEL ADMIN ── */
.ev-cards-resumo { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.ev-card-res   { flex:1 1 120px; border-radius:12px; padding:14px 16px; text-align:center; border:2px solid; }
.ev-cr-label   { display:block; font-size:9px; font-weight:700; letter-spacing:1px; margin-bottom:3px; }
.ev-cr-num     { display:block; font-size:28px; font-weight:800; }
.ev-card-total { background:#e3f2fd; border-color:#1565c0; color:#1565c0; }
.ev-card-pend  { background:#fff8e1; border-color:#f9a825; color:#f9a825; }
.ev-card-aprov { background:#d6f0e4; border-color:#1a7a4a; color:#1a7a4a; }
.ev-card-reprov{ background:#fdecea; border-color:#c0392b; color:#c0392b; }

.ev-filtros { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:16px; }
.ev-filtros input { padding:8px 14px; border-radius:8px; border:1.5px solid #ccc; font-size:13px; outline:none; min-width:200px; }
.ev-filtros input:focus { border-color:#1f6faf; }
.ev-filtro-btns { display:flex; gap:6px; flex-wrap:wrap; }
.ev-filtro-btn  { padding:7px 14px; border-radius:8px; border:none; cursor:pointer; font-weight:700; font-size:11px; background:#e8edf4; color:#444; }
.ev-filtro-btn.active,.ev-filtro-btn:hover { background:#1a3c5e; color:#fff; }
.ev-count { font-size:12px; color:#888; margin-left:auto; }

/* CARD ADMIN */
.ev-adm-card { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); margin-bottom:12px; overflow:hidden; }
.ev-adm-card.ev-hidden { display:none; }
.ev-adm-card-header { display:flex; align-items:center; gap:14px; padding:14px 18px; cursor:default; flex-wrap:wrap; }
.ev-adm-card-foto   { width:48px; height:48px; border-radius:50%; overflow:hidden; background:#f5f5f5; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.ev-adm-card-foto img { width:100%; height:100%; object-fit:cover; }
.ev-foto-placeholder-sm { font-size:22px; }
.ev-adm-card-id     { display:flex; flex-direction:column; gap:2px; }
.ev-adm-card-id strong { font-size:14px; color:#1a3c5e; }
.ev-adm-card-id span   { font-size:12px; color:#888; }
.ev-adm-card-id small  { font-size:11px; color:#aaa; }
.ev-status-pill { padding:4px 12px; border-radius:20px; font-size:11px; font-weight:700; }
.ev-btn-toggle-card { background:#e8edf4; border:none; border-radius:6px; padding:6px 12px; cursor:pointer; font-size:12px; font-weight:700; color:#444; }
.ev-btn-toggle-card:hover { background:#1a3c5e; color:#fff; }
.ev-btn-pdf { background:#7b1fa2; color:#fff; border:none; border-radius:6px; padding:6px 12px; cursor:pointer; font-size:12px; font-weight:700; }
.ev-btn-pdf:hover { opacity:.8; }

/* CARD BODY */
.ev-adm-card-body { border-top:1px solid #eee; padding:18px 20px; display:flex; flex-direction:column; gap:16px; }
.ev-adm-edit-section,.ev-adm-info-section,.ev-adm-perguntas-section { background:#f8fafc; border-radius:10px; padding:14px 16px; }
.ev-adm-edit-title { font-size:12px; font-weight:700; color:#1a3c5e; letter-spacing:.5px; margin-bottom:12px; text-transform:uppercase; }
.ev-btn-salvar-adm { background:#1a3c5e; color:#fff; border:none; border-radius:8px; padding:9px 22px; font-weight:700; font-size:13px; cursor:pointer; margin-top:8px; }
.ev-btn-salvar-adm:hover { opacity:.85; }
.ev-adm-info-section p { font-size:13px; margin:4px 0; color:#333; }
.ev-adm-perguntas-lista { padding-left:18px; margin:0; }
.ev-adm-perguntas-lista li { font-size:13px; color:#333; padding:4px 0; border-bottom:1px dashed #eee; }

/* VAZIO */
.ev-vazio { text-align:center; padding:40px; color:#aaa; font-size:15px; background:#fff; border-radius:12px; }

/* TOAST */
.ev-toast { position:fixed; bottom:28px; right:28px; background:#1a3c5e; color:#fff; padding:12px 22px; border-radius:10px; font-size:13px; font-weight:600; z-index:999999; box-shadow:0 4px 20px rgba(0,0,0,.2); }
.ev-toast.sucesso { background:#1a7a4a; }
.ev-toast.erro    { background:#c0392b; }

/* MODAL */
.ev-modal { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.6); z-index:99999; display:flex; align-items:center; justify-content:center; }
.ev-modal-box { background:#fff; border-radius:14px; width:90%; max-width:640px; max-height:90vh; overflow:hidden; display:flex; flex-direction:column; }
.ev-modal-pdf-box { max-width:560px; }
.ev-modal-header { background:#1a3c5e; color:#fff; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:14px; }
.ev-modal-fechar { background:transparent; border:none; color:#fff; font-size:18px; cursor:pointer; }
.ev-modal-body   { padding:20px; overflow-y:auto; flex:1; }
.ev-modal-footer { padding:14px 20px; border-top:1px solid #eee; display:flex; gap:10px; justify-content:flex-end; }
.ev-btn-cancelar { background:#e0e0e0; color:#333; border:none; padding:9px 20px; border-radius:8px; font-weight:600; cursor:pointer; }
.ev-btn-confirmar{ background:#1a3c5e; color:#fff; border:none; padding:9px 22px; border-radius:8px; font-weight:700; cursor:pointer; }

/* ── PDF PREVIEW (meia folha A4) ── */
#ev-pdf-conteudo { font-family:'Segoe UI',Arial,sans-serif; }
.ev-pdf-folha { width:100%; box-sizing:border-box; }
.ev-pdf-topo  { display:flex; gap:16px; align-items:flex-start; border-bottom:2px solid #1a3c5e; padding-bottom:14px; margin-bottom:14px; }
.ev-pdf-foto  { width:80px; height:80px; border-radius:8px; overflow:hidden; background:#eee; flex-shrink:0; }
.ev-pdf-foto img { width:100%; height:100%; object-fit:cover; }
.ev-pdf-foto-ph  { width:80px; height:80px; border-radius:8px; background:#eee; display:flex; align-items:center; justify-content:center; font-size:30px; }
.ev-pdf-nome  { font-size:18px; font-weight:700; color:#1a3c5e; margin:0 0 3px; }
.ev-pdf-titulo{ font-size:12px; color:#888; margin:0 0 6px; }
.ev-pdf-painel{ font-size:11px; color:#1f6faf; background:#e3f2fd; border-radius:4px; padding:2px 8px; display:inline-block; font-weight:600; }
.ev-pdf-horario { font-size:11px; color:#555; margin-top:4px; }
.ev-pdf-resumo-bloco { margin-bottom:14px; }
.ev-pdf-resumo-titulo { font-size:10px; font-weight:700; text-transform:uppercase; color:#888; letter-spacing:1px; margin-bottom:4px; }
.ev-pdf-resumo-texto  { font-size:12px; color:#333; line-height:1.5; }
.ev-pdf-pergs-titulo  { font-size:10px; font-weight:700; text-transform:uppercase; color:#888; letter-spacing:1px; margin-bottom:8px; border-top:1px solid #eee; padding-top:10px; }
.ev-pdf-perg-item { display:flex; gap:8px; margin-bottom:7px; font-size:12px; color:#333; align-items:flex-start; }
.ev-pdf-perg-num  { background:#1a3c5e; color:#fff; border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; flex-shrink:0; margin-top:1px; }
.ev-pdf-rodape    { margin-top:16px; border-top:1px solid #eee; padding-top:8px; font-size:9px; color:#aaa; text-align:center; }

/* SPINNER */
.ev-spinner { display:inline-block; width:14px; height:14px; border:2px solid rgba(255,255,255,.5); border-top-color:#fff; border-radius:50%; animation:ev-spin .6s linear infinite; vertical-align:middle; margin-right:6px; }
@keyframes ev-spin { to{transform:rotate(360deg)} }

@media(max-width:600px){
  .ev-cards-grid { grid-template-columns:1fr; }
  .ev-adm-card-header { flex-direction:column; align-items:flex-start; }
}

/* ── UPLOAD DE FOTO ── */
.ev-upload-area { border:2px dashed #c5d4e8; border-radius:12px; padding:24px; text-align:center; cursor:pointer; transition:border-color .2s,background .2s; background:#fafcff; }
.ev-upload-area:hover,.ev-drag-over { border-color:#1f6faf; background:#e8f4ff; }
.ev-upload-placeholder { display:flex; flex-direction:column; align-items:center; gap:8px; }
.ev-upload-icon { font-size:40px; }
.ev-upload-txt  { font-size:15px; font-weight:600; color:#1a3c5e; }
.ev-upload-hint { font-size:11px; color:#aaa; }
.ev-btn-escolher { background:#1a3c5e; color:#fff; border:none; border-radius:8px; padding:9px 22px; font-size:13px; font-weight:700; cursor:pointer; margin-top:4px; }
.ev-btn-escolher:hover { opacity:.85; }
.ev-upload-preview { position:relative; display:inline-block; }
.ev-upload-preview img { width:130px; height:130px; border-radius:10px; object-fit:cover; border:3px solid #1f6faf; display:block; margin:0 auto; }
.ev-upload-remover { position:absolute; top:-8px; right:-8px; background:#c0392b; color:#fff; border:none; border-radius:50%; width:24px; height:24px; font-size:11px; cursor:pointer; font-weight:700; }
.ev-upload-progress { margin-top:12px; }
.ev-upload-bar { height:6px; background:#e0e0e0; border-radius:3px; overflow:hidden; margin-bottom:6px; }
.ev-upload-fill{ height:100%; background:#1f6faf; border-radius:3px; transition:width .3s; width:0%; }
#ev-upload-status { font-size:12px; color:#555; }

/* ── INSTAGRAM ── */
.ev-instagram-wrap { display:flex; align-items:center; border:1.5px solid #ccc; border-radius:8px; overflow:hidden; transition:border-color .2s; }
.ev-instagram-wrap:focus-within { border-color:#1f6faf; }
.ev-instagram-at { background:#f0f4f8; padding:9px 10px; font-size:14px; font-weight:700; color:#888; border-right:1px solid #ddd; }
.ev-instagram-wrap input { border:none !important; outline:none !important; border-radius:0 !important; flex:1; }

/* ── FOTO UPLOAD AREA ── */
.ev-upload-area { max-width:340px; }
.ev-upload-placeholder {
  border:2px dashed #ccc; border-radius:14px; padding:28px 20px; text-align:center;
  background:#f8fafc; cursor:default; transition:border-color .2s, background .2s;
}
.ev-upload-area.ev-drag-over .ev-upload-placeholder { border-color:#1f6faf; background:#e3f2fd; }
.ev-upload-icon { font-size:38px; margin-bottom:8px; }
.ev-upload-txt  { font-size:13px; color:#555; margin-bottom:10px; }
.ev-upload-sub  { font-size:11px; color:#aaa; margin-top:10px; }
.ev-btn-escolher { background:#1a3c5e; color:#fff; border:none; border-radius:8px; padding:9px 22px; font-size:13px; font-weight:700; cursor:pointer; }
.ev-btn-escolher:hover { opacity:.85; }
.ev-btn-escolher-mini { background:#1a3c5e; color:#fff; border:none; border-radius:6px; padding:6px 14px; font-size:12px; font-weight:700; cursor:pointer; }
.ev-btn-remover-foto { background:#fdecea; color:#c0392b; border:1px solid #e0a0a0; border-radius:6px; padding:6px 12px; font-size:12px; font-weight:700; cursor:pointer; }
.ev-upload-preview { display:flex; align-items:center; gap:14px; padding:10px; background:#f0f7ff; border-radius:12px; border:1.5px solid #bbdefb; }
.ev-upload-preview img { width:90px; height:90px; border-radius:8px; object-fit:cover; flex-shrink:0; }
.ev-upload-preview-actions { display:flex; flex-direction:column; gap:8px; }
.ev-upload-progress { height:5px; background:#e0e0e0; border-radius:3px; margin-top:8px; overflow:hidden; }
.ev-upload-fill { height:100%; background:#1f6faf; width:0%; transition:width .3s; }
.ev-upload-status { font-size:12px; color:#555; margin-top:6px; }

/* ── INSTAGRAM ── */
.ev-instagram-wrap { display:flex; align-items:center; border:1.5px solid #ccc; border-radius:8px; overflow:hidden; background:#fff; }
.ev-instagram-wrap:focus-within { border-color:#1f6faf; }
.ev-instagram-arroba { padding:0 11px; font-size:15px; font-weight:700; color:#888; background:#f5f5f5; border-right:1px solid #ccc; height:40px; display:flex; align-items:center; }
.ev-instagram-wrap input { border:none; outline:none; padding:9px 12px; font-size:13px; flex:1; }

/* ── PAINEL SELECT ── */
.ev-painel-select { font-size:13px; }
.ev-painel-select option { padding:6px; }

/* ── BLOCO LOTADO ── */
.ev-opt-lotado { color:#bbb !important; background:#f5f5f5 !important; font-style:italic; }
.ev-painel-select option:disabled { color:#bbb; }

/* ── RECUPERAR LINK ── */
.ev-recuperar-wrap   { max-width:960px; margin:16px auto 0; }
.ev-recuperar-toggle { background:#fff; border:1.5px dashed #c5d4e8; border-radius:10px; padding:14px 18px; font-size:13px; color:#1a3c5e; font-weight:600; cursor:pointer !important; display:flex; justify-content:space-between; align-items:center; transition:background .2s; user-select:none; -webkit-user-select:none; pointer-events:auto !important; }
.ev-rec-aberto .ev-recuperar-toggle { border-radius:10px 10px 0 0; border-color:#1f6faf; background:#f0f7ff; }
.ev-recuperar-toggle:hover { background:#f0f7ff; border-color:#1f6faf; }
.ev-rec-seta   { font-size:11px; transition:transform .2s; }
.ev-rec-aberto .ev-rec-seta { transform:rotate(180deg); }
.ev-recuperar-form { background:#f8fafc; border:1.5px solid #e0eaf5; border-top:none; border-radius:0 0 10px 10px; padding:16px 18px; }


/* ── PROGRAMAÇÃO POR DIA / BLOCO — tabela ── */
.ev-tb-dia-header {
  background: linear-gradient(135deg, #1a3c5e, #1f6faf);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 18px;
  border-radius: 10px 10px 0 0;
  margin-top: 24px;
  letter-spacing: .3px;
}

.ev-tb-bloco {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
  border: 1px solid #e0eaf5;
  border-top: none;
  background: #fff;
}
.ev-tb-bloco + .ev-tb-dia-header { margin-top: 32px; }
.ev-tb-bloco + .ev-tb-bloco { border-top: none; }

/* Cabeçalho do bloco */
.ev-tb-th-bloco {
  background: #f0f5fb;
  padding: 10px 16px;
  border-bottom: 2px solid #d0e0f0;
  text-align: left;
}
.ev-tb-bloco-nome {
  font-size: 13px;
  font-weight: 700;
  color: #1a3c5e;
  margin-right: 12px;
}
.ev-tb-bloco-hora {
  font-size: 12px;
  color: #1f6faf;
  background: #ddeeff;
  padding: 2px 10px;
  border-radius: 20px;
  margin-right: 8px;
  font-weight: 600;
}
.ev-tb-bloco-vagas {
  float: right;
  font-size: 11px;
  color: #999;
  background: #f0f0f0;
  padding: 2px 10px;
  border-radius: 20px;
  font-weight: 600;
}

/* Linhas */
.ev-tb-row { border-bottom: 1px solid #f0f4f8; transition: background .15s; }
.ev-tb-row:last-child { border-bottom: none; }
.ev-tb-row:hover { background: #f8fbff; }

.ev-tb-foto-cell { width: 52px; padding: 10px 10px 10px 16px; vertical-align: middle; }
.ev-tb-foto {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #dde8f5;
  display: block;
}
.ev-tb-foto-ph {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eef3f9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border: 2px solid #dde8f5;
}

.ev-tb-nome-cell { padding: 10px 12px; vertical-align: middle; font-size: 14px; color: #1a3c5e; }
.ev-tb-titulo    { font-size: 12px; color: #888; font-weight: 400; }

.ev-tb-insta-cell { padding: 10px 16px 10px 8px; vertical-align: middle; text-align: right; white-space: nowrap; }
.ev-tb-insta {
  font-size: 12px;
  color: #c13584;
  text-decoration: none;
  font-weight: 600;
}
.ev-tb-insta:hover { text-decoration: underline; }

@media (max-width: 600px) {
  .ev-tb-insta-cell { display: none; }
  .ev-tb-bloco-vagas { float: none; display: block; margin-top: 4px; }
}

/* ═══════════════════════════════════════
   GRADE VISUAL DE BLOCOS — ADMIN
   ═══════════════════════════════════════ */
.ev-blocos-section {
  background: #fff;
  border-radius: 14px;
  padding: 22px 24px 18px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  margin-bottom: 24px;
}
.ev-blocos-titulo {
  font-size: 16px;
  font-weight: 700;
  color: #1a3c5e;
  border-left: 4px solid #1f6faf;
  padding-left: 12px;
  margin: 0 0 16px;
}
.ev-blocos-dia-label {
  font-size: 12px;
  font-weight: 700;
  color: #1f6faf;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding: 4px 10px;
  background: #eef4fb;
  border-radius: 6px;
  display: inline-block;
}
.ev-blocos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 6px;
}
/* Card de bloco */
.ev-bloco-card {
  border-radius: 10px;
  border: 2px solid #ddd;
  overflow: hidden;
  transition: box-shadow .2s;
}
.ev-bloco-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.1); }
.ev-bloco-vazio   { border-color: #ddd;    background: #fafafa; }
.ev-bloco-parcial { border-color: #f9a825; background: #fffdf0; }
.ev-bloco-cheio   { border-color: #2e7d32; background: #f0faf2; }

.ev-bloco-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: rgba(0,0,0,.04);
  border-bottom: 1px solid rgba(0,0,0,.06);
  flex-wrap: wrap;
}
.ev-bloco-nome {
  font-weight: 700;
  font-size: 13px;
  color: #1a3c5e;
  flex: 1;
}
.ev-bloco-hora {
  font-size: 11px;
  color: #555;
}
.ev-bloco-badge {
  background: #1f6faf;
  color: #fff;
  border-radius: 20px;
  padding: 2px 9px;
  font-size: 11px;
  font-weight: 700;
}
.ev-bloco-vazio   .ev-bloco-badge { background: #aaa; }
.ev-bloco-parcial .ev-bloco-badge { background: #e65100; }
.ev-bloco-cheio   .ev-bloco-badge { background: #2e7d32; }

.ev-bloco-lista {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 48px;
}

/* Slot de especialista */
.ev-bloco-slot {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 7px;
  font-size: 12px;
  flex-wrap: wrap;
}
.ev-slot-vazio {
  color: #aaa;
  font-style: italic;
  background: transparent;
}
.ev-slot-conf {
  background: #e8f5e9;
  border-left: 3px solid #2e7d32;
}
.ev-slot-desej {
  background: #fff8e1;
  border-left: 3px solid #f9a825;
}
.ev-slot-icone { font-size: 13px; }
.ev-slot-nome  { font-weight: 600; color: #1a3c5e; flex: 1; }
.ev-slot-hora  { font-size: 11px; color: #555; background: rgba(0,0,0,.06); padding: 1px 6px; border-radius: 4px; }
.ev-slot-tipo  { font-size: 10px; color: #888; margin-left: auto; }

/* Legenda */
.ev-blocos-legenda {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #eee;
  font-size: 11px;
  color: #666;
}
.ev-leg { display: flex; align-items: center; gap: 4px; }

/* Filtros — separação visual */
.ev-filtros { margin-top: 8px; }

@media (max-width: 680px) {
  .ev-blocos-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   PAINEL ADMIN — ARTISTAS (grade de intervalos)
═══════════════════════════════════════════════════ */
.art-intervalos-section{background:#fff;border-radius:14px;padding:22px 24px 18px;box-shadow:0 2px 16px rgba(0,0,0,.07);margin-bottom:24px}
.art-intervalos-titulo{font-size:16px;font-weight:700;color:#1a1a2e;border-left:4px solid #6c2fa0;padding-left:12px;margin:0 0 16px}
.art-intervalos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:6px}
.art-iv-card{border-radius:10px;border:2px solid #ddd;overflow:hidden;transition:box-shadow .2s}
.art-iv-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.1)}
.art-iv-vazio{border-color:#ddd;background:#fafafa}
.art-iv-ocupado{border-color:#6c2fa0;background:#f8f0ff}
.art-iv-header{display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.06);flex-wrap:wrap}
.art-iv-nome{font-weight:700;font-size:13px;color:#1a1a2e;flex:1}
.art-iv-hora{font-size:11px;color:#555}
.art-iv-badge{background:#6c2fa0;color:#fff;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:700}
.art-iv-vazio .art-iv-badge{background:#aaa}
.art-iv-lista{padding:8px 10px;min-height:44px}
.art-iv-slot{display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:7px;font-size:12px;flex-wrap:wrap}
.art-iv-slot-vazio{color:#aaa;font-style:italic}
.art-iv-slot-conf{background:#f3e8ff;border-left:3px solid #6c2fa0}
.art-iv-slot-desej{background:#fff8e1;border-left:3px solid #f9a825}
.art-iv-slot-nome{font-weight:600;color:#1a1a2e;flex:1}
.art-iv-slot-tipo{font-size:10px;color:#888;margin-left:auto;white-space:nowrap}

/* Card de artista no admin */
.art-adm-card{background:#fff;border-radius:12px;box-shadow:0 1px 8px rgba(0,0,0,.08);margin-bottom:14px;overflow:hidden;transition:box-shadow .2s}
.art-adm-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.13)}
.art-adm-card-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-left:4px solid #6c2fa0;cursor:pointer}

/* ═══════════════════════════════════════════════════
   PROGRAMAÇÃO COMPLETA — [evento_programacao]
═══════════════════════════════════════════════════ */
#ev-prog-completa .ev-header{padding:30px 28px 24px}
.prog-legenda{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 24px;padding:12px 18px;background:#fff;border-radius:10px;box-shadow:0 1px 6px rgba(0,0,0,.07);font-size:13px;font-weight:600}
.prog-leg{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px}
.prog-leg-talk{background:#eef4fb;color:#1a3c5e;border:1.5px solid #c8ddf5}
.prog-leg-musica{background:#f3e8ff;color:#6c2fa0;border:1.5px solid #d4b0f7}

.prog-grade{display:flex;flex-direction:column;gap:16px}

/* Cabeçalho de dia */
.prog-dia-header{background:linear-gradient(135deg,#1a3c5e,#1f6faf);color:#fff;border-radius:10px;padding:13px 20px;font-size:15px;font-weight:700;letter-spacing:.3px}

/* Item genérico (bloco ou intervalo) */
.prog-item{border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.prog-item-header{display:flex;align-items:center;gap:10px;padding:12px 18px;flex-wrap:wrap}
.prog-tipo-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.prog-bloco-nome{font-weight:700;font-size:14px;flex:1}
.prog-hora{font-size:12px;color:rgba(0,0,0,.5);background:rgba(0,0,0,.06);padding:2px 8px;border-radius:6px}
.prog-vagas{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}

/* Bloco Talk Show */
.prog-bloco-talk{background:#fff;border:1.5px solid #c8ddf5}
.prog-header-talk{background:#eef4fb}
.prog-badge-talk{background:#1a3c5e;color:#fff}
.prog-bloco-talk .prog-vagas{background:#dde8f5;color:#1a3c5e}

/* Bloco Musical */
.prog-bloco-musica{border:1.5px solid #d4b0f7}
.prog-header-musica{background:#f3e8ff}
.prog-badge-musica{background:#6c2fa0;color:#fff}
.prog-musica-vazia{background:#fafafa}
.prog-musica-preenchida{background:#fff}
.prog-bloco-musica .prog-vagas{background:#ead6ff;color:#6c2fa0}

/* Mensagem vazia */
.prog-vazio-msg{padding:14px 18px;color:#aaa;font-style:italic;font-size:13px}

/* Grid de especialistas no bloco */
.prog-esp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:14px 16px}
.prog-esp-card{display:flex;gap:10px;align-items:flex-start;background:#f8fbff;border-radius:10px;padding:10px 12px}
.prog-esp-foto{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #dde8f5}
.prog-esp-foto img{width:100%;height:100%;object-fit:cover}
.prog-foto-ph{width:46px;height:46px;border-radius:50%;background:#eef3f9;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid #dde8f5;flex-shrink:0}
.prog-esp-nome{font-weight:700;font-size:13px;color:#1a3c5e;line-height:1.3}
.prog-esp-titulo{font-size:11px;color:#777;margin-top:1px}
.prog-esp-hora{font-size:11px;color:#1f6faf;margin-top:3px;font-weight:600}
.prog-esp-insta{font-size:11px;color:#6c2fa0;text-decoration:none;margin-top:3px;display:block}
.prog-esp-insta:hover{text-decoration:underline}

/* Card de artista */
.prog-artista-card{display:flex;gap:14px;align-items:flex-start;padding:14px 18px}
.prog-art-foto{width:70px;height:70px;border-radius:10px;overflow:hidden;flex-shrink:0;border:2px solid #d4b0f7}
.prog-art-foto img{width:100%;height:100%;object-fit:cover}
.prog-foto-ph-musica{width:70px;height:70px;border-radius:10px;background:#f0e0ff;display:flex;align-items:center;justify-content:center;font-size:28px;border:2px solid #d4b0f7;flex-shrink:0}
.prog-art-nome{font-weight:700;font-size:17px;color:#1a1a2e;line-height:1.3}
.prog-art-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.prog-art-tipo{font-size:11px;font-weight:700;background:#ead6ff;color:#6c2fa0;padding:2px 8px;border-radius:20px}
.prog-art-genero{font-size:11px;color:#555}
.prog-art-resumo{font-size:12px;color:#666;margin-top:6px;line-height:1.5}

@media(max-width:680px){
  .art-intervalos-grid{grid-template-columns:1fr}
  .prog-esp-grid{grid-template-columns:1fr}
  .prog-artista-card{flex-direction:column;align-items:center;text-align:center}
}

/* Botão excluir */
.ev-btn-excluir{
  background:#fff0f0; color:#c0392b; border:1.5px solid #f5c6c6;
  border-radius:7px; padding:5px 9px; font-size:14px;
  cursor:pointer; transition:background .15s, transform .1s;
  line-height:1;
}
.ev-btn-excluir:hover{ background:#fdecea; transform:scale(1.08); }
