
:root{
--ink:#37402d;
--muted:#756f63;
--nav:#6f8250;
--nav2:#5d7042;
--line:#e7dfd1;
--bg:#f4efe3;
--card:#fbf8f1;
--ok:#6f8250;
--warn:#ad7b32;
--danger:#a64a3f;
--accent:#7f925d;
--sage:#9aa873;
--beige:#d6cbb3;
--cream:#f4efe3;
--olive-dark:#4b5938
}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text)}header{height:76px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #0002}header h1{margin:0;font-size:21px}header small{opacity:.75}.net{display:flex;align-items:center;gap:9px;font-size:13px}#netDot{width:10px;height:10px;border-radius:50%;background:#f59e0b}.pill{padding:6px 10px;background:#ffffff18;border-radius:999px}.layout{display:grid;grid-template-columns:245px 1fr;min-height:calc(100vh - 76px)}nav{background:#fff;border-right:1px solid var(--line);padding:12px;overflow:auto;height:calc(100vh - 76px);position:sticky;top:76px}.navbtn{display:block;width:100%;border:0;background:transparent;border-radius:9px;padding:10px 11px;text-align:left;color:#33485e;cursor:pointer;margin:2px 0}.navbtn:hover,.navbtn.active{background:#e9f1f8;color:#124c7d;font-weight:700}.navtitle{font-size:11px;color:#8795a4;text-transform:uppercase;letter-spacing:.08em;margin:14px 9px 5px}.coord{background:#14385f;color:#fff}.coord:hover{background:#14385f;color:#fff}main{padding:22px;max-width:1500px;width:100%}.view{display:none}.view.active{display:block}.sectionhead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.sectionhead h2{margin:0 0 4px}.sectionhead p{margin:0;color:var(--muted)}.badge{background:#e7f0f8;color:#244f77;border-radius:999px;padding:7px 10px;font-size:12px}.hero{background:linear-gradient(130deg,#102c4c,#1e679d);color:#fff;border-radius:18px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero h2{font-size:28px;margin:0 0 8px}.hero p{max-width:760px;opacity:.88}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:13px;margin-top:14px}.card{
background:rgba(255,252,246,.96);
border:1px solid #e6dccb;
border-radius:16px;
padding:18px;
box-shadow:0 6px 20px rgba(102,85,58,.07)
}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi b{font-size:28px;display:block;margin-top:6px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.full{grid-column:1/-1}.grid2,.grid3,.grid4{display:grid;gap:11px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}.span2{grid-column:span 2}.span3{grid-column:span 3}h3{font-size:15px;margin:0 0 13px}label{font-size:13px;font-weight:650;color:#344b62;display:block}input,select,textarea{
width:100%;
margin-top:6px;
padding:10px 11px;
border:1px solid #d9cfbd;
border-radius:10px;
background:#fffdfa;
color:#3c4434;
font:inherit;
outline:none;
transition:.16s ease
}textarea{min-height:86px;resize:vertical}input[readonly]{background:#eef3f7;color:#667789}.choices{display:flex;gap:15px;margin-top:10px}.choices label{display:flex;align-items:center;gap:6px}.choices input{width:auto;margin:0}.primary,.secondary,.dangerbtn{
border:0;
border-radius:11px;
padding:11px 16px;
cursor:pointer;
font-weight:800;
transition:.18s ease
}.primary{background:#165c97;color:white}.secondary{background:#e7eef5;color:#263d53}.dangerbtn{background:#a72d2d;color:#fff}.primary:disabled{opacity:.45}.actions{display:flex;justify-content:flex-end;gap:9px}.alert{padding:11px 13px;border-radius:9px;margin-top:10px;font-size:13px}.success{background:#e9f7f0;color:#176443}.warning{background:#fff6dc;color:#775000}.danger{background:#fff0f0;color:#922}.hidden{display:none!important}.daycards{display:grid;grid-template-columns:1fr 1fr;gap:11px}.day{
border:1px solid #ddd3c1;
border-radius:13px;
padding:15px;
display:flex;
gap:10px;
align-items:flex-start;
background:#fffdfa;
transition:.18s ease
}.day input{width:auto;margin-top:3px}.day b{display:block}.day span{font-weight:400;color:var(--muted);font-size:12px}.patientbar{background:#fffdfa;border:1px solid #e3dac9;border-radius:13px;padding:13px;margin-bottom:13px;display:grid;grid-template-columns:180px 1fr 150px;gap:9px;align-items:end}.patientinfo{grid-column:1/-1;padding:10px;border-radius:8px;background:#f1f6fa;font-size:13px}.patientinfo.notfound{background:#fff0f0;color:#912}.multi{max-height:190px;overflow:auto;border:1px solid #cbd7e3;border-radius:9px;padding:7px;margin-top:6px}.multi label{display:flex;align-items:flex-start;gap:6px;font-weight:500;padding:4px}.multi input{width:auto;margin:2px 0 0}.legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.legend button{display:flex;align-items:center;gap:5px}.dot{width:13px;height:13px;border-radius:3px;border:1px solid #999}.teethwrap{overflow-x:auto}.teethrow{display:flex;gap:6px;min-width:960px;justify-content:center;margin:8px 0}.tooth{width:48px}.toothgrid{width:44px;height:44px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:1px;background:#9eabb7;padding:1px;border-radius:5px;transform:rotate(45deg)}.surface{background:#fff;cursor:pointer}.surface.top{grid-area:1/2}.surface.right{grid-area:2/3}.surface.bottom{grid-area:3/2}.surface.left{grid-area:2/1}.surface.center{grid-area:2/2}.toothnum{text-align:center;font-size:11px;margin-top:3px}.trace,.dash{width:100%;border-collapse:collapse}.trace th,.trace td,.dash th,.dash td{padding:9px;border-bottom:1px solid #edf1f5;font-size:12px;text-align:left}.trace th,.dash th{background:#f7f9fb;color:#5d6d7e}.service-chip{display:inline-block;padding:4px 7px;border-radius:999px;background:#e8f0f7;color:#2e5679;font-size:11px}.labrow{display:grid;grid-template-columns:1.1fr 2fr 1fr;gap:9px;padding:9px 0;border-bottom:1px solid #edf1f5}#toast{position:fixed;right:16px;bottom:16px;z-index:60}.toast{background:#102c4c;color:#fff;border-radius:10px;padding:11px 13px;margin-top:7px;max-width:360px;box-shadow:0 8px 24px #0003;font-size:13px}@media(max-width:900px){.layout{grid-template-columns:1fr}nav{position:static;height:auto;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.navbtn{min-width:max-content}.navtitle{display:none}main{padding:13px}.cards{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.grid3,.grid4{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}.patientbar{grid-template-columns:1fr 1fr}.sectionhead{display:block}.badge{display:inline-block;margin-top:7px}}@media(max-width:560px){.cards,.grid2,.grid3,.grid4,.daycards{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.hero{display:block}.hero .primary{margin-top:12px;width:100%}.patientbar{grid-template-columns:1fr}.labrow{grid-template-columns:1fr}header{height:auto;min-height:70px;padding:11px 13px}.net{flex-wrap:wrap;justify-content:flex-end}}

.day:has(input:checked){
  background:#f1f2e4;
  border-color:#9aa873;
  box-shadow:0 0 0 2px rgba(154,168,115,.10)
}

.primary:hover{transform:translateY(-1px);filter:brightness(.98)}
.secondary:hover{background:#e5dcc9}

main{position:relative}
main::before{
  content:"";
  position:fixed;
  right:-80px;
  bottom:-100px;
  width:330px;
  height:330px;
  pointer-events:none;
  opacity:.11;
  background:
    radial-gradient(ellipse at 40% 35%, #9aa873 0 12%, transparent 13%),
    radial-gradient(ellipse at 58% 50%, #6f8250 0 10%, transparent 11%),
    radial-gradient(ellipse at 35% 62%, #d6cbb3 0 12%, transparent 13%),
    radial-gradient(ellipse at 66% 70%, #9aa873 0 9%, transparent 10%);
  transform:rotate(-18deg);
  z-index:-1
}

.nav-disabled{opacity:.38!important;cursor:not-allowed!important;filter:grayscale(.35)}
.activation-box{display:flex;flex-direction:column;gap:9px;padding:15px;border:1px solid #ddd3c1;border-radius:13px;background:#fffdfa}
.activation-box b{font-size:16px;color:#4b5938}
.state-label{font-size:12px;font-weight:800;color:#6f8250}
.card.embedded{box-shadow:none;margin-top:12px;background:#f8f4ea}


/* V3.4 Premium Dashboard */
:root{
  --premium-bg:#F4EFE3;
  --premium-surface:#FBF8F1;
  --premium-olive:#64784A;
  --premium-olive-dark:#3F5134;
  --premium-blue:#1E659C;
  --premium-text:#1D2521;
  --premium-muted:#758078;
  --premium-border:rgba(68,83,58,.15);
  --premium-shadow:0 12px 32px rgba(45,56,38,.08);
  --premium-shadow-hover:0 18px 42px rgba(45,56,38,.13);
  --premium-radius:18px;
}
body{
  background:
    radial-gradient(circle at 90% 92%,rgba(111,130,80,.09),transparent 26%),
    radial-gradient(circle at 70% 0%,rgba(30,101,156,.035),transparent 25%),
    var(--premium-bg)!important;
  color:var(--premium-text);
}
.topbar,header.topbar,.app-header{
  background:linear-gradient(110deg,#52683C 0%,#6F8250 52%,#5E7545 100%)!important;
  box-shadow:0 8px 24px rgba(63,81,52,.18);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
}
.topbar h1,.brand-title{letter-spacing:-.02em;font-weight:800!important}
.sidebar,aside{
  background:rgba(255,255,255,.84)!important;
  backdrop-filter:blur(18px);
  border-right:1px solid rgba(67,81,55,.10)!important;
  box-shadow:8px 0 30px rgba(50,60,45,.035);
}
.sidebar .navbtn,aside .navbtn{
  border-radius:12px!important;
  margin:3px 8px!important;
  transition:all .18s ease;
}
.sidebar .navbtn:hover:not(:disabled),aside .navbtn:hover:not(:disabled){
  transform:translateX(3px);
  background:rgba(30,101,156,.075)!important;
}
.sidebar .navbtn.active,aside .navbtn.active{
  background:linear-gradient(90deg,rgba(30,101,156,.13),rgba(30,101,156,.055))!important;
  color:#0D4D7A!important;
  font-weight:700;
  box-shadow:inset 3px 0 0 #1E659C;
}
.nav-disabled{opacity:.40!important;filter:saturate(.55)}
.card,.panel-card,.metric,.stat,.box,.section,fieldset{
  border:1px solid var(--premium-border)!important;
  border-radius:var(--premium-radius)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(250,247,239,.97))!important;
  box-shadow:var(--premium-shadow)!important;
}
.card:hover,.panel-card:hover,.metric:hover,.stat:hover{box-shadow:var(--premium-shadow-hover)!important}
.kpi,.metric,.stat-card,.summary-card{position:relative;overflow:hidden}
.kpi::after,.metric::after,.stat-card::after,.summary-card::after{
  content:"";position:absolute;width:84px;height:84px;border-radius:50%;
  right:-31px;bottom:-38px;background:rgba(100,120,74,.07)
}
button,.btn{
  border-radius:12px!important;
  min-height:42px;
  font-weight:700!important;
  letter-spacing:.005em;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
button:not(:disabled):hover,.btn:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.025)}
button:not(:disabled):active,.btn:not(:disabled):active{transform:translateY(0)}
.primary,.btn-primary,button.primary,#btnServicios:not(.dangerbtn),#btnCaracterizacion:not(.dangerbtn){
  background:linear-gradient(135deg,#15598E,#2474AA)!important;
  box-shadow:0 8px 18px rgba(30,101,156,.18)
}
.dangerbtn{
  background:linear-gradient(135deg,#A9292C,#C33B3F)!important;
  box-shadow:0 8px 18px rgba(169,41,44,.16)
}
#btnServicios,#btnCaracterizacion{text-transform:uppercase;letter-spacing:.02em}
.alert{
  border-radius:12px!important;
  border:1px solid transparent!important;
  box-shadow:none!important
}
.alert.success{
  background:linear-gradient(90deg,#E7F5EF,#EDF8F3)!important;
  color:#1D684F!important;
  border-color:rgba(29,104,79,.08)!important
}
.alert.warning{
  background:linear-gradient(90deg,#FFF6D9,#FFF9E8)!important;
  color:#77550F!important;
  border-color:rgba(119,85,15,.07)!important
}
.alert.danger{
  background:linear-gradient(90deg,#FDEBEC,#FFF1F1)!important;
  color:#A2292D!important;
  border-color:rgba(162,41,45,.08)!important
}
input,select,textarea{
  border-radius:11px!important;
  border:1px solid rgba(72,84,68,.22)!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.015);
  transition:border-color .15s ease,box-shadow .15s ease
}
input:focus,select:focus,textarea:focus{
  border-color:#6E8AA0!important;
  box-shadow:0 0 0 3px rgba(30,101,156,.10)!important;
  outline:none!important
}
table{border-collapse:separate!important;border-spacing:0!important;overflow:hidden;border-radius:14px}
thead th{
  background:linear-gradient(180deg,#F0F5F9,#EAF0F4)!important;
  color:#53677A!important;
  font-size:.86em;
  letter-spacing:.01em
}
tbody tr{transition:background .12s ease}
tbody tr:hover{background:rgba(30,101,156,.028)}
*{scrollbar-width:thin;scrollbar-color:rgba(91,111,69,.42) transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-thumb{
  background:rgba(91,111,69,.38);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box
}
@media(max-width:900px){
  .card,.panel-card,.metric,.stat,.box,.section{border-radius:15px!important}
  button,.btn{min-height:46px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* V3.5 - Laboratorios */
.lab-subtitle{
  margin:14px 0 8px;
  padding-top:12px;
  border-top:1px solid rgba(68,83,58,.12);
  font-weight:800;
  color:#3F5134;
  letter-spacing:.01em;
}

/* V3.6.1 Registro y Control */
.route-approval{margin:12px 0 0}
.routing-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.routing-choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgba(68,83,58,.14);border-radius:14px;background:rgba(255,255,255,.72);cursor:pointer}
.routing-choice input{margin-top:3px;width:auto}.routing-choice span{display:flex;flex-direction:column;gap:3px}.routing-choice small{color:#758078}
.routing-choice.route-full{opacity:.48;background:#f3eeee;cursor:not-allowed}
.control-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.control-detail-grid>div{padding:12px;border-radius:13px;background:rgba(100,120,74,.07);border:1px solid rgba(68,83,58,.09);display:flex;flex-direction:column;gap:4px}
.control-detail-grid small{color:#758078}
.capacity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.capacity-grid label{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid rgba(68,83,58,.12);border-radius:12px;background:rgba(255,255,255,.65)}
.capacity-grid small{color:#758078}.routing-table td,.routing-table th{white-space:nowrap}
@media(max-width:900px){.routing-choice-grid,.capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.routing-choice-grid,.capacity-grid,.control-detail-grid{grid-template-columns:1fr}}

/* V3.6.2 - Asignación de cupos + Información Básica de Salud en Registro y Control */
.sectionhead.compact{margin-bottom:8px}
.health-control-summary{margin-top:8px}
.control-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.control-health-grid>div{padding:11px 12px;border:1px solid rgba(68,83,58,.10);border-radius:12px;background:rgba(100,120,74,.055);display:flex;flex-direction:column;gap:4px}
.control-health-grid small{color:#758078}
.control-health-extra{margin-top:10px;padding:10px 12px;border-radius:11px;background:rgba(30,101,156,.06);border:1px solid rgba(30,101,156,.08)}
@media(max-width:900px){.control-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.control-health-grid{grid-template-columns:1fr}}

/* V3.6.7 - Habilitar / deshabilitar direccionamiento por especialidad */
.capacity-specialty-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid rgba(68,83,58,.13);
  border-radius:14px;
  background:rgba(255,255,255,.74);
}
.capacity-specialty-card.specialty-disabled{
  background:rgba(185,70,70,.045);
  border-color:rgba(169,41,44,.12);
}
.capacity-specialty-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.specialty-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
}
.specialty-status.on{
  background:#E7F5EF;
  color:#1D684F;
}
.specialty-status.off{
  background:#FDEBEC;
  color:#A2292D;
}
.specialty-toggle-btn{
  width:100%;
  min-height:40px;
}
.routing-choice.route-disabled{
  opacity:.50;
  background:rgba(180,70,70,.045);
  border-color:rgba(169,41,44,.12);
  cursor:not-allowed;
}
.routing-choice.route-disabled b{
  color:#8A3C3F;
}

/* V3.6.8 - Horarios de caracterización */
.schedule-wrap{margin-top:16px;padding-top:14px;border-top:1px solid rgba(68,83,58,.12)}
.schedule-cards{margin-top:10px}
.schedule-card{min-height:74px}
.schedule-card.schedule-full{opacity:.50;background:rgba(169,41,44,.045);border-color:rgba(169,41,44,.14)}
.schedule-card.schedule-full b{color:#9A3034}
.schedule-card.schedule-extra{background:linear-gradient(135deg,rgba(255,246,217,.94),rgba(255,251,238,.98));border-color:rgba(149,104,18,.22)}
.schedule-card.schedule-extra b{color:#77550F}

/* V3.6.9 - Cambio inmediato de horario según día */
.schedule-wrap{display:block!important}
.schedule-placeholder{
  grid-column:1/-1;
  padding:14px;
  border:1px dashed rgba(68,83,58,.25);
  border-radius:12px;
  color:#6f786f;
}
.schedule-day-title{
  grid-column:1/-1;
  font-weight:800;
  color:#35506a;
  margin-bottom:2px;
}

/* V3.6.10 - Verificación de correo */
.email-validation{margin-top:2px}
input[type="email"]:invalid:not(:placeholder-shown){
  border-color:rgba(162,41,45,.55)!important;
  box-shadow:0 0 0 3px rgba(162,41,45,.08)!important;
}

/* V3.6.12 - Servicios de acceso directo */
.direct-access-note{margin:10px 0 4px}

/* V3.6.17 - Consulta rápida, edición y resumen Enfermería */
.attended-notice{margin:12px 0;border:1px solid rgba(166,116,19,.20)!important;background:linear-gradient(90deg,#FFF4CF,#FFF9E8)!important;color:#684B0E!important}
.loading-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#1E659C;animation:patientPulse .8s infinite alternate}
@keyframes patientPulse{from{opacity:.35}to{opacity:1}}
.nursing-summary{margin-top:12px;margin-bottom:12px}.nursing-summary h3{margin-top:0;margin-bottom:10px}.nursing-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.nursing-data-grid>div{padding:10px 11px;border-radius:11px;background:rgba(100,120,74,.055);border:1px solid rgba(68,83,58,.09);display:flex;flex-direction:column;gap:3px}.nursing-data-grid small{color:#758078}.nursing-vaccination{margin-top:14px;padding-top:12px;border-top:1px solid rgba(68,83,58,.12)}.nursing-vaccination h4{margin:0 0 10px;color:#3F5134}.nursing-vaccine-observation{margin-top:10px;padding:10px 11px;border-radius:11px;background:rgba(30,101,156,.055);border:1px solid rgba(30,101,156,.08);display:flex;flex-direction:column;gap:4px}
@media(max-width:1000px){.nursing-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.nursing-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.nursing-data-grid{grid-template-columns:1fr}}

/* V3.6.20 - Diferenciación visual Sábado / Domingo */

/* Tarjeta seleccionada del día */
#formCaracterizacion .day.day-sabado-selected{
  background:linear-gradient(135deg,#EEF2E3,#F6F8F0)!important;
  border-color:#91A568!important;
  box-shadow:0 0 0 2px rgba(111,130,80,.08);
}
#formCaracterizacion .day.day-domingo-selected{
  background:linear-gradient(135deg,#EAF3FA,#F4F8FC)!important;
  border-color:#5D8FBA!important;
  box-shadow:0 0 0 2px rgba(45,105,155,.08);
}

/* Bloque completo del horario según el día */
#horarioAtencionWrap.schedule-sabado{
  background:linear-gradient(135deg,rgba(238,242,227,.94),rgba(249,250,244,.98))!important;
  border-color:rgba(111,130,80,.35)!important;
}
#horarioAtencionWrap.schedule-domingo{
  background:linear-gradient(135deg,rgba(231,241,249,.96),rgba(247,250,253,.98))!important;
  border-color:rgba(45,105,155,.32)!important;
}

/* Horarios del sábado */
.schedule-card-sabado{
  border-color:rgba(111,130,80,.30)!important;
}
.schedule-card-sabado:has(input:checked){
  background:#E8EED9!important;
  border-color:#78934B!important;
  box-shadow:0 0 0 2px rgba(120,147,75,.10);
}

/* Horarios del domingo */
.schedule-card-domingo{
  border-color:rgba(45,105,155,.25)!important;
}
.schedule-card-domingo:has(input:checked){
  background:#E3EFF8!important;
  border-color:#3978A9!important;
  box-shadow:0 0 0 2px rgba(57,120,169,.10);
}

.schedule-day-title.title-sabado{
  color:#536B32!important;
}
.schedule-day-title.title-domingo{
  color:#2D6897!important;
}

/* V3.6.24 - Brigada offline-first */
.offline-prep-card{border:1px solid rgba(45,105,155,.16);background:linear-gradient(135deg,rgba(235,244,250,.88),rgba(255,255,255,.88))}
.offline-prep-card .sectionhead{align-items:center}
#btnPrepareOffline{min-height:44px}
@media(max-width:760px){.offline-prep-card .sectionhead{display:block}#btnPrepareOffline{width:100%;margin-top:10px}}

/* V3.6.26 - Informe estadístico */
.stats-actions{display:flex;gap:8px;flex-wrap:wrap}
.stats-kpis{grid-template-columns:repeat(3,minmax(180px,1fr))}
.stats-distribution{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:10px}
.stats-dist-card{padding:14px;border:1px solid #dfe7df;border-radius:12px;background:linear-gradient(135deg,#fbfaf5,#f1f4e9);display:flex;flex-direction:column;gap:5px}
.stats-dist-card span{font-size:12px;color:#6c746b}
.stats-dist-card b{font-size:25px}
.stats-table-wrap{overflow:auto;max-width:100%}
.stats-table{min-width:720px}
.stats-search{max-width:330px}
.stats-service-chip{display:inline-block;padding:4px 7px;margin:2px;border-radius:999px;background:#e8f0f7;color:#2e5679;font-size:11px}
@media(max-width:900px){.stats-kpis{grid-template-columns:1fr 1fr}.stats-distribution{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.stats-kpis,.stats-distribution{grid-template-columns:1fr}.stats-actions{margin-top:10px}.stats-actions button{width:100%}}
@media print{
  header,nav,#toast,.stats-actions{display:none!important}
  body,.layout,main{display:block!important;background:#fff!important;margin:0!important;padding:0!important;max-width:none!important}
  #views>.view{display:none!important}
  #view-estadisticas{display:block!important;padding:8mm!important}
  .card{box-shadow:none!important;break-inside:avoid}
  .stats-table-wrap{overflow:visible!important}
  .stats-table{min-width:0!important;width:100%!important}
}

/* V3.6.27 - Cupos automáticos por día */
.capacity-day-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.capacity-fixed-table{min-width:560px}
.routing-day-banner{padding:9px 11px;margin-bottom:9px;border-radius:10px;background:#eef4e6;border:1px solid #d5dfc7}
.routing-choice.route-full{opacity:.55;background:#fff3f0!important;border-color:#e7b9b0!important}
.coord-capacity-days{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.coord-cap-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}
@media(max-width:900px){.capacity-day-grid,.coord-capacity-days{grid-template-columns:1fr}}

/* V3.6.28 - Modo Brigada ultrarrápido */
.walkin-fast-alert{margin-bottom:12px}
#controlPatient.notfound{font-weight:600}
.schedule-card input:disabled+div{opacity:.5}

/* V3.6.29 - Registro y Control inmediato */
.routing-selection-counter{margin-top:9px;padding:8px 10px;border-radius:9px;background:#f2f5ef;font-weight:700;font-size:12px}
.reset-test-card{border:1px solid rgba(180,65,55,.25);background:#fffaf8}
.reset-test-card .dangerbtn{min-height:44px}
@media(max-width:760px){.reset-test-card .sectionhead{display:block}.reset-test-card .dangerbtn{width:100%;margin-top:10px}}

/* V3.6.30 - Fechas oficiales de la jornada */
.today-brigade-banner{
  margin:0 0 12px 0;padding:12px 15px;border-radius:12px;display:flex;
  justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap
}
.today-brigade-banner b{font-size:14px}
.today-brigade-banner span{font-size:12px}
.today-brigade-banner.active-day{background:#e8f5e9;border:1px solid #b9d9bd;color:#285b31}
.today-brigade-banner.upcoming-day{background:#edf4fb;border:1px solid #c7dbee;color:#234f73}
.today-brigade-banner.finished-day{background:#f4f1eb;border:1px solid #ddd3c4;color:#6d6254}
.patient-day-check{margin-bottom:10px}
.brigade-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.brigade-date-grid>div{padding:13px;border:1px solid rgba(45,95,120,.15);border-radius:11px;background:#fbfcfa;display:flex;flex-direction:column;gap:4px}
.brigade-date-grid span{font-size:18px;font-weight:800}
.brigade-date-grid small{color:#687269}
@media(max-width:760px){.brigade-date-grid{grid-template-columns:1fr}}

/* V3.6.31 - Operación sin bloqueos */
.operational-banner{margin-bottom:13px}
