
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Roboto:wght@400;500;600;700;800&display=swap');

:root{
  --rv-primary:#0D9488 !important;
  --rv-primary-hover:#0F766E !important;
  --rv-dark:#334155 !important;
  --rv-muted:#475569 !important;
  --rv-white:#FFFFFF !important;
  --rv-bg:#F8FAFC !important;
  --rv-soft:#F0FDFA !important;
  --rv-line:#E2E8F0 !important;
  --rv-danger:#B42318 !important;

  /* legacy aliases used by Clinical OS pages */
  --n:#334155 !important;
  --navy:#334155 !important;
  --t:#0D9488 !important;
  --teal:#0D9488 !important;
  --bg:#F8FAFC !important;
  --ln:#E2E8F0 !important;
  --line:#E2E8F0 !important;
  --m:#475569 !important;
  --muted:#475569 !important;
}

html,body{
  font-family:'Inter',Arial,sans-serif !important;
}
body{
  color:#334155 !important;
}
h1,h2,h3,h4,h5,h6,
.brand,.logo-text b,.font-display{
  font-family:'Roboto','Inter',Arial,sans-serif !important;
}
p,li,label,input,select,textarea,button,a,td,th,span{
  font-family:'Inter',Arial,sans-serif;
}

/* approved palette mapped over all legacy public-site colors */
.bg-ravba-teal,.bg-teal-500,.bg-teal-600,.bg-teal-700,
[class~="bg-[#1597a3]"],[class~="bg-[#0f8b8d]"]{
  background-color:#0D9488 !important;
}
.text-ravba-teal,.text-teal-400,.text-teal-500,.text-teal-600,.text-teal-700{
  color:#0D9488 !important;
}
.border-teal-400,.border-teal-500,.border-teal-600{
  border-color:#0D9488 !important;
}
.bg-ravba-navy,.bg-slate-800,.bg-slate-900{
  background-color:#334155 !important;
}
.text-ravba-navy,.text-slate-800,.text-slate-900{
  color:#334155 !important;
}
.text-slate-500,.text-slate-600,.text-slate-700,.text-gray-500,.text-gray-600,.text-gray-700{
  color:#475569 !important;
}
.hover\:bg-teal-500:hover,.hover\:bg-teal-600:hover,.hover\:bg-teal-700:hover{
  background-color:#0F766E !important;
}
.hover\:text-teal-600:hover,.hover\:text-teal-700:hover{
  color:#0D9488 !important;
}
.bg-teal-50,.bg-teal-100{
  background-color:#F0FDFA !important;
}

/* Clinical OS */
.side{
  background:#334155 !important;
}
.side .brand{
  color:#fff !important;
}
.side .sub,
.side small{
  color:#CCFBF1 !important;
}
.nav a{
  color:#E2E8F0 !important;
}
.nav a:hover,.nav a.on,.nav a.active{
  background:rgba(13,148,136,.25) !important;
  color:#fff !important;
}
.btn:not(.danger),
button.btn:not(.danger),
button[type="submit"]{
  background:#0D9488 !important;
  color:#fff !important;
}
.btn:hover:not(.danger),button.btn:hover:not(.danger),button[type="submit"]:hover{
  background:#0F766E !important;
}
.btn.alt{
  background:#F0FDFA !important;
  color:#0F766E !important;
  border:1px solid #99F6E4 !important;
}
.card{
  border-color:#E2E8F0 !important;
}
.status,.badge,.tag{
  background:#F0FDFA !important;
  color:#0F766E !important;
}
.muted{
  color:#475569 !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#0D9488 !important;
  box-shadow:0 0 0 3px rgba(13,148,136,.12) !important;
}

