.gineco-portada { padding:24px; margin-bottom:18px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:linear-gradient(135deg,#fff8fb,#fff); }
.gineco-kanban { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:16px 0; }
.gineco-columna { min-width:0; padding:12px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:var(--ox-surface-2); }
.gineco-columna h3 { display:flex; justify-content:space-between; align-items:center; margin:0 0 12px; font-size:14px; }
.gineco-turno-card { margin-bottom:10px; overflow-wrap:anywhere; }
.gineco-turno-card h4 { margin:8px 0; font-size:14px; }
.gineco-turno-card p { color:var(--ox-text-2); margin:0; font-size:12px; }
.gineco-turno-hora { color:var(--ox-text-2); font-size:12px; font-variant-numeric:tabular-nums; }
.gineco-turnos-cerrados summary { cursor:pointer; padding:12px 0; color:var(--ox-text-2); font-size:13px; }
.gineco-kanban-secundario { grid-template-columns:repeat(2,minmax(0,1fr)); }
#vista-ginecologia [hidden] { display:none !important; }
.gineco-estudios-listado { display:grid; gap:12px; }
.gineco-estudios-listado .gineco-registro { padding:16px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:var(--ox-surface); overflow-wrap:anywhere; }
.gineco-estudios-listado h3 { margin:0; font-size:16px; }
.gineco-estudio-texto { white-space:pre-wrap; overflow-wrap:anywhere; }
#gineco-estudios-panel input[type=checkbox] { min-width:0; width:auto; align-self:start; }
.gineco-form input,.gineco-form select,.gineco-form textarea { min-width:0; max-width:100%; box-sizing:border-box; }
@media(max-width:900px) { .gineco-kanban { grid-template-columns:minmax(0,1fr); } }
.gineco-eyebrow { margin:0 0 5px; color:#a34c70; font-size:11px; font-weight:800; letter-spacing:.12em; }
#gineco-prenatal { display:grid; gap:20px; min-width:0; overflow-wrap:anywhere; }
.gineco-prenatal-cabecera { padding:22px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:linear-gradient(135deg,#fff8fb,#fff); }
.gineco-prenatal-cabecera h2 { margin:6px 0; }
.gineco-prenatal-resumen { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.gineco-prenatal-resumen article,.gineco-prenatal-control { padding:16px; background:var(--ox-surface); border:1px solid var(--ox-border); border-radius:var(--ox-radius); min-width:0; }
.gineco-prenatal-resumen span,.gineco-prenatal-resumen small { display:block; font-size:12px; color:var(--ox-text-2); }
.gineco-prenatal-resumen strong { display:block; margin:8px 0; font-size:17px; }
.gineco-prenatal-lista { display:grid; gap:12px; }
.gineco-prenatal-control { margin:10px 0; }
.gineco-prenatal-control-titulo { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; }
.gineco-prenatal-control h3 { margin:0; font-size:15px; }
.gineco-prenatal-mediciones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px; background:var(--ox-surface-2); border-radius:var(--ox-radius-sm); }
.gineco-prenatal-mediciones dt { font-size:12px; color:var(--ox-text-2); }
.gineco-prenatal-mediciones dd { margin:5px 0 0; font-size:14px; font-weight:650; }
.gineco-prenatal-historial summary { cursor:pointer; font-weight:650; }
.gineco-prenatal-anterior { border-left:3px solid var(--ox-border-strong); }
@media(max-width:600px) { .gineco-prenatal-resumen,.gineco-prenatal-mediciones { grid-template-columns:minmax(0,1fr); } }
.gineco-portada h2 { margin:0 0 6px; font-size:24px; letter-spacing:-.6px; }
.gineco-portada p { margin:0; color:var(--ox-text-2); font-size:13px; line-height:1.5; }
.gineco-toolbar,.gineco-resultados { display:flex; gap:10px; flex-wrap:wrap; align-items:end; margin:12px 0; }
.gineco-toolbar label,.gineco-agenda label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:650; color:var(--ox-text-2); }
.gineco-toolbar input,.gineco-agenda input { min-width:210px; }
.gineco-toolbar input,.gineco-toolbar select { padding:8px 10px; border:1px solid var(--ox-border); border-radius:var(--ox-radius-sm); background:var(--ox-bg); color:var(--ox-text); font:inherit; max-width:100%; box-sizing:border-box; }
.gineco-toolbar label { min-width:0; max-width:100%; }
.gineco-layout { display:grid; grid-template-columns:minmax(245px,.55fr) minmax(0,1.45fr); gap:18px; align-items:start; }
.gineco-agenda,.gineco-ficha-seccion { padding:16px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:var(--ox-surface); }
.gineco-agenda { display:flex; flex-direction:column; gap:10px; }
.gineco-agenda h3,.gineco-ficha-seccion h3 { margin:0; font-size:15px; }
.gineco-ficha { display:grid; gap:14px; }
.gineco-ficha-cabecera { padding:20px; border:1px solid var(--ox-border); border-radius:var(--ox-radius); background:var(--ox-surface); }
.gineco-ficha-cabecera h2 { margin:2px 0 6px; font-size:22px; }
.gineco-ficha-cabecera p,.gineco-ficha-seccion p { color:var(--ox-text-2); line-height:1.5; }
.gineco-acciones { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.gineco-lista { display:grid; gap:8px; margin-top:10px; }
.gineco-lista button { width:100%; text-align:left; }
.gineco-layout > *, .gineco-ficha > *, .gineco-lista > *, .gineco-form-grid > * { min-width:0; }
.gineco-ficha, .gineco-agenda, .gineco-form { overflow-wrap:anywhere; }
.gineco-lista button, .gineco-acciones button { white-space:normal; max-width:100%; }
.gineco-agenda input { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
.gineco-registro { padding:10px 0; border-top:1px solid var(--ox-border); }
.gineco-registro:first-child { border-top:0; padding-top:0; }
.gineco-registro summary { cursor:pointer; font-weight:650; }
.gineco-estado { display:inline-flex; padding:2px 7px; border-radius:999px; background:#f4edf0; color:#88435e; font-size:11px; font-weight:700; }
.gineco-vacio { padding:36px 22px; border:1px dashed var(--ox-border-strong); border-radius:var(--ox-radius); text-align:center; color:var(--ox-text-2); }
.gineco-vacio h3 { margin:0 0 7px; color:var(--ox-text); }
.gineco-form { display:grid; gap:12px; }
.gineco-form label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:650; color:var(--ox-text-2); }
.gineco-form textarea { resize:vertical; }
.gineco-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gineco-alerta-vencida { color:#9a3030 !important; font-weight:700; }
@media(max-width:780px) { .gineco-layout { grid-template-columns:minmax(0,1fr); } .gineco-form-grid { grid-template-columns:minmax(0,1fr); } .gineco-toolbar input { min-width:0; } }
