.rtv-wrap{max-width:1100px;margin:0 auto;padding:16px;}
.rtv-card{background:#fff;border:1px solid #e6e6e6;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.06);padding:18px;}
.rtv-header{margin-bottom:12px;}
.rtv-title{margin:0 0 4px;font-size:1.4rem;}
.rtv-sub{margin:0;color:#555;}

.rtv-row{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap;}
.rtv-row-center{justify-content:center;}
.rtv-row-between{justify-content:space-between;}

/* Botones tipo (pills) */
/*
  IMPORTANTE: muchos temas de WP aplican estilos globales a button.
  Por eso subimos especificidad + !important para que SIEMPRE se vean como pills.
*/
.rtv-card .rtv-chip{
  border:2px solid #d0d7de !important;
  background:transparent !important;
  border-radius:999px !important;
  padding:8px 16px !important;
  cursor:pointer;
  font-weight:700;
  line-height:1.1;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.rtv-card .rtv-chip[data-rtv-tipo="vacaciones"]{border-color:#4CAF50 !important;color:#4CAF50 !important;}
.rtv-card .rtv-chip[data-rtv-tipo="vacaciones"]:hover{background:#2e7d32 !important;color:#fff !important;}
.rtv-card .rtv-chip[data-rtv-tipo="vacaciones"].rtv-chip--active{background:#4CAF50 !important;color:#fff !important;border-color:#4CAF50 !important;}
.rtv-chip[data-rtv-tipo="vacaciones"].rtv-chip--active:hover{background:#2e7d32;color:#fff;}

.rtv-card .rtv-chip[data-rtv-tipo="asuntos"]{border-color:#FFD966 !important;color:#b38f00 !important;}
.rtv-card .rtv-chip[data-rtv-tipo="asuntos"]:hover{background:#b38f00 !important;color:#fff !important;}
.rtv-card .rtv-chip[data-rtv-tipo="asuntos"].rtv-chip--active{background:#FFD966 !important;color:#fff !important;border-color:#FFD966 !important;}
.rtv-chip[data-rtv-tipo="asuntos"].rtv-chip--active:hover{background:#b38f00;color:#fff;}

.rtv-calendar{margin:10px 0;}

.rtv-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;}
.rtv-label{font-size:.85rem;color:#555;}
.rtv-value{font-size:1rem;font-weight:700;}
@media (max-width:700px){.rtv-summary{grid-template-columns:1fr;}}

.rtv-textarea{width:100%;border:1px solid #d0d7de;border-radius:12px;padding:10px;}
.rtv-label-block{width:100%;}

/* Select (para roles superiores: solicitar para otro usuario) */
.rtv-select{
  border:1px solid #d0d7de !important;
  border-radius:999px !important;
  padding:8px 14px !important;
  background:#fff !important;
  font-weight:700;
}

/* Botones accion (pills con color propio) */
.rtv-card .rtv-btn{
  border-radius:999px !important;
  padding:10px 22px !important;
  font-weight:800;
  cursor:pointer;
  line-height:1.1;
  border:2px solid transparent !important;
  transition:transform .08s ease,filter .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.rtv-card .rtv-btn:active{transform:translateY(1px);}

.rtv-card .rtv-btn--primary{
  background:#16a34a !important;
  border-color:#16a34a !important;
  color:#fff !important;
}
.rtv-card .rtv-btn--primary:hover{filter:brightness(.92);}

.rtv-card .rtv-btn--danger{
  background:#ef4444 !important;
  border-color:#ef4444 !important;
  color:#fff !important;
}
.rtv-card .rtv-btn--danger:hover{filter:brightness(.92);}

.rtv-msg{margin-top:10px;min-height:20px;}
.rtv-msg--ok{color:#166534;}
.rtv-msg--err{color:#b91c1c;}
.rtv-msg--info{color:#1f2937;}

/* FullCalendar background classes */
.rtv-bg--approved{background:rgba(34,197,94,.25) !important;}
.rtv-bg--pending{background:rgba(59,130,246,.20) !important;}
.rtv-bg--denied{background:rgba(239,68,68,.18) !important;}
.rtv-bg--select{background:rgba(37,99,235,.25) !important;}

/* Colores de celdas (similar al ejemplo que compartiste) */
.fc-daygrid-day.festivo{background-color:#ffcdd2 !important;}
.fc-daygrid-day.vacacion-aprobada{background-color:#c8e6c9 !important;}
.fc-daygrid-day.asuntos-aprobada{background-color:#fff2b3 !important;}
.fc-daygrid-day.combinado{background:linear-gradient(45deg,#c8e6c9 50%,#fff2b3 50%);} 
.fc-daygrid-day.fin-de-semana{background-color:#ffe0e0 !important;}

/* Seleccion azul (prioridad sobre otros colores) */
.fc-daygrid-day.fc-daygrid-day-selected{
  background-color:#1976d2 !important;
  color:#fff !important;
  background-image:none !important;
  position:relative;
  z-index:2;
}

/* FullCalendar: aseguramos que los overlays se queden dentro de la celda */
.fc-daygrid-day{position:relative;}
.fc-daygrid-day .fc-daygrid-day-frame{position:relative;}

/* Pills dentro de las celdas para indicar vacaciones de companeros */
.rtv-day-pills{display:flex;flex-wrap:wrap;gap:3px;margin:2px 2px 0;}
.rtv-day-pill{
  display:inline-block;
  padding:2px 6px;
  border-radius:999px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  border:1px solid transparent;
}
.rtv-day-pill--vacaciones{background:#e8f5e9;border-color:#66bb6a;color:#1b5e20;}
.rtv-day-pill--asuntos{background:#fff8e1;border-color:#fbc02d;color:#8d6e63;}

/* Hover azul clarito SOLO en la celda bajo el raton.
   Usamos background directo en el TD para evitar overlays que algunos temas estiran.
*/
.fc-daygrid-day:not(.festivo):not(.fin-de-semana):not(.fc-daygrid-day-selected):hover{
  background-color:#e3f2fd !important;
}

/* Asegura que los eventos "background" no bloqueen el click del dia */
.fc .fc-event,
.fc .fc-daygrid-event{
  pointer-events:none !important;
}

/* Botones navegacion FullCalendar sin fondo */
.fc .fc-button{background:transparent !important;color:inherit !important;border:none !important;box-shadow:none !important;}
.fc .fc-button:active,.fc .fc-button:focus{background:transparent !important;color:inherit !important;box-shadow:none !important;}

.rtv-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;color:#374151;font-size:.9rem;}
.rtv-legend-item{display:flex;align-items:center;gap:6px;}
.rtv-dot{width:10px;height:10px;border-radius:99px;display:inline-block;}
.rtv-dot--approved{background:rgba(34,197,94,.6);} 
.rtv-dot--pending{background:rgba(59,130,246,.6);} 
.rtv-dot--denied{background:rgba(239,68,68,.6);} 

.rtv-alert{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;}
.rtv-alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b;}

/* Notifications */
.rtv-accordion__toggle{width:100%;text-align:left;border:2px solid #ff4d7d;background:transparent;border-radius:999px;padding:12px 18px;cursor:pointer;font-size:1.05rem;display:flex;align-items:center;gap:8px;color:#ff4d7d;font-weight:800;transition:background-color .2s ease,color .2s ease;}
.rtv-accordion__toggle:hover{background:#ff4d7d;color:#fff;}
.rtv-accordion__toggle--open{background:#f3f4f6;}
.rtv-badge{background:#ef4444;color:#fff;border-radius:999px;font-size:.8rem;padding:2px 8px;}
.rtv-accordion__content{display:none;margin-top:8px;}
.rtv-accordion__content--open{display:block;}

.rtv-notis{list-style:none;margin:0;padding:0;}
.rtv-noti{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:12px;border-bottom:1px solid #eee;}
.rtv-noti__meta{display:flex;flex-direction:column;gap:4px;color:#6b7280;font-size:.85rem;margin-top:6px;}
.rtv-noti__comment{color:#92400e;}
.rtv-noti__actions{display:flex;gap:8px;align-items:center;}

/* Botones pill en notificaciones */
.rtv-pill-btn{
  border-radius:999px !important;
  padding:8px 14px !important;
  font-weight:800;
  cursor:pointer;
  line-height:1.1;
  border:2px solid transparent !important;
  transition:transform .08s ease,filter .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease;
}
.rtv-pill-btn:active{transform:translateY(1px);}
.rtv-pill-btn--approve{background:#16a34a !important;border-color:#16a34a !important;color:#fff !important;}
.rtv-pill-btn--approve:hover{filter:brightness(.92);}
.rtv-pill-btn--deny{background:#ef4444 !important;border-color:#ef4444 !important;color:#fff !important;}
.rtv-pill-btn--deny:hover{filter:brightness(.92);}
.rtv-pill-btn--hide{background:#6b7280 !important;border-color:#6b7280 !important;color:#fff !important;}
.rtv-pill-btn--hide:hover{filter:brightness(.92);}

.rtv-noti--pendiente{background:#f9fafb;}
.rtv-noti--aprobado{background:#ecfdf5;}
.rtv-noti--rechazado{background:#fef2f2;}

/* Tabla resumen */
.rtv-table-wrap{margin-top:12px;overflow:auto;}
.rtv-table{width:100%;border-collapse:collapse;min-width:520px;}
.rtv-table th,.rtv-table td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;}
.rtv-table th{font-weight:700;font-size:13px;letter-spacing:.02em;color:rgba(0,0,0,.65);}
.rtv-empty{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#6b7280;}


/* Resumen (acordeón) */
.rtv-accordion { margin-top: 14px; }
.rtv-acc-item { border: 1px solid rgba(0,0,0,.08); border-radius: 14px; padding: 10px 12px; margin-bottom: 10px; background: #fff; }
.rtv-acc-head { display: flex; gap: 12px; align-items: center; justify-content: space-between; cursor: pointer; user-select: none; }
.rtv-acc-title { font-weight: 700; }
.rtv-acc-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.rtv-badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 13px; line-height: 1; border: 1px solid rgba(0,0,0,.12); }
.rtv-badge--taken { background: rgba(0, 150, 0, .08); }
.rtv-badge--rem { background: rgba(0, 0, 0, .04); }
.rtv-acc-body { margin-top: 10px; display: none; }
.rtv-acc-item.is-open .rtv-acc-body { display: block; }
.rtv-acc-list { margin: 0; padding: 0; list-style: none; }
.rtv-acc-list li { padding: 6px 0; border-top: 1px dashed rgba(0,0,0,.10); }
.rtv-acc-list li:first-child { border-top: 0; }

/* Botón neutral (para imprimir) */
.rtv-btn--neutral { background: #111 !important; color: #fff !important; border-color: #111 !important; }
.rtv-btn--neutral:hover { filter: brightness(1.1); }

/* Acordeón (details/summary) */
.rtv-acc-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;}
.rtv-acc-summary::-webkit-details-marker{display:none;}
.rtv-acc-name{font-weight:700;}
.rtv-acc-metrics{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.rtv-acc-body{margin-top:10px;}
