*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#26313b;font:15px system-ui,Segoe UI,sans-serif}a{color:#1699cb}button,.btn{border:0;border-radius:9px;background:#179fcd;color:white;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:650}button:hover{background:#087ba7}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#232a32;padding:25px 18px}aside img{width:170px;max-width:100%;display:block;margin:0 auto 26px}aside a{display:block;color:#eaf0f4;text-decoration:none;padding:13px;border-radius:8px}aside a:hover{background:#39444f}main{padding:28px;max-width:1500px;width:100%;margin:auto}header,.flex{display:flex;align-items:center;justify-content:space-between;gap:20px}header span,small{color:#718096}.panel{background:white;padding:24px;border-radius:16px;box-shadow:0 3px 20px #2b3b4a0c;margin:16px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards strong{display:block;font-size:35px;color:#159fcf;margin-top:10px}.warning{background:#fff8e6;border-left:4px solid #e8b532;padding:13px;border-radius:8px}.error{color:#b42318}.ok{color:#16834a}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:16px}label{display:block;font-size:13px;font-weight:600;margin-bottom:12px}label small{font-weight:400}input{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:8px;padding:11px;font:inherit}h3{border-top:1px solid #e2e8f0;padding-top:22px;margin-top:25px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.auth{min-height:100vh;display:grid;place-items:center;padding:15px}.auth .panel{width:min(430px,100%)}.logo{display:block;max-width:200px;max-height:190px;object-fit:contain;margin:0 auto 22px}@media(max-width:760px){.layout{display:block}aside{padding:12px}aside img{width:90px;margin:0 0 10px}main{padding:14px}.cards{grid-template-columns:1fr}header{display:block}}
select{display:block;width:100%;margin-top:7px;border:1px solid #cbd5e1;border-radius:8px;padding:11px;font:inherit;background:white}.dynamic-section[hidden]{display:none}.dynamic-section{border:1px solid #e3eaf0;padding:0 18px 16px;margin:18px 0;border-radius:12px}.dynamic-section h3{border-top:0;padding-top:0;margin:18px 0}.required{color:#c33}.hint{color:#65758a}.actions{display:flex;gap:12px;margin-top:22px}.btn.secondary{background:#64748b}input:disabled,select:disabled{background:#f1f5f9;color:#94a3b8}

/* Expedientes: filtros compactos y responsivos */
.um-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;align-items:end;background:#f8fbfd;border:1px solid #e2eaf1;border-radius:14px;padding:20px;margin:18px 0 14px}
.um-filters>label{min-width:0;margin:0;font-size:12px;font-weight:650;color:#34465b}
.um-filters input,.um-filters select{box-sizing:border-box;width:100%;height:42px;margin-top:7px;padding:9px 12px;font-size:13px;border-radius:9px;border:1px solid #cbd9e5;background:#fff;color:#243449;min-width:0}
.um-filters input:focus,.um-filters select:focus{outline:2px solid #a9dced;outline-offset:1px;border-color:#159fcf}
.um-filters .um-filter-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px;padding-top:14px;border-top:1px solid #e1e9ef}
.um-filter-actions button,.um-filter-actions .btn{width:auto;min-height:40px;margin:0;padding:10px 17px;border-radius:9px;font-size:13px;text-align:center;white-space:normal}
.um-filter-actions button:last-child{margin-left:auto}
@media(min-width:1100px){.um-filters>label:first-of-type{grid-column:span 2}}
@media(max-width:1100px){.um-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.um-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px}.um-filter-actions button:last-child{margin-left:0}}
@media(max-width:480px){.um-filters{grid-template-columns:minmax(0,1fr)}.um-filter-actions button,.um-filter-actions .btn{flex:1 1 100%}}

/* Búsqueda libre, ocupa todo el ancho del bloque de filtros */
.um-filters .um-busqueda { grid-column: 1 / -1; }
.um-filters .um-busqueda input { width: 100%; }

/* Menú lateral persistente en las páginas del portal */
.layout{grid-template-columns:240px minmax(0,1fr)}
.layout>.um-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;z-index:10}
.um-sidebar .um-sidebar-logo{padding:0;display:block}
.um-sidebar .um-sidebar-logo:hover{background:transparent}
.um-sidebar nav a[aria-current="page"]{background:#39444f;font-weight:700}
.layout>main{min-width:0}
@media(max-width:760px){.layout>.um-sidebar{position:sticky;top:0;height:auto;max-height:42vh;overflow:auto;padding:10px;z-index:10}.um-sidebar .um-sidebar-logo img{width:75px;margin:0 auto 6px}.um-sidebar nav{display:flex;gap:4px;overflow-x:auto}.um-sidebar nav a{white-space:nowrap;padding:9px 11px;font-size:12px}}

/* Panel ejecutivo - sin dependencias externas */
.um-dashboard{margin:20px 0}.um-dash-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.um-dash-heading h2{margin:3px 0 5px;font-size:25px}.um-eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#168cbb;margin:0}.um-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0}.um-kpi{background:white;border:1px solid #e5edf3;border-radius:16px;padding:20px;box-shadow:0 4px 15px #26313b08}.um-kpi span{display:block;color:#64748b;font-size:12px;font-weight:650}.um-kpi strong{display:block;color:#15364e;font-size:34px;margin-top:9px;font-variant-numeric:tabular-nums}.um-charts{display:grid;grid-template-columns:1fr 1.25fr;gap:17px}.um-chart-panel{margin:0;min-width:0}.um-chart-panel h3{border:0;margin:0;padding:0;font-size:18px}.um-donut-wrap{min-height:235px;display:flex;justify-content:center;align-items:center}.um-donut{height:205px;width:205px;border-radius:50%;display:grid;place-items:center;position:relative}.um-donut::after{content:"";position:absolute;inset:38px;border-radius:50%;background:white}.um-donut-center{position:relative;z-index:1;text-align:center}.um-donut-center strong{display:block;font-size:29px;color:#1e3547}.um-donut-center small{font-size:12px}.um-chart-legend{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px}.um-legend-row{display:flex;align-items:center;gap:7px;font-size:11px;color:#526274}.um-legend-row i{display:inline-block;width:9px;height:9px;flex:none;border-radius:50%}.um-legend-row b{margin-left:auto;color:#27394b}.um-line-wrap{width:100%;min-height:270px;display:flex;align-items:center}.um-line-wrap svg{width:100%;height:auto;overflow:visible}.um-chart-empty{color:#8391a2;text-align:center;padding:65px 12px;font-size:13px}.um-dashboard-note{color:#728399;font-size:12px;margin:15px 0}@media(max-width:1150px){.um-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.um-charts{grid-template-columns:1fr}}@media(max-width:480px){.um-kpis{grid-template-columns:1fr 1fr}.um-kpi{padding:13px}.um-kpi strong{font-size:25px}.um-chart-legend{grid-template-columns:1fr}.um-dash-heading{align-items:flex-start;flex-direction:column}}

/* UNIENDO MIRADAS - CONTROL DE PAGOS COMPACTO */
#um-pago-inscripcion {
  padding: 14px 18px !important;
  margin: 12px 0 !important;
  border-radius: 12px !important;
}

#um-pago-inscripcion h3 {
  margin: 0 0 10px !important;
  font-size: 17px !important;
}

#um-pago-inscripcion .fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  align-items: end;
}

#um-pago-inscripcion label {
  display: block !important;
  margin: 0 !important;
  font-size: 13px !important;
}

#um-pago-inscripcion input,
#um-pago-inscripcion select,
#um-pago-inscripcion textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 38px !important;
  padding: 7px 10px !important;
  margin: 4px 0 0 !important;
  font-size: 13px !important;
}

#um-pago-inscripcion input[type="radio"] {
  width: 16px !important;
  min-height: 16px !important;
  height: 16px !important;
  margin: 0 6px 0 0 !important;
  vertical-align: middle;
}

#um-pago-inscripcion textarea {
  height: 42px !important;
  min-height: 42px !important;
  resize: vertical;
}

#um-pago-inscripcion p {
  margin: 8px 0 !important;
}

#um-pago-inscripcion > div[style*="background"] {
  padding: 10px 14px !important;
  margin: 10px 0 !important;
  font-size: 13px !important;
}

#um-pago-inscripcion > label {
  display: inline-flex !important;
  align-items: center;
  margin-right: 20px !important;
}

@media(max-width:600px) {
  #um-pago-inscripcion .fields {
    grid-template-columns: 1fr !important;
  }
}