/* Shared official brand blocks */
.rv-official-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  min-width:0;
}
.rv-official-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
  flex:0 0 auto;
}
.rv-official-brand .rv-name{
  display:block;
  font:700 14px/1.05 'Roboto','Inter',sans-serif;
  letter-spacing:.075em;
  color:#334155;
  white-space:nowrap;
}
.rv-official-brand .rv-tagline{
  display:block;
  margin-top:4px;
  font:500 8px/1 'Inter',sans-serif;
  letter-spacing:.22em;
  color:#0D9488;
  white-space:nowrap;
}
.side .rv-official-brand{
  margin:2px 7px 22px;
}
.side .rv-official-brand img{
  width:42px;height:42px;
}
.side .rv-official-brand .rv-name{color:#fff}
.side .rv-official-brand .rv-tagline{color:#99F6E4}

/* legacy image classes now receive the approved logo cleanly */
#site-nav img[alt*="RAVBA"],
#site-nav img[alt*="RABVA"]{
  object-fit:contain !important;
}

/* Specific legacy hard-coded elements */
.ravba-agenda{
  background:#0D9488 !important;
}
.ravba-agenda:hover{
  background:#0F766E !important;
}
.home-icon{
  background:#F0FDFA !important;
  color:#0D9488 !important;
}
.soft-section{
  background:#F8FAFC !important;
}
footer{
  background:#334155 !important;
}
footer .text-teal-400{
  color:#5EEAD4 !important;
}


/* V4.9.2 — horarios oficiales por disponibilidad médica */
.rv-hours-card{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(51,65,85,.055)}
.rv-hours-title{font-family:Roboto,Inter,sans-serif;font-size:18px;font-weight:800;color:#334155;margin-bottom:10px}
.rv-hours-row{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:11px 0;border-top:1px solid #E2E8F0;font-family:Inter,sans-serif;font-size:12px;line-height:1.55;color:#475569}
.rv-hours-row:first-of-type{border-top:0}.rv-hours-row b{color:#0D9488}
@media(max-width:640px){.rv-hours-row{grid-template-columns:1fr;gap:3px}}

/* === RAVBA Seguimientos canonical v4202 === */
.rv-fu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.rv-fu-head h1{margin:3px 0 5px;font-size:30px}
.rv-fu-primary{border:0;background:#334155;color:#fff;padding:11px 15px;border-radius:11px;font-weight:800;cursor:pointer}
.rv-fu-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.rv-fu-kpi span{display:block;font-size:11px;color:#64748b;margin-bottom:5px}
.rv-fu-kpi b{font-size:28px}
.rv-fu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}
.rv-fu-toolbar select{padding:9px 12px;border:1px solid #E2E8F0;border-radius:10px;background:#fff}
.rv-fu-item{display:flex;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid #edf2f3}
.rv-fu-item:last-child{border-bottom:0}
.rv-fu-item-main{min-width:0;flex:1}
.rv-fu-item h3{margin:3px 0}
.rv-fu-item p{margin:12px 0}
.rv-fu-code{font-size:10px;font-weight:900;letter-spacing:.08em;color:#0D9488}
.rv-fu-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#64748b}
.rv-fu-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.rv-fu-status{padding:6px 9px;border-radius:999px;background:#e9f8f5;color:#087a73;font-size:9px;font-weight:900}
.rv-fu-danger{padding:5px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:9px;font-weight:900}
.rv-fu-overdue{background:#fffafa}
.rv-fu-small{border:1px solid #CBD5E1;background:#fff;padding:7px 10px;border-radius:9px;cursor:pointer;font-size:10px;font-weight:800}
.rv-fu-empty{text-align:center;padding:42px 15px;border:1px dashed #CBD5E1;border-radius:14px}
.rv-fu-modal[hidden]{display:none}
.rv-fu-modal{position:fixed;inset:0;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:20px;z-index:1000}
.rv-fu-dialog{background:#fff;width:min(680px,100%);max-height:90vh;overflow:auto;border-radius:20px;padding:22px;box-shadow:0 25px 70px rgba(15,23,42,.25)}
.rv-fu-dialog-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}
.rv-fu-dialog-head button{border:0;background:transparent;font-size:26px;cursor:pointer}
.rv-fu-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rv-fu-formgrid label span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;margin-bottom:6px;color:#64748b}
.rv-fu-formgrid input,.rv-fu-formgrid select,.rv-fu-formgrid textarea{width:100%;padding:11px;border:1px solid #CBD5E1;border-radius:10px;background:#fff}
.rv-fu-formgrid textarea{min-height:95px;resize:vertical}
.rv-fu-wide{grid-column:1/-1}
.rv-fu-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.rv-fu-actions>button:not(.rv-fu-primary){border:1px solid #CBD5E1;background:#fff;padding:10px 14px;border-radius:10px;cursor:pointer}
.rv-fu-error{margin-top:14px;padding:10px;border-radius:10px;background:#fee2e2;color:#991b1b;font-size:12px}

@media(max-width:760px){
  .rv-fu-head{display:block}
  .rv-fu-head .rv-fu-primary{margin-top:12px;width:100%}
  .rv-fu-kpis{grid-template-columns:1fr 1fr}
  .rv-fu-toolbar{align-items:flex-start;flex-direction:column}
  .rv-fu-toolbar select{width:100%}
  .rv-fu-item{display:block}
  .rv-fu-item-side{align-items:flex-start;margin-top:14px}
  .rv-fu-formgrid{grid-template-columns:1fr}
  .rv-fu-wide{grid-column:auto}
}
