/* Editor de horarios de atención (horarios_editor.js, 16/10/2026): portal del socio y ficha del socio. */
.he { --he-verde: #17753a; --he-claro: #e8f4ec; --he-borde: #d3dbd6; --he-suave: #5d6b64; color: #1d2a24; }
.he-sec { margin: 18px 2px 8px; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--he-suave); font-weight: 600; }
.he-sec small { text-transform: none; letter-spacing: 0; font-weight: 400; }
.he-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; }
.he-card { background: #fff; border-radius: 16px; padding: 14px; border: 1px solid #e3e8ec; box-shadow: 0 1px 2px rgba(0, 0, 0, .03); }
.he-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.he-cab b { font-size: 15px; }
.he-num { width: 28px; height: 28px; border-radius: 9px; background: var(--he-verde); color: #fff; display: grid; place-items: center; font-weight: 700; flex: none; }
.he-quitar { margin-left: auto; border: 0; background: none; color: #b03a2e; font-weight: 600; font-size: 13px; cursor: pointer; padding: 4px 6px; }
.he-lbl { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; margin: 10px 0 0; color: #1d2a24; }
div.he-lbl { flex-direction: row; align-items: center; }
.he-lbl input { width: 100%; border: 1.5px solid var(--he-borde); border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 15px; font-weight: 400; background: #fff; }
.he-lbl input:focus, .he-horas input:focus { outline: none; border-color: var(--he-verde); box-shadow: 0 0 0 3px rgba(23, 117, 58, .15); }
.he-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.he-franja { border-top: 1px dashed #e3e8ec; margin-top: 10px; }
.he-franja:first-of-type { border-top: 0; }
.he-dias { display: flex; gap: 6px; margin-top: 6px; }
.he-dias button { flex: 1; height: 42px; border-radius: 12px; border: 1.5px solid var(--he-borde); background: #fff; font: inherit; font-weight: 700; cursor: pointer; padding: 0; color: #1d2a24; }
.he-dias button.on { background: var(--he-verde); border-color: var(--he-verde); color: #fff; }
.he-horas { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; margin-top: 6px; }
.he-horas span { color: var(--he-suave); font-size: 14px; }
.he-horas input { width: 100%; border: 1.5px solid var(--he-borde); border-radius: 12px; padding: 9px 10px; font: inherit; font-size: 15px; background: #fff; }
.he-mas { margin-top: 10px; border: 0; background: none; color: var(--he-verde); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; padding: 4px 0; }
.he-agregar { width: 100%; margin-top: 10px; border: 2px dashed #bfe0cb; background: #fff; color: var(--he-verde); border-radius: 14px; padding: 12px; font: inherit; font-weight: 700; cursor: pointer; }
.he-agregar:hover { background: var(--he-claro); }
.he-nada { color: var(--he-suave); font-size: 14px; padding: 4px 2px; }
.he-switch { display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 16px; padding: 14px; margin: 16px 0 4px; border: 1px solid #e3e8ec; cursor: pointer; }
.he-switch .t { flex: 1; } .he-switch b { display: block; font-size: 14.5px; } .he-switch small { color: var(--he-suave); font-size: 12.5px; font-weight: 400; }
.he-switch input { display: none; }
.he-sw { width: 50px; height: 30px; border-radius: 15px; background: #c7d0cb; position: relative; flex: none; transition: background .15s; }
.he-sw::after { content: ""; position: absolute; left: 3px; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: left .15s; }
.he-switch input:checked + .he-sw { background: var(--he-verde); }
.he-switch input:checked + .he-sw::after { left: 23px; }
@media (max-width: 640px) {
  .he-grilla { grid-template-columns: 1fr; }
  .he-dos { grid-template-columns: 1fr; }
  .he-lbl input, .he-horas input { font-size: 16px; padding: 12px; }
  .he-dias button { height: 46px; }
}
