/* ── Podcast Agendamento — CSS ── */

.pa-wrap {
  max-width: 960px;
  margin: 0 auto 24px;
  font-family: Arial, sans-serif;
}

/* ── HEADER ── */
.pa-header {
  background: linear-gradient(135deg, #4a0080, #6a0dad, #9b30d0);
  border-radius: 14px;
  padding: 28px 32px;
  color: #fff;
  margin-bottom: 28px;
}
.pa-header-admin { background: linear-gradient(135deg, #1a3c5e, #1f6faf); }
.pa-header h2    { margin: 8px 0 6px; font-size: 24px; }
.pa-header p     { margin: 0; opacity: .85; font-size: 13px; }
.pa-badge        { background: rgba(255,255,255,.25); border-radius: 20px; padding: 3px 12px; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.pa-badge-admin  { background: rgba(255,255,255,.2); }

/* ── SEÇÕES ── */
.pa-section       { background: #fff; border: 1.5px solid #e8e0f5; border-radius: 12px; padding: 22px 24px; margin-bottom: 20px; }
.pa-section-title { font-size: 15px; font-weight: 700; color: #4a0080; border-left: 4px solid #6a0dad; padding-left: 10px; margin-bottom: 18px; }

/* ── FORM ── */
.pa-form-row   { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.pa-form-group { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 200px; }
.pa-col-2      { flex: 1; min-width: 200px; }
.pa-form-group label { font-size: 12px; font-weight: 700; color: #4a0080; }
.pa-form-group input,
.pa-form-group textarea,
.pa-form-group select {
  border: 1.5px solid #d0c0e8;
  border-radius: 8px;
  padding: 9px 13px;
  font-size: 13px;
  outline: none;
  transition: border-color .2s;
  font-family: Arial, sans-serif;
  width: 100%;
  box-sizing: border-box;
}
.pa-form-group input:focus,
.pa-form-group textarea:focus { border-color: #6a0dad; }
.pa-hint { font-size: 12px; color: #999; margin: 0; }

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

/* ── COTA INFO ── */
.pa-cota-info        { margin-bottom: 16px; }
.pa-cota-box         { padding: 16px 20px; }
.pa-cota-valor       { margin-bottom: 12px; line-height: 1.5; }
.pa-cota-beneficios  { font-size: 13px; color: #333; }
.pa-cota-beneficios ul { margin: 8px 0 0 16px; padding: 0; }
.pa-cota-beneficios li { margin-bottom: 5px; line-height: 1.5; }

/* ── UPLOAD LOGO ── */
.pa-upload-area             { border: 2px dashed #c0a8e8; border-radius: 12px; padding: 24px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; background: #fdf8ff; }
.pa-upload-area:hover,
.pa-drag-over               { border-color: #6a0dad; background: #f5eeff; }
.pa-upload-placeholder      { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pa-upload-icon             { font-size: 38px; }
.pa-upload-txt              { font-size: 15px; font-weight: 600; color: #4a0080; }
.pa-upload-hint             { font-size: 11px; color: #bbb; }
.pa-btn-escolher            { background: #6a0dad; color: #fff; border: none; border-radius: 8px; padding: 9px 22px; font-size: 13px; font-weight: 700; cursor: pointer; margin-top: 4px; }
.pa-btn-escolher:hover      { opacity: .85; }
.pa-upload-preview          { position: relative; display: inline-block; }
.pa-upload-preview img      { max-width: 180px; max-height: 90px; object-fit: contain; border: 2px solid #c0a8e8; border-radius: 8px; display: block; margin: 0 auto; background: #f9f9f9; padding: 8px; }
.pa-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; }
.pa-upload-bar              { height: 6px; background: #e0d0f5; border-radius: 3px; overflow: hidden; margin-bottom: 6px; }
.pa-upload-fill             { height: 100%; background: #6a0dad; border-radius: 3px; transition: width .3s; width: 0%; }
#pa-upload-status           { font-size: 12px; color: #555; }

/* ── SLOTS GRID ── */
.pa-slot-dia-label {
  font-size: 13px;
  font-weight: 700;
  color: #4a0080;
  background: linear-gradient(135deg, #f5eeff, #ede0ff);
  border-radius: 8px;
  padding: 8px 14px;
  margin: 16px 0 10px;
  border-left: 4px solid #6a0dad;
  grid-column: 1 / -1;
}

.pa-slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.pa-slot-card {
  border: 2px solid #d8c8f0;
  border-radius: 10px;
  padding: 14px 16px;
  cursor: pointer;
  transition: all .2s;
  background: #fff;
  user-select: none;
}
.pa-slot-card:hover:not(.pa-slot-lotado) { border-color: #6a0dad; background: #faf5ff; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(106,13,173,.15); }
.pa-slot-selecionado  { border-color: #6a0dad !important; background: #f0e0ff !important; box-shadow: 0 0 0 3px rgba(106,13,173,.2); }
.pa-slot-lotado       { opacity: .55; cursor: not-allowed; background: #f5f5f5; border-color: #ddd; }
.pa-slot-hora         { font-size: 13px; font-weight: 700; color: #1a1a2e; margin-bottom: 6px; }
.pa-slot-status       { font-size: 11px; font-weight: 600; border-radius: 20px; padding: 2px 10px; display: inline-block; }
.pa-slot-livre        { background: #d6f0e4; color: #1a7a4a; }
.pa-slot-ocupado      { background: #fdecea; color: #c0392b; }

.pa-slot-escolhido {
  background: #f0e0ff;
  border: 1.5px solid #6a0dad;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  color: #4a0080;
  margin-top: 8px;
}

/* ── AVISOS ── */
.pa-aviso-edicao       { background: #fff8e1; border: 1.5px solid #ffc107; border-radius: 8px; padding: 10px 16px; margin-bottom: 16px; font-size: 13px; color: #856404; }
.pa-aviso-confirmado   { background: #d6f0e4; border: 1.5px solid #1a7a4a; border-radius: 10px; padding: 16px 20px; font-size: 14px; color: #1a7a4a; margin-bottom: 20px; }

/* ── AÇÕES ── */
.pa-actions    { text-align: center; margin-top: 24px; }
.pa-btn-submit { background: linear-gradient(135deg, #4a0080, #6a0dad); color: #fff; border: none; border-radius: 10px; padding: 14px 40px; font-size: 15px; font-weight: 700; cursor: pointer; transition: opacity .2s; letter-spacing: .3px; }
.pa-btn-submit:hover { opacity: .88; }
.pa-btn-submit:disabled { opacity: .5; cursor: not-allowed; }

/* ── MENSAGEM / SUCESSO ── */
.pa-form-msg  { border-radius: 8px; padding: 12px 16px; font-size: 13px; font-weight: 600; margin-top: 12px; }
.pa-form-msg.erro    { background: #fdecea; color: #c0392b; border: 1px solid #e8b0b0; }
.pa-form-msg.sucesso { background: #d6f0e4; color: #1a7a4a; border: 1px solid #a0d8b8; }

.pa-sucesso      { text-align: center; padding: 40px 24px; }
.pa-sucesso-icon { font-size: 52px; margin-bottom: 12px; }
.pa-sucesso h3   { font-size: 22px; color: #4a0080; margin: 0 0 10px; }
.pa-sucesso p    { color: #555; font-size: 14px; }
.pa-link-edicao  { background: #f5eeff; border: 1.5px solid #c0a8e8; border-radius: 10px; padding: 16px 20px; margin-top: 20px; text-align: left; }
.pa-link-edicao input  { width: 100%; padding: 8px 12px; border: 1.5px solid #c0a8e8; border-radius: 6px; font-size: 12px; margin: 8px 0; box-sizing: border-box; }
.pa-link-edicao button { background: #6a0dad; color: #fff; border: none; border-radius: 6px; padding: 8px 16px; font-size: 12px; cursor: pointer; font-weight: 700; }

/* ── VAZIO ── */
.pa-vazio { text-align: center; padding: 40px; color: #aaa; font-size: 15px; background: #fafafa; border-radius: 10px; }

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

/* ── ADMIN CARDS ── */
.pa-adm-cards { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.pa-adm-card  { flex: 1; min-width: 130px; border-radius: 10px; padding: 16px 20px; text-align: center; border: 1.5px solid; }
.pa-adm-card-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.pa-adm-card-num   { font-size: 32px; font-weight: 700; }
.pa-adm-card-total { background: #f0f5ff; border-color: #c5d4f0; color: #1a3c5e; }
.pa-adm-card-pend  { background: #fff8e1; border-color: #ffe082; color: #f9a825; }
.pa-adm-card-conf  { background: #d6f0e4; border-color: #a8d8c0; color: #1a7a4a; }
.pa-adm-card-canc  { background: #fdecea; border-color: #f5b8b5; color: #c0392b; }

/* Admin toolbar */
.pa-adm-toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.pa-adm-toolbar input { flex: 1; min-width: 200px; padding: 8px 14px; border: 1.5px solid #ddd; border-radius: 8px; font-size: 13px; outline: none; }
.pa-filtros { display: flex; gap: 6px; flex-wrap: wrap; }
.pa-filtro-btn { background: #f0f0f0; border: 1.5px solid #ddd; border-radius: 20px; padding: 5px 14px; font-size: 12px; cursor: pointer; font-weight: 600; transition: all .2s; }
.pa-filtro-btn.active, .pa-filtro-btn:hover { background: #6a0dad; color: #fff; border-color: #6a0dad; }
#pa-adm-count { font-size: 12px; color: #999; margin-left: auto; }

/* Admin card item */
.pa-adm-card-item { background: #fff; border: 1.5px solid #e8e0f5; border-radius: 10px; margin-bottom: 10px; overflow: hidden; transition: box-shadow .2s; }
.pa-adm-card-item:hover { box-shadow: 0 2px 12px rgba(106,13,173,.1); }
.pa-adm-card-item.pa-hidden { display: none; }

.pa-adm-card-top { display: flex; align-items: center; gap: 14px; padding: 14px 16px; }
.pa-adm-card-logo { width: 54px; height: 54px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: #f5f0ff; border-radius: 8px; border: 1px solid #e0d0f5; overflow: hidden; }
.pa-adm-card-logo img { width: 100%; height: 100%; object-fit: contain; }
.pa-adm-logo-ph { font-size: 24px; }
.pa-adm-card-resumo { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pa-adm-card-resumo strong { font-size: 14px; color: #1a1a2e; }
.pa-adm-responsavel { font-size: 12px; color: #888; }
.pa-adm-slot-pill { font-size: 11px; background: #f0e0ff; color: #6a0dad; border-radius: 20px; padding: 2px 10px; display: inline-block; font-weight: 600; }
.pa-adm-card-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pa-status-pill { font-size: 11px; font-weight: 700; border-radius: 20px; padding: 4px 12px; }
.pa-btn-toggle-card { background: #f0f0f0; border: 1.5px solid #ddd; border-radius: 6px; padding: 5px 12px; font-size: 11px; cursor: pointer; font-weight: 600; white-space: nowrap; }
.pa-btn-toggle-card:hover { background: #e0e0e0; }

/* Admin card body */
.pa-adm-card-body { padding: 16px; border-top: 1.5px solid #f0e8ff; background: #fdf8ff; }
.pa-adm-form-row  { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.pa-adm-col       { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 4px; }
.pa-adm-col label { font-size: 11px; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .5px; }
.pa-adm-col input,
.pa-adm-col select,
.pa-adm-col textarea { border: 1.5px solid #d0c0e8; border-radius: 6px; padding: 7px 10px; font-size: 13px; outline: none; font-family: Arial, sans-serif; width: 100%; box-sizing: border-box; }
.pa-adm-col input:focus,
.pa-adm-col select:focus,
.pa-adm-col textarea:focus { border-color: #6a0dad; }
.pa-wpp-btn { display: inline-block; background: #25d366; color: #fff; border-radius: 6px; padding: 7px 14px; font-size: 13px; font-weight: 700; text-decoration: none; }
.pa-adm-actions { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
.pa-btn-salvar-adm { background: #6a0dad; color: #fff; border: none; border-radius: 8px; padding: 9px 22px; font-size: 13px; font-weight: 700; cursor: pointer; }
.pa-btn-salvar-adm:hover { opacity: .85; }
.pa-btn-salvar-adm:disabled { opacity: .5; }
.pa-adm-data { font-size: 11px; color: #bbb; margin-left: auto; }

/* Toast */
#pa-adm-toast { position: fixed; bottom: 24px; right: 24px; background: #1a7a4a; color: #fff; padding: 12px 22px; border-radius: 10px; font-size: 13px; font-weight: 700; z-index: 9999; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
#pa-adm-toast.erro { background: #c0392b; }

/* ── PAINEL PÚBLICO ── */
.pa-pub-dia-header { background: linear-gradient(135deg, #4a0080, #6a0dad); color: #fff; font-size: 15px; font-weight: 700; padding: 12px 18px; border-radius: 10px 10px 0 0; margin-top: 24px; }
.pa-pub-table      { width: 100%; border-collapse: collapse; border: 1px solid #e0d0f5; border-top: none; background: #fff; margin-bottom: 0; }
.pa-pub-table + .pa-pub-dia-header { margin-top: 32px; }
.pa-pub-table + .pa-pub-table      { border-top: none; }
.pa-pub-th         { background: #f5eeff; padding: 10px 16px; border-bottom: 2px solid #d0c0e8; text-align: left; }
.pa-pub-slot-hora  { font-size: 13px; font-weight: 700; color: #4a0080; margin-right: 12px; }
.pa-pub-slot-vagas { float: right; font-size: 11px; color: #999; background: #f0f0f0; padding: 2px 10px; border-radius: 20px; font-weight: 600; }
.pa-pub-row        { border-bottom: 1px solid #f0e8ff; transition: background .15s; }
.pa-pub-row:last-child { border-bottom: none; }
.pa-pub-row:hover  { background: #faf5ff; }

/* ── RECUPERAR LINK ── */
.pa-recuperar-wrap   { max-width: 960px; margin: 16px auto 0; }
.pa-recuperar-toggle { background: #fff; border: 1.5px dashed #c0a8e8; border-radius: 10px; padding: 14px 18px; font-size: 13px; color: #4a0080; font-weight: 600; cursor: pointer !important; display: flex; justify-content: space-between; align-items: center; transition: background .2s; user-select: none; pointer-events: auto !important; }
.pa-recuperar-toggle:hover { background: #f5eeff; border-color: #6a0dad; }
.pa-rec-aberto .pa-recuperar-toggle { border-radius: 10px 10px 0 0; border-color: #6a0dad; background: #f5eeff; }
.pa-rec-seta         { font-size: 11px; transition: transform .2s; }
.pa-recuperar-form   { background: #faf5ff; border: 1.5px solid #c0a8e8; border-top: none; border-radius: 0 0 10px 10px; padding: 16px 18px; }

/* Responsive */
@media (max-width: 600px) {
  .pa-slots-grid { grid-template-columns: 1fr 1fr; }
  .pa-adm-cards  { flex-direction: row; }
  .pa-pub-slot-vagas { float: none; display: block; margin-top: 4px; }
}
